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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x6a8
mov eax, dword [0x484080]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x1d0], eax
mov eax, dword [ebp + 0x1c]
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp + 0x28]
push esi
movzx esi, word [ebp + 0x20]
mov dword [ebp - 0x188], eax
mov eax, dword [ebp + 0x2c]
push edi
mov edi, ecx
mov dword [ebp - 0x190], eax
xor eax, eax
mov dword [ebp - 0x158], edi
lea ecx, [ebp - 0x41c]
mov dword [ebp - 0x194], ebx
mov dword [ebp - 0x150], esi
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1c4], eax
mov byte [ebp - 0x170], al
call fcn.004250c8
lea ecx, [ebp - 0x64c]
call fcn.0041bff6
lea ecx, [ebp - 0x574]
call fcn.0041bff6
lea ecx, [ebp - 0x6a4]
call fcn.0041bff6
lea ecx, [ebp - 0x144]
call fcn.00438357
lea ecx, [ebp - 0x5f4]
call fcn.0042fa32
xor eax, eax
mov dword [ebp - 0x1c8], eax
mov dword [ebp - 0x178], eax
mov eax, dword [edi + 0x668]
mov dword [ebp - 0x1a8], eax
movzx eax, byte [ebx + 0x30]
shl eax, 0x10
push 0x58
or eax, 0x1000180
pop ecx
mov dword [ebx + 0x598], eax
call fcn.0040b083
test eax, eax
je 0x460bf4
mov ecx, eax
call fcn.00435372
jmp 0x460bf6
xor eax, eax
mov dword [ebp - 0x16c], eax
test eax, eax
jne 0x460c46
push 0x271
push ecx
mov ecx, 0x404780
call fcn.0040f77d
pop ecx
push edx
push eax
push 0x402068
push 3
push 1
push 0x43c
push dword [ebx + 0x34]
call fcn.0040f1b5
movzx eax, byte [edi + 0x100]
add esp, 0x20
shl eax, 0x10
or eax, 0x10000d5
mov dword [edi + 0x668], eax
jmp 0x462b70
cmp byte [ebp + 0x24], 0
jne 0x461355
test si, si
je 0x46135a
lea eax, [ebp - 0x1bc]
push eax
lea eax, [ebp - 0x17c]
push eax
lea edx, [ebp - 0x1dc]
lea ecx, [ebp - 0x168]
call fcn.0040cd77
test al, al
jne 0x460c96
movzx eax, byte [edi + 0x100]
shl eax, 0x10
or eax, 0x10000d6
mov dword [edi + 0x668], eax
jmp 0x462b1d
cmp dword [ebx + 0x30], 3
jne 0x460cef
mov ecx, dword [edi + 0x20]
lea eax, [ebp - 0x146]
push eax
lea eax, [ebp - 0x17c]
mov byte [ebp - 0x146], 0
push eax
call fcn.004096cb
test al, al
je 0x460cef
cmp byte [ebp - 0x146], 0
je 0x460cef
mov eax, dword [ebp - 0x17c]
or eax, dword [ebp - 0x178]
je 0x460cef
push 0
push dword [ebp - 0x168]
push dword [ebp - 0x178]
push dword [ebp - 0x17c]
call fcn.004833f1
jmp 0x460cfb
mov edx, dword [ebp - 0x1d8]
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1b8]
mov edi, dword [ebp - 0x1bc]
mov dword [ebp - 0x198], edi
mov dword [ebp - 0x15c], ecx
cmp ecx, edx
jb 0x460d2b
ja 0x460d1d
cmp edi, eax
jbe 0x460d2b
mov edi, eax
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x15c], edx
mov eax, 0xffff
cmp si, ax
je 0x460d6b
movzx eax, si
cmp eax, dword [ebx + 0x3c]
jbe 0x460d6b
push eax
push 0x401fec
push 0x6659
push dword [ebx + 0x34]
call fcn.0040f11b
movzx eax, word [ebx + 0x3c]
xor ecx, ecx
inc ecx
add esp, 0x10
mov dword [ebp - 0x150], ecx
cmp cx, ax
ja 0x460d6b
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x168]
push 0
mov al, byte [eax]
mov byte [ebp - 0x145], al
mov eax, ecx
add eax, 0xffffffff
mov dword [ebp - 0x1d8], eax
pop eax
push eax
push 9
push dword [ebp - 0x15c]
mov edx, eax
adc edx, 0xffffffff
shl ecx, 3
push edi
mov dword [ebp - 0x178], edx
mov dword [ebp - 0x1a4], ecx
call fcn.004833df
push 0
push 0xa
pop ecx
push ecx
push edx
push eax
call fcn.004833d3
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x14c], edx
mov edi, dword [ebx + 0x38]
xor edx, edx
mov eax, dword [ebx + 0x3c]
mov esi, dword [ebx + 0x40]
mov ecx, dword [ebx + 0x44]
shld ecx, esi, 3
lea eax, [edi + eax*4]
shl eax, 2
shl esi, 3
add eax, esi
adc edx, ecx
mov ecx, dword [ebp - 0x1d8]
add ecx, eax
mov eax, dword [ebp - 0x178]
adc eax, edx
xor esi, esi
push esi
push dword [ebp - 0x168]
push eax
push ecx
call fcn.004833f1
xor ecx, ecx
mov dword [ebp - 0x1b8], eax
cmp byte [ebp - 0x145], cl
mov eax, edi
push esi
setne cl
mov dword [ebp - 0x19c], edx
dec ecx
cdq
and ecx, 0x100
add ecx, 0x24
push ecx
push edx
push eax
call fcn.004833df
cmp byte [ebp - 0x145], 0
mov esi, eax
mov edi, edx
jne 0x460e5d
lea ecx, [ebx + 0x78]
call fcn.00434216
xor ecx, ecx
push ecx
push 0x180
push ecx
push eax
call fcn.004833df
add esi, eax
adc edi, edx
mov ecx, dword [ebp - 0x1a4]
push 0
pop edx
add ecx, esi
mov eax, edx
push edx
push dword [ebp - 0x1a4]
adc eax, edi
xor esi, esi
inc esi
sub ecx, esi
sbb eax, edx
push eax
push ecx
call fcn.004833d3
push dword [ebp - 0x14c]
mov ecx, eax
mov dword [ebp - 0x180], edx
push dword [ebp - 0x164]
mov esi, ecx
mov dword [ebp - 0x184], ecx
add esi, dword [ebp - 0x1b8]
mov eax, edx
push edx
adc eax, dword [ebp - 0x19c]
push ecx
mov dword [ebp - 0x1c0], eax
call fcn.0040acbc
test al, al
je 0x460ef0
cmp byte [ebp - 0x145], 0
jne 0x460ef0
push 0x401ef4
push 0x666a
push dword [ebx + 0x34]
call fcn.0040f11b
mov eax, dword [ebp - 0x188]
xor ecx, ecx
add esp, 0xc
inc ecx
mov byte [ebp - 0x145], cl
mov byte [eax], cl
jmp 0x460dc9
mov edi, dword [ebp - 0x158]
lea eax, [ebp - 0x1e4]
push ecx
push eax
mov ecx, dword [edi + 0x20]
call fcn.00409693
mov eax, dword [ebp - 0x1c0]
mov edx, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x164]
push eax
push esi
push edx
push ecx
mov dword [ebp - 0x178], eax
call fcn.0040ac51
test al, al
je 0x460f31
mov eax, ecx
mov ecx, edx
jmp 0x460f39
mov ecx, dword [ebp - 0x178]
mov eax, esi
push ecx
push eax
push 0
push dword [ebp - 0x168]
call fcn.004833df
mov ecx, edx
mov dword [ebp - 0x1a4], eax
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x178], ecx
cmp ecx, eax
ja 0x460f7c
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x1a4]
jb 0x460f72
cmp edx, ecx
jae 0x460f7c
sub ecx, edx
sbb eax, dword [ebp - 0x178]
jmp 0x460f80
xor eax, eax
mov ecx, eax
mov dword [ebp - 0x1e8], eax
lea eax, [ebp - 0x1ec]
push ecx
mov dword [ebp - 0x1ec], ecx
mov ecx, dword [edi + 0x20]
push eax
call fcn.00409666
xor eax, eax
mov ecx, 0xffff
inc eax
mov byte [ebp - 0x170], al
cmp word [ebp - 0x150], cx
jne 0x46128f
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x164]
push ecx
push edx
push dword [ebp - 0x180]
push dword [ebp - 0x184]
call fcn.0040acbc
push ecx
test al, al
je 0x4610a1
and dword [ebp - 0x150], 0
push ecx
mov ecx, dword [ebp - 0x198]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebp - 0x15c]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x1c0]
push ecx
push esi
call fcn.0040acbc
test al, al
je 0x46101a
push 0x401ef4
push 0x665a
jmp 0x461364
cmp byte [ebp + 0x30], 0
je 0x46102f
push 0x401ef4
push 0x6679
jmp 0x461364
mov eax, dword [ebp - 0x168]
sub esi, edx
cdq
sbb ecx, dword [ebp - 0x14c]
push edx
push eax
push ecx
push esi
call fcn.004833df
push 0
push 0x100000
push edx
push eax
call fcn.004833d3
mov esi, eax
mov eax, edx
push eax
push esi
push ecx
push ecx
mov dword [ebp - 0x178], eax
mov ecx, esp
xor eax, eax
xor edx, edx
inc eax
mov dword [ecx], eax
mov dword [ecx + 4], edx
call fcn.0040acbc
test al, al
je 0x46107f
xor eax, eax
lea esi, [eax + 1]
jmp 0x461085
mov edx, dword [ebp - 0x178]
push edx
push esi
push 0x403c40
push 0x6656
push dword [ebx + 0x34]
call fcn.0040f11b
add esp, 0x14
jmp 0x46136f
mov ecx, dword [ebp - 0x1c0]
push edx
push ecx
push esi
call fcn.0041fd47
test al, al
jne 0x461340
mov edi, dword [ebp - 0x198]
push ecx
push ecx
mov eax, esp
push ecx
push esi
mov dword [eax], edi
mov edi, dword [ebp - 0x15c]
mov dword [eax + 4], edi
call fcn.0040acbc
test al, al
je 0x4610e3
push 0x401ef4
push 0x665a
jmp 0x4610f3
cmp byte [ebp + 0x30], 0
je 0x461100
push 0x401ef4
push 0x6679
push dword [ebx + 0x34]
call fcn.0040f11b
add esp, 0xc
jmp 0x46116d
mov eax, dword [ebp - 0x168]
sub esi, edx
cdq
sbb ecx, dword [ebp - 0x14c]
push edx
push eax
push ecx
push esi
call fcn.004833df
push 0
push 0x100000
push edx
push eax
call fcn.004833d3
mov esi, eax
mov eax, edx
push eax
push esi
push ecx
push ecx
mov dword [ebp - 0x178], eax
mov ecx, esp
xor eax, eax
xor edx, edx
inc eax
mov dword [ecx], eax
mov dword [ecx + 4], edx
call fcn.0040acbc
test al, al
je 0x461150
xor eax, eax
lea esi, [eax + 1]
jmp 0x461156
mov edx, dword [ebp - 0x178]
push edx
push esi
push 0x403c40
push 0x6656
push dword [ebx + 0x34]
call fcn.0040f11b
add esp, 0x14
mov ecx, dword [ebp - 0x164]
sub ecx, dword [ebp - 0x184]
mov esi, dword [ebp - 0x14c]
sbb esi, dword [ebp - 0x180]
mov eax, dword [ebp - 0x168]
push esi
cdq
push ecx
push edx
push eax
call fcn.004833df
mov edi, dword [ebp - 0x158]
xor ecx, ecx
mov dword [ebp - 0x15c], eax
mov esi, edx
xor eax, eax
mov dword [ebp - 0x14c], esi
inc eax
mov dword [ebp - 0x164], ecx
mov edx, ecx
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x198], edx
mov dword [ebp - 0x180], ecx
cmp dword [ebx + 0x38], ecx
jbe 0x4612b7
mov eax, dword [ebx + 0x48]
mov dword [ebp - 0x184], eax
movzx eax, word [eax]
cdq
add eax, 2
push esi
push dword [ebp - 0x15c]
adc edx, ecx
shld edx, eax, 3
shl eax, 3
add dword [ebp - 0x164], eax
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x198]
adc eax, edx
push eax
push dword [ebp - 0x164]
mov dword [ebp - 0x198], eax
call fcn.0040acbc
test al, al
je 0x461242
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x164], eax
mov eax, dword [ebp - 0x150]
push 0xa
mov dword [ebp - 0x198], edx
inc eax
pop edx
mov dword [ebp - 0x150], eax
cmp ax, dx
ja 0x46126f
mov edx, dword [ebp - 0x180]
mov eax, dword [ebp - 0x184]
inc edx
add eax, 2
mov dword [ebp - 0x180], edx
mov dword [ebp - 0x184], eax
cmp edx, dword [ebx + 0x38]
jb 0x4611da
mov esi, dword [ebp - 0x150]
jmp 0x4612ac
push edx
push 0x401fec
push 0x665b
push dword [ebx + 0x34]
mov esi, ecx
mov dword [ebp - 0x150], esi
call fcn.0040f11b
add esp, 0x10
jmp 0x4612ac
mov esi, dword [ebp - 0x150]
cmp si, ax
je 0x461343
or dword [ebp - 0x15c], 0xffffffff
or dword [ebp - 0x14c], 0xffffffff
test si, si
je 0x4613af
jmp 0x4612bd
mov esi, dword [ebp - 0x150]
push dword [ebp - 0x19c]
movzx ebx, si
push dword [ebp - 0x1b8]
mov eax, ebx
cdq
mov edi, eax
mov esi, edx
mov eax, dword [ebp - 0x168]
cdq
push edx
push eax
call fcn.004833df
mov ecx, edi
add ecx, eax
mov eax, esi
push esi
push edi
adc eax, edx
push eax
push ecx
call fcn.004833d3
push ecx
push ecx
mov ecx, esp
mov esi, eax
push dword [ebp - 0x14c]
push dword [ebp - 0x15c]
or dword [ecx], 0xffffffff
or dword [ecx + 4], 0xffffffff
call fcn.0040cf55
push ebx
mov ebx, dword [ebp - 0x194]
push 0x401fec
push 0x6657
mov dword [ebp - 0x15c], esi
push dword [ebx + 0x34]
mov dword [ebp - 0x14c], edx
call fcn.0040f11b
mov edi, dword [ebp - 0x158]
add esp, 0x10
jmp 0x461387
xor eax, eax
inc eax
or dword [ebp - 0x15c], 0xffffffff
mov esi, eax
or dword [ebp - 0x14c], 0xffffffff
jmp 0x4613a9
test si, si
jne 0x46138f
push 0x401ef4
push 0x6658
push dword [ebx + 0x34]
call fcn.0040f11b
add esp, 0xc
mov esi, dword [ebp - 0x1a8]
mov dword [ebp - 0x14c], esi
mov esi, dword [ebp - 0x1ac]
mov dword [ebp - 0x15c], esi
mov esi, dword [ebp - 0x150]
jmp 0x4613af
mov eax, dword [ebp - 0x1a8]
xor esi, esi
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x150], esi
push dword [ebx + 0x38]
mov ecx, dword [ebp - 0x18c]
call fcn.00410f5f
test al, al
jne 0x461403
push 0x394
push ecx
mov ecx, 0x404780
call fcn.0040f77d
pop ecx
push edx
push eax
push 0x402068
xor eax, eax
push 3
inc eax
push eax
push 0x43c
push dword [ebx + 0x34]
call fcn.0040f1b5
movzx eax, byte [edi + 0x100]
add esp, 0x20
shl eax, 0x10
or eax, 0x10000d7
jmp 0x460c8b
movzx eax, byte [edi + 0x89]
push eax
push 2
pop eax
push eax
push 0x402260
push 3
push eax
push 0x7bd9
push dword [ebx + 0x34]
call fcn.0040f1b5
add esp, 0x1c
cmp dword [0x484058], 5
jbe 0x461462
push ecx
push ecx
mov ecx, 0x484058
call fcn.00405c65
test al, al
je 0x461462
push 2
pop eax
mov word [ebp - 0x166], ax
mov edx, 0x405361
lea eax, [ebp - 0x166]
push eax
push ecx
push ecx
mov ecx, 0x484058
call fcn.00405d22
test si, si
jne 0x46156a
or dword [ebx + 0x7b0], 0xffffffff
cmp byte [ebp + 0x24], 0
je 0x4614e5
mov ecx, dword [ebx + 0x38]
push ecx
push ecx
mov eax, esp
mov dword [eax], ecx
xor ecx, ecx
push ecx
mov dword [eax + 4], ecx
xor eax, eax
push ecx
push ecx
inc eax
lea ecx, [ebx + 0x150]
push eax
call fcn.00438434
test al, al
jne 0x4614de
push 0x3b3
push ecx
mov ecx, 0x404780
call fcn.0040f77d
pop ecx
push edx
push eax
push 0x402068
xor eax, eax
push 3
inc eax
push eax
push 0x43c
push dword [ebx + 0x34]
call fcn.0040f1b5
movzx eax, byte [edi + 0x100]
add esp, 0x20
shl eax, 0x10
or eax, 0x10000d8
jmp 0x460c8b
mov byte [ebx + 0x240], 0
lea ecx, [ebx + 0x78]
call fcn.00434216
mov edx, dword [ebx + 0x40]
mov ecx, dword [ebx + 0x44]
add edx, eax
adc ecx, 0
push ecx
push edx
push 5
mov ecx, ebx
call fcn.00457949
mov ecx, dword [0x4018e4]
mov edx, 0x4047ac
call fcn.0040ac72
mov ecx, ebx
call fcn.00454ea7
push dword [ebp - 0x190]
mov eax, dword [ebp - 0x188]
push ecx
mov ecx, edi
movzx eax, byte [eax]
push eax
push dword [ebp + 0x24]
lea eax, [ebp - 0x1c4]
push eax
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1a0]
push dword [ebp - 0x160]
push dword [ebp - 0x18c]
push ebx
call fcn.0046486c
test al, al
je 0x462b1d
xor ecx, ecx
jmp 0x46209e
movzx eax, si
lea ecx, [ebx + 0x78]
mov dword [ebx + 0x7b0], eax
call fcn.00434216
mov edi, eax
movzx eax, si
push 0
cdq
push edi
push edx
push eax
call fcn.004833df
mov esi, dword [ebx + 0x38]
xor ecx, ecx
push ecx
add esi, edi
pop edi
adc ecx, edi
add esi, eax
adc ecx, edx
push ecx
push esi
push 5
mov ecx, ebx
call fcn.00457949
mov ecx, dword [0x4018e4]
mov edx, 0x4047ac
call fcn.0040ac72
mov ecx, ebx
call fcn.00454ea7
mov ecx, dword [ebx + 0x38]
mov esi, dword [ebp - 0x16c]
push ecx
push ecx
mov eax, esp
push dword [ebp - 0x14c]
push dword [ebp - 0x15c]
mov dword [eax], ecx
mov ecx, esi
sub esp, 0xc
mov dword [eax + 4], edi
call fcn.0043544f
test al, al
jne 0x461630
push 0x417
push ecx
mov ecx, 0x404780
call fcn.0040f77d
pop ecx
push edx
push eax
push 0x402068
xor eax, eax
push 3
inc eax
push eax
push 0x43c
push dword [ebx + 0x34]
call fcn.0040f1b5
mov edi, dword [ebp - 0x158]
add esp, 0x20
movzx eax, byte [edi + 0x100]
shl eax, 0x10
or eax, 0x10000da
jmp 0x460c8b
xor eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 0x1b8], ecx
mov dword [ebp - 0x184], eax
cmp ax, word [ebp - 0x150]
ja 0x462098
mov ecx, dword [0x4018e4]
mov edx, 0x4047cc
call fcn.0040ac72
mov ecx, ebx
call fcn.00454ea7
mov ecx, esi
call fcn.004354ef
test al, al
je 0x462050
xor eax, eax
inc eax
mov byte [ebp - 0x146], al
mov eax, dword [ebp - 0x1c8]
jmp 0x4619e1
push 5
mov ecx, ebx
call fcn.004578c4
test al, al
je 0x461e02
cmp byte [ebp - 0x146], 0
mov eax, dword [ebp - 0x14c]
movzx edx, al
jne 0x4616af
test al, al
jne 0x4616df
push ecx
push ecx
mov ecx, esp
sub eax, edx
push dword [ebp - 0x160]
push ecx
and dword [ecx + 4], 0
mov dword [ecx], eax
lea ecx, [ebp - 0x41c]
push dword [ebx + 0x30]
call fcn.00425283
test al, al
je 0x461dba
mov byte [ebp - 0x146], 0
push dword [ebx + 0x30]
lea ecx, [ebp - 0x41c]
call fcn.0042533d
test al, al
je 0x461d72
mov edi, dword [ebp - 0x14c]
xor esi, esi
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0x41c]
mov dword [eax], edi
mov dword [eax + 4], esi
call fcn.0042e05a
test al, al
jne 0x46175d
push ecx
push ecx
mov eax, esp
xor ecx, ecx
inc ecx
mov dword [eax], ecx
xor ecx, ecx
push ecx
mov dword [eax + 4], ecx
push ecx
mov eax, esp
mov dword [eax + 4], ecx
lea ecx, [ebx + 0x290]
mov dword [eax], edi
call fcn.00411fa0
test al, al
jne 0x461751
push edi
push 0x401fec
push 0x659e
push dword [ebx + 0x34]
call fcn.0040f11b
add esp, 0x10
push ecx
push ecx
mov eax, esp
and dword [eax + 4], esi
jmp 0x4619cd
lea ecx, [ebp - 0x41c]
call fcn.00423040
test al, al
je 0x4619c6
mov eax, dword [ebp - 0x414]
xor ecx, ecx
inc ecx
test byte [eax + 0x16], cl
je 0x4619c6
push ecx
push ecx
mov eax, esp
mov dword [eax], ecx
xor ecx, ecx
push ecx
mov dword [eax + 4], ecx
push ecx
mov eax, esp
mov dword [eax + 4], ecx
lea ecx, [ebx + 0x410]
mov dword [eax], edi
call fcn.00411fa0
mov byte [ebp - 0x194], al
test al, al
jne 0x4617e5
mov eax, dword [ebp - 0x160]
cmp byte [eax + 0x20], 0
je 0x4617be
mov ecx, dword [eax + 0x10]
xor eax, eax
jmp 0x4617c2
xor eax, eax
mov ecx, eax
push eax
push eax
push dword [ebp - 0x190]
push dword [ebx + 0x34]
push dword [ebx + 0x30]
push ebx
push ecx
lea ecx, [ebp - 0x41c]
call fcn.00425e77
test al, al
je 0x462b17
mov eax, dword [ebp - 0x414]
xor ecx, ecx
inc ecx
mov al, byte [eax + 0x16]
shr al, 1
test cl, al
je 0x461816
push ecx
push ecx
mov eax, esp
mov dword [eax], ecx
xor ecx, ecx
push ecx
mov dword [eax + 4], ecx
push ecx
mov eax, esp
mov dword [eax + 4], ecx
lea ecx, [ebx + 0x2d8]
mov dword [eax], edi
call fcn.0041fd7a
mov ecx, dword [ebp - 0x16c]
lea eax, [ebp - 0x151]
push eax
push dword [ebp - 0x194]
lea eax, [ebp - 0x41c]
push dword [ebx + 0x34]
push eax
call fcn.004355ad
test al, al
jne 0x4619da
cmp byte [ebp - 0x151], al
je 0x461d58
mov eax, dword [ebp - 0x14c]
and dword [ebp - 0x178], esi
mov dword [ebp - 0x1c8], eax
push ecx
push ecx
mov ecx, esp
dec eax
and dword [ecx + 4], 0
mov dword [ecx], eax
mov ecx, dword [ebp - 0x16c]
call fcn.0043587f
mov ecx, dword [0x4018e4]
mov edx, 0x4047e8
call fcn.0040ac72
mov ecx, ebx
call fcn.00454ea7
xor ecx, ecx
or edi, 0xffffffff
mov esi, ecx
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x164], esi
cmp dword [ebx + 0x38], ecx
jbe 0x461d33
lea edx, [ebx + 0x50]
push ecx
push ecx
mov eax, esp
push ecx
push ecx
mov dword [eax + 4], ecx
mov dword [eax], 1
mov eax, esp
mov dword [eax + 4], ecx
mov ecx, edx
mov dword [eax], esi
call fcn.004389f5
test al, al
jne 0x461d18
push 5
mov ecx, ebx
call fcn.004578c4
test al, al
je 0x462036
mov ecx, esi
mov eax, edi
shr ecx, 8
shr eax, 8
cmp ecx, eax
je 0x461959
push ecx
push ecx
mov eax, esp
mov edi, ecx
push dword [ebp - 0x160]
shl edi, 8
xor esi, esi
push ecx
mov dword [eax], edi
lea ecx, [ebp - 0x41c]
mov dword [eax + 4], esi
push dword [ebx + 0x30]
mov dword [ebp - 0x180], edi
call fcn.00425283
test al, al
je 0x461e64
push dword [ebx + 0x30]
lea ecx, [ebp - 0x41c]
call fcn.0042533d
test al, al
je 0x461e1c
cmp dword [ebp - 0x164], edi
je 0x461953
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0x41c]
mov dword [eax], edi
mov dword [eax + 4], esi
call fcn.0042e05a
mov esi, dword [ebp - 0x164]
push dword [ebx + 0x30]
lea ecx, [ebp - 0x41c]
call fcn.0042533d
test al, al
je 0x461fee
push 0
push esi
lea ecx, [ebp - 0x41c]
call fcn.0042e02e
test al, al
jne 0x4619f5
push ecx
push ecx
mov eax, esp
xor ecx, ecx
inc ecx
mov dword [eax], ecx
xor ecx, ecx
push ecx
mov dword [eax + 4], ecx
push ecx
mov eax, esp
mov dword [eax + 4], ecx
lea ecx, [ebx + 0x290]
mov dword [eax], esi
call fcn.00411fa0
test al, al
jne 0x461d18
push esi
push 0x403c40
push 0x659e
push dword [ebx + 0x34]
call fcn.0040f11b
add esp, 0x10
jmp 0x461d18
push ecx
push ecx
mov eax, esp
mov dword [eax + 4], esi
mov ecx, dword [ebp - 0x16c]
mov dword [eax], edi
call fcn.0043587f
mov eax, dword [ebp - 0x14c]
inc eax
mov dword [ebp - 0x14c], eax
cmp eax, dword [ebx + 0x38]
jb 0x461688
jmp 0x46185e
mov edi, dword [ebp - 0x158]
cmp esi, dword [ebp - 0x1b8]
jbe 0x461a5b
push dword [ebp - 0x190]
mov eax, dword [ebp - 0x188]
mov ecx, edi
push 0
movzx eax, byte [eax]
push eax
push dword [ebp + 0x24]
lea eax, [ebp - 0x1c4]
push eax
push dword [ebp - 0x1cc]
lea eax, [ebp - 0x41c]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1a0]
push eax
push esi
push dword [ebp - 0x160]
push dword [ebp - 0x18c]
push ebx
call fcn.00462bc9
test al, al
je 0x462b1d
mov dword [ebp - 0x1b8], esi
xor ecx, ecx
mov byte [ebp - 0x145], cl
mov byte [ebp - 0x147], cl
cmp esi, 9
je 0x461d1a
cmp esi, 0xb
je 0x461d1a
push dword [ebx + 0xc]
push dword [ebx + 8]
push ecx
push ecx
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], ecx
call fcn.0040abeb
test al, al
jne 0x461d1a
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push ecx
push ecx
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], ecx
call fcn.0040abeb
test al, al
jne 0x461d1a
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push ecx
push ecx
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], ecx
call fcn.0040abeb
test al, al
jne 0x461d1a
mov dword [ebp - 0x19c], ecx
push ecx
jmp 0x461c4b
mov edx, dword [ebp - 0x160]
cmp byte [edx + 0x20], 0
je 0x461aec
mov ecx, dword [edx + 0x10]
jmp 0x461aee
xor ecx, ecx
lea eax, [ebp - 0x560]
push eax
lea eax, [ebp - 0x41c]
push eax
mov eax, dword [ebp - 0x3f4]
shr eax, 1
push eax
push dword [edx + 0x14]
push ecx
mov ecx, edi
call fcn.00437e97
push eax
push dword [edi + 0x20]
lea ecx, [ebp - 0x5f4]
call fcn.0042fc2c
test al, al
je 0x461f08
push dword [ebp - 0x190]
mov eax, dword [ebp - 0x188]
mov ecx, edi
push dword [ebx + 0x34]
push dword [ebx + 0x30]
movzx eax, byte [eax]
push eax
push dword [ebp - 0x160]
lea eax, [ebp - 0x16e]
push eax
lea eax, [ebp - 0x16d]
push eax
push dword [ebp - 0x18c]
lea eax, [ebp - 0x41c]
push dword [ebp - 0x16c]
push ebx
push eax
lea eax, [ebp - 0x5f4]
push eax
call fcn.00466f24
test al, al
je 0x461ef4
cmp byte [ebp - 0x16d], 0
jne 0x461b91
cmp byte [ebp - 0x16e], 0
je 0x461c3d
xor ecx, ecx
inc ecx
cmp dword [ebx + 0x30], ecx
je 0x461ba5
cmp dword [ebx + 0x30], 4
je 0x461ba5
cmp dword [ebx + 0x30], 3
jne 0x461bfb
lea eax, [ebp - 0x41c]
push eax
lea ecx, [ebp - 0x5f4]
call fcn.004302e0
test al, al
jne 0x461bf8
push dword [ebp - 0x5c4]
push dword [ebp - 0x404]
push 0x4040fc
push 0x65b9
push dword [ebx + 0x34]
call fcn.0040f11b
movzx eax, byte [ebx + 0x30]
add esp, 0x14
shl eax, 0x10
or eax, 0x1000064
mov dword [ebx + 0x594], 3
mov dword [ebx + 0x598], eax
xor ecx, ecx
inc ecx
cmp dword [ebx + 0x30], ecx
jne 0x461c1f
test dword [ebx + 0x64c], 0x20000
jne 0x461c1f
mov ecx, dword [edi + 0x20]
call fcn.0040970c
test al, al
je 0x461eac
xor ecx, ecx
inc ecx
cmp byte [ebp - 0x16d], 0
je 0x461c2e
mov byte [ebp - 0x145], cl
cmp byte [ebp - 0x16e], 0
je 0x461c3d
mov byte [ebp - 0x147], cl
mov eax, dword [ebp - 0x19c]
inc eax
mov dword [ebp - 0x19c], eax
push eax
push 0x90
lea eax, [ebp - 0x16f]
push eax
lea eax, [ebp - 0x574]
push eax
lea ecx, [ebp - 0x41c]
call fcn.004288fd
test al, al
jne 0x461adb
cmp byte [ebp - 0x16f], al
jne 0x461fac
mov al, byte [ebp - 0x145]
test al, al
je 0x461c94
mov ecx, dword [ebp - 0x190]
xor edx, edx
inc edx
mov byte [ecx], dl
jmp 0x461c9d
cmp byte [ebp - 0x147], 0
je 0x461ce8
xor ecx, ecx
inc ecx
cmp dword [ebx + 0x30], ecx
je 0x461cb1
cmp dword [ebx + 0x30], 4
je 0x461cb1
cmp dword [ebx + 0x30], 3
jne 0x461ceb
mov eax, dword [ebp - 0x160]
cmp byte [eax + 0x20], 0
je 0x461cc4
mov ecx, dword [eax + 0x10]
xor eax, eax
jmp 0x461cc8
xor eax, eax
mov ecx, eax
push eax
push eax
push ecx
lea ecx, [ebp - 0x41c]
call fcn.0042a125
xor ecx, ecx
test al, al
je 0x461f4a
mov al, byte [ebp - 0x145]
jmp 0x461cea
xor ecx, ecx
inc ecx
cmp dword [ebx + 0x30], ecx
jne 0x461d18
test dword [ebx + 0x64c], 0x20000
jne 0x461d18
test al, al
jne 0x461d08
cmp byte [ebp - 0x147], al
je 0x461d18
mov ecx, dword [edi + 0x20]
call fcn.0040970c
test al, al
je 0x461f64
xor ecx, ecx
mov edi, dword [ebp - 0x180]
lea edx, [ebx + 0x50]
inc esi
mov dword [ebp - 0x164], esi
cmp esi, dword [ebx + 0x38]
jb 0x4618aa
mov esi, dword [ebp - 0x184]
inc esi
mov dword [ebp - 0x184], esi
cmp si, word [ebp - 0x150]
ja 0x462098
mov esi, dword [ebp - 0x16c]
jmp 0x46164e
mov edi, dword [ebp - 0x158]
movzx eax, byte [edi + 0x100]
shl eax, 0x10
or eax, 0x10000e0
jmp 0x460c8b
push 0x450
push ecx
mov ecx, 0x404780
call fcn.0040f77d
pop ecx
push edx
push eax
push 0x402068
xor eax, eax
push 3
inc eax
push eax
push 0x43c
push dword [ebx + 0x34]
call fcn.0040f1b5
mov edi, dword [ebp - 0x158]
add esp, 0x20
movzx eax, byte [edi + 0x100]
shl eax, 0x10
or eax, 0x10000de
jmp 0x460c8b
push 0x448
push ecx
mov ecx, 0x404780
call fcn.0040f77d
pop ecx
push edx
push eax
push 0x402068
xor eax, eax
push 3
inc eax
push eax
push 0x43c
push dword [ebx + 0x34]
call fcn.0040f1b5
mov edi, dword [ebp - 0x158]
add esp, 0x20
movzx eax, byte [edi + 0x100]
shl eax, 0x10
or eax, 0x10000dd
jmp 0x460c8b
mov edi, dword [ebp - 0x158]
movzx eax, byte [edi + 0x100]
shl eax, 0x10
or eax, 0x10000dc
jmp 0x460c8b
push 0x4c1
push ecx
mov ecx, 0x404780
call fcn.0040f77d
pop ecx
push edx
push eax
push 0x402068
xor eax, eax
push 3
inc eax
push eax
push 0x43c
push dword [ebx + 0x34]
call fcn.0040f1b5
mov edi, dword [ebp - 0x158]
add esp, 0x20
movzx eax, byte [edi + 0x100]
shl eax, 0x10
or eax, 0x10000e3
jmp 0x460c8b
push 0x4bb
push ecx
mov ecx, 0x404780
call fcn.0040f77d
pop ecx
push edx
push eax
push 0x402068
xor eax, eax
push 3
inc eax
push eax
push 0x43c
push dword [ebx + 0x34]
call fcn.0040f1b5
mov edi, dword [ebp - 0x158]
add esp, 0x20
movzx eax, byte [edi + 0x100]
shl eax, 0x10
or eax, 0x10000e2
jmp 0x460c8b
cmp dword [ebx + 0x34], 0
je 0x461ee0
push 0x532
push ecx
mov ecx, 0x404780
call fcn.0040f77d
pop ecx
push edx
push eax
push 0x402068
xor eax, eax
push 3
inc eax
push eax
push 0x43c
push dword [ebx + 0x34]
call fcn.0040f1b5
add esp, 0x20
movzx eax, byte [edi + 0x100]
shl eax, 0x10
or eax, 0x10000e8
jmp 0x460c8b
movzx eax, byte [edi + 0x100]
shl eax, 0x10
or eax, 0x10000e7
jmp 0x460c8b
push 0x516
push ecx
mov ecx, 0x404780
call fcn.0040f77d
pop ecx
push edx
push eax
push 0x402068
xor eax, eax
push 3
inc eax
push eax
push 0x43c
push dword [ebx + 0x34]
call fcn.0040f1b5
movzx eax, byte [edi + 0x100]
add esp, 0x20
shl eax, 0x10
or eax, 0x10000e6
jmp 0x460c8b
movzx eax, byte [edi + 0x100]
shl eax, 0x10
or eax, 0x10000ea
mov dword [edi + 0x668], eax
jmp 0x462b1f
cmp dword [ebx + 0x34], 0
je 0x461f98
push 0x552
push ecx
mov ecx, 0x404780
call fcn.0040f77d
pop ecx
push edx
push eax
push 0x402068
xor eax, eax
push 3
inc eax
push eax
push 0x43c
push dword [ebx + 0x34]
call fcn.0040f1b5
add esp, 0x20
movzx eax, byte [edi + 0x100]
shl eax, 0x10
or eax, 0x10000eb
jmp 0x460c8b
push 0x540
push ecx
mov ecx, 0x404780
call fcn.0040f77d
pop ecx
push edx
push eax
push 0x402068
xor eax, eax
push 3
inc eax
push eax
push 0x43c
push dword [ebx + 0x34]
call fcn.0040f1b5
movzx eax, byte [edi + 0x100]
add esp, 0x20
shl eax, 0x10
or eax, 0x10000e9
jmp 0x460c8b
push 0x4cd
push ecx
mov ecx, 0x404780
call fcn.0040f77d
pop ecx
push edx
push eax
push 0x402068
xor eax, eax
push 3
inc eax
push eax
push 0x43c
push dword [ebx + 0x34]
call fcn.0040f1b5
mov edi, dword [ebp - 0x158]
add esp, 0x20
movzx eax, byte [edi + 0x100]
shl eax, 0x10
or eax, 0x10000e4
jmp 0x460c8b
mov edi, dword [ebp - 0x158]
movzx eax, byte [edi + 0x100]
shl eax, 0x10
or eax, 0x10000e1
jmp 0x460c8b
push 0x42c
push ecx
mov ecx, 0x404780
call fcn.0040f77d
pop ecx
push edx
push eax
push 0x402068
xor eax, eax
push 3
inc eax
push eax
push 0x43c
push dword [ebx + 0x34]
call fcn.0040f1b5
mov edi, dword [ebp - 0x158]
add esp, 0x20
movzx eax, byte [edi + 0x100]
shl eax, 0x10
or eax, 0x10000db
jmp 0x460c8b
mov edi, dword [ebp - 0x158]
cmp byte [ebp + 0x24], 0
je 0x462725
cmp byte [ebx + 0x240], 0
mov dword [ebx + 0x7b0], ecx
je 0x462725
mov eax, dword [0x486fc0]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x244]
mov dword [ebp - 0x54], 0x401288
mov dword [ebp - 0x50], eax
call fcn.0041bff6
lea ecx, [ebp - 0x29c]
call fcn.0041bff6
lea ecx, [ebp - 0x51c]
call fcn.004250c8
lea ecx, [ebp - 0x31c]
call fcn.0042fa32
mov ecx, dword [0x4018e4]
mov edx, 0x404818
call fcn.0040ac72
mov ecx, ebx
call fcn.00454ea7
xor ecx, ecx
mov esi, ecx
cmp dword [ebx + 0x38], ecx
jbe 0x462387
push ecx
push ecx
mov eax, esp
lea edx, [ebx + 0x150]
push ecx
push ecx
mov dword [eax + 4], ecx
mov dword [eax], 1
mov eax, esp
mov dword [eax + 4], ecx
mov ecx, edx
mov dword [eax], esi
call fcn.004389f5
test al, al
jne 0x462324
mov eax, dword [ebp - 0x188]
cmp byte [eax], 0
jne 0x462236
mov ecx, dword [ebp - 0x18c]
lea eax, [ebp - 0x54]
push eax
push esi
call fcn.0041123e
test al, al
je 0x462236
push ecx
push ecx
mov eax, esp
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
push dword [ebp - 0x10]
push dword [ebp - 0x14]
call fcn.0040cf55
test al, al
je 0x462238
push ecx
push ecx
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], ecx
lea eax, [ebp - 0x17c]
push eax
lea ecx, [ebp - 0x54]
call fcn.00411ef4
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push eax
mov dword [ebp - 0x1d8], eax
lea eax, [ebp - 0x165]
push ecx
mov dword [ebp - 0x194], ecx
lea ecx, [ebp - 0x54]
push eax
call fcn.00411d0a
test al, al
je 0x462331
mov ecx, dword [ebp - 0x18c]
push esi
push dword [ebp - 0x194]
call fcn.0041111a
test al, al
jne 0x462172
movzx eax, byte [edi + 0x100]
shl eax, 0x10
or eax, 0x10000ed
lea ecx, [ebp - 0x31c]
mov dword [edi + 0x668], eax
call fcn.0042fab5
lea ecx, [ebp - 0x51c]
call fcn.00425135
lea ecx, [ebp - 0x29c]
call fcn.0041c075
lea ecx, [ebp - 0x244]
call fcn.0041c075
lea ecx, [ebp - 0x54]
call fcn.00411a45
jmp 0x462b1d
xor ecx, ecx
push ecx
push ecx
mov eax, esp
push dword [ebp - 0x160]
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x51c]
mov dword [eax], esi
push dword [ebx + 0x30]
call fcn.004251c8
test al, al
je 0x462345
lea ecx, [ebp - 0x51c]
call fcn.0042df90
test al, al
jne 0x4622ae
push ecx
push ecx
mov eax, esp
xor ecx, ecx
inc ecx
mov dword [eax], ecx
xor ecx, ecx
push ecx
mov dword [eax + 4], ecx
push ecx
mov eax, esp
mov dword [eax + 4], ecx
lea ecx, [ebx + 0x290]
mov dword [eax], esi
call fcn.00411fa0
test al, al
jne 0x462324
push esi
push 0x403c40
push 0x659e
push dword [ebx + 0x34]
call fcn.0040f11b
add esp, 0x10
jmp 0x462324
mov eax, dword [ebx + 0x48]
xor ecx, ecx
mov word [eax + esi*2], cx
xor eax, eax
push eax
mov dword [ebp - 0x194], eax
lea ecx, [ebp - 0x51c]
push 0x30
lea eax, [ebp - 0x145]
push eax
lea eax, [ebp - 0x29c]
push eax
call fcn.004288fd
test al, al
je 0x462313
mov edi, dword [ebp - 0x194]
mov eax, dword [ebx + 0x48]
lea ecx, [ebp - 0x51c]
inc word [eax + esi*2]
inc edi
push edi
push 0x30
lea eax, [ebp - 0x145]
push eax
lea eax, [ebp - 0x29c]
push eax
call fcn.004288fd
test al, al
jne 0x4622e5
mov edi, dword [ebp - 0x158]
mov eax, dword [ebp - 0x514]
movzx ecx, word [eax + 0x12]
mov eax, dword [ebx + 0x4c]
mov word [eax + esi*2], cx
inc esi
cmp esi, dword [ebx + 0x38]
jae 0x462387
xor ecx, ecx
jmp 0x462120
movzx eax, byte [edi + 0x100]
shl eax, 0x10
or eax, 0x10000ec
jmp 0x4621f7
push 0x58d
push ecx
mov ecx, 0x404780
call fcn.0040f77d
pop ecx
push edx
push eax
push 0x402068
xor eax, eax
push 3
inc eax
push eax
push 0x43c
push dword [ebx + 0x34]
call fcn.0040f1b5
movzx eax, byte [edi + 0x100]
add esp, 0x20
shl eax, 0x10
or eax, 0x10000ee
jmp 0x4621f7
mov ecx, dword [0x4018e4]
mov edx, 0x404838
call fcn.0040ac72
mov ecx, ebx
call fcn.00454ea7
xor esi, esi
cmp dword [ebx + 0x38], esi
jbe 0x4626f1
lea ecx, [ebx + 0x50]
xor edx, edx
push ecx
push ecx
mov eax, esp
inc edx
push ecx
push ecx
and dword [eax + 4], 0
mov dword [eax], edx
mov eax, esp
and dword [eax + 4], 0
mov dword [eax], esi
call fcn.004389f5
test al, al
jne 0x4626e7
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push ecx
push ecx
mov eax, esp
and dword [eax + 4], 0
mov dword [eax], esi
call fcn.0040abeb
test al, al
jne 0x4626e7
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push ecx
push ecx
mov eax, esp
and dword [eax + 4], 0
mov dword [eax], esi
call fcn.0040abeb
test al, al
jne 0x4626e7
push dword [ebx + 0xc]
push dword [ebx + 8]
push ecx
push ecx
mov eax, esp
and dword [eax + 4], 0
mov dword [eax], esi
call fcn.0040abeb
test al, al
jne 0x4626e7
cmp esi, 9
je 0x4626e7
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0x51c]
push dword [ebp - 0x160]
and dword [eax + 4], 0
mov dword [eax], esi
push dword [ebx + 0x30]
call fcn.004251c8
test al, al
je 0x462908
lea ecx, [ebp - 0x51c]
call fcn.0042df90
test al, al
jne 0x4624aa
push ecx
push ecx
mov eax, esp
xor ecx, ecx
inc ecx
mov dword [eax], ecx
xor ecx, ecx
push ecx
mov dword [eax + 4], ecx
push ecx
mov eax, esp
mov dword [eax + 4], ecx
lea ecx, [ebx + 0x290]
mov dword [eax], esi
call fcn.00411fa0
test al, al
jne 0x4626e7
push esi
push 0x403c40
push 0x659e
push dword [ebx + 0x34]
call fcn.0040f11b
add esp, 0x10
jmp 0x4626e7
xor eax, eax
mov byte [ebp - 0x147], al
mov byte [ebp - 0x146], al
jmp 0x462617
mov edx, dword [ebp - 0x160]
cmp byte [edx + 0x20], 0
je 0x4624ce
mov ecx, dword [edx + 0x10]
jmp 0x4624d0
xor ecx, ecx
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x51c]
push eax
mov eax, dword [ebp - 0x4f4]
shr eax, 1
push eax
push dword [edx + 0x14]
push ecx
mov ecx, edi
call fcn.00437e97
push eax
push dword [edi + 0x20]
lea ecx, [ebp - 0x31c]
call fcn.0042fc2c
test al, al
je 0x462828
push dword [ebp - 0x190]
mov eax, dword [ebp - 0x188]
mov ecx, edi
push dword [ebx + 0x34]
push dword [ebx + 0x30]
movzx eax, byte [eax]
push eax
push dword [ebp - 0x160]
lea eax, [ebp - 0x151]
push eax
lea eax, [ebp - 0x165]
push eax
push dword [ebp - 0x18c]
lea eax, [ebp - 0x51c]
push ebx
push eax
lea eax, [ebp - 0x31c]
push eax
call fcn.004684d5
test al, al
je 0x462814
cmp byte [ebp - 0x165], 0
jne 0x46256d
cmp byte [ebp - 0x151], 0
je 0x462610
xor eax, eax
inc eax
cmp dword [ebx + 0x30], eax
je 0x462581
cmp dword [ebx + 0x30], 4
je 0x462581
cmp dword [ebx + 0x30], 3
jne 0x4625d7
lea eax, [ebp - 0x51c]
push eax
lea ecx, [ebp - 0x31c]
call fcn.004302e0
test al, al
jne 0x4625d4
push dword [ebp - 0x2ec]
push dword [ebp - 0x504]
push 0x4040fc
push 0x65b9
push dword [ebx + 0x34]
call fcn.0040f11b
movzx eax, byte [ebx + 0x30]
add esp, 0x14
shl eax, 0x10
or eax, 0x1000065
mov dword [ebx + 0x594], 3
mov dword [ebx + 0x598], eax
xor eax, eax
inc eax
mov byte [ebp - 0x147], al
cmp dword [ebx + 0x30], eax
jne 0x462601
test dword [ebx + 0x64c], 0x20000
jne 0x462601
mov ecx, dword [edi + 0x20]
call fcn.0040970c
test al, al
je 0x4627cc
xor eax, eax
inc eax
cmp byte [ebp - 0x151], 0
je 0x462610
mov byte [ebp - 0x146], al
mov eax, dword [ebp - 0x1a0]
inc eax
push eax
mov dword [ebp - 0x1a0], eax
lea ecx, [ebp - 0x51c]
push 0x90
lea eax, [ebp - 0x145]
push eax
lea eax, [ebp - 0x244]
push eax
call fcn.004288fd
test al, al
jne 0x4624bd
cmp byte [ebp - 0x145], al
jne 0x4628c6
mov al, byte [ebp - 0x147]
test al, al
je 0x462667
mov ecx, dword [ebp - 0x190]
xor edx, edx
inc edx
mov byte [ecx], dl
jmp 0x462670
cmp byte [ebp - 0x146], 0
je 0x4626b7
xor ecx, ecx
inc ecx
cmp dword [ebx + 0x30], ecx
je 0x462684
cmp dword [ebx + 0x30], 4
je 0x462684
cmp dword [ebx + 0x30], 3
jne 0x4626ba
mov eax, dword [ebp - 0x160]
cmp byte [eax + 0x20], 0
je 0x462697
mov ecx, dword [eax + 0x10]
xor eax, eax
jmp 0x46269b
xor eax, eax
mov ecx, eax
push eax
push eax
push ecx
lea ecx, [ebp - 0x51c]
call fcn.0042a125
test al, al
je 0x46286a
mov al, byte [ebp - 0x147]
xor ecx, ecx
inc ecx
cmp dword [ebx + 0x30], ecx
jne 0x4626e7
test dword [ebx + 0x64c], 0x20000
jne 0x4626e7
test al, al
jne 0x4626d7
cmp byte [ebp - 0x146], al
je 0x4626e7
mov ecx, dword [edi + 0x20]
call fcn.0040970c
test al, al
je 0x46287e
inc esi
cmp esi, dword [ebx + 0x38]
jb 0x4623a9
lea ecx, [ebp - 0x31c]
call fcn.0042fab5
lea ecx, [ebp - 0x51c]
call fcn.00425135
lea ecx, [ebp - 0x29c]
call fcn.0041c075
lea ecx, [ebp - 0x244]
call fcn.0041c075
lea ecx, [ebp - 0x54]
call fcn.00411a45
mov ecx, dword [0x4018e4]
mov edx, 0x404868
call fcn.0040ac72
mov ecx, ebx
call fcn.00454ea7
mov ecx, dword [ebp - 0x16c]
mov eax, dword [ecx]
xor ecx, ecx
inc ecx
push ecx
mov esi, dword [eax]
mov ecx, esi
call dword [0x488254]
mov ecx, dword [ebp - 0x16c]
call esi
xor ecx, ecx
mov esi, ecx
mov dword [ebp - 0x16c], ecx
cmp dword [ebx + 0x38], ecx
jbe 0x462a07
mov eax, dword [ebx + 0x4c]
cmp word [eax + esi*2], cx
je 0x4629fd
push ecx
push ecx
mov eax, esp
push dword [ebp - 0x160]
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x41c]
mov dword [eax], esi
push dword [ebx + 0x30]
call fcn.004251c8
test al, al
je 0x462a7c
lea ecx, [ebp - 0x41c]
call fcn.0042df90
test al, al
jne 0x46294a
movzx eax, byte [edi + 0x100]
shl eax, 0x10
or eax, 0x10000f9
mov dword [edi + 0x668], eax
jmp 0x4629fb
cmp dword [ebx + 0x34], 0
je 0x462800
push 0x5fa
push ecx
mov ecx, 0x404780
call fcn.0040f77d
pop ecx
push edx
push eax
push 0x402068
xor eax, eax
push 3
inc eax
push eax
push 0x43c
push dword [ebx + 0x34]
call fcn.0040f1b5
add esp, 0x20
movzx eax, byte [edi + 0x100]
shl eax, 0x10
or eax, 0x10000f3
jmp 0x4621f7
movzx eax, byte [edi + 0x100]
shl eax, 0x10
or eax, 0x10000f2
jmp 0x4621f7
push 0x5e0
push ecx
mov ecx, 0x404780
call fcn.0040f77d
pop ecx
push edx
push eax
push 0x402068
xor eax, eax
push 3
inc eax
push eax
push 0x43c
push dword [ebx + 0x34]
call fcn.0040f1b5
movzx eax, byte [edi + 0x100]
add esp, 0x20
shl eax, 0x10
or eax, 0x10000f1
jmp 0x4621f7
movzx eax, byte [edi + 0x100]
shl eax, 0x10
or eax, 0x10000f5
jmp 0x4621f7
cmp dword [ebx + 0x34], 0
je 0x4628b2
push 0x617
push ecx
mov ecx, 0x404780
call fcn.0040f77d
pop ecx
push edx
push eax
push 0x402068
xor eax, eax
push 3
inc eax
push eax
push 0x43c
push dword [ebx + 0x34]
call fcn.0040f1b5
add esp, 0x20
movzx eax, byte [edi + 0x100]
shl eax, 0x10
or eax, 0x10000f6
jmp 0x4621f7
push 0x605
push ecx
mov ecx, 0x404780
call fcn.0040f77d
pop ecx
push edx
push eax
push 0x402068
xor eax, eax
push 3
inc eax
push eax
push 0x43c
push dword [ebx + 0x34]
call fcn.0040f1b5
movzx eax, byte [edi + 0x100]
add esp, 0x20
shl eax, 0x10
or eax, 0x10000f4
jmp 0x4621f7
push 0x5c2
push ecx
mov ecx, 0x404780
call fcn.0040f77d
pop ecx
push edx
push eax
push 0x402068
xor eax, eax
push 3
inc eax
push eax
push 0x43c
push dword [ebx + 0x34]
call fcn.0040f1b5
movzx eax, byte [edi + 0x100]
add esp, 0x20
shl eax, 0x10
or eax, 0x10000ef
jmp 0x4621f7
mov eax, dword [ebx + 0x4c]
lea ecx, [ebx + 0x3c8]
push ecx
push ecx
movsx edx, word [eax + esi*2]
mov eax, dword [ebp - 0x414]
movzx eax, word [eax + 0x12]
cmp eax, edx
mov eax, esp
mov dword [eax], esi
jne 0x4629ba
and dword [eax + 4], 0
call fcn.00411a86
test al, al
jne 0x4629c7
push 0x647
push ecx
mov ecx, 0x404780
call fcn.0040f77d
pop ecx
push edx
push eax
push 0x402068
xor eax, eax
push 3
inc eax
push eax
push 0x43c
push dword [ebx + 0x34]
call fcn.0040f1b5
movzx eax, byte [edi + 0x100]
add esp, 0x20
shl eax, 0x10
or eax, 0x10000fa
jmp 0x462ab9
and dword [eax + 4], 0
call fcn.00411ca9
test al, al
je 0x462a3d
mov eax, dword [ebx + 0x4c]
mov ecx, dword [ebp - 0x414]
mov ax, word [eax + esi*2]
sub word [ecx + 0x12], ax
cmp dword [ebx + 0x30], 3
je 0x4629fb
xor eax, eax
inc eax
cmp dword [ebx + 0x30], eax
je 0x4629ec
cmp dword [ebx + 0x30], 4
jne 0x4629fb
lea ecx, [ebp - 0x41c]
call fcn.0042e0e3
test al, al
je 0x462a2c
xor ecx, ecx
inc esi
cmp esi, dword [ebx + 0x38]
jb 0x46276d
push 5
mov ecx, ebx
call fcn.00454bb6
test al, al
jne 0x462ac1
movzx eax, byte [edi + 0x100]
shl eax, 0x10
or eax, 0x10000f7
jmp 0x462ab9
movzx eax, byte [edi + 0x100]
shl eax, 0x10
or eax, 0x10000fc
jmp 0x462ab9
push 0x64d
push ecx
mov ecx, 0x404780
call fcn.0040f77d
pop ecx
push edx
push eax
push 0x402068
xor eax, eax
push 3
inc eax
push eax
push 0x43c
push dword [ebx + 0x34]
call fcn.0040f1b5
movzx eax, byte [edi + 0x100]
add esp, 0x20
shl eax, 0x10
or eax, 0x10000fb
jmp 0x462ab9
push 0x636
push ecx
mov ecx, 0x404780
call fcn.0040f77d
pop ecx
push edx
push eax
push 0x402068
xor eax, eax
push 3
inc eax
push eax
push 0x43c
push dword [ebx + 0x34]
call fcn.0040f1b5
movzx eax, byte [edi + 0x100]
add esp, 0x20
shl eax, 0x10
or eax, 0x10000f8
mov dword [edi + 0x668], eax
jmp 0x462b3b
cmp dword [ebx + 0x30], 3
jne 0x462acf
mov eax, dword [ebx + 0x820]
jmp 0x462ad2
mov eax, dword [ebx + 0x34]
push 0x401ef4
push 3
push 2
pop ecx
push ecx
push 0x65dd
push eax
call fcn.0040f1b5
add esp, 0x14
mov ecx, ebx
push 5
call fcn.00454c54
xor ecx, ecx
inc ecx
cmp dword [ebp - 0x1c4], 0
je 0x462b0f
cmp dword [ebx + 0x594], 3
je 0x462b0f
mov dword [ebx + 0x594], ecx
mov byte [ebp - 0x1b0], cl
jmp 0x462b20
mov edi, dword [ebp - 0x158]
xor ecx, ecx
inc ecx
mov ebx, dword [ebp - 0x16c]
test ebx, ebx
je 0x462b3b
mov eax, dword [ebx]
push ecx
mov esi, dword [eax]
mov ecx, esi
call dword [0x488254]
mov ecx, ebx
call esi
cmp byte [ebp - 0x170], 0
je 0x462b54
push ecx
mov ecx, dword [edi + 0x20]
lea eax, [ebp - 0x1e4]
push eax
call fcn.00409666
mov eax, dword [ebp - 0x1b0]
test al, al
je 0x462b6a
mov ecx, dword [ebp - 0x1a8]
mov dword [edi + 0x668], ecx
mov dword [ebp - 0x1b0], eax
lea ecx, [ebp - 0x5f4]
call fcn.0042fab5
lea ecx, [ebp - 0x144]
call fcn.004383d5
lea ecx, [ebp - 0x6a4]
call fcn.0041c075
lea ecx, [ebp - 0x574]
call fcn.0041c075
lea ecx, [ebp - 0x64c]
call fcn.0041c075
lea ecx, [ebp - 0x41c]
call fcn.00425135
mov ecx, dword [ebp - 8]
mov al, byte [ebp - 0x1b0]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.00482bc8
leave
ret 0x2c