Function at 0x40ac9a
Capabilities:
Check for software breakpoints
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x80
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
push 0x14
call fcn.0045cf23
add esp, 4
mov dword [ebp - 0xc], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 5
rep stosd dword es:[edi], eax
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
push 0x4c
call fcn.0045cf23
add esp, 4
mov dword [ebp - 0x18], 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 0x10
call fcn.0045cf23
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x57588f
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
add ebx, 0xc
push ebx
push 0x1c
call fcn.0045cf23
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x575897
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 5
rep stosd dword es:[edi], eax
push 0x14
call fcn.0045cf23
add esp, 4
mov dword [ebp - 0x1c], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 5
rep stosd dword es:[edi], eax
add ebx, 4
push ebx
push 0x1c
call fcn.0045cf23
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
add ebx, 4
push ebx
push 0x7c
call fcn.0045cf23
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0x1f
rep stosd dword es:[edi], eax
add ebx, 0x78
push ebx
push 0x80
call fcn.0045cf23
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0x20
rep stosd dword es:[edi], eax
pop ebx
pop ebx
add ebx, 4
push ebx
push 0x208
call fcn.0045cf23
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x57589f
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, 0x80
push ecx
push ebx
push 0x28
call fcn.0045cf23
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0xa
rep stosd dword es:[edi], eax
push ebx
push 0x10
call fcn.0045cf23
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x57586f
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x40adf1
pop ebx
add ebx, 4
push ebx
push 0x208
call fcn.0045cf23
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x57589f
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x80
rep stosd dword es:[edi], eax
push 0x14
call fcn.0045cf23
add esp, 4
mov dword [ebp - 0x20], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 5
rep stosd dword es:[edi], eax
add ebx, 4
push ebx
push 0x1c
call fcn.0045cf23
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
add ebx, 4
push ebx
push 0x7c
call fcn.0045cf23
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0x1f
rep stosd dword es:[edi], eax
add ebx, 0x78
push ebx
push 0x80
call fcn.0045cf23
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0x20
rep stosd dword es:[edi], eax
pop ebx
pop ebx
add ebx, 4
push ebx
push 0x208
call fcn.0045cf23
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x57589f
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, 0x80
push ecx
push ebx
push 0x28
call fcn.0045cf23
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0xa
rep stosd dword es:[edi], eax
push ebx
push 0x10
call fcn.0045cf23
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x57586f
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x40af0f
pop ebx
add ebx, 4
push ebx
push 0x208
call fcn.0045cf23
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x57589f
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x80
rep stosd dword es:[edi], eax
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
push 0x2c
call fcn.0045cf23
add esp, 4
mov dword [ebp - 0x30], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0xb
rep stosd dword es:[edi], eax
push 8
call fcn.0045cf23
add esp, 4
mov dword [ebp - 0x34], eax
mov edi, eax
mov esi, 0x574de5
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 8
call fcn.0045cf23
add esp, 4
mov dword [ebp - 0x38], eax
mov edi, eax
mov esi, 0x574de5
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 8
call fcn.0045cf23
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x574de5
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], 0
mov ebx, dword [0x6606a0]
call fcn.00406795
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
jne 0x40f121
xor ecx, ecx
lea eax, [ebp - 4]
mov ebx, eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
cmp ecx, 3
jg 0x40f11e
cmp dword [ebp - 4], 1
jne 0x40b090
mov eax, 0x575839
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
push eax
call fcn.0040a6e9
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x40b073
push ebx
call fcn.0045cf1d
add esp, 4
mov eax, dword [ebp - 0x50]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40b087
push ebx
call fcn.0045cf1d
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x40b12b
cmp dword [ebp - 4], 2
jne 0x40b0db
mov eax, 0x57584a
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
push eax
call fcn.0040a6e9
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x40b0be
push ebx
call fcn.0045cf1d
add esp, 4
mov eax, dword [ebp - 0x50]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40b0d2
push ebx
call fcn.0045cf1d
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x40b12b
cmp dword [ebp - 4], 3
jne 0x40b126
mov eax, 0x57585c
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
push eax
call fcn.0040a6e9
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x40b109
push ebx
call fcn.0045cf1d
add esp, 4
mov eax, dword [ebp - 0x50]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40b11d
push ebx
call fcn.0045cf1d
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x40b12b
jmp 0x40f121
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x4c], ebx
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0
push 0
push 0
push 1
mov ebx, 0x45fe50
call fcn.0045cf29
add esp, 0x10
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
push eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x40b168
push ebx
call fcn.0045cf1d
add esp, 4
pop eax
mov dword [ebp - 0x10], eax
call fcn.0040f31d
mov dword [ebp - 0x4c], eax
push dword [ebp - 8]
push 0x57586d
push dword [ebp - 0x4c]
mov ecx, 3
call fcn.0040106f
add esp, 0xc
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x40b19f
push ebx
call fcn.0045cf1d
add esp, 4
mov dword [ebp - 0x54], esp
push 0
push dword [ebp - 0x10]
push dword [ebp - 0x50]
mov eax, 0x14
call fcn.0045cf35
cmp dword [ebp - 0x54], esp
je 0x40b1c9
push 6
call fcn.0045cf2f
add esp, 4
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x40b1d9
push ebx
call fcn.0045cf1d
add esp, 4
mov dword [ebp - 0x4c], esp
push 0
push 0
push 3
push 0
push 1
push 0x80000000
push dword [ebp - 0x10]
mov eax, 0x15
call fcn.0045cf35
cmp dword [ebp - 0x4c], esp
je 0x40b219
push 6
call fcn.0045cf2f
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x40f0d3
mov dword [ebp - 0x4c], esp
push 0
push 0
push 0
push dword [ebp - 0x14]
mov eax, 0x16
call fcn.0045cf35
cmp dword [ebp - 0x4c], esp
je 0x40b257
push 6
call fcn.0045cf2f
add esp, 4
mov dword [ebp - 0x4c], esp
push 0
mov eax, 0
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
push 0x40
mov eax, dword [ebp - 0x18]
push eax
push 0x40
call fcn.0045cf23
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], eax
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 4
mov esi, ebx
shl ecx, 1
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0xa
mov esi, ebx
shl ecx, 1
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push dword [ebp - 0x14]
mov eax, 0x17
call fcn.0045cf35
cmp dword [ebp - 0x4c], esp
je 0x40b394
push 6
call fcn.0045cf2f
add esp, 4
push eax
mov ebx, dword [ebp - 0x54]
push ebx
mov edi, dword [ebp - 0x58]
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 2
mov eax, 2
call fcn.0045cf17
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40b465
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40b463
imul eax, dword [edi]
jmp 0x40b458
mov ecx, eax
cmp ecx, 4
jle 0x40b46f
mov ecx, 4
mov esi, ebx
shl ecx, 1
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 8
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 2
mov eax, 2
call fcn.0045cf17
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40b4c2
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40b4c0
imul eax, dword [edi]
jmp 0x40b4b5
mov ecx, eax
cmp ecx, 0xa
jle 0x40b4cc
mov ecx, 0xa
mov esi, ebx
shl ecx, 1
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x14
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
call fcn.0045cf1d
add esp, 4
pop eax
test eax, eax
je 0x40b510
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x60]
cmp word [ebx], 0x5a4d
jne 0x40b510
mov eax, 1
jmp 0x40b512
xor eax, eax
test eax, eax
je 0x40f0d3
mov ebx, dword [ebp - 0x18]
add ebx, 0x48
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x50], esp
push 0
push 0
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
push dword [ebp - 0x14]
mov eax, 0x16
call fcn.0045cf35
cmp dword [ebp - 0x50], esp
je 0x40b554
push 6
call fcn.0045cf2f
add esp, 4
mov eax, dword [ebp - 0x20]
push eax
push 0x14
call fcn.0045cf23
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
push eax
push 0x1c
call fcn.0045cf23
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 0x7c
call fcn.0045cf23
add esp, 4
pop esi
mov edi, eax
push eax
mov ecx, 0x1e
rep movsd dword es:[edi], dword [esi]
lodsd eax, dword [esi]
push esi
push edi
push eax
push 0x80
call fcn.0045cf23
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
mov ebx, eax
call fcn.004024f4
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.0045cf23
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 0x40b635
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
push eax
push 0x28
call fcn.0045cf23
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
push esi
push edi
push eax
push eax
mov ebx, eax
call fcn.004024f4
pop eax
sub ebx, eax
add ecx, ebx
push ecx
call fcn.0045cf23
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, 9
rep movsd dword es:[edi], dword [esi]
pop eax
pop ecx
pop edi
pop esi
stosd dword es:[edi], eax
dec ecx
jne 0x40b5eb
pop eax
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
push eax
mov ebx, eax
call fcn.004024f4
pop eax
sub ebx, eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.0045cf23
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
push eax
mov ebx, dword [ebp - 0x1c]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0045cf1d
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 0x78
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0045cf1d
add esp, 4
pop ebx
call fcn.0045cf1d
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 0x40b6b2
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40b6ae
imul eax, dword [ebx]
jmp 0x40b6a3
mov ecx, eax
test ecx, ecx
je 0x40b6da
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0045cf1d
add esp, 4
pop ebx
call fcn.0045cf1d
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40b6b8
call fcn.0045cf1d
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0045cf1d
add esp, 4
pop ebx
call fcn.0045cf1d
add esp, 4
pop eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x4c], esp
push 0
mov eax, 0
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
push 0xf8
mov eax, dword [ebp - 0x1c]
push eax
push 0x16f8
call fcn.0045cf23
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
pop ebx
add ebx, 4
pop ebx
add ebx, 4
push ebx
mov ecx, 0x80
mov ebx, dword [ebx]
add ebx, 8
push ebx
push ecx
mov ebx, dword [ebx]
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
pop ecx
pop ebx
add ebx, 4
dec ecx
jne 0x40ba1b
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x80
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
pop ebx
add ebx, 4
push dword [ebp - 0x14]
mov eax, 0x18
call fcn.0045cf35
cmp dword [ebp - 0x4c], esp
je 0x40bad6
push 6
call fcn.0045cf2f
add esp, 4
push eax
mov ebx, dword [ebp - 0x54]
push ebx
mov edi, dword [ebp - 0x58]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push edi
mov edi, dword [edi]
push ebx
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
pop ebx
add ebx, 0x14
pop edi
add edi, 4
push edi
mov edi, dword [edi]
push ebx
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push edi
mov edi, dword [edi]
push ebx
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
pop ebx
add ebx, 0x80
pop edi
add edi, 4
pop ebx
add ebx, 0xe0
pop edi
add edi, 4
push edi
mov edi, dword [edi]
mov ecx, 0x80
add edi, 8
push ebx
push edi
push ecx
mov edi, dword [edi]
push ebx
push edi
push 1
mov eax, 2
call fcn.0045cf17
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40be12
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40be10
imul eax, dword [edi]
jmp 0x40be05
mov ecx, eax
cmp ecx, 8
jle 0x40be1c
mov ecx, 8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 8
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
pop ecx
pop edi
pop ebx
add edi, 4
add ebx, 0x28
dec ecx
jne 0x40bdde
pop edi
add edi, 4
push ebx
push edi
push 4
mov eax, 2
call fcn.0045cf17
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40beca
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40bec8
imul eax, dword [edi]
jmp 0x40bebd
mov ecx, eax
cmp ecx, 0x80
jle 0x40bed7
mov ecx, 0x80
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x200
call fcn.0045cf1d
add esp, 4
pop eax
test eax, eax
je 0x40bf13
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x60]
cmp dword [ebx], 0x4550
jne 0x40bf13
mov eax, 1
jmp 0x40bf15
xor eax, eax
test eax, eax
je 0x40f0d3
mov ebx, dword [ebp - 0x1c]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 4]
add ebx, 4
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x58], 1
mov ebx, dword [ebp - 0x50]
mov ax, word [ebx]
cwde
cmp eax, 0
jge 0x40bf52
push 0xa
call fcn.0045cf2f
add esp, 4
mov dword [ebp - 0x54], eax
lea ebx, [ebp - 0x58]
call fcn.004024f4
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.0045cf23
add esp, 4
mov edi, eax
mov dword [edi], 1
add edi, 4
pop ecx
push eax
push ecx
lea esi, [ebp - 0x54]
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov ebx, dword [ebp - 0x4c]
mov ebx, dword [ebx]
call fcn.004024f4
pop edx
test ecx, ecx
je 0x40bfb9
push edi
push edx
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0045cf1d
add esp, 4
pop ebx
call fcn.0045cf1d
add esp, 4
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x40bf95
pop edx
pop edi
test edx, edx
je 0x40c00b
mov ebx, edi
push edx
push ebx
push 0x28
call fcn.0045cf23
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0xa
rep stosd dword es:[edi], eax
push ebx
push 0x10
call fcn.0045cf23
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x57586f
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
pop ebx
pop edx
add ebx, 4
dec edx
jne 0x40bfc3
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
call fcn.0045cf1d
add esp, 4
pop eax
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x1c]
add ebx, 0x10
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 4]
add ebx, 4
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x58], 1
mov ebx, dword [ebp - 0x50]
mov ax, word [ebx]
cwde
cmp eax, 0
jge 0x40c053
push 0xa
call fcn.0045cf2f
add esp, 4
mov dword [ebp - 0x54], eax
lea ebx, [ebp - 0x58]
call fcn.004024f4
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.0045cf23
add esp, 4
mov edi, eax
mov dword [edi], 1
add edi, 4
pop ecx
push eax
push ecx
lea esi, [ebp - 0x54]
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov ebx, dword [ebp - 0x4c]
mov ebx, dword [ebx]
call fcn.004024f4
pop edx
test edx, edx
je 0x40c09a
mov ecx, edx
xor eax, eax
rep stosd dword es:[edi], eax
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
call fcn.0045cf1d
add esp, 4
pop eax
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 4]
add ebx, 0x14
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov ax, word [ebx]
cwde
mov dword [ebp - 0x54], eax
fild dword [ebp - 0x54]
fstp qword [ebp - 0x54]
fld qword [ebp - 0x54]
fsub qword [0x575877]
fstp qword [ebp - 0x5c]
mov dword [ebp - 0x60], esp
push 1
push 0
fld qword [ebp - 0x5c]
call fcn.004024cd
push eax
push dword [ebp - 0x14]
mov eax, 0x16
call fcn.0045cf35
cmp dword [ebp - 0x60], esp
je 0x40c10a
push 6
call fcn.0045cf2f
add esp, 4
mov ebx, dword [ebp - 0x1c]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 4]
add ebx, 4
mov dword [ebp - 0x50], ebx
mov ebx, dword [ebp - 0x50]
mov ax, word [ebx]
cwde
mov dword [ebp - 0x58], eax
fild dword [ebp - 0x58]
fstp qword [ebp - 0x58]
fld qword [ebp - 0x58]
fmul qword [0x57587f]
fstp qword [ebp - 0x60]
mov dword [ebp - 0x64], esp
push 0
mov eax, 0
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x68]
push eax
fld qword [ebp - 0x60]
call fcn.004024cd
push eax
mov ebx, dword [ebp - 0x4c]
mov ebx, dword [ebx]
call fcn.004024f4
push ebx
mov dword [ebp - 0x6c], ecx
test ecx, ecx
jne 0x40c16e
xor eax, eax
jmp 0x40c17a
imul ecx, ecx, 0x28
push ecx
call fcn.0045cf23
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
je 0x40c21d
push ecx
push edi
push ebx
mov ebx, dword [ebx]
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
pop ebx
pop edi
pop ecx
dec ecx
je 0x40c21d
add ebx, 4
add edi, 0x28
jmp 0x40c18f
push dword [ebp - 0x14]
mov eax, 0x19
call fcn.0045cf35
cmp dword [ebp - 0x64], esp
je 0x40c23c
push 6
call fcn.0045cf2f
add esp, 4
push eax
mov ebx, dword [ebp - 0x70]
push ebx
mov edi, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
je 0x40c30c
push ecx
push edi
push ebx
mov edi, dword [edi]
push ebx
push edi
push 1
mov eax, 2
call fcn.0045cf17
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40c283
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40c281
imul eax, dword [edi]
jmp 0x40c276
mov ecx, eax
cmp ecx, 8
jle 0x40c28d
mov ecx, 8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 8
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
pop ebx
pop edi
pop ecx
dec ecx
je 0x40c30c
add ebx, 0x28
add edi, 4
jmp 0x40c24f
call fcn.0045cf1d
add esp, 4
pop eax
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 4]
add ebx, 4
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov ax, word [ebx]
cwde
xor ecx, ecx
push eax
lea eax, [ebp - 0x24]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x40c428
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0x10]
call fcn.004024f4
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40c35f
push 4
call fcn.0045cf2f
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40c372
push 1
call fcn.0045cf2f
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.004024f4
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40c39a
push 4
call fcn.0045cf2f
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40c3ad
push 1
call fcn.0045cf2f
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x50], ebx
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.004024f4
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40c3da
push 4
call fcn.0045cf2f
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40c3ed
push 1
call fcn.0045cf2f
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x10
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x50]
fild dword [ebx]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
mov ebx, dword [ebp - 0x54]
fild dword [ebx]
fstp qword [ebp - 0x64]
fsub qword [ebp - 0x64]
fstp qword [ebp - 0x6c]
fld qword [ebp - 0x6c]
call fcn.004024cd
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
pop eax
pop ebx
pop ecx
jmp 0x40c331
add esp, 0xc
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 8]
mov ebx, dword [ebx + 0x78]
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 4]
add ebx, 4
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov ax, word [ebx]
cwde
xor ecx, ecx
push eax
lea eax, [ebp - 0x24]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x40c5ee
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.004024f4
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40c489
push 4
call fcn.0045cf2f
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40c49c
push 1
call fcn.0045cf2f
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
cmp dword [ebp - 0x28], eax
jl 0x40c574
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.004024f4
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40c4d7
push 4
call fcn.0045cf2f
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40c4ea
push 1
call fcn.0045cf2f
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.004024f4
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40c517
push 4
call fcn.0045cf2f
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40c52a
push 1
call fcn.0045cf2f
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x58], ebx
mov ebx, dword [ebp - 0x54]
fild dword [ebx]
fstp qword [ebp - 0x60]
fld qword [ebp - 0x60]
mov ebx, dword [ebp - 0x58]
fild dword [ebx]
fstp qword [ebp - 0x68]
fadd qword [ebp - 0x68]
fstp qword [ebp - 0x70]
fild dword [ebp - 0x28]
fstp qword [ebp - 0x78]
fld qword [ebp - 0x78]
fsub qword [ebp - 0x70]
fcomp qword [0x574e77]
fnstsw ax
test ah, 0x41
je 0x40c574
mov eax, 1
jmp 0x40c576
xor eax, eax
test eax, eax
je 0x40c5e6
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0x10]
call fcn.004024f4
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40c59e
push 4
call fcn.0045cf2f
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40c5b1
push 1
call fcn.0045cf2f
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
fild dword [ebp - 0x28]
fstp qword [ebp - 0x50]
fld qword [ebp - 0x50]
fild dword [ebp - 0x2c]
fstp qword [ebp - 0x58]
fsub qword [ebp - 0x58]
fstp qword [ebp - 0x60]
fld qword [ebp - 0x60]
call fcn.004024cd
mov dword [ebp - 0x28], eax
jmp 0x40c5ee
pop eax
pop ebx
pop ecx
jmp 0x40c45b
add esp, 0xc
cmp dword [ebp - 0x28], 0
jle 0x40f0d3
mov dword [ebp - 0x4c], esp
push 0
push 0
push dword [ebp - 0x28]
push dword [ebp - 0x14]
mov eax, 0x16
call fcn.0045cf35
cmp dword [ebp - 0x4c], esp
je 0x40c62a
push 6
call fcn.0045cf2f
add esp, 4
mov dword [ebp - 0x4c], esp
push 0
mov eax, 0
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
push 0x28
mov eax, dword [ebp - 0x30]
push eax
push 0x28
call fcn.0045cf23
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push dword [ebp - 0x14]
mov eax, 0x1a
call fcn.0045cf35
cmp dword [ebp - 0x4c], esp
je 0x40c6ed
push 6
call fcn.0045cf2f
add esp, 4
push eax
mov ebx, dword [ebp - 0x54]
push ebx
mov edi, dword [ebp - 0x58]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
call fcn.0045cf1d
add esp, 4
pop eax
mov ebx, dword [ebp - 0x30]
add ebx, 0x20
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x30]
add ebx, 0x20
mov dword [ebp - 0x50], ebx
mov ebx, dword [ebp - 0x50]
fild dword [ebx]
fstp qword [ebp - 0x58]
fld qword [ebp - 0x58]
fild dword [ebp - 0x2c]
fstp qword [ebp - 0x60]
fsub qword [ebp - 0x60]
fstp qword [ebp - 0x68]
fld qword [ebp - 0x68]
call fcn.004024cd
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x30]
add ebx, 0x18
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x54], 1
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
cmp eax, 0
jge 0x40c7cb
push 0xa
call fcn.0045cf2f
add esp, 4
mov dword [ebp - 0x50], eax
lea ebx, [ebp - 0x54]
call fcn.004024f4
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.0045cf23
add esp, 4
mov edi, eax
mov dword [edi], 1
add edi, 4
pop ecx
push eax
push ecx
lea esi, [ebp - 0x50]
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov ebx, dword [ebp - 0x34]
call fcn.004024f4
pop edx
test edx, edx
je 0x40c810
mov ecx, edx
xor eax, eax
rep stosd dword es:[edi], eax
push dword [ebp - 0x34]
call fcn.0045cf1d
add esp, 4
pop eax
mov dword [ebp - 0x34], eax
mov ebx, dword [ebp - 0x30]
add ebx, 0x20
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x50], esp
push 0
push 0
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
push dword [ebp - 0x14]
mov eax, 0x16
call fcn.0045cf35
cmp dword [ebp - 0x50], esp
je 0x40c859
push 6
call fcn.0045cf2f
add esp, 4
mov ebx, dword [ebp - 0x30]
add ebx, 0x18
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
fild dword [ebx]
fstp qword [ebp - 0x54]
fld qword [ebp - 0x54]
fmul qword [0x575887]
fstp qword [ebp - 0x5c]
mov dword [ebp - 0x60], esp
push 0
mov eax, 0
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x64]
push eax
fld qword [ebp - 0x5c]
call fcn.004024cd
push eax
mov ebx, dword [ebp - 0x34]
call fcn.004024f4
push ebx
push dword [ebp - 0x14]
mov eax, 0x1b
call fcn.0045cf35
cmp dword [ebp - 0x60], esp
je 0x40c8bb
push 6
call fcn.0045cf2f
add esp, 4
mov ebx, dword [ebp - 0x30]
add ebx, 0x28
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x30]
add ebx, 0x28
mov dword [ebp - 0x50], ebx
mov ebx, dword [ebp - 0x50]
fild dword [ebx]
fstp qword [ebp - 0x58]
fld qword [ebp - 0x58]
fild dword [ebp - 0x2c]
fstp qword [ebp - 0x60]
fsub qword [ebp - 0x60]
fstp qword [ebp - 0x68]
fld qword [ebp - 0x68]
call fcn.004024cd
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x30]
add ebx, 0x1c
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x54], 1
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
cmp eax, 0
jge 0x40c918
push 0xa
call fcn.0045cf2f
add esp, 4
mov dword [ebp - 0x50], eax
lea ebx, [ebp - 0x54]
call fcn.004024f4
push ecx
shl ecx, 1
add ecx, 8
push ecx
call fcn.0045cf23
add esp, 4
mov edi, eax
mov dword [edi], 1
add edi, 4
pop ecx
push eax
push ecx
lea esi, [ebp - 0x50]
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov ebx, dword [ebp - 0x38]
call fcn.004024f4
pop edx
test edx, edx
je 0x40c95e
mov ecx, edx
xor eax, eax
shl ecx, 1
rep stosb byte es:[edi], al
push dword [ebp - 0x38]
call fcn.0045cf1d
add esp, 4
pop eax
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x30]
add ebx, 0x28
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x50], esp
push 0
push 0
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
push dword [ebp - 0x14]
mov eax, 0x16
call fcn.0045cf35
cmp dword [ebp - 0x50], esp
je 0x40c9a7
push 6
call fcn.0045cf2f
add esp, 4
mov ebx, dword [ebp - 0x30]
add ebx, 0x1c
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
fild dword [ebx]
fstp qword [ebp - 0x54]
fld qword [ebp - 0x54]
fmul qword [0x574ded]
fstp qword [ebp - 0x5c]
mov dword [ebp - 0x60], esp
push 0
mov eax, 0
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x64]
push eax
fld qword [ebp - 0x5c]
call fcn.004024cd
push eax
mov ebx, dword [ebp - 0x38]
call fcn.004024f4
push ebx
push dword [ebp - 0x14]
mov eax, 0x1c
call fcn.0045cf35
cmp dword [ebp - 0x60], esp
je 0x40ca09
push 6
call fcn.0045cf2f
add esp, 4
mov ebx, dword [ebp - 0x30]
add ebx, 0x24
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x30]
add ebx, 0x24
mov dword [ebp - 0x50], ebx
mov ebx, dword [ebp - 0x50]
fild dword [ebx]
fstp qword [ebp - 0x58]
fld qword [ebp - 0x58]
fild dword [ebp - 0x2c]
fstp qword [ebp - 0x60]
fsub qword [ebp - 0x60]
fstp qword [ebp - 0x68]
fld qword [ebp - 0x68]
call fcn.004024cd
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x30]
add ebx, 0x1c
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x54], 1
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
cmp eax, 0
jge 0x40ca66
push 0xa
call fcn.0045cf2f
add esp, 4
mov dword [ebp - 0x50], eax
lea ebx, [ebp - 0x54]
call fcn.004024f4
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.0045cf23
add esp, 4
mov edi, eax
mov dword [edi], 1
add edi, 4
pop ecx
push eax
push ecx
lea esi, [ebp - 0x50]
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov ebx, dword [ebp - 0x3c]
call fcn.004024f4
pop edx
test edx, edx
je 0x40caab
mov ecx, edx
xor eax, eax
rep stosd dword es:[edi], eax
push dword [ebp - 0x3c]
call fcn.0045cf1d
add esp, 4
pop eax
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x30]
add ebx, 0x24
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x50], esp
push 0
push 0
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
push dword [ebp - 0x14]
mov eax, 0x16
call fcn.0045cf35
cmp dword [ebp - 0x50], esp
je 0x40caf4
push 6
call fcn.0045cf2f
add esp, 4
mov ebx, dword [ebp - 0x30]
add ebx, 0x1c
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
fild dword [ebx]
fstp qword [ebp - 0x54]
fld qword [ebp - 0x54]
fmul qword [0x575887]
fstp qword [ebp - 0x5c]
mov dword [ebp - 0x60], esp
push 0
mov eax, 0
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x64]
push eax
fld qword [ebp - 0x5c]
call fcn.004024cd
push eax
mov ebx, dword [ebp - 0x3c]
call fcn.004024f4
push ebx
push dword [ebp - 0x14]
mov eax, 0x1b
call fcn.0045cf35
cmp dword [ebp - 0x60], esp
je 0x40cb56
push 6
call fcn.0045cf2f
add esp, 4
mov ebx, dword [ebp - 0x30]
add ebx, 0x1c
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
xor ecx, ecx
push eax
lea eax, [ebp - 0x24]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x40f0d0
push 0x80000301
push 0
push 0x80
push 1
mov ebx, 0x45ef60
call fcn.0045cf29
add esp, 0x10
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
push eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x40cbb0
push ebx
call fcn.0045cf1d
add esp, 4
pop eax
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
call fcn.004024f4
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40cbd1
push 4
call fcn.0045cf2f
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40cbe4
push 1
call fcn.0045cf2f
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x3c]
call fcn.004024f4
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40cc09
push 4
call fcn.0045cf2f
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40cc1c
push 1
call fcn.0045cf2f
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x50], ebx
mov ebx, dword [ebp - 0x50]
fild dword [ebx]
fstp qword [ebp - 0x58]
fld qword [ebp - 0x58]
fild dword [ebp - 0x2c]
fstp qword [ebp - 0x60]
fsub qword [ebp - 0x60]
fstp qword [ebp - 0x68]
fld qword [ebp - 0x68]
call fcn.004024cd
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x3c]
call fcn.004024f4
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40cc65
push 4
call fcn.0045cf2f
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40cc78
push 1
call fcn.0045cf2f
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x50], esp
push 0
push 0
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
push dword [ebp - 0x14]
mov eax, 0x16
call fcn.0045cf35
cmp dword [ebp - 0x50], esp
je 0x40ccb1
push 6
call fcn.0045cf2f
add esp, 4
mov dword [ebp - 0x4c], esp
push 0
mov eax, 0
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
push 0x80
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x40ccd4
add eax, 8
push eax
push dword [ebp - 0x14]
mov eax, 0x1d
call fcn.0045cf35
cmp dword [ebp - 0x4c], esp
je 0x40ccf4
push 6
call fcn.0045cf2f
add esp, 4
cmp dword [ebp - 4], 1
jne 0x40cd72
mov ebx, dword [ebp - 0x40]
call fcn.004024f4
mov eax, 0
cmp eax, ecx
jl 0x40cd1c
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x5a
jne 0x40cd60
mov ebx, dword [ebp - 0x40]
call fcn.004024f4
mov eax, 1
cmp eax, ecx
jl 0x40cd4b
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x77
jne 0x40cd60
xor eax, eax
jmp 0x40cd65
mov eax, 1
test eax, eax
je 0x40cd72
jmp 0x40f0c8
mov ebx, dword [ebp - 0x34]
call fcn.004024f4
push ebx
push ecx
mov ebx, dword [ebp - 0x38]
call fcn.004024f4
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40cd99
push 4
call fcn.0045cf2f
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40cdac
push 1
call fcn.0045cf2f
add esp, 4
shl eax, 1
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov ax, word [ebx]
cwde
mov dword [ebp - 0x54], eax
fild dword [ebp - 0x54]
fstp qword [ebp - 0x54]
fld qword [ebp - 0x54]
fadd qword [0x574df5]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
call fcn.004024cd
dec eax
jns 0x40cde7
push 4
call fcn.0045cf2f
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40cdfa
push 1
call fcn.0045cf2f
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x60]
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jne 0x40ce19
jmp 0x40f0c8
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 4]
add ebx, 4
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov ax, word [ebx]
cwde
xor ecx, ecx
push eax
lea eax, [ebp - 0x24]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x40cfc2
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.004024f4
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40ce63
push 4
call fcn.0045cf2f
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40ce76
push 1
call fcn.0045cf2f
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
cmp dword [ebp - 0x44], eax
jl 0x40cf4e
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.004024f4
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40ceb1
push 4
call fcn.0045cf2f
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40cec4
push 1
call fcn.0045cf2f
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.004024f4
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40cef1
push 4
call fcn.0045cf2f
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40cf04
push 1
call fcn.0045cf2f
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x58], ebx
mov ebx, dword [ebp - 0x54]
fild dword [ebx]
fstp qword [ebp - 0x60]
fld qword [ebp - 0x60]
mov ebx, dword [ebp - 0x58]
fild dword [ebx]
fstp qword [ebp - 0x68]
fadd qword [ebp - 0x68]
fstp qword [ebp - 0x70]
fild dword [ebp - 0x44]
fstp qword [ebp - 0x78]
fld qword [ebp - 0x78]
fsub qword [ebp - 0x70]
fcomp qword [0x574e77]
fnstsw ax
test ah, 0x41
je 0x40cf4e
mov eax, 1
jmp 0x40cf50
xor eax, eax
test eax, eax
je 0x40cfba
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0x10]
call fcn.004024f4
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40cf78
push 4
call fcn.0045cf2f
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40cf8b
push 1
call fcn.0045cf2f
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x4c], ebx
fild dword [ebp - 0x44]
fstp qword [ebp - 0x54]
fld qword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
fild dword [ebx]
fstp qword [ebp - 0x5c]
fsub qword [ebp - 0x5c]
fstp qword [ebp - 0x64]
fld qword [ebp - 0x64]
call fcn.004024cd
mov dword [ebp - 0x44], eax
jmp 0x40cfc2
pop eax
pop ebx
pop ecx
jmp 0x40ce35
add esp, 0xc
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 4]
add ebx, 4
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov ax, word [ebx]
cwde
cmp dword [ebp - 0x24], eax
jle 0x40cfe6
jmp 0x40f0c8
push 0x80000301
push 0
push 0x20
push 1
mov ebx, 0x45ef60
call fcn.0045cf29
add esp, 0x10
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
push eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x40d01b
push ebx
call fcn.0045cf1d
add esp, 4
pop eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x4c], esp
push 0
push 0
push dword [ebp - 0x44]
push dword [ebp - 0x14]
mov eax, 0x16
call fcn.0045cf35
cmp dword [ebp - 0x4c], esp
je 0x40d04e
push 6
call fcn.0045cf2f
add esp, 4
mov dword [ebp - 0x4c], esp
push 0
mov eax, 0
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
push 0x20
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x40d071
add eax, 8
push eax
push dword [ebp - 0x14]
mov eax, 0x1d
call fcn.0045cf35
cmp dword [ebp - 0x4c], esp
je 0x40d091
push 6
call fcn.0045cf2f
add esp, 4
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0
cmp eax, ecx
jl 0x40d0af
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xb8
je 0x40d0c5
jmp 0x40f0c8
mov ebx, dword [ebp - 0xc]
add ebx, 4
mov dword [ebp - 0x4c], ebx
push 0x80000005
push 0
mov eax, dword [ebp - 0x40]
test eax, eax
jne 0x40d0e1
mov eax, 0x574de5
push eax
push 1
mov ebx, 0x45f230
call fcn.0045cf29
add esp, 0x10
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
push eax
mov ebx, dword [ebp - 0x4c]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40d10d
push ebx
call fcn.0045cf1d
add esp, 4
pop eax
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [0x6606a4]
add ebx, 4
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp dword [ebx], 5
jne 0x40d14a
mov ebx, dword [0x6606a4]
add ebx, 8
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp dword [ebx], 0
jne 0x40d14a
mov eax, 1
jmp 0x40d14c
xor eax, eax
test eax, eax
je 0x40d958
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 9
cmp eax, ecx
jl 0x40d172
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xcd
jne 0x40d1b9
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0xa
cmp eax, ecx
jl 0x40d1a1
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x2e
jne 0x40d1b9
mov eax, 1
jmp 0x40d1bb
xor eax, eax
test eax, eax
je 0x40d953
mov ebx, dword [ebp - 0xc]
add ebx, 8
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 2
push 0x80000301
push 0
push 3
push 0x80000005
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40d1f7
mov eax, 0x574de5
push eax
push 3
mov ebx, 0x45ebf0
call fcn.0045cf29
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x40d22b
and eax, 0xff
jmp 0x40d276
cmp ecx, 0x80000201
jne 0x40d236
cwde
jmp 0x40d276
cmp ecx, 0x80000301
je 0x40d276
cmp ecx, 0x80000401
je 0x40d276
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40d266
cmp ecx, 0x80000601
je 0x40d26b
push 2
call fcn.0045cf2f
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40d271
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004024cd
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0xb
cmp eax, ecx
jl 0x40d299
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40d41d
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 0xd
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40d2de
mov eax, 0x574de5
push eax
push 3
mov ebx, 0x45ebf0
call fcn.0045cf29
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x40d312
and eax, 0xff
jmp 0x40d35d
cmp ecx, 0x80000201
jne 0x40d31d
cwde
jmp 0x40d35d
cmp ecx, 0x80000301
je 0x40d35d
cmp ecx, 0x80000401
je 0x40d35d
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40d34d
cmp ecx, 0x80000601
je 0x40d352
push 2
call fcn.0045cf2f
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40d358
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004024cd
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x6606a0
push 4
mov eax, 2
call fcn.0045cf17
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x6606a0]
mov dword [ebp - 0x50], ebx
call fcn.004024f4
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40d3a9
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0045cf3b
add esp, 8
mov dword [0x6606a0], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0045cf23
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 0x40d405
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0045cf23
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
jmp 0x40f0c8
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0xb
cmp eax, ecx
jl 0x40d43b
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
jne 0x40d519
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
push 0x6606a0
push 4
mov eax, 2
call fcn.0045cf17
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x6606a0]
mov dword [ebp - 0x50], ebx
call fcn.004024f4
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40d4a5
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0045cf3b
add esp, 8
mov dword [0x6606a0], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0045cf23
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 0x40d501
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0045cf23
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
jmp 0x40f0c8
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0xb
cmp eax, ecx
jl 0x40d537
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xe9
jne 0x40d953
push 0x80000301
push 0
push 0xd
push 0x80000301
push 0
push 3
push 0x80000005
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40d573
mov eax, 0x574de5
push eax
push 3
mov ebx, 0x45ebf0
call fcn.0045cf29
add esp, 0x28
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], ecx
fild dword [ebp - 0x44]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x54]
cmp ecx, 0x80000101
jne 0x40d5b0
and eax, 0xff
jmp 0x40d5d6
cmp ecx, 0x80000201
jne 0x40d5bb
cwde
jmp 0x40d5d6
mov dword [ebp - 0x64], eax
cmp ecx, 0x80000301
je 0x40d5d9
cmp ecx, 0x80000401
jne 0x40d5de
mov dword [ebp - 0x60], edx
fild qword [ebp - 0x64]
jmp 0x40d600
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
jmp 0x40d600
cmp ecx, 0x80000501
jne 0x40d5eb
fld dword [ebp - 0x64]
jmp 0x40d600
cmp ecx, 0x80000601
je 0x40d609
push 2
call fcn.0045cf2f
add esp, 4
fstp qword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
fadd qword [ebp - 0x64]
fadd qword [0x574e15]
fstp qword [ebp - 0x6c]
mov ecx, dword [ebp - 0x4c]
cmp ecx, 0x80000004
je 0x40d632
cmp ecx, 0x80000005
jne 0x40d642
mov ebx, dword [ebp - 0x54]
test ebx, ebx
je 0x40d642
push ebx
call fcn.0045cf1d
add esp, 4
mov dword [ebp - 0x70], esp
push 0
push 0
fld qword [ebp - 0x6c]
call fcn.004024cd
push eax
push dword [ebp - 0x14]
mov eax, 0x16
call fcn.0045cf35
cmp dword [ebp - 0x70], esp
je 0x40d677
push 6
call fcn.0045cf2f
add esp, 4
mov dword [ebp - 0x4c], esp
push 0
mov eax, 0
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
push 3
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x40d69a
add eax, 8
push eax
push dword [ebp - 0x14]
mov eax, 0x1d
call fcn.0045cf35
cmp dword [ebp - 0x4c], esp
je 0x40d6ba
push 6
call fcn.0045cf2f
add esp, 4
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0
cmp eax, ecx
jl 0x40d6d8
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40d85c
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 2
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40d71d
mov eax, 0x574de5
push eax
push 3
mov ebx, 0x45ebf0
call fcn.0045cf29
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x40d751
and eax, 0xff
jmp 0x40d79c
cmp ecx, 0x80000201
jne 0x40d75c
cwde
jmp 0x40d79c
cmp ecx, 0x80000301
je 0x40d79c
cmp ecx, 0x80000401
je 0x40d79c
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40d78c
cmp ecx, 0x80000601
je 0x40d791
push 2
call fcn.0045cf2f
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40d797
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004024cd
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x6606a0
push 4
mov eax, 2
call fcn.0045cf17
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x6606a0]
mov dword [ebp - 0x50], ebx
call fcn.004024f4
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40d7e8
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0045cf3b
add esp, 8
mov dword [0x6606a0], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0045cf23
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 0x40d844
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0045cf23
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
jmp 0x40f0c8
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0
cmp eax, ecx
jl 0x40d87a
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
jne 0x40d953
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
push 0x6606a0
push 4
mov eax, 2
call fcn.0045cf17
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x6606a0]
mov dword [ebp - 0x50], ebx
call fcn.004024f4
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40d8e4
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0045cf3b
add esp, 8
mov dword [0x6606a0], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0045cf23
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 0x40d940
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0045cf23
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
jmp 0x40f0c8
jmp 0x40f0c8
mov ebx, dword [0x6606a4]
add ebx, 0x1c
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp dword [ebx], 0
je 0x40ec99
mov ebx, dword [ebp - 0xc]
add ebx, 8
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 2
push 0x80000301
push 0
push 3
push 0x80000005
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40d9a4
mov eax, 0x574de5
push eax
push 3
mov ebx, 0x45ebf0
call fcn.0045cf29
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x40d9d8
and eax, 0xff
jmp 0x40da23
cmp ecx, 0x80000201
jne 0x40d9e3
cwde
jmp 0x40da23
cmp ecx, 0x80000301
je 0x40da23
cmp ecx, 0x80000401
je 0x40da23
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40da13
cmp ecx, 0x80000601
je 0x40da18
push 2
call fcn.0045cf2f
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40da1e
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004024cd
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 5
cmp eax, ecx
jl 0x40da6a
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x8d
jne 0x40dae0
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 9
cmp eax, ecx
jl 0x40da99
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xb9
jne 0x40dae0
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0xe
cmp eax, ecx
jl 0x40dac8
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x5c]
cmp byte [ebx], 0x64
jne 0x40dae0
mov eax, 1
jmp 0x40dae2
xor eax, eax
test eax, eax
je 0x40de40
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 0xb
push 0x80000301
push 0
push 3
push 0x80000005
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40db1e
mov eax, 0x574de5
push eax
push 3
mov ebx, 0x45ebf0
call fcn.0045cf29
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x40db52
and eax, 0xff
jmp 0x40db9d
cmp ecx, 0x80000201
jne 0x40db5d
cwde
jmp 0x40db9d
cmp ecx, 0x80000301
je 0x40db9d
cmp ecx, 0x80000401
je 0x40db9d
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40db8d
cmp ecx, 0x80000601
je 0x40db92
push 2
call fcn.0045cf2f
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40db98
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004024cd
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0x15
cmp eax, ecx
jl 0x40dbc0
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40dd44
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 0x17
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40dc05
mov eax, 0x574de5
push eax
push 3
mov ebx, 0x45ebf0
call fcn.0045cf29
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x40dc39
and eax, 0xff
jmp 0x40dc84
cmp ecx, 0x80000201
jne 0x40dc44
cwde
jmp 0x40dc84
cmp ecx, 0x80000301
je 0x40dc84
cmp ecx, 0x80000401
je 0x40dc84
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40dc74
cmp ecx, 0x80000601
je 0x40dc79
push 2
call fcn.0045cf2f
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40dc7f
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004024cd
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x6606a0
push 4
mov eax, 2
call fcn.0045cf17
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x6606a0]
mov dword [ebp - 0x50], ebx
call fcn.004024f4
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40dcd0
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0045cf3b
add esp, 8
mov dword [0x6606a0], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0045cf23
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 0x40dd2c
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0045cf23
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
jmp 0x40f0c8
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0x15
cmp eax, ecx
jl 0x40dd62
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
jne 0x40de2e
push 0x6606a0
push 4
mov eax, 2
call fcn.0045cf17
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x6606a0]
mov dword [ebp - 0x50], ebx
call fcn.004024f4
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40ddba
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0045cf3b
add esp, 8
mov dword [0x6606a0], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0045cf23
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 0x40de16
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0045cf23
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
jmp 0x40f0c8
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 5
cmp eax, ecx
jl 0x40de5e
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x8d
jne 0x40ded4
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 9
cmp eax, ecx
jl 0x40de8d
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x33
jne 0x40ded4
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0xe
cmp eax, ecx
jl 0x40debc
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x5c]
cmp byte [ebx], 0x64
jne 0x40ded4
mov eax, 1
jmp 0x40ded6
xor eax, eax
test eax, eax
je 0x40e1a5
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0x12
cmp eax, ecx
jl 0x40defc
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40e080
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 0x14
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40df41
mov eax, 0x574de5
push eax
push 3
mov ebx, 0x45ebf0
call fcn.0045cf29
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x40df75
and eax, 0xff
jmp 0x40dfc0
cmp ecx, 0x80000201
jne 0x40df80
cwde
jmp 0x40dfc0
cmp ecx, 0x80000301
je 0x40dfc0
cmp ecx, 0x80000401
je 0x40dfc0
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40dfb0
cmp ecx, 0x80000601
je 0x40dfb5
push 2
call fcn.0045cf2f
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40dfbb
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004024cd
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x6606a0
push 4
mov eax, 2
call fcn.0045cf17
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x6606a0]
mov dword [ebp - 0x50], ebx
call fcn.004024f4
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40e00c
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0045cf3b
add esp, 8
mov dword [0x6606a0], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0045cf23
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 0x40e068
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0045cf23
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
jmp 0x40f0c8
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0x15
cmp eax, ecx
jl 0x40e09e
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
je 0x40e0e2
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0x12
cmp eax, ecx
jl 0x40e0cd
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xc3
je 0x40e0e2
xor eax, eax
jmp 0x40e0e7
mov eax, 1
test eax, eax
je 0x40e1a5
push 0x6606a0
push 4
mov eax, 2
call fcn.0045cf17
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x6606a0]
mov dword [ebp - 0x50], ebx
call fcn.004024f4
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40e136
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0045cf3b
add esp, 8
mov dword [0x6606a0], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0045cf23
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 0x40e192
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0045cf23
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
jmp 0x40f0c8
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 5
cmp eax, ecx
jl 0x40e1c3
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xb9
jne 0x40e239
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0xa
cmp eax, ecx
jl 0x40e1f2
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x8d
jne 0x40e239
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0xe
cmp eax, ecx
jl 0x40e221
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x5c]
cmp byte [ebx], 0x64
jne 0x40e239
mov eax, 1
jmp 0x40e23b
xor eax, eax
test eax, eax
je 0x40e77b
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 7
push 0x80000301
push 0
push 3
push 0x80000005
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40e277
mov eax, 0x574de5
push eax
push 3
mov ebx, 0x45ebf0
call fcn.0045cf29
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x40e2ab
and eax, 0xff
jmp 0x40e2f6
cmp ecx, 0x80000201
jne 0x40e2b6
cwde
jmp 0x40e2f6
cmp ecx, 0x80000301
je 0x40e2f6
cmp ecx, 0x80000401
je 0x40e2f6
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40e2e6
cmp ecx, 0x80000601
je 0x40e2eb
push 2
call fcn.0045cf2f
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40e2f1
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004024cd
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0x18
cmp eax, ecx
jl 0x40e319
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40e49d
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 0x1a
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40e35e
mov eax, 0x574de5
push eax
push 3
mov ebx, 0x45ebf0
call fcn.0045cf29
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x40e392
and eax, 0xff
jmp 0x40e3dd
cmp ecx, 0x80000201
jne 0x40e39d
cwde
jmp 0x40e3dd
cmp ecx, 0x80000301
je 0x40e3dd
cmp ecx, 0x80000401
je 0x40e3dd
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40e3cd
cmp ecx, 0x80000601
je 0x40e3d2
push 2
call fcn.0045cf2f
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40e3d8
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004024cd
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x6606a0
push 4
mov eax, 2
call fcn.0045cf17
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x6606a0]
mov dword [ebp - 0x50], ebx
call fcn.004024f4
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40e429
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0045cf3b
add esp, 8
mov dword [0x6606a0], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0045cf23
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 0x40e485
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0045cf23
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
jmp 0x40f0c8
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0x15
cmp eax, ecx
jl 0x40e4bb
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40e63f
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 0x17
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40e500
mov eax, 0x574de5
push eax
push 3
mov ebx, 0x45ebf0
call fcn.0045cf29
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x40e534
and eax, 0xff
jmp 0x40e57f
cmp ecx, 0x80000201
jne 0x40e53f
cwde
jmp 0x40e57f
cmp ecx, 0x80000301
je 0x40e57f
cmp ecx, 0x80000401
je 0x40e57f
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40e56f
cmp ecx, 0x80000601
je 0x40e574
push 2
call fcn.0045cf2f
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40e57a
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004024cd
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x6606a0
push 4
mov eax, 2
call fcn.0045cf17
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x6606a0]
mov dword [ebp - 0x50], ebx
call fcn.004024f4
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40e5cb
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0045cf3b
add esp, 8
mov dword [0x6606a0], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0045cf23
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 0x40e627
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0045cf23
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
jmp 0x40f0c8
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0x18
cmp eax, ecx
jl 0x40e65d
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
je 0x40e6a1
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0x15
cmp eax, ecx
jl 0x40e68c
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xc3
je 0x40e6a1
xor eax, eax
jmp 0x40e6a6
mov eax, 1
test eax, eax
je 0x40e769
push 0x6606a0
push 4
mov eax, 2
call fcn.0045cf17
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x6606a0]
mov dword [ebp - 0x50], ebx
call fcn.004024f4
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40e6f5
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0045cf3b
add esp, 8
mov dword [0x6606a0], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0045cf23
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 0x40e751
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0045cf23
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
jmp 0x40f0c8
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 5
cmp eax, ecx
jl 0x40e799
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x33
jne 0x40e80f
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 7
cmp eax, ecx
jl 0x40e7c8
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x8d
jne 0x40e80f
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0xb
cmp eax, ecx
jl 0x40e7f7
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x5c]
cmp byte [ebx], 0x64
jne 0x40e80f
mov eax, 1
jmp 0x40e811
xor eax, eax
test eax, eax
je 0x40ec94
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0x15
cmp eax, ecx
jl 0x40e849
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40e9cd
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 0x17
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40e88e
mov eax, 0x574de5
push eax
push 3
mov ebx, 0x45ebf0
call fcn.0045cf29
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x40e8c2
and eax, 0xff
jmp 0x40e90d
cmp ecx, 0x80000201
jne 0x40e8cd
cwde
jmp 0x40e90d
cmp ecx, 0x80000301
je 0x40e90d
cmp ecx, 0x80000401
je 0x40e90d
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40e8fd
cmp ecx, 0x80000601
je 0x40e902
push 2
call fcn.0045cf2f
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40e908
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004024cd
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x6606a0
push 4
mov eax, 2
call fcn.0045cf17
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x6606a0]
mov dword [ebp - 0x50], ebx
call fcn.004024f4
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40e959
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0045cf3b
add esp, 8
mov dword [0x6606a0], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0045cf23
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 0x40e9b5
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0045cf23
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
jmp 0x40f0c8
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0x12
cmp eax, ecx
jl 0x40e9eb
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40eb6f
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 0x14
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40ea30
mov eax, 0x574de5
push eax
push 3
mov ebx, 0x45ebf0
call fcn.0045cf29
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x40ea64
and eax, 0xff
jmp 0x40eaaf
cmp ecx, 0x80000201
jne 0x40ea6f
cwde
jmp 0x40eaaf
cmp ecx, 0x80000301
je 0x40eaaf
cmp ecx, 0x80000401
je 0x40eaaf
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40ea9f
cmp ecx, 0x80000601
je 0x40eaa4
push 2
call fcn.0045cf2f
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40eaaa
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004024cd
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x6606a0
push 4
mov eax, 2
call fcn.0045cf17
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x6606a0]
mov dword [ebp - 0x50], ebx
call fcn.004024f4
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40eafb
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0045cf3b
add esp, 8
mov dword [0x6606a0], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0045cf23
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 0x40eb57
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0045cf23
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
jmp 0x40f0c8
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0x15
cmp eax, ecx
jl 0x40eb8d
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
je 0x40ebd1
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0x12
cmp eax, ecx
jl 0x40ebbc
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xc3
je 0x40ebd1
xor eax, eax
jmp 0x40ebd6
mov eax, 1
test eax, eax
je 0x40ec94
push 0x6606a0
push 4
mov eax, 2
call fcn.0045cf17
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x6606a0]
mov dword [ebp - 0x50], ebx
call fcn.004024f4
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40ec25
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0045cf3b
add esp, 8
mov dword [0x6606a0], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0045cf23
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 0x40ec81
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0045cf23
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
jmp 0x40f0c8
jmp 0x40f0c8
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 5
cmp eax, ecx
jl 0x40ecb7
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xba
jne 0x40ecfe
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0xa
cmp eax, ecx
jl 0x40ece6
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xff
jne 0x40ecfe
mov eax, 1
jmp 0x40ed00
xor eax, eax
test eax, eax
je 0x40f0c8
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0xb
cmp eax, ecx
jl 0x40ed26
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x12
je 0x40ed6a
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0xb
cmp eax, ecx
jl 0x40ed55
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xd2
je 0x40ed6a
xor eax, eax
jmp 0x40ed6f
mov eax, 1
test eax, eax
je 0x40f0c8
mov ebx, dword [ebp - 0xc]
add ebx, 8
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 2
push 0x80000301
push 0
push 3
push 0x80000005
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40edab
mov eax, 0x574de5
push eax
push 3
mov ebx, 0x45ebf0
call fcn.0045cf29
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x40eddf
and eax, 0xff
jmp 0x40ee2a
cmp ecx, 0x80000201
jne 0x40edea
cwde
jmp 0x40ee2a
cmp ecx, 0x80000301
je 0x40ee2a
cmp ecx, 0x80000401
je 0x40ee2a
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40ee1a
cmp ecx, 0x80000601
je 0x40ee1f
push 2
call fcn.0045cf2f
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40ee25
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004024cd
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0xc
cmp eax, ecx
jl 0x40ee4d
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40efd1
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 0xe
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40ee92
mov eax, 0x574de5
push eax
push 3
mov ebx, 0x45ebf0
call fcn.0045cf29
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x40eec6
and eax, 0xff
jmp 0x40ef11
cmp ecx, 0x80000201
jne 0x40eed1
cwde
jmp 0x40ef11
cmp ecx, 0x80000301
je 0x40ef11
cmp ecx, 0x80000401
je 0x40ef11
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40ef01
cmp ecx, 0x80000601
je 0x40ef06
push 2
call fcn.0045cf2f
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40ef0c
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004024cd
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x6606a0
push 4
mov eax, 2
call fcn.0045cf17
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x6606a0]
mov dword [ebp - 0x50], ebx
call fcn.004024f4
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40ef5d
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0045cf3b
add esp, 8
mov dword [0x6606a0], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0045cf23
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 0x40efb9
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0045cf23
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
jmp 0x40f0c8
mov ebx, dword [ebp - 0x48]
call fcn.004024f4
mov eax, 0xc
cmp eax, ecx
jl 0x40efef
push 1
call fcn.0045cf2f
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
jne 0x40f0c8
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
push 0x6606a0
push 4
mov eax, 2
call fcn.0045cf17
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x6606a0]
mov dword [ebp - 0x50], ebx
call fcn.004024f4
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40f059
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0045cf3b
add esp, 8
mov dword [0x6606a0], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0045cf23
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 0x40f0b5
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0045cf23
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
jmp 0x40f0c8
pop eax
pop ebx
pop ecx
jmp 0x40cb6d
add esp, 0xc
mov dword [ebp - 0x4c], esp
push dword [ebp - 0x14]
mov eax, 0x1e
call fcn.0045cf35
cmp dword [ebp - 0x4c], esp
je 0x40f0f5
push 6
call fcn.0045cf2f
add esp, 4
mov dword [ebp - 0x4c], esp
push dword [ebp - 0x10]
mov eax, 0x1f
call fcn.0045cf35
cmp dword [ebp - 0x4c], esp
je 0x40f117
push 6
call fcn.0045cf2f
add esp, 4
pop ebx
pop ecx
jmp 0x40b037
add esp, 8
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40f131
push ebx
call fcn.0045cf1d
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40f148
push ebx
call fcn.0045cf1d
add esp, 4
pop ebx
call fcn.0045cf1d
add esp, 4
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x40f161
push ebx
call fcn.0045cf1d
add esp, 4
mov ebx, dword [ebp - 0x18]
push ebx
add ebx, 0x38
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0045cf1d
add esp, 4
pop ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0045cf1d
add esp, 4
pop ebx
call fcn.0045cf1d
add esp, 4
mov ebx, dword [ebp - 0x1c]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0045cf1d
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 0x78
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0045cf1d
add esp, 4
pop ebx
call fcn.0045cf1d
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 0x40f1e2
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40f1de
imul eax, dword [ebx]
jmp 0x40f1d3
mov ecx, eax
test ecx, ecx
je 0x40f20a
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0045cf1d
add esp, 4
pop ebx
call fcn.0045cf1d
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40f1e8
call fcn.0045cf1d
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0045cf1d
add esp, 4
pop ebx
call fcn.0045cf1d
add esp, 4
mov ebx, dword [ebp - 0x20]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0045cf1d
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 0x78
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0045cf1d
add esp, 4
pop ebx
call fcn.0045cf1d
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 0x40f280
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40f27c
imul eax, dword [ebx]
jmp 0x40f271
mov ecx, eax
test ecx, ecx
je 0x40f2a8
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0045cf1d
add esp, 4
pop ebx
call fcn.0045cf1d
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40f286
call fcn.0045cf1d
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0045cf1d
add esp, 4
pop ebx
call fcn.0045cf1d
add esp, 4
mov ebx, dword [ebp - 0x30]
push ebx
call fcn.0045cf1d
add esp, 4
mov ebx, dword [ebp - 0x34]
push ebx
call fcn.0045cf1d
add esp, 4
mov ebx, dword [ebp - 0x38]
push ebx
call fcn.0045cf1d
add esp, 4
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.0045cf1d
add esp, 4
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x40f309
push ebx
call fcn.0045cf1d
add esp, 4
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x40f319
push ebx
call fcn.0045cf1d
add esp, 4
mov esp, ebp
pop ebp
ret