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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
mov dword [ebp - 4], 0
push 0x10
call fcn.0051cd4c
add esp, 4
mov dword [ebp - 8], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
push 0x158
call fcn.0051cd4c
add esp, 4
mov dword [ebp - 0xc], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0x56
rep stosd dword es:[edi], eax
add ebx, 0x3c
push ebx
push 0xc
call fcn.0051cd4c
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x439ce
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push ebx
mov ebx, edi
mov ecx, 1
push ecx
push ebx
push 0x24
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 9
rep stosd dword es:[edi], eax
add ebx, 0x20
push ebx
push 0x10
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x4a8157
pop ebx
add ebx, 0x6c
push ebx
push 0xc
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx], 0x4950b
pop ebx
add ebx, 8
push ebx
push 0x10
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
add ebx, 4
push ebx
push 0xc
call fcn.0051cd4c
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x439ce
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push ebx
mov ebx, edi
mov ecx, 1
push ecx
push ebx
push 0x10
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x4a823f
pop ebx
add ebx, 4
push ebx
push 0xc
call fcn.0051cd4c
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x439ce
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push ebx
mov ebx, edi
mov ecx, 1
push ecx
push ebx
push 0x10
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x4a829f
pop ebx
add ebx, 0x28
push ebx
push 0xc
call fcn.0051cd4c
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x439ce
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push ebx
mov ebx, edi
mov ecx, 1
push ecx
push ebx
push 0x4c
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0x13
rep stosd dword es:[edi], eax
add ebx, 0x38
push ebx
push 0xc
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx], 0x4950b
pop ebx
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x4a82ff
pop ebx
add ebx, 4
push ebx
push 0xc
call fcn.0051cd4c
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x439ce
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push ebx
mov ebx, edi
mov ecx, 1
push ecx
push ebx
push 0x2c
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0xb
rep stosd dword es:[edi], eax
add ebx, 0x24
push ebx
push 0xc
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
push ebx
push 0x10
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
add ebx, 4
push ebx
push 0x10
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
add ebx, 4
push ebx
push 0x10
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
pop ebx
add ebx, 4
push ebx
push 0xc
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
push ebx
push 0x10
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
add ebx, 4
push ebx
push 0x10
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
add ebx, 4
push ebx
push 0x10
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
pop ebx
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x4a8381
pop ebx
add ebx, 4
push ebx
push 0xc
call fcn.0051cd4c
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x439ce
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push ebx
mov ebx, edi
mov ecx, 1
push ecx
push ebx
push 0x24
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 9
rep stosd dword es:[edi], eax
add ebx, 0x1c
push ebx
push 0xc
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
push ebx
push 0x10
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
add ebx, 4
push ebx
push 0x10
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
add ebx, 4
push ebx
push 0x10
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
pop ebx
add ebx, 4
push ebx
push 0xc
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
push ebx
push 0x10
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
add ebx, 4
push ebx
push 0x10
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
add ebx, 4
push ebx
push 0x10
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
pop ebx
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x4a8559
pop ebx
add ebx, 4
push ebx
push 0xc
call fcn.0051cd4c
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x439ce
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push ebx
mov ebx, edi
mov ecx, 1
push ecx
push ebx
push 0x18
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 6
rep stosd dword es:[edi], eax
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x4a8731
pop ebx
add ebx, 4
push ebx
push 0xc
call fcn.0051cd4c
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x439ce
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push ebx
mov ebx, edi
mov ecx, 1
push ecx
push ebx
push 0xc
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x4a8781
pop ebx
add ebx, 4
push ebx
push 0xc
call fcn.0051cd4c
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x439ce
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push ebx
mov ebx, edi
mov ecx, 1
push ecx
push ebx
push 0x10
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x4a87da
pop ebx
add ebx, 4
push ebx
push 0xc
call fcn.0051cd4c
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x439ce
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push ebx
mov ebx, edi
mov ecx, 1
push ecx
push ebx
push 0x1c
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 7
rep stosd dword es:[edi], eax
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x4a883a
pop ebx
add ebx, 4
push ebx
push 0xc
call fcn.0051cd4c
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x439ce
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push ebx
mov ebx, edi
mov ecx, 1
push ecx
push ebx
push 0x30
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0xc
rep stosd dword es:[edi], eax
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x4a888a
pop ebx
add ebx, 4
push ebx
push 0xc
call fcn.0051cd4c
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x439ce
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push ebx
mov ebx, edi
mov ecx, 1
push ecx
push ebx
push 8
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x4a88da
pop ebx
add ebx, 4
push ebx
push 0xc
call fcn.0051cd4c
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x439ce
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push ebx
mov ebx, edi
mov ecx, 1
push ecx
push ebx
push 0x18
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 6
rep stosd dword es:[edi], eax
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x4a892c
pop ebx
add ebx, 4
push ebx
push 0xc
call fcn.0051cd4c
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x439ce
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push ebx
mov ebx, edi
mov ecx, 1
push ecx
push ebx
push 0x24
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 9
rep stosd dword es:[edi], eax
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x4a897c
pop ebx
add ebx, 0x20
push ebx
push 0xc
call fcn.0051cd4c
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x439ce
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push ebx
mov ebx, edi
mov ecx, 1
push ecx
push ebx
push 0x34
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0xd
rep stosd dword es:[edi], eax
add ebx, 0x30
push ebx
push 0xc
call fcn.0051cd4c
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x439ce
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push ebx
mov ebx, edi
mov ecx, 1
push ecx
push ebx
push 8
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x4a8a13
pop ebx
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x4a89cc
pop ebx
add ebx, 0xc
push ebx
push 0xc
call fcn.0051cd4c
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x439ce
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push ebx
mov ebx, edi
mov ecx, 1
push ecx
push ebx
push 8
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x4a8a6e
pop ebx
add ebx, 8
push ebx
push 8
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
pop ebx
add ebx, 4
push ebx
push 8
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
pop ebx
add ebx, 8
push ebx
push 0x10
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
push 0x10
call fcn.0051cd4c
add esp, 4
mov dword [ebp - 0x24], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
push dword [ebp + 8]
call fcn.004a2cf1
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jle 0x4a8b80
jmp 0x4ab95d
mov dword [ebp - 0x28], esp
push 0xfffffff0
push dword [ebp + 8]
mov eax, 0x25
call fcn.0051cd5e
cmp dword [ebp - 0x28], esp
je 0x4a8ba7
push 6
call fcn.0051cd58
add esp, 4
mov dword [ebp - 4], eax
mov dword [ebp - 0x28], esp
push dword [ebp - 8]
push dword [ebp + 8]
mov eax, 0x13
call fcn.0051cd5e
cmp dword [ebp - 0x28], esp
je 0x4a8bcf
push 6
call fcn.0051cd58
add esp, 4
cmp dword [0x60], 0
jne 0x4a8bff
push 0x80000006
push 0
push 0x6c548
push 1
mov ebx, 0x9dc
call fcn.0051cd64
add esp, 0x10
mov dword [0x60], eax
mov dword [0x24], 3
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp + 8]
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 4
mov dword [ebp - 0x28], ebx
cmp dword [ebp + 0xc], 0x19
mov eax, 0
setl al
test eax, eax
je 0x4a8c3e
mov eax, 0x19
jmp 0x4a8c41
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 8
mov dword [ebp - 0x28], ebx
cmp dword [ebp + 0x28], 0
mov eax, 0
sete al
test eax, eax
je 0x4a8c6d
mov eax, 0
jmp 0x4a8c70
mov eax, dword [ebp + 0x24]
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x28], ebx
cmp dword [ebp + 0x30], 0
mov eax, 0
sete al
test eax, eax
je 0x4a8c9c
mov eax, 0
jmp 0x4a8c9f
mov eax, dword [ebp + 0x2c]
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x28], ebx
push 0x80000301
push 0
push 0x20000
push 0x80000301
push 0
push dword [ebp - 4]
push 2
mov ebx, 0xc8
call fcn.0051cd64
add esp, 0x1c
cmp dword [ebp - 4], eax
mov eax, 0
sete al
test eax, eax
je 0x4a8cf2
mov eax, 1
jmp 0x4a8cf7
mov eax, 0
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x14
mov dword [ebp - 0x28], ebx
push 0x80000301
push 0
push 0x10000
push 0x80000301
push 0
push dword [ebp - 4]
push 2
mov ebx, 0xc8
call fcn.0051cd64
add esp, 0x1c
cmp dword [ebp - 4], eax
mov eax, 0
sete al
test eax, eax
je 0x4a8d4a
mov eax, 1
jmp 0x4a8d4f
mov eax, 0
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x7c
mov dword [ebp - 0x28], ebx
cmp dword [ebp + 0x18], 0
mov eax, 0
sete al
test eax, eax
je 0x4a8d7b
mov eax, 1
jmp 0x4a8d7e
mov eax, dword [ebp + 0x14]
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x18
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 1
mov ebx, dword [ebp - 0xc]
add ebx, 0x78
mov dword [ebp - 0x28], ebx
cmp dword [ebp + 0x20], 0
mov eax, 0
sete al
test eax, eax
je 0x4a8dbc
mov eax, 1
jmp 0x4a8dbf
mov eax, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x1c
mov dword [ebp - 0x28], ebx
cmp dword [ebp + 0x38], 0
mov eax, 0
sete al
test eax, eax
je 0x4a8deb
mov eax, 1
jmp 0x4a8dee
mov eax, dword [ebp + 0x34]
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x20
mov dword [ebp - 0x28], ebx
cmp dword [ebp + 0x40], 0
mov eax, 0
sete al
test eax, eax
je 0x4a8e1a
mov eax, 0
jmp 0x4a8e1d
mov eax, dword [ebp + 0x3c]
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x34
mov dword [ebp - 0x28], ebx
cmp dword [ebp + 0x60], 0
mov eax, 0
sete al
test eax, eax
je 0x4a8e49
mov eax, dword [0x14]
jmp 0x4a8e4c
mov eax, dword [ebp + 0x5c]
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x68
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 0xc8
mov ebx, dword [ebp - 0xc]
add ebx, 0x6c
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 0x96
mov ebx, dword [ebp - 0xc]
add ebx, 0x70
mov dword [ebp - 0x28], ebx
push 0
mov ebx, 0x2d4
call fcn.0051cd64
add esp, 4
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x74
mov dword [ebp - 0x28], ebx
push 0
mov ebx, 0x2d8
call fcn.0051cd64
add esp, 4
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov eax, 0x84
xor ecx, ecx
test eax, eax
je 0x4a8ec3
mov ecx, dword [eax + 4]
push ecx
add eax, 8
push eax
mov ebx, dword [ebp + 0x54]
mov eax, dword [ebx]
xor ebx, ebx
test eax, eax
je 0x4a8ed6
mov ebx, dword [eax + 4]
add eax, 8
push eax
cmp ebx, ecx
mov eax, 1
jne 0x4a8eed
dec eax
test ecx, ecx
je 0x4a8eed
call fcn.004871e3
add esp, 0xc
test eax, eax
je 0x4a90a5
mov ebx, dword [ebp - 0xc]
add ebx, 0x38
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], 0
push 0
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x30], 0
push 0
push dword [ebp - 0x30]
mov dword [ebp - 0x34], 0
push 0
push dword [ebp - 0x34]
push 0x7d0
push dword [ebp + 0x54]
call fcn.00487d23
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x4a8f46
push ebx
call fcn.0051cd52
add esp, 4
mov eax, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x34
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
cmp dword [ebx], 0
jne 0x4a8fdd
mov ebx, dword [ebp - 0xc]
add ebx, 0x30
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0xc]
add ebx, 0x38
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], 0
push 0
lea eax, [ebp - 0x30]
push eax
mov dword [ebp - 0x34], 0
push 0
push dword [ebp - 0x34]
push 1
mov ebx, dword [ebp - 0x2c]
push dword [ebx]
mov dword [ebp - 0x38], 0
push 0
push dword [ebp - 0x38]
push dword [ebp + 0x54]
call fcn.00488651
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x4a8fbc
push ebx
call fcn.0051cd52
add esp, 4
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x28]
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a8fd2
push ebx
call fcn.0051cd52
add esp, 4
pop eax
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
jmp 0x4a90a5
mov ebx, dword [ebp - 0xc]
add ebx, 0x34
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
cmp dword [ebx], 1
jne 0x4a9067
mov ebx, dword [ebp - 0xc]
add ebx, 0x30
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0xc]
add ebx, 0x38
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], 0
push 0
lea eax, [ebp - 0x30]
push eax
push 1
push 0
push 1
mov ebx, dword [ebp - 0x2c]
push dword [ebx]
mov dword [ebp - 0x34], 0
push 0
push dword [ebp - 0x34]
push dword [ebp + 0x54]
call fcn.00488651
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x4a9046
push ebx
call fcn.0051cd52
add esp, 4
mov eax, dword [ebp - 0x38]
push eax
mov ebx, dword [ebp - 0x28]
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a905c
push ebx
call fcn.0051cd52
add esp, 4
pop eax
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
jmp 0x4a90a5
mov ebx, dword [ebp - 0xc]
add ebx, 0x30
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp + 0x54]
mov eax, dword [ebx]
test eax, eax
je 0x4a908c
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x28]
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a909f
push ebx
call fcn.0051cd52
add esp, 4
pop eax
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x80
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 0xffffff
mov ebx, dword [ebp - 0xc]
add ebx, 0x84
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 0x808080
mov ebx, dword [ebp - 0xc]
add ebx, 0x88
mov dword [ebp - 0x28], ebx
mov eax, 0x44164
push eax
mov ebx, dword [ebp - 0x28]
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a90f3
push ebx
call fcn.0051cd52
add esp, 4
pop eax
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x8c
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 0xc
mov ebx, dword [ebp - 0xc]
add ebx, 0x90
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 1
mov ebx, dword [ebp - 0xc]
add ebx, 0x3c
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov ebx, dword [ebx]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4a914c
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4a9148
imul eax, dword [ebx]
jmp 0x4a913d
mov ecx, eax
test ecx, ecx
je 0x4a91c7
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a916a
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a917e
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a9192
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a91a6
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4a9152
call fcn.0051cd52
add esp, 4
mov eax, 0x84
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 8
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
cmp dword [ebx], 0
je 0x4a953b
mov ebx, dword [ebp - 0xc]
add ebx, 0x3c
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov ebx, dword [ebx]
call fcn.0048732c
mov dword [ebp - 0x34], eax
fild dword [ebp - 0x34]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
fadd qword [0x43bc5]
fstp qword [ebp - 0x3c]
fld qword [ebp - 0x3c]
call fcn.00486284
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x3c
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], 1
mov eax, dword [ebp - 0x10]
cmp eax, 0
jge 0x4a9246
push 0xa
call fcn.0051cd58
add esp, 4
mov dword [ebp - 0x2c], eax
lea ebx, [ebp - 0x30]
call fcn.00487345
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.0051cd4c
add esp, 4
mov edi, eax
mov dword [edi], 1
add edi, 4
pop ecx
push eax
push ecx
lea esi, [ebp - 0x2c]
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov ebx, dword [ebp - 0x28]
mov ebx, dword [ebx]
call fcn.00487345
pop edx
mov eax, ecx
cmp ecx, edx
jle 0x4a9287
mov ecx, edx
sub eax, ecx
sub edx, ecx
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov ebx, esi
mov ecx, eax
test ecx, ecx
je 0x4a9314
push edi
push edx
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a92b5
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a92c9
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a92dd
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a92f1
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
call fcn.0051cd52
add esp, 4
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x4a929d
pop edx
pop edi
test edx, edx
je 0x4a9379
mov ebx, edi
push edx
push ebx
push 0x24
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 9
rep stosd dword es:[edi], eax
add ebx, 0x20
push ebx
push 0x10
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
pop ebx
pop edx
add ebx, 4
dec edx
jne 0x4a931e
mov ebx, dword [ebp - 0x28]
push dword [ebx]
call fcn.0051cd52
add esp, 4
pop eax
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x4a93ac
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4a93bf
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 0x1a
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x4a93f2
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4a9405
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 0x12
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x4a943b
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4a944e
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x28], ebx
mov eax, 0x44616
test eax, eax
je 0x4a9477
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x28]
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a948a
push ebx
call fcn.0051cd52
add esp, 4
pop eax
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x4a94b0
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4a94c3
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x14
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 4
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x4a94f9
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4a950c
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x18
mov dword [ebp - 0x28], ebx
mov eax, 0x453d4
push eax
mov ebx, dword [ebp - 0x28]
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a9531
push ebx
call fcn.0051cd52
add esp, 4
pop eax
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
add dword [ebp - 0x14], 0x1a
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
cmp dword [ebx], 0
je 0x4a989d
mov ebx, dword [ebp - 0xc]
add ebx, 0x3c
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov ebx, dword [ebx]
call fcn.0048732c
mov dword [ebp - 0x34], eax
fild dword [ebp - 0x34]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
fadd qword [0x43bc5]
fstp qword [ebp - 0x3c]
fld qword [ebp - 0x3c]
call fcn.00486284
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x3c
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], 1
mov eax, dword [ebp - 0x10]
cmp eax, 0
jge 0x4a95a8
push 0xa
call fcn.0051cd58
add esp, 4
mov dword [ebp - 0x2c], eax
lea ebx, [ebp - 0x30]
call fcn.00487345
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.0051cd4c
add esp, 4
mov edi, eax
mov dword [edi], 1
add edi, 4
pop ecx
push eax
push ecx
lea esi, [ebp - 0x2c]
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov ebx, dword [ebp - 0x28]
mov ebx, dword [ebx]
call fcn.00487345
pop edx
mov eax, ecx
cmp ecx, edx
jle 0x4a95e9
mov ecx, edx
sub eax, ecx
sub edx, ecx
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov ebx, esi
mov ecx, eax
test ecx, ecx
je 0x4a9676
push edi
push edx
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a9617
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a962b
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a963f
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a9653
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
call fcn.0051cd52
add esp, 4
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x4a95ff
pop edx
pop edi
test edx, edx
je 0x4a96db
mov ebx, edi
push edx
push ebx
push 0x24
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 9
rep stosd dword es:[edi], eax
add ebx, 0x20
push ebx
push 0x10
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
pop ebx
pop edx
add ebx, 4
dec edx
jne 0x4a9680
mov ebx, dword [ebp - 0x28]
push dword [ebx]
call fcn.0051cd52
add esp, 4
pop eax
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x4a970e
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4a9721
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 0x1a
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x4a9754
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4a9767
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 0x12
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x4a979d
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4a97b0
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x28], ebx
mov eax, 0x453d9
test eax, eax
je 0x4a97d9
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x28]
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a97ec
push ebx
call fcn.0051cd52
add esp, 4
pop eax
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x4a9812
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4a9825
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x14
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 3
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x4a985b
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4a986e
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x18
mov dword [ebp - 0x28], ebx
mov eax, 0x46093
push eax
mov ebx, dword [ebp - 0x28]
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a9893
push ebx
call fcn.0051cd52
add esp, 4
pop eax
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
add dword [ebp - 0x14], 0x1a
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
cmp dword [ebx], 0
je 0x4a9bff
mov ebx, dword [ebp - 0xc]
add ebx, 0x3c
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov ebx, dword [ebx]
call fcn.0048732c
mov dword [ebp - 0x34], eax
fild dword [ebp - 0x34]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
fadd qword [0x43bc5]
fstp qword [ebp - 0x3c]
fld qword [ebp - 0x3c]
call fcn.00486284
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x3c
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], 1
mov eax, dword [ebp - 0x10]
cmp eax, 0
jge 0x4a990a
push 0xa
call fcn.0051cd58
add esp, 4
mov dword [ebp - 0x2c], eax
lea ebx, [ebp - 0x30]
call fcn.00487345
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.0051cd4c
add esp, 4
mov edi, eax
mov dword [edi], 1
add edi, 4
pop ecx
push eax
push ecx
lea esi, [ebp - 0x2c]
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov ebx, dword [ebp - 0x28]
mov ebx, dword [ebx]
call fcn.00487345
pop edx
mov eax, ecx
cmp ecx, edx
jle 0x4a994b
mov ecx, edx
sub eax, ecx
sub edx, ecx
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov ebx, esi
mov ecx, eax
test ecx, ecx
je 0x4a99d8
push edi
push edx
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a9979
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a998d
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a99a1
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a99b5
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
call fcn.0051cd52
add esp, 4
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x4a9961
pop edx
pop edi
test edx, edx
je 0x4a9a3d
mov ebx, edi
push edx
push ebx
push 0x24
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 9
rep stosd dword es:[edi], eax
add ebx, 0x20
push ebx
push 0x10
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
pop ebx
pop edx
add ebx, 4
dec edx
jne 0x4a99e2
mov ebx, dword [ebp - 0x28]
push dword [ebx]
call fcn.0051cd52
add esp, 4
pop eax
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x4a9a70
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4a9a83
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 0x1a
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x4a9ab6
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4a9ac9
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 0x12
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x4a9aff
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4a9b12
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x28], ebx
mov eax, 0x4609a
test eax, eax
je 0x4a9b3b
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x28]
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a9b4e
push ebx
call fcn.0051cd52
add esp, 4
pop eax
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x4a9b74
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4a9b87
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x14
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 2
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x4a9bbd
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4a9bd0
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x18
mov dword [ebp - 0x28], ebx
mov eax, 0x46cb4
push eax
mov ebx, dword [ebp - 0x28]
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a9bf5
push ebx
call fcn.0051cd52
add esp, 4
pop eax
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
add dword [ebp - 0x14], 0x1a
mov ebx, dword [ebp - 0xc]
add ebx, 0x14
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
cmp dword [ebx], 0
je 0x4a9fd6
mov ebx, dword [ebp - 0xc]
add ebx, 0x3c
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov ebx, dword [ebx]
call fcn.0048732c
mov dword [ebp - 0x34], eax
fild dword [ebp - 0x34]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
fadd qword [0x43bc5]
fstp qword [ebp - 0x3c]
fld qword [ebp - 0x3c]
call fcn.00486284
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x3c
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], 1
mov eax, dword [ebp - 0x10]
cmp eax, 0
jge 0x4a9c6c
push 0xa
call fcn.0051cd58
add esp, 4
mov dword [ebp - 0x2c], eax
lea ebx, [ebp - 0x30]
call fcn.00487345
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.0051cd4c
add esp, 4
mov edi, eax
mov dword [edi], 1
add edi, 4
pop ecx
push eax
push ecx
lea esi, [ebp - 0x2c]
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov ebx, dword [ebp - 0x28]
mov ebx, dword [ebx]
call fcn.00487345
pop edx
mov eax, ecx
cmp ecx, edx
jle 0x4a9cad
mov ecx, edx
sub eax, ecx
sub edx, ecx
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov ebx, esi
mov ecx, eax
test ecx, ecx
je 0x4a9d3a
push edi
push edx
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a9cdb
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a9cef
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a9d03
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a9d17
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
call fcn.0051cd52
add esp, 4
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x4a9cc3
pop edx
pop edi
test edx, edx
je 0x4a9d9f
mov ebx, edi
push edx
push ebx
push 0x24
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 9
rep stosd dword es:[edi], eax
add ebx, 0x20
push ebx
push 0x10
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
pop ebx
pop edx
add ebx, 4
dec edx
jne 0x4a9d44
mov ebx, dword [ebp - 0x28]
push dword [ebx]
call fcn.0051cd52
add esp, 4
pop eax
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x4a9dd2
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4a9de5
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 0x1a
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x4a9e18
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4a9e2b
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 0x12
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x4a9e61
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4a9e74
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x28], ebx
mov eax, 0x46cbb
test eax, eax
je 0x4a9e9d
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x28]
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a9eb0
push ebx
call fcn.0051cd52
add esp, 4
pop eax
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x4a9ed6
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4a9ee9
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0xc
mov dword [ebp - 0x28], ebx
mov eax, 0x479c8
test eax, eax
je 0x4a9f12
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x28]
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a9f25
push ebx
call fcn.0051cd52
add esp, 4
pop eax
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x4a9f4b
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4a9f5e
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x14
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 1
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x4a9f94
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4a9fa7
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x18
mov dword [ebp - 0x28], ebx
mov eax, 0x4873d
push eax
mov ebx, dword [ebp - 0x28]
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a9fcc
push ebx
call fcn.0051cd52
add esp, 4
pop eax
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
add dword [ebp - 0x14], 0x1a
mov ebx, dword [ebp - 0xc]
add ebx, 0x18
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
cmp dword [ebx], 0
je 0x4aa338
mov ebx, dword [ebp - 0xc]
add ebx, 0x3c
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov ebx, dword [ebx]
call fcn.0048732c
mov dword [ebp - 0x34], eax
fild dword [ebp - 0x34]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
fadd qword [0x43bc5]
fstp qword [ebp - 0x3c]
fld qword [ebp - 0x3c]
call fcn.00486284
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x3c
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], 1
mov eax, dword [ebp - 0x10]
cmp eax, 0
jge 0x4aa043
push 0xa
call fcn.0051cd58
add esp, 4
mov dword [ebp - 0x2c], eax
lea ebx, [ebp - 0x30]
call fcn.00487345
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.0051cd4c
add esp, 4
mov edi, eax
mov dword [edi], 1
add edi, 4
pop ecx
push eax
push ecx
lea esi, [ebp - 0x2c]
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov ebx, dword [ebp - 0x28]
mov ebx, dword [ebx]
call fcn.00487345
pop edx
mov eax, ecx
cmp ecx, edx
jle 0x4aa084
mov ecx, edx
sub eax, ecx
sub edx, ecx
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov ebx, esi
mov ecx, eax
test ecx, ecx
je 0x4aa111
push edi
push edx
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4aa0b2
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4aa0c6
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4aa0da
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4aa0ee
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
call fcn.0051cd52
add esp, 4
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x4aa09a
pop edx
pop edi
test edx, edx
je 0x4aa176
mov ebx, edi
push edx
push ebx
push 0x24
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 9
rep stosd dword es:[edi], eax
add ebx, 0x20
push ebx
push 0x10
call fcn.0051cd4c
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
pop ebx
pop edx
add ebx, 4
dec edx
jne 0x4aa11b
mov ebx, dword [ebp - 0x28]
push dword [ebx]
call fcn.0051cd52
add esp, 4
pop eax
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x4aa1a9
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4aa1bc
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 0x26
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x4aa1ef
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4aa202
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 0x12
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x4aa238
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4aa24b
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x28], ebx
mov eax, 0x48744
test eax, eax
je 0x4aa274
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x28]
mov ebx, dword [ebx]
test ebx, ebx
je 0x4aa287
push ebx
call fcn.0051cd52
add esp, 4
pop eax
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x4aa2ad
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4aa2c0
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x14
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 0
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x4aa2f6
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4aa309
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x18
mov dword [ebp - 0x28], ebx
mov eax, 0x494fd
push eax
mov ebx, dword [ebp - 0x28]
mov ebx, dword [ebx]
test ebx, ebx
je 0x4aa32e
push ebx
call fcn.0051cd52
add esp, 4
pop eax
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
add dword [ebp - 0x14], 0x26
mov ebx, dword [ebp - 0xc]
add ebx, 0x48
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0xc]
add ebx, 0x3c
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x2c]
mov ebx, dword [ebx]
call fcn.0048732c
mov dword [ebp - 0x38], eax
fild dword [ebp - 0x38]
fstp qword [ebp - 0x38]
fld qword [ebp - 0x38]
fsub qword [0x43bc5]
fstp qword [ebp - 0x40]
fild dword [ebp - 0x14]
fstp qword [ebp - 0x48]
fld qword [ebp - 0x48]
fadd qword [ebp - 0x40]
fadd qword [0x43ac5]
fstp qword [ebp - 0x50]
fld qword [ebp - 0x50]
call fcn.00486284
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x4c
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 0x16
mov ebx, dword [ebp - 0xc]
add ebx, 0x40
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 8]
add ebx, 8
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0xc]
add ebx, 0x48
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x2c]
fild dword [ebx]
fstp qword [ebp - 0x38]
fld qword [ebp - 0x38]
fild dword [0x24]
fstp qword [ebp - 0x40]
fsub qword [ebp - 0x40]
mov ebx, dword [ebp - 0x30]
fild dword [ebx]
fstp qword [ebp - 0x48]
fsub qword [ebp - 0x48]
fsub qword [0x8c]
fstp qword [ebp - 0x50]
fld qword [ebp - 0x50]
call fcn.00486284
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x44
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 0
mov dword [ebp - 0x28], esp
push 0xfffffff0
push dword [ebp + 8]
mov eax, 0x25
call fcn.0051cd5e
cmp dword [ebp - 0x28], esp
je 0x4aa429
push 6
call fcn.0051cd58
add esp, 4
mov dword [ebp - 0x18], eax
push 0x80000301
push 0
push 0x80000
push 0x80000301
push 0
push dword [ebp - 0x18]
push 2
mov ebx, 0xc8
call fcn.0051cd64
add esp, 0x1c
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], esp
push dword [ebp - 0x28]
push 0xfffffff0
push dword [ebp + 8]
mov eax, 0x31
call fcn.0051cd5e
cmp dword [ebp - 0x2c], esp
je 0x4aa481
push 6
call fcn.0051cd58
add esp, 4
push 0x1c
push 4
mov eax, 2
call fcn.0051cd46
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x28], eax
mov ebx, dword [0x1c]
mov dword [ebp - 0x2c], ebx
call fcn.00487345
mov dword [ebp - 0x30], ecx
mov edi, dword [ebp - 0x2c]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x4aa4c8
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x30]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x2c]
call fcn.0051cd7c
add esp, 8
mov dword [0x1c], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x30]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x28]
push edi
push eax
push 0x158
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
push eax
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4aa527
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4aa548
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
mov ebx, eax
call fcn.00487345
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
pop ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
test ecx, ecx
je 0x4aa639
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
push eax
push 0x24
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4aa5b5
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4aa5d2
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4aa5ef
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4aa610
push eax
mov ebx, eax
call fcn.00485d3c
inc eax
push eax
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
push 0x10
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
pop eax
pop ecx
pop edi
pop esi
stosd dword es:[edi], eax
dec ecx
jne 0x4aa581
pop eax
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 0x12
rep movsd dword es:[edi], dword [esi]
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4aa65f
push eax
mov ebx, eax
call fcn.00485d3c
inc eax
push eax
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
lodsd eax, dword [esi]
push esi
push edi
mov ebx, dword [eax]
call dword [ebx + 4]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
push 0x10
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
mov ebx, eax
call fcn.00487345
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
pop ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
test ecx, ecx
je 0x4aa722
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
push eax
push 0x10
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4aa6f3
push eax
mov ebx, eax
call fcn.00485d3c
inc eax
push eax
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4aa710
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
pop eax
pop ecx
pop edi
pop esi
stosd dword es:[edi], eax
dec ecx
jne 0x4aa6bf
pop eax
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
mov ebx, eax
call fcn.00487345
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
pop ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
test ecx, ecx
je 0x4aa778
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
push eax
push 0x10
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop ecx
pop edi
pop esi
stosd dword es:[edi], eax
dec ecx
jne 0x4aa757
pop eax
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4aa79e
push eax
mov ebx, eax
call fcn.00485d3c
inc eax
push eax
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
lodsd eax, dword [esi]
push esi
push edi
push eax
mov ebx, eax
call fcn.00487345
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
pop ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
test ecx, ecx
je 0x4aa8ee
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
push eax
push 0x4c
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
push eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4aa811
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4aa82e
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4aa84b
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4aa868
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4aa885
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4aa8a6
push eax
mov ebx, eax
call fcn.00485d3c
inc eax
push eax
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
lodsd eax, dword [esi]
push esi
push edi
mov ebx, dword [eax]
call dword [ebx + 4]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4aa8d7
push eax
mov ebx, eax
call fcn.00485d3c
inc eax
push eax
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop ecx
pop edi
pop esi
stosd dword es:[edi], eax
dec ecx
jne 0x4aa7da
pop eax
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
mov ebx, eax
call fcn.00487345
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
pop ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
test ecx, ecx
je 0x4aaa09
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
push eax
push 0x2c
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
push eax
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
lodsd eax, dword [esi]
push esi
push edi
push eax
push 0xc
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
push esi
push edi
push eax
push 0x10
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
push 0x10
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
push 0x10
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
pop eax
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
push 0xc
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
push esi
push edi
push eax
push 0x10
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
push 0x10
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
push 0x10
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
pop eax
pop edi
pop esi
stosd dword es:[edi], eax
pop eax
pop ecx
pop edi
pop esi
stosd dword es:[edi], eax
dec ecx
jne 0x4aa923
pop eax
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
mov ebx, eax
call fcn.00487345
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
pop ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
test ecx, ecx
je 0x4aab24
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
push eax
push 0x24
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
push eax
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
lodsd eax, dword [esi]
push esi
push edi
push eax
push 0xc
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
push esi
push edi
push eax
push 0x10
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
push 0x10
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
push 0x10
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
pop eax
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
push 0xc
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
push esi
push edi
push eax
push 0x10
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
push 0x10
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
push 0x10
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
pop eax
pop edi
pop esi
stosd dword es:[edi], eax
pop eax
pop ecx
pop edi
pop esi
stosd dword es:[edi], eax
dec ecx
jne 0x4aaa3e
pop eax
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
mov ebx, eax
call fcn.00487345
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
pop ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
test ecx, ecx
je 0x4aab7a
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
push eax
push 0x18
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop ecx
pop edi
pop esi
stosd dword es:[edi], eax
dec ecx
jne 0x4aab59
pop eax
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
mov ebx, eax
call fcn.00487345
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
pop ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
test ecx, ecx
je 0x4aabd0
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
push eax
push 0xc
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop ecx
pop edi
pop esi
stosd dword es:[edi], eax
dec ecx
jne 0x4aabaf
pop eax
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
mov ebx, eax
call fcn.00487345
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
pop ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
test ecx, ecx
je 0x4aac26
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
push eax
push 0x10
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop ecx
pop edi
pop esi
stosd dword es:[edi], eax
dec ecx
jne 0x4aac05
pop eax
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
mov ebx, eax
call fcn.00487345
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
pop ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
test ecx, ecx
je 0x4aac7c
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
push eax
push 0x1c
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop ecx
pop edi
pop esi
stosd dword es:[edi], eax
dec ecx
jne 0x4aac5b
pop eax
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
mov ebx, eax
call fcn.00487345
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
pop ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
test ecx, ecx
je 0x4aad01
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
push eax
push 0x30
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
push eax
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4aacea
push eax
mov ebx, eax
call fcn.00485d3c
inc eax
push eax
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop ecx
pop edi
pop esi
stosd dword es:[edi], eax
dec ecx
jne 0x4aacb1
pop eax
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
mov ebx, eax
call fcn.00487345
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
pop ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
test ecx, ecx
je 0x4aad57
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
push eax
push 8
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop ecx
pop edi
pop esi
stosd dword es:[edi], eax
dec ecx
jne 0x4aad36
pop eax
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
mov ebx, eax
call fcn.00487345
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
pop ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
test ecx, ecx
je 0x4aadd9
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
push eax
push 0x18
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
push eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4aadc5
push eax
mov ebx, eax
call fcn.00485d3c
inc eax
push eax
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
pop eax
pop ecx
pop edi
pop esi
stosd dword es:[edi], eax
dec ecx
jne 0x4aad8c
pop eax
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
mov ebx, eax
call fcn.00487345
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
pop ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
test ecx, ecx
je 0x4aae5b
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
push eax
push 0x24
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
push eax
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4aae47
push eax
mov ebx, eax
call fcn.00485d3c
inc eax
push eax
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
pop eax
pop ecx
pop edi
pop esi
stosd dword es:[edi], eax
dec ecx
jne 0x4aae0e
pop eax
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
lodsd eax, dword [esi]
push esi
push edi
push eax
mov ebx, eax
call fcn.00487345
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
pop ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
test ecx, ecx
je 0x4aaf3a
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
push eax
push 0x34
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
push eax
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4aaed0
push eax
mov ebx, eax
call fcn.00485d3c
inc eax
push eax
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
mov ebx, eax
call fcn.00487345
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
pop ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
test ecx, ecx
je 0x4aaf2a
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
push eax
push 8
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop ecx
pop edi
pop esi
stosd dword es:[edi], eax
dec ecx
jne 0x4aaf09
pop eax
pop edi
pop esi
stosd dword es:[edi], eax
pop eax
pop ecx
pop edi
pop esi
stosd dword es:[edi], eax
dec ecx
jne 0x4aae97
pop eax
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
mov ebx, eax
call fcn.00487345
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.0051cd4c
add esp, 4
pop esi
mov edi, eax
pop ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
test ecx, ecx
je 0x4aaf94
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
push eax
push 8
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop ecx
pop edi
pop esi
stosd dword es:[edi], eax
dec ecx
jne 0x4aaf73
pop eax
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
push 8
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
push 8
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
push 0x10
call fcn.0051cd4c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
mov ebx, dword [0x1c]
call fcn.0048732c
mov dword [ebp - 0x1c], eax
mov ebx, dword [0x1c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x4ab019
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4ab02c
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0xa8
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], 0
push 0
push dword [ebp - 0x2c]
push dword [ebp + 8]
push dword [ebp - 0x28]
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 8]
mov ebx, dword [0x1c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x4ab078
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4ab08b
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x3c
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov ebx, dword [ebx]
call fcn.0048732c
xor ecx, ecx
push eax
lea eax, [ebp - 0x20]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x4ab526
mov ebx, dword [ebp - 0x24]
mov dword [ebp - 0x28], ebx
mov ebx, dword [0x1c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x4ab0df
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4ab0f2
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x20]
dec eax
jns 0x4ab116
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4ab129
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov ebx, dword [ebx + 0x20]
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x2c]
fld dword [ebx]
call fcn.00486284
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x24]
add ebx, 4
mov dword [ebp - 0x28], ebx
mov ebx, dword [0x1c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x4ab16e
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4ab181
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x20]
dec eax
jns 0x4ab1a5
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4ab1b8
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov ebx, dword [ebx + 0x20]
add ebx, 4
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x2c]
fld dword [ebx]
call fcn.00486284
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x24]
add ebx, 8
mov dword [ebp - 0x28], ebx
mov ebx, dword [0x1c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x4ab200
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4ab213
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x20]
dec eax
jns 0x4ab237
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4ab24a
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov ebx, dword [ebx + 0x20]
mov dword [ebp - 0x2c], ebx
mov ebx, dword [0x1c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x4ab277
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4ab28a
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x20]
dec eax
jns 0x4ab2ae
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4ab2c1
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov ebx, dword [ebx + 0x20]
add ebx, 8
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x2c]
fld dword [ebx]
mov ebx, dword [ebp - 0x30]
fadd dword [ebx]
fstp qword [ebp - 0x38]
fld qword [ebp - 0x38]
call fcn.00486284
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x24]
add ebx, 0xc
mov dword [ebp - 0x28], ebx
mov ebx, dword [0x1c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x4ab314
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4ab327
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x20]
dec eax
jns 0x4ab34b
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4ab35e
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov ebx, dword [ebx + 0x20]
add ebx, 4
mov dword [ebp - 0x2c], ebx
mov ebx, dword [0x1c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x4ab38e
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4ab3a1
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x20]
dec eax
jns 0x4ab3c5
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4ab3d8
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov ebx, dword [ebx + 0x20]
add ebx, 0xc
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x2c]
fld dword [ebx]
mov ebx, dword [ebp - 0x30]
fadd dword [ebx]
fstp qword [ebp - 0x38]
fld qword [ebp - 0x38]
call fcn.00486284
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [0x1c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x4ab422
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4ab435
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0xa8
mov dword [ebp - 0x28], ebx
mov ebx, dword [0x1c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x4ab465
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4ab478
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov ebx, dword [ebx + 0x3c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x20]
dec eax
jns 0x4ab49c
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4ab4af
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x18
mov dword [ebp - 0x2c], ebx
push dword [ebp - 0x20]
push dword [ebp - 0x2c]
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0x28]
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xc]
mov ebx, dword [0x1c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x4ab4f3
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4ab506
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x124
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
pop eax
pop ebx
pop ecx
jmp 0x4ab0ab
add esp, 0xc
push dword [ebp - 0x1c]
call fcn.004ac138
cmp dword [ebp + 0x44], 0
jle 0x4ab734
cmp dword [ebp + 0x50], 0
jne 0x4ab5df
push 8
call fcn.0051cd4c
add esp, 4
mov dword [ebp - 0x28], eax
mov edi, eax
mov esi, 0x84
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 0
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 0x44]
push dword [ebp - 0x1c]
call fcn.004acd6e
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4ab58f
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4ab58b
imul eax, dword [ebx]
jmp 0x4ab580
mov ecx, eax
test ecx, ecx
je 0x4ab5d2
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4ab5ad
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4ab5c1
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4ab595
call fcn.0051cd52
add esp, 4
jmp 0x4ab5ef
push 1
push dword [ebp + 0x4c]
push dword [ebp + 0x44]
push dword [ebp - 0x1c]
call fcn.004acd6e
mov ebx, dword [0x1c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x4ab60f
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4ab622
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0xc4
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 0
mov ebx, dword [0x1c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x4ab65b
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4ab66e
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0xc8
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 0xffffff
mov ebx, dword [0x1c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x4ab6a7
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4ab6ba
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0xcc
mov dword [ebp - 0x28], ebx
mov eax, 0x44164
push eax
mov ebx, dword [ebp - 0x28]
mov ebx, dword [ebx]
test ebx, ebx
je 0x4ab6e2
push ebx
call fcn.0051cd52
add esp, 4
pop eax
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [0x1c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x4ab708
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4ab71b
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0xd0
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 0xc
push dword [ebp - 0x1c]
call fcn.004aded4
push dword [ebp + 8]
push dword [ebp - 0x1c]
call fcn.004ae568
push dword [ebp + 8]
push dword [ebp - 0x1c]
call fcn.004bb109
push dword [ebp + 8]
push dword [ebp - 0x1c]
call fcn.004bbf6b
push dword [ebp + 8]
push dword [ebp - 0x1c]
call fcn.004cc8ca
push dword [ebp + 8]
push dword [ebp - 0x1c]
call fcn.004cfe5a
push dword [ebp + 8]
push dword [ebp - 0x1c]
call fcn.004d16cd
push dword [ebp + 8]
push dword [ebp - 0x1c]
call fcn.004d8039
push dword [ebp + 8]
push dword [ebp - 0x1c]
call fcn.004dae1e
push dword [ebp + 8]
push dword [ebp - 0x1c]
call fcn.004df75a
mov ebx, dword [0x1c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x4ab7bf
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4ab7d2
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x12c
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 1
mov ebx, dword [0x1c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x4ab80b
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4ab81e
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x10c
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 1
mov ebx, dword [0x1c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x4ab857
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4ab86a
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x28
mov dword [ebp - 0x28], ebx
push 0x80000006
push 0
push 0x768bb
push 1
mov ebx, 0x9dc
call fcn.0051cd64
add esp, 0x10
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], esp
push dword [ebp - 0x2c]
push 0xfffffffc
push dword [ebp + 8]
mov eax, 0x31
call fcn.0051cd5e
cmp dword [ebp - 0x30], esp
je 0x4ab8c2
push 6
call fcn.0051cd58
add esp, 4
mov ebx, dword [ebp - 0x28]
mov dword [ebx], eax
mov ebx, dword [0x1c]
call fcn.00487345
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x4ab8e7
push 4
call fcn.0051cd58
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4ab8fa
push 1
call fcn.0051cd58
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x28
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], esp
mov ebx, dword [ebp - 0x28]
push dword [ebx]
push 0x49502
push dword [ebp + 8]
mov eax, 0x17
call fcn.0051cd5e
cmp dword [ebp - 0x2c], esp
je 0x4ab933
push 6
call fcn.0051cd58
add esp, 4
mov dword [ebp - 0x28], esp
push dword [ebp - 0x1c]
push 0x442d2
push dword [ebp + 8]
mov eax, 0x17
call fcn.0051cd5e
cmp dword [ebp - 0x28], esp
je 0x4ab95d
push 6
call fcn.0051cd58
add esp, 4
mov ebx, dword [ebp - 8]
push ebx
call fcn.0051cd52
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
add ebx, 0x24
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4ab980
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4ab994
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4ab9b6
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4ab9b2
imul eax, dword [ebx]
jmp 0x4ab9a7
mov ecx, eax
test ecx, ecx
je 0x4aba31
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4ab9d4
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4ab9e8
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4ab9fc
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4aba10
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4ab9bc
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 0x4c
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4aba4d
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 0x20
push ebx
mov ebx, dword [ebx]
push ebx
mov eax, dword [ebx]
call dword [eax]
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4aba93
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4aba8f
imul eax, dword [ebx]
jmp 0x4aba84
mov ecx, eax
test ecx, ecx
je 0x4abad6
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4abab1
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4abac5
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4aba99
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4abb00
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4abafc
imul eax, dword [ebx]
jmp 0x4abaf1
mov ecx, eax
test ecx, ecx
je 0x4abb1b
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4abb06
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 0x14
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4abb37
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 0x14
push ebx
mov ebx, dword [ebx]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4abb59
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4abb55
imul eax, dword [ebx]
jmp 0x4abb4a
mov ecx, eax
test ecx, ecx
je 0x4abc18
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4abb77
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4abb8b
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4abb9f
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4abbb3
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4abbc7
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4abbdb
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 0x14
push ebx
mov ebx, dword [ebx]
push ebx
mov eax, dword [ebx]
call dword [eax]
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4abc03
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4abb5f
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4abc42
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4abc3e
imul eax, dword [ebx]
jmp 0x4abc33
mov ecx, eax
test ecx, ecx
je 0x4abcdb
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 0x24
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
call fcn.0051cd52
add esp, 4
pop ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4abc48
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4abd05
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4abd01
imul eax, dword [ebx]
jmp 0x4abcf6
mov ecx, eax
test ecx, ecx
je 0x4abd9e
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 0x1c
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
call fcn.0051cd52
add esp, 4
pop ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4abd0b
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4abdc8
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4abdc4
imul eax, dword [ebx]
jmp 0x4abdb9
mov ecx, eax
test ecx, ecx
je 0x4abde3
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4abdce
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4abe0d
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4abe09
imul eax, dword [ebx]
jmp 0x4abdfe
mov ecx, eax
test ecx, ecx
je 0x4abe28
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4abe13
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4abe52
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4abe4e
imul eax, dword [ebx]
jmp 0x4abe43
mov ecx, eax
test ecx, ecx
je 0x4abe6d
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4abe58
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4abe97
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4abe93
imul eax, dword [ebx]
jmp 0x4abe88
mov ecx, eax
test ecx, ecx
je 0x4abeb2
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4abe9d
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4abedc
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4abed8
imul eax, dword [ebx]
jmp 0x4abecd
mov ecx, eax
test ecx, ecx
je 0x4abf0b
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 0x20
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4abefa
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4abee2
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4abf35
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4abf31
imul eax, dword [ebx]
jmp 0x4abf26
mov ecx, eax
test ecx, ecx
je 0x4abf50
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4abf3b
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4abf7a
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4abf76
imul eax, dword [ebx]
jmp 0x4abf6b
mov ecx, eax
test ecx, ecx
je 0x4abfa9
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4abf98
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4abf80
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4abfd3
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4abfcf
imul eax, dword [ebx]
jmp 0x4abfc4
mov ecx, eax
test ecx, ecx
je 0x4ac002
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 0x18
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4abff1
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4abfd9
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 0x20
push ebx
mov ebx, dword [ebx]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4ac02c
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4ac028
imul eax, dword [ebx]
jmp 0x4ac01d
mov ecx, eax
test ecx, ecx
je 0x4ac0a0
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 0x24
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4ac04a
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4ac06c
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4ac068
imul eax, dword [ebx]
jmp 0x4ac05d
mov ecx, eax
test ecx, ecx
je 0x4ac087
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4ac072
call fcn.0051cd52
add esp, 4
pop ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4ac032
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4ac0ca
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4ac0c6
imul eax, dword [ebx]
jmp 0x4ac0bb
mov ecx, eax
test ecx, ecx
je 0x4ac0e5
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4ac0d0
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051cd52
add esp, 4
pop ebx
call fcn.0051cd52
add esp, 4
mov ebx, dword [ebp - 0x24]
push ebx
call fcn.0051cd52
add esp, 4
mov esp, ebp
pop ebp
ret 0x5c