Function at 0x407545
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.0043077f
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.0043077f
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.0043077f
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4af259
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.0043077f
add esp, 4
mov dword [ebp - 0x28], eax
mov edi, eax
mov esi, 0x4aa4ed
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.0043077f
add esp, 4
mov dword [ebp - 0x30], eax
mov edi, eax
mov esi, 0x4aa4ed
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 [0x5082d0]
call fcn.004070a1
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jne 0x40a5dc
xor ecx, ecx
lea eax, [ebp - 4]
mov ebx, eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
cmp ecx, 3
jg 0x40a5d9
cmp dword [ebp - 4], 1
jne 0x407682
mov eax, str.ntdll.dll
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x407679
push ebx
call fcn.00430779
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x4076d9
cmp dword [ebp - 4], 2
jne 0x4076ab
mov eax, 0x4af244
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x4076a2
push ebx
call fcn.00430779
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x4076d9
cmp dword [ebp - 4], 3
jne 0x4076d4
mov eax, str.gdi32.dll
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x4076cb
push ebx
call fcn.00430779
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x4076d9
jmp 0x40a5dc
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.0040a727
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.0040b5d5
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x407727
push ebx
call fcn.00430779
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x407737
push ebx
call fcn.00430779
add esp, 4
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40774b
push ebx
call fcn.00430779
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
call fcn.0040b6ea
mov dword [ebp - 0x3c], eax
push dword [ebp - 8]
push 0x4af1d8
push dword [ebp - 0x3c]
mov ecx, 3
call fcn.00401428
add esp, 0xc
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x407782
push ebx
call fcn.00430779
add esp, 4
mov dword [ebp - 0x44], esp
push 0
push dword [ebp - 0x14]
push dword [ebp - 0x40]
mov eax, 0xc
call fcn.00430791
cmp dword [ebp - 0x44], esp
je 0x4077ac
push 6
call fcn.00430785
add esp, 4
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x4077bc
push ebx
call fcn.00430779
add esp, 4
push 0x80000004
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x4077cf
mov eax, 0x4aa4c8
push eax
push 1
mov ebx, 0x432c70
call fcn.0043078b
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4077f9
push ebx
call fcn.00430779
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
call fcn.00406faf
mov dword [ebp - 0x1c], eax
push 0x80000004
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x40781c
mov eax, 0x4aa4c8
push eax
push 1
mov ebx, 0x432c30
call fcn.0043078b
add esp, 0x10
push 1
push 0
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1c]
call fcn.0040b791
test eax, eax
je 0x407865
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
cmp word [ebx], 0x10b
jne 0x407865
mov eax, 1
jmp 0x407867
xor eax, eax
test eax, eax
je 0x40a5d2
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.0040bb28
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, 0xd
call fcn.00430791
cmp dword [ebp - 0x54], esp
je 0x4078f7
push 6
call fcn.00430785
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.0040bb4b
push 8
call fcn.0043077f
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x4aa4ed
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.0040bbf5
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.00430779
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 0x407a88
mov ebx, dword [ebp - 0x28]
call fcn.00401484
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x407992
push 4
call fcn.00430785
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4079a5
push 1
call fcn.00430785
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.004068b3
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x28]
call fcn.00401484
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x4079eb
push 4
call fcn.00430785
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4079fe
push 1
call fcn.00430785
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.004068b3
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x28]
call fcn.00401484
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x407a44
push 4
call fcn.00430785
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x407a57
push 1
call fcn.00430785
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.0040bb4b
pop eax
pop ebx
pop ecx
jmp 0x407967
add esp, 0xc
push 1
push dword [ebp - 0x10]
push dword [ebp - 0x24]
call fcn.0040c180
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x407ab6
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x407ab2
imul eax, dword [ebx]
jmp 0x407aa7
mov ecx, eax
test ecx, ecx
je 0x407ade
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.00430779
add esp, 4
pop ebx
call fcn.00430779
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x407abc
call fcn.00430779
add esp, 4
mov eax, 0x4aa4ed
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x24]
call fcn.0040cef1
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 0x40a5b6
cmp dword [ebp - 4], 1
jne 0x407c2d
mov ebx, dword [ebp - 0x30]
call fcn.00401484
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x407b38
push 4
call fcn.00430785
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x407b4b
push 1
call fcn.00430785
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 0x407b79
mov eax, 0x4aa4c8
push eax
push 2
mov ebx, 0x4312d0
call fcn.0043078b
add esp, 0x1c
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0x5a
jne 0x407c1b
mov ebx, dword [ebp - 0x30]
call fcn.00401484
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x407bb6
push 4
call fcn.00430785
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x407bc9
push 1
call fcn.00430785
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 0x407bf7
mov eax, 0x4aa4c8
push eax
push 2
mov ebx, 0x4312d0
call fcn.0043078b
add esp, 0x1c
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0x77
jne 0x407c1b
xor eax, eax
jmp 0x407c20
mov eax, 1
test eax, eax
je 0x407c2d
jmp 0x40a5ae
mov ebx, dword [ebp - 0x30]
call fcn.00401484
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x407c4a
push 4
call fcn.00430785
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x407c5d
push 1
call fcn.00430785
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.0043077f
add esp, 4
mov dword [ebp - 0x40], eax
mov edi, eax
mov esi, 0x4aa4ed
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.0040da00
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
push ebx
call fcn.00430779
add esp, 4
cmp dword [ebp - 0x44], 0
je 0x407ced
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0
cmp eax, ecx
jl 0x407cd5
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x48], ebx
mov ebx, dword [ebp - 0x48]
cmp byte [ebx], 0xb8
jne 0x407ced
mov eax, 1
jmp 0x407cef
xor eax, eax
test eax, eax
je 0x40a5ae
mov ebx, dword [ebp - 0xc]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x30]
call fcn.00401484
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x407d1d
push 4
call fcn.00430785
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x407d30
push 1
call fcn.00430785
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 0x407d5b
push eax
mov ebx, eax
call fcn.004013bd
inc eax
push eax
call fcn.0043077f
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 0x407d6e
push ebx
call fcn.00430779
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 0x407dba
mov eax, 0x4aa4ed
push eax
push 3
mov ebx, 0x4322d0
call fcn.0043078b
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 0x407dee
and eax, 0xff
jmp 0x407e39
cmp ecx, 0x80000201
jne 0x407df9
cwde
jmp 0x407e39
cmp ecx, 0x80000301
je 0x407e39
cmp ecx, 0x80000401
je 0x407e39
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x407e29
cmp ecx, 0x80000601
je 0x407e2e
push 2
call fcn.00430785
add esp, 4
fld dword [ebp - 0x50]
jmp 0x407e34
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401396
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [0x5082d4]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 5
jne 0x407e75
mov ebx, dword [0x5082d4]
add ebx, 8
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp dword [ebx], 0
jne 0x407e75
mov eax, 1
jmp 0x407e77
xor eax, eax
test eax, eax
je 0x408551
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 9
cmp eax, ecx
jl 0x407e9d
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xcd
jne 0x407ee4
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0xa
cmp eax, ecx
jl 0x407ecc
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x2e
jne 0x407ee4
mov eax, 1
jmp 0x407ee6
xor eax, eax
test eax, eax
je 0x40854c
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0xb
cmp eax, ecx
jl 0x407f0c
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x408090
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 0x407f51
mov eax, 0x4aa4ed
push eax
push 3
mov ebx, 0x4322d0
call fcn.0043078b
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 0x407f85
and eax, 0xff
jmp 0x407fd0
cmp ecx, 0x80000201
jne 0x407f90
cwde
jmp 0x407fd0
cmp ecx, 0x80000301
je 0x407fd0
cmp ecx, 0x80000401
je 0x407fd0
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x407fc0
cmp ecx, 0x80000601
je 0x407fc5
push 2
call fcn.00430785
add esp, 4
fld dword [ebp - 0x50]
jmp 0x407fcb
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401396
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x5082d0
push 4
mov eax, 2
call fcn.00430773
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5082d0]
mov dword [ebp - 0x40], ebx
call fcn.00401484
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 0x40801c
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.00430797
add esp, 8
mov dword [0x5082d0], 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.0043077f
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 0x408078
push eax
mov ebx, eax
call fcn.004013bd
inc eax
push eax
call fcn.0043077f
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 0x40a5ae
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0xb
cmp eax, ecx
jl 0x4080ae
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x40817a
push 0x5082d0
push 4
mov eax, 2
call fcn.00430773
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5082d0]
mov dword [ebp - 0x40], ebx
call fcn.00401484
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 0x408106
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.00430797
add esp, 8
mov dword [0x5082d0], 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.0043077f
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 0x408162
push eax
mov ebx, eax
call fcn.004013bd
inc eax
push eax
call fcn.0043077f
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 0x40a5ae
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0xb
cmp eax, ecx
jl 0x408198
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe9
jne 0x40854c
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0x10
push dword [ebp - 0x38]
call fcn.004068b3
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 0x4081f0
mov eax, 0x4aa4ed
push eax
push 3
mov ebx, 0x4322d0
call fcn.0043078b
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 0x408230
and eax, 0xff
jmp 0x40827b
cmp ecx, 0x80000201
jne 0x40823b
cwde
jmp 0x40827b
cmp ecx, 0x80000301
je 0x40827b
cmp ecx, 0x80000401
je 0x40827b
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x40826b
cmp ecx, 0x80000601
je 0x408270
push 2
call fcn.00430785
add esp, 4
fld dword [ebp - 0x50]
jmp 0x408276
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401396
push eax
push dword [ebp - 0x38]
call fcn.004068b3
mov dword [ebp - 0x38], eax
push 8
call fcn.0043077f
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x4aa4ed
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.0040da00
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.00430779
add esp, 4
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0
cmp eax, ecx
jl 0x4082e3
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x408467
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 0x408328
mov eax, 0x4aa4ed
push eax
push 3
mov ebx, 0x4322d0
call fcn.0043078b
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 0x40835c
and eax, 0xff
jmp 0x4083a7
cmp ecx, 0x80000201
jne 0x408367
cwde
jmp 0x4083a7
cmp ecx, 0x80000301
je 0x4083a7
cmp ecx, 0x80000401
je 0x4083a7
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x408397
cmp ecx, 0x80000601
je 0x40839c
push 2
call fcn.00430785
add esp, 4
fld dword [ebp - 0x50]
jmp 0x4083a2
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401396
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x5082d0
push 4
mov eax, 2
call fcn.00430773
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5082d0]
mov dword [ebp - 0x40], ebx
call fcn.00401484
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 0x4083f3
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.00430797
add esp, 8
mov dword [0x5082d0], 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.0043077f
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 0x40844f
push eax
mov ebx, eax
call fcn.004013bd
inc eax
push eax
call fcn.0043077f
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 0x40a5ae
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0
cmp eax, ecx
jl 0x408485
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x40854c
push 0x5082d0
push 4
mov eax, 2
call fcn.00430773
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5082d0]
mov dword [ebp - 0x40], ebx
call fcn.00401484
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 0x4084dd
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.00430797
add esp, 8
mov dword [0x5082d0], 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.0043077f
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 0x408539
push eax
mov ebx, eax
call fcn.004013bd
inc eax
push eax
call fcn.0043077f
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 0x40a5ae
jmp 0x40a5ae
mov ebx, dword [0x5082d4]
add ebx, 0x1c
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 0
je 0x409e5f
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.00401484
mov eax, 5
cmp eax, ecx
jl 0x408599
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x64
jne 0x40860f
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 6
cmp eax, ecx
jl 0x4085c8
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x40860f
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 8
cmp eax, ecx
jl 0x4085f7
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc0
jne 0x40860f
mov eax, 1
jmp 0x408611
xor eax, eax
test eax, eax
je 0x4088a0
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0xc
cmp eax, ecx
jl 0x408637
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x4087bb
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 0x40867c
mov eax, 0x4aa4ed
push eax
push 3
mov ebx, 0x4322d0
call fcn.0043078b
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 0x4086b0
and eax, 0xff
jmp 0x4086fb
cmp ecx, 0x80000201
jne 0x4086bb
cwde
jmp 0x4086fb
cmp ecx, 0x80000301
je 0x4086fb
cmp ecx, 0x80000401
je 0x4086fb
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4086eb
cmp ecx, 0x80000601
je 0x4086f0
push 2
call fcn.00430785
add esp, 4
fld dword [ebp - 0x50]
jmp 0x4086f6
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401396
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x5082d0
push 4
mov eax, 2
call fcn.00430773
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5082d0]
mov dword [ebp - 0x40], ebx
call fcn.00401484
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 0x408747
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.00430797
add esp, 8
mov dword [0x5082d0], 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.0043077f
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 0x4087a3
push eax
mov ebx, eax
call fcn.004013bd
inc eax
push eax
call fcn.0043077f
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 0x40a5ae
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0xc
cmp eax, ecx
jl 0x4087d9
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x4088a0
push 0x5082d0
push 4
mov eax, 2
call fcn.00430773
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5082d0]
mov dword [ebp - 0x40], ebx
call fcn.00401484
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 0x408831
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.00430797
add esp, 8
mov dword [0x5082d0], 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.0043077f
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 0x40888d
push eax
mov ebx, eax
call fcn.004013bd
inc eax
push eax
call fcn.0043077f
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 0x40a5ae
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 5
cmp eax, ecx
jl 0x4088be
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x33
jne 0x408934
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 7
cmp eax, ecx
jl 0x4088ed
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x408934
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0xb
cmp eax, ecx
jl 0x40891c
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x408934
mov eax, 1
jmp 0x408936
xor eax, eax
test eax, eax
je 0x408da7
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0x12
cmp eax, ecx
jl 0x40895c
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x4089a0
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0x15
cmp eax, ecx
jl 0x40898b
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x4089a0
xor eax, eax
jmp 0x4089a5
mov eax, 1
test eax, eax
je 0x408a68
push 0x5082d0
push 4
mov eax, 2
call fcn.00430773
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5082d0]
mov dword [ebp - 0x40], ebx
call fcn.00401484
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 0x4089f4
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.00430797
add esp, 8
mov dword [0x5082d0], 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.0043077f
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 0x408a50
push eax
mov ebx, eax
call fcn.004013bd
inc eax
push eax
call fcn.0043077f
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 0x40a5ae
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0x12
cmp eax, ecx
jl 0x408a86
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x408c0a
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 0x408acb
mov eax, 0x4aa4ed
push eax
push 3
mov ebx, 0x4322d0
call fcn.0043078b
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 0x408aff
and eax, 0xff
jmp 0x408b4a
cmp ecx, 0x80000201
jne 0x408b0a
cwde
jmp 0x408b4a
cmp ecx, 0x80000301
je 0x408b4a
cmp ecx, 0x80000401
je 0x408b4a
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x408b3a
cmp ecx, 0x80000601
je 0x408b3f
push 2
call fcn.00430785
add esp, 4
fld dword [ebp - 0x50]
jmp 0x408b45
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401396
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x5082d0
push 4
mov eax, 2
call fcn.00430773
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5082d0]
mov dword [ebp - 0x40], ebx
call fcn.00401484
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 0x408b96
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.00430797
add esp, 8
mov dword [0x5082d0], 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.0043077f
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 0x408bf2
push eax
mov ebx, eax
call fcn.004013bd
inc eax
push eax
call fcn.0043077f
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 0x40a5ae
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0x15
cmp eax, ecx
jl 0x408c28
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x408da7
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 0x408c6d
mov eax, 0x4aa4ed
push eax
push 3
mov ebx, 0x4322d0
call fcn.0043078b
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 0x408ca1
and eax, 0xff
jmp 0x408cec
cmp ecx, 0x80000201
jne 0x408cac
cwde
jmp 0x408cec
cmp ecx, 0x80000301
je 0x408cec
cmp ecx, 0x80000401
je 0x408cec
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x408cdc
cmp ecx, 0x80000601
je 0x408ce1
push 2
call fcn.00430785
add esp, 4
fld dword [ebp - 0x50]
jmp 0x408ce7
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401396
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x5082d0
push 4
mov eax, 2
call fcn.00430773
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5082d0]
mov dword [ebp - 0x40], ebx
call fcn.00401484
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 0x408d38
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.00430797
add esp, 8
mov dword [0x5082d0], 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.0043077f
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 0x408d94
push eax
mov ebx, eax
call fcn.004013bd
inc eax
push eax
call fcn.0043077f
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 0x40a5ae
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 5
cmp eax, ecx
jl 0x408dc5
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x408e3b
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 9
cmp eax, ecx
jl 0x408df4
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x33
jne 0x408e3b
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0xb
cmp eax, ecx
jl 0x408e23
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x408e3b
mov eax, 1
jmp 0x408e3d
xor eax, eax
test eax, eax
je 0x4092ae
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0x12
cmp eax, ecx
jl 0x408e63
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x408ea7
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0x15
cmp eax, ecx
jl 0x408e92
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x408ea7
xor eax, eax
jmp 0x408eac
mov eax, 1
test eax, eax
je 0x408f6f
push 0x5082d0
push 4
mov eax, 2
call fcn.00430773
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5082d0]
mov dword [ebp - 0x40], ebx
call fcn.00401484
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 0x408efb
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.00430797
add esp, 8
mov dword [0x5082d0], 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.0043077f
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 0x408f57
push eax
mov ebx, eax
call fcn.004013bd
inc eax
push eax
call fcn.0043077f
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 0x40a5ae
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0x12
cmp eax, ecx
jl 0x408f8d
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x409111
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 0x408fd2
mov eax, 0x4aa4ed
push eax
push 3
mov ebx, 0x4322d0
call fcn.0043078b
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 0x409006
and eax, 0xff
jmp 0x409051
cmp ecx, 0x80000201
jne 0x409011
cwde
jmp 0x409051
cmp ecx, 0x80000301
je 0x409051
cmp ecx, 0x80000401
je 0x409051
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x409041
cmp ecx, 0x80000601
je 0x409046
push 2
call fcn.00430785
add esp, 4
fld dword [ebp - 0x50]
jmp 0x40904c
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401396
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x5082d0
push 4
mov eax, 2
call fcn.00430773
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5082d0]
mov dword [ebp - 0x40], ebx
call fcn.00401484
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 0x40909d
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.00430797
add esp, 8
mov dword [0x5082d0], 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.0043077f
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 0x4090f9
push eax
mov ebx, eax
call fcn.004013bd
inc eax
push eax
call fcn.0043077f
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 0x40a5ae
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0x15
cmp eax, ecx
jl 0x40912f
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x4092ae
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 0x409174
mov eax, 0x4aa4ed
push eax
push 3
mov ebx, 0x4322d0
call fcn.0043078b
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 0x4091a8
and eax, 0xff
jmp 0x4091f3
cmp ecx, 0x80000201
jne 0x4091b3
cwde
jmp 0x4091f3
cmp ecx, 0x80000301
je 0x4091f3
cmp ecx, 0x80000401
je 0x4091f3
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4091e3
cmp ecx, 0x80000601
je 0x4091e8
push 2
call fcn.00430785
add esp, 4
fld dword [ebp - 0x50]
jmp 0x4091ee
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401396
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x5082d0
push 4
mov eax, 2
call fcn.00430773
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5082d0]
mov dword [ebp - 0x40], ebx
call fcn.00401484
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 0x40923f
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.00430797
add esp, 8
mov dword [0x5082d0], 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.0043077f
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 0x40929b
push eax
mov ebx, eax
call fcn.004013bd
inc eax
push eax
call fcn.0043077f
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 0x40a5ae
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 5
cmp eax, ecx
jl 0x4092cc
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xb9
jne 0x409342
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0xa
cmp eax, ecx
jl 0x4092fb
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x409342
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0xe
cmp eax, ecx
jl 0x40932a
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x409342
mov eax, 1
jmp 0x409344
xor eax, eax
test eax, eax
je 0x409884
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 0x409380
mov eax, 0x4aa4ed
push eax
push 3
mov ebx, 0x4322d0
call fcn.0043078b
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 0x4093b4
and eax, 0xff
jmp 0x4093ff
cmp ecx, 0x80000201
jne 0x4093bf
cwde
jmp 0x4093ff
cmp ecx, 0x80000301
je 0x4093ff
cmp ecx, 0x80000401
je 0x4093ff
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4093ef
cmp ecx, 0x80000601
je 0x4093f4
push 2
call fcn.00430785
add esp, 4
fld dword [ebp - 0x50]
jmp 0x4093fa
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401396
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0x15
cmp eax, ecx
jl 0x409422
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x409466
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0x18
cmp eax, ecx
jl 0x409451
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x409466
xor eax, eax
jmp 0x40946b
mov eax, 1
test eax, eax
je 0x40952e
push 0x5082d0
push 4
mov eax, 2
call fcn.00430773
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5082d0]
mov dword [ebp - 0x40], ebx
call fcn.00401484
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 0x4094ba
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.00430797
add esp, 8
mov dword [0x5082d0], 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.0043077f
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 0x409516
push eax
mov ebx, eax
call fcn.004013bd
inc eax
push eax
call fcn.0043077f
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 0x40a5ae
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0x15
cmp eax, ecx
jl 0x40954c
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x4096d0
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 0x409591
mov eax, 0x4aa4ed
push eax
push 3
mov ebx, 0x4322d0
call fcn.0043078b
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 0x4095c5
and eax, 0xff
jmp 0x409610
cmp ecx, 0x80000201
jne 0x4095d0
cwde
jmp 0x409610
cmp ecx, 0x80000301
je 0x409610
cmp ecx, 0x80000401
je 0x409610
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x409600
cmp ecx, 0x80000601
je 0x409605
push 2
call fcn.00430785
add esp, 4
fld dword [ebp - 0x50]
jmp 0x40960b
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401396
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x5082d0
push 4
mov eax, 2
call fcn.00430773
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5082d0]
mov dword [ebp - 0x40], ebx
call fcn.00401484
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 0x40965c
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.00430797
add esp, 8
mov dword [0x5082d0], 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.0043077f
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 0x4096b8
push eax
mov ebx, eax
call fcn.004013bd
inc eax
push eax
call fcn.0043077f
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 0x40a5ae
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0x18
cmp eax, ecx
jl 0x4096ee
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x409872
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 0x409733
mov eax, 0x4aa4ed
push eax
push 3
mov ebx, 0x4322d0
call fcn.0043078b
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 0x409767
and eax, 0xff
jmp 0x4097b2
cmp ecx, 0x80000201
jne 0x409772
cwde
jmp 0x4097b2
cmp ecx, 0x80000301
je 0x4097b2
cmp ecx, 0x80000401
je 0x4097b2
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4097a2
cmp ecx, 0x80000601
je 0x4097a7
push 2
call fcn.00430785
add esp, 4
fld dword [ebp - 0x50]
jmp 0x4097ad
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401396
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x5082d0
push 4
mov eax, 2
call fcn.00430773
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5082d0]
mov dword [ebp - 0x40], ebx
call fcn.00401484
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 0x4097fe
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.00430797
add esp, 8
mov dword [0x5082d0], 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.0043077f
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 0x40985a
push eax
mov ebx, eax
call fcn.004013bd
inc eax
push eax
call fcn.0043077f
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 0x40a5ae
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.00401484
mov eax, 5
cmp eax, ecx
jl 0x4098a2
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x409918
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 9
cmp eax, ecx
jl 0x4098d1
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xb9
jne 0x409918
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0xe
cmp eax, ecx
jl 0x409900
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x409918
mov eax, 1
jmp 0x40991a
xor eax, eax
test eax, eax
je 0x409e5a
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 0x409956
mov eax, 0x4aa4ed
push eax
push 3
mov ebx, 0x4322d0
call fcn.0043078b
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 0x40998a
and eax, 0xff
jmp 0x4099d5
cmp ecx, 0x80000201
jne 0x409995
cwde
jmp 0x4099d5
cmp ecx, 0x80000301
je 0x4099d5
cmp ecx, 0x80000401
je 0x4099d5
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4099c5
cmp ecx, 0x80000601
je 0x4099ca
push 2
call fcn.00430785
add esp, 4
fld dword [ebp - 0x50]
jmp 0x4099d0
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401396
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0x15
cmp eax, ecx
jl 0x4099f8
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x409a3c
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0x18
cmp eax, ecx
jl 0x409a27
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x409a3c
xor eax, eax
jmp 0x409a41
mov eax, 1
test eax, eax
je 0x409b04
push 0x5082d0
push 4
mov eax, 2
call fcn.00430773
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5082d0]
mov dword [ebp - 0x40], ebx
call fcn.00401484
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 0x409a90
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.00430797
add esp, 8
mov dword [0x5082d0], 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.0043077f
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 0x409aec
push eax
mov ebx, eax
call fcn.004013bd
inc eax
push eax
call fcn.0043077f
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 0x40a5ae
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0x15
cmp eax, ecx
jl 0x409b22
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x409ca6
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 0x409b67
mov eax, 0x4aa4ed
push eax
push 3
mov ebx, 0x4322d0
call fcn.0043078b
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 0x409b9b
and eax, 0xff
jmp 0x409be6
cmp ecx, 0x80000201
jne 0x409ba6
cwde
jmp 0x409be6
cmp ecx, 0x80000301
je 0x409be6
cmp ecx, 0x80000401
je 0x409be6
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x409bd6
cmp ecx, 0x80000601
je 0x409bdb
push 2
call fcn.00430785
add esp, 4
fld dword [ebp - 0x50]
jmp 0x409be1
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401396
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x5082d0
push 4
mov eax, 2
call fcn.00430773
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5082d0]
mov dword [ebp - 0x40], ebx
call fcn.00401484
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 0x409c32
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.00430797
add esp, 8
mov dword [0x5082d0], 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.0043077f
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 0x409c8e
push eax
mov ebx, eax
call fcn.004013bd
inc eax
push eax
call fcn.0043077f
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 0x40a5ae
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0x18
cmp eax, ecx
jl 0x409cc4
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x409e48
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 0x409d09
mov eax, 0x4aa4ed
push eax
push 3
mov ebx, 0x4322d0
call fcn.0043078b
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 0x409d3d
and eax, 0xff
jmp 0x409d88
cmp ecx, 0x80000201
jne 0x409d48
cwde
jmp 0x409d88
cmp ecx, 0x80000301
je 0x409d88
cmp ecx, 0x80000401
je 0x409d88
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x409d78
cmp ecx, 0x80000601
je 0x409d7d
push 2
call fcn.00430785
add esp, 4
fld dword [ebp - 0x50]
jmp 0x409d83
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401396
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x5082d0
push 4
mov eax, 2
call fcn.00430773
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5082d0]
mov dword [ebp - 0x40], ebx
call fcn.00401484
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 0x409dd4
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.00430797
add esp, 8
mov dword [0x5082d0], 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.0043077f
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 0x409e30
push eax
mov ebx, eax
call fcn.004013bd
inc eax
push eax
call fcn.0043077f
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 0x40a5ae
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
jmp 0x40a5ae
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 5
cmp eax, ecx
jl 0x409e7d
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe8
jne 0x40a249
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 0x409eb9
mov eax, 0x4aa4ed
push eax
push 3
mov ebx, 0x4322d0
call fcn.0043078b
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 0x409eed
and eax, 0xff
jmp 0x409f38
cmp ecx, 0x80000201
jne 0x409ef8
cwde
jmp 0x409f38
cmp ecx, 0x80000301
je 0x409f38
cmp ecx, 0x80000401
je 0x409f38
mov dword [ebp - 0x4c], eax
cmp ecx, 0x80000501
je 0x409f28
cmp ecx, 0x80000601
je 0x409f2d
push 2
call fcn.00430785
add esp, 4
fld dword [ebp - 0x4c]
jmp 0x409f33
mov dword [ebp - 0x48], edx
fld qword [ebp - 0x4c]
call fcn.00401396
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jle 0x409f56
cmp dword [ebp - 0x38], 0xa
jge 0x409f56
mov eax, 1
jmp 0x409f58
xor eax, eax
test eax, eax
je 0x40a244
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0xd
push dword [ebp - 0x38]
call fcn.004068b3
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x34]
call fcn.00401484
push ebx
push ecx
mov eax, dword [ebp - 0x38]
dec eax
jns 0x409f99
push 4
call fcn.00430785
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x409fac
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xf
jne 0x40a244
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0xa
cmp eax, ecx
jl 0x409fdb
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x40a15f
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 0x40a020
mov eax, 0x4aa4ed
push eax
push 3
mov ebx, 0x4322d0
call fcn.0043078b
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 0x40a054
and eax, 0xff
jmp 0x40a09f
cmp ecx, 0x80000201
jne 0x40a05f
cwde
jmp 0x40a09f
cmp ecx, 0x80000301
je 0x40a09f
cmp ecx, 0x80000401
je 0x40a09f
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x40a08f
cmp ecx, 0x80000601
je 0x40a094
push 2
call fcn.00430785
add esp, 4
fld dword [ebp - 0x50]
jmp 0x40a09a
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401396
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x5082d0
push 4
mov eax, 2
call fcn.00430773
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5082d0]
mov dword [ebp - 0x40], ebx
call fcn.00401484
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 0x40a0eb
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.00430797
add esp, 8
mov dword [0x5082d0], 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.0043077f
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 0x40a147
push eax
mov ebx, eax
call fcn.004013bd
inc eax
push eax
call fcn.0043077f
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 0x40a5ae
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0xa
cmp eax, ecx
jl 0x40a17d
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x40a244
push 0x5082d0
push 4
mov eax, 2
call fcn.00430773
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5082d0]
mov dword [ebp - 0x40], ebx
call fcn.00401484
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 0x40a1d5
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.00430797
add esp, 8
mov dword [0x5082d0], 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.0043077f
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 0x40a231
push eax
mov ebx, eax
call fcn.004013bd
inc eax
push eax
call fcn.0043077f
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 0x40a5ae
jmp 0x40a5ae
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 5
cmp eax, ecx
jl 0x40a267
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xba
jne 0x40a2ae
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0xa
cmp eax, ecx
jl 0x40a296
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x40a2ae
mov eax, 1
jmp 0x40a2b0
xor eax, eax
test eax, eax
je 0x40a5ae
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0xb
cmp eax, ecx
jl 0x40a2d6
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x12
je 0x40a31a
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0xb
cmp eax, ecx
jl 0x40a305
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xd2
je 0x40a31a
xor eax, eax
jmp 0x40a31f
mov eax, 1
test eax, eax
je 0x40a5ae
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0xc
cmp eax, ecx
jl 0x40a345
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x40a4c9
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 0x40a38a
mov eax, 0x4aa4ed
push eax
push 3
mov ebx, 0x4322d0
call fcn.0043078b
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 0x40a3be
and eax, 0xff
jmp 0x40a409
cmp ecx, 0x80000201
jne 0x40a3c9
cwde
jmp 0x40a409
cmp ecx, 0x80000301
je 0x40a409
cmp ecx, 0x80000401
je 0x40a409
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x40a3f9
cmp ecx, 0x80000601
je 0x40a3fe
push 2
call fcn.00430785
add esp, 4
fld dword [ebp - 0x50]
jmp 0x40a404
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401396
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x5082d0
push 4
mov eax, 2
call fcn.00430773
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5082d0]
mov dword [ebp - 0x40], ebx
call fcn.00401484
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 0x40a455
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.00430797
add esp, 8
mov dword [0x5082d0], 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.0043077f
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 0x40a4b1
push eax
mov ebx, eax
call fcn.004013bd
inc eax
push eax
call fcn.0043077f
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 0x40a5ae
mov ebx, dword [ebp - 0x34]
call fcn.00401484
mov eax, 0xc
cmp eax, ecx
jl 0x40a4e7
push 1
call fcn.00430785
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x40a5ae
push 0x5082d0
push 4
mov eax, 2
call fcn.00430773
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5082d0]
mov dword [ebp - 0x40], ebx
call fcn.00401484
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 0x40a53f
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.00430797
add esp, 8
mov dword [0x5082d0], 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.0043077f
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 0x40a59b
push eax
mov ebx, eax
call fcn.004013bd
inc eax
push eax
call fcn.0043077f
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 0x40a5ae
pop eax
pop ebx
pop ecx
jmp 0x407b03
add esp, 0xc
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push dword [ebp - 0x24]
push 0xffffffff
call fcn.0040dafa
pop ebx
pop ecx
jmp 0x40764b
add esp, 8
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40a5ec
push ebx
call fcn.00430779
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40a603
push ebx
call fcn.00430779
add esp, 4
pop ebx
call fcn.00430779
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40a61c
push ebx
call fcn.00430779
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40a62c
push ebx
call fcn.00430779
add esp, 4
mov ebx, dword [ebp - 0x20]
push ebx
add ebx, 0x68
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.00430779
add esp, 4
pop ebx
call fcn.00430779
add esp, 4
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40a666
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40a662
imul eax, dword [ebx]
jmp 0x40a657
mov ecx, eax
test ecx, ecx
je 0x40a68e
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.00430779
add esp, 4
pop ebx
call fcn.00430779
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40a66c
call fcn.00430779
add esp, 4
mov ebx, dword [ebp - 0x30]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40a6b4
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40a6b0
imul eax, dword [ebx]
jmp 0x40a6a5
mov ecx, eax
test ecx, ecx
je 0x40a70b
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40a6d2
push ebx
call fcn.00430779
add esp, 4
pop ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40a6e6
push ebx
call fcn.00430779
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40a6fa
push ebx
call fcn.00430779
add esp, 4
pop ebx
call fcn.00430779
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40a6ba
call fcn.00430779
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x40a723
push ebx
call fcn.00430779
add esp, 4
mov esp, ebp
pop ebp
ret