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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x544
mov eax, dword [0x101cc284]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x458], ecx
mov dword [ebp - 0x440], eax
mov dword [ebp - 0x448], edx
push ebx
push esi
push edi
test eax, eax
jne 0x1014a5bb
test edx, edx
jne 0x101515de
jmp 0x101515e3
cmp dword [eax + 4], 0xd
jne 0x101515de
mov ebx, dword [eax + 0x14]
imul ebx, dword [eax + 0x18]
cmp dword [eax + 0x1c], 0x1a
mov esi, dword [eax + 0x24]
mov dword [ebp - 0x520], esi
mov dword [ebp - 0x468], ebx
jne 0x101515de
mov eax, dword [ecx + 0x1c]
lea edi, [ebp - 0x18]
mov dword [ebp - 0x524], eax
xor eax, eax
stosd dword es:[edi], eax
mov dword [ebp - 0x444], 4
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x3c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x28]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov edi, ecx
mov ecx, dword [esi + 8]
xor esi, esi
mov dword [ebp - 0x464], ecx
mov eax, dword [edi + 0x64]
mov dword [ebp - 0x528], eax
mov eax, 0xe000000
mov dword [ebp - 0x45c], eax
test ecx, ecx
je 0x1014a742
mov eax, esi
mov dword [ebp - 0x454], eax
mov ecx, dword [ecx + 8]
mov dword [ebp - 0x44c], ecx
test ecx, ecx
je 0x1014a713
cmp eax, 0x10
jae 0x101515a1
mov edx, dword [ecx + 0x18]
imul edx, dword [ecx + 0x14]
mov dword [ebp + eax - 0x18], ecx
xor ecx, ecx
mov dword [ebp + eax - 0x3c], edx
mov eax, edx
mov dword [ebp - 0x450], edx
mul dword [ebp - 0x444]
seto cl
neg ecx
or ecx, eax
call fcn.1010328d
mov ecx, dword [ebp - 0x454]
mov dword [ebp - 0x478], eax
mov dword [ebp + ecx - 0x28], eax
test eax, eax
je 0x10150647
push esi
push eax
push dword [ebp - 0x44c]
mov ecx, edi
call fcn.10148bb2
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor esi, esi
mov edx, esi
cmp dword [ebp - 0x450], edx
je 0x1014a70d
mov eax, dword [edi + 8]
mov ebx, dword [ebp - 0x478]
mov edi, dword [ebp - 0x45c]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x44c], eax
mov eax, dword [ebx + edx*4]
mov ecx, dword [ebp - 0x44c]
mov eax, dword [ecx + eax*4]
and edi, dword [eax]
inc edx
cmp edx, dword [ebp - 0x450]
jb 0x1014a6e4
mov ebx, dword [ebp - 0x468]
mov dword [ebp - 0x45c], edi
mov edi, dword [ebp - 0x458]
mov eax, dword [ebp - 0x454]
mov ecx, dword [ebp - 0x464]
add eax, dword [ebp - 0x444]
mov dword [ebp - 0x454], eax
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x464], ecx
test ecx, ecx
jne 0x1014a644
mov edx, dword [ebp - 0x448]
mov eax, dword [ebp - 0x45c]
mov ecx, dword [ebp - 0x440]
sub eax, 0xe000000
neg eax
sbb eax, eax
and eax, dword [ebp - 0x45c]
mov dword [edi + 0x64], eax
mov eax, dword [ecx + 0x20]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x18]
cmp eax, 0x59
ja case.default.0x1014a76c
jmp dword [eax*4 + 0x101515f6]
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
push ebx
mov ecx, edi
call fcn.10155e5c
mov edx, eax
mov dword [ebp - 0x44c], edx
test edx, edx
je 0x10150647
push ebx
push edx
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov ecx, dword [ebp - 0x448]
push ebx
push ecx
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor eax, eax
and ebx, 0xfffff
push eax
push eax
push dword [ebp - 0x28]
mov eax, ebx
mov ecx, edi
push edx
or eax, 0x10100000
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
or ebx, 0x20100000
push dword [ebp - 0x44c]
push dword [ebp - 0x28]
push dword [ebp - 0x448]
push ebx
push dword [ebp - 0x440]
mov ecx, edi
call fcn.1015619d
xor ebx, ebx
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
jns 0x1014b6db
jmp 0x101515ae
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
push ebx
push edx
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push edx
xor ebx, ebx
push ebx
push dword [ebp - 0x28]
mov ecx, edi
push dword [ebp - 0x440]
call fcn.101542ac
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
jmp 0x1014b6db
cmp dword [ebp - 0x18], 0
je 0x101515a1
xor ebx, ebx
test edx, edx
je 0x1014b6db
mov esi, dword [ebp - 0x3c]
inc ebx
cmp esi, ebx
jne 0x1014a959
push ebx
lea eax, [ebp - 0x4f8]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
lea eax, [ebp - 0x4f4]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push edx
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x28]
mov ebx, dword [ebp - 0x440]
lea eax, [ebp - 0x4f4]
push eax
lea eax, [ebp - 0x4f8]
mov ecx, edi
push eax
push ebx
call fcn.10155bb2
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0x17
lea eax, [ebp - 0x4f8]
push eax
lea eax, [ebp - 0x4f4]
push eax
push dword [ebp - 0x448]
push 0x20200001
push ebx
jmp 0x1014a826
cmp esi, 2
jne 0x1014aa67
push ebx
lea eax, [ebp - 0x4f0]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
lea eax, [ebp - 0x4ec]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
lea eax, [ebp - 0x4e8]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push edx
call fcn.10155f97
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov ecx, dword [ebp - 0x28]
push ebx
lea eax, [ecx + 4]
push eax
push ecx
lea eax, [ebp - 0x4f0]
mov ecx, edi
push eax
push 0x20500001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
xor ecx, ecx
lea eax, [ebp - 0x4f0]
inc ecx
push ecx
push eax
lea eax, [ebp - 0x4e8]
mov ecx, edi
push eax
lea eax, [ebp - 0x4ec]
push eax
push dword [ebp - 0x440]
call fcn.10155bb2
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
lea eax, [ebp - 0x4ec]
push 0x17
push eax
lea eax, [ebp - 0x4e8]
push eax
push dword [ebp - 0x448]
push 0x20200001
push dword [ebp - 0x440]
mov ecx, edi
call fcn.1015619d
jmp 0x1014a82f
cmp esi, 3
jne 0x1014ab95
push 2
lea eax, [ebp - 0x518]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
lea eax, [ebp - 0x4e4]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
lea eax, [ebp - 0x4e0]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push edx
call fcn.10155f97
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov ecx, dword [ebp - 0x28]
push ebx
lea eax, [ecx + 4]
push eax
push ecx
lea eax, [ebp - 0x518]
mov ecx, edi
push eax
push 0x20500001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov eax, dword [ebp - 0x28]
mov ecx, edi
push ebx
add eax, 8
push eax
lea eax, [ebp - 0x518]
push eax
lea eax, [ebp - 0x514]
push eax
push 0x20500001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
xor ecx, ecx
lea eax, [ebp - 0x514]
inc ecx
push ecx
push eax
lea eax, [ebp - 0x4e0]
mov ecx, edi
push eax
lea eax, [ebp - 0x4e4]
push eax
push dword [ebp - 0x440]
call fcn.10155bb2
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
lea eax, [ebp - 0x4e4]
push 0x17
push eax
lea eax, [ebp - 0x4e0]
jmp 0x1014aa49
imul eax, esi, 3
mov ecx, edi
push eax
call fcn.10155e5c
test eax, eax
je 0x10150647
xor ebx, ebx
mov edx, esi
mov ecx, ebx
shl edx, 2
mov dword [ebp + ecx*4 - 0x14], eax
inc ecx
add eax, edx
cmp ecx, 3
jb 0x1014abb1
push esi
push dword [ebp - 0x14]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov edx, dword [ebp - 0x3c]
push edx
push dword [ebp - 0x10]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push edx
push dword [ebp - 0xc]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
xor edx, edx
lea eax, [ebp - 0x494]
inc edx
push edx
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push edx
lea eax, [ebp - 0x4dc]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push edx
push dword [ebp - 0x448]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push dword [ebp - 0x444]
mov eax, dword [ebp - 0x3c]
mov ecx, edi
push dword [ebp - 0x28]
and eax, 0xfffff
push dword [ebp - 0x28]
mov dword [ebp - 0x454], eax
or eax, 0x20500000
push dword [ebp - 0x14]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov eax, dword [ebp - 0x454]
mov ecx, edi
push 8
push ebx
push dword [ebp - 0x14]
or eax, 0x10100000
push dword [ebp - 0x10]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov eax, dword [ebp - 0x454]
mov ecx, edi
push 0x17
push dword [ebp - 0x14]
or eax, 0x20300000
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push 6
push dword [ebp - 0xc]
lea eax, [ebp - 0x494]
mov ecx, edi
push dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x454]
or eax, 0x50000000
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push 0xa
push ebx
lea eax, [ebp - 0x494]
mov ecx, edi
push eax
lea eax, [ebp - 0x4dc]
push eax
push 0x10100001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push 0x17
lea eax, [ebp - 0x494]
push eax
lea eax, [ebp - 0x4dc]
push eax
push dword [ebp - 0x448]
push 0x20300001
jmp 0x1014aa55
cmp dword [ebp - 0x18], 0
je 0x101515a1
xor ebx, ebx
test edx, edx
je 0x1014b6db
inc ebx
lea eax, [ebp - 0x480]
push ebx
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
lea eax, [ebp - 0x4d8]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push edx
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
lea eax, [ebp - 0x480]
mov ecx, edi
push dword [ebp - 0x28]
push dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x3c]
and eax, 0xfffff
or eax, 0x50000000
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push 8
push ebx
lea eax, [ebp - 0x480]
mov ecx, edi
push eax
lea eax, [ebp - 0x4d8]
push eax
push 0x10100001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
lea eax, [ebp - 0x480]
push 0x17
push eax
lea eax, [ebp - 0x4d8]
jmp 0x1014aa49
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
push ebx
push edx
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
xor ebx, ebx
push ebx
push edx
jmp 0x1014a872
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
push ebx
push edx
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push edx
xor ebx, ebx
mov ecx, edi
push ebx
push dword [ebp - 0x28]
push dword [ebp - 0x440]
call fcn.101548d5
jmp 0x1014a882
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
push ebx
push edx
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push edx
push dword [ebp - 0x24]
mov ecx, edi
push dword [ebp - 0x28]
push dword [ebp - 0x440]
call fcn.101548d5
xor ebx, ebx
jmp 0x1014a882
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
lea eax, [ebx + ebx]
mov ecx, edi
push eax
call fcn.10155e5c
mov edx, eax
mov dword [ebp - 0x44c], edx
test edx, edx
je 0x10150647
push ebx
lea eax, [edx + ebx*4]
push edx
mov dword [ebp - 0x454], eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x454]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x448]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor eax, eax
and ebx, 0xfffff
push eax
push eax
push dword [ebp - 0x28]
mov eax, ebx
mov ecx, edi
push edx
or eax, 0x10100000
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov eax, ebx
push 0x14
or eax, 0x10400000
push 0
push dword [ebp - 0x44c]
mov ecx, edi
push dword [ebp - 0x454]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 2
push dword [ebp - 0x454]
push dword [ebp - 0x28]
or ebx, 0x20400000
jmp 0x1014a819
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
cmp dword [ebp - 0x10], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
push ebx
mov ecx, edi
call fcn.10155e5c
mov edx, eax
mov dword [ebp - 0x44c], edx
test edx, edx
je 0x10150647
push ebx
push edx
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x448]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
push dword [ebp - 0x24]
and ebx, 0xfffff
mov ecx, edi
push dword [ebp - 0x28]
mov eax, ebx
push edx
or eax, 0x20100000
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
push dword [ebp - 0x20]
push dword [ebp - 0x44c]
or ebx, 0x20000000
jmp 0x1014a819
cmp dword [ebp - 0x18], 0
je 0x101515a1
push dword [ebp - 0x3c]
push dword [ebp - 0x28]
push ecx
mov ecx, edi
call fcn.10155a4c
jmp 0x1014af40
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
push ebx
push edx
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push edx
xor ebx, ebx
push ebx
push dword [ebp - 0x28]
mov ecx, edi
push dword [ebp - 0x440]
call fcn.10153917
jmp 0x1014a882
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
fld qword [0x10039c78]
mov esi, dword [edi + 8]
call sub.msvcrt.dll__CIlog
fld1
xor eax, eax
fdivrp st(1)
push ecx
push ecx
mov ecx, esi
fstp qword [esp]
push eax
push eax
push dword [esi + 0x78]
call fcn.101a18b9
mov ecx, dword [edi + 8]
xor esi, esi
fld qword [0x10039b48]
push ecx
push ecx
fstp qword [esp]
push esi
push esi
push dword [ecx + 0x78]
mov dword [ebp - 0x44c], eax
call fcn.101a18b9
imul ecx, ebx, 7
mov dword [ebp - 0x450], eax
push ecx
mov ecx, edi
call fcn.10155e5c
test eax, eax
je 0x10150647
mov ecx, ebx
shl ecx, 2
mov dword [ebp + esi*4 - 0x48], eax
inc esi
add eax, ecx
cmp esi, 7
jb 0x1014b1da
test ebx, ebx
je 0x1014b213
mov ecx, dword [ebp - 0x34]
mov edx, ebx
mov eax, dword [ebp - 0x30]
sub ecx, eax
mov esi, dword [ebp - 0x44c]
mov edi, dword [ebp - 0x450]
mov dword [ecx + eax], esi
mov dword [eax], edi
lea eax, [eax + 4]
sub edx, 1
jne 0x1014b200
mov edi, dword [ebp - 0x458]
push ebx
push dword [ebp - 0x48]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x44]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x40]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x3c]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x38]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x448]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
push dword [ebp - 0x34]
and ebx, 0xfffff
mov ecx, edi
push dword [ebp - 0x28]
mov eax, ebx
push dword [ebp - 0x48]
or eax, 0x20500000
push eax
push dword [ebp - 0x440]
mov dword [ebp - 0x450], eax
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
mov eax, ebx
mov ecx, edi
push 0
push dword [ebp - 0x48]
or eax, 0x10500000
push dword [ebp - 0x44]
mov dword [ebp - 0x44c], eax
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor eax, eax
mov ecx, edi
push eax
push eax
push dword [ebp - 0x48]
mov eax, ebx
push dword [ebp - 0x40]
or eax, 0x10100000
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
mov ecx, edi
push 0
push dword [ebp - 0x40]
push dword [ebp - 0x3c]
push dword [ebp - 0x44c]
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
or ebx, 0x20400000
mov ecx, edi
push dword [ebp - 0x3c]
push dword [ebp - 0x44]
push dword [ebp - 0x38]
push ebx
mov ebx, dword [ebp - 0x440]
push ebx
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
push dword [ebp - 0x30]
push dword [ebp - 0x38]
push dword [ebp - 0x448]
push dword [ebp - 0x450]
jmp 0x1014a953
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
push 3
mov eax, dword [edx + 4]
mov dword [ebp - 0x138], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0x134], eax
mov eax, dword [edx]
mov dword [ebp - 0x130], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x15c], eax
mov eax, dword [ecx]
mov dword [ebp - 0x158], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x154], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0x144], eax
mov eax, dword [edx]
mov dword [ebp - 0x140], eax
mov eax, dword [edx + 4]
mov dword [ebp - 0x13c], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x150], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x14c], eax
mov eax, dword [ecx]
mov dword [ebp - 0x148], eax
lea eax, [ebp - 0x1b8]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 3
lea eax, [ebp - 0x1d0]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 3
lea eax, [ebp - 0x1c4]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 3
push dword [ebp - 0x448]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
lea ecx, [ebp - 0x15c]
and ebx, 0xfffff
push ecx
lea ecx, [ebp - 0x138]
mov eax, ebx
push ecx
lea ecx, [ebp - 0x1b8]
or eax, 0x20500000
push ecx
push eax
push dword [ebp - 0x440]
mov ecx, edi
mov dword [ebp - 0x44c], eax
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
lea eax, [ebp - 0x150]
mov ecx, edi
push eax
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp - 0x1d0]
push eax
push dword [ebp - 0x44c]
push dword [ebp - 0x440]
call fcn.1003b8a2
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor eax, eax
mov ecx, edi
push eax
push eax
lea eax, [ebp - 0x1d0]
push eax
lea eax, [ebp - 0x1c4]
push eax
mov eax, ebx
or eax, 0x10100000
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
lea eax, [ebp - 0x1c4]
push eax
lea eax, [ebp - 0x1b8]
push eax
jmp 0x1014b03f
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
push ebx
push edx
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
and ebx, 0xfffff
xor eax, eax
or ebx, 0x10d00000
push eax
push eax
push dword [ebp - 0x28]
push edx
push ebx
push dword [ebp - 0x440]
mov ecx, edi
call fcn.1015619d
jmp 0x1014af40
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
push ebx
push edx
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
and ebx, 0xfffff
xor eax, eax
or ebx, 0x10e00000
jmp 0x1014b5d8
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov ecx, dword [edi + 8]
fld qword [0x10039d40]
push ecx
push ecx
fstp qword [esp]
push esi
push esi
push dword [ecx + 0x78]
call fcn.101a18b9
push ebx
mov ecx, edi
mov esi, eax
call fcn.10155e5c
mov edx, eax
mov dword [ebp - 0x44c], edx
test edx, edx
je 0x10150647
test ebx, ebx
je 0x1014b680
mov ecx, ebx
mov eax, esi
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov edx, dword [ebp - 0x448]
push ebx
push edx
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
push dword [ebp - 0x44c]
push dword [ebp - 0x28]
and ebx, 0xfffff
or ebx, 0x20500000
jmp 0x1014b5dd
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x101515a1
test edx, edx
je 0x1014b6d9
cmp dword [ebp - 0x3c], 1
jne 0x1014b757
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [edx], eax
xor ebx, ebx
mov esi, dword [ebp - 0x444]
mov ecx, dword [ebp - 0x520]
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x450], ecx
test ecx, ecx
je 0x1014b74a
lea eax, [ebp - 0x28]
mov dword [ebp - 0x44c], eax
cmp dword [ecx + 8], ebx
je 0x1014b735
mov eax, dword [eax]
push ebx
push ebx
mov dword [edi + 0x1c], eax
push dword [ecx + 8]
mov ecx, edi
call fcn.10148bb2
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov ecx, dword [ebp - 0x450]
mov eax, dword [ebp - 0x44c]
mov esi, dword [ebp - 0x444]
mov ecx, dword [ecx + 0xc]
add eax, esi
mov dword [ebp - 0x44c], eax
mov dword [ebp - 0x450], ecx
test ecx, ecx
jne 0x1014b6fd
mov esi, ebx
mov dword [ebp - 0x43c], esi
jmp 0x101515ae
cmp dword [eax + 0x14], 2
jne 0x1014b847
push 3
lea eax, [ebp - 0x10c]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push edx
call fcn.10155f97
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov ecx, dword [ebp - 0x28]
push ebx
mov eax, dword [ecx]
mov dword [ebp - 0x530], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x538], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x52c], eax
mov eax, dword [ecx + 8]
mov ecx, edi
mov dword [ebp - 0x534], eax
lea eax, [ebp - 0x538]
push eax
lea eax, [ebp - 0x530]
push eax
lea eax, [ebp - 0x10c]
push eax
push 0x20500002
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
push ebx
lea eax, [ebp - 0x108]
mov ecx, edi
push eax
lea eax, [ebp - 0x104]
push eax
push 0x10100001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x10c]
push eax
push dword [ebp - 0x448]
push 0x20400001
jmp 0x1014aa55
cmp dword [eax + 0x14], 3
jne 0x1014ba77
push 3
lea eax, [ebp - 0x1f4]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 3
lea eax, [ebp - 0x1dc]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 3
lea eax, [ebp - 0x200]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 3
lea eax, [ebp - 0x1e8]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push edx
call fcn.10155f97
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov ecx, dword [ebp - 0x28]
push ebx
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0xc4], eax
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0xc0], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0xbc], eax
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x100], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0xfc], eax
mov eax, dword [ecx + 0x14]
mov ecx, edi
mov dword [ebp - 0xf8], eax
lea eax, [ebp - 0x100]
push eax
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x1f4]
push eax
push 0x20500003
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov ecx, dword [ebp - 0x28]
push ebx
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0xc4], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0xc0], eax
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0xbc], eax
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0x100], eax
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0xfc], eax
mov eax, dword [ecx + 8]
mov ecx, edi
mov dword [ebp - 0xf8], eax
lea eax, [ebp - 0x100]
push eax
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x1dc]
push eax
push 0x20500003
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
push ebx
lea eax, [ebp - 0x1dc]
mov ecx, edi
push eax
lea eax, [ebp - 0x200]
push eax
push 0x10100003
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
lea eax, [ebp - 0x200]
mov ecx, edi
push eax
lea eax, [ebp - 0x1f4]
push eax
lea eax, [ebp - 0x1e8]
push eax
push 0x20400003
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov ecx, dword [ebp - 0x28]
push ebx
mov eax, dword [ecx]
mov dword [ebp - 0xc4], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xc0], eax
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0xbc], eax
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x1e8]
push eax
push dword [ebp - 0x448]
push 0x50000003
push dword [ebp - 0x440]
mov ecx, edi
call fcn.1015619d
jmp 0x1014a882
mov esi, dword [ebp - 0x444]
cmp dword [eax + 0x14], esi
jne 0x1014d411
push 0xc
lea eax, [ebp - 0x260]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0xc
lea eax, [ebp - 0x230]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0xc
lea eax, [ebp - 0x290]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0xc
lea eax, [ebp - 0x300]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
lea eax, [ebp - 0x11c]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push edx
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov ecx, dword [ebp - 0x28]
xor ebx, ebx
push ebx
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0xb8], eax
mov eax, dword [ecx + 0x38]
mov dword [ebp - 0xb4], eax
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0xb0], eax
mov eax, dword [ecx + 0x38]
mov dword [ebp - 0xac], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0xa8], eax
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0xa4], eax
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0xa0], eax
mov eax, dword [ecx + 0x38]
mov dword [ebp - 0x9c], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x98], eax
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0x94], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x90], eax
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0x8c], eax
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0xf4], eax
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0xf0], eax
mov eax, dword [ecx + 0x2c]
mov dword [ebp - 0xec], eax
mov eax, dword [ecx + 0x2c]
mov dword [ebp - 0xe8], eax
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0xe4], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xe0], eax
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0xdc], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xd8], eax
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0xd4], eax
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0xd0], eax
mov eax, dword [ecx + 0x2c]
mov dword [ebp - 0xcc], eax
mov eax, dword [ecx + 0xc]
mov ecx, edi
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0x260]
push eax
push 0x20500003
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
lea eax, [ebp - 0xe8]
mov ecx, edi
push eax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x254]
push eax
push 0x20500003
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
lea eax, [ebp - 0xdc]
mov ecx, edi
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x248]
push eax
push 0x20500003
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
lea eax, [ebp - 0xd0]
mov ecx, edi
push eax
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x23c]
push eax
push 0x20500003
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov ecx, dword [ebp - 0x28]
push ebx
mov eax, dword [ecx + 0x38]
mov dword [ebp - 0xb8], eax
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0xb4], eax
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0xb0], eax
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0xac], eax
mov eax, dword [ecx + 0x38]
mov dword [ebp - 0xa8], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0xa4], eax
mov eax, dword [ecx + 0x38]
mov dword [ebp - 0xa0], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x9c], eax
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0x98], eax
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0x94], eax
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0x90], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x8c], eax
mov eax, dword [ecx + 0x2c]
mov dword [ebp - 0xf4], eax
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0xf0], eax
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0xec], eax
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0xe8], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xe4], eax
mov eax, dword [ecx + 0x2c]
mov dword [ebp - 0xe0], eax
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0xdc], eax
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0xd8], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xd4], eax
mov eax, dword [ecx + 0x2c]
mov dword [ebp - 0xd0], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xcc], eax
mov eax, dword [ecx + 0x1c]
mov ecx, edi
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0x230]
push eax
push 0x20500003
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
lea eax, [ebp - 0xe8]
mov ecx, edi
push eax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x224]
push eax
push 0x20500003
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
lea eax, [ebp - 0xdc]
mov ecx, edi
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x218]
push eax
push 0x20500003
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
lea eax, [ebp - 0xd0]
mov ecx, edi
push eax
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x20c]
push eax
push 0x20500003
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
push ebx
lea eax, [ebp - 0x230]
mov ecx, edi
push eax
lea eax, [ebp - 0x290]
push eax
push 0x10100003
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
push ebx
lea eax, [ebp - 0x224]
mov ecx, edi
push eax
lea eax, [ebp - 0x284]
push eax
push 0x10100003
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
push ebx
lea eax, [ebp - 0x218]
mov ecx, edi
push eax
lea eax, [ebp - 0x278]
push eax
push 0x10100003
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
push ebx
lea eax, [ebp - 0x20c]
mov ecx, edi
push eax
lea eax, [ebp - 0x26c]
push eax
push 0x10100003
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
lea eax, [ebp - 0x290]
mov ecx, edi
push eax
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x300]
push eax
push 0x20400003
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
lea eax, [ebp - 0x284]
mov ecx, edi
push eax
lea eax, [ebp - 0x254]
push eax
lea eax, [ebp - 0x2f4]
push eax
push 0x20400003
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
lea eax, [ebp - 0x278]
mov ecx, edi
push eax
lea eax, [ebp - 0x248]
push eax
lea eax, [ebp - 0x2e8]
push eax
push 0x20400003
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
lea eax, [ebp - 0x26c]
mov ecx, edi
push eax
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x2dc]
push eax
push 0x20400003
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov ecx, dword [ebp - 0x28]
push ebx
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0xb8], eax
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0xb4], eax
mov eax, dword [ecx + 0x34]
mov dword [ebp - 0xb0], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0xac], eax
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0xa8], eax
mov eax, dword [ecx + 0x34]
mov dword [ebp - 0xa4], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0xa0], eax
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0x9c], eax
mov eax, dword [ecx + 0x34]
mov dword [ebp - 0x98], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x94], eax
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0x90], eax
mov eax, dword [ecx + 0x24]
mov ecx, edi
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0x300]
push eax
lea eax, [ebp - 0x11c]
push eax
push 0x50000003
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
lea eax, [ebp - 0xac]
mov ecx, edi
push eax
lea eax, [ebp - 0x2f4]
push eax
lea eax, [ebp - 0x118]
push eax
push 0x50000003
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
lea eax, [ebp - 0xa0]
mov ecx, edi
push eax
lea eax, [ebp - 0x2e8]
push eax
lea eax, [ebp - 0x114]
push eax
push 0x50000003
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
lea eax, [ebp - 0x94]
mov ecx, edi
push eax
lea eax, [ebp - 0x2dc]
push eax
lea eax, [ebp - 0x110]
push eax
push 0x50000003
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov ecx, dword [ebp - 0x28]
push ebx
mov eax, dword [ecx]
mov dword [ebp - 0xb8], eax
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0xb4], eax
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0xb0], eax
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0x11c]
push eax
push dword [ebp - 0x448]
push 0x50000004
jmp 0x1014aa55
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov esi, dword [ebp - 0x3c]
mov ecx, edi
lea eax, [esi + esi]
push eax
call fcn.10155e5c
test eax, eax
je 0x10150647
xor ebx, ebx
mov edx, esi
mov ecx, ebx
shl edx, 2
mov dword [ebp + ecx*4 - 0x10], eax
inc ecx
add eax, edx
cmp ecx, 2
jb 0x1014c226
push esi
push dword [ebp - 0x10]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov eax, dword [ebp - 0x3c]
push eax
push dword [ebp - 0xc]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
xor edx, edx
lea eax, [ebp - 0x4d4]
inc edx
push edx
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push edx
lea eax, [ebp - 0x4d0]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push edx
push dword [ebp - 0x448]
call fcn.1003b8a2
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov eax, dword [ebp - 0x3c]
mov ecx, edi
push ebx
push ebx
push dword [ebp - 0x24]
and eax, 0xfffff
push dword [ebp - 0x10]
mov dword [ebp - 0x450], eax
or eax, 0x10100000
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov eax, dword [ebp - 0x450]
mov ecx, edi
push ebx
push dword [ebp - 0x10]
or eax, 0x20400000
push dword [ebp - 0x28]
push dword [ebp - 0xc]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push dword [ebp - 0x444]
lea eax, [ebp - 0x4d4]
mov ecx, edi
push dword [ebp - 0xc]
push dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x450]
or eax, 0x50000000
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push dword [ebp - 0x444]
lea eax, [ebp - 0x4d4]
mov ecx, edi
push ebx
push eax
lea eax, [ebp - 0x4d0]
push eax
push 0x10700001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
lea eax, [ebp - 0x4d0]
push dword [ebp - 0x444]
push ebx
push eax
push dword [ebp - 0x448]
push 0x10300001
jmp 0x1014aa55
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
push ebx
push edx
call fcn.10155f97
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov eax, dword [ebp - 0x3c]
push ebx
push dword [ebp - 0x24]
and eax, 0xfffff
or eax, 0x50000000
push dword [ebp - 0x28]
push edx
push eax
jmp 0x1014ba65
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov eax, dword [edi + 0x20]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x1ac], eax
push ebx
push edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0x1a8], eax
mov eax, dword [ecx + 8]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1a4], eax
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x1a0], eax
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x19c], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x198], eax
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x194], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x190], eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
lea eax, [ebp - 0x19c]
push eax
lea eax, [ebp - 0x1ac]
push eax
jmp 0x1014b6a8
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
fld qword [0x10039c78]
mov esi, dword [edi + 8]
call sub.msvcrt.dll__CIlog
fld1
xor eax, eax
fdivrp st(1)
push ecx
push ecx
mov ecx, esi
fstp qword [esp]
push eax
push eax
push dword [esi + 0x78]
call fcn.101a18b9
imul ecx, ebx, 3
mov dword [ebp - 0x44c], eax
push ecx
mov ecx, edi
call fcn.10155e5c
test eax, eax
je 0x10150647
xor edx, edx
mov esi, ebx
mov ecx, edx
shl esi, 2
mov dword [ebp + ecx*4 - 0x14], eax
inc ecx
add eax, esi
cmp ecx, 3
jb 0x1014c4fc
test ebx, ebx
je 0x1014c51f
mov edi, dword [ebp - 0x14]
mov ecx, ebx
mov eax, dword [ebp - 0x44c]
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
push ebx
push dword [ebp - 0x10]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x448]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push edx
push dword [ebp - 0x14]
and ebx, 0xfffff
mov ecx, edi
push dword [ebp - 0x28]
mov eax, ebx
push dword [ebp - 0x10]
or eax, 0x20500000
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
or ebx, 0x10500000
push 0
push dword [ebp - 0x10]
jmp 0x1014a819
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
push ebx
push edx
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
and ebx, 0xfffff
push 0
or ebx, 0x10500000
jmp 0x1014b5da
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
cmp dword [ebp - 0x10], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
xor edx, edx
lea eax, [ebp - 0x504]
inc edx
push edx
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push edx
lea eax, [ebp - 0x4c8]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
push dword [ebp - 0x20]
mov eax, ebx
lea ecx, [ebp - 0x504]
push dword [ebp - 0x24]
and eax, 0xfffff
push ecx
mov dword [ebp - 0x454], eax
mov ecx, edi
or eax, 0x50000000
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0x17
lea eax, [edi + 0x24]
mov ecx, edi
push eax
lea eax, [ebp - 0x504]
push eax
lea eax, [ebp - 0x4c8]
push eax
push 0x20300001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov esi, ebx
mov ecx, edi
shl esi, 2
push esi
call fcn.10155e5c
mov edx, eax
test edx, edx
je 0x10150647
xor eax, eax
mov ecx, eax
mov dword [ebp + ecx*4 - 0x3c], edx
inc ecx
add edx, esi
cmp ecx, 4
jb 0x1014c6d4
mov ecx, eax
test ebx, ebx
je 0x1014c6f7
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x4c8]
mov dword [edx + ecx*4], eax
inc ecx
cmp ecx, ebx
jb 0x1014c6e9
push ebx
push dword [ebp - 0x3c]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x38]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x34]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x448]
call fcn.10155f97
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov eax, dword [ebp - 0x454]
mov ecx, edi
push ebx
push ebx
push dword [ebp - 0x28]
or eax, 0x10100000
push dword [ebp - 0x3c]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov eax, dword [ebp - 0x454]
mov ecx, edi
push ebx
push dword [ebp - 0x3c]
or eax, 0x20400000
push dword [ebp - 0x3c]
mov dword [ebp - 0x44c], eax
push dword [ebp - 0x38]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov eax, dword [ebp - 0x454]
mov ecx, edi
push ebx
push dword [ebp - 0x30]
or eax, 0x20500000
push dword [ebp - 0x38]
push dword [ebp - 0x34]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
push dword [ebp - 0x34]
push dword [ebp - 0x28]
push dword [ebp - 0x448]
push dword [ebp - 0x44c]
jmp 0x1014aa55
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
lea eax, [ebx + ebx]
mov ecx, edi
push eax
call fcn.10155e5c
mov edx, eax
mov dword [ebp - 0x44c], edx
test edx, edx
je 0x10150647
push ebx
lea eax, [edx + ebx*4]
push edx
mov dword [ebp - 0x454], eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x454]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x448]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0x14
push 0
push dword [ebp - 0x28]
and ebx, 0xfffff
mov ecx, edi
push edx
mov eax, ebx
or eax, 0x10400000
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov eax, ebx
push 0x18
or eax, 0x10100000
jmp 0x1014b008
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov eax, ebx
mov ecx, edi
shl eax, 3
push eax
call fcn.10155e5c
test eax, eax
je 0x10150647
mov edx, ebx
mov ecx, esi
shl edx, 2
mov dword [ebp + ecx*4 - 0x4c], eax
inc ecx
add eax, edx
cmp ecx, 8
jb 0x1014c913
mov edx, esi
push ebx
push dword [ebp + edx*4 - 0x4c]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
inc edx
cmp edx, 8
jb 0x1014c921
push ebx
push dword [ebp - 0x448]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor eax, eax
mov ecx, ebx
push eax
push eax
push dword [ebp - 0x24]
and ecx, 0xfffff
push dword [ebp - 0x4c]
mov dword [ebp - 0x454], ecx
or ecx, 0x10300000
push ecx
push dword [ebp - 0x440]
mov ecx, edi
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov eax, dword [ebp - 0x454]
mov ecx, edi
push 0
push dword [ebp - 0x4c]
or eax, 0x20500000
push dword [ebp - 0x28]
mov dword [ebp - 0x450], eax
push dword [ebp - 0x48]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov ecx, dword [ebp - 0x454]
xor eax, eax
push eax
push eax
push dword [ebp - 0x48]
or ecx, 0x10100000
push dword [ebp - 0x44]
mov dword [ebp - 0x44c], ecx
push ecx
push dword [ebp - 0x440]
mov ecx, edi
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
mov eax, dword [ebp - 0x454]
mov ecx, edi
push dword [ebp - 0x44]
or eax, 0x20100000
push dword [ebp - 0x48]
push dword [ebp - 0x40]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov eax, dword [ebp - 0x454]
mov ecx, edi
push 0x14
push 0
push dword [ebp - 0x40]
or eax, 0x10400000
push dword [ebp - 0x3c]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov eax, dword [ebp - 0x454]
mov ecx, edi
push 0x17
push dword [ebp - 0x44]
or eax, 0x20300000
push dword [ebp - 0x48]
push dword [ebp - 0x38]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor eax, eax
mov ecx, edi
push eax
push eax
push dword [ebp - 0x3c]
push dword [ebp - 0x34]
push dword [ebp - 0x44c]
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x38]
mov ecx, edi
push dword [ebp - 0x3c]
push dword [ebp - 0x34]
push dword [ebp - 0x30]
push dword [ebp - 0x440]
call fcn.101551fa
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
push dword [ebp - 0x24]
push dword [ebp - 0x30]
push dword [ebp - 0x448]
push dword [ebp - 0x450]
jmp 0x1014aa55
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
push ebx
push edx
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
and ebx, 0xfffff
xor eax, eax
or ebx, 0x10400000
jmp 0x1014b5d8
cmp dword [ebp - 0x18], 0
je 0x101515a1
xor ecx, ecx
mov eax, ebx
mul dword [ebp - 0x444]
seto cl
neg ecx
or ecx, eax
call fcn.1010328d
mov dword [ebp - 0x24], eax
test eax, eax
je 0x10150647
imul ecx, ebx, 0xa
push ecx
mov ecx, edi
call fcn.10155e5c
test eax, eax
je 0x10150647
mov ecx, ebx
shl ecx, 2
mov dword [ebp + esi*4 - 0x78], eax
inc esi
add eax, ecx
cmp esi, 0xa
jb 0x1014cb9c
push ebx
push dword [ebp - 0x78]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x74]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x70]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x6c]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x68]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x64]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x60]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x5c]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x24]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov eax, ebx
and eax, 0xfffff
mov ecx, eax
mov dword [ebp - 0x45c], eax
xor eax, eax
or ecx, 0x10100000
push eax
push eax
push dword [ebp - 0x28]
mov dword [ebp - 0x450], ecx
push dword [ebp - 0x78]
push ecx
push dword [ebp - 0x440]
mov ecx, edi
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
mov eax, dword [ebp - 0x45c]
mov ecx, edi
push dword [ebp - 0x28]
or eax, 0x20100000
push dword [ebp - 0x78]
push dword [ebp - 0x74]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 8
push 0
push dword [ebp - 0x74]
mov ecx, edi
push dword [ebp - 0x70]
push dword [ebp - 0x450]
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov eax, dword [ebp - 0x45c]
mov ecx, edi
push 0x17
push dword [ebp - 0x74]
or eax, 0x20300000
push dword [ebp - 0x70]
push dword [ebp - 0x6c]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
mov eax, dword [ebp - 0x45c]
mov ecx, edi
push dword [ebp - 0x74]
or eax, 0x20400000
push dword [ebp - 0x6c]
mov dword [ebp - 0x44c], eax
push dword [ebp - 0x68]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor eax, eax
mov ecx, edi
push eax
push eax
push dword [ebp - 0x68]
mov eax, dword [ebp - 0x45c]
push dword [ebp - 0x64]
or eax, 0x10600000
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor eax, eax
mov ecx, edi
push eax
push eax
push dword [ebp - 0x64]
push dword [ebp - 0x60]
push dword [ebp - 0x450]
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov eax, dword [ebp - 0x45c]
mov ecx, edi
push 0x14
push 0
push dword [ebp - 0x60]
or eax, 0x10400000
push dword [ebp - 0x5c]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 2
push dword [ebp - 0x5c]
mov ecx, edi
push dword [ebp - 0x64]
push dword [ebp - 0x24]
push dword [ebp - 0x44c]
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov edx, dword [ebp - 0x448]
test edx, edx
je 0x1014b6d9
push ebx
push dword [ebp - 0x58]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x54]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push edx
call fcn.10155f97
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push dword [ebp - 0x444]
mov eax, dword [ebp - 0x45c]
mov ecx, edi
push ebx
push dword [ebp - 0x24]
or eax, 0x10500000
push dword [ebp - 0x58]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push dword [ebp - 0x444]
mov eax, dword [ebp - 0x45c]
mov ecx, edi
push ebx
push dword [ebp - 0x58]
or eax, 0x10300000
push dword [ebp - 0x54]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov eax, dword [ebp - 0x45c]
push ebx
push dword [ebp - 0x54]
push dword [ebp - 0x28]
push dword [ebp - 0x448]
or eax, 0x20500000
push eax
jmp 0x1014aa55
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
imul eax, ebx, 6
mov ecx, edi
push eax
call fcn.10155e5c
test eax, eax
je 0x10150647
mov ecx, ebx
shl ecx, 2
mov dword [ebp + esi*4 - 0x44], eax
inc esi
add eax, ecx
cmp esi, 6
jb 0x1014cf71
push ebx
push dword [ebp - 0x44]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x40]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x3c]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x38]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x34]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x30]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x448]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor eax, eax
and ebx, 0xfffff
push eax
push eax
push dword [ebp - 0x28]
mov eax, ebx
mov ecx, edi
push dword [ebp - 0x44]
or eax, 0x10d00000
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor eax, eax
mov ecx, ebx
push eax
push eax
push dword [ebp - 0x44]
or ecx, 0x10100000
push dword [ebp - 0x40]
mov dword [ebp - 0x44c], ecx
push ecx
push dword [ebp - 0x440]
mov ecx, edi
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
mov eax, ebx
mov ecx, edi
push dword [ebp - 0x44]
or eax, 0x20100000
push dword [ebp - 0x40]
mov dword [ebp - 0x450], eax
push dword [ebp - 0x3c]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor eax, eax
mov ecx, edi
push eax
push eax
push dword [ebp - 0x28]
mov eax, ebx
push dword [ebp - 0x38]
or eax, 0x10e00000
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor eax, eax
mov ecx, edi
push eax
push eax
push dword [ebp - 0x38]
push dword [ebp - 0x34]
push dword [ebp - 0x44c]
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
mov ecx, edi
push dword [ebp - 0x38]
push dword [ebp - 0x34]
push dword [ebp - 0x30]
push dword [ebp - 0x450]
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
push dword [ebp - 0x30]
push dword [ebp - 0x3c]
jmp 0x1014b03f
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov eax, dword [edi + 8]
test dword [eax + 0x6c], 0x100000
jne 0x1014d418
mov eax, ebx
mov ecx, edi
shl eax, 2
push eax
call fcn.10155e5c
test eax, eax
je 0x10150647
mov edx, dword [ebp - 0x444]
mov ecx, ebx
shl ecx, 2
mov dword [ebp + esi*4 - 0x3c], eax
inc esi
add eax, ecx
cmp esi, edx
jb 0x1014d1b5
push ebx
push dword [ebp - 0x3c]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x38]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x34]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x30]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x448]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0x40
push 0
push dword [ebp - 0x28]
mov eax, ebx
mov ecx, edi
push dword [ebp - 0x3c]
and eax, 0xfffff
mov dword [ebp - 0x454], eax
or eax, 0x10100000
push eax
push dword [ebp - 0x440]
mov dword [ebp - 0x44c], eax
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov eax, dword [ebp - 0x454]
mov ecx, edi
push 0x40
push dword [ebp - 0x3c]
or eax, 0x20400000
push dword [ebp - 0x28]
push dword [ebp - 0x38]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov eax, dword [ebp - 0x454]
mov ecx, edi
push 0x40
push dword [ebp - 0x38]
or eax, 0x20500000
push dword [ebp - 0x38]
push dword [ebp - 0x34]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0x40
push 0
push dword [ebp - 0x34]
mov ecx, edi
push dword [ebp - 0x30]
push dword [ebp - 0x44c]
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov eax, dword [ebp - 0x454]
mov ecx, edi
push 0x57
push dword [ebp - 0x34]
or eax, 0x20300000
push dword [ebp - 0x30]
push dword [ebp - 0x448]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
and dword [ebp - 0x450], 0
test ebx, ebx
je 0x1014b6d9
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x448]
sub ecx, eax
mov dword [ebp - 0x44c], ecx
lea edx, [ebp - 0x40]
push edx
push dword [ecx + eax]
mov ecx, edi
call fcn.10157a32
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
fld qword [edi + 0xa8]
fld qword [ebp - 0x40]
fcom st(1)
fnstsw ax
fld qword [ebp - 0x38]
test ah, 0x41
jne 0x1014d3b7
fcom qword [edi + 0xa0]
fnstsw ax
test ah, 5
jp 0x1014d3b7
mov eax, dword [edi + 0x20]
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x1014d3da
fld qword [edi + 0xa0]
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x1014d3d3
fucompp
fnstsw ax
test ah, 0x44
jp 0x1014d3e2
jmp 0x1014d3d7
fstp st(0)
fstp st(0)
mov eax, dword [edi + 0x24]
mov ecx, dword [ebp - 0x448]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x450]
mov eax, dword [ebp - 0x448]
inc ecx
mov esi, dword [ebp - 0x444]
add eax, esi
mov dword [ebp - 0x450], ecx
cmp ecx, ebx
mov ecx, dword [ebp - 0x44c]
mov dword [ebp - 0x448], eax
jb 0x1014d36c
xor ebx, ebx
jmp 0x1014b6e1
test ebx, ebx
je 0x1014b6d9
mov eax, dword [edi + 0x20]
mov dword [edx + esi*4], eax
inc esi
cmp esi, ebx
jb 0x1014d420
jmp 0x1014b6d9
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov eax, dword [edi + 8]
test dword [eax + 0x6c], 0x100000
jne 0x1014d69f
mov eax, ebx
mov ecx, edi
shl eax, 2
push eax
call fcn.10155e5c
test eax, eax
je 0x10150647
mov edx, dword [ebp - 0x444]
mov ecx, ebx
shl ecx, 2
mov dword [ebp + esi*4 - 0x3c], eax
inc esi
add eax, ecx
cmp esi, edx
jb 0x1014d472
push ebx
push dword [ebp - 0x3c]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x38]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x34]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x30]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x448]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0x40
push 0
push dword [ebp - 0x28]
mov eax, ebx
mov ecx, edi
push dword [ebp - 0x3c]
and eax, 0xfffff
mov dword [ebp - 0x454], eax
or eax, 0x10300000
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov eax, dword [ebp - 0x454]
mov ecx, edi
push 0x40
push dword [ebp - 0x3c]
or eax, 0x20500000
push dword [ebp - 0x3c]
push dword [ebp - 0x38]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov eax, dword [ebp - 0x454]
mov ecx, edi
push 0x40
push 0
push dword [ebp - 0x38]
or eax, 0x10100000
push dword [ebp - 0x34]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov eax, dword [ebp - 0x454]
mov ecx, edi
push 0x57
push dword [ebp - 0x38]
or eax, 0x20300000
push dword [ebp - 0x34]
push dword [ebp - 0x448]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
and dword [ebp - 0x450], 0
test ebx, ebx
je 0x1014b6d9
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x448]
sub ecx, eax
mov dword [ebp - 0x44c], ecx
lea edx, [ebp - 0x40]
push edx
push dword [eax + ecx]
mov ecx, edi
call fcn.10157a32
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
fld qword [edi + 0xa8]
fld qword [ebp - 0x40]
fcom st(1)
fnstsw ax
fld qword [ebp - 0x38]
test ah, 0x41
jne 0x1014d640
fcom qword [edi + 0xa0]
fnstsw ax
test ah, 5
jp 0x1014d640
mov eax, dword [edi + 0x24]
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x1014d663
fld qword [edi + 0xa0]
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x1014d65c
fucompp
fnstsw ax
test ah, 0x44
jp 0x1014d66b
jmp 0x1014d660
fstp st(0)
fstp st(0)
mov eax, dword [edi + 0x20]
mov ecx, dword [ebp - 0x448]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x450]
mov eax, dword [ebp - 0x448]
inc ecx
mov esi, dword [ebp - 0x444]
add eax, esi
mov dword [ebp - 0x450], ecx
cmp ecx, ebx
mov ecx, dword [ebp - 0x44c]
mov dword [ebp - 0x448], eax
jb 0x1014d5f5
jmp 0x1014d411
test ebx, ebx
je 0x1014b6d9
mov eax, dword [edi + 0x24]
mov dword [edx + esi*4], eax
inc esi
cmp esi, ebx
jb 0x1014d6a7
jmp 0x1014b6d9
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov eax, dword [edi + 8]
test dword [eax + 0x6c], 0x100000
jne 0x1014d952
mov eax, ebx
mov ecx, edi
shl eax, 2
push eax
call fcn.10155e5c
test eax, eax
je 0x10150647
mov edx, dword [ebp - 0x444]
mov ecx, ebx
shl ecx, 2
mov dword [ebp + esi*4 - 0x3c], eax
inc esi
add eax, ecx
cmp esi, edx
jb 0x1014d6f9
push ebx
push dword [ebp - 0x3c]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x38]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x34]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x30]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x448]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov ecx, dword [ebp - 0x28]
mov eax, ebx
push 0x40
push ecx
push ecx
push dword [ebp - 0x3c]
and eax, 0xfffff
mov ecx, edi
mov dword [ebp - 0x454], eax
or eax, 0x20500000
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov eax, dword [ebp - 0x454]
mov ecx, edi
push 0x40
push 0
push dword [ebp - 0x3c]
or eax, 0x10100000
push dword [ebp - 0x38]
mov dword [ebp - 0x44c], eax
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov eax, dword [ebp - 0x454]
mov ecx, edi
push 0x57
push dword [ebp - 0x38]
or eax, 0x20300000
push dword [ebp - 0x3c]
mov dword [ebp - 0x454], eax
push dword [ebp - 0x34]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0x5a
push 0
push dword [ebp - 0x34]
mov ecx, edi
push dword [ebp - 0x30]
push dword [ebp - 0x44c]
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0x57
push dword [ebp - 0x34]
mov ecx, edi
push dword [ebp - 0x30]
push dword [ebp - 0x448]
push dword [ebp - 0x454]
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
and dword [ebp - 0x450], 0
test ebx, ebx
je 0x1014b6d9
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x448]
sub ecx, eax
mov dword [ebp - 0x44c], ecx
lea edx, [ebp - 0x40]
push edx
push dword [eax + ecx]
mov ecx, edi
call fcn.10157a32
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
fld qword [edi + 0xa8]
fld qword [ebp - 0x40]
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x1014d907
fld qword [edi + 0xa0]
fld qword [ebp - 0x38]
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x1014d90b
fxch st(2)
fucompp
fnstsw ax
test ah, 0x44
jnp 0x1014d90f
fucompp
fnstsw ax
test ah, 0x44
jp 0x1014d91e
jmp 0x1014d913
fstp st(0)
jmp 0x1014d911
fstp st(2)
fstp st(2)
fstp st(1)
fstp st(0)
mov ecx, dword [ebp - 0x448]
mov eax, dword [edi + 0x24]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x450]
mov eax, dword [ebp - 0x448]
inc ecx
mov esi, dword [ebp - 0x444]
add eax, esi
mov dword [ebp - 0x450], ecx
cmp ecx, ebx
mov ecx, dword [ebp - 0x44c]
mov dword [ebp - 0x448], eax
jb 0x1014d8af
jmp 0x1014d411
test ebx, ebx
je 0x1014b6d9
mov eax, dword [edi + 0x24]
mov dword [edx + esi*4], eax
inc esi
cmp esi, ebx
jb 0x1014d95a
jmp 0x1014b6d9
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
push ebx
mov ecx, edi
call fcn.10155e5c
mov edx, eax
mov dword [ebp - 0x44c], edx
test edx, edx
je 0x10150647
push ebx
push edx
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x448]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
and ebx, 0xfffff
mov ecx, edi
push 0
push dword [ebp - 0x24]
mov eax, ebx
push edx
or eax, 0x10500000
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
push dword [ebp - 0x44c]
push dword [ebp - 0x28]
or ebx, 0x20500000
jmp 0x1014a819
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
xor eax, eax
inc eax
push eax
cmp dword [ebp - 0x3c], eax
jne 0x1014dab9
lea eax, [ebp - 0x4c4]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor ecx, ecx
inc ecx
push ecx
push edx
call fcn.10155f97
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
push ebx
push dword [ebp - 0x28]
lea eax, [ebp - 0x4c4]
mov ecx, edi
push eax
push 0x10100001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push dword [ebp - 0x444]
lea eax, [ebp - 0x4c4]
push eax
push dword [ebp - 0x28]
push dword [ebp - 0x448]
push 0x20100001
jmp 0x1014aa55
lea eax, [ebp - 0x4c0]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor ecx, ecx
lea eax, [ebp - 0x4bc]
inc ecx
push ecx
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push edx
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov ebx, dword [ebp - 0x444]
lea eax, [ebp - 0x4c0]
push ebx
push dword [ebp - 0x28]
mov ecx, edi
push dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x3c]
and eax, 0xfffff
or eax, 0x50000000
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
xor ebx, ebx
lea eax, [ebp - 0x4c0]
push ebx
push eax
lea eax, [ebp - 0x4bc]
mov ecx, edi
push eax
push 0x10700001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
lea eax, [ebp - 0x4bc]
jmp 0x1014c3a5
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
cmp dword [ebp - 0x10], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
push ebx
push dword [ebp - 0x20]
push dword [ebp - 0x24]
push dword [ebp - 0x28]
push edx
push ecx
mov ecx, edi
call fcn.101551fa
jmp 0x1014af40
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
cmp dword [ebp - 0x10], 0
je 0x101515a1
mov esi, dword [ebp - 0x444]
cmp ebx, esi
jne 0x101515a1
test edx, edx
je 0x1014d411
mov eax, dword [edi + 8]
test byte [eax + 0x6c], 0x40
je 0x1014dc5b
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x20]
push esi
push edx
mov eax, dword [eax]
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov dword [ebp - 0x178], eax
mov eax, dword [ecx]
mov dword [ebp - 0x174], eax
mov eax, dword [ecx]
mov dword [ebp - 0x170], eax
call fcn.10155f97
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
push ebx
lea eax, [ebp - 0x17c]
push eax
push edx
push 0x50100004
jmp 0x1014ba65
push 6
mov ecx, edi
call fcn.10155e5c
mov edx, eax
test edx, edx
je 0x10150647
xor ebx, ebx
mov ecx, ebx
lea eax, [edx + ecx*4]
mov dword [ebp + ecx*4 - 0x44], eax
inc ecx
cmp ecx, 6
jb 0x1014dc72
push 6
push edx
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push dword [ebp - 0x444]
push dword [ebp - 0x448]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
push ebx
push dword [ebp - 0x28]
mov ecx, edi
push dword [ebp - 0x44]
push 0x10100001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push 0x17
push dword [ebp - 0x28]
mov ecx, edi
push dword [ebp - 0x44]
push dword [ebp - 0x40]
push 0x20200001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov eax, dword [ebp - 0x448]
mov ecx, edi
push ebx
push dword [ebp - 0x28]
add eax, 4
push dword [ebp - 0x40]
push eax
push 0x20500001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
push ebx
push dword [ebp - 0x24]
mov ecx, edi
push dword [ebp - 0x3c]
push 0x10100001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push 0x17
push dword [ebp - 0x24]
mov ecx, edi
push dword [ebp - 0x3c]
push dword [ebp - 0x38]
push 0x20200001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push 0x17
push dword [ebp - 0x38]
mov ecx, edi
push dword [ebp - 0x40]
push dword [ebp - 0x34]
push 0x20500001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push 1
push dword [ebp - 0x20]
mov ecx, edi
push dword [ebp - 0x24]
push dword [ebp - 0x30]
push dword [ebp - 0x440]
call fcn.101555ea
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push dword [ebp - 0x444]
mov eax, dword [ebp - 0x448]
mov ecx, edi
push dword [ebp - 0x30]
add eax, 8
push dword [ebp - 0x34]
push eax
push 0x20500001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push 0x17
push ebx
lea eax, [edi + 0x20]
mov ecx, edi
push eax
push dword [ebp - 0x448]
push 0x10000001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push 0x17
push ebx
lea eax, [edi + 0x20]
push eax
mov eax, dword [ebp - 0x448]
add eax, 0xc
push eax
push 0x10000001
jmp 0x1014aa55
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
fld qword [0x10039c78]
mov esi, dword [edi + 8]
call sub.msvcrt.dll__CIlog
push ecx
push ecx
fstp qword [esp]
xor eax, eax
mov ecx, esi
push eax
push eax
push dword [esi + 0x78]
call fcn.101a18b9
lea ecx, [ebx + ebx]
mov dword [ebp - 0x44c], eax
push ecx
mov ecx, edi
call fcn.10155e5c
test eax, eax
je 0x10150647
xor edx, edx
mov esi, ebx
mov ecx, edx
shl esi, 2
mov dword [ebp + ecx*4 - 0x10], eax
inc ecx
add eax, esi
cmp ecx, 2
jb 0x1014dec5
test ebx, ebx
je 0x1014dee8
mov edi, dword [ebp - 0x10]
mov ecx, ebx
mov eax, dword [ebp - 0x44c]
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
push ebx
push dword [ebp - 0xc]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x448]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push edx
push edx
push dword [ebp - 0x28]
and ebx, 0xfffff
mov ecx, edi
push dword [ebp - 0xc]
mov eax, ebx
or eax, 0x10600000
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
push dword [ebp - 0xc]
push dword [ebp - 0x10]
jmp 0x1014da09
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
fld qword [0x10039c78]
mov esi, dword [edi + 8]
call sub.msvcrt.dll__CIlog
fstp qword [ebp - 0x10]
fld qword [0x10039ce0]
call sub.msvcrt.dll__CIlog
fdivr qword [ebp - 0x10]
xor eax, eax
push ecx
push ecx
mov ecx, esi
fstp qword [esp]
push eax
push eax
push dword [esi + 0x78]
call fcn.101a18b9
lea ecx, [ebx + ebx]
mov dword [ebp - 0x44c], eax
push ecx
mov ecx, edi
call fcn.10155e5c
test eax, eax
je 0x10150647
xor edx, edx
mov esi, ebx
mov ecx, edx
shl esi, 2
mov dword [ebp + ecx*4 - 0x10], eax
inc ecx
add eax, esi
cmp ecx, 2
jb 0x1014dfc3
jmp 0x1014ded1
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
push ebx
push edx
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
and ebx, 0xfffff
xor eax, eax
or ebx, 0x10600000
jmp 0x1014b5d8
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
push ebx
push edx
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
push dword [ebp - 0x24]
and ebx, 0xfffff
or ebx, 0x20100000
jmp 0x1014b5da
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
push ebx
push edx
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
push dword [ebp - 0x24]
and ebx, 0xfffff
or ebx, 0x20000000
jmp 0x1014b5da
cmp dword [ebp - 0x18], 0
je 0x101515a1
xor ecx, ecx
mov eax, ebx
mul dword [ebp - 0x444]
seto cl
neg ecx
or ecx, eax
call fcn.1010328d
mov dword [ebp - 0x24], eax
test eax, eax
je 0x10150647
imul ecx, ebx, 0xa
push ecx
mov ecx, edi
call fcn.10155e5c
test eax, eax
je 0x10150647
mov ecx, ebx
shl ecx, 2
mov dword [ebp + esi*4 - 0x78], eax
inc esi
add eax, ecx
cmp esi, 0xa
jb 0x1014e0e5
push ebx
push dword [ebp - 0x78]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x74]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x70]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x6c]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x68]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x64]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x60]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x5c]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x58]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x24]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor eax, eax
mov ecx, ebx
push eax
push eax
push dword [ebp - 0x28]
and ecx, 0xfffff
push dword [ebp - 0x78]
mov dword [ebp - 0x454], ecx
or ecx, 0x10200000
push ecx
push dword [ebp - 0x440]
mov ecx, edi
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov eax, dword [ebp - 0x454]
mov ecx, edi
push 0x14
push 0
push dword [ebp - 0x78]
or eax, 0x10400000
push dword [ebp - 0x74]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov eax, dword [ebp - 0x454]
mov ecx, edi
push 0x18
push 0
push dword [ebp - 0x74]
or eax, 0x10100000
push dword [ebp - 0x70]
mov dword [ebp - 0x45c], eax
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov eax, dword [ebp - 0x454]
mov ecx, edi
push 2
push dword [ebp - 0x78]
or eax, 0x20400000
push dword [ebp - 0x70]
mov dword [ebp - 0x450], eax
push dword [ebp - 0x6c]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor eax, eax
mov ecx, edi
push eax
push eax
push dword [ebp - 0x28]
push dword [ebp - 0x68]
push dword [ebp - 0x45c]
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov eax, dword [ebp - 0x454]
mov ecx, edi
push 0x17
push dword [ebp - 0x68]
or eax, 0x20200000
push dword [ebp - 0x28]
mov dword [ebp - 0x44c], eax
push dword [ebp - 0x64]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor eax, eax
mov ecx, edi
push eax
push eax
push dword [ebp - 0x74]
push dword [ebp - 0x60]
push dword [ebp - 0x45c]
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0x17
push dword [ebp - 0x74]
mov ecx, edi
push dword [ebp - 0x60]
push dword [ebp - 0x5c]
push dword [ebp - 0x44c]
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov eax, dword [ebp - 0x454]
mov ecx, edi
push 0x17
push dword [ebp - 0x5c]
or eax, 0x20500000
push dword [ebp - 0x64]
push dword [ebp - 0x58]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 2
push dword [ebp - 0x58]
mov ecx, edi
push dword [ebp - 0x6c]
push dword [ebp - 0x24]
push dword [ebp - 0x450]
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov edx, dword [ebp - 0x448]
test edx, edx
je 0x1014b6d9
push ebx
push dword [ebp - 0x54]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push edx
call fcn.10155f97
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push 2
push ebx
push dword [ebp - 0x24]
mov ecx, edi
push dword [ebp - 0x54]
push dword [ebp - 0x45c]
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push 0x10
push dword [ebp - 0x54]
push dword [ebp - 0x28]
push dword [ebp - 0x448]
push dword [ebp - 0x450]
jmp 0x1014aa55
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
push ebx
mov ecx, edi
call fcn.10155e5c
mov ecx, eax
mov dword [ebp - 0x44c], ecx
test ecx, ecx
je 0x10150647
test ebx, ebx
je 0x1014e4bb
mov edx, dword [ebp - 0x28]
mov eax, dword [edx]
mov dword [ecx + esi*4], eax
inc esi
cmp esi, ebx
jb 0x1014e4b1
mov edx, dword [ebp - 0x448]
push ebx
push edx
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
push dword [ebp - 0x24]
push dword [ebp - 0x44c]
jmp 0x1014b6a8
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
push ebx
mov ecx, edi
call fcn.10155e5c
mov ecx, eax
mov dword [ebp - 0x44c], ecx
test ecx, ecx
je 0x10150647
test ebx, ebx
je 0x1014b680
mov edx, dword [ebp - 0x24]
mov eax, dword [edx]
mov dword [ecx + esi*4], eax
inc esi
cmp esi, ebx
jb 0x1014e527
jmp 0x1014b680
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x44c], eax
test eax, eax
je 0x101515a1
cmp dword [eax + 4], 9
jne 0x101515a1
cmp dword [eax + 0x10], 1
je 0x1014e58e
push 0x400
push dword [eax + 0x1c]
lea ecx, [ebp - 0x74]
push dword [eax + 0x18]
push dword [eax + 0x14]
push 2
call fcn.101445db
mov eax, ecx
push dword [ebp - 0x3c]
mov ecx, edi
push dword [ebp - 0x28]
push eax
call fcn.101574fe
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov eax, dword [ebp - 0x44c]
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x454], ecx
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x470], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x464], eax
test eax, eax
je 0x101515a1
cmp dword [eax + 4], 9
jne 0x101515a1
xor ecx, ecx
inc ecx
cmp dword [eax + 0x10], ecx
jne 0x1014e61d
push dword [ebp - 0x38]
mov ecx, dword [ebp - 0x24]
push ecx
mov dword [ebp - 0x450], ecx
mov ecx, edi
push eax
call fcn.101574fe
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov eax, dword [ebp - 0x464]
mov edx, dword [eax + 0x1c]
mov esi, dword [eax + 0x18]
jmp 0x1014e668
push 0x800
push dword [eax + 0x1c]
lea ecx, [ebp - 0x74]
push dword [eax + 0x18]
push dword [eax + 0x14]
push 2
call fcn.101445db
push dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
push eax
mov dword [ebp - 0x450], eax
mov eax, ecx
push eax
mov ecx, edi
call fcn.101574fe
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
mov eax, dword [ebp - 0x464]
mov edx, dword [eax + 0x18]
mov esi, dword [eax + 0x1c]
mov dword [ebp - 0x478], esi
mov dword [ebp - 0x45c], edx
cmp dword [ebp - 0x454], edx
jne 0x101515a1
mov ecx, dword [ebp - 0x470]
mov eax, esi
imul eax, ecx
cmp ebx, eax
jne 0x101515a1
mov eax, dword [ebp - 0x44c]
cmp dword [eax + 0x10], 2
je 0x1014e6b2
xor eax, eax
inc eax
push 0
cmp ecx, eax
pop edx
sete dl
mov dword [ebp - 0x44c], edx
jmp 0x1014e6d2
push dword [ebp - 0x454]
push ecx
push dword [ebp - 0x28]
mov ecx, edi
call fcn.101589e4
mov ecx, dword [ebp - 0x470]
mov dword [ebp - 0x44c], eax
xor eax, eax
inc eax
cmp dword [ebp - 0x44c], 0
mov edx, dword [ebp - 0x45c]
jne 0x1014e925
imul eax, ecx, 5
mov ecx, edi
push eax
call fcn.10155e5c
mov dword [ebp - 0x44c], eax
test eax, eax
je 0x10150647
mov edx, dword [ebp - 0x470]
xor ebx, ebx
mov edi, ebx
mov esi, eax
mov ecx, edi
imul ecx, edx
lea eax, [esi + ecx*4]
mov dword [ebp + edi*4 - 0x40], eax
inc edi
cmp edi, 5
jb 0x1014e70a
mov esi, dword [ebp - 0x478]
mov edi, dword [ebp - 0x458]
mov dword [ebp - 0x464], ebx
test esi, esi
je 0x1014b6db
mov eax, dword [ebp - 0x45c]
mov ecx, ebx
mov dword [ebp - 0x468], ecx
test eax, eax
je 0x1014e8c8
mov dword [ebp - 0x450], ebx
test edx, edx
je 0x1014e7ce
mov eax, ecx
mov edi, ebx
imul eax, esi
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x43c], esi
add eax, dword [ebp - 0x464]
mov dword [ebp - 0x44c], eax
mov eax, dword [ebp - 0x40]
sub eax, esi
mov esi, dword [ebp - 0x44c]
mov dword [ebp - 0x46c], eax
mov edx, dword [ebp - 0x43c]
mov eax, edi
imul eax, dword [ebp - 0x454]
add eax, ecx
mov ecx, dword [ebp - 0x28]
inc edi
mov eax, dword [ecx + eax*4]
mov ecx, dword [ebp - 0x46c]
mov dword [ecx + edx], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x468]
mov eax, dword [eax + esi*4]
mov dword [edx], eax
mov eax, dword [ebp - 0x444]
add dword [ebp - 0x43c], eax
mov edx, dword [ebp - 0x470]
cmp edi, edx
jb 0x1014e783
mov edi, dword [ebp - 0x458]
push edx
push dword [ebp - 0x34]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
push dword [ebp - 0x3c]
and edx, 0xfffff
mov ecx, edi
push dword [ebp - 0x40]
mov dword [ebp - 0x46c], edx
or edx, 0x20500000
push dword [ebp - 0x34]
push edx
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
cmp dword [ebp - 0x468], ebx
jne 0x1014e838
mov eax, dword [ebp - 0x470]
shl eax, 2
push eax
push dword [ebp - 0x34]
jmp 0x1014e896
push dword [ebp - 0x470]
push dword [ebp - 0x30]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov eax, dword [ebp - 0x46c]
mov ecx, edi
push ebx
push dword [ebp - 0x34]
or eax, 0x20400000
push dword [ebp - 0x38]
push dword [ebp - 0x30]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov eax, dword [ebp - 0x470]
shl eax, 2
push eax
push dword [ebp - 0x30]
push dword [ebp - 0x38]
call sub.msvcrt.dll_memcpy
mov ecx, dword [ebp - 0x468]
add esp, 0xc
mov eax, dword [ebp - 0x45c]
inc ecx
mov esi, dword [ebp - 0x478]
mov edx, dword [ebp - 0x470]
mov dword [ebp - 0x468], ecx
cmp ecx, eax
jb 0x1014e74c
mov ecx, ebx
test edx, edx
je 0x1014e904
mov edi, dword [ebp - 0x448]
mov eax, esi
mov esi, dword [ebp - 0x38]
shl eax, 2
mov dword [ebp - 0x46c], eax
mov eax, dword [esi + ecx*4]
inc ecx
mov dword [edi], eax
add edi, dword [ebp - 0x46c]
cmp ecx, edx
jb 0x1014e8e2
mov edi, dword [ebp - 0x458]
mov esi, dword [ebp - 0x478]
mov eax, dword [ebp - 0x45c]
mov ecx, dword [ebp - 0x464]
add dword [ebp - 0x448], 4
inc ecx
mov dword [ebp - 0x464], ecx
cmp ecx, esi
jb 0x1014e73c
jmp 0x1014b6db
mov ecx, dword [ebp - 0x464]
cmp dword [ecx + 0x10], 2
je 0x1014e939
cmp eax, edx
sbb eax, eax
neg eax
jmp 0x1014e945
push esi
push edx
push dword [ebp - 0x24]
mov ecx, edi
call fcn.10158ba5
mov ecx, edi
test eax, eax
je 0x1014eb40
push dword [ebp - 0x38]
call fcn.10155e5c
mov ecx, eax
mov dword [ebp - 0x474], ecx
test ecx, ecx
je 0x10150647
mov eax, dword [ebp - 0x45c]
test eax, eax
je 0x1014ea0a
mov edi, dword [ebp - 0x24]
mov edx, esi
shl edx, 2
mov ebx, esi
mov dword [ebp - 0x43c], edx
mov edx, eax
mov dword [ebp - 0x44c], ecx
mov dword [ebp - 0x464], edx
shl ebx, 2
test esi, esi
je 0x1014e9e2
shl eax, 2
mov edx, edi
mov edi, ecx
mov dword [ebp - 0x46c], eax
mov ecx, dword [ebp - 0x444]
mov ebx, esi
mov esi, eax
mov eax, dword [edx]
add edx, ecx
mov dword [edi], eax
add edi, esi
sub ebx, 1
jne 0x1014e9b1
mov esi, dword [ebp - 0x478]
mov eax, dword [ebp - 0x45c]
mov ecx, dword [ebp - 0x44c]
mov edx, dword [ebp - 0x464]
mov ebx, dword [ebp - 0x43c]
mov edi, dword [ebp - 0x450]
add edi, ebx
add ecx, 4
sub edx, 1
mov dword [ebp - 0x450], edi
mov dword [ebp - 0x44c], ecx
mov dword [ebp - 0x464], edx
jne 0x1014e996
mov ebx, dword [ebp - 0x468]
mov edi, dword [ebp - 0x458]
mov edx, dword [ebp - 0x448]
push ebx
push edx
call fcn.10155f97
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov esi, ebx
mov dword [ebp - 0x468], esi
cmp dword [ebp - 0x470], ebx
jbe 0x1014b6db
mov eax, dword [ebp - 0x478]
mov ecx, eax
shl ecx, 2
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x470]
mov dword [ebp - 0x44c], ebx
test eax, eax
je 0x1014eb23
mov ecx, dword [ebp - 0x454]
mov eax, esi
mov esi, dword [ebp - 0x28]
imul eax, ecx
and ecx, 0xfffff
or ecx, 0x50000000
mov dword [ebp - 0x450], edx
mov dword [ebp - 0x460], ecx
lea eax, [esi + eax*4]
mov esi, dword [ebp - 0x474]
mov dword [ebp - 0x46c], eax
mov eax, dword [ebp - 0x45c]
shl eax, 2
mov dword [ebp - 0x458], eax
mov dword [ebp - 0x464], esi
push ebx
push esi
push dword [ebp - 0x46c]
push edx
push ecx
push dword [ebp - 0x440]
mov ecx, edi
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov ecx, dword [ebp - 0x44c]
mov edx, dword [ebp - 0x450]
inc ecx
mov esi, dword [ebp - 0x464]
add edx, dword [ebp - 0x444]
add esi, dword [ebp - 0x458]
mov eax, dword [ebp - 0x478]
cmp ecx, eax
mov dword [ebp - 0x44c], ecx
mov ecx, dword [ebp - 0x460]
mov dword [ebp - 0x450], edx
mov dword [ebp - 0x464], esi
jb 0x1014eaa9
mov edx, dword [ebp - 0x448]
mov ecx, dword [ebp - 0x470]
mov esi, dword [ebp - 0x468]
add edx, dword [ebp - 0xc]
inc esi
mov dword [ebp - 0x468], esi
mov dword [ebp - 0x448], edx
cmp esi, ecx
jb 0x1014ea51
jmp 0x1014b6db
imul eax, esi, 5
push eax
call fcn.10155e5c
test eax, eax
je 0x10150647
xor ebx, ebx
mov edx, esi
shl edx, 2
mov ecx, ebx
mov dword [ebp - 0x44c], edx
mov dword [ebp + ecx*4 - 0x40], eax
inc ecx
add eax, edx
cmp ecx, 5
jb 0x1014eb60
mov ecx, dword [ebp - 0x470]
mov edx, ebx
mov dword [ebp - 0x464], edx
test ecx, ecx
je 0x1014b6db
mov eax, ebx
mov dword [ebp - 0x450], eax
cmp dword [ebp - 0x454], eax
jbe 0x1014ecf5
mov ecx, edx
imul ecx, dword [ebp - 0x454]
mov dword [ebp - 0x46c], ecx
test esi, esi
je 0x1014ec01
mov edx, dword [ebp - 0x24]
add ecx, eax
imul eax, esi
mov dword [ebp - 0x460], ecx
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xc], esi
lea edx, [edx + eax*4]
mov eax, dword [ebp - 0x40]
sub eax, ecx
mov dword [ebp - 0x474], eax
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x460]
mov eax, dword [edi + eax*4]
mov edi, dword [ebp - 0x474]
mov dword [edi + ecx], eax
mov eax, dword [edx]
add edx, dword [ebp - 0x444]
mov dword [ecx], eax
add ecx, dword [ebp - 0x444]
sub esi, 1
jne 0x1014ebcb
mov edi, dword [ebp - 0x458]
mov esi, dword [ebp - 0x478]
push esi
push dword [ebp - 0x34]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov eax, dword [ebp - 0x478]
mov ecx, edi
push ebx
push dword [ebp - 0x3c]
and eax, 0xfffff
push dword [ebp - 0x40]
mov dword [ebp - 0xc], eax
or eax, 0x20500000
push dword [ebp - 0x34]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
cmp dword [ebp - 0x450], ebx
jne 0x1014ec68
push dword [ebp - 0x44c]
push dword [ebp - 0x34]
jmp 0x1014ecbf
push dword [ebp - 0x478]
push dword [ebp - 0x30]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov eax, dword [ebp - 0xc]
mov ecx, edi
push ebx
push dword [ebp - 0x34]
or eax, 0x20400000
push dword [ebp - 0x38]
push dword [ebp - 0x30]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push dword [ebp - 0x44c]
push dword [ebp - 0x30]
push dword [ebp - 0x38]
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x450]
add esp, 0xc
mov esi, dword [ebp - 0x478]
inc eax
mov ecx, dword [ebp - 0x46c]
mov dword [ebp - 0x450], eax
cmp eax, dword [ebp - 0x454]
jb 0x1014eba5
mov ecx, dword [ebp - 0x470]
mov edx, ebx
test esi, esi
je 0x1014ed20
mov edi, dword [ebp - 0x448]
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + edx*4]
inc edx
mov dword [edi], eax
add edi, dword [ebp - 0x444]
cmp edx, esi
jb 0x1014ed04
mov edi, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x470]
mov edx, dword [ebp - 0x464]
mov eax, esi
shl eax, 2
inc edx
add dword [ebp - 0x448], eax
mov dword [ebp - 0x464], edx
cmp edx, ecx
jb 0x1014eb82
jmp 0x1014b6db
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
push 1
push edx
call fcn.10155f97
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov eax, dword [ebp - 0x3c]
push 0x10
and eax, 0xfffff
push ebx
or eax, 0x50200000
jmp 0x1014c403
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
xor edx, edx
inc edx
cmp ebx, edx
jne 0x1014ef0a
mov esi, dword [ebp - 0x444]
mov ecx, edi
push esi
call fcn.10155e5c
mov edx, eax
test edx, edx
je 0x10150647
xor ebx, ebx
mov ecx, ebx
lea eax, [edx + ecx*4]
mov dword [ebp + ecx*4 - 0x3c], eax
inc ecx
cmp ecx, esi
jb 0x1014edbf
xor edx, edx
inc edx
push edx
push dword [ebp - 0x3c]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push edx
push dword [ebp - 0x38]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push edx
push dword [ebp - 0x34]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push edx
push dword [ebp - 0x30]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push edx
push dword [ebp - 0x448]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
push ebx
push dword [ebp - 0x28]
mov ecx, edi
push dword [ebp - 0x3c]
push 0x10100001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push 0x17
push dword [ebp - 0x28]
mov ecx, edi
push dword [ebp - 0x3c]
push dword [ebp - 0x38]
push 0x20200001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push 0x17
push dword [ebp - 0x3c]
mov ecx, edi
push dword [ebp - 0x28]
push dword [ebp - 0x34]
push 0x20200001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push 0x1a
push ebx
push dword [ebp - 0x34]
mov ecx, edi
push dword [ebp - 0x30]
push 0x10100001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push 0x12
push dword [ebp - 0x30]
push dword [ebp - 0x38]
jmp 0x1014b837
push edx
lea eax, [ebp - 0x4b8]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push edx
lea eax, [ebp - 0x4b4]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
mov eax, ebx
lea ecx, [ebp - 0x4b8]
push dword [ebp - 0x28]
and eax, 0xfffff
push dword [ebp - 0x28]
mov dword [ebp - 0x460], eax
or eax, 0x50000000
push ecx
push eax
push dword [ebp - 0x440]
mov ecx, edi
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
lea eax, [ebp - 0x4b8]
mov ecx, edi
push 0
push eax
lea eax, [ebp - 0x4b4]
push eax
push 0x10700001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
mov ecx, edi
call fcn.10155e5c
mov edx, eax
mov dword [ebp - 0xc], edx
test edx, edx
je 0x10150647
xor ecx, ecx
test ebx, ebx
je 0x1014efe8
mov eax, dword [ebp - 0x4b4]
mov dword [edx + ecx*4], eax
inc ecx
cmp ecx, ebx
jb 0x1014efda
mov edx, dword [ebp - 0x448]
push ebx
push edx
call fcn.10155f97
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov eax, dword [ebp - 0x460]
push ebx
push dword [ebp - 0xc]
push dword [ebp - 0x28]
push edx
jmp 0x1014cf3c
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
push ebx
push dword [ebp - 0x24]
push dword [ebp - 0x28]
push edx
push ecx
mov ecx, edi
call fcn.101555ea
jmp 0x1014af40
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov ecx, dword [edi + 8]
fld qword [0x10039970]
push ecx
push ecx
fstp qword [esp]
push esi
push esi
push dword [ecx + 0x78]
call fcn.101a18b9
push ebx
mov ecx, edi
mov esi, eax
call fcn.10155e5c
mov edx, eax
mov dword [ebp - 0xc], edx
test edx, edx
je 0x10150647
test ebx, ebx
je 0x1014f09e
mov ecx, ebx
mov eax, esi
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov edx, dword [ebp - 0x448]
push ebx
push edx
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
push dword [ebp - 0xc]
jmp 0x1014b6a5
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
xor edx, edx
lea eax, [ebp - 0x484]
inc edx
push edx
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push edx
lea eax, [ebp - 0x4b0]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push edx
lea eax, [ebp - 0x4ac]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
push dword [ebp - 0x24]
mov eax, ebx
lea ecx, [ebp - 0x484]
push dword [ebp - 0x28]
and eax, 0xfffff
push ecx
mov dword [ebp - 0x44c], eax
mov ecx, edi
or eax, 0x50000000
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
lea eax, [ebp - 0x484]
mov ecx, edi
push eax
push eax
lea eax, [ebp - 0x4b0]
push eax
push 0x20400001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor eax, eax
mov ecx, edi
push eax
push eax
lea eax, [ebp - 0x4b0]
push eax
lea eax, [ebp - 0x4ac]
push eax
push 0x10100001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
lea eax, [ebx + ebx]
mov ecx, edi
push eax
call fcn.10155e5c
mov edx, eax
test edx, edx
je 0x10150647
xor eax, eax
mov esi, ebx
mov ecx, eax
shl esi, 2
mov dword [ebp + ecx*4 - 0x10], edx
inc ecx
add edx, esi
cmp ecx, 2
jb 0x1014f1ff
mov edx, dword [ebp - 0x10]
mov ecx, eax
test ebx, ebx
je 0x1014f222
mov eax, dword [ebp - 0x4ac]
mov dword [edx + ecx*4], eax
inc ecx
cmp ecx, ebx
jb 0x1014f214
push ebx
push dword [ebp - 0xc]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x448]
call fcn.10155f97
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov eax, dword [ebp - 0x44c]
mov ecx, edi
push ebx
push edx
push dword [ebp - 0x24]
or eax, 0x20500000
push dword [ebp - 0xc]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov eax, dword [ebp - 0x44c]
push ebx
push dword [ebp - 0x28]
push dword [ebp - 0xc]
push dword [ebp - 0x448]
or eax, 0x20400000
jmp 0x1014cf41
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
cmp dword [ebp - 0x10], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
xor edx, edx
lea eax, [ebp - 0x47c]
inc edx
push edx
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push edx
lea eax, [ebp - 0x4a8]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push edx
lea eax, [ebp - 0x4a0]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push edx
lea eax, [ebp - 0x4a4]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push edx
lea eax, [ebp - 0x4fc]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push edx
lea eax, [ebp - 0x49c]
push eax
call fcn.1003b8a2
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push edx
lea eax, [ebp - 0x4cc]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push edx
lea eax, [ebp - 0x488]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push edx
lea eax, [ebp - 0x490]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push edx
lea eax, [ebp - 0x498]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push edx
lea eax, [ebp - 0x48c]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push edx
lea eax, [ebp - 0x508]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push edx
lea eax, [ebp - 0x510]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push edx
lea eax, [ebp - 0x50c]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push edx
lea eax, [ebp - 0x500]
push eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
push dword [ebp - 0x24]
mov eax, ebx
lea ecx, [ebp - 0x47c]
push dword [ebp - 0x28]
and eax, 0xfffff
push ecx
mov dword [ebp - 0x450], eax
mov ecx, edi
or eax, 0x50000000
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
lea eax, [ebp - 0x47c]
mov ecx, edi
push eax
push eax
lea eax, [ebp - 0x4a8]
push eax
push 0x20500001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
lea eax, [ebp - 0x4a0]
mov ecx, edi
push dword [ebp - 0x20]
push dword [ebp - 0x20]
push eax
push 0x20500001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 8
push 0
lea eax, [ebp - 0x4a8]
mov ecx, edi
push eax
lea eax, [ebp - 0x4a4]
push eax
push 0x10100001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
lea ecx, [ebp - 0x4a4]
push ecx
lea eax, [edi + 0x20]
mov ecx, edi
push eax
lea eax, [ebp - 0x4fc]
push eax
push 0x20400001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
lea eax, [ebp - 0x4fc]
mov ecx, edi
push eax
lea eax, [ebp - 0x4a0]
push eax
lea eax, [ebp - 0x49c]
push eax
push 0x20500001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor eax, eax
mov ecx, edi
push eax
push eax
lea eax, [ebp - 0x49c]
push eax
lea eax, [ebp - 0x4cc]
push eax
push 0x10100001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
lea eax, [ebp - 0x4cc]
mov ecx, edi
push eax
lea eax, [edi + 0x20]
push eax
lea eax, [ebp - 0x488]
push eax
push 0x20400001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0x17
lea eax, [edi + 0x24]
mov ecx, edi
push eax
lea eax, [ebp - 0x488]
push eax
lea eax, [ebp - 0x490]
push eax
push 0x20300001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
lea eax, [ebp - 0x490]
mov ecx, edi
push eax
lea eax, [ebp - 0x488]
push eax
lea eax, [ebp - 0x498]
push eax
push 0x20500001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
lea eax, [ebp - 0x490]
mov ecx, edi
push eax
push dword [ebp - 0x20]
lea eax, [ebp - 0x48c]
push eax
push 0x20500001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
lea eax, [ebp - 0x47c]
mov ecx, edi
push eax
lea eax, [ebp - 0x48c]
push eax
lea eax, [ebp - 0x508]
push eax
push 0x20500001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
lea eax, [ebp - 0x498]
mov ecx, edi
push 0
push eax
lea eax, [ebp - 0x510]
push eax
push 0x10700001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
lea eax, [ebp - 0x510]
mov ecx, edi
push 0
push eax
lea eax, [ebp - 0x50c]
push eax
push 0x10300001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
lea eax, [ebp - 0x50c]
mov ecx, edi
push eax
lea eax, [ebp - 0x508]
push eax
lea eax, [ebp - 0x500]
push eax
push 0x20400001
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
imul eax, ebx, 5
mov ecx, edi
push eax
call fcn.10155e5c
test eax, eax
je 0x10150647
mov edx, ebx
xor ecx, ecx
shl edx, 2
mov dword [ebp + ecx*4 - 0x40], eax
inc ecx
add eax, edx
cmp ecx, 5
jb 0x1014f7df
test ebx, ebx
je 0x1014f81d
mov edx, dword [ebp - 0x34]
mov esi, ebx
mov ecx, dword [ebp - 0x30]
sub edx, ecx
mov edi, dword [ebp - 0x444]
mov eax, dword [ebp - 0x48c]
mov dword [edx + ecx], eax
mov eax, dword [ebp - 0x500]
mov dword [ecx], eax
add ecx, edi
sub esi, 1
jne 0x1014f7ff
mov edi, dword [ebp - 0x458]
push ebx
push dword [ebp - 0x40]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x3c]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x38]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x448]
call fcn.10155f97
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov eax, dword [ebp - 0x450]
mov ecx, edi
push ebx
push dword [ebp - 0x28]
or eax, 0x20500000
push dword [ebp - 0x34]
mov dword [ebp - 0xc], eax
push dword [ebp - 0x40]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
push dword [ebp - 0x24]
mov ecx, edi
push dword [ebp - 0x30]
push dword [ebp - 0x3c]
push dword [ebp - 0xc]
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov eax, dword [ebp - 0x450]
mov ecx, edi
push ebx
push ebx
push dword [ebp - 0x3c]
or eax, 0x10100000
push dword [ebp - 0x38]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
mov eax, dword [ebp - 0x450]
push ebx
push dword [ebp - 0x38]
push dword [ebp - 0x40]
jmp 0x1014f297
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov ecx, dword [edi + 8]
fld qword [0x10039b48]
push ecx
push ecx
fstp qword [esp]
push esi
push esi
push dword [ecx + 0x78]
call fcn.101a18b9
mov dword [ebp - 0xc], eax
mov ecx, edi
mov eax, ebx
shl eax, 2
push eax
call fcn.10155e5c
test eax, eax
je 0x10150647
mov edx, dword [ebp - 0x444]
mov ecx, ebx
shl ecx, 2
mov dword [ebp + esi*4 - 0x3c], eax
inc esi
add eax, ecx
cmp esi, edx
jb 0x1014f976
test ebx, ebx
je 0x1014f995
mov edi, dword [ebp - 0x30]
mov ecx, ebx
mov eax, dword [ebp - 0xc]
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
push ebx
push dword [ebp - 0x3c]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x38]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x34]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x448]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
push dword [ebp - 0x30]
and ebx, 0xfffff
mov ecx, edi
push dword [ebp - 0x28]
mov eax, ebx
push dword [ebp - 0x3c]
or eax, 0x20400000
push eax
push dword [ebp - 0x440]
mov dword [ebp - 0xc], eax
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0x14
push 0
push dword [ebp - 0x3c]
mov eax, ebx
mov ecx, edi
push dword [ebp - 0x38]
or eax, 0x10400000
push eax
push dword [ebp - 0x440]
call fcn.1003b8a2
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0x18
push 0
push dword [ebp - 0x38]
or ebx, 0x10100000
mov ecx, edi
push dword [ebp - 0x34]
push ebx
mov ebx, dword [ebp - 0x440]
push ebx
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 2
push dword [ebp - 0x34]
push dword [ebp - 0x3c]
push dword [ebp - 0x448]
push dword [ebp - 0xc]
jmp 0x1014a953
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
push ebx
push edx
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
and ebx, 0xfffff
push 0
or ebx, 0x10700000
jmp 0x1014b5da
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
imul eax, ebx, 3
mov ecx, edi
push eax
call fcn.10155e5c
test eax, eax
je 0x10150647
mov ecx, ebx
shl ecx, 2
mov dword [ebp + esi*4 - 0x14], eax
inc esi
add eax, ecx
cmp esi, 3
jb 0x1014fb15
test ebx, ebx
je 0x1014fb4d
mov edx, dword [ebp - 0x14]
mov esi, ebx
mov ecx, dword [ebp - 0x10]
sub edx, ecx
mov ebx, dword [ebp - 0x444]
mov eax, dword [edi + 0x24]
mov dword [edx + ecx], eax
mov eax, dword [edi + 0x20]
mov dword [ecx], eax
add ecx, ebx
sub esi, 1
jne 0x1014fb35
mov ebx, dword [ebp - 0x468]
push ebx
push dword [ebp - 0xc]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x448]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
and ebx, 0xfffff
mov ecx, edi
push dword [ebp - 0x14]
mov eax, ebx
push dword [ebp - 0x28]
or eax, 0x20100000
push dword [ebp - 0xc]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0x14
push dword [ebp - 0x10]
push dword [ebp - 0xc]
jmp 0x1014b0fa
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov eax, ebx
mov ecx, edi
shl eax, 2
push eax
call fcn.10155e5c
test eax, eax
je 0x10150647
mov edx, dword [ebp - 0x444]
mov ecx, ebx
shl ecx, 2
mov dword [ebp + esi*4 - 0x3c], eax
inc esi
add eax, ecx
cmp esi, edx
jb 0x1014fbfb
push ebx
push dword [ebp - 0x3c]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x38]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x34]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x30]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x448]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor eax, eax
and ebx, 0xfffff
push eax
push eax
push dword [ebp - 0x28]
mov ecx, ebx
push dword [ebp - 0x3c]
or ecx, 0x10100000
push ecx
push dword [ebp - 0x440]
mov dword [ebp - 0x460], ecx
mov ecx, edi
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0x17
push dword [ebp - 0x28]
mov eax, ebx
mov ecx, edi
push dword [ebp - 0x3c]
or eax, 0x20200000
push dword [ebp - 0x38]
mov dword [ebp - 0xc], eax
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0x17
push dword [ebp - 0x3c]
mov ecx, edi
push dword [ebp - 0x28]
push dword [ebp - 0x34]
push dword [ebp - 0xc]
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0x1a
push 0
push dword [ebp - 0x34]
mov ecx, edi
push dword [ebp - 0x30]
push dword [ebp - 0x460]
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0x12
push dword [ebp - 0x30]
push dword [ebp - 0x38]
jmp 0x1014b03f
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
push ebx
push edx
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
xor ebx, ebx
push ebx
push edx
jmp 0x1014b150
cmp dword [ebp - 0x18], 0
je 0x101515a1
mov ebx, dword [ebp - 0x3c]
xor ecx, ecx
mov eax, ebx
mul dword [ebp - 0x444]
seto cl
neg ecx
or ecx, eax
call fcn.1010328d
mov esi, eax
mov dword [ebp - 0x24], esi
test esi, esi
je 0x10150647
xor ecx, ecx
mov eax, ebx
mul dword [ebp - 0x444]
seto cl
neg ecx
or ecx, eax
call fcn.1010328d
mov edx, eax
mov dword [ebp - 0x20], edx
test edx, edx
je 0x10150647
push ebx
push esi
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push edx
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push edx
push dword [ebp - 0x24]
mov ecx, edi
push dword [ebp - 0x28]
push dword [ebp - 0x440]
call fcn.10153917
jmp 0x1014af40
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
fld qword [0x10039c78]
mov esi, dword [edi + 8]
call sub.msvcrt.dll__CIlog
fld1
xor eax, eax
fdivrp st(1)
push ecx
push ecx
mov ecx, esi
fstp qword [esp]
push eax
push eax
push dword [esi + 0x78]
call fcn.101a18b9
mov ecx, dword [edi + 8]
xor esi, esi
fld qword [0x10039b48]
push ecx
push ecx
fstp qword [esp]
push esi
push esi
push dword [ecx + 0x78]
mov dword [ebp - 0xc], eax
call fcn.101a18b9
mov ecx, ebx
mov dword [ebp - 0x460], eax
shl ecx, 3
push ecx
mov ecx, edi
call fcn.10155e5c
test eax, eax
je 0x10150647
mov ecx, ebx
shl ecx, 2
mov dword [ebp + esi*4 - 0x4c], eax
inc esi
add eax, ecx
cmp esi, 8
jb 0x1014fe9c
test ebx, ebx
je 0x1014fed2
mov ecx, dword [ebp - 0x34]
mov edx, ebx
mov eax, dword [ebp - 0x30]
sub ecx, eax
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 0x460]
mov dword [ecx + eax], esi
mov dword [eax], edi
lea eax, [eax + 4]
sub edx, 1
jne 0x1014febf
mov edi, dword [ebp - 0x458]
push ebx
push dword [ebp - 0x4c]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x48]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x44]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x40]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x3c]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x38]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x448]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
push dword [ebp - 0x34]
and ebx, 0xfffff
mov ecx, edi
push dword [ebp - 0x28]
mov eax, ebx
push dword [ebp - 0x4c]
or eax, 0x20500000
push eax
push dword [ebp - 0x440]
mov dword [ebp - 0x474], eax
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
mov eax, ebx
mov ecx, edi
push 0
push dword [ebp - 0x4c]
or eax, 0x10500000
push dword [ebp - 0x48]
mov dword [ebp - 0xc], eax
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor eax, eax
mov ecx, ebx
push eax
push eax
push dword [ebp - 0x4c]
or ecx, 0x10100000
push dword [ebp - 0x44]
mov dword [ebp - 0x460], ecx
push ecx
push dword [ebp - 0x440]
mov ecx, edi
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
mov ecx, edi
push 0
push dword [ebp - 0x44]
push dword [ebp - 0x40]
push dword [ebp - 0xc]
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 8
push 0
push dword [ebp - 0x40]
mov ecx, edi
push dword [ebp - 0x3c]
push dword [ebp - 0x460]
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
push dword [ebp - 0x3c]
or ebx, 0x20400000
mov ecx, edi
push dword [ebp - 0x48]
push dword [ebp - 0x38]
push ebx
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
push dword [ebp - 0x30]
push dword [ebp - 0x38]
push dword [ebp - 0x448]
push dword [ebp - 0x474]
jmp 0x1014aa55
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
cmp dword [ebp - 0x10], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov ecx, dword [edi + 8]
fld qword [0x10039f40]
push ecx
push ecx
fstp qword [esp]
push esi
push esi
push dword [ecx + 0x78]
call fcn.101a18b9
mov ecx, dword [edi + 8]
fld qword [0x10039c80]
push ecx
push ecx
fstp qword [esp]
push esi
push esi
push dword [ecx + 0x78]
mov dword [ebp - 0xc], eax
call fcn.101a18b9
imul ecx, ebx, 0xe
mov dword [ebp - 0x460], eax
push ecx
mov ecx, edi
call fcn.10155e5c
test eax, eax
je 0x10150647
mov edx, ebx
mov ecx, esi
shl edx, 2
mov dword [ebp + ecx*4 - 0x88], eax
inc ecx
add eax, edx
cmp ecx, 0xe
jb 0x10150149
mov edx, esi
push ebx
push dword [ebp + edx*4 - 0x88]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
inc edx
cmp edx, 0xa
jb 0x1015015a
mov eax, dword [ebp - 0x5c]
test ebx, ebx
je 0x101501e0
mov edx, dword [ebp - 0x60]
mov ecx, eax
mov esi, dword [ebp - 0x58]
sub edx, eax
mov edi, dword [ebp - 0x54]
sub esi, eax
mov dword [ebp - 0x450], edi
sub dword [ebp - 0x450], eax
mov edi, dword [ebp - 0x458]
mov dword [ebp - 0x44c], ebx
mov ebx, dword [ebp - 0x450]
mov eax, dword [edi + 0x24]
mov dword [edx + ecx], eax
mov eax, dword [edi + 0x20]
mov dword [ecx], eax
mov eax, dword [ebp - 0xc]
mov dword [esi + ecx], eax
mov eax, dword [ebp - 0x460]
mov dword [ebx + ecx], eax
add ecx, dword [ebp - 0x444]
sub dword [ebp - 0x44c], 1
jne 0x101501b1
mov ebx, dword [ebp - 0x468]
push ebx
push dword [ebp - 0x448]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor eax, eax
and ebx, 0xfffff
push eax
push eax
push dword [ebp - 0x28]
mov eax, ebx
mov ecx, edi
push dword [ebp - 0x88]
or eax, 0x10100000
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
push dword [ebp - 0x88]
mov eax, ebx
mov ecx, edi
push dword [ebp - 0x24]
or eax, 0x20400000
push dword [ebp - 0x84]
mov dword [ebp - 0x44c], eax
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
push dword [ebp - 0x88]
mov ecx, edi
push dword [ebp - 0x20]
push dword [ebp - 0x80]
push dword [ebp - 0x44c]
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor eax, eax
mov ecx, edi
push eax
push eax
push dword [ebp - 0x84]
mov eax, ebx
push dword [ebp - 0x7c]
or eax, 0x10300000
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
push dword [ebp - 0x7c]
mov eax, ebx
mov ecx, edi
push dword [ebp - 0x80]
or eax, 0x20500000
push dword [ebp - 0x78]
mov dword [ebp - 0x450], eax
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
mov eax, ebx
mov ecx, edi
push dword [ebp - 0x60]
or eax, 0x20100000
push dword [ebp - 0x78]
push dword [ebp - 0x74]
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0x14
push dword [ebp - 0x5c]
or ebx, 0x20000000
mov ecx, edi
push dword [ebp - 0x74]
push dword [ebp - 0x70]
push ebx
mov ebx, dword [ebp - 0x440]
push ebx
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 8
push dword [ebp - 0x58]
mov ecx, edi
push dword [ebp - 0x70]
push dword [ebp - 0x6c]
push dword [ebp - 0x450]
push ebx
call fcn.1015619d
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
push dword [ebp - 0x54]
mov ecx, edi
push dword [ebp - 0x6c]
push dword [ebp - 0x68]
push dword [ebp - 0x44c]
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push 0x14
push dword [ebp - 0x70]
mov ecx, edi
push dword [ebp - 0x70]
push dword [ebp - 0x64]
push dword [ebp - 0x450]
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
push dword [ebp - 0x64]
push dword [ebp - 0x68]
push dword [ebp - 0x448]
push dword [ebp - 0x450]
jmp 0x1014aa55
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
push ebx
mov ecx, edi
call fcn.10155e5c
mov edx, eax
mov dword [ebp - 0xc], edx
test edx, edx
je 0x10150647
push ebx
push edx
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x448]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
and ebx, 0xfffff
mov ecx, edi
push 0
push dword [ebp - 0x28]
mov eax, ebx
push edx
or eax, 0x10700000
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
or ebx, 0x10300000
push 0
push dword [ebp - 0xc]
jmp 0x1014a819
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
push ebx
push edx
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0x17
push dword [ebp - 0x28]
and ebx, 0xfffff
push dword [ebp - 0x24]
or ebx, 0x20300000
jmp 0x1014b5dd
cmp dword [ebp - 0x18], 0
je 0x101515a1
imul eax, ebx, 3
mov ecx, edi
push eax
call fcn.10155e5c
test eax, eax
je 0x10150647
mov ecx, ebx
shl ecx, 2
mov dword [ebp + esi*4 - 0x14], eax
inc esi
add eax, ecx
cmp esi, 3
jb 0x10150520
push ebx
push dword [ebp - 0x14]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x10]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0xc]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x448]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x10]
mov ecx, edi
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x440]
call fcn.10153917
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor eax, eax
and ebx, 0xfffff
push eax
push eax
push dword [ebp - 0x10]
mov eax, ebx
mov ecx, edi
push dword [ebp - 0xc]
or eax, 0x10300000
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
push dword [ebp - 0xc]
push dword [ebp - 0x14]
jmp 0x1014da09
cmp dword [ebp - 0x18], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
fld qword [0x10039c78]
mov esi, dword [edi + 8]
call sub.msvcrt.dll__CIlog
fld1
xor eax, eax
fdivrp st(1)
push ecx
push ecx
mov ecx, esi
fstp qword [esp]
push eax
push eax
push dword [esi + 0x78]
call fcn.101a18b9
imul ecx, ebx, 9
mov dword [ebp - 0xc], eax
push ecx
mov ecx, edi
call fcn.10155e5c
mov ecx, eax
test ecx, ecx
jne 0x10150651
mov esi, 0x8007000e
jmp 0x101515a6
xor edx, edx
mov esi, ebx
mov eax, edx
shl esi, 2
mov dword [ebp + eax*4 - 0x50], ecx
inc eax
add ecx, esi
cmp eax, 9
jb 0x1015065a
test ebx, ebx
je 0x1015067a
mov edi, dword [ebp - 0x30]
mov ecx, ebx
mov eax, dword [ebp - 0xc]
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
push ebx
push dword [ebp - 0x50]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x4c]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x48]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x44]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x40]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x3c]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x38]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x34]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push ebx
push dword [ebp - 0x448]
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push edx
push dword [ebp - 0x30]
and ebx, 0xfffff
mov ecx, edi
push dword [ebp - 0x28]
mov eax, ebx
push dword [ebp - 0x50]
or eax, 0x20500000
push eax
push dword [ebp - 0x440]
mov dword [ebp - 0x474], eax
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
mov eax, ebx
mov ecx, edi
push 0
push dword [ebp - 0x50]
or eax, 0x10500000
push dword [ebp - 0x4c]
mov dword [ebp - 0xc], eax
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor eax, eax
mov ecx, ebx
push eax
push eax
push dword [ebp - 0x50]
or ecx, 0x10100000
push dword [ebp - 0x48]
mov dword [ebp - 0x460], ecx
push ecx
push dword [ebp - 0x440]
mov ecx, edi
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
mov ecx, edi
push 0
push dword [ebp - 0x48]
push dword [ebp - 0x44]
push dword [ebp - 0xc]
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 8
push 0
push dword [ebp - 0x44]
mov ecx, edi
push dword [ebp - 0x40]
push dword [ebp - 0x460]
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push 0
push dword [ebp - 0x40]
mov eax, ebx
mov ecx, edi
push dword [ebp - 0x4c]
or eax, 0x20400000
push dword [ebp - 0x3c]
mov dword [ebp - 0xc], eax
push eax
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
mov ecx, edi
push dword [ebp - 0x44]
push dword [ebp - 0x4c]
push dword [ebp - 0x38]
push dword [ebp - 0xc]
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
push dword [ebp - 0x444]
or ebx, 0x10300000
mov ecx, edi
push 0
push dword [ebp - 0x38]
push dword [ebp - 0x34]
push ebx
push dword [ebp - 0x440]
call fcn.1015619d
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
push dword [ebp - 0x34]
push dword [ebp - 0x3c]
push dword [ebp - 0x448]
push dword [ebp - 0x474]
jmp 0x1014aa55
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov edx, dword [ebp - 0x24]
mov ecx, esi
mov ebx, dword [ebp - 0x28]
mov eax, dword [ebx]
mov dword [ebp + ecx*4 - 0x12c], eax
mov eax, dword [edx]
mov dword [ebp + ecx*4 - 0x124], eax
inc ecx
cmp ecx, 2
jb 0x10150932
mov eax, dword [edx]
mov ecx, edi
mov dword [ebp - 0x51c], eax
lea eax, [ebp - 0x51c]
push 1
push eax
push esi
call fcn.101574fe
mov eax, dword [edi + 8]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x450], edx
mov ecx, dword [edx + eax*4]
mov eax, dword [edi + 8]
mov dword [ebp - 0x44c], ecx
mov ebx, dword [ecx + 4]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0xc], ebx
mov eax, dword [eax + ebx*4]
mov ebx, dword [ebp - 0x468]
test byte [eax + 4], 0x10
je 0x10150a33
cmp dword [ecx + 0x10], esi
jne 0x10150a33
mov eax, dword [edi + 8]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x454], ecx
test ecx, ecx
je 0x10150a12
mov eax, dword [ebp - 0x454]
xor ecx, ecx
inc ecx
mov edx, dword [edx]
mov ebx, dword [ebp - 0xc]
cmp ebx, dword [edx + 4]
mov ebx, dword [ebp - 0x468]
jne 0x101509f6
mov eax, dword [ebp - 0x44c]
mov eax, dword [eax + 8]
cmp eax, dword [edx + 8]
jne 0x101509f0
mov eax, dword [ebp - 0x44c]
mov eax, dword [eax + 0xc]
cmp eax, dword [edx + 0xc]
jne 0x101509f0
cmp dword [edx + 0x10], ecx
je 0x10150a0c
mov eax, dword [ebp - 0x454]
mov edx, dword [ebp - 0x450]
inc esi
add edx, 4
mov dword [ebp - 0x450], edx
cmp esi, eax
jb 0x101509bf
jmp 0x10150a12
mov dword [ebp - 0x120], esi
mov eax, dword [edi + 8]
cmp esi, dword [eax + 8]
jne 0x10150a33
push 0x10032e60
push 0xdb5
push dword [ebp - 0x440]
push edi
call fcn.101595bf
add esp, 0x10
mov edx, dword [ebp - 0x448]
push ebx
push edx
call fcn.10155f97
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
lea eax, [ebp - 0x124]
push eax
lea eax, [ebp - 0x12c]
push eax
push edx
push 0x60000002
jmp 0x1014ba65
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
cmp dword [ebp - 0x10], 0
je 0x101515a1
cmp dword [ebp - 0xc], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov eax, dword [edx]
mov dword [ebp + esi*4 - 0x2b0], eax
mov eax, dword [ebx]
mov dword [ebp + esi*4 - 0x2a8], eax
mov eax, dword [edi]
mov dword [ebp + esi*4 - 0x2a0], eax
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x298], eax
inc esi
cmp esi, 2
jb 0x10150aa8
mov ebx, dword [ebp - 0x468]
mov edx, dword [ebp - 0x448]
push ebx
push edx
call fcn.10155f97
mov edi, dword [ebp - 0x458]
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor ebx, ebx
lea eax, [ebp - 0x2a8]
push ebx
push eax
lea eax, [ebp - 0x2b0]
push eax
push edx
push 0x60100002
jmp 0x1014ba65
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x444]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x348], eax
inc esi
cmp esi, edi
jb 0x10150b3c
push ebx
push edx
call fcn.10155f97
mov edi, dword [ebp - 0x458]
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor ebx, ebx
lea eax, [ebp - 0x348]
push ebx
push dword [ebp - 0x24]
push eax
push edx
push 0x60200004
jmp 0x1014ba65
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x444]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x358], eax
inc esi
cmp esi, edi
jb 0x10150ba4
push ebx
push edx
call fcn.10155f97
mov edi, dword [ebp - 0x458]
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor ebx, ebx
lea eax, [ebp - 0x358]
push ebx
push dword [ebp - 0x24]
push eax
push edx
push 0x60300004
jmp 0x1014ba65
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x444]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x368], eax
inc esi
cmp esi, edi
jb 0x10150c0c
push ebx
push edx
call fcn.10155f97
mov edi, dword [ebp - 0x458]
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor ebx, ebx
lea eax, [ebp - 0x368]
push ebx
push dword [ebp - 0x24]
push eax
push edx
push 0x60400004
jmp 0x1014ba65
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x540], eax
inc esi
cmp esi, 2
jb 0x10150c6e
push ebx
push edx
call fcn.10155f97
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
push dword [ebp - 0x24]
lea eax, [ebp - 0x540]
push eax
push edx
push 0x60500002
jmp 0x1014ba65
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
cmp dword [ebp - 0x10], 0
je 0x101515a1
cmp dword [ebp - 0xc], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x2c8]
sub eax, ecx
mov dword [ebp - 0x44c], 2
mov dword [ebp - 0x450], eax
lea esi, [ebp - 0x2d0]
mov eax, dword [ebp - 0x20]
sub esi, ecx
mov edi, dword [ebp - 0x450]
sub eax, ecx
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x2c0]
mov edx, dword [ebp - 0xc]
sub eax, ecx
mov dword [ebp - 0x460], eax
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x460]
sub eax, ecx
mov dword [ebp - 0x474], eax
lea eax, [ebp - 0x2b8]
sub eax, ecx
mov dword [ebp - 0x46c], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [esi + ecx], eax
mov eax, dword [ecx]
mov dword [edi + ecx], eax
mov eax, dword [edx + ecx]
mov edi, dword [ebp - 0x46c]
mov dword [ebx + ecx], eax
mov eax, dword [ebp - 0x474]
mov eax, dword [eax + ecx]
mov dword [edi + ecx], eax
add ecx, dword [ebp - 0x444]
sub dword [ebp - 0x44c], 1
mov edi, dword [ebp - 0x450]
jne 0x10150d3d
mov ebx, dword [ebp - 0x468]
mov edx, dword [ebp - 0x448]
push ebx
push edx
call fcn.10155f97
mov edi, dword [ebp - 0x458]
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor ebx, ebx
lea eax, [ebp - 0x2c8]
push ebx
push eax
lea eax, [ebp - 0x2d0]
push eax
push edx
push 0x60600002
jmp 0x1014ba65
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x444]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x398], eax
inc esi
cmp esi, edi
jb 0x10150de1
push ebx
push edx
call fcn.10155f97
mov edi, dword [ebp - 0x458]
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor ebx, ebx
lea eax, [ebp - 0x398]
push ebx
push dword [ebp - 0x24]
push eax
push edx
push 0x60700004
jmp 0x1014ba65
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x444]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x3a8], eax
inc esi
cmp esi, edi
jb 0x10150e49
push ebx
push edx
call fcn.10155f97
mov edi, dword [ebp - 0x458]
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor ebx, ebx
lea eax, [ebp - 0x3a8]
push ebx
push dword [ebp - 0x24]
push eax
push edx
push 0x60800004
jmp 0x1014ba65
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x444]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x378], eax
inc esi
cmp esi, edi
jb 0x10150eb1
push ebx
push edx
call fcn.10155f97
mov edi, dword [ebp - 0x458]
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor ebx, ebx
lea eax, [ebp - 0x378]
push ebx
push dword [ebp - 0x24]
push eax
push edx
push 0x60900004
jmp 0x1014ba65
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x318], eax
inc esi
cmp esi, 3
jb 0x10150f13
push ebx
push edx
call fcn.10155f97
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
push dword [ebp - 0x24]
lea eax, [ebp - 0x318]
push eax
push edx
push 0x60a00003
jmp 0x1014ba65
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
cmp dword [ebp - 0x10], 0
je 0x101515a1
cmp dword [ebp - 0xc], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x3fc]
sub eax, ecx
mov dword [ebp - 0x44c], 3
mov dword [ebp - 0x450], eax
lea esi, [ebp - 0x408]
mov eax, dword [ebp - 0x20]
sub esi, ecx
mov edi, dword [ebp - 0x450]
sub eax, ecx
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x3f0]
mov ebx, dword [ebp - 0xc]
sub eax, ecx
mov dword [ebp - 0x460], eax
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x460]
sub eax, ecx
mov dword [ebp - 0x474], eax
lea eax, [ebp - 0x3e4]
sub eax, ecx
mov dword [ebp - 0x46c], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [esi + ecx], eax
mov eax, dword [ecx]
mov dword [edi + ecx], eax
mov eax, dword [ecx + ebx]
mov edi, dword [ebp - 0x46c]
mov dword [edx + ecx], eax
mov eax, dword [ebp - 0x474]
mov eax, dword [ecx + eax]
mov dword [edi + ecx], eax
add ecx, dword [ebp - 0x444]
sub dword [ebp - 0x44c], 1
mov edi, dword [ebp - 0x450]
jne 0x10150fe2
mov ebx, dword [ebp - 0x468]
mov edx, dword [ebp - 0x448]
push ebx
push edx
call fcn.10155f97
mov edi, dword [ebp - 0x458]
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor ebx, ebx
lea eax, [ebp - 0x3fc]
push ebx
push eax
lea eax, [ebp - 0x408]
push eax
push edx
push 0x60b00003
jmp 0x1014ba65
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x444]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x338], eax
inc esi
cmp esi, edi
jb 0x10151086
push ebx
push edx
call fcn.10155f97
mov edi, dword [ebp - 0x458]
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor ebx, ebx
lea eax, [ebp - 0x338]
push ebx
push dword [ebp - 0x24]
push eax
push edx
push 0x60c00004
jmp 0x1014ba65
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x444]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x388], eax
inc esi
cmp esi, edi
jb 0x101510ee
push ebx
push edx
call fcn.10155f97
mov edi, dword [ebp - 0x458]
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor ebx, ebx
lea eax, [ebp - 0x388]
push ebx
push dword [ebp - 0x24]
push eax
push edx
push 0x60d00004
jmp 0x1014ba65
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x444]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x3b8], eax
inc esi
cmp esi, edi
jb 0x10151156
push ebx
push edx
call fcn.10155f97
mov edi, dword [ebp - 0x458]
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor ebx, ebx
lea eax, [ebp - 0x3b8]
push ebx
push dword [ebp - 0x24]
push eax
push edx
push 0x60e00004
jmp 0x1014ba65
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x30c], eax
inc esi
cmp esi, 3
jb 0x101511b8
push ebx
push edx
call fcn.10155f97
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push ebx
push dword [ebp - 0x24]
lea eax, [ebp - 0x30c]
push eax
push edx
push 0x60f00003
jmp 0x1014ba65
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
cmp dword [ebp - 0x10], 0
je 0x101515a1
cmp dword [ebp - 0xc], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x42c]
sub eax, ecx
mov dword [ebp - 0x44c], 3
mov dword [ebp - 0x450], eax
lea esi, [ebp - 0x438]
mov eax, dword [ebp - 0x20]
sub esi, ecx
mov edi, dword [ebp - 0x450]
sub eax, ecx
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x420]
mov ebx, dword [ebp - 0xc]
sub eax, ecx
mov dword [ebp - 0x460], eax
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x460]
sub eax, ecx
mov dword [ebp - 0x474], eax
lea eax, [ebp - 0x414]
sub eax, ecx
mov dword [ebp - 0x46c], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [esi + ecx], eax
mov eax, dword [ecx]
mov dword [edi + ecx], eax
mov eax, dword [ecx + ebx]
mov edi, dword [ebp - 0x46c]
mov dword [edx + ecx], eax
mov eax, dword [ebp - 0x474]
mov eax, dword [ecx + eax]
mov dword [edi + ecx], eax
add ecx, dword [ebp - 0x444]
sub dword [ebp - 0x44c], 1
mov edi, dword [ebp - 0x450]
jne 0x10151287
mov ebx, dword [ebp - 0x468]
mov edx, dword [ebp - 0x448]
push ebx
push edx
call fcn.10155f97
mov edi, dword [ebp - 0x458]
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor ebx, ebx
lea eax, [ebp - 0x42c]
push ebx
push eax
lea eax, [ebp - 0x438]
push eax
push edx
push 0x61000003
jmp 0x1014ba65
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x444]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x3c8], eax
inc esi
cmp esi, edi
jb 0x1015132b
push ebx
push edx
call fcn.10155f97
mov edi, dword [ebp - 0x458]
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor ebx, ebx
lea eax, [ebp - 0x3c8]
push ebx
push dword [ebp - 0x24]
push eax
push edx
push 0x61100004
jmp 0x1014ba65
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x444]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x328], eax
inc esi
cmp esi, edi
jb 0x10151393
push ebx
push edx
call fcn.10155f97
mov edi, dword [ebp - 0x458]
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor ebx, ebx
lea eax, [ebp - 0x328]
push ebx
push dword [ebp - 0x24]
push eax
push edx
push 0x61200004
jmp 0x1014ba65
cmp dword [ebp - 0x18], 0
je 0x101515a1
cmp dword [ebp - 0x14], 0
je 0x101515a1
test edx, edx
je 0x1014b6d9
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x444]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x3d8], eax
inc esi
cmp esi, edi
jb 0x101513fb
push ebx
push edx
call fcn.10155f97
mov edi, dword [ebp - 0x458]
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ac
xor ebx, ebx
lea eax, [ebp - 0x3d8]
push ebx
push dword [ebp - 0x24]
push eax
push edx
push 0x61300004
jmp 0x1014ba65
mov esi, dword [ebp - 0x18]
test esi, esi
je 0x101515a1
xor ebx, ebx
test edx, edx
je 0x1014b6db
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x454], ebx
test eax, eax
je 0x1014b6db
mov ecx, dword [esi + 0x14]
mov edi, dword [ebp - 0x440]
mov dword [ebp - 0x44c], ecx
mov ecx, ebx
mov dword [ebp - 0x450], ecx
cmp dword [ebp - 0x44c], ecx
jbe 0x101514cb
mov eax, dword [esi + 0x18]
mov edx, dword [ebp - 0x28]
imul eax, ecx
mov ecx, dword [edi + 0x18]
imul ecx, dword [ebp - 0x454]
add eax, dword [ebp - 0x454]
add ecx, dword [ebp - 0x450]
mov eax, dword [edx + eax*4]
mov edx, dword [ebp - 0x448]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x450]
mov eax, dword [esi + 0x14]
inc ecx
mov dword [ebp - 0x450], ecx
mov dword [ebp - 0x44c], eax
cmp ecx, eax
jb 0x10151483
mov eax, dword [esi + 0x18]
mov ecx, dword [ebp - 0x454]
inc ecx
mov dword [ebp - 0x454], ecx
cmp ecx, eax
jb 0x10151473
mov edi, dword [ebp - 0x458]
jmp 0x1014b6db
cmp dword [ebp - 0x18], 0
je 0x101515a1
xor ebx, ebx
test edx, edx
je 0x1014b6db
mov ecx, dword [edi + 8]
fld qword [0x10039da8]
push ecx
push ecx
fstp qword [esp]
push ebx
push ebx
push dword [ecx + 0x78]
call fcn.101a18b9
mov edx, dword [ebp - 0x28]
push dword [ebp - 0x444]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x16c], ecx
mov ecx, dword [edx + 4]
mov dword [ebp - 0x168], ecx
mov ecx, dword [edx]
mov dword [ebp - 0x164], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [ebp - 0x448]
push edx
mov dword [ebp - 0x160], ecx
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x180], eax
call fcn.10155f97
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
js 0x101515ae
push 6
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x16c]
push eax
push edx
push 0x20500004
jmp 0x1014ba65
push dword [ecx + 0x38]
push 0x10032eb4
push 0xdac
push ecx
push edi
call fcn.10159548
add esp, 0x14
mov esi, 0x80004005
mov dword [ebp - 0x43c], esi
xor ebx, ebx
mov eax, dword [ebp - 0x524]
mov esi, dword [ebp - 0x444]
mov dword [edi + 0x1c], eax
mov eax, dword [ebp - 0x528]
mov dword [edi + 0x64], eax
push dword [ebp + ebx*4 - 0x28]
call dword [sym.imp.PhotoBase.dll_void___cdecl_BasePrivate::Delete_void__]
inc ebx
pop ecx
cmp ebx, esi
jb 0x101515c6
mov eax, dword [ebp - 0x43c]
jmp 0x101515e3
mov eax, 0x80004005
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.101b6170
mov esp, ebp
pop ebp
ret 8