Function at 0x415201
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.004ae554
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.004ae554
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.004ae554
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x5adae9
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.004ae554
add esp, 4
mov dword [ebp - 0x28], eax
mov edi, eax
mov esi, 0x5ac7b0
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.004ae554
add esp, 4
mov dword [ebp - 0x30], eax
mov edi, eax
mov esi, 0x5ac7b0
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 [0x6f6210]
call fcn.00401ad6
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jne 0x41881f
xor ecx, ecx
lea eax, [ebp - 4]
mov ebx, eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
cmp ecx, 3
jg 0x41881c
cmp dword [ebp - 4], 1
jne 0x41533e
mov eax, 0x5adaca
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x415335
push ebx
call fcn.004ae548
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x415395
cmp dword [ebp - 4], 2
jne 0x415367
mov eax, 0x5adad4
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x41535e
push ebx
call fcn.004ae548
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x415395
cmp dword [ebp - 4], 3
jne 0x415390
mov eax, 0x5adadf
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x415387
push ebx
call fcn.004ae548
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x415395
jmp 0x41881f
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.0041896a
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.004199c5
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x4153e3
push ebx
call fcn.004ae548
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x4153f3
push ebx
call fcn.004ae548
add esp, 4
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x415407
push ebx
call fcn.004ae548
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
call fcn.00419ada
mov dword [ebp - 0x3c], eax
push dword [ebp - 8]
push 0x5acc60
push dword [ebp - 0x3c]
mov ecx, 3
call fcn.004015e8
add esp, 0xc
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x41543e
push ebx
call fcn.004ae548
add esp, 4
mov dword [ebp - 0x44], esp
push 0
push dword [ebp - 0x14]
push dword [ebp - 0x40]
mov eax, 0x28
call fcn.004ae560
cmp dword [ebp - 0x44], esp
je 0x415468
push 6
call fcn.004ae54e
add esp, 4
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x415478
push ebx
call fcn.004ae548
add esp, 4
push 0x80000004
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x41548b
mov eax, 0x5ac721
push eax
push 1
mov ebx, 0x4b1b20
call fcn.004ae55a
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4154b5
push ebx
call fcn.004ae548
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
call fcn.00419b81
mov dword [ebp - 0x1c], eax
push 0x80000004
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x4154d8
mov eax, 0x5ac721
push eax
push 1
mov ebx, 0x4b1ae0
call fcn.004ae55a
add esp, 0x10
push 1
push 0
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1c]
call fcn.00419ba5
test eax, eax
je 0x415521
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
cmp word [ebx], 0x10b
jne 0x415521
mov eax, 1
jmp 0x415526
mov eax, 0
test eax, eax
je 0x418815
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.00419f3c
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 reloc.MSVFW32.dll_DrawDibDraw
mov eax, 0x29
call fcn.004ae560
cmp dword [ebp - 0x54], esp
je 0x4155b6
push 6
call fcn.004ae54e
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.00419f5f
push 8
call fcn.004ae554
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x5ac7b0
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.0041a08c
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.004ae548
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 0x415747
mov ebx, dword [ebp - 0x28]
call fcn.00401aef
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x415651
push 4
call fcn.004ae54e
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x415664
push 1
call fcn.004ae54e
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.00414e8a
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x28]
call fcn.00401aef
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x4156aa
push 4
call fcn.004ae54e
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4156bd
push 1
call fcn.004ae54e
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.00414e8a
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x28]
call fcn.00401aef
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x415703
push 4
call fcn.004ae54e
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x415716
push 1
call fcn.004ae54e
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.00419f5f
pop eax
pop ebx
pop ecx
jmp 0x415626
add esp, 0xc
push 1
push dword [ebp - 0x10]
push dword [ebp - 0x24]
call fcn.0041a631
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x415775
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x415771
imul eax, dword [ebx]
jmp 0x415766
mov ecx, eax
test ecx, ecx
je 0x41579d
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004ae548
add esp, 4
pop ebx
call fcn.004ae548
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x41577b
call fcn.004ae548
add esp, 4
mov eax, 0x5ac7b0
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x24]
call fcn.0041b470
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 0x4187f9
cmp dword [ebp - 4], 1
jne 0x4158ec
mov ebx, dword [ebp - 0x30]
call fcn.00401aef
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x4157f7
push 4
call fcn.004ae54e
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x41580a
push 1
call fcn.004ae54e
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 0x415838
mov eax, 0x5ac721
push eax
push 2
mov ebx, 0x4aefd0
call fcn.004ae55a
add esp, 0x1c
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0x5a
jne 0x4158da
mov ebx, dword [ebp - 0x30]
call fcn.00401aef
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x415875
push 4
call fcn.004ae54e
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x415888
push 1
call fcn.004ae54e
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 0x4158b6
mov eax, 0x5ac721
push eax
push 2
mov ebx, 0x4aefd0
call fcn.004ae55a
add esp, 0x1c
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0x77
jne 0x4158da
xor eax, eax
jmp 0x4158df
mov eax, 1
test eax, eax
je 0x4158ec
jmp 0x4187f1
mov ebx, dword [ebp - 0x30]
call fcn.00401aef
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x415909
push 4
call fcn.004ae54e
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x41591c
push 1
call fcn.004ae54e
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.004ae554
add esp, 4
mov dword [ebp - 0x40], eax
mov edi, eax
mov esi, 0x5ac7b0
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.0041bf82
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
push ebx
call fcn.004ae548
add esp, 4
cmp dword [ebp - 0x44], 0
je 0x4159ac
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0
cmp eax, ecx
jl 0x415994
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x48], ebx
mov ebx, dword [ebp - 0x48]
cmp byte [ebx], 0xb8
jne 0x4159ac
mov eax, 1
jmp 0x4159b1
mov eax, 0
test eax, eax
je 0x4187f1
mov ebx, dword [ebp - 0xc]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x30]
call fcn.00401aef
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x4159df
push 4
call fcn.004ae54e
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4159f2
push 1
call fcn.004ae54e
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 0x415a1d
push eax
mov ebx, eax
call fcn.0040157d
inc eax
push eax
call fcn.004ae554
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 0x415a30
push ebx
call fcn.004ae548
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 0x415a7c
mov eax, 0x5ac7b0
push eax
push 3
mov ebx, 0x4b0490
call fcn.004ae55a
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 0x415ab0
and eax, 0xff
jmp 0x415afb
cmp ecx, 0x80000201
jne 0x415abb
cwde
jmp 0x415afb
cmp ecx, 0x80000301
je 0x415afb
cmp ecx, 0x80000401
je 0x415afb
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x415aeb
cmp ecx, 0x80000601
je 0x415af0
push 2
call fcn.004ae54e
add esp, 4
fld dword [ebp - 0x50]
jmp 0x415af6
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401a12
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [0x6f6214]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 5
jne 0x415b37
mov ebx, dword [0x6f6214]
add ebx, 8
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp dword [ebx], 0
jne 0x415b37
mov eax, 1
jmp 0x415b3c
mov eax, 0
test eax, eax
je 0x416219
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 9
cmp eax, ecx
jl 0x415b62
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xcd
jne 0x415ba9
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0xa
cmp eax, ecx
jl 0x415b91
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x2e
jne 0x415ba9
mov eax, 1
jmp 0x415bae
mov eax, 0
test eax, eax
je 0x416214
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0xb
cmp eax, ecx
jl 0x415bd4
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x415d58
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 0x415c19
mov eax, 0x5ac7b0
push eax
push 3
mov ebx, 0x4b0490
call fcn.004ae55a
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 0x415c4d
and eax, 0xff
jmp 0x415c98
cmp ecx, 0x80000201
jne 0x415c58
cwde
jmp 0x415c98
cmp ecx, 0x80000301
je 0x415c98
cmp ecx, 0x80000401
je 0x415c98
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x415c88
cmp ecx, 0x80000601
je 0x415c8d
push 2
call fcn.004ae54e
add esp, 4
fld dword [ebp - 0x50]
jmp 0x415c93
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401a12
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x6f6210
push 4
mov eax, 2
call fcn.004ae542
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6f6210]
mov dword [ebp - 0x40], ebx
call fcn.00401aef
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 0x415ce4
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.004ae578
add esp, 8
mov dword [0x6f6210], 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.004ae554
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 0x415d40
push eax
mov ebx, eax
call fcn.0040157d
inc eax
push eax
call fcn.004ae554
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 0x4187f1
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0xb
cmp eax, ecx
jl 0x415d76
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x415e42
push 0x6f6210
push 4
mov eax, 2
call fcn.004ae542
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6f6210]
mov dword [ebp - 0x40], ebx
call fcn.00401aef
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 0x415dce
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.004ae578
add esp, 8
mov dword [0x6f6210], 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.004ae554
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 0x415e2a
push eax
mov ebx, eax
call fcn.0040157d
inc eax
push eax
call fcn.004ae554
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 0x4187f1
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0xb
cmp eax, ecx
jl 0x415e60
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe9
jne 0x416214
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0x10
push dword [ebp - 0x38]
call fcn.00414e8a
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 0x415eb8
mov eax, 0x5ac7b0
push eax
push 3
mov ebx, 0x4b0490
call fcn.004ae55a
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 0x415ef8
and eax, 0xff
jmp 0x415f43
cmp ecx, 0x80000201
jne 0x415f03
cwde
jmp 0x415f43
cmp ecx, 0x80000301
je 0x415f43
cmp ecx, 0x80000401
je 0x415f43
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x415f33
cmp ecx, 0x80000601
je 0x415f38
push 2
call fcn.004ae54e
add esp, 4
fld dword [ebp - 0x50]
jmp 0x415f3e
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401a12
push eax
push dword [ebp - 0x38]
call fcn.00414e8a
mov dword [ebp - 0x38], eax
push 8
call fcn.004ae554
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x5ac7b0
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.0041bf82
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.004ae548
add esp, 4
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0
cmp eax, ecx
jl 0x415fab
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x41612f
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 0x415ff0
mov eax, 0x5ac7b0
push eax
push 3
mov ebx, 0x4b0490
call fcn.004ae55a
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 0x416024
and eax, 0xff
jmp 0x41606f
cmp ecx, 0x80000201
jne 0x41602f
cwde
jmp 0x41606f
cmp ecx, 0x80000301
je 0x41606f
cmp ecx, 0x80000401
je 0x41606f
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x41605f
cmp ecx, 0x80000601
je 0x416064
push 2
call fcn.004ae54e
add esp, 4
fld dword [ebp - 0x50]
jmp 0x41606a
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401a12
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x6f6210
push 4
mov eax, 2
call fcn.004ae542
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6f6210]
mov dword [ebp - 0x40], ebx
call fcn.00401aef
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 0x4160bb
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.004ae578
add esp, 8
mov dword [0x6f6210], 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.004ae554
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 0x416117
push eax
mov ebx, eax
call fcn.0040157d
inc eax
push eax
call fcn.004ae554
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 0x4187f1
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0
cmp eax, ecx
jl 0x41614d
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x416214
push 0x6f6210
push 4
mov eax, 2
call fcn.004ae542
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6f6210]
mov dword [ebp - 0x40], ebx
call fcn.00401aef
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 0x4161a5
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.004ae578
add esp, 8
mov dword [0x6f6210], 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.004ae554
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 0x416201
push eax
mov ebx, eax
call fcn.0040157d
inc eax
push eax
call fcn.004ae554
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 0x4187f1
jmp 0x4187f1
mov ebx, dword [0x6f6214]
add ebx, 0x1c
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 0
je 0x41809c
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.00401aef
mov eax, 5
cmp eax, ecx
jl 0x416261
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x33
jne 0x4162d7
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 7
cmp eax, ecx
jl 0x416290
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x4162d7
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0xb
cmp eax, ecx
jl 0x4162bf
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x4162d7
mov eax, 1
jmp 0x4162dc
mov eax, 0
test eax, eax
je 0x41674d
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0x12
cmp eax, ecx
jl 0x416302
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x416346
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0x15
cmp eax, ecx
jl 0x416331
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x416346
xor eax, eax
jmp 0x41634b
mov eax, 1
test eax, eax
je 0x41640e
push 0x6f6210
push 4
mov eax, 2
call fcn.004ae542
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6f6210]
mov dword [ebp - 0x40], ebx
call fcn.00401aef
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 0x41639a
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.004ae578
add esp, 8
mov dword [0x6f6210], 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.004ae554
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 0x4163f6
push eax
mov ebx, eax
call fcn.0040157d
inc eax
push eax
call fcn.004ae554
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 0x4187f1
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0x12
cmp eax, ecx
jl 0x41642c
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x4165b0
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 0x416471
mov eax, 0x5ac7b0
push eax
push 3
mov ebx, 0x4b0490
call fcn.004ae55a
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 0x4164a5
and eax, 0xff
jmp 0x4164f0
cmp ecx, 0x80000201
jne 0x4164b0
cwde
jmp 0x4164f0
cmp ecx, 0x80000301
je 0x4164f0
cmp ecx, 0x80000401
je 0x4164f0
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4164e0
cmp ecx, 0x80000601
je 0x4164e5
push 2
call fcn.004ae54e
add esp, 4
fld dword [ebp - 0x50]
jmp 0x4164eb
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401a12
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x6f6210
push 4
mov eax, 2
call fcn.004ae542
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6f6210]
mov dword [ebp - 0x40], ebx
call fcn.00401aef
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 0x41653c
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.004ae578
add esp, 8
mov dword [0x6f6210], 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.004ae554
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 0x416598
push eax
mov ebx, eax
call fcn.0040157d
inc eax
push eax
call fcn.004ae554
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 0x4187f1
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0x15
cmp eax, ecx
jl 0x4165ce
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x41674d
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 0x416613
mov eax, 0x5ac7b0
push eax
push 3
mov ebx, 0x4b0490
call fcn.004ae55a
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 0x416647
and eax, 0xff
jmp 0x416692
cmp ecx, 0x80000201
jne 0x416652
cwde
jmp 0x416692
cmp ecx, 0x80000301
je 0x416692
cmp ecx, 0x80000401
je 0x416692
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x416682
cmp ecx, 0x80000601
je 0x416687
push 2
call fcn.004ae54e
add esp, 4
fld dword [ebp - 0x50]
jmp 0x41668d
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401a12
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x6f6210
push 4
mov eax, 2
call fcn.004ae542
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6f6210]
mov dword [ebp - 0x40], ebx
call fcn.00401aef
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 0x4166de
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.004ae578
add esp, 8
mov dword [0x6f6210], 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.004ae554
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 0x41673a
push eax
mov ebx, eax
call fcn.0040157d
inc eax
push eax
call fcn.004ae554
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 0x4187f1
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 5
cmp eax, ecx
jl 0x41676b
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xb9
jne 0x4167e1
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0xa
cmp eax, ecx
jl 0x41679a
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x4167e1
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0xe
cmp eax, ecx
jl 0x4167c9
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x4167e1
mov eax, 1
jmp 0x4167e6
mov eax, 0
test eax, eax
je 0x416d26
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 0x416822
mov eax, 0x5ac7b0
push eax
push 3
mov ebx, 0x4b0490
call fcn.004ae55a
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 0x416856
and eax, 0xff
jmp 0x4168a1
cmp ecx, 0x80000201
jne 0x416861
cwde
jmp 0x4168a1
cmp ecx, 0x80000301
je 0x4168a1
cmp ecx, 0x80000401
je 0x4168a1
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x416891
cmp ecx, 0x80000601
je 0x416896
push 2
call fcn.004ae54e
add esp, 4
fld dword [ebp - 0x50]
jmp 0x41689c
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401a12
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0x15
cmp eax, ecx
jl 0x4168c4
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x416908
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0x18
cmp eax, ecx
jl 0x4168f3
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x416908
xor eax, eax
jmp 0x41690d
mov eax, 1
test eax, eax
je 0x4169d0
push 0x6f6210
push 4
mov eax, 2
call fcn.004ae542
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6f6210]
mov dword [ebp - 0x40], ebx
call fcn.00401aef
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 0x41695c
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.004ae578
add esp, 8
mov dword [0x6f6210], 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.004ae554
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 0x4169b8
push eax
mov ebx, eax
call fcn.0040157d
inc eax
push eax
call fcn.004ae554
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 0x4187f1
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0x15
cmp eax, ecx
jl 0x4169ee
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x416b72
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 0x416a33
mov eax, 0x5ac7b0
push eax
push 3
mov ebx, 0x4b0490
call fcn.004ae55a
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 0x416a67
and eax, 0xff
jmp 0x416ab2
cmp ecx, 0x80000201
jne 0x416a72
cwde
jmp 0x416ab2
cmp ecx, 0x80000301
je 0x416ab2
cmp ecx, 0x80000401
je 0x416ab2
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x416aa2
cmp ecx, 0x80000601
je 0x416aa7
push 2
call fcn.004ae54e
add esp, 4
fld dword [ebp - 0x50]
jmp 0x416aad
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401a12
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x6f6210
push 4
mov eax, 2
call fcn.004ae542
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6f6210]
mov dword [ebp - 0x40], ebx
call fcn.00401aef
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 0x416afe
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.004ae578
add esp, 8
mov dword [0x6f6210], 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.004ae554
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 0x416b5a
push eax
mov ebx, eax
call fcn.0040157d
inc eax
push eax
call fcn.004ae554
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 0x4187f1
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0x18
cmp eax, ecx
jl 0x416b90
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x416d14
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 0x416bd5
mov eax, 0x5ac7b0
push eax
push 3
mov ebx, 0x4b0490
call fcn.004ae55a
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 0x416c09
and eax, 0xff
jmp 0x416c54
cmp ecx, 0x80000201
jne 0x416c14
cwde
jmp 0x416c54
cmp ecx, 0x80000301
je 0x416c54
cmp ecx, 0x80000401
je 0x416c54
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x416c44
cmp ecx, 0x80000601
je 0x416c49
push 2
call fcn.004ae54e
add esp, 4
fld dword [ebp - 0x50]
jmp 0x416c4f
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401a12
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x6f6210
push 4
mov eax, 2
call fcn.004ae542
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6f6210]
mov dword [ebp - 0x40], ebx
call fcn.00401aef
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 0x416ca0
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.004ae578
add esp, 8
mov dword [0x6f6210], 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.004ae554
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 0x416cfc
push eax
mov ebx, eax
call fcn.0040157d
inc eax
push eax
call fcn.004ae554
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 0x4187f1
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.00401aef
mov eax, 5
cmp eax, ecx
jl 0x416d44
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xba
jne 0x416dba
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0xa
cmp eax, ecx
jl 0x416d73
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x416dba
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0xb
cmp eax, ecx
jl 0x416da2
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xd2
jne 0x416dba
mov eax, 1
jmp 0x416dbf
mov eax, 0
test eax, eax
je 0x41704e
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0xc
cmp eax, ecx
jl 0x416de5
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x416f69
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 0x416e2a
mov eax, 0x5ac7b0
push eax
push 3
mov ebx, 0x4b0490
call fcn.004ae55a
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 0x416e5e
and eax, 0xff
jmp 0x416ea9
cmp ecx, 0x80000201
jne 0x416e69
cwde
jmp 0x416ea9
cmp ecx, 0x80000301
je 0x416ea9
cmp ecx, 0x80000401
je 0x416ea9
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x416e99
cmp ecx, 0x80000601
je 0x416e9e
push 2
call fcn.004ae54e
add esp, 4
fld dword [ebp - 0x50]
jmp 0x416ea4
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401a12
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x6f6210
push 4
mov eax, 2
call fcn.004ae542
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6f6210]
mov dword [ebp - 0x40], ebx
call fcn.00401aef
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 0x416ef5
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.004ae578
add esp, 8
mov dword [0x6f6210], 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.004ae554
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 0x416f51
push eax
mov ebx, eax
call fcn.0040157d
inc eax
push eax
call fcn.004ae554
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 0x4187f1
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0xc
cmp eax, ecx
jl 0x416f87
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x41704e
push 0x6f6210
push 4
mov eax, 2
call fcn.004ae542
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6f6210]
mov dword [ebp - 0x40], ebx
call fcn.00401aef
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 0x416fdf
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.004ae578
add esp, 8
mov dword [0x6f6210], 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.004ae554
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 0x41703b
push eax
mov ebx, eax
call fcn.0040157d
inc eax
push eax
call fcn.004ae554
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 0x4187f1
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 5
cmp eax, ecx
jl 0x41706c
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe8
jne 0x4170e2
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 6
cmp eax, ecx
jl 0x41709b
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 4
jne 0x4170e2
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0xc
cmp eax, ecx
jl 0x4170ca
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x8d
jne 0x4170e2
mov eax, 1
jmp 0x4170e7
mov eax, 0
test eax, eax
je 0x41728c
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0x1c
cmp eax, ecx
jl 0x41710d
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x41728c
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x1e
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x417152
mov eax, 0x5ac7b0
push eax
push 3
mov ebx, 0x4b0490
call fcn.004ae55a
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 0x417186
and eax, 0xff
jmp 0x4171d1
cmp ecx, 0x80000201
jne 0x417191
cwde
jmp 0x4171d1
cmp ecx, 0x80000301
je 0x4171d1
cmp ecx, 0x80000401
je 0x4171d1
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4171c1
cmp ecx, 0x80000601
je 0x4171c6
push 2
call fcn.004ae54e
add esp, 4
fld dword [ebp - 0x50]
jmp 0x4171cc
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401a12
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x6f6210
push 4
mov eax, 2
call fcn.004ae542
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6f6210]
mov dword [ebp - 0x40], ebx
call fcn.00401aef
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 0x41721d
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.004ae578
add esp, 8
mov dword [0x6f6210], 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.004ae554
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 0x417279
push eax
mov ebx, eax
call fcn.0040157d
inc eax
push eax
call fcn.004ae554
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 0x4187f1
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 5
cmp eax, ecx
jl 0x4172aa
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x64
jne 0x417320
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 6
cmp eax, ecx
jl 0x4172d9
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x417320
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 8
cmp eax, ecx
jl 0x417308
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc0
jne 0x417320
mov eax, 1
jmp 0x417325
mov eax, 0
test eax, eax
je 0x4175b4
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0xc
cmp eax, ecx
jl 0x41734b
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x4174cf
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 0x417390
mov eax, 0x5ac7b0
push eax
push 3
mov ebx, 0x4b0490
call fcn.004ae55a
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 0x4173c4
and eax, 0xff
jmp 0x41740f
cmp ecx, 0x80000201
jne 0x4173cf
cwde
jmp 0x41740f
cmp ecx, 0x80000301
je 0x41740f
cmp ecx, 0x80000401
je 0x41740f
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4173ff
cmp ecx, 0x80000601
je 0x417404
push 2
call fcn.004ae54e
add esp, 4
fld dword [ebp - 0x50]
jmp 0x41740a
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401a12
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x6f6210
push 4
mov eax, 2
call fcn.004ae542
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6f6210]
mov dword [ebp - 0x40], ebx
call fcn.00401aef
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 0x41745b
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.004ae578
add esp, 8
mov dword [0x6f6210], 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.004ae554
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 0x4174b7
push eax
mov ebx, eax
call fcn.0040157d
inc eax
push eax
call fcn.004ae554
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 0x4187f1
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0xc
cmp eax, ecx
jl 0x4174ed
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x4175b4
push 0x6f6210
push 4
mov eax, 2
call fcn.004ae542
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6f6210]
mov dword [ebp - 0x40], ebx
call fcn.00401aef
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 0x417545
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.004ae578
add esp, 8
mov dword [0x6f6210], 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.004ae554
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 0x4175a1
push eax
mov ebx, eax
call fcn.0040157d
inc eax
push eax
call fcn.004ae554
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 0x4187f1
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 5
cmp eax, ecx
jl 0x4175d2
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x417648
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 9
cmp eax, ecx
jl 0x417601
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x33
jne 0x417648
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0xb
cmp eax, ecx
jl 0x417630
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x417648
mov eax, 1
jmp 0x41764d
mov eax, 0
test eax, eax
je 0x417abe
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0x12
cmp eax, ecx
jl 0x417673
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x4176b7
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0x15
cmp eax, ecx
jl 0x4176a2
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x4176b7
xor eax, eax
jmp 0x4176bc
mov eax, 1
test eax, eax
je 0x41777f
push 0x6f6210
push 4
mov eax, 2
call fcn.004ae542
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6f6210]
mov dword [ebp - 0x40], ebx
call fcn.00401aef
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 0x41770b
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.004ae578
add esp, 8
mov dword [0x6f6210], 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.004ae554
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 0x417767
push eax
mov ebx, eax
call fcn.0040157d
inc eax
push eax
call fcn.004ae554
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 0x4187f1
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0x12
cmp eax, ecx
jl 0x41779d
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x417921
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 0x4177e2
mov eax, 0x5ac7b0
push eax
push 3
mov ebx, 0x4b0490
call fcn.004ae55a
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 0x417816
and eax, 0xff
jmp 0x417861
cmp ecx, 0x80000201
jne 0x417821
cwde
jmp 0x417861
cmp ecx, 0x80000301
je 0x417861
cmp ecx, 0x80000401
je 0x417861
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x417851
cmp ecx, 0x80000601
je 0x417856
push 2
call fcn.004ae54e
add esp, 4
fld dword [ebp - 0x50]
jmp 0x41785c
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401a12
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x6f6210
push 4
mov eax, 2
call fcn.004ae542
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6f6210]
mov dword [ebp - 0x40], ebx
call fcn.00401aef
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 0x4178ad
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.004ae578
add esp, 8
mov dword [0x6f6210], 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.004ae554
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 0x417909
push eax
mov ebx, eax
call fcn.0040157d
inc eax
push eax
call fcn.004ae554
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 0x4187f1
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0x15
cmp eax, ecx
jl 0x41793f
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x417abe
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 0x417984
mov eax, 0x5ac7b0
push eax
push 3
mov ebx, 0x4b0490
call fcn.004ae55a
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 0x4179b8
and eax, 0xff
jmp 0x417a03
cmp ecx, 0x80000201
jne 0x4179c3
cwde
jmp 0x417a03
cmp ecx, 0x80000301
je 0x417a03
cmp ecx, 0x80000401
je 0x417a03
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4179f3
cmp ecx, 0x80000601
je 0x4179f8
push 2
call fcn.004ae54e
add esp, 4
fld dword [ebp - 0x50]
jmp 0x4179fe
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401a12
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x6f6210
push 4
mov eax, 2
call fcn.004ae542
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6f6210]
mov dword [ebp - 0x40], ebx
call fcn.00401aef
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 0x417a4f
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.004ae578
add esp, 8
mov dword [0x6f6210], 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.004ae554
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 0x417aab
push eax
mov ebx, eax
call fcn.0040157d
inc eax
push eax
call fcn.004ae554
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 0x4187f1
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 5
cmp eax, ecx
jl 0x417adc
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x417b52
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 9
cmp eax, ecx
jl 0x417b0b
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xb9
jne 0x417b52
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0xe
cmp eax, ecx
jl 0x417b3a
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x417b52
mov eax, 1
jmp 0x417b57
mov eax, 0
test eax, eax
je 0x418097
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 0x417b93
mov eax, 0x5ac7b0
push eax
push 3
mov ebx, 0x4b0490
call fcn.004ae55a
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 0x417bc7
and eax, 0xff
jmp 0x417c12
cmp ecx, 0x80000201
jne 0x417bd2
cwde
jmp 0x417c12
cmp ecx, 0x80000301
je 0x417c12
cmp ecx, 0x80000401
je 0x417c12
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x417c02
cmp ecx, 0x80000601
je 0x417c07
push 2
call fcn.004ae54e
add esp, 4
fld dword [ebp - 0x50]
jmp 0x417c0d
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401a12
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0x15
cmp eax, ecx
jl 0x417c35
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x417c79
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0x18
cmp eax, ecx
jl 0x417c64
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x417c79
xor eax, eax
jmp 0x417c7e
mov eax, 1
test eax, eax
je 0x417d41
push 0x6f6210
push 4
mov eax, 2
call fcn.004ae542
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6f6210]
mov dword [ebp - 0x40], ebx
call fcn.00401aef
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 0x417ccd
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.004ae578
add esp, 8
mov dword [0x6f6210], 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.004ae554
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 0x417d29
push eax
mov ebx, eax
call fcn.0040157d
inc eax
push eax
call fcn.004ae554
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 0x4187f1
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0x15
cmp eax, ecx
jl 0x417d5f
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x417ee3
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 0x417da4
mov eax, 0x5ac7b0
push eax
push 3
mov ebx, 0x4b0490
call fcn.004ae55a
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 0x417dd8
and eax, 0xff
jmp 0x417e23
cmp ecx, 0x80000201
jne 0x417de3
cwde
jmp 0x417e23
cmp ecx, 0x80000301
je 0x417e23
cmp ecx, 0x80000401
je 0x417e23
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x417e13
cmp ecx, 0x80000601
je 0x417e18
push 2
call fcn.004ae54e
add esp, 4
fld dword [ebp - 0x50]
jmp 0x417e1e
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401a12
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x6f6210
push 4
mov eax, 2
call fcn.004ae542
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6f6210]
mov dword [ebp - 0x40], ebx
call fcn.00401aef
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 0x417e6f
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.004ae578
add esp, 8
mov dword [0x6f6210], 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.004ae554
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 0x417ecb
push eax
mov ebx, eax
call fcn.0040157d
inc eax
push eax
call fcn.004ae554
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 0x4187f1
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0x18
cmp eax, ecx
jl 0x417f01
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x418085
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 0x417f46
mov eax, 0x5ac7b0
push eax
push 3
mov ebx, 0x4b0490
call fcn.004ae55a
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 0x417f7a
and eax, 0xff
jmp 0x417fc5
cmp ecx, 0x80000201
jne 0x417f85
cwde
jmp 0x417fc5
cmp ecx, 0x80000301
je 0x417fc5
cmp ecx, 0x80000401
je 0x417fc5
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x417fb5
cmp ecx, 0x80000601
je 0x417fba
push 2
call fcn.004ae54e
add esp, 4
fld dword [ebp - 0x50]
jmp 0x417fc0
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401a12
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x6f6210
push 4
mov eax, 2
call fcn.004ae542
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6f6210]
mov dword [ebp - 0x40], ebx
call fcn.00401aef
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 0x418011
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.004ae578
add esp, 8
mov dword [0x6f6210], 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.004ae554
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 0x41806d
push eax
mov ebx, eax
call fcn.0040157d
inc eax
push eax
call fcn.004ae554
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 0x4187f1
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
jmp 0x4187f1
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 5
cmp eax, ecx
jl 0x4180ba
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe8
jne 0x418489
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 0x4180f6
mov eax, 0x5ac7b0
push eax
push 3
mov ebx, 0x4b0490
call fcn.004ae55a
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 0x41812a
and eax, 0xff
jmp 0x418175
cmp ecx, 0x80000201
jne 0x418135
cwde
jmp 0x418175
cmp ecx, 0x80000301
je 0x418175
cmp ecx, 0x80000401
je 0x418175
mov dword [ebp - 0x4c], eax
cmp ecx, 0x80000501
je 0x418165
cmp ecx, 0x80000601
je 0x41816a
push 2
call fcn.004ae54e
add esp, 4
fld dword [ebp - 0x4c]
jmp 0x418170
mov dword [ebp - 0x48], edx
fld qword [ebp - 0x4c]
call fcn.00401a12
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jle 0x418193
cmp dword [ebp - 0x38], 0xa
jge 0x418193
mov eax, 1
jmp 0x418198
mov eax, 0
test eax, eax
je 0x418484
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0xd
push dword [ebp - 0x38]
call fcn.00414e8a
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
push ebx
push ecx
mov eax, dword [ebp - 0x38]
dec eax
jns 0x4181d9
push 4
call fcn.004ae54e
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4181ec
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xf
jne 0x418484
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0xa
cmp eax, ecx
jl 0x41821b
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x41839f
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 0x418260
mov eax, 0x5ac7b0
push eax
push 3
mov ebx, 0x4b0490
call fcn.004ae55a
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 0x418294
and eax, 0xff
jmp 0x4182df
cmp ecx, 0x80000201
jne 0x41829f
cwde
jmp 0x4182df
cmp ecx, 0x80000301
je 0x4182df
cmp ecx, 0x80000401
je 0x4182df
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4182cf
cmp ecx, 0x80000601
je 0x4182d4
push 2
call fcn.004ae54e
add esp, 4
fld dword [ebp - 0x50]
jmp 0x4182da
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401a12
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x6f6210
push 4
mov eax, 2
call fcn.004ae542
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6f6210]
mov dword [ebp - 0x40], ebx
call fcn.00401aef
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 0x41832b
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.004ae578
add esp, 8
mov dword [0x6f6210], 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.004ae554
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 0x418387
push eax
mov ebx, eax
call fcn.0040157d
inc eax
push eax
call fcn.004ae554
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 0x4187f1
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0xa
cmp eax, ecx
jl 0x4183bd
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x418484
push 0x6f6210
push 4
mov eax, 2
call fcn.004ae542
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6f6210]
mov dword [ebp - 0x40], ebx
call fcn.00401aef
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 0x418415
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.004ae578
add esp, 8
mov dword [0x6f6210], 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.004ae554
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 0x418471
push eax
mov ebx, eax
call fcn.0040157d
inc eax
push eax
call fcn.004ae554
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 0x4187f1
jmp 0x4187f1
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 5
cmp eax, ecx
jl 0x4184a7
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xba
jne 0x4184ee
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0xa
cmp eax, ecx
jl 0x4184d6
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x4184ee
mov eax, 1
jmp 0x4184f3
mov eax, 0
test eax, eax
je 0x4187f1
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0xb
cmp eax, ecx
jl 0x418519
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x12
je 0x41855d
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0xb
cmp eax, ecx
jl 0x418548
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xd2
je 0x41855d
xor eax, eax
jmp 0x418562
mov eax, 1
test eax, eax
je 0x4187f1
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0xc
cmp eax, ecx
jl 0x418588
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x41870c
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 0x4185cd
mov eax, 0x5ac7b0
push eax
push 3
mov ebx, 0x4b0490
call fcn.004ae55a
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 0x418601
and eax, 0xff
jmp 0x41864c
cmp ecx, 0x80000201
jne 0x41860c
cwde
jmp 0x41864c
cmp ecx, 0x80000301
je 0x41864c
cmp ecx, 0x80000401
je 0x41864c
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x41863c
cmp ecx, 0x80000601
je 0x418641
push 2
call fcn.004ae54e
add esp, 4
fld dword [ebp - 0x50]
jmp 0x418647
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00401a12
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x6f6210
push 4
mov eax, 2
call fcn.004ae542
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6f6210]
mov dword [ebp - 0x40], ebx
call fcn.00401aef
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 0x418698
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.004ae578
add esp, 8
mov dword [0x6f6210], 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.004ae554
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 0x4186f4
push eax
mov ebx, eax
call fcn.0040157d
inc eax
push eax
call fcn.004ae554
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 0x4187f1
mov ebx, dword [ebp - 0x34]
call fcn.00401aef
mov eax, 0xc
cmp eax, ecx
jl 0x41872a
push 1
call fcn.004ae54e
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x4187f1
push 0x6f6210
push 4
mov eax, 2
call fcn.004ae542
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x6f6210]
mov dword [ebp - 0x40], ebx
call fcn.00401aef
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 0x418782
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.004ae578
add esp, 8
mov dword [0x6f6210], 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.004ae554
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 0x4187de
push eax
mov ebx, eax
call fcn.0040157d
inc eax
push eax
call fcn.004ae554
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 0x4187f1
pop eax
pop ebx
pop ecx
jmp 0x4157c2
add esp, 0xc
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push dword [ebp - 0x24]
push reloc.MSVFW32.dll_DrawDibDraw
call fcn.0041c07c
pop ebx
pop ecx
jmp 0x415307
add esp, 8
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x41882f
push ebx
call fcn.004ae548
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x418846
push ebx
call fcn.004ae548
add esp, 4
pop ebx
call fcn.004ae548
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x41885f
push ebx
call fcn.004ae548
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x41886f
push ebx
call fcn.004ae548
add esp, 4
mov ebx, dword [ebp - 0x20]
push ebx
add ebx, 0x68
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004ae548
add esp, 4
pop ebx
call fcn.004ae548
add esp, 4
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4188a9
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4188a5
imul eax, dword [ebx]
jmp 0x41889a
mov ecx, eax
test ecx, ecx
je 0x4188d1
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004ae548
add esp, 4
pop ebx
call fcn.004ae548
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4188af
call fcn.004ae548
add esp, 4
mov ebx, dword [ebp - 0x30]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4188f7
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4188f3
imul eax, dword [ebx]
jmp 0x4188e8
mov ecx, eax
test ecx, ecx
je 0x41894e
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x418915
push ebx
call fcn.004ae548
add esp, 4
pop ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x418929
push ebx
call fcn.004ae548
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x41893d
push ebx
call fcn.004ae548
add esp, 4
pop ebx
call fcn.004ae548
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4188fd
call fcn.004ae548
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x418966
push ebx
call fcn.004ae548
add esp, 4
mov esp, ebp
pop ebp
ret