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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x80]
cmp eax, dword [ecx + 8]
jbe 0x613b7c
sub esp, 0x100
mov eax, dword [esp + 0x104]
mov ecx, dword [eax + 0xb8]
mov edx, dword [eax + 0xbc]
test ecx, ecx
jne 0x613aef
nop
lea ecx, [eax + 0xc]
mov dword [esp], ecx
call fcn.0045d5f0
mov eax, dword [esp + 0x104]
mov ecx, dword [eax + 0x178]
mov edx, dword [eax + 0x180]
cmp edx, ecx
setae bl
mov ebp, dword [eax + 0x184]
mov esi, ecx
sar ecx, 0x1f
cmp ebp, ecx
setg cl
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, ebx
or ecx, ebp
mov ebx, dword [esp + 4]
cmp ebx, 1
test cl, cl
je 0x613ae6
xor ecx, ecx
lea edx, [eax + 0xbc]
mov dword [esp + 0x6c], edx
test ecx, ecx
jne 0x613a82
mov dword [esp + 0x40], ebx
lea edi, [eax + 0x174]
mov dword [esp + 0x4c], edi
nop
mov ecx, dword [0xe8ff30]
test ecx, ecx
jne 0x613a6b
xor eax, eax
call fcn.00456d7a
mov eax, dword [esp + 0x104]
mov dword [eax + 0x188], 0xffffffff
mov ecx, dword [eax + 4]
mov edx, dword [eax]
lea ebx, [0x9432c0]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004089e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x104]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 5
call fcn.00613df0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x6129a5
cmp dword [0xe7acf0], ecx
je 0x612975
xor edx, edx
test dl, dl
je 0x612969
mov edx, dword [esp + 0x104]
mov ebx, dword [edx + 0x164]
cmp dword [edx + 0x16c], ebx
jne 0x6128cb
mov eax, dword [0xe7accc]
mov ecx, dword [0xe7acc8]
mov dword [esp + 0x44], eax
mov dword [esp + 0x30], ecx
lea edx, [0x95a660]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00408b40
movzx eax, byte [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test al, al
jne 0x612957
mov eax, 1
test al, al
je 0x61294d
nop
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xe8ff30]
test ebx, ebx
jne 0x61293e
mov eax, dword [esp + 0x44]
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
mov eax, dword [esp + 0x44]
call fcn.00456ab0
jmp 0x612929
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x30]
jmp 0x612929
mov eax, dword [edx + 0x14]
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 4]
xor eax, 1
jmp 0x6128ff
mov edx, dword [esp + 0x104]
jmp 0x6128cb
mov dword [esp + 0x58], eax
mov dword [esp + 0x34], ecx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov edx, dword [0xe7acf4]
mov dword [esp + 8], edx
call fcn.00402f80
movzx edx, byte [esp + 0xc]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x34]
jmp 0x6128a2
mov ebx, dword [esp + 0x104]
mov eax, dword [ebx + 0x16c]
mov edx, dword [ebx + 0x168]
mov ebp, dword [ebx + 0x160]
mov ecx, dword [ebx + 0x164]
cmp eax, ecx
ja 0x613b76
sub edx, eax
mov ecx, edx
neg edx
sar edx, 0x1f
and eax, edx
cmp ecx, 5
jb 0x613b68
movzx ecx, byte [ebp + eax]
mov edx, dword [esp + 0x40]
cmp edx, 1
jne 0x613956
mov esi, edx
movzx edx, byte [ebp + eax + 1]
shl edx, 8
mov edi, ecx
movzx ecx, byte [ebp + eax + 2]
or edx, ecx
movzx ecx, byte [ebp + eax + 3]
shl ecx, 8
movzx ebp, byte [ebp + eax + 4]
or ecx, ebp
movzx ebp, byte [ebx + 0x22]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x61394f
mov eax, ecx
movzx ecx, word [ebx + 0x20]
cmp cx, 0x304
je 0x613946
cmp dx, cx
jne 0x613790
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x613657
mov dword [esp + 0x3c], eax
cmp word [ebx + 0x20], 0x304
jne 0x612bcc
cmp eax, 0x4100
jle 0x612bcc
mov dword [esp], ebx
mov byte [esp + 4], 0x16
call fcn.00614070
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.004086c0
mov eax, dword [esp + 4]
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
lea ecx, [0x92ba80]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
lea eax, [0x9e8ffb]
mov dword [esp], eax
mov dword [esp + 4], 0x28
lea eax, [esp + 0x70]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004d9df0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
lea edi, [esp + 0xb8]
mov edx, eax
xor eax, eax
call fcn.00456d7a
mov eax, dword [esp + 0x50]
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], edx
mov eax, dword [esp + 0x104]
mov ecx, dword [eax + 0x168]
mov edx, dword [eax + 0x160]
mov ebx, dword [eax + 0x16c]
mov ebp, dword [eax + 0x164]
cmp ebx, ebp
ja 0x613b46
sub ebp, ebx
sub ecx, ebx
neg ecx
sar ecx, 0x1f
and ebx, ecx
lea ecx, [edx + ebx]
cmp ebp, 5
jge 0x612bc2
lea edx, [esp + 0xc0]
cmp edx, ecx
je 0x612b51
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.00457480
lea edi, [esp + 0xe8]
lea esi, [esp + 0xb8]
call fcn.00457254
lea eax, [0xaa5b30]
mov dword [esp], eax
lea eax, [esp + 0xe8]
mov dword [esp + 4], eax
call fcn.00408900
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xe8ff30]
test ebx, ebx
jne 0x612bb7
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456ab0
jmp 0x612ba2
mov ebp, 5
jmp 0x612b36
cmp eax, 0x4800
jg 0x612a61
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
lea edx, [0x9432c0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004089e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x104]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x3c]
add eax, 5
mov dword [esp + 0x3c], eax
mov dword [esp + 0xc], eax
call fcn.00613df0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x6135b9
nop
mov ebx, dword [esp + 0x104]
mov byte [ebx + 0x170], 0
nop
mov eax, dword [ebx + 0x16c]
mov ebp, dword [ebx + 0x164]
sub ebp, eax
mov esi, dword [ebx + 0x160]
mov edx, dword [ebx + 0x168]
mov edi, dword [esp + 0x3c]
cmp edi, ebp
jle 0x6135b2
lea ecx, [ebp + eax]
cmp ecx, edx
ja 0x613b41
cmp eax, ecx
ja 0x613b3c
mov dword [ebx + 0x16c], ecx
sub edx, eax
mov ecx, edx
neg edx
sar edx, 0x1f
and eax, edx
add eax, esi
test ebp, ebp
jle 0x612c98
mov byte [ebx + 0x170], 0xff
lea edx, [ebx + 0xb0]
mov dword [esp + 0x68], edx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
call fcn.00610de0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
movzx ebp, byte [esp + 0x1c]
mov esi, dword [esp + 0x18]
test edx, edx
je 0x612d42
lea ecx, [0xaa5b50]
cmp edx, ecx
jne 0x613b20
movzx eax, byte [eax]
mov ecx, dword [esp + 0x104]
mov dword [esp], ecx
mov byte [esp + 4], al
call fcn.00614070
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], eax
mov ebx, dword [0xe8ff30]
test ebx, ebx
jne 0x612d31
mov dword [edx + 0xbc], ecx
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], ecx
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
mov edx, eax
mov eax, ecx
call fcn.00456ab0
mov eax, edx
jmp 0x612d1c
cmp ecx, 0x4000
jg 0x613559
mov edx, dword [esp + 0x104]
mov eax, esi
mov esi, dword [edx + 0xc4]
test esi, esi
je 0x6134fc
xchg ebp, eax
cmp al, 0x15
xchg ebp, eax
je 0x612d81
xchg ebp, eax
cmp al, 0x14
xchg ebp, eax
je 0x612d81
test ecx, ecx
jle 0x612d81
mov dword [edx + 0x1cc], 0
movzx esi, word [edx + 0x20]
cmp si, 0x304
jne 0x6134f0
xchg ebp, eax
cmp al, 0x16
xchg ebp, eax
je 0x6134e4
mov edi, esi
mov esi, dword [edx + 0x190]
sub esi, dword [edx + 0x198]
test esi, esi
jg 0x613492
xchg ebp, eax
cmp al, 0x15
xchg ebp, eax
ja 0x6132e6
xchg ebp, eax
cmp al, 0x14
xchg ebp, eax
jne 0x612fc5
cmp ecx, 1
je 0x612e1e
mov dword [esp], edx
mov byte [esp + 4], 0x32
call fcn.00614070
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xe8ff30]
test ebx, ebx
jne 0x612e13
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456ab0
jmp 0x612dfe
cmp byte [ebx], 1
jne 0x612dcc
mov eax, dword [edx + 0x190]
sub eax, dword [edx + 0x198]
test eax, eax
jg 0x612f73
cmp di, 0x304
je 0x612f42
movzx eax, byte [esp + 0x108]
test al, al
je 0x612ef0
mov eax, dword [esp + 0x68]
mov dword [esp], eax
call fcn.00610900
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x612ed3
lea edx, [0xaa5b50]
cmp ecx, edx
jne 0x613b04
movzx eax, byte [eax]
mov ecx, dword [esp + 0x104]
mov dword [esp], ecx
mov byte [esp + 4], al
call fcn.00614070
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xe8ff30]
test ebx, ebx
jne 0x612ec8
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456ab0
jmp 0x612eb3
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0x100
ret
mov dword [esp], edx
mov byte [esp + 4], 0xa
call fcn.00614070
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xe8ff30]
test ebx, ebx
jne 0x612f37
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456ab0
jmp 0x612f22
mov dword [esp], edx
movzx eax, byte [esp + 0x108]
mov byte [esp + 4], al
call fcn.00613b90
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], ecx
add esp, 0x100
ret
mov dword [esp], edx
mov byte [esp + 4], 0xa
call fcn.00614070
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xe8ff30]
test ebx, ebx
jne 0x612fba
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456ab0
jmp 0x612fa5
xchg ebp, eax
cmp al, 0x15
xchg ebp, eax
jne 0x613294
cmp ecx, 2
jne 0x613242
movzx ecx, byte [ebx + 1]
test cl, cl
jne 0x613023
mov eax, dword [0xe7accc]
mov ecx, dword [0xe7acc8]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xe8ff30]
test ebx, ebx
jne 0x613018
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456ab0
jmp 0x613003
mov byte [esp + 0x29], cl
cmp di, 0x304
je 0x613186
movzx eax, byte [ebx]
cmp al, 1
je 0x613155
cmp al, 2
jne 0x613103
lea eax, [0x981240]
mov dword [esp], eax
call fcn.0040af00
mov eax, dword [esp + 4]
mov dword [eax + 4], 0xc
mov ecx, dword [0xe8ff30]
test ecx, ecx
jne 0x6130ef
lea ecx, [0x9d2f72]
mov dword [eax], ecx
lea ecx, [0xaa5b50]
mov dword [eax + 0x20], ecx
mov ecx, dword [0xe8ff30]
movzx edx, byte [esp + 0x29]
movzx edx, dl
lea ebx, [0xe19fc0]
add edx, ebx
test ecx, ecx
jne 0x6130df
mov dword [eax + 0x24], edx
lea ecx, [0xaa52d0]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xe8ff30]
test ebx, ebx
jne 0x6130d4
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456ab0
jmp 0x6130bf
lea edi, [eax + 0x24]
mov ecx, eax
mov eax, edx
call fcn.00456ab0
mov eax, ecx
jmp 0x61309c
mov edi, eax
lea eax, [0x9d2f72]
call fcn.00456ab0
mov eax, edi
jmp 0x613076
mov dword [esp], edx
mov byte [esp + 4], 0xa
call fcn.00614070
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xe8ff30]
test ebx, ebx
jne 0x61314a
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456ab0
jmp 0x613135
mov dword [esp], edx
movzx eax, byte [esp + 0x108]
mov byte [esp + 4], al
call fcn.00613b90
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
lea eax, [0x981240]
mov dword [esp], eax
call fcn.0040af00
mov eax, dword [esp + 4]
mov dword [eax + 4], 0xc
mov ecx, dword [0xe8ff30]
test ecx, ecx
jne 0x61322e
lea ecx, [0x9d2f72]
mov dword [eax], ecx
lea ecx, [0xaa5b50]
mov dword [eax + 0x20], ecx
mov ecx, dword [0xe8ff30]
movzx edx, byte [esp + 0x29]
movzx edx, dl
lea ebx, [0xe19fc0]
add edx, ebx
test ecx, ecx
jne 0x61321e
mov dword [eax + 0x24], edx
lea ecx, [0xaa52d0]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xe8ff30]
test ebx, ebx
jne 0x613213
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456ab0
jmp 0x6131fe
lea edi, [eax + 0x24]
mov ecx, eax
mov eax, edx
call fcn.00456ab0
mov eax, ecx
jmp 0x6131db
mov edi, eax
lea eax, [0x9d2f72]
call fcn.00456ab0
mov eax, edi
jmp 0x6131b5
mov dword [esp], edx
mov byte [esp + 4], 0xa
call fcn.00614070
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xe8ff30]
test ebx, ebx
jne 0x613289
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456ab0
jmp 0x613274
mov dword [esp], edx
mov byte [esp + 4], 0xa
call fcn.00614070
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xe8ff30]
test ebx, ebx
jne 0x6132db
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456ab0
jmp 0x6132c6
xchg ebp, eax
cmp al, 0x16
xchg ebp, eax
jne 0x613374
test ecx, ecx
jne 0x613347
mov dword [esp], edx
mov byte [esp + 4], 0xa
call fcn.00614070
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xe8ff30]
test ebx, ebx
jne 0x61333c
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456ab0
jmp 0x613327
movzx ebp, byte [esp + 0x108]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x6132f5
add edx, 0x18c
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.0046d2d0
jmp 0x612ed3
xchg ebp, eax
cmp al, 0x17
xchg ebp, eax
jne 0x613294
mov ebp, dword [esp + 0x40]
cmp ebp, 1
jne 0x613396
movzx ebp, byte [esp + 0x108]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x6133e8
mov dword [esp], edx
mov byte [esp + 4], 0xa
call fcn.00614070
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xe8ff30]
test ebx, ebx
jne 0x6133dd
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456ab0
jmp 0x6133c8
test ecx, ecx
je 0x613467
mov dword [esp + 0x38], ecx
nop
mov ebp, dword [0xe8ff30]
test ebp, ebp
jne 0x61342d
mov edi, dword [esp + 0x4c]
mov ebp, eax
xor eax, eax
call fcn.00456d7a
mov dword [edx + 0x174], ebx
mov eax, dword [esp + 0x38]
mov dword [edx + 0x178], eax
mov dword [edx + 0x17c], ebp
mov dword [edx + 0x188], 0xffffffff
jmp 0x612ed3
mov dword [esp + 0x60], ebx
mov dword [esp + 0x3c], eax
lea eax, [0x96a8e0]
mov dword [esp], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
call fcn.00411550
mov edx, dword [esp + 0x104]
lea edi, [edx + 0x174]
mov eax, dword [esp + 0x60]
call fcn.00456ab0
mov ebp, dword [esp + 0x3c]
jmp 0x61340e
mov dword [esp], edx
xchg ebp, eax
mov byte [esp + 4], al
xchg ebp, eax
call fcn.00613b90
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov dword [esp], edx
mov byte [esp + 4], 0xa
call fcn.00614070
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xe8ff30]
test ebx, ebx
jne 0x6134d9
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456ab0
jmp 0x6134c4
xchg ebp, eax
cmp al, 0x15
xchg ebp, eax
mov edi, esi
jmp 0x612db6
xchg ebp, eax
cmp al, 0x15
xchg ebp, eax
mov edi, esi
jmp 0x612db6
xchg ebp, eax
cmp al, 0x17
xchg ebp, eax
jne 0x612d65
mov dword [esp], edx
mov byte [esp + 4], 0xa
call fcn.00614070
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xe8ff30]
test ebx, ebx
jne 0x61354e
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456ab0
jmp 0x613539
mov eax, dword [esp + 0x104]
mov dword [esp], eax
mov byte [esp + 4], 0x16
call fcn.00614070
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xe8ff30]
test ebx, ebx
jne 0x6135a7
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456ab0
jmp 0x613592
mov ebp, edi
jmp 0x612c66
mov dword [esp + 0x48], eax
mov dword [esp + 0x2c], ecx
lea edx, [0x95a660]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00408b40
mov eax, dword [esp + 0xc]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0x10]
test cl, cl
jne 0x613645
mov eax, 1
test al, al
je 0x61363b
nop
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xe8ff30]
test ebx, ebx
jne 0x61362c
mov eax, dword [esp + 0x48]
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
mov eax, dword [esp + 0x48]
call fcn.00456ab0
jmp 0x613617
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x2c]
jmp 0x613617
mov eax, dword [eax + 0x14]
mov dword [esp], edx
call eax
movzx eax, byte [esp + 4]
xor eax, 1
jmp 0x6135ed
xchg edi, eax
cmp al, 0x15
xchg edi, eax
je 0x613780
xchg edi, eax
cmp al, 0x16
xchg edi, eax
je 0x613780
mov ecx, dword [ebx + 4]
mov dword [esp + 0x5c], ecx
mov edx, dword [ebx]
lea edi, [esp + 0xa0]
xor eax, eax
call fcn.00456d7a
lea ecx, [0x9ecb46]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], 0x2f
mov dword [esp + 0xb0], edx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0xb4], ecx
mov eax, dword [ebx + 0x16c]
mov ecx, dword [ebx + 0x168]
mov edx, dword [ebx + 0x160]
mov ebp, dword [ebx + 0x164]
cmp eax, ebp
ja 0x613b4f
sub ebp, eax
sub ecx, eax
neg ecx
sar ecx, 0x1f
and eax, ecx
add eax, edx
cmp ebp, 5
jge 0x613776
lea ecx, [esp + 0xa8]
cmp ecx, eax
je 0x6136ff
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00457480
lea edi, [esp + 0xe8]
lea esi, [esp + 0xa0]
call fcn.00457254
lea eax, [0xaa5b30]
mov dword [esp], eax
lea eax, [esp + 0xe8]
mov dword [esp + 4], eax
call fcn.00408900
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], eax
mov ebx, dword [0xe8ff30]
test ebx, ebx
jne 0x613765
mov dword [edx + 0xbc], ecx
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], ecx
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
mov edx, eax
mov eax, ecx
call fcn.00456ab0
mov eax, edx
jmp 0x613750
mov ebp, 5
jmp 0x6136e4
cmp dx, 0x1000
jae 0x61366d
jmp 0x612a46
mov word [esp + 0x2a], dx
mov dword [esp], ebx
mov byte [esp + 4], 0x46
call fcn.00614070
movzx eax, word [esp + 0x2a]
mov word [esp], ax
call fcn.00408660
mov eax, dword [esp + 4]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x104]
movzx edx, word [ecx + 0x20]
mov word [esp], dx
call fcn.00408660
mov eax, dword [esp + 4]
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
lea ecx, [0x92ca40]
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
lea eax, [0x9f0c48]
mov dword [esp], eax
mov dword [esp + 4], 0x39
lea eax, [esp + 0x78]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004d9df0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x54], ecx
lea edi, [esp + 0x88]
mov edx, eax
xor eax, eax
call fcn.00456d7a
mov eax, dword [esp + 0x54]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], edx
mov eax, dword [esp + 0x104]
mov ecx, dword [eax + 0x168]
mov edx, dword [eax + 0x160]
mov ebx, dword [eax + 0x16c]
mov ebp, dword [eax + 0x164]
cmp ebx, ebp
ja 0x613b56
sub ebp, ebx
sub ecx, ebx
neg ecx
sar ecx, 0x1f
and ebx, ecx
lea ecx, [edx + ebx]
cmp ebp, 5
jge 0x61393c
lea edx, [esp + 0x90]
cmp edx, ecx
je 0x6138cb
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.00457480
lea edi, [esp + 0xe8]
lea esi, [esp + 0x88]
call fcn.00457254
lea eax, [0xaa5b30]
mov dword [esp], eax
lea eax, [esp + 0xe8]
mov dword [esp + 4], eax
call fcn.00408900
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xe8ff30]
test ebx, ebx
jne 0x613931
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456ab0
jmp 0x61391c
mov ebp, 5
jmp 0x6138b0
xchg ebp, eax
test al, al
xchg ebp, eax
jmp 0x612a40
mov eax, ecx
jmp 0x612a40
cmp cl, 0x80
jne 0x6129f2
mov dword [esp], ebx
mov byte [esp + 4], 0x46
call fcn.00614070
lea edi, [esp + 0xd0]
xor eax, eax
call fcn.00456d7a
lea eax, [0x9e69a7]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], 0x24
mov eax, dword [esp + 0x104]
mov ecx, dword [eax + 0x16c]
mov edx, dword [eax + 0x168]
mov ebx, dword [eax + 0x160]
mov ebp, dword [eax + 0x164]
cmp ecx, ebp
ja 0x613b5f
sub ebp, ecx
sub edx, ecx
neg edx
sar edx, 0x1f
and ecx, edx
add ecx, ebx
cmp ebp, 5
jge 0x613a61
lea edx, [esp + 0xd8]
cmp edx, ecx
je 0x6139ea
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.00457480
lea edi, [esp + 0xe8]
lea esi, [esp + 0xd0]
call fcn.00457254
lea eax, [0xaa5b30]
mov dword [esp], eax
lea eax, [esp + 0xe8]
mov dword [esp + 4], eax
call fcn.00408900
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], eax
mov ebx, dword [0xe8ff30]
test ebx, ebx
jne 0x613a50
mov dword [edx + 0xbc], ecx
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], ecx
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
mov edx, eax
mov eax, ecx
call fcn.00456ab0
mov eax, edx
jmp 0x613a3b
mov ebp, 5
jmp 0x6139cf
lea eax, [0x96a8e0]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00411550
jmp 0x612831
lea eax, [0x94a0a0]
mov dword [esp], eax
call fcn.0040af00
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x4b
lea ecx, [0x9f3a3d]
mov dword [eax], ecx
lea ecx, [0xaa4cf0]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xe8ff30]
test ebx, ebx
jne 0x613adb
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456ab0
jmp 0x613ac6
sub esi, edx
mov ecx, esi
jmp 0x6127fb
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], edx
add esp, 0x100
ret
mov dword [esp], ecx
lea eax, [0x94c640]
mov dword [esp + 4], eax
lea eax, [0x9427e0]
mov dword [esp + 8], eax
call fcn.00408510
mov dword [esp], edx
lea eax, [0x94c640]
mov dword [esp + 4], eax
lea eax, [0x9427e0]
mov dword [esp + 8], eax
call fcn.00408510
call fcn.00456b90
call fcn.00456b70
mov eax, ebx
mov ecx, ebp
call fcn.00456b90
mov ecx, ebp
call fcn.00456b90
mov eax, ebx
mov ecx, ebp
call fcn.00456b90
mov eax, ecx
mov ecx, ebp
call fcn.00456b90
mov eax, ecx
mov ecx, 5
mov edx, eax
call fcn.00456b70
call fcn.00456b90
nop
call fcn.00455270
jmp fcn.00612770