Function at 0x423318
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov edx, dword [ebp + 8]
sub esp, 0x6c
push ebx
mov ebx, dword [ebp + 0xc]
xor eax, eax
push esi
push edi
cmp dword [edx + 4], eax
je 0x424080
cmp dword [edx + 0x10], eax
je 0x424080
cmp dword [edx + 0x14], eax
je 0x424080
push 0x1e
lea esi, [esp + 0x34]
mov edi, ebx
call fcn.00421e16
mov edi, eax
mov dword [esp + 0x2c], edi
test edi, edi
jne 0x423369
mov eax, dword [esp + 0x30]
jmp 0x424085
mov eax, dword [edi + 0xe0]
mov ecx, dword [edi + 0xf4]
cmp ecx, dword [eax + 0xc]
je 0x4233b3
lea ecx, [edi + 0x18c]
push ecx
push dword [eax + 0xc]
lea esi, [edi + 0x174]
call fcn.00429738
mov eax, esi
lea ecx, [edi + 0x18c]
call fcn.004297a8
mov eax, dword [edi + 0xe0]
push 9
add edi, 0xe8
pop ecx
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x2c]
push dword [edi + 0x1ec]
mov eax, dword [eax + 0x10]
push eax
call fcn.00424a5c
cmp byte [edi + 0x2b9], 0
mov dword [esp + 0x30], eax
lea eax, [edi + 0x24e]
je 0x42366e
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x40]
push ecx
lea ecx, [esp + 0x18]
push ecx
push eax
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x58]
push eax
push edi
lea eax, [edi + 0x328]
push eax
call fcn.0042cd24
test eax, eax
jne 0x424085
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x20]
shl eax, 0xa
mov edx, dword [esp + 0x1c]
mov dword [ebx + 0x48], eax
mov eax, dword [esp + 0x38]
shl esi, 0xa
mov dword [ebx + 0x34], esi
shl eax, 0xa
mov dword [ebx + 0x4c], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x14]
shl esi, 0xa
mov dword [ebx + 0xa8], esi
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
shl esi, 0xa
mov dword [ebx + 0xac], esi
mov esi, dword [esp + 0x4c]
shl esi, 0xa
mov dword [ebx + 0xb0], esi
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x50]
shl eax, 0xa
mov dword [ebx + 0x50], eax
mov dword [ebx + 0x40], eax
mov eax, dword [esp + 0x24]
shl esi, 0xa
mov dword [ebx + 0xb4], esi
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x54]
mov dword [ebx + 0x3c], eax
mov eax, dword [esp + 0x1c]
shl edx, 0xa
shl esi, 0xa
mov dword [ebx + 0xa0], eax
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x90], esi
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x58]
mov dword [ebx + 0x30], edx
mov dword [ebx + 0x38], edx
mov edx, dword [esp + 0x30]
mov dword [ebx + 0xa4], eax
mov eax, dword [esp + 0x34]
shl ecx, 0xa
shl esi, 0xa
mov dword [ebx + 0x54], ecx
mov dword [ebx + 0x94], esi
mov dword [ebx + 0x44], ecx
mov dword [ebx + 0x98], eax
mov dword [ebx + 0x9c], esi
movzx edx, byte [edx + 0x15d]
mov esi, dword [esp + 0x2c]
push edx
lea edx, [esp + 0x18]
push edx
lea edx, [esp + 0x24]
push edx
lea edx, [esp + 0x30]
lea eax, [edi + 0x14a]
push edx
push eax
movzx eax, word [edi + 0xd0]
lea ecx, [edi + 0x148]
push eax
mov edi, ecx
mov dword [esp + 0x4c], ecx
call fcn.00425f1b
test eax, eax
jne 0x424085
mov edx, dword [esp + 0x34]
movzx edx, word [edx]
push edx
push dword [esp + 0x34]
mov edi, esi
lea eax, [edi + 0x110]
lea ecx, [ebx + 0x28]
call fcn.00429aff
push dword [esp + 0x30]
lea eax, [edi + 0x110]
push eax
mov ax, word [edi + 0x14a]
lea esi, [ebx + 0x88]
call fcn.00429b29
mov ax, word [edi + 0x250]
mov word [ebx + 0x60], ax
mov ax, word [edi + 0x254]
mov word [ebx + 0x64], ax
mov ax, word [edi + 0x252]
mov word [ebx + 0x5e], ax
mov ax, word [edi + 0x24e]
mov word [ebx + 0x62], ax
mov ax, word [esp + 0x10]
mov ecx, 0x7fff
cmp ax, cx
jbe 0x4235aa
call fcn.00421dfe
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
mov word [ebx + 0x5c], ax
xor eax, eax
mov dword [ebx + 0x58], eax
mov dword [ebx + 0x14], ecx
lea ecx, [ebx + 0x18]
mov dword [ecx], edx
mov dword [esp + 0x24], ecx
lea ecx, [ebx + 0x1c]
mov dword [ecx], eax
mov dword [ebx + 0x20], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x3c], 3
mov dword [esp + 0x30], ecx
jne 0x424002
movsx ecx, word [ebx + 0x60]
movsx eax, word [ebx + 0x64]
sub eax, ecx
movzx ecx, word [edi + 0x3fe]
imul eax, ecx
call fcn.00424a19
mov word [ebx + 0x5c], ax
mov ax, word [edi + 0x250]
imul ax, word [edi + 0x3fe]
mov word [ebx + 0xc8], ax
mov ax, word [edi + 0x252]
mov word [ebx + 0xc6], ax
mov ax, word [edi + 0x254]
imul ax, word [edi + 0x3fe]
mov word [ebx + 0xcc], ax
mov ax, word [edi + 0x24e]
mov word [ebx + 0xca], ax
mov ax, word [ebx + 0x5c]
movsx ecx, word [edi + 0x24e]
mov word [edi + 0x24c], ax
movsx eax, word [ebx + 0x5c]
mov dword [esp + 0x44], eax
movsx eax, word [edi + 0x252]
sub ecx, eax
push ecx
jmp 0x423fc4
cmp byte [edi + 0x138], 0
je 0x423698
mov eax, dword [edi + 0x17c]
movsx edx, word [eax + 0x28]
mov ecx, dword [eax]
mov eax, dword [eax + 0x20]
movzx eax, word [eax + edx*2 - 2]
jmp 0x423693
inc dword [ecx]
add ecx, 4
dec eax
test ax, ax
jns 0x42368d
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x70]
push eax
push 1
push 1
lea eax, [edi + 0x174]
push 0
lea edx, [esp + 0x7c]
lea esi, [esp + 0x88]
lea edi, [esp + 0x84]
call fcn.00429aa2
lea ecx, [esp + 0x5c]
call fcn.0042f8ca
mov edi, dword [esp + 0x2c]
mov esi, dword [ebp + 8]
lea eax, [edi + 0x24c]
mov dword [esp + 0x1c], eax
push edi
mov eax, esi
mov dword [esp + 0x18], 1
call fcn.00421e8f
test ax, ax
je 0x423732
push edi
mov eax, esi
call fcn.00421e8f
movzx eax, ax
push eax
mov eax, ecx
call fcn.004305f1
test eax, eax
jne 0x424085
lea eax, [edi + 0x294]
mov dword [esp + 0x1c], eax
push edi
mov eax, esi
call fcn.00421e8f
movzx eax, ax
mov dword [esp + 0x14], eax
push dword [edi + 0x1d0]
mov eax, dword [edi + 0xe0]
push dword [eax + 0xc]
call fcn.00424a5c
mov dword [edi + 0x288], eax
mov eax, dword [edi + 0x31c]
lea ecx, [edi + 0x270]
mov dword [ecx], eax
cmp dword [esi + 0x3c], 0
je 0x4237ce
push edi
mov eax, esi
call fcn.00421e8f
test ax, ax
je 0x42378b
push edi
mov eax, esi
call fcn.00421e8f
imul ax, word [edi + 0x37e]
movzx esi, ax
mov eax, dword [ebp + 8]
push edi
call fcn.00421e8f
jmp 0x4237ad
test byte [edi + 0x382], 1
je 0x4237ba
mov ax, word [edi + 0x3fe]
imul ax, word [edi + 0x37e]
movzx esi, ax
mov ax, word [edi + 0x400]
imul ax, word [edi + 0x380]
movzx eax, ax
jmp 0x4237c8
movzx esi, word [edi + 0x37e]
movzx eax, word [edi + 0x380]
mov dword [esp + 0x24], eax
jmp 0x4237d4
xor esi, esi
and dword [esp + 0x24], esi
push dword [esp + 0x24]
movzx eax, word [edi + 0x10c]
push esi
push eax
push ecx
push dword [esp + 0x2c]
lea eax, [esp + 0x70]
push eax
mov eax, dword [esp + 0x2c]
call fcn.0042fc7d
cmp eax, 0x1305
jne 0x42382d
push dword [esp + 0x24]
mov eax, 0xfffb
and word [edi + 0x10c], ax
movzx eax, word [edi + 0x10c]
push esi
push eax
lea eax, [edi + 0x270]
push eax
push dword [esp + 0x2c]
lea eax, [esp + 0x70]
push eax
mov eax, dword [esp + 0x2c]
call fcn.0042fc7d
test eax, eax
jne 0x424085
mov eax, dword [ebp + 8]
push edi
call fcn.00421e8f
test ax, ax
je 0x42396d
mov eax, dword [ebp + 8]
push edi
call fcn.00421e8f
movzx ecx, ax
mov eax, 0x7fff
mov dword [esp + 0x24], ecx
cmp cx, ax
ja 0x4235a5
cmp byte [edi + 0x2b8], 0
je 0x423909
mov eax, dword [edi + 0x2a0]
call fcn.00421db8
mov ecx, dword [esp + 0x24]
add eax, 0x1f
sar eax, 6
mov word [edi + 0x250], ax
mov eax, dword [edi + 0x2a4]
call fcn.00421db8
mov ecx, dword [esp + 0x24]
add eax, 0x20
sar eax, 6
mov word [edi + 0x254], ax
mov eax, dword [edi + 0x2a8]
call fcn.00421db8
mov ecx, dword [esp + 0x24]
add eax, 0x1f
sar eax, 6
mov word [edi + 0x252], ax
mov eax, dword [edi + 0x2ac]
call fcn.00421db8
add eax, 0x20
sar eax, 6
mov word [edi + 0x24e], ax
movzx eax, word [edi + 0x254]
cmp word [edi + 0x250], ax
jne 0x4238f6
inc eax
mov word [edi + 0x254], ax
movzx eax, word [edi + 0x24e]
cmp word [edi + 0x252], ax
jne 0x42396d
inc eax
jmp 0x423966
movsx eax, word [edi + 0x298]
call fcn.00421db8
mov ecx, dword [esp + 0x24]
mov word [edi + 0x250], ax
mov ax, word [edi + 0x29c]
add ax, cx
dec ax
cwde
call fcn.00421db8
mov ecx, dword [esp + 0x24]
mov word [edi + 0x254], ax
movsx eax, word [edi + 0x29a]
call fcn.00421db8
mov ecx, dword [esp + 0x24]
mov word [edi + 0x252], ax
mov ax, word [edi + 0x296]
add ax, cx
dec ax
cwde
call fcn.00421db8
mov word [edi + 0x24e], ax
movsx ecx, word [edi + 0x250]
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x44]
push eax
movsx eax, word [edi + 0x24e]
shl ecx, 6
push ecx
mov ecx, dword [edi + 0x17c]
shl eax, 6
call fcn.0043ae93
mov eax, dword [esp + 0x34]
shl eax, 0xa
mov dword [ebx + 0x48], eax
mov eax, dword [esp + 0x38]
shl eax, 0xa
mov dword [ebx + 0x4c], eax
mov eax, dword [esp + 0x24]
shl eax, 0xa
mov dword [ebx + 0x50], eax
mov eax, dword [esp + 0x28]
shl eax, 0xa
mov dword [ebx + 0x54], eax
mov eax, dword [esp + 0x1c]
shl eax, 0xa
mov dword [ebx + 0x30], eax
mov eax, dword [esp + 0x20]
shl eax, 0xa
mov dword [ebx + 0x34], eax
mov eax, dword [esp + 0x54]
shl eax, 0xa
mov dword [ebx + 0x40], eax
mov eax, dword [esp + 0x58]
shl eax, 0xa
mov dword [ebx + 0x44], eax
mov eax, dword [esp + 0x4c]
shl eax, 0xa
mov dword [ebx + 0x38], eax
mov eax, dword [esp + 0x50]
shl eax, 0xa
mov dword [ebx + 0x3c], eax
mov ecx, dword [edi + 0x17c]
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x24]
push eax
movsx eax, word [edi + 0x24e]
shl eax, 6
push eax
movsx eax, word [edi + 0x250]
shl eax, 6
call fcn.0043af55
mov eax, dword [esp + 0x14]
shl eax, 0xa
mov dword [ebx + 0xa8], eax
mov eax, dword [esp + 0x18]
shl eax, 0xa
mov dword [ebx + 0xac], eax
mov eax, dword [esp + 0x4c]
shl eax, 0xa
mov dword [ebx + 0xb0], eax
mov eax, dword [esp + 0x50]
shl eax, 0xa
mov dword [ebx + 0xb4], eax
mov eax, dword [esp + 0x54]
shl eax, 0xa
mov dword [ebx + 0x90], eax
mov eax, dword [esp + 0x58]
shl eax, 0xa
mov dword [ebx + 0x94], eax
mov eax, dword [esp + 0x44]
shl eax, 0xa
mov dword [ebx + 0xa0], eax
mov eax, dword [esp + 0x48]
shl eax, 0xa
mov dword [ebx + 0xa4], eax
mov eax, dword [esp + 0x3c]
shl eax, 0xa
mov dword [ebx + 0x98], eax
mov eax, dword [esp + 0x40]
shl eax, 0xa
mov dword [ebx + 0x9c], eax
movzx eax, word [edi + 0x148]
push eax
push dword [esp + 0x34]
lea esi, [edi + 0x110]
lea ecx, [ebx + 0x28]
mov eax, esi
call fcn.00429aff
push dword [esp + 0x30]
mov ax, word [edi + 0x14a]
push esi
lea esi, [ebx + 0x88]
call fcn.00429b29
mov edx, dword [esp + 0x2c]
push 0xc
add edi, 0x2bc
pop ecx
lea esi, [ebx + 0x28]
rep movsd dword es:[edi], dword [esi]
push 0xc
lea edi, [edx + 0x2ec]
pop ecx
lea esi, [ebx + 0x88]
rep movsd dword es:[edi], dword [esi]
lea edi, [edx + 0x24e]
mov ax, word [edi + 4]
mov word [ebx + 0x5e], ax
mov ax, word [edi]
and dword [ebx + 0x58], 0
mov word [ebx + 0x62], ax
movzx eax, word [edx + 0x382]
test al, 1
je 0x423e6e
test al, 0x40
jne 0x423d1f
movzx ecx, word [edx + 0x3fe]
mov eax, ecx
shr eax, 1
add eax, dword [ebx + 0x48]
cdq
idiv ecx
mov ecx, dword [esp + 0x2c]
mov dword [ebx + 0x48], eax
movzx esi, word [ecx + 0x400]
mov eax, esi
shr eax, 1
add eax, dword [ebx + 0x4c]
cdq
idiv esi
mov dword [ebx + 0x4c], eax
movzx esi, word [ecx + 0x3fe]
mov eax, esi
shr eax, 1
add eax, dword [ebx + 0x50]
cdq
idiv esi
mov dword [ebx + 0x50], eax
movzx esi, word [ecx + 0x400]
mov eax, esi
shr eax, 1
add eax, dword [ebx + 0x54]
cdq
idiv esi
mov dword [ebx + 0x54], eax
movzx esi, word [ecx + 0x3fe]
mov eax, esi
shr eax, 1
add eax, dword [ebx + 0x30]
cdq
idiv esi
mov dword [ebx + 0x30], eax
movzx esi, word [ecx + 0x400]
mov eax, esi
shr eax, 1
add eax, dword [ebx + 0x34]
cdq
idiv esi
mov dword [ebx + 0x34], eax
movzx esi, word [ecx + 0x3fe]
mov eax, esi
shr eax, 1
add eax, dword [ebx + 0x40]
cdq
idiv esi
mov dword [ebx + 0x40], eax
movzx esi, word [ecx + 0x400]
mov eax, esi
shr eax, 1
add eax, dword [ebx + 0x44]
cdq
idiv esi
mov dword [ebx + 0x44], eax
movzx esi, word [ecx + 0x3fe]
mov eax, esi
shr eax, 1
add eax, dword [ebx + 0x38]
cdq
idiv esi
mov dword [ebx + 0x38], eax
movzx esi, word [ecx + 0x400]
mov eax, esi
shr eax, 1
add eax, dword [ebx + 0x3c]
cdq
idiv esi
mov dword [ebx + 0x3c], eax
movzx esi, word [ecx + 0x3fe]
mov eax, esi
shr eax, 1
add eax, dword [ebx + 0xa8]
cdq
idiv esi
mov dword [ebx + 0xa8], eax
movzx esi, word [ecx + 0x400]
mov eax, esi
shr eax, 1
add eax, dword [ebx + 0xac]
cdq
idiv esi
mov dword [ebx + 0xac], eax
movzx esi, word [ecx + 0x3fe]
mov eax, esi
shr eax, 1
add eax, dword [ebx + 0xb0]
cdq
idiv esi
mov dword [ebx + 0xb0], eax
movzx esi, word [ecx + 0x400]
mov eax, esi
shr eax, 1
add eax, dword [ebx + 0xb4]
cdq
idiv esi
mov dword [ebx + 0xb4], eax
movzx esi, word [ecx + 0x3fe]
mov eax, esi
shr eax, 1
add eax, dword [ebx + 0x90]
cdq
idiv esi
mov dword [ebx + 0x90], eax
movzx esi, word [ecx + 0x400]
mov eax, esi
shr eax, 1
add eax, dword [ebx + 0x94]
cdq
idiv esi
mov dword [ebx + 0x94], eax
movzx esi, word [ecx + 0x3fe]
mov eax, esi
shr eax, 1
add eax, dword [ebx + 0xa0]
cdq
idiv esi
mov dword [ebx + 0xa0], eax
movzx esi, word [ecx + 0x400]
mov eax, esi
shr eax, 1
add eax, dword [ebx + 0xa4]
cdq
idiv esi
mov dword [ebx + 0xa4], eax
movzx esi, word [ecx + 0x3fe]
mov eax, esi
shr eax, 1
add eax, dword [ebx + 0x98]
cdq
idiv esi
mov dword [ebx + 0x98], eax
movzx ecx, word [ecx + 0x400]
mov eax, ecx
shr eax, 1
add eax, dword [ebx + 0x9c]
cdq
idiv ecx
mov edx, dword [esp + 0x2c]
mov dword [ebx + 0x9c], eax
movzx eax, word [edi + 2]
movzx ecx, word [edx + 0x3fe]
test ax, ax
jns 0x423d3e
movsx edx, ax
mov eax, ecx
sub eax, edx
dec eax
cdq
idiv ecx
neg eax
jmp 0x423d42
cwde
cdq
idiv ecx
mov esi, dword [esp + 0x2c]
mov word [ebx + 0x60], ax
movzx ecx, word [esi + 0x3fe]
mov dword [esp + 0x30], eax
movsx eax, word [edi + 6]
lea edx, [eax + ecx - 1]
test edx, edx
js 0x423d63
mov eax, edx
cdq
idiv ecx
mov ecx, eax
mov word [ebx + 0x64], cx
movzx eax, word [edi + 4]
movzx esi, word [esi + 0x400]
test ax, ax
jns 0x423d8b
movsx edx, ax
mov eax, esi
sub eax, edx
dec eax
cdq
idiv esi
neg eax
jmp 0x423d8f
cwde
cdq
idiv esi
mov esi, dword [esp + 0x2c]
mov word [ebx + 0x5e], ax
movsx eax, word [edi]
movzx edx, word [esi + 0x400]
movzx edi, word [esi + 0x400]
lea edx, [edx + eax - 1]
test edx, edx
js 0x423db2
mov eax, edx
cdq
idiv edi
sub ecx, dword [esp + 0x30]
push 9
add ecx, 3
and ecx, 0xfffffffc
mov word [ebx + 0x5c], cx
lea edi, [esi + 0x294]
pop ecx
mov word [ebx + 0x62], ax
lea eax, [esi + 0x24c]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x2c]
mov cx, word [edi + 0x298]
mov word [ebx + 0xc8], cx
mov cx, word [edi + 0x29a]
mov word [ebx + 0xc6], cx
mov cx, word [edi + 0x29c]
mov word [ebx + 0xcc], cx
mov cx, word [edi + 0x296]
mov word [ebx + 0xca], cx
mov cx, word [ebx + 0x5c]
mov word [eax], cx
mov ax, word [ebx + 0x60]
movsx ecx, word [edi + 0x24e]
mov word [edi + 0x250], ax
mov ax, word [ebx + 0x64]
mov word [edi + 0x254], ax
movsx eax, word [ebx + 0x5c]
mov dword [esp + 0x44], eax
movsx eax, word [edi + 0x252]
sub ecx, eax
push ecx
lea esi, [esp + 0x40]
lea eax, [esp + 0x48]
call fcn.00424a2e
mov eax, dword [eax]
mov dword [edi + 0x268], eax
mov eax, dword [edi + 0x2b0]
mov dword [ebx + 0x20], eax
mov edx, edi
jmp 0x423e89
mov ax, word [edi + 2]
mov word [ebx + 0x60], ax
mov ax, word [edi + 6]
mov word [ebx + 0x64], ax
mov ax, word [edx + 0x24c]
mov word [ebx + 0x5c], ax
mov eax, dword [ebp + 8]
push edx
call fcn.00421e8f
test ax, ax
je 0x423eed
mov ax, word [edx + 0x254]
sub ax, word [edx + 0x250]
lea esi, [esp + 0x3c]
add ax, 3
and ax, 0xfffc
mov word [ebx + 0x5c], ax
movsx ecx, word [edx + 0x252]
cwde
mov dword [esp + 0x44], eax
movsx eax, word [edx + 0x24e]
sub eax, ecx
push eax
lea eax, [esp + 0x48]
call fcn.00424a2e
mov ecx, dword [eax]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x2c]
mov dword [eax + 0x268], ecx
mov eax, dword [eax + 0x2b0]
mov dword [ebx + 0x20], eax
mov ax, word [ebx + 0x5c]
lea esi, [edx + 0x24c]
mov word [esi], ax
mov eax, dword [edx + 0x268]
mov dword [ebx + 0x14], eax
mov ecx, dword [edx + 0x274]
lea eax, [ebx + 0x18]
mov dword [eax], ecx
mov ecx, dword [edx + 0x278]
mov dword [esp + 0x24], eax
lea eax, [ebx + 0x1c]
mov dword [eax], ecx
test byte [edx + 0x382], 1
mov dword [esp + 0x30], eax
jne 0x423ffe
mov eax, dword [ebp + 8]
cmp dword [eax + 0x3c], 3
jne 0x423ffe
movsx ecx, word [ebx + 0x60]
movsx eax, word [ebx + 0x64]
mov edi, dword [esp + 0x2c]
sub eax, ecx
movzx ecx, word [edi + 0x3fe]
imul eax, ecx
call fcn.00424a19
mov word [ebx + 0x5c], ax
mov ax, word [edi + 0x250]
imul ax, word [edi + 0x3fe]
mov word [ebx + 0xc8], ax
mov ax, word [edi + 0x252]
mov word [ebx + 0xc6], ax
mov ax, word [edi + 0x254]
imul ax, word [edi + 0x3fe]
mov word [ebx + 0xcc], ax
mov cx, word [edi + 0x24e]
mov word [ebx + 0xca], cx
mov cx, word [ebx + 0x5c]
movsx eax, word [edi + 0x24e]
mov word [esi], cx
movsx ecx, word [ebx + 0x5c]
mov dword [esp + 0x44], ecx
movsx ecx, word [edi + 0x252]
sub eax, ecx
push eax
lea esi, [esp + 0x40]
lea eax, [esp + 0x48]
call fcn.00424a2e
mov eax, dword [eax]
mov esi, dword [esp + 0x2c]
mov dword [edi + 0x268], eax
mov eax, dword [esp + 0x2c]
push 9
add edi, 0x294
pop ecx
add esi, 0x24c
rep movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x2b0]
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x20], eax
mov edi, dword [esp + 0x2c]
mov eax, dword [ebp + 8]
cmp dword [eax + 0x3c], 2
jne 0x42404f
mov ax, word [ebx + 0x64]
sub ax, word [ebx + 0x60]
movsx edx, word [ebx + 0x5e]
add ax, 3
and ax, 0xfffc
movsx ecx, ax
mov word [ebx + 0x5c], ax
movsx eax, word [ebx + 0x62]
sub eax, edx
imul ecx
mov ecx, eax
add ecx, 0x80000000
adc edx, 0
test edx, edx
ja 0x4235a5
jb 0x42404c
cmp ecx, 0xffffffff
ja 0x4235a5
mov dword [ebx + 0x14], eax
push dword [esp + 0x30]
mov esi, dword [esp + 0x30]
push dword [esp + 0x28]
mov eax, dword [esi + 0x270]
mov ecx, dword [esi + 0x31c]
add edi, 0x18c
call fcn.0042990c
mov dword [esi + 0x16c], 0x3e
xor eax, eax
jmp 0x424085
mov eax, 0x1003
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8