Function at 0x63f4a6
Capabilities:
Execute anti-debugging instructions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x168
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
push 0x20
call fcn.006786b7
add esp, 4
mov dword [ebp - 0x24], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 8
rep stosd dword es:[edi], eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x84], 0
push 8
call fcn.006786b7
add esp, 4
mov dword [ebp - 0x88], eax
mov edi, eax
mov esi, 0
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x94], 0
push 8
call fcn.006786b7
add esp, 4
mov dword [ebp - 0x98], eax
mov edi, eax
mov esi, 0
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe8], 0
jmp 0x63f6e3
fninit
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
push ecx
push edx
rdtsc
mov ecx, 0x17
mul ecx
add eax, 7
mov ecx, 0x1000
sub ecx, 0x10
inc ecx
xor edx, edx
div ecx
add edx, 0x1000
mov eax, edx
pop edx
pop ecx
mov dword [ebp - 4], eax
nop
nop
push ecx
push edx
rdtsc
mov ecx, 0x17
mul ecx
add eax, 7
mov ecx, 0x1000
sub ecx, 0x10
inc ecx
xor edx, edx
div ecx
add edx, 0x1000
mov eax, edx
pop edx
pop ecx
mov dword [ebp - 8], eax
nop
nop
push ecx
push edx
rdtsc
mov ecx, 0x17
mul ecx
add eax, 7
mov ecx, 0x1000
sub ecx, 0x10
inc ecx
xor edx, edx
div ecx
add edx, 0x1000
mov eax, edx
pop edx
pop ecx
mov dword [ebp - 0xc], eax
nop
nop
push ecx
push edx
rdtsc
mov ecx, 0x17
mul ecx
add eax, 7
mov ecx, 0x1000
sub ecx, 0x10
inc ecx
xor edx, edx
div ecx
add edx, 0x1000
mov eax, edx
pop edx
pop ecx
mov dword [ebp - 0x10], eax
nop
nop
push ecx
push edx
rdtsc
mov ecx, 0x17
mul ecx
add eax, 7
mov ecx, 0x1000
sub ecx, 0x10
inc ecx
xor edx, edx
div ecx
add edx, 0x1000
mov eax, edx
pop edx
pop ecx
mov dword [ebp - 0x14], eax
nop
nop
push ecx
push edx
rdtsc
mov ecx, 0x17
mul ecx
add eax, 7
mov ecx, 0x1000
sub ecx, 0x10
inc ecx
xor edx, edx
div ecx
add edx, 0x1000
mov eax, edx
pop edx
pop ecx
mov dword [ebp - 0x18], eax
push 0x80000301
push 0
push dword [0]
push 1
mov ebx, 0xc
mov eax, 6
call fcn.006786e1
add esp, 0x10
mov dword [4], 0
mov dword [8], 0
mov dword [0xc], 0
mov dword [0x10], 0
mov byte [0x14], 0
call fcn.0064444c
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0xc]
mov dword [0x18], eax
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
je 0x63f88a
push eax
mov ebx, eax
call fcn.0063f28b
inc eax
push eax
call fcn.006786b7
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x63f89b
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
mov ebx, dword [0x1c]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x63f8c0
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x63f8bc
imul eax, dword [ebx]
jmp 0x63f8b1
mov ecx, eax
test ecx, ecx
je 0x63f900
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x63f8db
push ebx
call fcn.006786bd
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x63f8ef
push ebx
call fcn.006786bd
add esp, 4
pop ebx
call fcn.006786bd
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x63f8c6
call fcn.006786bd
add esp, 4
mov eax, 0
mov dword [0x1c], eax
lea eax, [ebp - 0x24]
push eax
call fcn.00644529
call fcn.0064444c
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x168
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0xf0], eax
mov ebx, dword [ebp - 0x24]
mov dword [ebp - 0xf4], ebx
mov ebx, dword [ebp - 0xf4]
mov ax, word [ebx]
cwde
mov dword [ebp - 0xfc], eax
fild dword [ebp - 0xfc]
fstp qword [ebp - 0xfc]
fld qword [ebp - 0xfc]
fmul qword [8]
fstp qword [ebp - 0x104]
push 0x80000601
push dword [ebp - 0x100]
push dword [ebp - 0x104]
push 1
mov ebx, 0x168
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0x108], eax
mov ebx, dword [ebp - 0x24]
add ebx, 4
mov dword [ebp - 0x10c], ebx
mov ebx, dword [ebp - 0x10c]
mov ax, word [ebx]
cwde
mov dword [ebp - 0x114], eax
fild dword [ebp - 0x114]
fstp qword [ebp - 0x114]
fld qword [ebp - 0x114]
fmul qword [8]
fstp qword [ebp - 0x11c]
push 0x80000601
push dword [ebp - 0x118]
push dword [ebp - 0x11c]
push 1
mov ebx, 0x168
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0x120], eax
mov ebx, dword [ebp - 0x24]
add ebx, 0xc
mov dword [ebp - 0x124], ebx
mov ebx, dword [ebp - 0x124]
mov ax, word [ebx]
cwde
mov dword [ebp - 0x12c], eax
fild dword [ebp - 0x12c]
fstp qword [ebp - 0x12c]
fld qword [ebp - 0x12c]
fmul qword [8]
fstp qword [ebp - 0x134]
push 0x80000601
push dword [ebp - 0x130]
push dword [ebp - 0x134]
push 1
mov ebx, 0x168
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0x138], eax
push dword [ebp - 0x138]
push dword [ebp - 0x120]
push dword [ebp - 0x108]
push dword [ebp - 0xf0]
mov ecx, 4
call fcn.0063f2f6
add esp, 0x10
mov dword [ebp - 0x13c], eax
mov ebx, dword [ebp - 0xf0]
test ebx, ebx
je 0x63faa4
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x108]
test ebx, ebx
je 0x63fab7
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x120]
test ebx, ebx
je 0x63faca
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x138]
test ebx, ebx
je 0x63fadd
push ebx
call fcn.006786bd
add esp, 4
mov eax, dword [ebp - 0x13c]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x63faf4
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 0x24]
add ebx, 0x10
mov dword [ebp - 0xec], ebx
mov ebx, dword [ebp - 0xec]
mov ax, word [ebx]
cwde
mov dword [ebp - 0xf4], eax
fild dword [ebp - 0xf4]
fstp qword [ebp - 0xf4]
fld qword [ebp - 0xf4]
fmul qword [8]
fstp qword [ebp - 0xfc]
push 0x80000601
push dword [ebp - 0xf8]
push dword [ebp - 0xfc]
push 1
mov ebx, 0x168
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0x100], eax
mov ebx, dword [ebp - 0x24]
add ebx, 0x14
mov dword [ebp - 0x104], ebx
mov ebx, dword [ebp - 0x104]
mov ax, word [ebx]
cwde
mov dword [ebp - 0x10c], eax
fild dword [ebp - 0x10c]
fstp qword [ebp - 0x10c]
fld qword [ebp - 0x10c]
fadd qword [0x10]
fstp qword [ebp - 0x114]
push 0x80000601
push dword [ebp - 0x110]
push dword [ebp - 0x114]
push 1
mov ebx, 0x168
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0x118], eax
mov ebx, dword [ebp - 0x24]
add ebx, 0x18
mov dword [ebp - 0x11c], ebx
mov ebx, dword [ebp - 0x11c]
mov ax, word [ebx]
cwde
mov dword [ebp - 0x124], eax
fild dword [ebp - 0x124]
fstp qword [ebp - 0x124]
fld qword [ebp - 0x124]
fmul qword [8]
fstp qword [ebp - 0x12c]
push 0x80000601
push dword [ebp - 0x128]
push dword [ebp - 0x12c]
push 1
mov ebx, 0x168
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0x130], eax
mov ebx, dword [ebp - 0x24]
add ebx, 0x1c
mov dword [ebp - 0x134], ebx
mov ebx, dword [ebp - 0x134]
mov ax, word [ebx]
cwde
mov dword [ebp - 0x13c], eax
fild dword [ebp - 0x13c]
fstp qword [ebp - 0x13c]
fld qword [ebp - 0x13c]
fmul qword [0x18]
fstp qword [ebp - 0x144]
push 0x80000601
push dword [ebp - 0x140]
push dword [ebp - 0x144]
push 1
mov ebx, 0x168
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0x148], eax
mov ebx, dword [ebp - 0x24]
add ebx, 8
mov dword [ebp - 0x14c], ebx
mov ebx, dword [ebp - 0x14c]
mov ax, word [ebx]
cwde
mov dword [ebp - 0x154], eax
fild dword [ebp - 0x154]
fstp qword [ebp - 0x154]
fld qword [ebp - 0x154]
fmul qword [8]
fstp qword [ebp - 0x15c]
push 0x80000601
push dword [ebp - 0x158]
push dword [ebp - 0x15c]
push 1
mov ebx, 0x168
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0x160], eax
call fcn.006446f0
mov dword [ebp - 0x164], eax
push dword [ebp - 0x164]
push dword [ebp - 0x160]
push dword [ebp - 0x148]
push dword [ebp - 0x130]
push dword [ebp - 0x118]
push dword [ebp - 0x100]
push dword [ebp - 0x28]
mov ecx, 7
call fcn.0063f2f6
add esp, 0x1c
mov dword [ebp - 0x168], eax
mov ebx, dword [ebp - 0x100]
test ebx, ebx
je 0x63fd3f
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x118]
test ebx, ebx
je 0x63fd52
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x130]
test ebx, ebx
je 0x63fd65
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x148]
test ebx, ebx
je 0x63fd78
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x160]
test ebx, ebx
je 0x63fd8b
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x164]
test ebx, ebx
je 0x63fd9e
push ebx
call fcn.006786bd
add esp, 4
mov eax, dword [ebp - 0x168]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x63fdb5
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
push 0x80000004
push 0
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x63fdcc
mov eax, 0x20
push eax
push 1
mov ebx, 0x198
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0xec], eax
lea eax, [ebp - 0xec]
push eax
call fcn.00644aae
mov dword [ebp - 0xf0], eax
mov ebx, dword [ebp - 0xec]
test ebx, ebx
je 0x63fe0a
push ebx
call fcn.006786bd
add esp, 4
push 0x80000301
push 0
push dword [ebp - 0x2c]
push 1
mov ebx, 0x168
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0xf4], eax
push dword [ebp - 0xf4]
push dword [ebp - 0xf0]
mov ecx, 2
call fcn.0063f2f6
add esp, 8
mov dword [ebp - 0xf8], eax
mov ebx, dword [ebp - 0xf0]
test ebx, ebx
je 0x63fe5e
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0xf4]
test ebx, ebx
je 0x63fe71
push ebx
call fcn.006786bd
add esp, 4
mov eax, dword [ebp - 0xf8]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x63fe88
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
cmp dword [ebp + 0xc], 0
jne 0x63fef5
push 0x80000004
push 0
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x63fea9
mov eax, 0x20
push eax
push 1
mov ebx, 0x130
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 0
jne 0x63fef5
call fcn.00644d7c
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xec]
push eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x63fef1
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x30], eax
mov eax, 0
test eax, eax
je 0x63ff17
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.006786b7
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x63ff28
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0x34], eax
mov eax, 0
test eax, eax
je 0x63ff48
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.006786b7
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [0x20]
test ebx, ebx
je 0x63ff5c
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [0x20], eax
mov eax, 0
test eax, eax
je 0x63ff7e
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.006786b7
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [0x24]
test ebx, ebx
je 0x63ff92
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [0x24], eax
mov eax, 0
test eax, eax
je 0x63ffb4
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.006786b7
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [0x28]
test ebx, ebx
je 0x63ffc8
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [0x28], eax
mov eax, 0x20
push eax
mov ebx, dword [0x2c]
test ebx, ebx
je 0x63ffe7
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [0x2c], eax
mov dword [0x30], 0
mov dword [0x34], 0
mov dword [0x38], 0
mov eax, dword [0x14]
and eax, 0xff
mov dword [ebp - 0xf0], eax
fild dword [ebp - 0xf0]
fstp qword [ebp - 0xf0]
fld qword [ebp - 0xf0]
fadd qword [0x21]
fstp qword [ebp - 0xf8]
fld qword [ebp - 0xf8]
call fcn.0063f352
mov byte [0x14], al
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x640065
push eax
mov ebx, eax
call fcn.0063f28b
inc eax
push eax
call fcn.006786b7
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x640076
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x640096
push eax
mov ebx, eax
call fcn.0063f28b
inc eax
push eax
call fcn.006786b7
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [0x3c]
test ebx, ebx
je 0x6400aa
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [0x3c], eax
mov eax, 0x29
push eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x6400c6
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0x3c], eax
call fcn.00644d7c
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xec]
push eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x6400ec
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x48], eax
call fcn.006457ad
mov dword [0x40], eax
call fcn.00645873
mov dword [ebp - 0xec], eax
push 0x80000004
push 0
mov eax, dword [ebp - 0xec]
test eax, eax
jne 0x640127
mov eax, 0x20
push eax
push 1
mov ebx, 0x198
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0xf0], eax
mov ebx, dword [ebp - 0xec]
test ebx, ebx
je 0x640153
push ebx
call fcn.006786bd
add esp, 4
mov dword [ebp - 0xf4], 0
push 0
push dword [ebp - 0xf4]
push 1
mov eax, 0x2b
mov dword [ebp - 0xf8], eax
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0xf0]
push eax
call fcn.00646e30
mov dword [ebp - 0xfc], eax
mov ebx, dword [ebp - 0xf0]
test ebx, ebx
je 0x64019e
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0xf8]
test ebx, ebx
je 0x6401b1
push ebx
call fcn.006786bd
add esp, 4
push 1
mov eax, 0x2b
mov dword [ebp - 0x100], eax
lea eax, [ebp - 0x100]
push eax
lea eax, [ebp - 0xfc]
push eax
call fcn.00647003
mov dword [ebp - 0x104], eax
mov ebx, dword [ebp - 0xfc]
test ebx, ebx
je 0x6401ea
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x100]
test ebx, ebx
je 0x6401fd
push ebx
call fcn.006786bd
add esp, 4
lea eax, [ebp - 0x104]
push eax
call fcn.00644797
mov dword [ebp - 0x108], eax
mov ebx, dword [ebp - 0x104]
test ebx, ebx
je 0x640222
push ebx
call fcn.006786bd
add esp, 4
mov eax, dword [ebp - 0x108]
push eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x640239
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0x4c], eax
call fcn.0064828d
mov dword [ebp - 0xec], eax
push 0x80000004
push 0
mov eax, dword [ebp - 0xec]
test eax, eax
jne 0x64025e
mov eax, 0x20
push eax
push 1
mov ebx, 0x168
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0xf0], eax
mov ebx, dword [ebp - 0xec]
test ebx, ebx
je 0x64028a
push ebx
call fcn.006786bd
add esp, 4
call fcn.00648503
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x168
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0xf8], eax
push 0x80000004
push 0
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x6402c2
mov eax, 0x20
push eax
push 1
mov ebx, 0x168
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0xfc], eax
push 0x80000301
push 0
push dword [ebp - 0x44]
push 1
mov ebx, 0x168
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0x100], eax
push 0x80000301
push 0
push dword [ebp - 0x48]
push 1
mov ebx, 0x168
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0x104], eax
push 0x80000301
push 0
push dword [ebp - 0x30]
push 1
mov ebx, 0x198
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x10c], 0
push 0
push dword [ebp - 0x10c]
mov dword [ebp - 0x110], 0
push 0
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.00646e30
mov dword [ebp - 0x114], eax
mov ebx, dword [ebp - 0x108]
test ebx, ebx
je 0x64038b
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x110]
test ebx, ebx
je 0x64039e
push ebx
call fcn.006786bd
add esp, 4
lea eax, [ebp - 0x114]
push eax
call fcn.00644797
mov dword [ebp - 0x118], eax
mov ebx, dword [ebp - 0x114]
test ebx, ebx
je 0x6403c3
push ebx
call fcn.006786bd
add esp, 4
call fcn.00648568
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x168
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0x120], eax
push 0x80000301
push 0
push dword [0x40]
push 1
mov ebx, 0x168
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0x124], eax
push dword [ebp - 0x124]
push dword [ebp - 0x3c]
push dword [ebp - 0x120]
push 0x3c
push dword [ebp - 0x4c]
push dword [ebp - 0x3c]
push dword [ebp - 0x118]
push dword [ebp - 0x3c]
push dword [ebp - 0x104]
push dword [ebp - 0x3c]
push dword [ebp - 0x100]
push dword [ebp - 0x3c]
push dword [ebp - 0xfc]
push dword [ebp - 0x3c]
push dword [ebp - 0xf8]
push dword [ebp - 0x3c]
push dword [ebp - 0xf0]
push dword [ebp - 0x3c]
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
push dword [ebp - 0x40]
push 0x3e
mov ecx, 0x16
call fcn.0063f2f6
add esp, 0x58
mov dword [ebp - 0x128], eax
mov ebx, dword [ebp - 0xf0]
test ebx, ebx
je 0x640491
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0xf8]
test ebx, ebx
je 0x6404a4
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0xfc]
test ebx, ebx
je 0x6404b7
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x100]
test ebx, ebx
je 0x6404ca
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x104]
test ebx, ebx
je 0x6404dd
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x118]
test ebx, ebx
je 0x6404f0
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x120]
test ebx, ebx
je 0x640503
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x124]
test ebx, ebx
je 0x640516
push ebx
call fcn.006786bd
add esp, 4
push 0x80000004
push 0
mov eax, dword [ebp - 0x128]
test eax, eax
jne 0x64052c
mov eax, 0x20
push eax
push 1
mov ebx, 0x198
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0x12c], eax
mov ebx, dword [ebp - 0x128]
test ebx, ebx
je 0x640558
push ebx
call fcn.006786bd
add esp, 4
mov eax, dword [ebp - 0x12c]
push eax
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x64056f
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0x50], eax
cmp dword [ebp + 0xc], 1
jne 0x64063c
push 0x80000005
push 0
mov eax, dword [ebp - 0x50]
test eax, eax
jne 0x640590
mov eax, 0
push eax
push 1
mov ebx, 0x168
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0xec], eax
push dword [ebp - 0xec]
push 0x45
mov ecx, 2
call fcn.0063f2f6
add esp, 8
mov dword [ebp - 0xf0], eax
mov ebx, dword [ebp - 0xec]
test ebx, ebx
je 0x6405da
push ebx
call fcn.006786bd
add esp, 4
push 0x80000004
push 0
mov eax, dword [ebp - 0xf0]
test eax, eax
jne 0x6405f0
mov eax, 0x20
push eax
push 1
mov ebx, 0x198
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0xf4], eax
mov ebx, dword [ebp - 0xf0]
test ebx, ebx
je 0x64061c
push ebx
call fcn.006786bd
add esp, 4
mov eax, dword [ebp - 0xf4]
push eax
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x640633
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0x50], eax
jmp 0x6406f6
push 0x80000005
push 0
mov eax, dword [ebp - 0x50]
test eax, eax
jne 0x64064f
mov eax, 0
push eax
push 1
mov ebx, 0x168
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0xec], eax
push dword [ebp - 0xec]
push 0x4e
mov ecx, 2
call fcn.0063f2f6
add esp, 8
mov dword [ebp - 0xf0], eax
mov ebx, dword [ebp - 0xec]
test ebx, ebx
je 0x640699
push ebx
call fcn.006786bd
add esp, 4
push 0x80000004
push 0
mov eax, dword [ebp - 0xf0]
test eax, eax
jne 0x6406af
mov eax, 0x20
push eax
push 1
mov ebx, 0x198
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0xf4], eax
mov ebx, dword [ebp - 0xf0]
test ebx, ebx
je 0x6406db
push ebx
call fcn.006786bd
add esp, 4
mov eax, dword [ebp - 0xf4]
push eax
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x6406f2
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x54], 0xe016700f
mov dword [ebp - 0x58], 0x2079d0e8
dec dword [4]
fld qword [8]
fadd qword [8]
fstp qword [8]
fld dword [0x10]
fadd qword [0x53]
fstp qword [ebp - 0xf0]
fld qword [ebp - 0xf0]
fstp dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
mov dword [0x10], eax
cmp dword [ebp - 0x1c], 0
je 0x6407a2
call fcn.0064444c
mov dword [ebp - 0xf8], eax
fild dword [ebp - 0xf8]
fstp qword [ebp - 0xf8]
fld qword [ebp - 0xf8]
fild dword [ebp - 0x1c]
fstp qword [ebp - 0x100]
fsub qword [ebp - 0x100]
fstp qword [ebp - 0x108]
fld qword [ebp - 0x108]
fsub qword [0x5b]
fcomp qword [0x63]
fnstsw ax
test ah, 1
jne 0x6407a2
xor eax, eax
jmp 0x6407a7
mov eax, 1
test eax, eax
je 0x640913
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x6407cb
push eax
mov ebx, eax
call fcn.0063f28b
inc eax
push eax
call fcn.006786b7
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [0x44]
test ebx, ebx
je 0x6407df
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [0x44], eax
push 0x80000005
push 0
mov eax, dword [ebp - 0x50]
test eax, eax
jne 0x6407f8
mov eax, 0
push eax
push 1
mov ebx, 0x198
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xf0], 0
push 0
push dword [ebp - 0xf0]
mov dword [ebp - 0xf4], 0
push 0
push dword [ebp - 0xf4]
mov dword [ebp - 0xf8], 0
push 0
push dword [ebp - 0xf8]
lea eax, [ebp - 0xec]
push eax
call fcn.00648609
mov dword [ebp - 0xfc], eax
mov ebx, dword [ebp - 0xec]
test ebx, ebx
je 0x64086c
push ebx
call fcn.006786bd
add esp, 4
mov eax, dword [ebp - 0xfc]
push eax
mov ebx, dword [ebp - 0x5c]
test ebx, ebx
je 0x640883
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0x5c], eax
call fcn.0064444c
mov dword [ebp - 0x1c], eax
dec dword [4]
fld qword [8]
fadd qword [8]
fstp qword [8]
fld dword [0x10]
fadd qword [0x53]
fstp qword [ebp - 0xf0]
fld qword [ebp - 0xf0]
fstp dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
mov dword [0x10], eax
mov eax, dword [0x14]
and eax, 0xff
mov dword [ebp - 0xf0], eax
fild dword [ebp - 0xf0]
fstp qword [ebp - 0xf0]
fld qword [ebp - 0xf0]
fadd qword [0x21]
fstp qword [ebp - 0xf8]
fld qword [ebp - 0xf8]
call fcn.0063f352
mov byte [0x14], al
jmp 0x64099e
push 0x80000301
push 0
push dword [0]
push 1
mov ebx, 0x10
mov eax, 6
call fcn.006786e1
add esp, 0x10
cmp dword [ebp - 0x60], 0xfffffb9e
je 0x64099e
inc dword [ebp - 0x64]
dec dword [ebp - 0x68]
fild dword [ebp - 0x6c]
fstp qword [ebp - 0xf0]
fld qword [ebp - 0xf0]
fmul qword [8]
fstp qword [ebp - 0xf8]
fld qword [ebp - 0xf8]
call fcn.0063f352
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x70]
fstp qword [ebp - 0xf0]
fld qword [ebp - 0xf0]
fdiv qword [8]
fstp qword [ebp - 0xf8]
fld qword [ebp - 0xf8]
call fcn.0063f352
mov dword [ebp - 0x70], eax
jmp 0x640937
push 0x80000005
push 0
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x6409b1
mov eax, 0
push eax
push 1
mov ebx, 0x194
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 0
jne 0x6409fa
mov eax, 0x6b
push eax
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
test ebx, ebx
je 0x6409ef
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov ebx, dword [ebp + 0x10]
mov dword [ebx], eax
jmp 0x643ab0
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x640a14
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.006786b7
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x74]
test ebx, ebx
je 0x640a25
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0x74], eax
dec dword [4]
fld qword [8]
fadd qword [8]
fstp qword [8]
fld dword [0x10]
fadd qword [0x53]
fstp qword [ebp - 0xf0]
fld qword [ebp - 0xf0]
fstp dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
mov dword [0x10], eax
mov eax, dword [0x14]
and eax, 0xff
mov dword [ebp - 0xf0], eax
fild dword [ebp - 0xf0]
fstp qword [ebp - 0xf0]
fld qword [ebp - 0xf0]
fadd qword [0x21]
fstp qword [ebp - 0xf8]
fld qword [ebp - 0xf8]
call fcn.0063f352
mov byte [0x14], al
push 0x80000005
push 0
mov eax, dword [ebp - 0x74]
test eax, eax
jne 0x640abb
mov eax, 0
push eax
push 1
mov ebx, 0x194
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 0
jne 0x640b32
mov eax, 0x86
push eax
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
test ebx, ebx
je 0x640af9
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov ebx, dword [ebp + 0x10]
mov dword [ebx], eax
push 0x80000301
push 0
push dword [0]
push 1
mov ebx, 0x10
mov eax, 6
call fcn.006786e1
add esp, 0x10
mov eax, 0
jmp 0x64422d
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x640b4c
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.006786b7
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x640b5d
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0x78], eax
cmp dword [ebp + 0xc], 1
jne 0x640c43
push 0x80000005
push 0
mov eax, dword [ebp - 0x74]
test eax, eax
jne 0x640b7e
mov eax, 0
push eax
push 1
mov ebx, 0x168
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0xf0], eax
push 0x80000301
push 0
push 2
push 0x80000004
push 0
mov eax, dword [ebp - 0xf0]
test eax, eax
jne 0x640bb9
mov eax, 0x20
push eax
push 2
mov ebx, 0x134
call fcn.006786c3
add esp, 0x1c
mov dword [ebp - 0xf4], eax
mov ebx, dword [ebp - 0xf0]
test ebx, ebx
je 0x640be5
push ebx
call fcn.006786bd
add esp, 4
mov eax, 0x92
mov dword [ebp - 0xf8], eax
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0xf4]
push eax
call fcn.0064c2bd
mov dword [ebp - 0xfc], eax
mov ebx, dword [ebp - 0xf4]
test ebx, ebx
je 0x640c1c
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0xf8]
test ebx, ebx
je 0x640c2f
push ebx
call fcn.006786bd
add esp, 4
cmp dword [ebp - 0xfc], 1
jne 0x640c43
mov eax, 1
jmp 0x640c48
mov eax, 0
test eax, eax
je 0x640d95
push 0x80000301
push 0
push 0x20
push 0x80000301
push 0
push 3
push 0x80000005
push 0
mov eax, dword [ebp - 0x74]
test eax, eax
jne 0x640c7b
mov eax, 0
push eax
push 3
mov ebx, 0x1a8
call fcn.006786c3
add esp, 0x28
mov dword [ebp - 0xec], eax
push 0x80000005
push 0
mov eax, dword [ebp - 0xec]
test eax, eax
jne 0x640caa
mov eax, 0
push eax
push 1
mov ebx, 0x168
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0xf0], eax
mov ebx, dword [ebp - 0xec]
test ebx, ebx
je 0x640cd6
push ebx
call fcn.006786bd
add esp, 4
mov eax, dword [ebp - 0xf0]
push eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x640ced
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0x38], eax
push 0x80000005
push 0
mov eax, dword [ebp - 0x74]
test eax, eax
jne 0x640d04
mov eax, 0
push eax
push 1
mov ebx, 0x194
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0xf4], eax
fild dword [ebp - 0xf4]
fstp qword [ebp - 0xf4]
fld qword [ebp - 0xf4]
fsub qword [0x95]
fstp qword [ebp - 0xfc]
fld qword [ebp - 0xfc]
call fcn.0063f352
push 0x80000301
push 0
push eax
push 0x80000005
push 0
mov eax, dword [ebp - 0x74]
test eax, eax
jne 0x640d61
mov eax, 0
push eax
push 2
mov ebx, 0x1a4
call fcn.006786c3
add esp, 0x1c
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x100]
push eax
mov ebx, dword [ebp - 0x74]
test ebx, ebx
je 0x640d91
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0x74], eax
dec dword [4]
fld qword [8]
fadd qword [8]
fstp qword [8]
fld dword [0x10]
fadd qword [0x53]
fstp qword [ebp - 0xf0]
fld qword [ebp - 0xf0]
fstp dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
mov dword [0x10], eax
mov eax, dword [0x14]
and eax, 0xff
mov dword [ebp - 0xf0], eax
fild dword [ebp - 0xf0]
fstp qword [ebp - 0xf0]
fld qword [ebp - 0xf0]
fadd qword [0x21]
fstp qword [ebp - 0xf8]
fld qword [ebp - 0xf8]
call fcn.0063f352
mov byte [0x14], al
call fcn.00644d7c
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xec]
push eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x640e36
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0x40], eax
call fcn.00648503
mov dword [ebp - 0xf4], eax
fild dword [ebp - 0xf4]
fstp qword [ebp - 0xf4]
fld qword [ebp - 0xf4]
fmul qword [0x10]
fstp qword [ebp - 0xfc]
push 0x80000601
push dword [ebp - 0xf8]
push dword [ebp - 0xfc]
push 1
mov ebx, 0x168
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0x100], eax
mov dword [ebp - 0x104], 0
push 0
push dword [ebp - 0x104]
mov dword [ebp - 0x108], 0
push 0
lea eax, [ebp - 0x108]
push eax
push 0x48
call fcn.00648311
mov dword [ebp - 0x10c], eax
mov ebx, dword [ebp - 0x108]
test ebx, ebx
je 0x640ed4
push ebx
call fcn.006786bd
add esp, 4
push 0x80000005
push 0
mov eax, dword [ebp - 0x10c]
test eax, eax
jne 0x640eea
mov eax, 0
push eax
push 1
mov ebx, 0x168
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0x110], eax
mov ebx, dword [ebp - 0x10c]
test ebx, ebx
je 0x640f16
push ebx
call fcn.006786bd
add esp, 4
push dword [ebp - 0x110]
push dword [ebp - 0x28]
push dword [ebp - 0x100]
push dword [ebp - 0x40]
mov ecx, 4
call fcn.0063f2f6
add esp, 0x10
mov dword [ebp - 0x114], eax
mov ebx, dword [ebp - 0x100]
test ebx, ebx
je 0x640f4e
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x110]
test ebx, ebx
je 0x640f61
push ebx
call fcn.006786bd
add esp, 4
push 0x80000004
push 0
mov eax, dword [ebp - 0x114]
test eax, eax
jne 0x640f77
mov eax, 0x20
push eax
push 1
mov ebx, 0x198
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0x118], eax
mov ebx, dword [ebp - 0x114]
test ebx, ebx
je 0x640fa3
push ebx
call fcn.006786bd
add esp, 4
mov dword [ebp - 0x11c], 0
push 0
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.00647003
mov dword [ebp - 0x120], eax
mov ebx, dword [ebp - 0x118]
test ebx, ebx
je 0x640fdb
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x11c]
test ebx, ebx
je 0x640fee
push ebx
call fcn.006786bd
add esp, 4
push 0x80000301
push 0
push dword [ebp - 0x54]
push 1
mov ebx, 0x198
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0x124], eax
push dword [ebp - 0x124]
push dword [ebp - 0x120]
mov ecx, 2
call fcn.0063f379
add esp, 8
mov dword [ebp - 0x128], eax
mov ebx, dword [ebp - 0x120]
test ebx, ebx
je 0x641042
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x124]
test ebx, ebx
je 0x641055
push ebx
call fcn.006786bd
add esp, 4
mov eax, dword [ebp - 0x128]
push eax
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x64106c
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0x34], eax
push 0x80000301
push 0
push 0xae3b996
push 1
mov ebx, 0x164
call fcn.006786c3
add esp, 0x10
push 0x80000601
push edx
push eax
push 1
mov ebx, 0x198
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf4]
push eax
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x6410c4
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0xec], 0
push 0
push dword [ebp - 0xec]
push 1
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.00648311
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xf4], 0
push 0
push dword [ebp - 0xf4]
push 1
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0xf0]
push eax
call fcn.0064c3c7
mov dword [ebp - 0xf8], eax
mov ebx, dword [ebp - 0xf0]
test ebx, ebx
je 0x64112c
push ebx
call fcn.006786bd
add esp, 4
mov eax, dword [ebp - 0xf8]
push eax
mov ebx, dword [ebp - 0x80]
test ebx, ebx
je 0x641143
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0x80], eax
push 0x80000005
push 0
mov eax, dword [ebp - 0x80]
test eax, eax
jne 0x64115a
mov eax, 0
push eax
push 1
mov ebx, 0x168
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xec]
push eax
mov ebx, dword [ebp - 0x84]
test ebx, ebx
je 0x64118d
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0x84], eax
push 0x80000004
push 0
mov eax, dword [ebp - 0x84]
test eax, eax
jne 0x6411aa
mov eax, 0x20
push eax
push 1
mov ebx, 0x198
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xec]
push eax
mov ebx, dword [0x4c]
test ebx, ebx
je 0x6411dd
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [0x4c], eax
push 0x80000005
push 0
mov eax, dword [ebp - 0x80]
test eax, eax
jne 0x6411f6
mov eax, 0
push eax
push 1
mov ebx, 0x168
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0xec], eax
push 0
push 0
push 0
push 0x80000004
push 0
push 0x29
push 0x80000004
push 0
mov eax, dword [ebp - 0xec]
test eax, eax
jne 0x641237
mov eax, 0x20
push eax
push 3
mov ebx, 0x190
call fcn.006786c3
add esp, 0x28
mov dword [ebp - 0xf0], eax
mov ebx, dword [ebp - 0xec]
test ebx, ebx
je 0x641263
push ebx
call fcn.006786bd
add esp, 4
mov eax, dword [ebp - 0xf0]
push eax
mov ebx, dword [ebp - 0x88]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x64128b
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x641287
imul eax, dword [ebx]
jmp 0x64127c
mov ecx, eax
test ecx, ecx
je 0x6412aa
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x6412a3
push ebx
push eax
call fcn.006786bd
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x641291
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0x88], eax
mov ebx, dword [ebp - 0x88]
call fcn.0063f3d0
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 0x10
jl 0x64396c
mov dword [ebp - 0xec], 0
push 0
lea eax, [ebp - 0xec]
push eax
call fcn.0064c5a0
mov dword [ebp - 0xf0], eax
mov ebx, dword [ebp - 0xec]
test ebx, ebx
je 0x641308
push ebx
call fcn.006786bd
add esp, 4
lea eax, [ebp - 0xf0]
push eax
call fcn.00644aae
mov dword [ebp - 0xf4], eax
mov ebx, dword [ebp - 0xf0]
test ebx, ebx
je 0x64132d
push ebx
call fcn.006786bd
add esp, 4
lea eax, [ebp - 0x5c]
push eax
call fcn.00644aae
mov dword [ebp - 0xf8], eax
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0xf4]
push eax
call fcn.0064c2bd
mov dword [ebp - 0xfc], eax
mov ebx, dword [ebp - 0xf4]
test ebx, ebx
je 0x641368
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0xf8]
test ebx, ebx
je 0x64137b
push ebx
call fcn.006786bd
add esp, 4
cmp dword [ebp - 0xfc], 0
je 0x6413fa
cmp dword [ebp - 0x60], 0xfffffb9e
je 0x6413ef
inc dword [ebp - 0x64]
dec dword [ebp - 0x68]
fild dword [ebp - 0x6c]
fstp qword [ebp - 0xf0]
fld qword [ebp - 0xf0]
fmul qword [8]
fstp qword [ebp - 0xf8]
fld qword [ebp - 0xf8]
call fcn.0063f352
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x70]
fstp qword [ebp - 0xf0]
fld qword [ebp - 0xf0]
fdiv qword [8]
fstp qword [ebp - 0xf8]
fld qword [ebp - 0xf8]
call fcn.0063f352
mov dword [ebp - 0x70], eax
jmp 0x641388
mov eax, dword [ebp - 0x8c]
jmp 0x64422d
dec dword [4]
fld qword [8]
fadd qword [8]
fstp qword [8]
fld dword [0x10]
fadd qword [0x53]
fstp qword [ebp - 0xf0]
fld qword [ebp - 0xf0]
fstp dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
mov dword [0x10], eax
mov eax, dword [0x14]
and eax, 0xff
mov dword [ebp - 0xf0], eax
fild dword [ebp - 0xf0]
fstp qword [ebp - 0xf0]
fld qword [ebp - 0xf0]
fadd qword [0x21]
fstp qword [ebp - 0xf8]
fld qword [ebp - 0xf8]
call fcn.0063f352
mov byte [0x14], al
call fcn.00644d7c
mov dword [ebp - 0xec], eax
mov ebx, dword [ebp - 0x88]
call fcn.0063f3e9
mov eax, 8
cmp eax, ecx
jl 0x6414af
push 0x2713
push 0x4026c91
push 1
call fcn.006786c9
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0xf0], ebx
push dword [ebp - 0xf0]
lea eax, [ebp - 0xec]
push eax
call fcn.0064c2bd
mov dword [ebp - 0xf4], eax
mov ebx, dword [ebp - 0xec]
test ebx, ebx
je 0x6414e5
push ebx
call fcn.006786bd
add esp, 4
cmp dword [ebp - 0xf4], 0
jne 0x641569
cmp dword [ebp - 0x60], 0xfffffb9e
je 0x641559
inc dword [ebp - 0x64]
dec dword [ebp - 0x68]
fild dword [ebp - 0x6c]
fstp qword [ebp - 0xf0]
fld qword [ebp - 0xf0]
fmul qword [8]
fstp qword [ebp - 0xf8]
fld qword [ebp - 0xf8]
call fcn.0063f352
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x70]
fstp qword [ebp - 0xf0]
fld qword [ebp - 0xf0]
fdiv qword [8]
fstp qword [ebp - 0xf8]
fld qword [ebp - 0xf8]
call fcn.0063f352
mov dword [ebp - 0x70], eax
jmp 0x6414f2
mov eax, dword [ebp - 0x8c]
jmp 0x64422d
dec dword [4]
fld qword [8]
fadd qword [8]
fstp qword [8]
fld dword [0x10]
fadd qword [0x53]
fstp qword [ebp - 0xf0]
fld qword [ebp - 0xf0]
fstp dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
mov dword [0x10], eax
mov ebx, dword [ebp - 0x88]
call fcn.0063f3e9
mov eax, 9
cmp eax, ecx
jl 0x6415d5
push 0x29e6
push 0x4026c91
push 1
call fcn.006786c9
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0xec], ebx
push dword [ebp - 0xec]
call fcn.0064c65f
mov dword [ebp - 0xf0], eax
call fcn.0064c8b1
mov dword [ebp - 0xf4], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push 0x10
push 0x80000004
push 0
mov eax, dword [ebp - 0xf4]
test eax, eax
jne 0x64162a
mov eax, 0x20
push eax
push 3
mov ebx, 0x13c
call fcn.006786c3
add esp, 0x28
mov dword [ebp - 0xf8], eax
mov ebx, dword [ebp - 0xf4]
test ebx, ebx
je 0x641656
push ebx
call fcn.006786bd
add esp, 4
lea eax, [ebp - 0xf8]
push eax
call fcn.0064c918
mov dword [ebp - 0xfc], eax
mov ebx, dword [ebp - 0xf8]
test ebx, ebx
je 0x64167b
push ebx
call fcn.006786bd
add esp, 4
fild dword [ebp - 0xfc]
fstp qword [ebp - 0x104]
fld qword [ebp - 0x104]
fild dword [ebp - 0x54]
fstp qword [ebp - 0x10c]
fmul qword [ebp - 0x10c]
fstp qword [ebp - 0x114]
push 0x80000601
push dword [ebp - 0x110]
push dword [ebp - 0x114]
push 1
mov ebx, 0x164
call fcn.006786c3
add esp, 0x10
push 0x80000601
push edx
push eax
push 1
mov ebx, 0x198
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x124], 0
push 0
push dword [ebp - 0x124]
push 1
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0xf0]
push eax
call fcn.00648311
mov dword [ebp - 0x128], eax
mov ebx, dword [ebp - 0xf0]
test ebx, ebx
je 0x641724
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x120]
test ebx, ebx
je 0x641737
push ebx
call fcn.006786bd
add esp, 4
push 0
push 0
push 0
push 0x80000301
push 0
push 3
push 0x80000005
push 0
mov eax, dword [ebp - 0x128]
test eax, eax
jne 0x64175f
mov eax, 0
push eax
push 3
mov ebx, 0x19c
call fcn.006786c3
add esp, 0x28
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x12c], ecx
mov ebx, dword [ebp - 0x128]
test ebx, ebx
je 0x641797
push ebx
call fcn.006786bd
add esp, 4
mov ecx, dword [ebp - 0x12c]
mov edx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x134]
cmp ecx, 0x80000101
jne 0x6417b8
and eax, 0xff
jmp 0x641819
cmp ecx, 0x80000201
jne 0x6417c3
cwde
jmp 0x641819
cmp ecx, 0x80000301
je 0x641819
cmp ecx, 0x80000401
je 0x641819
mov dword [ebp - 0x13c], eax
cmp ecx, 0x80000501
je 0x641800
mov dword [ebp - 0x90], eax
call fcn.00648503
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0x90]
cmp dword [ebp - 0xf0], eax
je 0x6418b3
cmp dword [ebp - 0x60], 0xfffffb9e
je 0x6418a3
mov eax, dword [0x14]
and eax, 0xff
mov dword [ebp - 0xf0], eax
fild dword [ebp - 0xf0]
fstp qword [ebp - 0xf0]
fld qword [ebp - 0xf0]
fadd qword [0x21]
fstp qword [ebp - 0xf8]
fld qword [ebp - 0xf8]
call fcn.0063f352
mov byte [0x14], al
call fcn.0064ca13
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0x90]
cmp dword [ebp - 0xf0], eax
je 0x641980
mov ebx, dword [ebp - 0x88]
call fcn.0063f3d0
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 2
jne 0x643a10
push 0x80000301
push 0
push 1
push 0x80000004
push 0
mov eax, dword [ebp - 0x84]
test eax, eax
jne 0x6439ac
mov eax, 0x20
push eax
push 2
mov ebx, 0x134
call fcn.006786c3
add esp, 0x1c
mov dword [ebp - 0xf8], eax
push 0x13d
push dword [ebp - 0xf8]
call fcn.0063f409
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0xfc], eax
mov ebx, dword [ebp - 0xf8]
test ebx, ebx
je 0x6439fc
push ebx
call fcn.006786bd
add esp, 4
cmp dword [ebp - 0xfc], 0
je 0x643a10
mov eax, 1
jmp 0x643a15
mov eax, 0
test eax, eax
je 0x643a92
mov ebx, dword [ebp - 0x88]
call fcn.0063f3e9
mov eax, 1
cmp eax, ecx
jl 0x643a48
push 0x5a1e
push 0x4026c91
push 1
call fcn.006786c9
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0xec], ebx
mov ebx, dword [ebp - 0xec]
mov eax, dword [ebx]
test eax, eax
je 0x643a74
push eax
mov ebx, eax
call fcn.0063f28b
inc eax
push eax
call fcn.006786b7
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
test ebx, ebx
je 0x643a87
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov ebx, dword [ebp + 0x10]
mov dword [ebx], eax
jmp 0x643ab0
mov eax, 0x13f
push eax
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
test ebx, ebx
je 0x643aaa
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov ebx, dword [ebp + 0x10]
mov dword [ebx], eax
push 0x70
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x28]
test eax, eax
je 0x643adb
push 0x70
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xc]
jmp 0x643adb
dec dword [4]
fld qword [8]
fadd qword [8]
fstp qword [8]
fld dword [0x10]
fadd qword [0x53]
fstp qword [ebp - 0xf0]
fld qword [ebp - 0xf0]
fstp dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
mov dword [0x10], eax
mov eax, dword [0x14]
and eax, 0xff
mov dword [ebp - 0xf0], eax
fild dword [ebp - 0xf0]
fstp qword [ebp - 0xf0]
fld qword [ebp - 0xf0]
fadd qword [0x21]
fstp qword [ebp - 0xf8]
fld qword [ebp - 0xf8]
call fcn.0063f352
mov byte [0x14], al
push 0x80000005
push 0
mov eax, dword [0x28]
test eax, eax
jne 0x643b6f
mov eax, 0
push eax
push 1
mov ebx, 0x194
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 0
jne 0x643bfe
mov eax, 0
test eax, eax
je 0x643bb1
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.006786b7
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [0x5c]
test ebx, ebx
je 0x643bc5
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [0x5c], eax
mov eax, 0x20
push eax
mov ebx, dword [0x2c]
test ebx, ebx
je 0x643be4
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [0x2c], eax
mov dword [0x34], 0
mov dword [0x38], 0
mov ebx, dword [ebp - 0x88]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x643c1f
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x643c1b
imul eax, dword [ebx]
jmp 0x643c10
mov ecx, eax
test ecx, ecx
je 0x643c3e
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x643c37
push ebx
push eax
call fcn.006786bd
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x643c25
call fcn.006786bd
add esp, 4
mov eax, 0
mov dword [ebp - 0x88], eax
push 0x80000005
push 0
mov eax, dword [ebp - 0x74]
test eax, eax
jne 0x643c64
mov eax, 0
push eax
push 1
mov ebx, 0x194
call fcn.006786c3
add esp, 0x10
push eax
call fcn.0064d824
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xf0]
push eax
mov ebx, dword [ebp - 0x74]
test ebx, ebx
je 0x643c9a
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0x74], eax
push 0x80000004
push 0
mov eax, dword [ebp - 0x40]
test eax, eax
jne 0x643cb1
mov eax, 0x20
push eax
push 1
mov ebx, 0x130
call fcn.006786c3
add esp, 0x10
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x184
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xf0]
push eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x643cfb
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0x40], eax
push 0x80000005
push 0
mov eax, dword [ebp - 0x80]
test eax, eax
jne 0x643d12
mov eax, 0
push eax
push 1
mov ebx, 0x194
call fcn.006786c3
add esp, 0x10
push eax
call fcn.0064d824
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xf0]
push eax
mov ebx, dword [ebp - 0x80]
test ebx, ebx
je 0x643d48
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0x80], eax
push 0x80000004
push 0
mov eax, dword [ebp - 0xd4]
test eax, eax
jne 0x643d62
mov eax, 0x20
push eax
push 1
mov ebx, 0x130
call fcn.006786c3
add esp, 0x10
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x184
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xf0]
push eax
mov ebx, dword [ebp - 0xd4]
test ebx, ebx
je 0x643daf
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0xd4], eax
push 0x80000004
push 0
mov eax, dword [ebp - 0xd8]
test eax, eax
jne 0x643dcc
mov eax, 0x20
push eax
push 1
mov ebx, 0x130
call fcn.006786c3
add esp, 0x10
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x184
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xf0]
push eax
mov ebx, dword [ebp - 0xd8]
test ebx, ebx
je 0x643e19
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0xd8], eax
push 0x80000004
push 0
mov eax, dword [ebp - 0x38]
test eax, eax
jne 0x643e33
mov eax, 0x20
push eax
push 1
mov ebx, 0x130
call fcn.006786c3
add esp, 0x10
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x184
call fcn.006786c3
add esp, 0x10
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xf0]
push eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x643e7d
push ebx
call fcn.006786bd
add esp, 4
pop eax
mov dword [ebp - 0x38], eax
push 0x80000004
push 0
mov eax, dword [ebp - 0x84]
test eax, eax
jne 0x643e97
push eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x64423e
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x24]
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x64425a
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x64426a
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x64427a
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x64428a
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x64429a
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x6442aa
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x6442ba
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x5c]
test ebx, ebx
je 0x6442ca
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x74]
test ebx, ebx
je 0x6442da
push ebx
call fcn.006786bd
add esp, 4
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x6442ea