Function at 0x6f1cce
Capabilities:
Parse pe header

Disassembly:
mov eax, 0xc29e28
call fcn.00be12c8
sub esp, 0x2ec
push ebx
push esi
push edi
mov dword [ebp - 0x84], ecx
xor ebx, ebx
mov dword [ebp - 4], ebx
call fcn.006f39d6
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov edi, 0xd8d000
push edi
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 2
call fcn.00402fdb
push edi
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 3
call fcn.00402fdb
push ebx
push ebx
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 4
call fcn.004173e3
push ecx
mov ecx, esp
mov dword [ebp - 0x3c], esp
push eax
call fcn.004033d8
lea eax, [ebp - 0x118]
push eax
mov byte [ebp - 4], 4
call fcn.00406be3
mov ecx, eax
call fcn.004026d6
mov ecx, eax
call fcn.00403ae9
mov ecx, eax
mov byte [ebp - 4], 6
call fcn.00403308
cmp eax, ebx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], ebx
je 0x6f1d8e
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00405935
cmp eax, ebx
jge 0x6f1d8e
cmp eax, 0x80004002
je 0x6f1d8e
push eax
call fcn.00be0541
lea eax, [ebp - 0x118]
push eax
mov byte [ebp - 4], 0xa
call fcn.00402973
cmp eax, ebx
pop ecx
jge 0x6f1da9
push eax
call fcn.00be0541
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 9
call fcn.00402973
cmp eax, ebx
pop ecx
jge 0x6f1dc1
push eax
call fcn.00be0541
lea eax, [ebp - 0x98]
push eax
mov byte [ebp - 4], 8
call fcn.00402973
cmp eax, ebx
pop ecx
jge 0x6f1ddc
push eax
call fcn.00be0541
push ebx
push ecx
mov eax, esp
mov dword [ebp - 0x3c], esp
push 0x55a
push eax
call fcn.00877d11
mov ecx, eax
call fcn.00406a03
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 8
call fcn.00402691
mov ecx, eax
call fcn.00403881
push eax
mov byte [ebp - 4], 0xc
call fcn.004175f4
mov esi, eax
neg esi
sbb esi, esi
lea eax, [ebp - 0x7c]
neg esi
push eax
mov dword [ebp - 0x88], esi
mov byte [ebp - 4], 8
call fcn.00402973
add esp, 0xc
cmp eax, ebx
jge 0x6f1e3e
push eax
call fcn.00be0541
cmp esi, ebx
jne 0x6f1f07
xor esi, esi
cmp dword [ebp - 0x1c], ebx
jne 0x6f1e57
push 0x80004003
call fcn.00be0541
mov ecx, dword [ebp - 0x1c]
call fcn.00407dd3
cmp esi, eax
jae 0x6f1f07
push 0x20
pop eax
call fcn.00be1990
mov eax, esp
push ebx
push ebx
push eax
push esi
call fcn.004173e6
pop ecx
mov ecx, esp
mov dword [ebp - 0x3c], esp
push eax
call fcn.004033d8
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 8
call fcn.00402691
mov ecx, eax
call fcn.00403881
mov ecx, eax
mov byte [ebp - 4], 0xe
call fcn.00403308
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x60]
call fcn.0042258b
cmp eax, ebx
jge 0x6f1ec8
cmp eax, 0x80004002
je 0x6f1ec8
push eax
call fcn.00be0541
lea eax, [ebp - 0x7c]
push eax
mov byte [ebp - 4], 8
call fcn.00402973
cmp eax, ebx
pop ecx
jge 0x6f1ee0
push eax
call fcn.00be0541
push ebx
lea ecx, [ebp - 0x60]
call fcn.004172fd
test al, al
jne 0x6f1f01
push 0xffffffffffffffff
lea ecx, [ebp - 0x5c]
call fcn.004d7a02
push dword [ebp - 0x60]
mov ecx, eax
call fcn.0040590a
inc esi
jmp 0x6f1e48
push ebx
push ecx
mov eax, esp
mov dword [ebp - 0x3c], esp
push 0x567
push eax
call fcn.00877d11
mov ecx, eax
call fcn.00406a03
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 8
call fcn.00402691
mov ecx, eax
call fcn.00403881
push eax
mov byte [ebp - 4], 0x10
call fcn.004175f4
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0x7c]
push eax
mov byte [ebp - 4], 8
call fcn.00402973
add esp, 0xc
cmp eax, ebx
jge 0x6f1f67
push eax
call fcn.00be0541
push 0x64
push ecx
mov eax, esp
mov dword [ebp - 0x3c], esp
push 0x33c
push eax
call fcn.00877d11
mov ecx, eax
call fcn.00406a03
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 8
call fcn.00402691
mov ecx, eax
call fcn.00403881
push eax
mov byte [ebp - 4], 0x12
call fcn.004175f4
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0x7c]
push eax
mov byte [ebp - 4], 8
call fcn.00402973
add esp, 0xc
cmp eax, ebx
jge 0x6f1fc2
push eax
call fcn.00be0541
push ebx
push ecx
mov eax, esp
mov dword [ebp - 0x3c], esp
push 0xddf
push eax
call fcn.00877d11
mov ecx, eax
call fcn.00406a03
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 8
call fcn.00402691
mov ecx, eax
call fcn.00403881
push eax
mov byte [ebp - 4], 0x14
call fcn.004175f4
mov esi, eax
neg esi
lea eax, [ebp - 0x7c]
sbb esi, esi
push eax
neg esi
mov byte [ebp - 4], 8
call fcn.00402973
add esp, 0xc
cmp eax, ebx
jge 0x6f201e
push eax
call fcn.00be0541
cmp esi, ebx
je 0x6f2084
push 0x64
push ecx
mov eax, esp
mov dword [ebp - 0x3c], esp
push 0x1876
push eax
call fcn.00877d11
mov ecx, eax
call fcn.00406a03
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 8
call fcn.00402691
mov ecx, eax
call fcn.00403881
push eax
mov byte [ebp - 4], 0x16
call fcn.004175f4
mov esi, eax
call fcn.00be246d
cdq
push 0x19
pop ecx
idiv ecx
push 0x64
pop ecx
mov byte [ebp - 4], 8
add edx, 0x1e
imul esi, edx
mov eax, esi
cdq
idiv ecx
mov dword [ebp - 0x6c], eax
lea eax, [ebp - 0x7c]
jmp 0x6f20c8
push ebx
push ecx
mov eax, esp
mov dword [ebp - 0x3c], esp
push 0x1876
push eax
call fcn.00877d11
mov ecx, eax
call fcn.00406a03
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 8
call fcn.00402691
mov ecx, eax
call fcn.00403881
push eax
mov byte [ebp - 4], 0x18
call fcn.004175f4
mov dword [ebp - 0x6c], eax
mov byte [ebp - 4], 8
lea eax, [ebp - 0x7c]
push eax
call fcn.00402973
add esp, 0xc
cmp eax, ebx
jge 0x6f20db
push eax
call fcn.00be0541
cmp dword [ebp - 0x6c], ebx
jne 0x6f2283
push edi
lea ecx, [ebp - 0x108]
call fcn.00402fdb
push 3
push ebx
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x19
call fcn.00403001
cmp dword [0xd87954], ebx
mov byte [ebp - 4], 0x1a
jne 0x6f2118
push 0x80004003
call fcn.00be0541
mov ecx, dword [0xd87954]
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0xf8]
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp + 0x10]
push eax
call fcn.0042bac5
lea eax, [ebp - 0xf8]
push eax
mov byte [ebp - 4], 0x1d
call fcn.00402973
cmp eax, ebx
pop ecx
jge 0x6f2155
push eax
call fcn.00be0541
lea eax, [ebp - 0x108]
push eax
mov byte [ebp - 4], 0x1c
call fcn.00402973
cmp eax, ebx
pop ecx
jge 0x6f2170
push eax
call fcn.00be0541
push edi
lea ecx, [ebp - 0x50]
call fcn.00402fdb
push edi
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x1e
call fcn.00402fdb
cmp dword [ebp + 0x10], ebx
mov byte [ebp - 4], 0x1f
jne 0x6f219c
push 0x80004003
call fcn.00be0541
mov ecx, dword [ebp + 0x10]
lea eax, [ebp + 0xc]
push eax
call fcn.004170e0
mov esi, eax
cmp dword [esi], ebx
mov byte [ebp - 4], 0x20
jne 0x6f21bc
push 0x80004003
call fcn.00be0541
mov ecx, dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x50]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edx, dword [ecx]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x98]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, 0xff
push eax
movsd dword es:[edi], dword [esi]
push eax
push ecx
mov dword [ebp + 0x14], ecx
movsd dword es:[edi], dword [esi]
call dword [edx + 0x90]
cmp eax, ebx
jge 0x6f21fe
push 0xd3bb88
push dword [ebp + 0x14]
push eax
call fcn.00be054f
lea ecx, [ebp + 0xc]
call fcn.004185f1
lea eax, [ebp - 0x98]
push eax
mov byte [ebp - 4], 0x1e
call fcn.00402973
cmp eax, ebx
pop ecx
jge 0x6f2221
push eax
call fcn.00be0541
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 0x1c
call fcn.00402973
cmp eax, ebx
pop ecx
jge 0x6f2239
push eax
call fcn.00be0541
mov eax, dword [ebp - 0x84]
lea ecx, [eax + 0x64]
call fcn.004d78b2
push dword [ebp + 0x10]
mov ecx, eax
call fcn.0042d57d
lea ecx, [ebp + 0x10]
call fcn.00418618
lea ecx, [ebp - 0x1c]
call fcn.0040283f
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 1
call fcn.0042254f
lea ecx, [ebp - 0x60]
call fcn.004185fe
mov eax, dword [ebp + 8]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
jmp 0x6f38af
mov ecx, dword [ebp + 0x14]
imul ecx, ecx, 0x1f40
mov eax, 0xc350
sub eax, ecx
cmp dword [ebp - 0x6c], ebx
mov dword [ebp + 0x14], eax
mov dword [ebp - 0x64], ebx
jle 0x6f388a
mov ebx, dword [ebp - 0x28]
mov edi, 0x190
mov esi, 0x12c
jmp 0x6f22be
mov ebx, dword [ebp - 0x28]
mov edi, 0x190
mov esi, 0x12c
call fcn.00be246d
cdq
push 4
pop ecx
idiv ecx
mov dword [ebp - 0x14], edx
call fcn.00be246d
cdq
push 4
pop ecx
idiv ecx
mov eax, dword [ebp - 0x14]
imul eax, edx
add eax, 0xf
mov dword [ebp - 0x40], eax
call fcn.00be246d
cdq
mov ecx, 0x168
idiv ecx
mov dword [ebp - 0x38], edx
call fcn.00be246d
cdq
mov ecx, 0xbb8
idiv ecx
add edx, ecx
cmp dword [ebp - 0x88], 0
mov dword [ebp - 0xc4], edx
jne 0x6f2332
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x6f231d
and dword [ebp - 0x2c], eax
jmp 0x6f2323
mov eax, dword [eax - 4]
mov dword [ebp - 0x2c], eax
call fcn.00be246d
xor edx, edx
div dword [ebp - 0x2c]
mov dword [ebp - 0x2c], edx
jmp 0x6f2336
and dword [ebp - 0x2c], 0
mov eax, dword [ebp + 0x10]
sub eax, 0
je 0x6f252c
dec eax
je 0x6f24e7
dec eax
je 0x6f24a2
dec eax
je 0x6f246f
dec eax
je 0x6f23fc
dec eax
je 0x6f2393
dec eax
jne 0x6f2572
call fcn.00be246d
cdq
mov ecx, 0x320
idiv ecx
sub edx, edi
mov dword [ebp - 0x20], edx
call fcn.00be246d
cdq
mov ecx, 0x258
idiv ecx
mov ebx, edx
sub ebx, esi
mov dword [ebp - 0x28], ebx
jmp 0x6f2572
call fcn.00be246d
cdq
push 0x14
pop ecx
idiv ecx
add edx, 0x186
mov dword [ebp - 0x20], edx
call fcn.00be246d
fild dword [ebp - 0x38]
push 0x14
pop ecx
cdq
fst qword [ebp - 0x48]
idiv ecx
push ecx
push ecx
fstp qword [esp]
mov ebx, edx
add ebx, 0x122
mov dword [ebp - 0x28], ebx
call fcn.00be27a4
fmul qword [0xc86148]
fadd qword [0xc86138]
call fcn.00be26b4
fld qword [ebp - 0x48]
fstp qword [esp]
mov dword [ebp - 0x30], eax
call fcn.00be26f4
fmul qword [0xc86148]
pop ecx
pop ecx
fadd qword [0xc8a810]
jmp 0x6f2465
call fcn.00be246d
cdq
push 0x14
pop ecx
idiv ecx
add edx, 0x186
mov dword [ebp - 0x20], edx
call fcn.00be246d
fild dword [ebp - 0x38]
push 0x14
pop ecx
cdq
fst qword [ebp - 0x48]
idiv ecx
push ecx
push ecx
fstp qword [esp]
mov ebx, edx
add ebx, 0x24e
mov dword [ebp - 0x28], ebx
call fcn.00be27a4
fmul qword [0xc8a808]
fadd qword [0xc86138]
call fcn.00be26b4
fld qword [ebp - 0x48]
fstp qword [esp]
mov dword [ebp - 0x30], eax
call fcn.00be26f4
fstp qword [esp]
call fcn.00be293f
fmul qword [0xc8a808]
pop ecx
pop ecx
call fcn.00be26b4
jmp 0x6f256f
call fcn.00be246d
cdq
mov ecx, 0x320
idiv ecx
sub edx, edi
mov dword [ebp - 0x20], edx
call fcn.00be246d
cdq
mov ecx, 0x258
idiv ecx
mov eax, dword [ebp - 0x20]
mov ebx, edx
sub ebx, esi
add eax, 0x190
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], eax
jmp 0x6f24d1
call fcn.00be246d
cdq
mov ecx, 0x320
idiv ecx
sub edi, edx
mov dword [ebp - 0x20], edi
call fcn.00be246d
cdq
mov ecx, 0x258
idiv ecx
mov ebx, edx
sub ebx, esi
add edi, 0xfffffe70
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], edi
call fcn.00be246d
cdq
mov ecx, 0xc8
idiv ecx
lea eax, [edx + ebx - 0x64]
jmp 0x6f256f
call fcn.00be246d
cdq
mov ecx, 0x320
idiv ecx
sub edx, edi
mov dword [ebp - 0x20], edx
call fcn.00be246d
cdq
mov ecx, 0x258
idiv ecx
mov ebx, esi
sub ebx, edx
mov dword [ebp - 0x28], ebx
call fcn.00be246d
cdq
mov ecx, 0xc8
idiv ecx
mov eax, dword [ebp - 0x20]
lea eax, [edx + eax - 0x64]
mov dword [ebp - 0x30], eax
lea eax, [ebx - 0x12c]
jmp 0x6f256f
call fcn.00be246d
cdq
mov ecx, 0x320
idiv ecx
sub edx, edi
mov dword [ebp - 0x20], edx
call fcn.00be246d
cdq
mov ecx, 0x258
idiv ecx
mov ebx, edx
sub ebx, esi
mov dword [ebp - 0x28], ebx
call fcn.00be246d
cdq
mov ecx, 0xc8
idiv ecx
mov eax, dword [ebp - 0x20]
lea eax, [edx + eax - 0x64]
mov dword [ebp - 0x30], eax
lea eax, [ebx + 0x12c]
mov dword [ebp - 0x34], eax
and dword [ebp - 0x10], 0
cmp dword [ebp - 0x88], 0
mov byte [ebp - 4], 0x21
jne 0x6f27ad
mov esi, 0xd8d000
push esi
lea ecx, [ebp - 0xf8]
call fcn.00402fdb
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [eax + ecx*4]
push 1
push eax
lea ecx, [ebp - 0x108]
call fcn.00413c1f
xor edi, edi
cmp dword [0xd87954], edi
mov byte [ebp - 4], 0x23
jne 0x6f25c7
push 0x80004003
call fcn.00be0541
mov ecx, dword [0xd87954]
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0x108]
push eax
push 0xc0061508
push edi
push edi
push edi
push edi
lea eax, [ebp - 0xc0]
push eax
call fcn.0042bac5
push dword [eax]
lea ecx, [ebp - 0x10]
call fcn.0042d57d
lea ecx, [ebp - 0xc0]
call fcn.00418618
lea eax, [ebp - 0x108]
push eax
mov byte [ebp - 4], 0x22
call fcn.00402973
cmp eax, edi
pop ecx
jge 0x6f2620
push eax
call fcn.00be0541
lea eax, [ebp - 0xf8]
push eax
mov byte [ebp - 4], 0x21
call fcn.00402973
cmp eax, edi
pop ecx
jge 0x6f263b
push eax
call fcn.00be0541
push 0xff
push ecx
mov eax, esp
mov dword [ebp - 0x44], esp
push 0x1866
push eax
call fcn.00877d11
mov ecx, eax
call fcn.00406a03
lea eax, [ebp - 0xac]
push eax
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x24
call fcn.004d7a8d
mov ecx, eax
call fcn.004172e7
mov ecx, eax
call fcn.00403da9
lea ecx, [ebp - 0x2c8]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x26
call fcn.00402691
mov ecx, eax
call fcn.00403881
push eax
mov byte [ebp - 4], 0x27
call fcn.004175f4
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c8]
push eax
mov byte [ebp - 4], 0x26
call fcn.00402973
add esp, 0xc
cmp eax, edi
jge 0x6f26bf
push eax
call fcn.00be0541
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x21
call fcn.0040283f
push esi
lea ecx, [ebp - 0x168]
call fcn.00402fdb
push esi
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x28
call fcn.00402fdb
cmp dword [ebp - 0x10], edi
mov byte [ebp - 4], 0x29
jne 0x6f26fd
push 0x80004003
call fcn.00be0541
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0xcc]
push eax
call fcn.004170e0
mov esi, eax
cmp dword [esi], edi
mov byte [ebp - 4], 0x2a
jne 0x6f2720
push 0x80004003
call fcn.00be0541
mov eax, dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x168]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x98]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0
push dword [ebp - 0x2c]
movsd dword es:[edi], dword [esi]
push eax
mov dword [ebp - 0x14], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x90]
test eax, eax
jge 0x6f2763
push 0xd3bb88
push dword [ebp - 0x14]
push eax
call fcn.00be054f
lea ecx, [ebp - 0xcc]
call fcn.004185f1
lea eax, [ebp - 0x98]
push eax
mov byte [ebp - 4], 0x28
call fcn.00402973
test eax, eax
pop ecx
jge 0x6f2789
push eax
call fcn.00be0541
lea eax, [ebp - 0x168]
push eax
mov byte [ebp - 4], 0x21
call fcn.00402973
test eax, eax
pop ecx
jge 0x6f2a6a
push eax
call fcn.00be0541
jmp 0x6f2a6a
push 0xff
push ecx
mov eax, esp
mov dword [ebp - 0x44], esp
push 0x1866
push eax
call fcn.00877d11
mov ecx, eax
call fcn.00406a03
lea eax, [ebp - 0x2e8]
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x21
call fcn.00402691
mov ecx, eax
call fcn.00403881
push eax
mov byte [ebp - 4], 0x2c
call fcn.004175f4
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2e8]
push eax
mov byte [ebp - 4], 0x21
call fcn.00402973
xor esi, esi
add esp, 0xc
cmp eax, esi
jge 0x6f2810
push eax
call fcn.00be0541
xor edi, edi
push 0x20
pop eax
call fcn.00be1990
mov eax, esp
push esi
push esi
push eax
push edi
call fcn.004173e6
pop ecx
mov ecx, esp
mov dword [ebp - 0x44], esp
push eax
call fcn.004033d8
lea eax, [ebp - 0x2d8]
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x21
call fcn.00402691
mov ecx, eax
call fcn.00403881
mov ecx, eax
mov byte [ebp - 4], 0x2e
call fcn.00403308
cmp eax, esi
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0x68], esi
je 0x6f2883
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x68]
call fcn.00405935
cmp eax, esi
jge 0x6f2883
cmp eax, 0x80004002
je 0x6f2883
push eax
call fcn.00be0541
lea eax, [ebp - 0x2d8]
push eax
mov byte [ebp - 4], 0x30
call fcn.00402973
cmp eax, esi
pop ecx
jge 0x6f289e
push eax
call fcn.00be0541
cmp dword [ebp - 0x68], esi
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x68]
je 0x6f28b5
call fcn.0040283f
inc edi
jmp 0x6f2812
call fcn.0040283f
call fcn.00be246d
cdq
idiv edi
push 0x20
pop eax
mov edi, edx
call fcn.00be1990
mov eax, esp
push esi
push esi
push eax
push edi
call fcn.004173e6
pop ecx
mov ecx, esp
mov dword [ebp - 0x44], esp
push eax
call fcn.004033d8
lea eax, [ebp - 0x2f8]
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x21
call fcn.00402691
mov ecx, eax
call fcn.00403881
mov ecx, eax
mov byte [ebp - 4], 0x32
call fcn.00403308
cmp eax, esi
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x80], esi
je 0x6f2935
lea eax, [ebp - 0xe4]
push eax
lea ecx, [ebp - 0x80]
call fcn.00405935
cmp eax, esi
jge 0x6f2935
cmp eax, 0x80004002
je 0x6f2935
push eax
call fcn.00be0541
lea eax, [ebp - 0x2f8]
push eax
mov byte [ebp - 4], 0x34
call fcn.00402973
cmp eax, esi
pop ecx
jge 0x6f2950
push eax
call fcn.00be0541
push esi
push 0xff
push 0xc0061508
push ecx
mov ecx, esp
mov dword [ebp - 0x44], esp
push esi
call fcn.00438069
push esi
push esi
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push esi
mov byte [ebp - 4], 0x35
call fcn.0043804c
push esi
push ecx
lea eax, [ebp - 0x80]
mov ecx, esp
mov dword [ebp - 0x44], esp
push eax
call fcn.0042d1cc
lea eax, [ebp - 0xe8]
push eax
mov byte [ebp - 4], 0x34
call fcn.00445c12
add esp, 0x28
push dword [eax]
lea ecx, [ebp - 0x10]
call fcn.0042d57d
lea ecx, [ebp - 0xe8]
call fcn.00418618
mov edi, 0xd8d000
push edi
lea ecx, [ebp - 0x278]
call fcn.00402fdb
push edi
lea ecx, [ebp - 0x258]
mov byte [ebp - 4], 0x36
call fcn.00402fdb
mov eax, dword [ebp - 0x10]
cmp eax, esi
mov byte [ebp - 4], 0x37
jne 0x6f29ea
push 0x80004003
call fcn.00be0541
mov eax, dword [ebp - 0x10]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x278]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x258]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x20
push eax
mov dword [ebp - 0x14], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x110]
test eax, eax
jge 0x6f2a28
push 0xd3bb98
push dword [ebp - 0x14]
push eax
call fcn.00be054f
lea eax, [ebp - 0x258]
push eax
mov byte [ebp - 4], 0x36
call fcn.00402973
test eax, eax
pop ecx
jge 0x6f2a43
push eax
call fcn.00be0541
lea eax, [ebp - 0x278]
push eax
mov byte [ebp - 4], 0x34
call fcn.00402973
test eax, eax
pop ecx
jge 0x6f2a5e
push eax
call fcn.00be0541
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x21
call fcn.0040283f
cmp dword [ebp - 0xa8], 0
jne 0x6f2b55
mov esi, 0xd8d000
push esi
lea ecx, [ebp - 0x228]
call fcn.00402fdb
push esi
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x38
call fcn.00402fdb
cmp dword [ebp - 0x10], 0
mov byte [ebp - 4], 0x39
jne 0x6f2aac
push 0x80004003
call fcn.00be0541
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0xd0]
push eax
call fcn.00440408
mov esi, eax
cmp dword [esi], 0
mov byte [ebp - 4], 0x3a
jne 0x6f2ad0
push 0x80004003
call fcn.00be0541
mov eax, dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x228]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
push dword [ebp - 0x40]
lea esi, [ebp - 0x148]
push dword [ebp - 0x40]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
mov dword [ebp - 0x14], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x90]
test eax, eax
jge 0x6f2b14
push 0xd3bb88
push dword [ebp - 0x14]
push eax
call fcn.00be054f
lea ecx, [ebp - 0xd0]
call fcn.004185f1
lea eax, [ebp - 0x148]
push eax
mov byte [ebp - 4], 0x38
call fcn.00402973
test eax, eax
pop ecx
jge 0x6f2b3a
push eax
call fcn.00be0541
lea eax, [ebp - 0x228]
push eax
mov byte [ebp - 4], 0x21
call fcn.00402973
test eax, eax
pop ecx
jge 0x6f2b55
push eax
call fcn.00be0541
xor edi, edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x18], edi
mov esi, 0x328
lea eax, [ebp - 0xb0]
push esi
push eax
mov byte [ebp - 4], 0x3e
call fcn.00877d11
mov ecx, eax
call fcn.004069e7
mov eax, dword [eax]
push edi
lea ecx, [ebp - 0x24]
push ecx
push eax
mov byte [ebp - 4], 0x3f
call fcn.00450c82
mov eax, dword [ebp - 0xb0]
add esp, 0xc
cmp eax, edi
mov byte [ebp - 4], 0x3e
je 0x6f2bac
add eax, 0xfffffff4
push eax
call fcn.004033fd
pop ecx
lea eax, [ebp - 0xdc]
push esi
push eax
call fcn.00877d11
mov ecx, eax
call fcn.004069e7
mov eax, dword [eax]
push edi
lea ecx, [ebp - 0x54]
push ecx
push eax
mov byte [ebp - 4], 0x40
call fcn.00450c82
mov eax, dword [ebp - 0xdc]
add esp, 0xc
cmp eax, edi
mov byte [ebp - 4], 0x3e
je 0x6f2bec
add eax, 0xfffffff4
push eax
call fcn.004033fd
pop ecx
lea eax, [ebp - 0xb8]
push esi
push eax
call fcn.00877d11
mov ecx, eax
call fcn.004069e7
mov eax, dword [eax]
push edi
lea ecx, [ebp - 0x58]
push ecx
push eax
mov byte [ebp - 4], 0x41
call fcn.00450c82
mov eax, dword [ebp - 0xb8]
add esp, 0xc
cmp eax, edi
mov byte [ebp - 4], 0x3e
je 0x6f2c2c
add eax, 0xfffffff4
push eax
call fcn.004033fd
pop ecx
lea eax, [ebp - 0xd8]
push esi
push eax
call fcn.00877d11
mov ecx, eax
call fcn.004069e7
mov eax, dword [eax]
push edi
lea ecx, [ebp - 0x18]
push ecx
push eax
mov byte [ebp - 4], 0x42
call fcn.00450c82
mov eax, dword [ebp - 0xd8]
add esp, 0xc
cmp eax, edi
mov byte [ebp - 4], 0x3e
je 0x6f2c6c
add eax, 0xfffffff4
push eax
call fcn.004033fd
pop ecx
push 1
push dword [ebp - 0x54]
lea ecx, [ebp - 0x128]
call fcn.00413c1f
mov eax, dword [ebp - 0x58]
cmp eax, edi
mov byte [ebp - 4], 0x43
jne 0x6f2c94
push 0x80004003
call fcn.00be0541
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x128]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
mov dword [ebp - 0x14], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x64]
test eax, eax
jge 0x6f2cbe
push 0xd3bb88
push dword [ebp - 0x14]
push eax
call fcn.00be054f
lea eax, [ebp - 0x128]
push eax
mov byte [ebp - 4], 0x3e
call fcn.00402973
test eax, eax
pop ecx
jge 0x6f2cd9
push eax
call fcn.00be0541
mov esi, 0xd8d000
push esi
lea ecx, [ebp - 0x188]
call fcn.00402fdb
push esi
lea ecx, [ebp - 0x2b8]
mov byte [ebp - 4], 0x44
call fcn.00402fdb
mov ecx, dword [ebp - 0x58]
test ecx, ecx
mov byte [ebp - 4], 0x45
jne 0x6f2d12
push 0x80004003
call fcn.00be0541
mov ecx, dword [ebp - 0x58]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x40]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x188]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x2b8]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x14], edx
cdq
movsd dword es:[edi], dword [esi]
sub eax, edx
push 0
sar eax, 1
movsd dword es:[edi], dword [esi]
push eax
mov eax, dword [ebp - 0x14]
push ecx
mov dword [ebp - 0x44], ecx
movsd dword es:[edi], dword [esi]
call dword [eax + 0x90]
test eax, eax
jge 0x6f2d5f
push 0xd3bb88
push dword [ebp - 0x44]
push eax
call fcn.00be054f
lea eax, [ebp - 0x2b8]
push eax
mov byte [ebp - 4], 0x44
call fcn.00402973
test eax, eax
pop ecx
jge 0x6f2d7a
push eax
call fcn.00be0541
lea eax, [ebp - 0x188]
push eax
mov byte [ebp - 4], 0x3e
call fcn.00402973
test eax, eax
pop ecx
jge 0x6f2d95
push eax
call fcn.00be0541
push 0xd8d000
lea ecx, [ebp - 0x248]
call fcn.00402fdb
mov eax, dword [ebp - 0x54]
test eax, eax
mov byte [ebp - 4], 0x46
jne 0x6f2dbd
push 0x80004003
call fcn.00be0541
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
fild dword [ebp - 0x38]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x248]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ecx
push ecx
movsd dword es:[edi], dword [esi]
fstp qword [esp]
push eax
mov dword [ebp - 0x44], eax
call dword [ecx + 0xa0]
test eax, eax
jge 0x6f2df2
push 0xd3bb88
push dword [ebp - 0x44]
push eax
call fcn.00be054f
lea eax, [ebp - 0x248]
push eax
mov byte [ebp - 4], 0x3e
call fcn.00402973
test eax, eax
pop ecx
jge 0x6f2e0d
push eax
call fcn.00be0541
push 3
push 0x7d0
lea ecx, [ebp - 0x1a8]
call fcn.00403001
mov eax, dword [ebp - 0x54]
test eax, eax
mov byte [ebp - 4], 0x47
jne 0x6f2e37
push 0x80004003
call fcn.00be0541
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
fldz
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x1a8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ecx
push ecx
movsd dword es:[edi], dword [esi]
fstp qword [esp]
push eax
mov dword [ebp - 0x44], eax
call dword [ecx + 0xa0]
test eax, eax
jge 0x6f2e6b
push 0xd3bb88
push dword [ebp - 0x44]
push eax
call fcn.00be054f
lea eax, [ebp - 0x1a8]
push eax
mov byte [ebp - 4], 0x3e
call fcn.00402973
xor esi, esi
cmp eax, esi
pop ecx
jge 0x6f2e88
push eax
call fcn.00be0541
cmp dword [ebp + 0x10], 4
je 0x6f30fa
cmp dword [ebp + 0x10], 5
je 0x6f30fa
push 3
push esi
lea ecx, [ebp - 0x1c8]
call fcn.00403001
cmp dword [0xd87954], esi
mov byte [ebp - 4], 0x48
jne 0x6f2ec0
push 0x80004003
call fcn.00be0541
mov ecx, dword [0xd87954]
lea eax, [ebp - 0xe0]
push eax
call fcn.0043d06c
mov eax, dword [eax]
push 1
push eax
lea ecx, [ebp - 0x2a8]
call fcn.00413c1f
cmp dword [ebp - 0x24], esi
mov byte [ebp - 4], 0x4a
jne 0x6f2ef5
push 0x80004003
call fcn.00be0541
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x38], esi
call fcn.00ae4bdb
mov edx, dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x1c8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, 0xfffffed4
sub ecx, dword [ebp - 0x40]
sub ecx, eax
mov eax, dword [ebp - 0x40]
lea esi, [eax + 0x258]
push esi
lea esi, [eax + 0x320]
push esi
push ecx
mov ecx, 0xfffffe70
sub ecx, eax
push ecx
sub esp, 0x10
mov edi, esp
push dword [ebp - 0x38]
lea esi, [ebp - 0x2a8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [edx + 0x9c]
test eax, eax
jge 0x6f2f5f
push 0xd3bb88
push dword [ebp - 0x38]
push eax
call fcn.00be054f
lea eax, [ebp - 0x2a8]
push eax
mov byte [ebp - 4], 0x49
call fcn.00402973
test eax, eax
pop ecx
jge 0x6f2f7a
push eax
call fcn.00be0541
lea ecx, [ebp - 0xe0]
call fcn.004185f1
lea eax, [ebp - 0x1c8]
push eax
mov byte [ebp - 4], 0x3e
call fcn.00402973
test eax, eax
pop ecx
jge 0x6f2fa0
push eax
call fcn.00be0541
mov esi, 0xd8d000
push esi
lea ecx, [ebp - 0x1e8]
call fcn.00402fdb
push esi
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0x4b
call fcn.00402fdb
mov eax, dword [ebp - 0x24]
test eax, eax
mov byte [ebp - 4], 0x4c
jne 0x6f2fd9
push 0x80004003
call fcn.00be0541
mov eax, dword [ebp - 0x24]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x1e8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x268]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
push dword [ebp - 0x20]
movsd dword es:[edi], dword [esi]
push eax
mov dword [ebp - 0x44], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x90]
test eax, eax
jge 0x6f3019
push 0xd3bb88
push dword [ebp - 0x44]
push eax
call fcn.00be054f
lea eax, [ebp - 0x268]
push eax
mov byte [ebp - 4], 0x4b
call fcn.00402973
test eax, eax
pop ecx
jge 0x6f3034
push eax
call fcn.00be0541
lea eax, [ebp - 0x1e8]
push eax
mov byte [ebp - 4], 0x3e
call fcn.00402973
test eax, eax
pop ecx
jge 0x6f304f
push eax
call fcn.00be0541
push 1
push dword [ebp - 0x24]
lea ecx, [ebp - 0x298]
call fcn.00413c1f
cmp dword [ebp - 0x18], 0
mov byte [ebp - 4], 0x4d
jne 0x6f3073
push 0x80004003
call fcn.00be0541
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebx]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x298]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
movsd dword es:[edi], dword [esi]
call dword [eax + 0x64]
test eax, eax
jge 0x6f309b
push 0xd3bb88
push ebx
push eax
call fcn.00be054f
lea eax, [ebp - 0x298]
push eax
mov byte [ebp - 4], 0x3e
call fcn.00402973
test eax, eax
pop ecx
jge 0x6f30b6
push eax
call fcn.00be0541
cmp dword [ebp - 0x18], 0
jne 0x6f30c6
push 0x80004003
call fcn.00be0541
mov esi, dword [ebp - 0x18]
mov eax, dword [esi]
push 5
push dword [ebp - 0xc8]
push 0x64
push 0x64
push dword [ebp - 0x58]
push esi
call dword [eax + 0x98]
test eax, eax
jge 0x6f3354
push 0xd3bb88
push esi
push eax
call fcn.00be054f
jmp 0x6f3354
mov ecx, dword [0xd80b68]
lea eax, [ebp - 0xa0]
push eax
call fcn.004a1873
mov eax, dword [eax]
push 1
push eax
lea ecx, [ebp - 0x208]
call fcn.00413c1f
mov eax, dword [ebp - 0x18]
cmp eax, esi
mov byte [ebp - 4], 0x4f
jne 0x6f3134
push 0x80004003
call fcn.00be0541
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x208]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
mov dword [ebp - 0x44], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x64]
test eax, eax
jge 0x6f315e
push 0xd3bb88
push dword [ebp - 0x44]
push eax
call fcn.00be054f
lea eax, [ebp - 0x208]
push eax
mov byte [ebp - 4], 0x4e
call fcn.00402973
test eax, eax
pop ecx
jge 0x6f3179
push eax
call fcn.00be0541
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x3e
call fcn.004185f1
mov esi, 0xd8d000
push esi
lea ecx, [ebp - 0x138]
call fcn.00402fdb
push esi
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 0x50
call fcn.00402fdb
mov eax, dword [ebp - 0x18]
test eax, eax
mov byte [ebp - 4], 0x51
jne 0x6f31c1
push 0x80004003
call fcn.00be0541
mov eax, dword [ebp - 0x18]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x138]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x288]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
push dword [ebp - 0x20]
movsd dword es:[edi], dword [esi]
push eax
mov dword [ebp - 0x44], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x90]
test eax, eax
jge 0x6f3201
push 0xd3bb88
push dword [ebp - 0x44]
push eax
call fcn.00be054f
lea eax, [ebp - 0x288]
push eax
mov byte [ebp - 4], 0x50
call fcn.00402973
test eax, eax
pop ecx
jge 0x6f321c
push eax
call fcn.00be0541
lea eax, [ebp - 0x138]
push eax
mov byte [ebp - 4], 0x3e
call fcn.00402973
test eax, eax
pop ecx
jge 0x6f3237
push eax
call fcn.00be0541
push 3
push 0
lea ecx, [ebp - 0x178]
call fcn.00403001
mov ecx, dword [0xd80b68]
lea eax, [ebp - 0xa4]
push eax
mov byte [ebp - 4], 0x52
call fcn.004a1873
mov eax, dword [eax]
push 1
push eax
lea ecx, [ebp - 0x158]
call fcn.00413c1f
mov eax, dword [ebp - 0x34]
cmp ebx, eax
mov byte [ebp - 4], 0x54
mov dword [ebp - 0x38], ebx
jl 0x6f327d
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x30]
cmp eax, ecx
mov dword [ebp - 0x14], eax
jl 0x6f328d
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x18], 0
jne 0x6f329d
push 0x80004003
call fcn.00be0541
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x18]
push eax
call fcn.00be2233
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x30]
push eax
call fcn.00be2233
mov ecx, dword [ebx]
mov edx, dword [ebp - 0x28]
push ecx
push ecx
mov edi, esp
push dword [ebp - 0x44]
lea esi, [ebp - 0x178]
push eax
xor eax, eax
cmp dword [ebp - 0x34], edx
mov edx, dword [ebp - 0x20]
setl al
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add eax, dword [ebp - 0x38]
movsd dword es:[edi], dword [esi]
push eax
xor eax, eax
cmp dword [ebp - 0x30], edx
movsd dword es:[edi], dword [esi]
setl al
lea esi, [ebp - 0x158]
add eax, dword [ebp - 0x14]
push eax
sub esp, 0x10
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x9c]
test eax, eax
jge 0x6f3313
push 0xd3bb88
push ebx
push eax
call fcn.00be054f
lea eax, [ebp - 0x158]
push eax
mov byte [ebp - 4], 0x53
call fcn.00402973
test eax, eax
pop ecx
jge 0x6f332e
push eax
call fcn.00be0541
lea ecx, [ebp - 0xa4]
call fcn.004185f1
lea eax, [ebp - 0x178]
push eax
mov byte [ebp - 4], 0x3e
call fcn.00402973
test eax, eax
pop ecx
jge 0x6f3354
push eax
call fcn.00be0541
push 1
push dword [ebp - 0x18]
lea ecx, [ebp - 0x198]
call fcn.00413c1f
cmp dword [ebp - 0x10], 0
mov byte [ebp - 4], 0x55
jne 0x6f3378
push 0x80004003
call fcn.00be0541
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x9c]
push eax
call fcn.004481fe
mov esi, eax
cmp dword [esi], 0
mov byte [ebp - 4], 0x56
jne 0x6f339c
push 0x80004003
call fcn.00be0541
mov ebx, dword [esi]
mov eax, dword [ebx]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x198]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
movsd dword es:[edi], dword [esi]
call dword [eax + 0x64]
test eax, eax
mov edi, 0xd3bb88
jge 0x6f33c4
push edi
push ebx
push eax
call fcn.00be054f
lea ecx, [ebp - 0x9c]
call fcn.004185f1
lea eax, [ebp - 0x198]
push eax
mov byte [ebp - 4], 0x3e
call fcn.00402973
test eax, eax
pop ecx
jge 0x6f33ea
push eax
call fcn.00be0541
cmp dword [ebp - 0x10], 0
mov ebx, 0x80004003
jne 0x6f3407
push ebx
call fcn.00be0541
cmp dword [ebp - 0x10], 0
jne 0x6f3407
push ebx
call fcn.00be0541
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0xb4]
push eax
call fcn.004481fe
mov esi, eax
cmp dword [esi], 0
mov byte [ebp - 4], 0x57
jne 0x6f3427
push ebx
call fcn.00be0541
mov ecx, dword [ebp - 0x10]
mov esi, dword [esi]
call fcn.004481aa
push 0xfffffffffffffffe
pop ecx
cdq
idiv ecx
mov ecx, dword [esi]
push eax
push esi
call dword [ecx + 0x6c]
test eax, eax
jge 0x6f344a
push edi
push esi
push eax
call fcn.00be054f
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x3e
call fcn.004185f1
cmp dword [ebp - 0x10], 0
jne 0x6f3471
push ebx
call fcn.00be0541
cmp dword [ebp - 0x10], 0
jne 0x6f3471
push ebx
call fcn.00be0541
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0xbc]
push eax
call fcn.004481fe
mov esi, eax
cmp dword [esi], 0
mov byte [ebp - 4], 0x58
jne 0x6f3491
push ebx
call fcn.00be0541
mov ecx, dword [ebp - 0x10]
mov esi, dword [esi]
call fcn.004481d4
push 0xfffffffffffffffe
pop ecx
cdq
idiv ecx
mov ecx, dword [esi]
push eax
push esi
call dword [ecx + 0x74]
test eax, eax
jge 0x6f34b4
push edi
push esi
push eax
call fcn.00be054f
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x3e
call fcn.004185f1
cmp dword [ebp + 0xc], 2
jne 0x6f3551
call fcn.00be246d
cdq
mov ecx, 0xbb8
idiv ecx
push 3
lea ecx, [ebp - 0x1b8]
add edx, 0x12c
push edx
call fcn.00403001
mov eax, dword [ebp - 0x18]
test eax, eax
mov byte [ebp - 4], 0x59
jne 0x6f3502
push ebx
call fcn.00be0541
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
fldz
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x1b8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ecx
push ecx
movsd dword es:[edi], dword [esi]
fstp qword [esp]
push eax
mov dword [ebp - 0x44], eax
call dword [ecx + 0xa0]
test eax, eax
jge 0x6f3536
push 0xd3bb88
push dword [ebp - 0x44]
push eax
call fcn.00be054f
lea eax, [ebp - 0x1b8]
push eax
mov byte [ebp - 4], 0x3e
call fcn.00402973
test eax, eax
pop ecx
jge 0x6f3551
push eax
call fcn.00be0541
xor edi, edi
cmp dword [ebp - 0x10], edi
jne 0x6f355e
push ebx
call fcn.00be0541
mov esi, dword [ebp - 0x10]
mov eax, dword [esi]
push 0x1ffffff
push esi
call dword [eax + 0xe0]
cmp eax, edi
jge 0x6f357f
push 0xd3bb98
push esi
push eax
call fcn.00be054f
push 0xd8d000
lea ecx, [ebp - 0x1f8]
call fcn.00402fdb
cmp dword [ebp - 0x10], edi
mov byte [ebp - 4], 0x5a
jne 0x6f359e
push ebx
call fcn.00be0541
mov ecx, dword [ebp - 0x10]
call fcn.0043d017
add eax, dword [ebp - 0xc4]
push 3
push eax
lea ecx, [ebp - 0x1d8]
call fcn.00403001
mov eax, dword [ebp - 0x40]
cmp eax, 0x64
mov byte [ebp - 4], 0x5b
jle 0x6f35cf
mov dword [ebp - 0x14], 0x32
jmp 0x6f35db
add eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x2c]
sub eax, ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x10], edi
jne 0x6f35e6
push ebx
call fcn.00be0541
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x3c]
push eax
call fcn.004170e0
mov esi, eax
cmp dword [esi], edi
mov byte [ebp - 4], 0x5c
jne 0x6f3602
push ebx
call fcn.00be0541
mov ebx, dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x1f8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebx]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x1d8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0xff
push dword [ebp - 0x14]
movsd dword es:[edi], dword [esi]
push ebx
movsd dword es:[edi], dword [esi]
call dword [eax + 0x90]
test eax, eax
jge 0x6f3643
push 0xd3bb88
push ebx
push eax
call fcn.00be054f
lea ecx, [ebp - 0x3c]
call fcn.004185f1
lea eax, [ebp - 0x1d8]
push eax
mov byte [ebp - 4], 0x5a
call fcn.00402973
xor ebx, ebx
cmp eax, ebx
pop ecx
jge 0x6f3668
push eax
call fcn.00be0541
lea eax, [ebp - 0x1f8]
push eax
mov byte [ebp - 4], 0x3e
call fcn.00402973
cmp eax, ebx
pop ecx
jge 0x6f3683
push eax
call fcn.00be0541
cmp dword [ebp + 0x10], ebx
jl 0x6f383b
push 3
pop edi
cmp dword [ebp + 0x10], edi
jle 0x6f3777
cmp dword [ebp + 0x10], 5
jg 0x6f383b
push edi
push 0x10000000
lea ecx, [ebp - 0x238]
call fcn.00403001
cmp dword [ebp - 0x18], ebx
mov byte [ebp - 4], 0x5f
jne 0x6f36c6
push 0x80004003
call fcn.00be0541
call fcn.00be246d
cdq
mov ecx, 0x7530
idiv ecx
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x18]
lea eax, [edx + eax - 0x3a98]
cdq
idiv dword [ebp - 0x40]
mov esi, eax
call fcn.0043d017
add esi, eax
push edi
push esi
lea ecx, [ebp - 0x218]
call fcn.00403001
cmp dword [ebp - 0x18], ebx
mov byte [ebp - 4], 0x60
jne 0x6f370d
push 0x80004003
call fcn.00be0541
sub esp, 0x10
mov edi, esp
mov ebx, dword [ebp - 0x18]
lea esi, [ebp - 0x238]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebx]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
push dword [ebp - 0x34]
lea esi, [ebp - 0x218]
push dword [ebp - 0x30]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
movsd dword es:[edi], dword [esi]
call dword [eax + 0x90]
test eax, eax
jge 0x6f374d
push 0xd3bb88
push ebx
push eax
call fcn.00be054f
lea eax, [ebp - 0x218]
push eax
mov byte [ebp - 4], 0x5f
call fcn.00402973
test eax, eax
pop ecx
jge 0x6f3768
push eax
call fcn.00be0541
mov byte [ebp - 4], 0x3e
lea eax, [ebp - 0x238]
jmp 0x6f382a
push edi
push 0x10000000
lea ecx, [ebp - 0x118]
call fcn.00403001
cmp dword [ebp - 0x24], ebx
mov byte [ebp - 4], 0x5d
jne 0x6f379b
push 0x80004003
call fcn.00be0541
mov ecx, dword [ebp - 0x24]
call fcn.0043d017
mov ecx, eax
mov eax, dword [ebp + 0x14]
cdq
idiv dword [ebp - 0x40]
push edi
add ecx, eax
push ecx
lea ecx, [ebp - 0x7c]
call fcn.00403001
cmp dword [ebp - 0x24], ebx
mov byte [ebp - 4], 0x5e
jne 0x6f37cb
push 0x80004003
call fcn.00be0541
sub esp, 0x10
mov edi, esp
mov ebx, dword [ebp - 0x24]
lea esi, [ebp - 0x118]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebx]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
push dword [ebp - 0x34]
lea esi, [ebp - 0x7c]
push dword [ebp - 0x30]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
movsd dword es:[edi], dword [esi]
call dword [eax + 0x90]
test eax, eax
jge 0x6f3808
push 0xd3bb88
push ebx
push eax
call fcn.00be054f
lea eax, [ebp - 0x7c]
push eax
mov byte [ebp - 4], 0x5d
call fcn.00402973
test eax, eax
pop ecx
jge 0x6f3820
push eax
call fcn.00be0541
mov byte [ebp - 4], 0x3e
lea eax, [ebp - 0x118]
push eax
call fcn.00402973
test eax, eax
pop ecx
jge 0x6f383b
push eax
call fcn.00be0541
mov eax, dword [ebp - 0x84]
lea ecx, [eax + 0x64]
call fcn.004d78b2
push dword [ebp - 0x10]
mov ecx, eax
call fcn.0042d57d
lea ecx, [ebp - 0x18]
call fcn.004185f1
lea ecx, [ebp - 0x58]
call fcn.004185f1
lea ecx, [ebp - 0x54]
call fcn.004185f1
lea ecx, [ebp - 0x24]
call fcn.004185f1
lea ecx, [ebp - 0x10]
call fcn.00418618
inc dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
cmp eax, dword [ebp - 0x6c]
jl 0x6f22b1
lea ecx, [ebp - 0x1c]
call fcn.0040283f
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 1
call fcn.0042254f
lea ecx, [ebp - 0x60]
call fcn.004185fe
mov eax, dword [ebp + 8]
or dword [ebp - 4], 0xffffffff
test eax, eax
je 0x6f38bb
add eax, 0xfffffff4
push eax
call fcn.004033fd
pop ecx
mov ecx, dword [ebp - 0xc]
lea esp, [ebp - 0x304]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 0x10