Function at 0x402d5b
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
push 0x14
call fcn.0043eacc
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
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
push 0x6c
call fcn.0043eacc
add esp, 4
mov dword [ebp - 0x20], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0x1b
rep stosd dword es:[edi], eax
add ebx, 0x68
push ebx
push 0x88
call fcn.0043eacc
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4f2554
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x20
rep stosd dword es:[edi], eax
mov dword [ebp - 0x24], 0
push 8
call fcn.0043eacc
add esp, 4
mov dword [ebp - 0x28], eax
mov edi, eax
mov esi, 0x4f2518
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0x2c], 0
push 8
call fcn.0043eacc
add esp, 4
mov dword [ebp - 0x30], eax
mov edi, eax
mov esi, 0x4f2518
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0
mov ebx, dword [0x6fb758]
call fcn.00401eb1
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jne 0x405df2
xor ecx, ecx
lea eax, [ebp - 4]
mov ebx, eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
cmp ecx, 3
jg 0x405def
cmp dword [ebp - 4], 1
jne 0x402e98
mov eax, 0x4f2580
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x402e8f
push ebx
call fcn.0043eac6
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x402eef
cmp dword [ebp - 4], 2
jne 0x402ec1
mov eax, 0x4f258a
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x402eb8
push ebx
call fcn.0043eac6
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x402eef
cmp dword [ebp - 4], 3
jne 0x402eea
mov eax, str.gdi32.dll
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x402ee1
push ebx
call fcn.0043eac6
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x402eef
jmp 0x405df2
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x3c], ebx
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 1
lea eax, [ebp - 8]
push eax
call fcn.00405f3d
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x3c], 0
push 0
lea eax, [ebp - 0x3c]
push eax
mov dword [ebp - 0x40], 0
push 0
lea eax, [ebp - 0x40]
push eax
call fcn.004023c3
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x402f3d
push ebx
call fcn.0043eac6
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x402f4d
push ebx
call fcn.0043eac6
add esp, 4
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x402f61
push ebx
call fcn.0043eac6
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
call fcn.00406b68
mov dword [ebp - 0x3c], eax
push dword [ebp - 8]
push 0x4f259f
push dword [ebp - 0x3c]
mov ecx, 3
call fcn.004011df
add esp, 0xc
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x402f98
push ebx
call fcn.0043eac6
add esp, 4
mov dword [ebp - 0x44], esp
push 0
push dword [ebp - 0x14]
push dword [ebp - 0x40]
mov eax, 1
call fcn.0043ead8
cmp dword [ebp - 0x44], esp
je 0x402fc2
push 6
call fcn.0043ead2
add esp, 4
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x402fd2
push ebx
call fcn.0043eac6
add esp, 4
push 0x80000004
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x402fe5
mov eax, 0x4f2553
push eax
push 1
mov ebx, 0x440c70
call fcn.0043eade
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40300f
push ebx
call fcn.0043eac6
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
call fcn.00401e8d
mov dword [ebp - 0x1c], eax
push 0x80000004
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x403032
mov eax, 0x4f2553
push eax
push 1
mov ebx, 0x440c30
call fcn.0043eade
add esp, 0x10
push 1
push 0
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1c]
call fcn.00406c0f
test eax, eax
je 0x40307b
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
cmp word [ebx], 0x10b
jne 0x40307b
mov eax, 1
jmp 0x40307d
xor eax, eax
test eax, eax
je 0x405de8
mov dword [ebp - 0x24], 0
mov ebx, dword [ebp - 0x20]
add ebx, 0x3c
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
mov dword [ebp - 0x44], 0
push 0
push dword [ebp - 0x44]
mov dword [ebp - 0x48], 0
push 0
push dword [ebp - 0x48]
mov dword [ebp - 0x4c], 0
push 0
push dword [ebp - 0x4c]
push 0x2000
push 0x1000
call fcn.00406fa6
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x54], esp
push 0x40
push dword [ebp - 0x50]
mov ebx, dword [ebp - 0x3c]
push dword [ebx]
push 0
push 0xffffffff
mov eax, 2
call fcn.0043ead8
cmp dword [ebp - 0x54], esp
je 0x40310d
push 6
call fcn.0043ead2
add esp, 4
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x20]
add ebx, 0x40
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
mov ebx, dword [ebp - 0x3c]
push dword [ebx]
push dword [ebp - 0x1c]
push dword [ebp - 0x24]
call fcn.00406fc9
push 8
call fcn.0043eacc
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x4f2518
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 0
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x1c]
call fcn.00407073
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.0043eac6
add esp, 4
mov eax, dword [ebp - 0x40]
xor ecx, ecx
push eax
lea eax, [ebp - 0x2c]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x40329e
mov ebx, dword [ebp - 0x28]
call fcn.00401154
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x4031a8
push 4
call fcn.0043ead2
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4031bb
push 1
call fcn.0043ead2
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
mov ebx, dword [ebp - 0x3c]
push dword [ebx]
push dword [ebp - 0x24]
call fcn.004029e4
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x28]
call fcn.00401154
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x403201
push 4
call fcn.0043ead2
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x403214
push 1
call fcn.0043ead2
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x10
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x4c], 0
push 0
push dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x48]
push dword [ebx]
push dword [ebp - 0x1c]
call fcn.004029e4
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x28]
call fcn.00401154
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x40325a
push 4
call fcn.0043ead2
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40326d
push 1
call fcn.0043ead2
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0xc
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x58], 0
push 0
push dword [ebp - 0x58]
mov ebx, dword [ebp - 0x54]
push dword [ebx]
push dword [ebp - 0x50]
push dword [ebp - 0x44]
call fcn.00406fc9
pop eax
pop ebx
pop ecx
jmp 0x40317d
add esp, 0xc
push 1
push dword [ebp - 0x10]
push dword [ebp - 0x24]
call fcn.00407618
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4032cc
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4032c8
imul eax, dword [ebx]
jmp 0x4032bd
mov ecx, eax
test ecx, ecx
je 0x4032f4
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0043eac6
add esp, 4
pop ebx
call fcn.0043eac6
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4032d2
call fcn.0043eac6
add esp, 4
mov eax, 0x4f2518
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x24]
call fcn.00408389
xor ecx, ecx
push eax
lea eax, [ebp - 0x2c]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x405dcc
cmp dword [ebp - 4], 1
jne 0x403443
mov ebx, dword [ebp - 0x30]
call fcn.00401154
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x40334e
push 4
call fcn.0043ead2
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x403361
push 1
call fcn.0043ead2
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 1
push 0x80000004
push 0
mov ebx, dword [ebp - 0x3c]
mov eax, dword [ebx]
test eax, eax
jne 0x40338f
mov eax, 0x4f2553
push eax
push 2
mov ebx, 0x43f440
call fcn.0043eade
add esp, 0x1c
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0x5a
jne 0x403431
mov ebx, dword [ebp - 0x30]
call fcn.00401154
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x4033cc
push 4
call fcn.0043ead2
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4033df
push 1
call fcn.0043ead2
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 2
push 0x80000004
push 0
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
test eax, eax
jne 0x40340d
mov eax, 0x4f2553
push eax
push 2
mov ebx, 0x43f440
call fcn.0043eade
add esp, 0x1c
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0x77
jne 0x403431
xor eax, eax
jmp 0x403436
mov eax, 1
test eax, eax
je 0x403443
jmp 0x405dc4
mov ebx, dword [ebp - 0x30]
call fcn.00401154
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x403460
push 4
call fcn.0043ead2
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x403473
push 1
call fcn.0043ead2
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x3c], ebx
push 8
call fcn.0043eacc
add esp, 4
mov dword [ebp - 0x40], eax
mov edi, eax
mov esi, 0x4f2518
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 0
lea eax, [ebp - 0x40]
push eax
push 0x20
lea eax, [ebp - 0x34]
push eax
mov ebx, dword [ebp - 0x3c]
push dword [ebx]
call fcn.004024f1
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
push ebx
call fcn.0043eac6
add esp, 4
cmp dword [ebp - 0x44], 0
je 0x403503
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0
cmp eax, ecx
jl 0x4034eb
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x48], ebx
mov ebx, dword [ebp - 0x48]
cmp byte [ebx], 0xb8
jne 0x403503
mov eax, 1
jmp 0x403505
xor eax, eax
test eax, eax
je 0x405dc4
mov ebx, dword [ebp - 0xc]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x30]
call fcn.00401154
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x403533
push 4
call fcn.0043ead2
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x403546
push 1
call fcn.0043ead2
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov eax, dword [ebx]
test eax, eax
je 0x403571
push eax
mov ebx, eax
call fcn.00401174
inc eax
push eax
call fcn.0043eacc
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x3c]
mov ebx, dword [ebx]
test ebx, ebx
je 0x403584
push ebx
call fcn.0043eac6
add esp, 4
pop eax
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0xc]
add ebx, 8
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 2
push 0x80000301
push 0
push 3
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x4035d0
mov eax, 0x4f2518
push eax
push 3
mov ebx, 0x440290
call fcn.0043eade
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x403604
and eax, 0xff
jmp 0x40364f
cmp ecx, 0x80000201
jne 0x40360f
cwde
jmp 0x40364f
cmp ecx, 0x80000301
je 0x40364f
cmp ecx, 0x80000401
je 0x40364f
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x40363f
cmp ecx, 0x80000601
je 0x403644
push 2
call fcn.0043ead2
add esp, 4
fld dword [ebp - 0x50]
jmp 0x40364a
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040112d
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [0x6fb75c]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 5
jne 0x40368b
mov ebx, dword [0x6fb75c]
add ebx, 8
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp dword [ebx], 0
jne 0x40368b
mov eax, 1
jmp 0x40368d
xor eax, eax
test eax, eax
je 0x403d67
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 9
cmp eax, ecx
jl 0x4036b3
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xcd
jne 0x4036fa
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0xa
cmp eax, ecx
jl 0x4036e2
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x2e
jne 0x4036fa
mov eax, 1
jmp 0x4036fc
xor eax, eax
test eax, eax
je 0x403d62
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0xb
cmp eax, ecx
jl 0x403722
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x4038a6
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0xd
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x403767
mov eax, 0x4f2518
push eax
push 3
mov ebx, 0x440290
call fcn.0043eade
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x40379b
and eax, 0xff
jmp 0x4037e6
cmp ecx, 0x80000201
jne 0x4037a6
cwde
jmp 0x4037e6
cmp ecx, 0x80000301
je 0x4037e6
cmp ecx, 0x80000401
je 0x4037e6
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4037d6
cmp ecx, 0x80000601
je 0x4037db
push 2
call fcn.0043ead2
add esp, 4
fld dword [ebp - 0x50]
jmp 0x4037e1
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040112d
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x6fb758
push 4
mov eax, 2
call fcn.0043eac0
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6fb758]
mov dword [ebp - 0x40], ebx
call fcn.00401154
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x403832
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0043eafc
add esp, 8
mov dword [0x6fb758], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0043eacc
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 0x40388e
push eax
mov ebx, eax
call fcn.00401174
inc eax
push eax
call fcn.0043eacc
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 0x405dc4
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0xb
cmp eax, ecx
jl 0x4038c4
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x403990
push 0x6fb758
push 4
mov eax, 2
call fcn.0043eac0
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6fb758]
mov dword [ebp - 0x40], ebx
call fcn.00401154
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40391c
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0043eafc
add esp, 8
mov dword [0x6fb758], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0043eacc
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 0x403978
push eax
mov ebx, eax
call fcn.00401174
inc eax
push eax
call fcn.0043eacc
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 0x405dc4
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0xb
cmp eax, ecx
jl 0x4039ae
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe9
jne 0x403d62
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0x10
push dword [ebp - 0x38]
call fcn.004029e4
mov dword [ebp - 0x38], eax
push 0x80000301
push 0
push 0xd
push 0x80000301
push 0
push 3
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x403a06
mov eax, 0x4f2518
push eax
push 3
mov ebx, 0x440290
call fcn.0043eade
add esp, 0x28
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x48], 0
push 0
push dword [ebp - 0x48]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
cmp ecx, 0x80000101
jne 0x403a46
and eax, 0xff
jmp 0x403a91
cmp ecx, 0x80000201
jne 0x403a51
cwde
jmp 0x403a91
cmp ecx, 0x80000301
je 0x403a91
cmp ecx, 0x80000401
je 0x403a91
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x403a81
cmp ecx, 0x80000601
je 0x403a86
push 2
call fcn.0043ead2
add esp, 4
fld dword [ebp - 0x50]
jmp 0x403a8c
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040112d
push eax
push dword [ebp - 0x38]
call fcn.004029e4
mov dword [ebp - 0x38], eax
push 8
call fcn.0043eacc
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x4f2518
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 0
lea eax, [ebp - 0x3c]
push eax
push 0x20
lea eax, [ebp - 0x34]
push eax
push dword [ebp - 0x38]
call fcn.004024f1
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.0043eac6
add esp, 4
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0
cmp eax, ecx
jl 0x403af9
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x403c7d
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 2
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x403b3e
mov eax, 0x4f2518
push eax
push 3
mov ebx, 0x440290
call fcn.0043eade
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x403b72
and eax, 0xff
jmp 0x403bbd
cmp ecx, 0x80000201
jne 0x403b7d
cwde
jmp 0x403bbd
cmp ecx, 0x80000301
je 0x403bbd
cmp ecx, 0x80000401
je 0x403bbd
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x403bad
cmp ecx, 0x80000601
je 0x403bb2
push 2
call fcn.0043ead2
add esp, 4
fld dword [ebp - 0x50]
jmp 0x403bb8
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040112d
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x6fb758
push 4
mov eax, 2
call fcn.0043eac0
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6fb758]
mov dword [ebp - 0x40], ebx
call fcn.00401154
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x403c09
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0043eafc
add esp, 8
mov dword [0x6fb758], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0043eacc
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 0x403c65
push eax
mov ebx, eax
call fcn.00401174
inc eax
push eax
call fcn.0043eacc
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 0x405dc4
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0
cmp eax, ecx
jl 0x403c9b
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x403d62
push 0x6fb758
push 4
mov eax, 2
call fcn.0043eac0
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6fb758]
mov dword [ebp - 0x40], ebx
call fcn.00401154
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x403cf3
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0043eafc
add esp, 8
mov dword [0x6fb758], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0043eacc
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 0x403d4f
push eax
mov ebx, eax
call fcn.00401174
inc eax
push eax
call fcn.0043eacc
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 0x405dc4
jmp 0x405dc4
mov ebx, dword [0x6fb75c]
add ebx, 0x1c
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 0
je 0x405675
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 5
cmp eax, ecx
jl 0x403daf
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x64
jne 0x403e25
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 6
cmp eax, ecx
jl 0x403dde
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x403e25
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 8
cmp eax, ecx
jl 0x403e0d
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc0
jne 0x403e25
mov eax, 1
jmp 0x403e27
xor eax, eax
test eax, eax
je 0x4040b6
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0xc
cmp eax, ecx
jl 0x403e4d
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x403fd1
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0xe
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x403e92
mov eax, 0x4f2518
push eax
push 3
mov ebx, 0x440290
call fcn.0043eade
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x403ec6
and eax, 0xff
jmp 0x403f11
cmp ecx, 0x80000201
jne 0x403ed1
cwde
jmp 0x403f11
cmp ecx, 0x80000301
je 0x403f11
cmp ecx, 0x80000401
je 0x403f11
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x403f01
cmp ecx, 0x80000601
je 0x403f06
push 2
call fcn.0043ead2
add esp, 4
fld dword [ebp - 0x50]
jmp 0x403f0c
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040112d
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x6fb758
push 4
mov eax, 2
call fcn.0043eac0
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6fb758]
mov dword [ebp - 0x40], ebx
call fcn.00401154
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x403f5d
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0043eafc
add esp, 8
mov dword [0x6fb758], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0043eacc
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 0x403fb9
push eax
mov ebx, eax
call fcn.00401174
inc eax
push eax
call fcn.0043eacc
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 0x405dc4
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0xc
cmp eax, ecx
jl 0x403fef
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x4040b6
push 0x6fb758
push 4
mov eax, 2
call fcn.0043eac0
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6fb758]
mov dword [ebp - 0x40], ebx
call fcn.00401154
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x404047
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0043eafc
add esp, 8
mov dword [0x6fb758], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0043eacc
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 0x4040a3
push eax
mov ebx, eax
call fcn.00401174
inc eax
push eax
call fcn.0043eacc
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 0x405dc4
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 5
cmp eax, ecx
jl 0x4040d4
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x33
jne 0x40414a
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 7
cmp eax, ecx
jl 0x404103
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x40414a
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0xb
cmp eax, ecx
jl 0x404132
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x40414a
mov eax, 1
jmp 0x40414c
xor eax, eax
test eax, eax
je 0x4045bd
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0x12
cmp eax, ecx
jl 0x404172
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x4041b6
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0x15
cmp eax, ecx
jl 0x4041a1
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x4041b6
xor eax, eax
jmp 0x4041bb
mov eax, 1
test eax, eax
je 0x40427e
push 0x6fb758
push 4
mov eax, 2
call fcn.0043eac0
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6fb758]
mov dword [ebp - 0x40], ebx
call fcn.00401154
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40420a
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0043eafc
add esp, 8
mov dword [0x6fb758], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0043eacc
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 0x404266
push eax
mov ebx, eax
call fcn.00401174
inc eax
push eax
call fcn.0043eacc
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 0x405dc4
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0x12
cmp eax, ecx
jl 0x40429c
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x404420
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x14
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x4042e1
mov eax, 0x4f2518
push eax
push 3
mov ebx, 0x440290
call fcn.0043eade
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x404315
and eax, 0xff
jmp 0x404360
cmp ecx, 0x80000201
jne 0x404320
cwde
jmp 0x404360
cmp ecx, 0x80000301
je 0x404360
cmp ecx, 0x80000401
je 0x404360
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x404350
cmp ecx, 0x80000601
je 0x404355
push 2
call fcn.0043ead2
add esp, 4
fld dword [ebp - 0x50]
jmp 0x40435b
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040112d
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x6fb758
push 4
mov eax, 2
call fcn.0043eac0
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6fb758]
mov dword [ebp - 0x40], ebx
call fcn.00401154
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x4043ac
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0043eafc
add esp, 8
mov dword [0x6fb758], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0043eacc
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 0x404408
push eax
mov ebx, eax
call fcn.00401174
inc eax
push eax
call fcn.0043eacc
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 0x405dc4
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0x15
cmp eax, ecx
jl 0x40443e
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x4045bd
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x17
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x404483
mov eax, 0x4f2518
push eax
push 3
mov ebx, 0x440290
call fcn.0043eade
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x4044b7
and eax, 0xff
jmp 0x404502
cmp ecx, 0x80000201
jne 0x4044c2
cwde
jmp 0x404502
cmp ecx, 0x80000301
je 0x404502
cmp ecx, 0x80000401
je 0x404502
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4044f2
cmp ecx, 0x80000601
je 0x4044f7
push 2
call fcn.0043ead2
add esp, 4
fld dword [ebp - 0x50]
jmp 0x4044fd
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040112d
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x6fb758
push 4
mov eax, 2
call fcn.0043eac0
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6fb758]
mov dword [ebp - 0x40], ebx
call fcn.00401154
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40454e
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0043eafc
add esp, 8
mov dword [0x6fb758], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0043eacc
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 0x4045aa
push eax
mov ebx, eax
call fcn.00401174
inc eax
push eax
call fcn.0043eacc
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 0x405dc4
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 5
cmp eax, ecx
jl 0x4045db
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x404651
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 9
cmp eax, ecx
jl 0x40460a
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x33
jne 0x404651
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0xb
cmp eax, ecx
jl 0x404639
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x404651
mov eax, 1
jmp 0x404653
xor eax, eax
test eax, eax
je 0x404ac4
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0x12
cmp eax, ecx
jl 0x404679
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x4046bd
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0x15
cmp eax, ecx
jl 0x4046a8
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x4046bd
xor eax, eax
jmp 0x4046c2
mov eax, 1
test eax, eax
je 0x404785
push 0x6fb758
push 4
mov eax, 2
call fcn.0043eac0
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6fb758]
mov dword [ebp - 0x40], ebx
call fcn.00401154
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x404711
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0043eafc
add esp, 8
mov dword [0x6fb758], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0043eacc
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 0x40476d
push eax
mov ebx, eax
call fcn.00401174
inc eax
push eax
call fcn.0043eacc
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 0x405dc4
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0x12
cmp eax, ecx
jl 0x4047a3
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x404927
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x14
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x4047e8
mov eax, 0x4f2518
push eax
push 3
mov ebx, 0x440290
call fcn.0043eade
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x40481c
and eax, 0xff
jmp 0x404867
cmp ecx, 0x80000201
jne 0x404827
cwde
jmp 0x404867
cmp ecx, 0x80000301
je 0x404867
cmp ecx, 0x80000401
je 0x404867
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x404857
cmp ecx, 0x80000601
je 0x40485c
push 2
call fcn.0043ead2
add esp, 4
fld dword [ebp - 0x50]
jmp 0x404862
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040112d
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x6fb758
push 4
mov eax, 2
call fcn.0043eac0
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6fb758]
mov dword [ebp - 0x40], ebx
call fcn.00401154
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x4048b3
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0043eafc
add esp, 8
mov dword [0x6fb758], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0043eacc
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 0x40490f
push eax
mov ebx, eax
call fcn.00401174
inc eax
push eax
call fcn.0043eacc
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 0x405dc4
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0x15
cmp eax, ecx
jl 0x404945
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x404ac4
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x17
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x40498a
mov eax, 0x4f2518
push eax
push 3
mov ebx, 0x440290
call fcn.0043eade
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x4049be
and eax, 0xff
jmp 0x404a09
cmp ecx, 0x80000201
jne 0x4049c9
cwde
jmp 0x404a09
cmp ecx, 0x80000301
je 0x404a09
cmp ecx, 0x80000401
je 0x404a09
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4049f9
cmp ecx, 0x80000601
je 0x4049fe
push 2
call fcn.0043ead2
add esp, 4
fld dword [ebp - 0x50]
jmp 0x404a04
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040112d
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x6fb758
push 4
mov eax, 2
call fcn.0043eac0
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6fb758]
mov dword [ebp - 0x40], ebx
call fcn.00401154
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x404a55
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0043eafc
add esp, 8
mov dword [0x6fb758], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0043eacc
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 0x404ab1
push eax
mov ebx, eax
call fcn.00401174
inc eax
push eax
call fcn.0043eacc
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 0x405dc4
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 5
cmp eax, ecx
jl 0x404ae2
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xb9
jne 0x404b58
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0xa
cmp eax, ecx
jl 0x404b11
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x404b58
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0xe
cmp eax, ecx
jl 0x404b40
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x404b58
mov eax, 1
jmp 0x404b5a
xor eax, eax
test eax, eax
je 0x40509a
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 7
push 0x80000301
push 0
push 3
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x404b96
mov eax, 0x4f2518
push eax
push 3
mov ebx, 0x440290
call fcn.0043eade
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x404bca
and eax, 0xff
jmp 0x404c15
cmp ecx, 0x80000201
jne 0x404bd5
cwde
jmp 0x404c15
cmp ecx, 0x80000301
je 0x404c15
cmp ecx, 0x80000401
je 0x404c15
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x404c05
cmp ecx, 0x80000601
je 0x404c0a
push 2
call fcn.0043ead2
add esp, 4
fld dword [ebp - 0x50]
jmp 0x404c10
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040112d
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0x15
cmp eax, ecx
jl 0x404c38
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x404c7c
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0x18
cmp eax, ecx
jl 0x404c67
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x404c7c
xor eax, eax
jmp 0x404c81
mov eax, 1
test eax, eax
je 0x404d44
push 0x6fb758
push 4
mov eax, 2
call fcn.0043eac0
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6fb758]
mov dword [ebp - 0x40], ebx
call fcn.00401154
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x404cd0
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0043eafc
add esp, 8
mov dword [0x6fb758], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0043eacc
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 0x404d2c
push eax
mov ebx, eax
call fcn.00401174
inc eax
push eax
call fcn.0043eacc
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 0x405dc4
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0x15
cmp eax, ecx
jl 0x404d62
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x404ee6
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x17
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x404da7
mov eax, 0x4f2518
push eax
push 3
mov ebx, 0x440290
call fcn.0043eade
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x404ddb
and eax, 0xff
jmp 0x404e26
cmp ecx, 0x80000201
jne 0x404de6
cwde
jmp 0x404e26
cmp ecx, 0x80000301
je 0x404e26
cmp ecx, 0x80000401
je 0x404e26
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x404e16
cmp ecx, 0x80000601
je 0x404e1b
push 2
call fcn.0043ead2
add esp, 4
fld dword [ebp - 0x50]
jmp 0x404e21
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040112d
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x6fb758
push 4
mov eax, 2
call fcn.0043eac0
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6fb758]
mov dword [ebp - 0x40], ebx
call fcn.00401154
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x404e72
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0043eafc
add esp, 8
mov dword [0x6fb758], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0043eacc
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 0x404ece
push eax
mov ebx, eax
call fcn.00401174
inc eax
push eax
call fcn.0043eacc
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 0x405dc4
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0x18
cmp eax, ecx
jl 0x404f04
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x405088
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x1a
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x404f49
mov eax, 0x4f2518
push eax
push 3
mov ebx, 0x440290
call fcn.0043eade
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x404f7d
and eax, 0xff
jmp 0x404fc8
cmp ecx, 0x80000201
jne 0x404f88
cwde
jmp 0x404fc8
cmp ecx, 0x80000301
je 0x404fc8
cmp ecx, 0x80000401
je 0x404fc8
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x404fb8
cmp ecx, 0x80000601
je 0x404fbd
push 2
call fcn.0043ead2
add esp, 4
fld dword [ebp - 0x50]
jmp 0x404fc3
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040112d
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x6fb758
push 4
mov eax, 2
call fcn.0043eac0
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6fb758]
mov dword [ebp - 0x40], ebx
call fcn.00401154
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x405014
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0043eafc
add esp, 8
mov dword [0x6fb758], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0043eacc
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 0x405070
push eax
mov ebx, eax
call fcn.00401174
inc eax
push eax
call fcn.0043eacc
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 0x405dc4
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 5
cmp eax, ecx
jl 0x4050b8
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x40512e
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 9
cmp eax, ecx
jl 0x4050e7
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xb9
jne 0x40512e
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0xe
cmp eax, ecx
jl 0x405116
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x40512e
mov eax, 1
jmp 0x405130
xor eax, eax
test eax, eax
je 0x405670
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0xb
push 0x80000301
push 0
push 3
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x40516c
mov eax, 0x4f2518
push eax
push 3
mov ebx, 0x440290
call fcn.0043eade
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x4051a0
and eax, 0xff
jmp 0x4051eb
cmp ecx, 0x80000201
jne 0x4051ab
cwde
jmp 0x4051eb
cmp ecx, 0x80000301
je 0x4051eb
cmp ecx, 0x80000401
je 0x4051eb
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4051db
cmp ecx, 0x80000601
je 0x4051e0
push 2
call fcn.0043ead2
add esp, 4
fld dword [ebp - 0x50]
jmp 0x4051e6
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040112d
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0x15
cmp eax, ecx
jl 0x40520e
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x405252
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0x18
cmp eax, ecx
jl 0x40523d
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x405252
xor eax, eax
jmp 0x405257
mov eax, 1
test eax, eax
je 0x40531a
push 0x6fb758
push 4
mov eax, 2
call fcn.0043eac0
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6fb758]
mov dword [ebp - 0x40], ebx
call fcn.00401154
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x4052a6
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0043eafc
add esp, 8
mov dword [0x6fb758], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0043eacc
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 0x405302
push eax
mov ebx, eax
call fcn.00401174
inc eax
push eax
call fcn.0043eacc
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 0x405dc4
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0x15
cmp eax, ecx
jl 0x405338
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x4054bc
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x17
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x40537d
mov eax, 0x4f2518
push eax
push 3
mov ebx, 0x440290
call fcn.0043eade
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x4053b1
and eax, 0xff
jmp 0x4053fc
cmp ecx, 0x80000201
jne 0x4053bc
cwde
jmp 0x4053fc
cmp ecx, 0x80000301
je 0x4053fc
cmp ecx, 0x80000401
je 0x4053fc
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4053ec
cmp ecx, 0x80000601
je 0x4053f1
push 2
call fcn.0043ead2
add esp, 4
fld dword [ebp - 0x50]
jmp 0x4053f7
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040112d
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x6fb758
push 4
mov eax, 2
call fcn.0043eac0
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6fb758]
mov dword [ebp - 0x40], ebx
call fcn.00401154
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x405448
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0043eafc
add esp, 8
mov dword [0x6fb758], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0043eacc
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 0x4054a4
push eax
mov ebx, eax
call fcn.00401174
inc eax
push eax
call fcn.0043eacc
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 0x405dc4
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0x18
cmp eax, ecx
jl 0x4054da
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x40565e
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x1a
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x40551f
mov eax, 0x4f2518
push eax
push 3
mov ebx, 0x440290
call fcn.0043eade
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x405553
and eax, 0xff
jmp 0x40559e
cmp ecx, 0x80000201
jne 0x40555e
cwde
jmp 0x40559e
cmp ecx, 0x80000301
je 0x40559e
cmp ecx, 0x80000401
je 0x40559e
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x40558e
cmp ecx, 0x80000601
je 0x405593
push 2
call fcn.0043ead2
add esp, 4
fld dword [ebp - 0x50]
jmp 0x405599
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040112d
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x6fb758
push 4
mov eax, 2
call fcn.0043eac0
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6fb758]
mov dword [ebp - 0x40], ebx
call fcn.00401154
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x4055ea
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0043eafc
add esp, 8
mov dword [0x6fb758], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0043eacc
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 0x405646
push eax
mov ebx, eax
call fcn.00401174
inc eax
push eax
call fcn.0043eacc
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 0x405dc4
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
jmp 0x405dc4
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 5
cmp eax, ecx
jl 0x405693
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe8
jne 0x405a5f
push 0x80000301
push 0
push 7
push 0x80000301
push 0
push 3
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x4056cf
mov eax, 0x4f2518
push eax
push 3
mov ebx, 0x440290
call fcn.0043eade
add esp, 0x28
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
cmp ecx, 0x80000101
jne 0x405703
and eax, 0xff
jmp 0x40574e
cmp ecx, 0x80000201
jne 0x40570e
cwde
jmp 0x40574e
cmp ecx, 0x80000301
je 0x40574e
cmp ecx, 0x80000401
je 0x40574e
mov dword [ebp - 0x4c], eax
cmp ecx, 0x80000501
je 0x40573e
cmp ecx, 0x80000601
je 0x405743
push 2
call fcn.0043ead2
add esp, 4
fld dword [ebp - 0x4c]
jmp 0x405749
mov dword [ebp - 0x48], edx
fld qword [ebp - 0x4c]
call fcn.0040112d
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jle 0x40576c
cmp dword [ebp - 0x38], 0xa
jge 0x40576c
mov eax, 1
jmp 0x40576e
xor eax, eax
test eax, eax
je 0x405a5a
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0xd
push dword [ebp - 0x38]
call fcn.004029e4
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x34]
call fcn.00401154
push ebx
push ecx
mov eax, dword [ebp - 0x38]
dec eax
jns 0x4057af
push 4
call fcn.0043ead2
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4057c2
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xf
jne 0x405a5a
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0xa
cmp eax, ecx
jl 0x4057f1
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x405975
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0xc
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x405836
mov eax, 0x4f2518
push eax
push 3
mov ebx, 0x440290
call fcn.0043eade
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x40586a
and eax, 0xff
jmp 0x4058b5
cmp ecx, 0x80000201
jne 0x405875
cwde
jmp 0x4058b5
cmp ecx, 0x80000301
je 0x4058b5
cmp ecx, 0x80000401
je 0x4058b5
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4058a5
cmp ecx, 0x80000601
je 0x4058aa
push 2
call fcn.0043ead2
add esp, 4
fld dword [ebp - 0x50]
jmp 0x4058b0
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040112d
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x6fb758
push 4
mov eax, 2
call fcn.0043eac0
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6fb758]
mov dword [ebp - 0x40], ebx
call fcn.00401154
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x405901
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0043eafc
add esp, 8
mov dword [0x6fb758], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0043eacc
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 0x40595d
push eax
mov ebx, eax
call fcn.00401174
inc eax
push eax
call fcn.0043eacc
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 0x405dc4
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0xa
cmp eax, ecx
jl 0x405993
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x405a5a
push 0x6fb758
push 4
mov eax, 2
call fcn.0043eac0
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6fb758]
mov dword [ebp - 0x40], ebx
call fcn.00401154
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x4059eb
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0043eafc
add esp, 8
mov dword [0x6fb758], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0043eacc
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 0x405a47
push eax
mov ebx, eax
call fcn.00401174
inc eax
push eax
call fcn.0043eacc
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 0x405dc4
jmp 0x405dc4
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 5
cmp eax, ecx
jl 0x405a7d
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xba
jne 0x405ac4
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0xa
cmp eax, ecx
jl 0x405aac
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x405ac4
mov eax, 1
jmp 0x405ac6
xor eax, eax
test eax, eax
je 0x405dc4
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0xb
cmp eax, ecx
jl 0x405aec
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x12
je 0x405b30
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0xb
cmp eax, ecx
jl 0x405b1b
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xd2
je 0x405b30
xor eax, eax
jmp 0x405b35
mov eax, 1
test eax, eax
je 0x405dc4
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0xc
cmp eax, ecx
jl 0x405b5b
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x405cdf
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0xe
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x405ba0
mov eax, 0x4f2518
push eax
push 3
mov ebx, 0x440290
call fcn.0043eade
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x405bd4
and eax, 0xff
jmp 0x405c1f
cmp ecx, 0x80000201
jne 0x405bdf
cwde
jmp 0x405c1f
cmp ecx, 0x80000301
je 0x405c1f
cmp ecx, 0x80000401
je 0x405c1f
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x405c0f
cmp ecx, 0x80000601
je 0x405c14
push 2
call fcn.0043ead2
add esp, 4
fld dword [ebp - 0x50]
jmp 0x405c1a
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040112d
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x6fb758
push 4
mov eax, 2
call fcn.0043eac0
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6fb758]
mov dword [ebp - 0x40], ebx
call fcn.00401154
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x405c6b
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0043eafc
add esp, 8
mov dword [0x6fb758], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0043eacc
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 0x405cc7
push eax
mov ebx, eax
call fcn.00401174
inc eax
push eax
call fcn.0043eacc
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 0x405dc4
mov ebx, dword [ebp - 0x34]
call fcn.00401154
mov eax, 0xc
cmp eax, ecx
jl 0x405cfd
push 1
call fcn.0043ead2
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x405dc4
push 0x6fb758
push 4
mov eax, 2
call fcn.0043eac0
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6fb758]
mov dword [ebp - 0x40], ebx
call fcn.00401154
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x405d55
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0043eafc
add esp, 8
mov dword [0x6fb758], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0043eacc
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 0x405db1
push eax
mov ebx, eax
call fcn.00401174
inc eax
push eax
call fcn.0043eacc
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 0x405dc4
pop eax
pop ebx
pop ecx
jmp 0x403319
add esp, 0xc
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push dword [ebp - 0x24]
push 0xffffffff
call fcn.00408e98
pop ebx
pop ecx
jmp 0x402e61
add esp, 8
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x405e02
push ebx
call fcn.0043eac6
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x405e19
push ebx
call fcn.0043eac6
add esp, 4
pop ebx
call fcn.0043eac6
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x405e32
push ebx
call fcn.0043eac6
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x405e42
push ebx
call fcn.0043eac6
add esp, 4
mov ebx, dword [ebp - 0x20]
push ebx
add ebx, 0x68
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0043eac6
add esp, 4
pop ebx
call fcn.0043eac6
add esp, 4
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x405e7c
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x405e78
imul eax, dword [ebx]
jmp 0x405e6d
mov ecx, eax
test ecx, ecx
je 0x405ea4
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0043eac6
add esp, 4
pop ebx
call fcn.0043eac6
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x405e82
call fcn.0043eac6
add esp, 4
mov ebx, dword [ebp - 0x30]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x405eca
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x405ec6
imul eax, dword [ebx]
jmp 0x405ebb
mov ecx, eax
test ecx, ecx
je 0x405f21
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x405ee8
push ebx
call fcn.0043eac6
add esp, 4
pop ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x405efc
push ebx
call fcn.0043eac6
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x405f10
push ebx
call fcn.0043eac6
add esp, 4
pop ebx
call fcn.0043eac6
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x405ed0
call fcn.0043eac6
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x405f39
push ebx
call fcn.0043eac6
add esp, 4
mov esp, ebp
pop ebp
ret