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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1184
call fcn.00483403
mov eax, dword [0x484080]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x438], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x448], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x454], eax
mov eax, dword [ebp + 0x40]
push ebx
mov dword [ebp - 0x4b4], eax
mov ebx, ecx
mov eax, dword [0x486fc0]
lea ecx, [ebp - 0x430]
push esi
mov esi, dword [ebp + 0x38]
mov dword [ebp - 0x14c], eax
xor eax, eax
push edi
mov dword [ebp - 0x464], ebx
mov dword [ebp - 0x46c], esi
mov dword [ebp - 0x150], 0x401288
mov dword [ebp - 0x4c0], eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], eax
call fcn.00434718
lea ecx, [ebp - 0xac8]
call fcn.004358be
lea ecx, [ebp - 0x6c8]
call fcn.004250c8
mov eax, dword [0x4870d0]
lea ecx, [ebp - 0x1028]
mov dword [ebp - 0x6c8], 0x4015f8
mov dword [ebp - 0x6c4], eax
call fcn.00423059
lea ecx, [ebp - 0xe20]
call fcn.00423b61
lea ecx, [ebp - 0x9c8]
call fcn.00423cd1
lea ecx, [ebp - 0xd20]
call fcn.004334d1
lea ecx, [ebp - 0x8c8]
call fcn.004250c8
lea ecx, [ebp - 0xf20]
call fcn.004250c8
lea ecx, [ebp - 0x7c8]
call fcn.004250c8
lea ecx, [ebp - 0x1128]
call fcn.004250c8
lea ecx, [ebp - 0x5a0]
call fcn.0042fa32
lea ecx, [ebp - 0x1180]
call fcn.0041bff6
lea ecx, [ebp - 0xb20]
call fcn.0041bff6
lea ecx, [ebp - 0x5b8]
call fcn.004079f3
lea ecx, [ebp - 0xc20]
call fcn.0043600f
mov eax, dword [0x487128]
mov dword [ebp - 0x4e4], eax
xor eax, eax
mov dword [ebp - 0x4e0], eax
mov dword [ebp - 0x4dc], eax
mov eax, dword [ebp + 0x10]
shr eax, 1
mov dword [ebp - 0x48c], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x434], eax
mov dword [ebp - 0x4e8], 0x401744
mov eax, dword [eax]
mov edi, dword [eax + 0x14]
lea eax, [ebp - 0x4d8]
mov ecx, edi
push eax
call dword [0x488254]
mov ecx, dword [ebp - 0x434]
call edi
cmp byte [ebp + 0x30], 0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
jne 0x45dbc0
add ecx, 0xffffffff
adc edx, 0xffffffff
push ecx
push ecx
mov eax, esp
mov dword [ebp - 0x44c], edx
xor edi, edi
mov dword [ebp - 0x468], ecx
mov dword [eax], edi
mov dword [eax + 4], edi
push dword [ebx + 0x7c]
push dword [ebx + 0x78]
call fcn.0040cf55
cmp byte [ebp + 0x30], 0
jne 0x45dbee
mov dword [ebx + 0x78], ecx
mov dword [ebx + 0x7c], edx
cmp byte [ebp + 0x2c], 0
mov dword [ebp - 0x4bc], 1
jne 0x45de21
mov eax, dword [ebx + 0x44]
xor ecx, ecx
push esi
mov dword [eax + 3], ecx
mov dword [eax + 7], ecx
mov eax, dword [ebx]
mov esi, dword [eax + 0x38]
mov ecx, esi
call dword [0x488254]
mov ecx, ebx
call esi
mov edi, dword [ebx + 0x20]
mov eax, dword [edi]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
mov ecx, eax
call fcn.0040b083
mov dword [ebp - 0x434], eax
test eax, eax
jne 0x45dd97
mov ebx, dword [ebp - 0x46c]
xor ecx, ecx
push 3
push ecx
push 0x801
mov eax, dword [ebx]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x488254]
mov ecx, ebx
call esi
push 0x401ef4
push ebx
call fcn.0040f0f5
pop ecx
pop ecx
xor eax, eax
mov byte [ebp - 0x4bc], al
lea ecx, [ebp - 0x4e8]
call fcn.00436795
lea ecx, [ebp - 0xc20]
mov dword [ebp - 0xc20], 0x4015f8
call fcn.00425135
lea ecx, [ebp - 0x5b8]
call fcn.00407a45
lea ecx, [ebp - 0xb20]
call fcn.0041c075
lea ecx, [ebp - 0x1180]
call fcn.0041c075
lea ecx, [ebp - 0x5a0]
call fcn.0042fab5
lea ecx, [ebp - 0x1128]
call fcn.00425135
lea ecx, [ebp - 0x7c8]
call fcn.00425135
lea ecx, [ebp - 0xf20]
call fcn.00425135
lea ecx, [ebp - 0x8c8]
call fcn.00425135
lea ecx, [ebp - 0xd20]
mov dword [ebp - 0xd20], 0x4015f8
call fcn.00425135
lea ecx, [ebp - 0x9c8]
mov dword [ebp - 0x9c8], 0x4015f8
call fcn.00425135
lea ecx, [ebp - 0xe20]
mov dword [ebp - 0xe20], 0x4015f8
call fcn.00425135
lea ecx, [ebp - 0x1028]
call fcn.004230a5
lea ecx, [ebp - 0x6c8]
mov dword [ebp - 0x6c8], 0x4015f8
call fcn.00425135
lea ecx, [ebp - 0xac8]
mov dword [ebp - 0xac8], 0x4015f8
call fcn.00425135
lea ecx, [ebp - 0x430]
call fcn.004347a5
lea ecx, [ebp - 0x150]
call fcn.00411a45
mov ecx, dword [ebp - 4]
mov al, byte [ebp - 0x4bc]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.00482bc8
leave
ret 0x40
mov edi, dword [ebx + 0x20]
mov eax, dword [edi]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
mov esi, dword [ebp - 0x434]
push eax
xor eax, eax
push eax
push esi
call fcn.0048341b
xor edi, edi
add esp, 0xc
inc edi
push ecx
push ecx
mov eax, esp
xor ecx, ecx
push esi
push 1
mov dword [eax], edi
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 0x20]
call fcn.004095e4
inc edi
cmp edi, 0x20
jb 0x45ddc1
mov edi, dword [ebx + 0x20]
mov eax, dword [edi]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
mov ecx, eax
mov esi, dword [ebp - 0x434]
xor edx, edx
mov eax, 0x8000
div ecx
mov ecx, eax
push ecx
push ecx
mov eax, esp
push esi
push 1
mov dword [eax], ecx
xor ecx, ecx
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 0x20]
call fcn.004095e4
mov ecx, esi
call fcn.0040b1df
xor eax, eax
mov dword [ebp - 0x4f4], eax
mov dword [ebp - 0x4f0], eax
mov dword [ebp - 0x4ec], eax
lea eax, [ebp - 0x4d0]
push eax
call dword [0x4880bc]
mov ecx, dword [ebp - 0x4d0]
mov eax, dword [ebp - 0x4cc]
mov dword [ebp - 0x500], ecx
mov dword [ebp - 0x508], ecx
mov dword [ebp - 0x510], ecx
mov dword [ebp - 0x518], ecx
lea ecx, [ebp - 0x4e8]
mov dword [ebp - 0x4fc], eax
mov dword [ebp - 0x504], eax
mov dword [ebp - 0x50c], eax
mov dword [ebp - 0x514], eax
mov dword [ebp - 0x4f8], 6
call fcn.004368d9
test al, al
je 0x45dc76
mov edi, dword [ebx + 0x20]
mov eax, dword [edi]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
mov edi, eax
mov ecx, 0x200000
mov eax, dword [ebp - 0x448]
imul edi, eax
mov dword [ebp - 0x43c], edi
cmp edi, ecx
jbe 0x45defa
mov edi, dword [ebx + 0x20]
mov dword [ebp - 0x43c], ecx
mov eax, dword [edi]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
mov ecx, eax
mov edi, dword [ebp - 0x43c]
mov eax, 0x200000
xor edx, edx
div ecx
mov dword [ebp - 0x448], eax
xor ecx, ecx
push ecx
push eax
push dword [ebp - 0x44c]
push dword [ebp - 0x468]
call fcn.004833d3
mov dword [ebp - 0x47c], eax
mov eax, 0x2000
mov dword [ebp - 0x484], edx
xor edx, edx
div edi
mov ecx, eax
mov dword [ebp - 0x468], ecx
test edx, edx
je 0x45df37
inc ecx
mov dword [ebp - 0x468], ecx
mov esi, dword [ebp - 0x438]
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], ecx
mov dword [eax + 4], ecx
mov ecx, esi
call fcn.0041fd7a
lea ecx, [ebp - 0x150]
call fcn.00411a5d
test al, al
je 0x45dc48
mov ebx, dword [ebp - 0x454]
xor edx, edx
mov edi, edx
push dword [ebx + 0x44]
push dword [ebx + 0x40]
push ecx
push ecx
mov eax, esp
mov dword [eax], edi
mov dword [eax + 4], edx
call fcn.0040ac51
push ecx
push ecx
test al, al
mov eax, esp
mov dword [eax + 4], edx
je 0x45e01e
mov dword [eax], edi
mov ecx, ebx
lea eax, [ebp - 0x4d8]
push eax
call fcn.00411ef4
xor ecx, ecx
push ecx
push dword [ebp - 0x448]
push dword [eax + 4]
push dword [eax]
call fcn.004833d3
push dword [ebp - 0x484]
mov ecx, eax
mov dword [ebp - 0x454], edx
push dword [ebp - 0x47c]
mov dword [ebp - 0x478], ecx
push edx
push ecx
call fcn.0040ac51
test al, al
je 0x45e016
push edx
push ecx
lea eax, [ebp - 0x491]
push eax
lea ecx, [ebp - 0x150]
call fcn.00411b62
push ecx
push ecx
mov eax, esp
xor ecx, ecx
push dword [ebp - 0x454]
push dword [ebp - 0x478]
mov dword [eax + 4], ecx
mov ecx, esi
mov dword [eax], 1
call fcn.0041fc1e
inc edi
xor edx, edx
jmp 0x45df75
mov ecx, dword [ebp - 0x468]
push ecx
mov dword [eax], ecx
push ecx
mov eax, esp
mov ecx, esi
mov dword [eax], edx
mov dword [eax + 4], edx
call fcn.004389f5
mov ebx, dword [ebp - 0x464]
mov edi, dword [ebp - 0x43c]
test al, al
je 0x45dc76
push ecx
push ecx
mov ecx, dword [ebp - 0x468]
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], ecx
mov dword [eax + 4], ecx
mov ecx, esi
call fcn.0041fc1e
cmp dword [ebp + 0x18], 0
jne 0x45e07a
mov eax, dword [ebx + 0xbec]
mov dword [ebp + 0x18], eax
mov eax, dword [ebp + 0x10]
xor edx, edx
shl eax, 4
mov dword [ebp - 0x4d4], eax
dec eax
add eax, edi
div edi
xor edx, edx
mov dword [ebp - 0x434], eax
imul eax, edi
push 7
pop ecx
push ecx
push ecx
div dword [ebp + 0x10]
xor edx, edx
mov dword [ebp - 0x454], ecx
add eax, ecx
mov ecx, esp
shr eax, 3
dec eax
add eax, edi
div edi
xor edx, edx
mov dword [ecx], edx
mov dword [ecx + 4], edx
push dword [ebx + 0x94]
mov dword [ebp - 0x44c], eax
push dword [ebx + 0x90]
call fcn.0040cf55
test al, al
je 0x45e151
push ecx
push ecx
mov eax, esp
mov dword [eax], edx
mov dword [eax + 4], edx
push dword [ebx + 0x9c]
push dword [ebx + 0x98]
call fcn.0040cf55
test al, al
je 0x45e151
push dword [ebx + 0x9c]
mov ecx, esi
push dword [ebx + 0x98]
push dword [ebx + 0x94]
push dword [ebx + 0x90]
call fcn.0041fd7a
mov eax, dword [ebp + 0x18]
xor edx, edx
dec eax
mov ecx, dword [ebx + 0x94]
add eax, edi
div edi
mov edx, dword [ebx + 0x90]
mov esi, eax
xor eax, eax
add esi, dword [ebp - 0x44c]
mov edi, eax
add edx, esi
push eax
adc ecx, edi
mov dword [ebp - 0x460], edx
add esi, dword [ebp - 0x434]
pop edx
mov dword [ebp - 0x45c], ecx
adc edi, edx
jmp 0x45e15d
mov edi, dword [ebp - 0x4cc]
mov esi, dword [ebp - 0x4d0]
push ecx
push ecx
mov eax, esp
mov dword [ebp - 0x474], esi
mov dword [ebp - 0x470], edi
mov dword [eax], edx
mov dword [eax + 4], edx
push dword [ebx + 0x94]
push dword [ebx + 0x90]
call fcn.0040abeb
test al, al
jne 0x45e1c0
push ecx
push ecx
mov eax, esp
mov dword [eax], edx
mov dword [eax + 4], edx
push dword [ebx + 0x9c]
push dword [ebx + 0x98]
call fcn.0040abeb
test al, al
jne 0x45e1c0
push edi
push esi
push dword [ebx + 0x9c]
push dword [ebx + 0x98]
call fcn.0040ac51
test al, al
je 0x45e385
push ecx
push ecx
mov eax, esp
mov dword [eax], edx
mov dword [eax + 4], edx
push dword [ebx + 0x94]
push dword [ebx + 0x90]
call fcn.0040cf55
test al, al
je 0x45e247
mov edi, dword [ebp - 0x46c]
push 3
push edx
push 0x75f7
mov eax, dword [edi]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
push dword [ebp - 0x470]
xor eax, eax
push dword [ebp - 0x474]
push eax
push dword [ebp - 0x43c]
call fcn.004833df
push 0
pop ecx
xor esi, esi
inc esi
sub eax, esi
push ecx
push 0x100000
sbb edx, ecx
push edx
push eax
call fcn.004833d3
push 0
pop ecx
add eax, esi
adc edx, ecx
push edx
push eax
push 0x403dfc
push edi
call fcn.0040f0f5
add esp, 0x10
xor edx, edx
cmp byte [ebp + 0x30], 0
mov dword [ebx + 0x98], edx
mov dword [ebx + 0x9c], edx
mov dword [ebx + 0x90], edx
mov dword [ebx + 0x94], edx
jne 0x45e385
mov edi, dword [ebx + 0x20]
mov eax, dword [edi]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
mov ecx, eax
xor edx, edx
mov eax, 0x80000000
div ecx
push ecx
push ecx
mov ecx, esp
mov dword [ecx], eax
xor eax, eax
mov dword [ecx + 4], eax
lea ecx, [ebp - 0x4a0]
mov edi, dword [ebx + 0x20]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
push dword [eax + 4]
push dword [eax]
call fcn.0040ac51
mov esi, dword [ebx + 0x20]
mov edi, dword [esi]
test al, al
je 0x45e304
mov ecx, dword [edi + 0x14]
lea eax, [ebp - 0x4a0]
push eax
call dword [0x488254]
mov ecx, esi
call dword [edi + 0x14]
xor esi, esi
push esi
push 3
push dword [eax + 4]
push dword [eax]
call fcn.004833d3
push esi
push dword [ebp - 0x448]
push edx
push eax
call fcn.004833d3
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x45c], edx
jmp 0x45e385
mov ecx, dword [edi + 0xc]
call dword [0x488254]
mov ecx, esi
call dword [edi + 0xc]
xor ecx, ecx
push ecx
push eax
push 1
push 0x80000000
call fcn.004833f1
mov edi, dword [ebp - 0x464]
mov ebx, edx
mov dword [ebp - 0x484], eax
lea eax, [ebp - 0x4a0]
push eax
mov edi, dword [edi + 0x20]
mov esi, dword [edi]
mov ecx, dword [esi + 0x14]
call dword [0x488254]
mov ecx, edi
call dword [esi + 0x14]
push ebx
push dword [ebp - 0x484]
push dword [eax + 4]
push dword [eax]
call fcn.0040ac51
mov ebx, dword [ebp - 0x464]
xor edx, edx
test al, al
mov eax, 0x40000000
jne 0x45e371
mov eax, 0xc0000000
div dword [ebp - 0x43c]
mov dword [ebp - 0x460], eax
xor eax, eax
mov dword [ebp - 0x45c], eax
mov ecx, dword [ebp + 0x10]
xor edx, edx
mov eax, dword [ebp - 0x43c]
push 0
pop esi
push esi
lea eax, [eax + ecx*4]
mov edi, dword [ebx + 0x20]
dec eax
div dword [ebp - 0x43c]
mov ecx, eax
mov dword [ebp - 0x440], eax
add ecx, dword [ebp - 0x468]
pop eax
adc esi, eax
mov dword [ebp - 0x49c], ecx
mov eax, dword [ebp - 0x43c]
xor edx, edx
add eax, 0x1ffff
mov dword [ebp - 0x51c], esi
div dword [ebp - 0x43c]
mov edx, dword [edi]
add eax, ecx
mov dword [ebp - 0x478], eax
push 0
pop eax
adc eax, esi
mov esi, dword [edx + 0x14]
mov dword [ebp - 0x4b8], eax
mov ecx, esi
lea eax, [ebp - 0x488]
push eax
call dword [0x488254]
mov ecx, edi
call esi
xor ecx, ecx
push ecx
push dword [ebp - 0x448]
push dword [eax + 4]
push dword [eax]
call fcn.004833d3
push 7
pop esi
push 0
pop ecx
add eax, esi
push ecx
push 8
adc edx, ecx
push edx
push eax
call fcn.004833d3
add eax, esi
push 0
pop ecx
adc edx, ecx
and eax, 0xfffffff8
mov dword [ebp - 0x484], edx
test edx, edx
jne 0x45dc76
mov esi, dword [ebp - 0x43c]
dec eax
add eax, esi
div esi
xor edx, edx
mov ecx, eax
mov eax, dword [ebp + 0x18]
dec eax
mov dword [ebp - 0x484], ecx
add eax, esi
div esi
cmp byte [ebp + 0x30], 0
mov edi, eax
push 0
je 0x45e4f3
xor edx, edx
lea eax, [esi + 0x9ff]
div esi
pop ecx
add eax, dword [ebp - 0x478]
mov dword [ebp - 0x470], eax
adc ecx, dword [ebp - 0x4b8]
add eax, edi
push 0
mov edi, ecx
mov dword [ebp - 0x474], ecx
pop edx
adc edi, edx
mov dword [ebp - 0x464], eax
cmp dword [ebp - 0x48c], 0x468
mov dword [ebp - 0x47c], edi
jae 0x45e4c9
mov ecx, dword [ebp + 0x14]
add ecx, 0x467
mov eax, ecx
div dword [ebp + 0x14]
lea eax, [esi - 1]
sub ecx, edx
xor edx, edx
add eax, ecx
div esi
xor edx, edx
mov ecx, eax
jmp 0x45e4cb
mov ecx, edx
xor eax, eax
add ecx, dword [ebp - 0x484]
adc eax, edx
add ecx, dword [ebp - 0x44c]
adc eax, edx
add ecx, dword [ebp - 0x464]
mov dword [ebp - 0x460], ecx
adc eax, edi
mov dword [ebp - 0x45c], eax
jmp 0x45e528
mov eax, dword [ebp - 0x460]
sub eax, ecx
mov ecx, dword [ebp - 0x45c]
pop edx
sbb ecx, edx
sub eax, dword [ebp - 0x44c]
mov dword [ebp - 0x464], eax
sbb ecx, edx
sub eax, edi
mov dword [ebp - 0x47c], ecx
sbb ecx, edx
mov dword [ebp - 0x470], eax
mov dword [ebp - 0x474], ecx
mov esi, dword [ebp - 0x438]
xor edi, edi
push ecx
push ecx
mov ecx, dword [ebp - 0x434]
mov eax, esp
inc edi
mov dword [eax], ecx
mov ecx, esi
mov dword [eax + 4], edx
lea eax, [ebp - 0x460]
push dword [ebp - 0x45c]
push dword [ebp - 0x460]
push edi
push eax
call fcn.00438af3
test al, al
je 0x45dc76
push 5
pop ecx
push ecx
xor eax, eax
mov word [ebp - 0x44a], cx
push 0x403dac
lea ecx, [ebp - 0x5b8]
mov word [ebp - 0x44c], ax
call fcn.0040750f
test al, al
je 0x45dc76
lea eax, [ebp - 0x5b8]
push eax
push dword [ebp - 0x48c]
lea eax, [ebp - 0x4e8]
push dword [ebp + 0x14]
lea ecx, [ebp - 0x5a0]
push edi
push eax
push esi
push dword [ebp - 0x448]
push dword [ebx + 0x20]
push 0x30
call fcn.0042fe95
test al, al
je 0x45dc76
mov edi, dword [ebp - 0x46c]
xor ecx, ecx
push ecx
push ecx
push 0x427
mov eax, dword [edi]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
push 0x401ef4
push edi
call fcn.0040f0f5
pop ecx
pop ecx
test al, al
je 0x45dc76
push 0x100
xor esi, esi
lea eax, [ebp - 0x108]
push esi
push eax
call fcn.0048341b
mov eax, dword [ebp - 0x44c]
mov ecx, 0x404774
add esp, 0xc
mov dword [ebp - 0x108], 5
mov dword [ebp - 0x104], eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x45e630
push 0xbc
sub ecx, edx
mov byte [ebp - 0xc7], 3
lea eax, [ebp - 0xc6]
sar ecx, 1
push esi
push eax
mov byte [ebp - 0xc8], cl
call fcn.0048341b
movzx eax, byte [ebp - 0xc8]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebp - 0xc6]
push 0x404774
push eax
call fcn.0048340f
mov eax, dword [ebx + 0x20]
add esp, 0xc
cmp byte [ebp + 0x30], 0
mov dword [ebp - 0x48c], eax
mov eax, dword [eax]
mov esi, dword [eax + 0x14]
mov ecx, esi
je 0x45e6b1
lea eax, [ebp - 0x5c0]
push eax
call dword [0x488254]
mov ecx, dword [ebp - 0x48c]
call esi
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x45e6d1
lea eax, [ebp - 0x4b0]
push eax
call dword [0x488254]
mov ecx, dword [ebp - 0x48c]
call esi
mov ecx, dword [eax]
mov eax, dword [eax + 4]
add ecx, 0xffffffff
adc eax, 0xffffffff
mov esi, dword [ebp - 0x438]
push eax
push ecx
push dword [ebp - 0x45c]
xor eax, eax
lea ecx, [ebp - 0x430]
push dword [ebp - 0x460]
push eax
lea eax, [ebp - 0x4e8]
push eax
push esi
push dword [ebp + 0x10]
push dword [ebp - 0x448]
push dword [ebx + 0x20]
push 1
call fcn.00434803
test al, al
je 0x45dc76
push esi
lea eax, [ebp - 0x518]
push eax
push dword [ebp - 0x434]
lea ecx, [ebp - 0x430]
call fcn.00434922
test al, al
je 0x45dc76
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x430]
call fcn.0042800b
test al, al
je 0x45dc76
push esi
push 2
lea ecx, [ebp - 0x430]
call fcn.004280fc
test al, al
je 0x45dc76
mov ax, word [ebp - 0x414]
mov word [ebp - 0x48c], ax
mov eax, dword [ebp - 0x428]
mov ax, word [eax + 0x10]
mov word [ebp - 0x48a], ax
lea eax, [ebp - 0x108]
push dword [ebp - 0x48c]
push dword [ebp - 0x418]
push ecx
push eax
movzx eax, byte [ebp - 0xc8]
lea ecx, [ebp - 0x5a0]
lea eax, [eax*2 + 0x42]
push eax
call fcn.004300bf
test al, al
je 0x45dc76
mov eax, dword [ebp - 0x44c]
mov ecx, 0x40474c
mov dword [ebp - 0x108], 5
mov dword [ebp - 0x104], eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x4c0]
jne 0x45e7d5
xor eax, eax
mov byte [ebp - 0xc7], 3
push 0xbc
push eax
sub ecx, edx
lea eax, [ebp - 0xc6]
sar ecx, 1
push eax
mov byte [ebp - 0xc8], cl
call fcn.0048341b
movzx eax, byte [ebp - 0xc8]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebp - 0xc6]
push 0x40474c
push eax
call fcn.0048340f
movzx eax, byte [ebp - 0x1b8]
lea ecx, [ebp - 0x1d8]
add esp, 0xc
neg eax
sbb eax, eax
and eax, ecx
lea ecx, [ebp - 0xd20]
push eax
push 1
call fcn.004334ed
test al, al
je 0x45dc76
push dword [ebp - 0x474]
lea eax, [ebp - 0x518]
push dword [ebp - 0x470]
lea ecx, [ebp - 0xd20]
push esi
push dword [ebp + 0x18]
push eax
call fcn.0043350f
test al, al
je 0x45dc76
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0xd20]
call fcn.0042800b
test al, al
je 0x45dc76
push esi
push 2
lea ecx, [ebp - 0xd20]
call fcn.004280fc
test al, al
je 0x45dc76
mov ax, word [ebp - 0xd04]
mov word [ebp - 0x4c0], ax
mov eax, dword [ebp - 0xd18]
mov ax, word [eax + 0x10]
mov word [ebp - 0x4be], ax
lea eax, [ebp - 0x108]
push dword [ebp - 0x4c0]
push dword [ebp - 0xd08]
push ecx
push eax
movzx eax, byte [ebp - 0xc8]
lea ecx, [ebp - 0x5a0]
lea eax, [eax*2 + 0x42]
push eax
call fcn.004300bf
test al, al
je 0x45dc76
xor eax, eax
lea ecx, [ebp - 0xd20]
push eax
lea eax, [ebp - 0x5a0]
push eax
push esi
call fcn.0042a125
test al, al
je 0x45dc76
mov eax, dword [edi]
xor ecx, ecx
push ecx
push ecx
push 0x427
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
push 0x401ef4
push edi
call fcn.0040f0f5
pop ecx
pop ecx
test al, al
je 0x45dc76
mov eax, dword [ebp - 0x44c]
mov ecx, 0x404760
mov dword [ebp - 0x108], 5
xor esi, esi
mov dword [ebp - 0x104], eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x45e96f
push 0xbc
sub ecx, edx
mov byte [ebp - 0xc7], 3
lea eax, [ebp - 0xc6]
sar ecx, 1
push esi
push eax
mov byte [ebp - 0xc8], cl
call fcn.0048341b
movzx eax, byte [ebp - 0xc8]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebp - 0xc6]
push 0x404760
push eax
call fcn.0048340f
mov cl, byte [ebp - 0x1b8]
add esp, 4
mov eax, esp
xor edx, edx
inc edx
mov dword [eax], edx
mov dword [eax + 4], esi
movzx eax, cl
lea ecx, [ebp - 0x1d8]
neg eax
sbb eax, eax
and eax, ecx
lea ecx, [ebp - 0xac8]
push eax
push edx
call fcn.004251c8
test al, al
je 0x45dc76
push esi
push dword [ebp - 0x468]
mov esi, dword [ebp - 0x438]
lea eax, [ebp - 0x518]
push esi
push dword [ebp - 0x440]
lea ecx, [ebp - 0xac8]
push eax
call fcn.004358fc
test al, al
je 0x45dc76
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0xac8]
call fcn.0042800b
test al, al
je 0x45dc76
push esi
push 2
lea ecx, [ebp - 0xac8]
call fcn.004280fc
test al, al
je 0x45dc76
mov ax, word [ebp - 0xaac]
mov word [ebp - 0x440], ax
mov eax, dword [ebp - 0xac0]
mov ax, word [eax + 0x10]
mov word [ebp - 0x43e], ax
lea eax, [ebp - 0x108]
push dword [ebp - 0x440]
push dword [ebp - 0xab0]
push ecx
push eax
movzx eax, byte [ebp - 0xc8]
lea ecx, [ebp - 0x5a0]
lea eax, [eax*2 + 0x42]
push eax
call fcn.004300bf
test al, al
je 0x45dc76
xor eax, eax
lea ecx, [ebp - 0xac8]
push eax
lea eax, [ebp - 0x5a0]
push eax
push esi
call fcn.0042a125
test al, al
je 0x45dc76
mov eax, dword [edi]
xor ecx, ecx
push ecx
push ecx
push 0x427
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
push 0x401ef4
push edi
call fcn.0040f0f5
pop ecx
pop ecx
test al, al
je 0x45dc76
mov eax, dword [ebp - 0x44c]
mov edi, 0x40473c
mov ecx, edi
mov dword [ebp - 0x108], 5
mov dword [ebp - 0x104], eax
xor esi, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x45eb14
push 0xbc
sub ecx, edx
mov byte [ebp - 0xc7], 3
lea eax, [ebp - 0xc6]
sar ecx, 1
push esi
push eax
mov byte [ebp - 0xc8], cl
call fcn.0048341b
movzx eax, byte [ebp - 0xc8]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebp - 0xc6]
push edi
push eax
call fcn.0048340f
xor eax, eax
lea edi, [ebp - 0x4b0]
stosd dword es:[edi], eax
add esp, 0xc
xor ecx, ecx
stosd dword es:[edi], eax
push 4
pop edx
stosd dword es:[edi], eax
xor eax, eax
inc eax
mov byte [ebp - 0x4a7], 2
mov byte [ebp - 0x4a8], al
cmp byte [ebp + 0x20], cl
jne 0x45eb87
mov cx, dx
cmp byte [ebp + 0x24], 0
mov edx, 0x80
jne 0x45eb95
or cx, dx
cmp byte [ebp + 0x28], 0
jne 0x45eba3
mov edx, 0x400
or cx, dx
cmp byte [ebp + 0x44], 0
mov edx, 0x1000
je 0x45ebb1
or cx, dx
cmp byte [ebp + 0x30], 0
je 0x45ebbd
or dword [ebp - 0x4ac], eax
or cx, word [ebp + 0x34]
xor eax, eax
push eax
push eax
push 0x70
push 0xc
lea eax, [ebp - 0x4b0]
mov word [ebp - 0x4a6], cx
push eax
push dword [ebp - 0x448]
lea ecx, [ebp - 0xb20]
push dword [ebx + 0x20]
call fcn.0041c0f8
test al, al
je 0x45dc76
mov eax, dword [ebp - 0x4b4]
test eax, eax
je 0x45ec13
push 1
xor ecx, ecx
push ecx
push ecx
push 0xffffffffffffffff
push ecx
mov ecx, eax
call fcn.004076a8
mov edi, eax
xor esi, esi
jmp 0x45ec17
xor esi, esi
mov edi, esi
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0x1d8]
mov dword [eax], 3
mov dword [eax + 4], esi
movzx eax, byte [ebp - 0x1b8]
neg eax
sbb eax, eax
and eax, ecx
lea ecx, [ebp - 0x7c8]
push eax
push 1
call fcn.004251c8
test al, al
je 0x45dc76
push esi
lea eax, [ebp - 0x518]
push eax
lea ecx, [ebp - 0x7c8]
call fcn.004255dc
test al, al
je 0x45dc76
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x7c8]
call fcn.0042800b
test al, al
je 0x45dc76
mov esi, dword [ebp - 0x438]
lea ecx, [ebp - 0x7c8]
push esi
push 3
call fcn.004280fc
test al, al
je 0x45dc76
push ecx
push ecx
lea ecx, [ebp - 0x7c8]
call fcn.0042c745
test al, al
je 0x45dc76
test edi, edi
je 0x45ecdc
mov eax, dword [ebp - 0x4b4]
push ecx
push esi
mov eax, dword [eax + 0xc]
add eax, eax
push eax
push edi
push ecx
push 0x60
lea ecx, [ebp - 0x7c8]
call fcn.0042806c
test al, al
je 0x45dc76
xor eax, eax
lea ecx, [ebp - 0xb20]
push eax
lea eax, [ebp - 0x7c8]
push eax
call fcn.0041cca0
test al, al
je 0x45dc76
mov ax, word [ebp - 0x7ac]
mov word [ebp - 0x440], ax
mov eax, dword [ebp - 0x7c0]
mov ax, word [eax + 0x10]
mov word [ebp - 0x43e], ax
lea eax, [ebp - 0x108]
push dword [ebp - 0x440]
push dword [ebp - 0x7b0]
push ecx
push eax
movzx eax, byte [ebp - 0xc8]
lea ecx, [ebp - 0x5a0]
lea eax, [eax*2 + 0x42]
push eax
call fcn.004300bf
test al, al
je 0x45dc76
xor eax, eax
lea ecx, [ebp - 0x7c8]
push eax
lea eax, [ebp - 0x5a0]
push eax
push esi
call fcn.0042a125
test al, al
je 0x45dc76
test edi, edi
je 0x45ed77
mov ecx, edi
call fcn.0040b1df
mov edi, dword [ebp - 0x46c]
xor ecx, ecx
push ecx
push ecx
push 0x427
mov eax, dword [edi]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
push 0x401ef4
push edi
call fcn.0040f0f5
pop ecx
pop ecx
test al, al
je 0x45dc76
mov eax, dword [ebp - 0x44c]
mov ecx, 0x404728
mov dword [ebp - 0x108], 5
xor esi, esi
mov dword [ebp - 0x104], eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x45edcc
push 0xbc
sub ecx, edx
mov byte [ebp - 0xc7], 3
lea eax, [ebp - 0xc6]
sar ecx, 1
push esi
push eax
mov byte [ebp - 0xc8], cl
call fcn.0048341b
movzx eax, byte [ebp - 0xc8]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebp - 0xc6]
push 0x404728
push eax
call fcn.0048340f
mov cl, byte [ebp - 0x1b8]
add esp, 4
mov eax, esp
xor edx, edx
inc edx
mov byte [ebp - 0x5c8], dl
mov dword [eax], 4
mov dword [eax + 4], esi
movzx eax, cl
lea ecx, [ebp - 0x1d8]
neg eax
sbb eax, eax
and eax, ecx
lea ecx, [ebp - 0x6c8]
push eax
push edx
call fcn.004251c8
test al, al
je 0x45dc76
push dword [ebp - 0x4b8]
mov esi, dword [ebp - 0x438]
lea eax, [ebp - 0x518]
push dword [ebp - 0x478]
lea ecx, [ebp - 0x6c8]
push esi
push eax
call fcn.0041b96f
test al, al
je 0x45dc76
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x6c8]
call fcn.0042800b
test al, al
je 0x45dc76
push esi
push 2
lea ecx, [ebp - 0x6c8]
call fcn.004280fc
test al, al
je 0x45dc76
mov ax, word [ebp - 0x6ac]
mov word [ebp - 0x440], ax
mov eax, dword [ebp - 0x6c0]
mov ax, word [eax + 0x10]
mov word [ebp - 0x43e], ax
lea eax, [ebp - 0x108]
push dword [ebp - 0x440]
push dword [ebp - 0x6b0]
push ecx
push eax
movzx eax, byte [ebp - 0xc8]
lea ecx, [ebp - 0x5a0]
lea eax, [eax*2 + 0x42]
push eax
call fcn.004300bf
test al, al
je 0x45dc76
xor eax, eax
lea ecx, [ebp - 0x6c8]
push eax
lea eax, [ebp - 0x5a0]
push eax
push esi
call fcn.0042a125
test al, al
je 0x45dc76
mov eax, dword [edi]
xor ecx, ecx
push ecx
push ecx
push 0x427
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
push 0x401ef4
push edi
call fcn.0040f0f5
pop ecx
pop ecx
test al, al
je 0x45dc76
mov eax, dword [ebp - 0x44c]
mov ecx, 0x404714
mov dword [ebp - 0x108], 5
xor esi, esi
mov dword [ebp - 0x104], eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x45ef78
push 0xbc
sub ecx, edx
mov byte [ebp - 0xc7], 3
lea eax, [ebp - 0xc6]
sar ecx, 1
push esi
push eax
mov byte [ebp - 0xc8], cl
call fcn.0048341b
movzx eax, byte [ebp - 0xc8]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebp - 0xc6]
push 0x404714
push eax
call fcn.0048340f
movzx eax, byte [ebp - 0x1b8]
lea ecx, [ebp - 0x1d8]
add esp, 0xc
neg eax
sbb eax, eax
and eax, ecx
lea ecx, [ebp - 0xe20]
push eax
push 1
call fcn.00423b7d
test al, al
je 0x45dc76
push dword [ebp - 0x47c]
mov esi, dword [ebp - 0x438]
lea eax, [ebp - 0x518]
push dword [ebp - 0x464]
lea ecx, [ebp - 0xe20]
push esi
push dword [ebp - 0x484]
push eax
call fcn.00423b9f
test al, al
je 0x45dc76
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0xe20]
call fcn.0042800b
test al, al
je 0x45dc76
push esi
push 2
lea ecx, [ebp - 0xe20]
call fcn.004280fc
test al, al
je 0x45dc76
mov ax, word [ebp - 0xe04]
mov word [ebp - 0x440], ax
mov eax, dword [ebp - 0xe18]
mov ax, word [eax + 0x10]
mov word [ebp - 0x43e], ax
lea eax, [ebp - 0x108]
push dword [ebp - 0x440]
push dword [ebp - 0xe08]
push ecx
push eax
movzx eax, byte [ebp - 0xc8]
lea ecx, [ebp - 0x5a0]
lea eax, [eax*2 + 0x42]
push eax
call fcn.004300bf
test al, al
je 0x45dc76
xor eax, eax
lea ecx, [ebp - 0xe20]
push eax
lea eax, [ebp - 0x5a0]
push eax
push esi
call fcn.0042a125
test al, al
je 0x45dc76
mov eax, dword [edi]
xor ecx, ecx
push ecx
push ecx
push 0x427
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
push 0x401ef4
push edi
call fcn.0040f0f5
pop ecx
pop ecx
test al, al
je 0x45dc76
mov eax, dword [ebp - 0x44c]
mov ecx, 0x404708
mov dword [ebp - 0x108], 5
xor esi, esi
mov dword [ebp - 0x104], eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x45f115
push 0xbc
sub ecx, edx
mov byte [ebp - 0xc7], 3
lea eax, [ebp - 0xc6]
sar ecx, 1
push esi
push eax
mov byte [ebp - 0xc8], cl
call fcn.0048341b
movzx eax, byte [ebp - 0xc8]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebp - 0xc6]
push 0x404708
push eax
call fcn.0048340f
mov cl, byte [ebp - 0x1b8]
add esp, 4
mov eax, esp
mov dword [eax], 7
mov dword [eax + 4], esi
movzx eax, cl
lea ecx, [ebp - 0x1d8]
neg eax
sbb eax, eax
and eax, ecx
lea ecx, [ebp - 0x9c8]
push eax
push 1
call fcn.004251c8
test al, al
je 0x45dc76
push esi
lea eax, [ebp - 0x518]
push eax
lea ecx, [ebp - 0x9c8]
call fcn.004255dc
test al, al
je 0x45dc76
push esi
lea ecx, [ebp - 0x9c8]
call fcn.00423d0f
test al, al
je 0x45dc76
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x9c8]
call fcn.0042800b
test al, al
je 0x45dc76
mov esi, dword [ebp - 0x438]
lea ecx, [ebp - 0x9c8]
push esi
push 2
call fcn.004280fc
test al, al
je 0x45dc76
mov ax, word [ebp - 0x9ac]
mov word [ebp - 0x440], ax
mov eax, dword [ebp - 0x9c0]
mov ax, word [eax + 0x10]
mov word [ebp - 0x43e], ax
lea eax, [ebp - 0x108]
push dword [ebp - 0x440]
push dword [ebp - 0x9b0]
push ecx
push eax
movzx eax, byte [ebp - 0xc8]
lea ecx, [ebp - 0x5a0]
lea eax, [eax*2 + 0x42]
push eax
call fcn.004300bf
test al, al
je 0x45dc76
xor eax, eax
lea ecx, [ebp - 0x9c8]
push eax
lea eax, [ebp - 0x5a0]
push eax
push esi
call fcn.0042a125
test al, al
je 0x45dc76
mov eax, dword [edi]
xor ecx, ecx
push ecx
push ecx
push 0x427
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
push 0x401ef4
push edi
call fcn.0040f0f5
pop ecx
pop ecx
test al, al
je 0x45dc76
mov eax, dword [ebp - 0x44c]
mov ecx, 0x4046f4
mov dword [ebp - 0x108], 5
xor esi, esi
mov dword [ebp - 0x104], eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x45f2c1
push 0xbc
sub ecx, edx
mov byte [ebp - 0xc7], 3
lea eax, [ebp - 0xc6]
sar ecx, 1
push esi
push eax
mov byte [ebp - 0xc8], cl
call fcn.0048341b
movzx eax, byte [ebp - 0xc8]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebp - 0xc6]
push 0x4046f4
push eax
call fcn.0048340f
movzx eax, byte [ebp - 0x1b8]
lea ecx, [ebp - 0x1d8]
add esp, 0xc
neg eax
sbb eax, eax
and eax, ecx
lea ecx, [ebp - 0x1028]
push eax
push 1
call fcn.004230eb
test al, al
je 0x45dc76
mov esi, dword [ebp - 0x438]
lea eax, [ebp - 0x150]
push eax
push esi
lea eax, [ebp - 0x518]
push eax
lea ecx, [ebp - 0x1028]
call fcn.0042311a
test al, al
je 0x45dc76
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x1028]
call fcn.0042800b
test al, al
je 0x45dc76
push esi
push 2
lea ecx, [ebp - 0x1028]
call fcn.004280fc
test al, al
je 0x45dc76
mov ax, word [ebp - 0x100c]
mov word [ebp - 0x440], ax
mov eax, dword [ebp - 0x1020]
mov ax, word [eax + 0x10]
mov word [ebp - 0x43e], ax
lea eax, [ebp - 0x108]
push dword [ebp - 0x440]
push dword [ebp - 0x1010]
push ecx
push eax
movzx eax, byte [ebp - 0xc8]
lea ecx, [ebp - 0x5a0]
lea eax, [eax*2 + 0x42]
push eax
call fcn.004300bf
test al, al
je 0x45dc76
lea eax, [ebp - 0x5a0]
push eax
push esi
lea ecx, [ebp - 0x1028]
call fcn.0042360b
test al, al
je 0x45dc76
mov eax, dword [edi]
xor ecx, ecx
push ecx
push ecx
push 0x427
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
push 0x401ef4
push edi
call fcn.0040f0f5
pop ecx
pop ecx
test al, al
je 0x45dc76
mov eax, dword [ebp - 0x44c]
mov ecx, 0x404724
mov dword [ebp - 0x108], 5
xor esi, esi
mov dword [ebp - 0x104], eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x45f450
push 0xbc
sub ecx, edx
mov byte [ebp - 0xc7], 3
lea eax, [ebp - 0xc6]
sar ecx, 1
push esi
push eax
mov byte [ebp - 0xc8], cl
call fcn.0048341b
movzx eax, byte [ebp - 0xc8]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebp - 0xc6]
push 0x404724
push eax
call fcn.0048340f
add esp, 0xc
cmp byte [ebp + 0x2c], 0
jne 0x45f4b1
mov eax, dword [ebx + 0x20]
cmp dword [eax + 0xe8], 0xc
je 0x45f4bb
mov dword [ebp - 0x454], 1
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0x1d8]
mov dword [eax], 5
mov dword [eax + 4], esi
movzx eax, byte [ebp - 0x1b8]
neg eax
sbb eax, eax
and eax, ecx
lea ecx, [ebp - 0x8c8]
push eax
push 1
call fcn.004251c8
test al, al
je 0x45dc76
push 2
lea eax, [ebp - 0x518]
push eax
lea ecx, [ebp - 0x8c8]
call fcn.004255dc
test al, al
je 0x45dc76
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x8c8]
call fcn.0042800b
test al, al
je 0x45dc76
mov esi, dword [ebp - 0x438]
lea ecx, [ebp - 0x8c8]
push esi
push dword [ebp - 0x454]
call fcn.004280fc
test al, al
je 0x45dc76
mov ax, word [ebp - 0x8ac]
mov word [ebp - 0x440], ax
mov eax, dword [ebp - 0x8c0]
mov ax, word [eax + 0x10]
mov word [ebp - 0x43e], ax
lea eax, [ebp - 0x108]
push dword [ebp - 0x440]
push dword [ebp - 0x8b0]
push ecx
push eax
movzx eax, byte [ebp - 0xc8]
lea ecx, [ebp - 0x5a0]
lea eax, [eax*2 + 0x42]
push eax
call fcn.004300bf
test al, al
je 0x45dc76
xor eax, eax
lea ecx, [ebp - 0x8c8]
push eax
lea eax, [ebp - 0x5a0]
push eax
push esi
call fcn.0042a125
test al, al
je 0x45dc76
mov eax, dword [edi]
xor ecx, ecx
push ecx
push ecx
push 0x427
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
push 0x401ef4
push edi
call fcn.0040f0f5
pop ecx
pop ecx
test al, al
je 0x45dc76
mov eax, dword [ebp - 0x44c]
mov ecx, 0x4046e4
mov dword [ebp - 0x108], 5
xor esi, esi
mov dword [ebp - 0x104], eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x45f609
push 0xbc
sub ecx, edx
mov byte [ebp - 0xc7], 3
lea eax, [ebp - 0xc6]
sar ecx, 1
push esi
push eax
mov byte [ebp - 0xc8], cl
call fcn.0048341b
movzx eax, byte [ebp - 0xc8]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebp - 0xc6]
push 0x4046e4
push eax
call fcn.0048340f
pop ecx
mov eax, esp
lea ecx, [ebp - 0x1d8]
mov dword [eax], 9
mov dword [eax + 4], esi
movzx eax, byte [ebp - 0x1b8]
neg eax
sbb eax, eax
and eax, ecx
lea ecx, [ebp - 0xf20]
push eax
push 1
call fcn.004251c8
test al, al
je 0x45dc76
push esi
lea eax, [ebp - 0x518]
push eax
lea ecx, [ebp - 0xf20]
call fcn.004255dc
test al, al
je 0x45dc76
push ecx
push ecx
lea ecx, [ebp - 0xf20]
call fcn.0042c745
test al, al
je 0x45dc76
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0xf20]
call fcn.0042800b
test al, al
je 0x45dc76
mov esi, dword [ebp - 0x438]
lea ecx, [ebp - 0xf20]
push esi
push 3
call fcn.004280fc
test al, al
je 0x45dc76
mov ax, word [ebp - 0xf04]
mov word [ebp - 0x440], ax
mov eax, dword [ebp - 0xf18]
mov ax, word [eax + 0x10]
mov word [ebp - 0x43e], ax
lea eax, [ebp - 0x108]
push dword [ebp - 0x440]
push dword [ebp - 0xf08]
push ecx
push eax
movzx eax, byte [ebp - 0xc8]
lea ecx, [ebp - 0x5a0]
lea eax, [eax*2 + 0x42]
push eax
call fcn.004300bf
test al, al
je 0x45dc76
xor eax, eax
lea ecx, [ebp - 0xf20]
push eax
lea eax, [ebp - 0x5a0]
push eax
push esi
call fcn.0042a125
test al, al
je 0x45dc76
mov eax, dword [edi]
xor ecx, ecx
push ecx
push ecx
push 0x427
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
push 0x401ef4
push edi
call fcn.0040f0f5
pop ecx
pop ecx
test al, al
je 0x45dc76
mov eax, dword [ebp - 0x44c]
mov ecx, 0x4046d4
mov dword [ebp - 0x108], 5
xor esi, esi
mov dword [ebp - 0x104], eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x45f7b2
push 0xbc
sub ecx, edx
mov byte [ebp - 0xc7], 3
lea eax, [ebp - 0xc6]
sar ecx, 1
push esi
push eax
mov byte [ebp - 0xc8], cl
call fcn.0048341b
movzx eax, byte [ebp - 0xc8]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebp - 0xc6]
push 0x4046d4
push eax
call fcn.0048340f
movzx eax, byte [ebp - 0x1b8]
lea ecx, [ebp - 0x1d8]
add esp, 0xc
neg eax
sbb eax, eax
and eax, ecx
lea ecx, [ebp - 0xc20]
push eax
push 1
call fcn.0043602b
test al, al
je 0x45dc76
push dword [ebp - 0x51c]
mov esi, dword [ebp - 0x438]
lea eax, [ebp - 0x4e8]
push dword [ebp - 0x49c]
lea ecx, [ebp - 0xc20]
push esi
push eax
lea eax, [ebp - 0x518]
push eax
call fcn.0043604d
test al, al
je 0x45dc76
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0xc20]
call fcn.0042800b
test al, al
je 0x45dc76
push esi
push 2
lea ecx, [ebp - 0xc20]
call fcn.004280fc
test al, al
je 0x45dc76
mov ax, word [ebp - 0xc04]
mov word [ebp - 0x49c], ax
mov eax, dword [ebp - 0xc18]
mov ax, word [eax + 0x10]
mov word [ebp - 0x49a], ax
lea eax, [ebp - 0x108]
push dword [ebp - 0x49c]
push dword [ebp - 0xc08]
push ecx
push eax
movzx eax, byte [ebp - 0xc8]
lea ecx, [ebp - 0x5a0]
lea eax, [eax*2 + 0x42]
push eax
call fcn.004300bf
test al, al
je 0x45dc76
xor eax, eax
lea ecx, [ebp - 0xc20]
push eax
lea eax, [ebp - 0x5a0]
push eax
push esi
call fcn.0042a125
test al, al
je 0x45dc76
mov eax, dword [ebp - 0x43c]
cmp eax, dword [ebp - 0x4d4]
jbe 0x45f91a
dec eax
xor edx, edx
add eax, dword [ebp + 0x10]
div dword [ebp + 0x10]
jmp 0x45f91d
push 0x10
pop eax
push 0xb
pop ecx
mov dword [ebp - 0x454], eax
mov dword [ebp - 0x434], ecx
cmp eax, ecx
jbe 0x45f9f9
push ecx
push ecx
mov eax, esp
mov dword [eax], ecx
xor ecx, ecx
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x1d8]
movzx eax, byte [ebp - 0x1b8]
neg eax
sbb eax, eax
and eax, ecx
lea ecx, [ebp - 0x1128]
push eax
push 1
call fcn.004251c8
test al, al
je 0x45dc76
xor eax, eax
lea ecx, [ebp - 0x1128]
push eax
lea eax, [ebp - 0x518]
push eax
call fcn.004255dc
test al, al
je 0x45dc76
push ecx
push ecx
lea ecx, [ebp - 0x1128]
call fcn.0042c745
test al, al
je 0x45dc76
push esi
push 3
lea ecx, [ebp - 0x1128]
call fcn.004280fc
test al, al
je 0x45dc76
cmp dword [ebp - 0x434], 0x10
jb 0x45f9c8
mov eax, dword [ebp - 0x1120]
mov ecx, 0xfffe
and word [eax + 0x16], cx
xor eax, eax
lea ecx, [ebp - 0x1128]
push eax
push eax
push esi
call fcn.0042a125
test al, al
je 0x45dc76
mov ecx, dword [ebp - 0x434]
inc ecx
mov dword [ebp - 0x434], ecx
cmp ecx, dword [ebp - 0x454]
jb 0x45f934
lea eax, [ebp - 0x8c8]
push eax
lea ecx, [ebp - 0x5a0]
call fcn.004302e0
test al, al
je 0x45dc76
xor eax, eax
lea ecx, [ebp - 0x8c8]
push eax
push eax
push esi
call fcn.0042a125
test al, al
je 0x45dc76
lea ecx, [ebp - 0x430]
call fcn.00434cfd
test al, al
je 0x45dc76
mov eax, dword [edi]
xor ecx, ecx
push ecx
push ecx
push 0x427
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
push 0x401ef4
push edi
call fcn.0040f0f5
pop ecx
pop ecx
test al, al
je 0x45dc76
mov eax, dword [ebx + 0x44]
xor ecx, ecx
mov word [eax + 0x41], cx
mov byte [eax + 0x43], cl
mov eax, dword [ebx + 0x44]
mov word [eax + 0x45], cx
mov byte [eax + 0x47], cl
mov edi, dword [ebx + 0x20]
mov eax, dword [edi]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
push eax
push dword [ebx + 0x24]
push dword [ebx + 0x44]
call fcn.0048340f
mov eax, dword [ebx + 0x44]
add esp, 0xc
mov dword [eax + 3], 0x5346544e
mov dword [eax + 7], 0x20202020
mov edi, dword [ebx + 0x20]
mov eax, dword [edi]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
mov ecx, dword [ebp - 0x448]
mov word [ebx + 0x48], ax
cmp ecx, 0x80
ja 0x45fae1
mov al, cl
jmp 0x45faed
xor eax, eax
shr ecx, 1
inc eax
cmp ecx, 1
ja 0x45fae3
neg al
mov byte [ebx + 0x4a], al
xor eax, eax
mov ecx, dword [ebx + 0x20]
mov word [ebx + 0x4c], ax
mov byte [ebx + 0x4e], al
mov dword [ebx + 0x50], eax
call fcn.0040910d
mov edx, dword [ebp + 0x3c]
mov byte [ebx + 0x54], al
xor eax, eax
mov word [ebx + 0x56], ax
test edx, edx
jne 0x45fb32