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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc4
mov eax, dword [0x851070]
xor eax, esp
mov dword [esp + 0xc0], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0x18]
push ebx
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x2c], eax
xor eax, eax
mov dword [esp + 4], eax
mov dword [esp + 8], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], eax
mov eax, dword [ebx]
mov dword [esp + 0x54], ecx
mov ecx, dword [ebx + 4]
push esi
mov al, byte [eax + 3]
mov byte [esp + 0x1b], al
xor eax, eax
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x68], edx
lea edx, [ecx + 1]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x74], ebx
mov dword [esp + 0x14], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x24], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x609834
sub ecx, edx
lea eax, [ecx + 1]
mov ecx, dword [ebx + 8]
mov dword [esp + 0x48], eax
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x609850
mov ebx, dword [ebp + 0xc]
sub ecx, edx
lea eax, [ecx + 1]
mov dword [esp + 0x78], eax
lea esi, [ebx*4 - 8]
call fcn.00604dc0
test eax, eax
je 0x6098ff
mov dword [esp + 0x18], 0
mov ebx, 7
mov eax, dword [0x85e410]
xor edi, edi
cmp dword [esp + 0x30], edi
jle 0x60ac22
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
nop dword [eax]
mov esi, dword [ecx + edi*4]
test esi, esi
je 0x60ac19
cmp dword [0x851a68], 0
je 0x60ac02
test eax, eax
je 0x6098c6
push eax
call dword [0x851ab8]
add esp, 4
push esi
call dword [0x851a94]
sub dword [0x85e228], eax
add esp, 4
dec dword [0x85e24c]
push esi
call dword [0x851a8c]
mov eax, dword [0x85e410]
add esp, 4
test eax, eax
je 0x60ac11
push eax
call dword [0x851ac0]
jmp 0x60ac09
push 0
push esi
call fcn.00588730
mov ecx, eax
add esp, 8
mov dword [esp + 0x18], ecx
test ecx, ecx
je 0x60987f
push esi
push 0
push ecx
call fcn.00738a30
add esp, 0xc
call fcn.00604dc0
test eax, eax
je 0x609935
xor eax, eax
mov dword [esp + 0x2c], eax
jmp 0x60995c
push 0
push esi
call fcn.00588730
add esp, 8
mov dword [esp + 0x2c], eax
test eax, eax
je 0x60987f
push esi
push 0
push eax
call fcn.00738a30
mov eax, dword [esp + 0x38]
add esp, 0xc
test eax, eax
je 0x60987f
mov eax, 3
mov dword [esp + 0x64], eax
nop dword [eax]
cmp eax, ebx
jge 0x609ecd
cmp dword [esp + 0x58], 0
mov ecx, dword [esp + 0x74]
mov ebx, dword [ecx + eax*4]
jne 0x609a2c
mov ecx, ebx
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x609990
sub ecx, edx
cmp ecx, 8
jbe 0x609a2c
mov edx, 8
test ebx, ebx
je 0x609a2c
mov esi, ebx
mov edi, 0x7e7858
mov al, byte [esi]
dec edx
test al, al
je 0x6099d8
movzx ecx, byte [edi]
movzx eax, al
mov al, byte [eax + 0x7c4050]
cmp al, byte [ecx + 0x7c4050]
jne 0x6099d8
inc esi
inc edi
test edx, edx
jg 0x6099b6
dec edx
test edx, edx
js 0x6099f4
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x7c4050]
movzx eax, byte [esi]
movzx eax, byte [eax + 0x7c4050]
sub eax, ecx
jne 0x609a2c
mov al, byte [ebx + 8]
test al, al
js 0x609a2c
movsx eax, al
cmp byte [eax + 0x7c1978], 0
jne 0x609a2c
push dword [esp + 0x34]
mov edi, dword [esp + 0x70]
lea eax, [esp + 0x5c]
push eax
lea edx, [ebx + 9]
mov ecx, edi
call fcn.00614b10
mov ebx, eax
add esp, 8
mov dword [esp + 0xc], ebx
jmp 0x609eb4
cmp byte [esp + 0x1f], 0x34
jne 0x609e78
mov al, byte [ebx]
mov ecx, ebx
cmp al, 0x3d
je 0x609a50
nop
test al, al
je 0x609b8d
mov al, byte [ecx + 1]
inc ecx
cmp al, 0x3d
jne 0x609a40
mov eax, ecx
sub eax, ebx
mov dword [esp + 0x80], eax
lea eax, [ecx + 1]
push eax
push 0x7e2830
call fcn.0058b200
mov edi, eax
add esp, 8
mov dword [esp + 0x20], edi
test edi, edi
je 0x609a7d
mov ecx, edi
call fcn.00609310
mov eax, 1
test eax, eax
je 0x609e78
mov dword [esp + 0x88], 0x7e7864
mov dword [esp + 0x8c], 9
mov dword [esp + 0x90], 0x7e789c
mov dword [esp + 0x94], 6
mov dword [esp + 0x98], 0x7e78a4
mov dword [esp + 0x9c], 8
mov dword [esp + 0xa0], 0x7e7888
mov dword [esp + 0xa4], 0xa
mov dword [esp + 0xa8], 0x7e7894
mov dword [esp + 0xac], 5
mov dword [esp + 0xb0], 0x7dd36c
mov dword [esp + 0xb4], 7
mov dword [esp + 0xb8], 0x7e7a14
mov dword [esp + 0xbc], 0xa
mov dword [esp + 0xc0], 0x7e7a20
mov dword [esp + 0xc4], 0xa
test edi, edi
je 0x60a184
mov ecx, dword [esp + 0x80]
xor esi, esi
nop dword [eax + eax]
mov eax, dword [esp + esi*8 + 0x8c]
cmp ecx, eax
jne 0x609b77
push eax
push dword [esp + esi*8 + 0x8c]
push ebx
call fcn.0058bef0
add esp, 0xc
test eax, eax
je 0x609b7d
mov ecx, dword [esp + 0x80]
inc esi
cmp esi, 8
jl 0x609b50
cmp esi, 7
ja case.default.0x609b86
jmp dword [esi*4 + 0x60ad54]
mov edi, dword [esp + 0x20]
xor eax, eax
jmp 0x609a82
mov ecx, edi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x609ba0
sub ecx, edx
cmp ecx, 4
jne 0x609bf9
mov esi, edi
mov edx, ecx
mov edi, 0x7e79f0
mov al, byte [esi]
dec edx
test al, al
je 0x609bd9
movzx ecx, byte [edi]
movzx eax, al
mov al, byte [eax + 0x7c4050]
cmp al, byte [ecx + 0x7c4050]
jne 0x609bd9
inc esi
inc edi
test edx, edx
jg 0x609bb7
dec edx
test edx, edx
js 0x609c14
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x7c4050]
movzx eax, byte [esi]
movzx eax, byte [eax + 0x7c4050]
sub eax, ecx
je 0x609c14
mov edi, dword [esp + 0x20]
push edi
push 0x7e79f8
push dword [esp + 0x3c]
call fcn.00609400
mov eax, 1
add esp, 0xc
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0xc]
push eax
mov dword [esp + 0x28], 1
call fcn.00588960
add esp, 4
jmp 0x609eb0
mov esi, dword [esp + 0x50]
push esi
call fcn.00588960
mov ebx, dword [esp + 0x10]
add esp, 4
xor eax, eax
mov dword [esp + 0x50], edi
mov dword [esp + 0x20], eax
push eax
call fcn.00588960
add esp, 4
jmp 0x609eb0
mov edx, dword [esp + 0x3c]
push edx
call fcn.00588960
mov ebx, dword [esp + 0x10]
add esp, 4
xor eax, eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x20], eax
push eax
call fcn.00588960
add esp, 4
jmp 0x609eb0
push dword [esp + 0x40]
call fcn.00588960
mov ebx, dword [esp + 0x10]
add esp, 4
xor eax, eax
mov dword [esp + 0x40], edi
mov dword [esp + 0x20], eax
push eax
call fcn.00588960
add esp, 4
jmp 0x609eb0
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x609cb1
sub ecx, edx
cmp ecx, 3
jne 0x609d12
mov esi, edi
mov edx, ecx
mov edi, 0x7e7a50
mov al, byte [esi]
dec edx
test al, al
je 0x609cea
movzx ecx, byte [edi]
movzx eax, al
mov al, byte [eax + 0x7c4050]
cmp al, byte [ecx + 0x7c4050]
jne 0x609cea
inc esi
inc edi
test edx, edx
jg 0x609cc8
dec edx
test edx, edx
js 0x609d8f
movzx eax, byte [edi]
mov edi, dword [esp + 0x20]
movzx ecx, byte [eax + 0x7c4050]
movzx eax, byte [esi]
movzx eax, byte [eax + 0x7c4050]
sub eax, ecx
je 0x609d93
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x609d17
sub ecx, edx
cmp ecx, 4
jne 0x609d72
mov esi, edi
mov edx, ecx
mov edi, 0x7e55a4
nop
mov al, byte [esi]
dec edx
test al, al
je 0x609d52
movzx ecx, byte [edi]
movzx eax, al
mov al, byte [eax + 0x7c4050]
cmp al, byte [ecx + 0x7c4050]
jne 0x609d52
inc esi
inc edi
test edx, edx
jg 0x609d30
dec edx
test edx, edx
js 0x609d8f
movzx eax, byte [edi]
mov edi, dword [esp + 0x20]
movzx ecx, byte [eax + 0x7c4050]
movzx eax, byte [esi]
movzx eax, byte [eax + 0x7c4050]
sub eax, ecx
je 0x609d93
push edi
push 0x7e7a54
push dword [esp + 0x3c]
call fcn.00609400
mov eax, 1
add esp, 0xc
mov dword [esp + 0xc], eax
jmp 0x609d93
mov edi, dword [esp + 0x20]
mov al, byte [edi]
cmp al, 0x64
je 0x609db9
cmp al, 0x44
je 0x609db9
mov ebx, dword [esp + 0xc]
xor eax, eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x20]
push eax
call fcn.00588960
add esp, 4
jmp 0x609eb0
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0xc]
push eax
mov dword [esp + 0x74], 1
call fcn.00588960
add esp, 4
jmp 0x609eb0
mov eax, dword [esp + 0x54]
push eax
call fcn.00588960
mov ebx, dword [esp + 0x10]
add esp, 4
xor eax, eax
mov dword [esp + 0x54], edi
mov dword [esp + 0x20], eax
push eax
call fcn.00588960
add esp, 4
jmp 0x609eb0
mov eax, dword [esp + 0x44]
push eax
call fcn.00588960
mov ebx, dword [esp + 0x10]
add esp, 4
xor eax, eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x20], eax
push eax
call fcn.00588960
add esp, 4
jmp 0x609eb0
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0xc]
mov dword [eax + ecx*4], edi
xor eax, eax
inc ecx
mov dword [esp + 0x20], eax
push eax
mov dword [esp + 0x34], ecx
call fcn.00588960
add esp, 4
jmp 0x609eb0
push ebx
push 0x7e7a2c
push dword [esp + 0x3c]
call fcn.00609400
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov ebx, 1
mov dword [esp + 0xc], ebx
push eax
call fcn.00588960
add esp, 4
jmp 0x609eb0
mov ecx, ebx
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x609e80
mov eax, dword [esp + 0x10]
sub ecx, edx
inc eax
add eax, ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x10], eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x28]
mov dword [ecx + eax*4], ebx
inc eax
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x28], eax
mov dword [esp + 0x38], eax
mov edi, dword [esp + 0x6c]
mov eax, dword [esp + 0x64]
inc eax
mov dword [esp + 0x64], eax
test ebx, ebx
jne 0x60a9ab
mov ebx, dword [ebp + 0xc]
jmp 0x609970
mov ebx, dword [esp + 0x54]
test ebx, ebx
je 0x609fdc
mov edx, dword [esp + 0x3c]
push edx
call fcn.00588960
add esp, 4
push dword [esp + 0x40]
call fcn.00588960
add esp, 4
mov dword [esp + 0x3c], 0
cmp dword [esp + 0x28], 0
mov dword [esp + 0x40], 0
jne 0x609ffe
push dword [esp + 0x18]
call fcn.00588960
mov ecx, dword [esp + 0x6c]
lea eax, [esp + 0x50]
add esp, 4
mov dword [esp + 0x18], 0
push dword [esp + 0x34]
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x84]
push ebx
mov edx, dword [eax + 4]
call fcn.006095d0
mov ebx, eax
add esp, 0x14
test ebx, ebx
jne 0x609fcf
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x28], ebx
test ecx, ecx
je 0x609fbd
xor esi, esi
test ebx, ebx
jle 0x609fbd
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov edx, dword [eax + esi*4]
test edx, edx
je 0x609f8b
call fcn.0058beb0
test eax, eax
je 0x609f9a
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x44]
inc esi
cmp esi, ebx
jl 0x609f73
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x10], eax
jmp 0x609fe0
cmp esi, ebx
jge 0x609fae
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + esi*4 + 4]
mov dword [ecx + esi*4], eax
inc esi
cmp esi, ebx
jl 0x609fa2
mov eax, dword [esp + 0x4c]
dec ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x10], eax
jmp 0x609fe0
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
jmp 0x609fe4
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
jmp 0x60a9ab
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
test ebx, ebx
jne 0x609ffe
mov dword [eax], 0x7dd36c
mov dword [esp + 0x10], 8
mov dword [esp + 0x28], 1
cmp dword [esp + 0x58], 0
jne 0x60a027
push dword [esp + 0x34]
lea eax, [esp + 0x5c]
mov edx, 0x7e7a48
push eax
mov ecx, edi
call fcn.00614b10
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x60a9ab
mov ebx, dword [esp + 0x50]
mov esi, 1
test ebx, ebx
je 0x60a055
mov al, byte [ebx]
test al, al
je 0x60a055
mov edx, 2
mov ecx, ebx
cmp al, 0x2c
lea esi, [edx + 1]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
cmovne esi, edx
mov edx, esi
test al, al
jne 0x60a041
call fcn.00604dc0
test eax, eax
je 0x60a070
mov dword [esp + 0x60], 0
mov ebx, 7
jmp 0x60a9ab
lea edi, [esi + esi*2]
shl edi, 3
push 0
push edi
call fcn.00588730
add esp, 8
mov dword [esp + 0x60], eax
test eax, eax
jne 0x60a091
lea ebx, [eax + 7]
jmp 0x60a9ab
push edi
push 0
push eax
call fcn.00738a30
add esp, 0xc
test ebx, ebx
je 0x60a10b
mov eax, ebx
mov ebx, 1
mov dword [esp + 0x64], eax
cmp esi, ebx
jle 0x60a10b
mov edi, dword [esp + 0x60]
add edi, 0x18
mov edx, eax
xor ecx, ecx
mov al, byte [eax]
cmp al, 0x30
jl 0x60a151
cmp al, 0x39
jg 0x60a0e9
lea ecx, [ecx + ecx*4]
movsx eax, al
lea ecx, [ecx - 0x18]
lea ecx, [eax + ecx*2]
cmp ecx, 0x989680
jg 0x60a0e7
mov al, byte [edx + 1]
inc edx
cmp al, 0x30
jge 0x60a0c5
jmp 0x60a0e9
xor ecx, ecx
cmp edx, dword [esp + 0x64]
je 0x60a151
test ecx, ecx
jne 0x60a0fa
dec esi
dec ebx
sub edi, 0x18
jmp 0x60a0fc
mov dword [edi], ecx
inc ebx
lea eax, [edx + 1]
add edi, 0x18
mov dword [esp + 0x64], eax
cmp ebx, esi
jl 0x60a0b7
mov ecx, dword [esp + 0x28]
lea ebx, [esi + esi*2]
mov edi, dword [esp + 0x10]
shl ebx, 3
add edi, 0x120
mov dword [esp + 0xc], 0
lea eax, [ebx + ecx*4]
add eax, ecx
add eax, dword [esp + 0x78]
add eax, dword [esp + 0x48]
add edi, eax
call fcn.00604dc0
test eax, eax
je 0x60a171
mov dword [esp + 0x14], 0
mov ebx, 7
jmp 0x60a9ab
mov esi, dword [esp + 0x50]
mov ebx, 1
push esi
push 0x7e791c
push dword [esp + 0x3c]
call fcn.00609400
add esp, 0xc
jmp 0x60a9ab
push 0
push edi
call fcn.00588730
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x60a18e
mov ebx, 7
jmp 0x60a9ab
push edi
mov edi, dword [esp + 0x18]
push 0
push edi
call fcn.00738a30
mov eax, dword [esp + 0x74]
lea ecx, [edi + 0x120]
mov edx, dword [esp + 0x34]
add esp, 0xc
cmp byte [esp + 0x1f], 0x34
mov dword [edi + 0xc], eax
mov dword [edi + 0x18], edx
mov dword [edi + 0x10c], 0
mov dword [edi + 0x1c], ecx
mov eax, dword [esp + 0x58]
mov dword [edi + 0x24], eax
mov dword [edi + 0x108], 0x100000
jne 0x60a1e3
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x60a1e3
mov al, 1
jmp 0x60a1e5
xor al, al
cmp byte [esp + 0x1f], 0x34
mov byte [edi + 0xee], al
sete al
mov dword [edi + 0x30], 0xff
mov byte [edi + 0xed], al
mov byte [edi + 0xec], al
mov eax, dword [esp + 0x70]
mov byte [edi + 0xef], al
mov eax, dword [esp + 0x54]
mov dword [edi + 0x28], eax
mov eax, dword [esp + 0x44]
push ebx
push dword [esp + 0x64]
mov dword [edi + 0x2c], eax
lea eax, [ecx + edx*4]
push eax
mov dword [esp + 0x60], 0
mov dword [esp + 0x50], 0
mov dword [edi + 0x104], eax
call fcn.00737f30
add esp, 0xc
mov dword [edi + 0x100], esi
test esi, esi
jle 0x60a295
xor ecx, ecx
nop dword [eax]
nop word [eax + eax]
mov eax, dword [edi + 0x104]
lea ecx, [ecx + 0x18]
mov word [eax + ecx - 0x14], 0x101
mov dword [eax + ecx - 0xc], 0
mov dword [eax + ecx - 0x10], 0
mov dword [eax + ecx - 8], 0
mov dword [eax + ecx - 4], 0
sub esi, 1
jne 0x60a260
mov eax, dword [edi + 0x104]
mov esi, dword [esp + 0x14]
add eax, ebx
mov ebx, dword [esp + 0x74]
push dword [esp + 0x78]
mov dword [edi + 0x20], eax
mov edi, dword [esp + 0x2c]
add edi, eax
mov dword [esi + 0x14], edi
push dword [ebx + 8]
push edi
call fcn.00737f30
add edi, dword [esp + 0x84]
add esp, 0xc
mov dword [esi + 0x10], edi
push dword [esp + 0x48]
push dword [ebx + 4]
push edi
call fcn.00737f30
add edi, dword [esp + 0x54]
add esp, 0xc
mov eax, dword [esp + 0x28]
xor ebx, ebx
test eax, eax
jle 0x60a33e
nop dword [eax]
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x24]
mov dword [esp + 0x24], 0
mov ecx, dword [eax + ebx*4]
call fcn.006149f0
mov esi, dword [esp + 0x24]
test esi, esi
jle 0x60a31b
push esi
push eax
push edi
call fcn.00737f30
add esp, 0xc
mov ecx, edi
mov byte [esi + edi], 0
call fcn.00609310
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x1c]
mov dword [eax + ebx*4], edi
inc edi
mov eax, dword [esp + 0x28]
inc ebx
add edi, esi
cmp ebx, eax
jl 0x60a2f0
mov esi, ecx
xor edx, edx
mov dword [esp + 0x48], edx
test eax, eax
jle 0x60a46c
nop dword [eax]
mov eax, dword [esi + 0x1c]
lea ecx, [edx*4]
mov dword [esp + 0x24], ecx
mov edi, dword [eax + ecx]
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x60a364
xor ebx, ebx
sub edi, ecx
cmp dword [esp + 0x30], ebx
jle 0x60a45d
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov esi, dword [eax + ebx*4]
test esi, esi
je 0x60a44c
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x60a391
sub ecx, edx
cmp edi, ecx
jne 0x60a444
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
push edi
push esi
mov eax, dword [eax + 0x1c]
push dword [eax + ecx]
call fcn.0058bef0
add esp, 0xc
test eax, eax
jne 0x60a444
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x48]
mov eax, dword [eax + 0x20]
mov byte [ecx + eax], 1
cmp dword [0x851a68], 0
je 0x60a42d
mov eax, dword [0x85e410]
test eax, eax
je 0x60a3ed
push eax
call dword [0x851ab8]
add esp, 4
push esi
call dword [0x851a94]
sub dword [0x85e228], eax
add esp, 4
dec dword [0x85e24c]
push esi
call dword [0x851a8c]
mov eax, dword [0x85e410]
add esp, 4
test eax, eax
je 0x60a437
push eax
call dword [0x851ac0]
mov eax, dword [esp + 0x30]
add esp, 4
mov dword [eax + ebx*4], 0
jmp 0x60a448
push esi
call dword [0x851a8c]
add esp, 4
mov eax, dword [esp + 0x2c]
mov dword [eax + ebx*4], 0
jmp 0x60a448
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
inc ebx
cmp ebx, ecx
jl 0x60a381
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x14]
inc edx
mov dword [esp + 0x48], edx
cmp edx, dword [esp + 0x28]
jl 0x60a350
mov ebx, dword [esp + 0x30]
xor esi, esi
test ebx, ebx
jle 0x60a4ab
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + esi*4]
test eax, eax
je 0x60a49e
push eax
push 0x7e6794
push dword [esp + 0x3c]
call fcn.00609400
mov eax, 1
add esp, 0xc
mov dword [esp + 0xc], eax
jmp 0x60a4a2
mov eax, dword [esp + 0xc]
inc esi
cmp esi, ebx
jl 0x60a476
test eax, eax
jne 0x60a4f0
mov esi, dword [esp + 0x40]
xor ecx, ecx
mov edx, dword [esp + 0x3c]
test esi, esi
sete cl
xor eax, eax
test edx, edx
sete al
cmp eax, ecx
je 0x60a4f4
test edx, edx
mov dword [esp + 0xc], 1
mov ecx, 0x7e7888
mov eax, 0x7e78a4
cmovne eax, ecx
push eax
push 0x7e7940
push dword [esp + 0x3c]
call fcn.00609400
add esp, 0xc
jmp 0x60a4f4
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x14]
xor ebx, ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0x24], ebx
cmp dword [edi + 0x28], ebx
jne 0x60a5aa
test esi, esi
jne 0x60a51a
mov edi, 0x7ba3e4
jmp 0x60a529
mov ecx, esi
call fcn.00609560
mov edi, eax
mov ebx, edi
mov dword [esp + 0x24], edi
push 0x7e78c0
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.006094f0
mov eax, dword [esp + 0x20]
xor esi, esi
add esp, 0xc
cmp dword [eax + 0x18], esi
jle 0x60a579
mov ebx, eax
nop dword [eax]
mov eax, dword [ebx + 0x1c]
push dword [eax + esi*4]
lea eax, [esp + 0x14]
push esi
push edi
push 0x7e78c8
push eax
lea eax, [esp + 0x20]
push eax
call fcn.006094f0
inc esi
add esp, 0x18
cmp esi, dword [ebx + 0x18]
jl 0x60a550
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x14]
cmp dword [edi + 0x2c], 0
je 0x60a59f
push 0x7e78b0
push 0x7e78b8
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.006094f0
add esp, 0x10
push ebx
call fcn.00588960
add esp, 4
jmp 0x60a612
push 0x7e5628
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.006094f0
add esp, 0xc
xor esi, esi
cmp dword [edi + 0x18], ebx
jle 0x60a5f3
nop dword [eax + eax]
mov eax, dword [edi + 0x1c]
push dword [eax + esi*4]
lea eax, [esp + 0x14]
push 0x7e78f8
push eax
lea eax, [esp + 0x18]
push eax
call fcn.006094f0
inc esi
add esp, 0x10
cmp esi, dword [edi + 0x18]
jl 0x60a5d0
mov eax, dword [edi + 0x2c]
test eax, eax
je 0x60a612
push eax
push 0x7e78b8
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.006094f0
add esp, 0x10
mov ecx, dword [edi + 0x28]
mov edx, ecx
test ecx, ecx
jne 0x60a61e
mov edx, dword [edi + 0x14]
test ecx, ecx
mov eax, 0x7ba3e4
mov esi, 0x7e7904
cmove eax, esi
push eax
push edx
push dword [edi + 0x10]
lea eax, [esp + 0x1c]
push 0x7e78d8
push eax
lea eax, [esp + 0x20]
push eax
call fcn.006094f0
mov eax, dword [esp + 0x28]
xor ebx, ebx
mov dword [edi + 0xe0], eax
add esp, 0x18
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x38], 0
mov dword [esp + 0x24], ebx
test eax, eax
jne 0x60a670
mov edi, 0x7ba3e4
jmp 0x60a67f
mov ecx, eax
call fcn.00609560
mov edi, eax
mov ebx, edi
mov dword [esp + 0x24], edi
push 0x7e5e50
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.006094f0
mov eax, dword [esp + 0x20]
xor esi, esi
add esp, 0xc
cmp dword [eax + 0x18], esi
jle 0x60a6c5
mov ebx, eax
push edi
push 0x7e78f0
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.006094f0
inc esi
add esp, 0x10
cmp esi, dword [ebx + 0x18]
jl 0x60a6a3
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
cmp dword [esi + 0x2c], 0
je 0x60a6e6
push 0x7e7870
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.006094f0
add esp, 0xc
push ebx
call fcn.00588960
mov ebx, dword [esp + 0x10]
add esp, 4
mov eax, dword [esp + 0x38]
mov dword [esi + 0xe4], eax
test ebx, ebx
jne 0x60a9ab
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x60a849
cmp dword [esi + 0x28], 0
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0xc]
mov dword [esp + 0x24], ebx
jne 0x60a7b8
mov eax, dword [esi + 0x2c]
push 0x7e757c
mov dword [esp + 0x6c], eax
call fcn.0058b200
mov edi, eax
add esp, 4
xor esi, esi
test edi, edi
je 0x60a76b
mov ebx, dword [esp + 0x14]
cmp esi, dword [ebx + 0x18]
jge 0x60a767
mov eax, dword [ebx + 0x1c]
push dword [eax + esi*4]
push esi
push edi
push 0x7e7598
call fcn.0058b200
mov edi, eax
add esp, 0x10
inc esi
test edi, edi
jne 0x60a746
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x68]
test eax, eax
je 0x60a788
test edi, edi
je 0x60a78c
push eax
push edi
push 0x7e754c
call fcn.0058b200
add esp, 0xc
mov edi, eax
test edi, edi
jne 0x60a794
mov dword [esp + 0x10], 7
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x10]
push edi
push dword [esi + 0x14]
push dword [esi + 0x10]
push 0x7e7558
push ebx
push eax
call fcn.00609430
push edi
call fcn.00588960
add esp, 0x1c
push dword [esi + 0x14]
lea eax, [esp + 0x14]
push dword [esi + 0x10]
push 0x7e7600
push ebx
push eax
call fcn.00609430
add esp, 0x14
lea eax, [esp + 0x10]
push dword [esi + 0x14]
push dword [esi + 0x10]
push 0x7e7648
push ebx
push eax
call fcn.00609430
add esp, 0x14
cmp byte [esi + 0xee], 0
je 0x60a80c
push dword [esi + 0x14]
lea eax, [esp + 0x14]
push dword [esi + 0x10]
push 0x7e75a8
push ebx
push eax
call fcn.00609430
add esp, 0x14
cmp byte [esi + 0xed], 0
je 0x60a841
push dword [esi + 0x14]
lea eax, [esp + 0x14]
push dword [esi + 0x10]
push 0x7e77f8
push dword [esi + 0xc]
push eax
call fcn.00609430
mov ebx, dword [esp + 0x24]
add esp, 0x14
test ebx, ebx
jne 0x60a845
mov byte [esi + 0xed], 1
jmp 0x60a845
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x5c]
cmp byte [esp + 0x1f], 0x34
je 0x60a85b
test eax, eax
jne 0x60a85b
mov byte [esi + 0xed], 2
test ebx, ebx
jne 0x60a8e7
push dword [esi + 0x10]
push 0x7e75ec
call fcn.0058b200
mov edi, eax
add esp, 8
test edi, edi
jne 0x60a87e
lea ebx, [eax + 7]
jmp 0x60a8de
mov ecx, dword [esi + 0xc]
lea eax, [esp + 0x5c]
push 0
push eax
push 0
push 0
push 0xffffffffffffffff
mov edx, edi
call fcn.005deca0
mov ebx, eax
add esp, 0x14
test ebx, ebx
jne 0x60a8cd
mov esi, dword [esp + 0x5c]
push esi
call fcn.005acbd0
add esp, 4
push ebx
push esi
call fcn.005ad380
mov ecx, dword [esp + 0x1c]
push esi
mov dword [ecx + 0xf4], eax
call fcn.005abd50
mov esi, dword [esp + 0x20]
add esp, 0xc
mov ebx, eax
jmp 0x60a8de
cmp ebx, 0x17
jne 0x60a8de
mov dword [esi + 0xf4], 0x400
xor ebx, ebx
push edi
call fcn.00588960
add esp, 4
mov eax, dword [esi + 0xf4]
sub eax, 0x23
mov dword [esi + 0xe8], eax
test ebx, ebx
jne 0x60a9ab
mov eax, dword [esi + 0x2c]
mov ebx, 0x7e77a4
push 1
test eax, eax
push 1
push dword [esi + 0xc]
cmovne ebx, eax
mov dword [esp + 0x68], ebx
call fcn.005ef930
mov eax, dword [esi + 0x1c]
add esp, 0xc
push dword [eax]
push 0x7e7848
call fcn.0058b200
mov edi, eax
add esp, 8
mov esi, 1
test edi, edi
je 0x60a964
mov ebx, dword [esp + 0x14]
nop
cmp esi, dword [ebx + 0x18]
jge 0x60a960
mov eax, dword [ebx + 0x1c]
push dword [eax + esi*4]
push edi
push 0x7e7850
call fcn.0058b200
mov edi, eax
add esp, 0xc
inc esi
test edi, edi
jne 0x60a940
mov ebx, dword [esp + 0x5c]
push ebx
mov ebx, dword [esp + 0x18]
push dword [ebx + 0x14]
push edi
push 0x7e77bc
call fcn.0058b200
add esp, 0x10
mov esi, eax
test edi, edi
je 0x60a994
test esi, esi
je 0x60a994
push esi
push dword [ebx + 0xc]
call fcn.005ef220
add esp, 8
mov ebx, eax
jmp 0x60a999
mov ebx, 7
push esi
call fcn.00588960
add esp, 4
push edi
call fcn.00588960
add esp, 4
mov eax, dword [esp + 0x50]
test eax, eax
je 0x60aa0f
cmp dword [0x851a68], 0
je 0x60aa05
mov eax, dword [0x85e410]
test eax, eax
je 0x60a9cf
push eax
call dword [0x851ab8]
add esp, 4
mov esi, dword [esp + 0x50]
push esi
call dword [0x851a94]
sub dword [0x85e228], eax
add esp, 4
dec dword [0x85e24c]
push esi
call dword [0x851a8c]
mov eax, dword [0x85e410]
add esp, 4
test eax, eax
je 0x60aa14
push eax
call dword [0x851ac0]
jmp 0x60aa0c
push eax
call dword [0x851a8c]
add esp, 4
mov eax, dword [0x85e410]
mov esi, dword [esp + 0x60]
test esi, esi
je 0x60aa74
cmp dword [0x851a68], 0
je 0x60aa65
test eax, eax
je 0x60aa33
push eax
call dword [0x851ab8]
add esp, 4
push esi
call dword [0x851a94]
sub dword [0x85e228], eax
add esp, 4
dec dword [0x85e24c]
push esi
call dword [0x851a8c]
mov eax, dword [0x85e410]
add esp, 4
test eax, eax
je 0x60aa74
push eax
call dword [0x851ac0]
jmp 0x60aa6c
push esi
call dword [0x851a8c]
mov eax, dword [0x85e410]
add esp, 4
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x60aad4
cmp dword [0x851a68], 0
je 0x60aac5
test eax, eax
je 0x60aa93
push eax
call dword [0x851ab8]
add esp, 4
push esi
call dword [0x851a94]
sub dword [0x85e228], eax
add esp, 4
dec dword [0x85e24c]
push esi
call dword [0x851a8c]
mov eax, dword [0x85e410]
add esp, 4
test eax, eax
je 0x60aad4
push eax
call dword [0x851ac0]
jmp 0x60aacc
push esi
call dword [0x851a8c]
mov eax, dword [0x85e410]
add esp, 4
mov esi, dword [esp + 0x40]
test esi, esi
je 0x60ab34
cmp dword [0x851a68], 0
je 0x60ab25
test eax, eax
je 0x60aaf3
push eax
call dword [0x851ab8]
add esp, 4
push esi
call dword [0x851a94]
sub dword [0x85e228], eax
add esp, 4
dec dword [0x85e24c]
push esi
call dword [0x851a8c]
mov eax, dword [0x85e410]
add esp, 4
test eax, eax
je 0x60ab34
push eax
call dword [0x851ac0]
jmp 0x60ab2c
push esi
call dword [0x851a8c]
mov eax, dword [0x85e410]
add esp, 4
mov esi, dword [esp + 0x54]
test esi, esi
je 0x60ab94
cmp dword [0x851a68], 0
je 0x60ab85
test eax, eax
je 0x60ab53
push eax
call dword [0x851ab8]
add esp, 4
push esi
call dword [0x851a94]
sub dword [0x85e228], eax
add esp, 4
dec dword [0x85e24c]
push esi
call dword [0x851a8c]
mov eax, dword [0x85e410]
add esp, 4
test eax, eax
je 0x60ab94
push eax
call dword [0x851ac0]
jmp 0x60ab8c
push esi
call dword [0x851a8c]
mov eax, dword [0x85e410]
add esp, 4
mov esi, dword [esp + 0x44]
test esi, esi
je 0x609889
cmp dword [0x851a68], 0
je 0x60abf3
test eax, eax
je 0x60abb7
push eax
call dword [0x851ab8]
add esp, 4
push esi
call dword [0x851a94]
sub dword [0x85e228], eax
add esp, 4
dec dword [0x85e24c]
push esi
call dword [0x851a8c]
mov eax, dword [0x85e410]
add esp, 4
test eax, eax
je 0x609889
push eax
call dword [0x851ac0]
add esp, 4
jmp 0x609884
push esi
call dword [0x851a8c]
add esp, 4
jmp 0x609884
push esi
call dword [0x851a8c]
mov eax, dword [0x85e410]
add esp, 4
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
inc edi
cmp edi, edx
jl 0x6098a0
mov esi, dword [esp + 0x18]
test esi, esi
je 0x60ac82
cmp dword [0x851a68], 0
je 0x60ac73
test eax, eax
je 0x60ac41
push eax
call dword [0x851ab8]
add esp, 4
push esi
call dword [0x851a94]
sub dword [0x85e228], eax
add esp, 4
dec dword [0x85e24c]
push esi
call dword [0x851a8c]
mov eax, dword [0x85e410]
add esp, 4
test eax, eax
je 0x60ac82
push eax
call dword [0x851ac0]
jmp 0x60ac7a
push esi
call dword [0x851a8c]
mov eax, dword [0x85e410]
add esp, 4
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x60acdd
cmp dword [0x851a68], 0
je 0x60acd3
test eax, eax
je 0x60aca1
push eax
call dword [0x851ab8]
add esp, 4
push esi
call dword [0x851a94]
sub dword [0x85e228], eax
add esp, 4
dec dword [0x85e24c]
push esi
call dword [0x851a8c]
mov eax, dword [0x85e410]
add esp, 4
test eax, eax
je 0x60acdd
push eax
call dword [0x851ac0]
jmp 0x60acda
push esi
call dword [0x851a8c]
add esp, 4
mov eax, dword [esp + 0x14]
test ebx, ebx
je 0x60ad33
test eax, eax
je 0x60ad09
push eax
call fcn.00609370
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc0]
xor ecx, esp
call fcn.00735c28
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x58]
test ecx, ecx
je 0x60ad3c
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc0]
xor ecx, esp
call fcn.00735c28
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x84]
mov dword [ecx], eax
mov ecx, dword [esp + 0xcc]
mov eax, ebx
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00735c28
mov esp, ebp
pop ebp
ret