Function at 0x427420
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x587cec]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x20]
cmp eax, dword [ecx + 8]
jbe 0x4282f7
sub esp, 0xa0
mov eax, dword [0x587cec]
mov eax, dword fs:[eax]
mov eax, dword [eax]
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + 0x7c]
test edx, edx
jne 0x427462
mov edx, dword [ecx + 0x6c]
test edx, edx
jne 0x427462
cmp dword [ecx], eax
jne 0x4282e0
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax]
movzx edx, byte [esp + 0xa8]
test dl, dl
jne 0x42747d
mov dword [eax], 0
mov dword [esp + 0x24], ecx
test byte [ecx], al
lea eax, [ecx + 0x3f]
mov dword [esp + 0x9c], eax
mov edx, dword [0x56fcd0]
mov dword [esp + 0x1c], edx
mov dword [esp], eax
call fcn.00429840
movzx eax, byte [esp + 4]
cmp al, 1
jne 0x4282d7
mov ecx, dword [esp + 0x1c]
lea edx, [ecx - 1]
mov ebx, dword [esp + 0x24]
cmp dword [ebx + 0x34], edx
jne 0x428226
mov dword [esp + 0x5c], edx
call fcn.00461f90
mov eax, dword [esp]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x58], ecx
call fcn.00462100
movzx eax, byte [esp + 8]
test al, al
je 0x427526
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x98]
mov dword [esp], edx
mov ebx, dword [esp + 0x58]
mov dword [esp + 4], ebx
shl ecx, 0xd
mov dword [esp + 8], ecx
call fcn.004628b0
mov eax, dword [esp + 0x98]
mov dword [esp], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
call fcn.00462110
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x10]
lea edx, [0x56fce8]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
call fcn.00479770
mov eax, dword [esp + 0x24]
movzx ecx, byte [eax + 0x3e]
mov byte [esp + 0x14], cl
mov edx, dword [eax + 0x44]
mov dword [esp + 0x20], edx
mov ebx, dword [eax + 0x50]
mov dword [esp + 0x54], ebx
mov dword [esp], eax
call fcn.0042cb80
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
lea eax, [esp + 0x74]
mov dword [esp], eax
call fcn.0042cbb0
movzx eax, byte [esp + 4]
test al, al
je 0x4276cb
mov eax, dword [esp + 0x20]
test eax, eax
je 0x428221
mov eax, dword [esp + 0x78]
movzx eax, word [eax + 4]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
call fcn.00429860
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x20]
xor edx, edx
div ecx
mov edx, eax
imul eax, ecx
add eax, dword [esp + 4]
mov dword [esp + 0x30], eax
mov ebx, dword [esp + 0x24]
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.004127c0
mov eax, dword [esp + 8]
mov dword [esp + 0x94], eax
movzx ecx, byte [esp + 0xc]
mov byte [esp + 0x15], cl
mov edx, dword [esp + 0x10]
mov dword [esp + 0x58], edx
mov dword [esp], eax
mov byte [esp + 4], cl
mov dword [esp + 8], edx
call fcn.00412850
movzx eax, byte [esp + 0xc]
test al, al
je 0x427660
mov eax, dword [esp + 0x78]
cmp byte [eax + 6], 4
jne 0x42764f
lea eax, [esp + 0x74]
mov dword [esp], eax
call fcn.0042cc20
mov eax, dword [esp + 4]
mov byte [eax + 9], 1
mov ecx, dword [esp + 0x30]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x20]
mov dword [esp + 8], eax
call fcn.0042cc50
jmp 0x427579
lea eax, [esp + 0x74]
mov dword [esp], eax
call fcn.0042cbe0
jmp 0x427579
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.00429860
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x30]
sub ecx, eax
mov eax, dword [esp + 0x20]
add ecx, eax
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x78]
jmp 0x4280f3
mov eax, dword [esp + 0x94]
mov dword [esp], eax
movzx eax, byte [esp + 0x15]
mov byte [esp + 4], al
mov eax, dword [esp + 0x58]
mov dword [esp + 8], eax
call fcn.004128c0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x40]
mov edx, 1
jmp 0x4276be
xor edx, edx
jmp 0x4276be
xor edx, edx
test dl, dl
jne 0x428188
jmp 0x42815a
mov eax, dword [esp + 0x54]
test eax, eax
je 0x4276e8
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x50]
test ecx, ecx
jne 0x4276ec
mov dword [esp], eax
call fcn.0042c4f0
jmp 0x4276ec
mov eax, dword [esp + 0x24]
call fcn.00461f40
movzx eax, byte [esp]
test al, al
jne 0x427703
mov eax, dword [0x588004]
test eax, eax
je 0x42776b
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.00412810
mov eax, dword [esp + 4]
movzx ecx, byte [esp + 8]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov byte [esp + 0x80], cl
mov dword [esp + 0x84], edx
mov eax, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00412440
mov eax, dword [esp + 8]
movzx ecx, byte [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x88], eax
mov byte [esp + 0x8c], cl
mov dword [esp + 0x90], edx
xor eax, eax
jmp 0x427fb2
mov eax, dword [esp + 0x24]
movzx ecx, word [eax + 0x18]
cmp word [eax + 0x1a], cx
jbe 0x4277f4
movzx ecx, cx
mov dword [esp + 0x34], ecx
mov edx, dword [eax + 0x2c]
mov dword [esp], edx
shr ecx, 3
mov dword [esp + 0x58], ecx
mov dword [esp + 4], ecx
call fcn.0042cdf0
mov eax, dword [esp + 8]
mov dword [esp + 0x94], eax
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x28]
mov dword [esp], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 4], edx
call fcn.0042cdf0
mov eax, dword [esp + 0x94]
movzx eax, byte [eax]
mov ecx, dword [esp + 8]
movzx ecx, byte [ecx]
not ecx
and ecx, eax
mov eax, dword [esp + 0x34]
and eax, 7
mov edx, ecx
mov ecx, eax
shr dl, cl
test dl, dl
je 0x4277ea
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.004283f0
mov eax, dword [esp + 0x58]
inc eax
jmp 0x427f06
mov dword [esp], eax
call fcn.00412fa0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x24]
movzx edx, word [ecx + 0x3c]
mov ebx, edx
sub edx, eax
cmp ax, bx
ja 0x427e15
mov dword [esp + 0x50], eax
mov word [esp + 0x16], dx
mov word [ecx + 0x3c], ax
mov word [ecx + 0x18], 0
mov word [ecx + 0x1c], 0
call fcn.00461f30
movzx eax, byte [esp]
test al, al
jne 0x427841
mov ebx, dword [esp + 0x24]
jmp 0x427874
mov eax, dword [0x587cec]
mov eax, dword fs:[eax]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x58]
mov dword [esp], eax
call fcn.0044f250
mov eax, dword [esp + 4]
movzx ecx, word [esp + 0x16]
movzx edx, cx
mov ebx, dword [esp + 0x24]
imul edx, dword [ebx + 0x44]
add dword [eax + 0x93c], edx
mov eax, dword [ebx + 0x2c]
mov dword [ebx + 0x28], eax
movzx eax, word [ebx + 0x1a]
mov dword [esp], eax
call fcn.0042cf20
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x24]
mov dword [ecx + 0x2c], eax
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x4278a4
mov dword [esp], ecx
call fcn.0043c670
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
mov word [esp + 4], 0
call fcn.00412480
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
call fcn.00429840
movzx eax, byte [esp + 4]
cmp al, 1
jne 0x427e0c
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x34]
mov ebx, dword [esp + 0x5c]
cmp edx, ebx
jne 0x427d5b
mov eax, dword [esp + 0x1c]
lea ebx, [eax + 1]
cmp edx, ebx
je 0x427d45
lea ebx, [eax + 3]
cmp edx, ebx
je 0x427d45
lea edx, [ecx + 0x34]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00479c80
mov eax, dword [esp + 0x24]
movzx ecx, byte [eax + 0x41]
test cl, cl
je 0x4279df
movzx edx, byte [esp + 0xa8]
test dl, dl
jne 0x427d2f
mov edx, dword [esp + 0x50]
test dx, dx
jbe 0x427987
movzx edx, byte [esp + 0x14]
movzx edx, dl
cmp edx, 0x88
jae 0x427d23
shl edx, 7
lea eax, [0x56fdb0]
add eax, edx
mov dword [esp], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], eax
call fcn.00414340
mov eax, dword [esp + 8]
mov dword [esp], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
call fcn.00434c10
mov byte [esp + 0xac], 0
add esp, 0xa0
ret
mov ecx, dword [eax + 0x10]
lea edx, [0x56fce0]
mov dword [esp], edx
neg ecx
mov dword [esp + 4], ecx
call fcn.00479850
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov byte [esp + 4], 0
call fcn.00429820
lea eax, [0x428350]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x60]
mov dword [esp], eax
call fcn.004735b0
mov byte [esp + 0xac], 0
add esp, 0xa0
ret
movzx eax, byte [esp + 0x14]
mov byte [esp], al
call fcn.00429a60
movzx eax, byte [esp + 4]
test al, al
je 0x427b80
movzx edx, word [esp + 0x16]
test dx, dx
ja 0x427a12
movzx edx, byte [esp + 0xa8]
test dl, dl
jmp 0x427ab3
mov eax, dword [esp + 0x24]
mov byte [eax + 0x40], 1
lea ecx, [0x589500]
mov dword [esp], ecx
call fcn.00435900
mov eax, dword [esp + 4]
mov dword [esp + 0x70], eax
movzx ecx, byte [esp + 0x14]
mov byte [esp], cl
call fcn.00429a60
movsx eax, byte [esp + 4]
cmp eax, 0x44
jae 0x427d19
mov ecx, dword [esp + 0x70]
test byte [ecx], al
lea eax, [ecx + eax*8 + 0x278]
mov dword [esp], eax
movzx eax, word [esp + 0x16]
movzx eax, ax
mov dword [esp + 0x5c], eax
mov dword [esp + 4], eax
mov dword [esp + 8], 0
call fcn.00479bd0
lea eax, [0x589500]
mov dword [esp], eax
call fcn.00435a00
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x44]
lea edx, [0x5886b0]
mov dword [esp], edx
mov eax, dword [esp + 0x5c]
mul ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00479770
movzx eax, byte [esp + 0xa8]
test al, al
jne 0x427bd8
mov edx, dword [esp + 0x50]
test dx, dx
je 0x427b5b
mov ebx, dword [esp + 0x24]
cmp word [ebx + 0x1a], dx
jne 0x427b17
movzx edx, byte [esp + 0x14]
movzx eax, dl
cmp eax, 0x88
jae 0x427d0f
shl eax, 7
lea ecx, [0x56fdb0]
add eax, ecx
mov dword [esp], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], eax
call fcn.00414340
mov eax, dword [esp + 8]
mov dword [esp], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
call fcn.00434c10
jmp 0x427bd8
movzx edx, byte [esp + 0x14]
movzx eax, dl
cmp eax, 0x88
jae 0x427d05
shl eax, 7
lea ecx, [0x56fdb0]
add eax, ecx
mov dword [esp], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], eax
call fcn.004142b0
mov eax, dword [esp + 8]
mov dword [esp], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
call fcn.00434c10
jmp 0x427bd8
lea eax, [0x56fc20]
mov dword [esp], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
call fcn.0042ba20
mov byte [esp + 0xac], 1
add esp, 0xa0
ret
movzx edx, byte [esp + 0xa8]
test dl, dl
jne 0x427bd8
movzx edx, word [esp + 0x16]
test dx, dx
jne 0x427be7
movzx edx, byte [esp + 0x14]
movzx eax, dl
cmp eax, 0x88
jae 0x427cfb
shl eax, 7
lea ecx, [0x56fdb0]
add eax, ecx
mov dword [esp], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], eax
call fcn.00414340
mov eax, dword [esp + 8]
mov dword [esp], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
call fcn.00434c10
mov byte [esp + 0xac], 0
add esp, 0xa0
ret
lea eax, [0x589500]
mov dword [esp], eax
call fcn.00435900
mov eax, dword [esp + 4]
mov dword [esp + 0x6c], eax
test byte [eax], al
lea ecx, [eax + 0x270]
mov dword [esp], ecx
mov dword [esp + 4], 1
mov dword [esp + 8], 0
call fcn.00479bd0
mov eax, dword [esp + 0x6c]
add eax, 0x268
mov dword [esp], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
mov dword [esp + 8], 0
call fcn.00479bd0
lea eax, [0x589500]
mov dword [esp], eax
call fcn.00435a00
lea eax, [0x5886b0]
mov dword [esp], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
mov dword [esp + 8], 0
call fcn.00479770
mov eax, dword [0x588010]
test eax, eax
jle 0x427c9d
mov eax, dword [esp + 0x24]
mov dword [eax + 0x48], 0
mov dword [esp], eax
call fcn.00429860
mov eax, dword [esp + 4]
mov dword [esp], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
call fcn.00414ff0
jmp 0x427cb3
lea eax, [0x56fc20]
mov dword [esp], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
call fcn.0042ba20
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
je 0x427cec
movzx ecx, byte [ecx + 0xc]
test cl, 0x10
je 0x427cec
lea ecx, [0x428310]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], eax
lea ecx, [esp + 0x60]
mov dword [esp], ecx
call fcn.004735b0
mov eax, dword [esp + 0x24]
mov dword [eax + 0x5c], 0
mov byte [esp + 0xac], 1
add esp, 0xa0
ret
mov ecx, 0x88
call fcn.00474b20
mov ecx, 0x88
call fcn.00474b20
mov ecx, 0x88
call fcn.00474b20
mov ecx, 0x44
call fcn.00474b20
mov eax, edx
mov ecx, 0x88
call fcn.00474b20
lea eax, [0x4dfc26]
mov dword [esp], eax
mov dword [esp + 4], 0x2a
call fcn.0046f470
lea eax, [0x4d95c5]
mov dword [esp], eax
mov dword [esp + 4], 0x11
call fcn.0046f470
movzx eax, al
mov dword [esp + 0x5c], eax
mov ecx, dword [ecx + 0x34]
mov dword [esp + 0x4c], ecx
call fcn.0043d390
lea eax, [0x4d9e32]
mov dword [esp], eax
mov dword [esp + 4], 0x13
call fcn.0043dbf0
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0043d8e0
lea eax, [0x4d7b0a]
mov dword [esp], eax
mov dword [esp + 4], 0xa
call fcn.0043dbf0
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0043d8e0
lea eax, [0x4d91d4]
mov dword [esp], eax
mov dword [esp + 4], 0x10
call fcn.0043dbf0
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0043d8e0
call fcn.0043d590
call fcn.0043d3f0
lea eax, [0x4df375]
mov dword [esp], eax
mov dword [esp + 4], 0x27
call fcn.0046f470
mov ecx, dword [esp + 0x24]
jmp 0x427d5b
movzx eax, ax
mov dword [esp + 0x5c], eax
movzx ebx, bx
mov dword [esp + 0x4c], ebx
movzx edx, dx
mov dword [esp + 0x48], edx
movzx ecx, word [ecx + 0x1a]
mov dword [esp + 0x44], ecx
call fcn.0043d390
lea eax, [0x4d91e4]
mov dword [esp], eax
mov dword [esp + 4], 0x10
call fcn.0043dbf0
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0043d8e0
lea eax, [0x4d7593]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.0043dbf0
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0043d8e0
lea eax, [0x4da832]
mov dword [esp], eax
mov dword [esp + 4], 0x15
call fcn.0043dbf0
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0043d8e0
lea eax, [0x4d759b]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.0043dbf0
mov eax, dword [esp + 0x48]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0043d8e0
call fcn.0043d590
call fcn.0043d3f0
lea eax, [0x4ddd05]
mov dword [esp], eax
mov dword [esp + 4], 0x20
call fcn.0046f470
mov ecx, dword [esp + 0x38]
lea eax, [ecx + 1]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x24]
movzx edx, word [ecx + 0x1a]
mov dword [esp], edx
mov dword [esp + 4], 8
call fcn.00456080
mov eax, dword [esp + 0x38]
cmp dword [esp + 8], eax
jbe 0x427f89
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2c]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.0042cdf0
mov eax, dword [esp + 8]
mov dword [esp + 0x94], eax
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x28]
mov dword [esp], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 4], edx
call fcn.0042cdf0
mov eax, dword [esp + 0x94]
movzx eax, byte [eax]
mov ecx, dword [esp + 8]
movzx ecx, byte [ecx]
not ecx
test al, cl
je 0x427eff
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.004283f0
jmp 0x427eff
mov eax, dword [esp + 0x24]
jmp 0x4277f4
lea eax, [esp + 0x7c]
mov dword [esp], eax
call fcn.004128f0
lea eax, [esp + 0x88]
mov dword [esp], eax
call fcn.004128f0
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x24]
movzx edx, word [ecx + 0x1a]
cmp eax, edx
jae 0x42776b
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x7c]
movzx ecx, byte [esp + 0x80]
mov edx, dword [esp + 0x84]
mov dword [esp], eax
mov byte [esp + 4], cl
mov dword [esp + 8], edx
call fcn.00412850
movzx eax, byte [esp + 0xc]
test al, al
je 0x427ffa
mov ecx, dword [esp + 0x24]
xor eax, eax
jmp 0x42803c
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x24]
movzx edx, word [ecx + 0x18]
cmp eax, edx
jae 0x428014
mov eax, 1
jmp 0x42803c
mov ecx, dword [esp + 0x88]
movzx edx, byte [esp + 0x8c]
mov dword [esp], ecx
mov byte [esp + 4], dl
mov dword [esp + 8], eax
call fcn.00412850
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x24]
test al, al
je 0x427f92
mov dword [esp], ecx
call fcn.00429860
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x44]
mov edx, dword [esp + 0x3c]
imul ecx, edx
add ecx, dword [esp + 4]
mov dword [esp + 0x18], ecx
call fcn.00461f40
movzx eax, byte [esp]
test al, al
je 0x4280ca
call fcn.00461f90
mov eax, dword [esp]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x58], ecx
call fcn.00462100
movzx eax, byte [esp + 8]
test al, al
je 0x4280ca
mov eax, dword [esp + 0x98]
mov dword [esp], eax
mov ecx, dword [esp + 0x58]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 8], edx
call fcn.0045bf90
mov eax, dword [esp + 0x98]
mov dword [esp], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
call fcn.00462110
mov eax, dword [0x588004]
test eax, eax
je 0x427f92
mov eax, dword [esp + 0x18]
mov dword [esp], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
call fcn.00428950
jmp 0x427f92
mov edx, dword [edx]
test edx, edx
je 0x4276bc
movzx ebx, word [edx + 4]
cmp ebx, ecx
jae 0x4276b8
cmp byte [edx + 6], 1
jne 0x4280f1
jmp 0x427689
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.00429860
mov eax, dword [esp + 0x68]
movzx ecx, word [eax + 4]
add ecx, dword [esp + 4]
mov dword [esp + 0x28], ecx
lea edx, [esp + 0x74]
mov dword [esp], edx
call fcn.0042cc20
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x68]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 8], eax
call fcn.0042cc50
lea eax, [esp + 0x74]
mov dword [esp], eax
call fcn.0042cbb0
movzx eax, byte [esp + 4]
test al, al
je 0x427579
mov eax, dword [esp + 0x78]
movzx ecx, word [eax + 4]
mov edx, dword [esp + 0x40]
cmp ecx, edx
jb 0x428112
jmp 0x427579
lea eax, [esp + 0x74]
mov dword [esp], eax
call fcn.0042cbb0
movzx eax, byte [esp + 4]
test al, al
je 0x427579
mov eax, dword [esp + 0x78]
movzx ecx, word [eax + 4]
mov edx, dword [esp + 0x40]
cmp ecx, edx
jae 0x427579
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.00429860
mov eax, dword [esp + 0x68]
movzx ecx, byte [eax + 6]
cmp cl, 1
je 0x4281d7
cmp cl, 2
jne 0x428210
movzx ecx, word [eax + 4]
add ecx, dword [esp + 4]
mov dword [esp + 0x2c], ecx
lea edx, [esp + 0x74]
mov dword [esp], edx
call fcn.0042cc20
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x68]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 8], eax
call fcn.0042cc50
jmp 0x428188
lea eax, [esp + 0x74]
mov dword [esp], eax
call fcn.0042cbe0
jmp 0x428188
call fcn.0043a6b0
movzx eax, al
mov dword [esp + 0x5c], eax
mov ecx, dword [ebx + 0x34]
mov dword [esp + 0x4c], ecx
call fcn.0043d390
lea eax, [0x4d9e32]
mov dword [esp], eax
mov dword [esp + 4], 0x13
call fcn.0043dbf0
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0043d8e0
lea eax, [0x4d7b0a]
mov dword [esp], eax
mov dword [esp + 4], 0xa
call fcn.0043dbf0
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0043d8e0
lea eax, [0x4d91d4]
mov dword [esp], eax
mov dword [esp + 4], 0x10
call fcn.0043dbf0
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0043d8e0
call fcn.0043d590
call fcn.0043d3f0
lea eax, [0x4dc636]
mov dword [esp], eax
mov dword [esp + 4], 0x1b
call fcn.0046f470
mov ebx, dword [esp + 0x24]
jmp 0x428226
lea eax, [0x4dca7f]
mov dword [esp], eax
mov dword [esp + 4], 0x1c
call fcn.0046f470
nop
call fcn.004736a0
jmp fcn.00427420