Function at 0x99d570
Capabilities:
Create thread
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x280
mov eax, dword [0xa05274]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x9fa320
call fcn.009c29a0
add esp, 4
mov dword [ebp - 0x1e4], eax
mov dword [ebp - 0x254], 0x30
mov dword [ebp - 0x250], 3
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], 0
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov dword [ebp - 0x240], eax
push 0x101
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_LoadIconW]
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x230], 0
mov ecx, dword [ebp - 0x1e4]
mov dword [ebp - 0x22c], ecx
mov dword [ebp - 0x228], 0
push 3
call fcn.00401000
add esp, 4
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x1e8], edx
mov dword [ebp - 0x1dc], 0xa11e10
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x264], eax
mov ecx, dword [ebp - 0x1e8]
mov dx, word [ecx]
mov word [ebp - 0x1ba], dx
mov eax, dword [ebp - 0x1dc]
mov cx, word [ebp - 0x1ba]
mov word [eax], cx
mov edx, dword [ebp - 0x1e8]
add edx, 2
mov dword [ebp - 0x1e8], edx
mov eax, dword [ebp - 0x1dc]
add eax, 2
mov dword [ebp - 0x1dc], eax
cmp word [ebp - 0x1ba], 0
jne 0x99d64b
mov dword [ebp - 0x24c], 0x997b00
lea ecx, [ebp - 0x254]
push ecx
call dword [sym.imp.USER32.dll_RegisterClassExW]
movzx edx, ax
test edx, edx
jne 0x99d6b8
xor eax, eax
jmp 0x99f097
mov eax, dword [ebp + 8]
mov dword [0xa13284], eax
call fcn.0047c7f0
mov ecx, dword [ebp - 0x1e4]
push ecx
mov edx, dword [ebp - 0x1e4]
push edx
call dword [0xa13860]
test eax, eax
je 0x99ef54
xorps xmm0, xmm0
movsd qword [ebp - 0x1c8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x1b8], xmm0
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x194], 0
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x1c0], 1
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x1ec], 0
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x260], 0
mov byte [ebp - 0x11d], 0
mov byte [ebp - 0x11e], 0
mov byte [ebp - 0x123], 0
mov byte [ebp - 0x11f], 0
mov byte [ebp - 0x120], 0
mov byte [ebp - 0x121], 0
mov byte [ebp - 0x135], 0
mov byte [ebp - 0x124], 0
mov byte [ebp - 0x122], 0
mov byte [ebp - 0x129], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x1c8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x1b8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x1b8], xmm0
jmp 0x99d836
movsd xmm0, qword [ebp - 0x1b8]
addsd xmm0, qword [0x9e5058]
movsd qword [ebp - 0x1b8], xmm0
movsd xmm0, qword [0x9e58d8]
comisd xmm0, xmmword [ebp - 0x1b8]
jbe 0x99d8e7
movsd xmm0, qword [0x9e5238]
mulsd xmm0, qword [ebp - 0x1b8]
mulsd xmm0, qword [ebp - 0x1b8]
movsd xmm1, qword [ebp - 0x1b8]
mulsd xmm1, qword [ebp - 0x1b8]
subsd xmm0, xmm1
movsd xmm1, qword [0x9e50e8]
mulsd xmm1, qword [ebp - 0x1b8]
mulsd xmm1, qword [ebp - 0x1b8]
addsd xmm1, qword [0x9e5110]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x1c8]
movsd qword [ebp - 0x1c8], xmm0
movsd xmm0, qword [ebp - 0x1c8]
comisd xmm0, xmmword [0x9e5218]
jbe 0x99d8e2
movsd xmm0, qword [0x9e5020]
mulsd xmm0, qword [ebp - 0x1b8]
movsd xmm1, qword [ebp - 0x1c8]
subsd xmm1, xmm0
movsd qword [ebp - 0x1c8], xmm1
jmp 0x99d81e
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x1c8]
jbe 0x99d91f
inc ecx
jp 0x99d922
and esi, dword [ebx + 0x48]
and ah, byte [ebx + 0x35]
inc ebp
pop ebx
jb 0x99d950
push edx
push 0x52
insb byte es:[edi], dx
and eax, 0x6556587e
dec edx
dec edi
cmp eax, 0x4870653d
stosd dword es:[edi], eax
cdq
mov ch, 0x97
mov bl, 0x91
mov ecx, 0x1619e98e
add byte [eax], al
mov dword [ebp - 0x214], 0x99d912
mov dword [ebp - 0x218], 0x99d8f4
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x198], eax
mov ecx, dword [ebp - 0x218]
mov dword [ebp - 0x21c], ecx
mov byte [ebp - 0x135], 0x22
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x194], 0
mov dword [ebp - 0x128], 0
jmp 0x99d981
std
invalid
jmp dword [edx]
mov edx, dword [ebp - 0x128]
add edx, 1
mov dword [ebp - 0x128], edx
cmp dword [ebp - 0x128], 0x100
jae 0x99d9a2
mov eax, dword [ebp - 0x128]
mov cl, byte [ebp - 0x128]
mov byte [ebp + eax - 0x10c], cl
jmp 0x99d972
mov dword [ebp - 0x194], 0
mov byte [ebp - 0x121], 0
mov dword [ebp - 0x128], 0xff
jmp 0x99d9ce
mov edx, dword [ebp - 0x128]
sub edx, 1
mov dword [ebp - 0x128], edx
cmp dword [ebp - 0x128], 0
jbe 0x99dc48
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x1c0], 1
mov dword [ebp - 0x148], 0
mov eax, dword [ebp - 0x1c0]
cmp eax, dword [ebp - 0x128]
jae 0x99da19
mov ecx, dword [ebp - 0x1c0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x1c0], edx
jmp 0x99d9f9
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x1f8], eax
cmp dword [ebp - 0x1f8], 3
ja case.default.0x99da38
mov ecx, dword [ebp - 0x1f8]
jmp dword [ecx*4 + 0x99f0ac]
movzx edx, byte [ebp - 0x121]
movzx ebx, byte [ebp + edx - 0x10c]
movsd xmm0, qword [ebp - 0x1c8]
call fcn.009c2ce0
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x121], bl
jmp 0x99db21
movzx eax, byte [ebp - 0x121]
movzx ebx, byte [ebp + eax - 0x10c]
movsd xmm0, qword [ebp - 0x1c8]
call fcn.009c2ce0
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x121], bl
jmp 0x99db21
movzx ecx, byte [ebp - 0x121]
movzx ebx, byte [ebp + ecx - 0x10c]
movsd xmm0, qword [ebp - 0x1c8]
call fcn.009c2ce0
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x121], bl
jmp 0x99db21
movzx edx, byte [ebp - 0x121]
movzx ebx, byte [ebp + edx - 0x10c]
movsd xmm0, qword [ebp - 0x1c8]
call fcn.009c2ce0
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x121], bl
jmp 0x99db21
movzx eax, byte [ebp - 0x121]
movzx ecx, byte [ebp + eax - 0x10c]
mov edx, dword [ebp - 0x21c]
add edx, dword [ebp - 0x194]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0x121], cl
mov ecx, dword [ebp - 0x194]
add ecx, 1
mov dword [ebp - 0x194], ecx
movzx edx, byte [ebp - 0x135]
cmp dword [ebp - 0x194], edx
jb 0x99db5f
mov dword [ebp - 0x194], 0
movzx eax, byte [ebp - 0x135]
movzx ecx, byte [ebp - 0x121]
add ecx, eax
mov byte [ebp - 0x121], cl
movzx edx, byte [ebp - 0x121]
and edx, dword [ebp - 0x1c0]
mov dword [ebp - 0x148], edx
mov eax, dword [ebp - 0x1e0]
add eax, 1
mov dword [ebp - 0x1e0], eax
cmp dword [ebp - 0x1e0], 0xb
jbe 0x99db9e
mov eax, dword [ebp - 0x148]
xor edx, edx
div dword [ebp - 0x128]
mov dword [ebp - 0x148], edx
mov ecx, dword [ebp - 0x148]
cmp ecx, dword [ebp - 0x128]
ja 0x99da19
mov edx, dword [ebp - 0x128]
cmp edx, dword [ebp - 0x148]
je 0x99dc43
mov eax, dword [ebp - 0x148]
movzx ecx, byte [ebp + eax - 0x10c]
mov edx, dword [ebp - 0x128]
movzx eax, byte [ebp + edx - 0x10c]
xor eax, ecx
mov ecx, dword [ebp - 0x128]
mov byte [ebp + ecx - 0x10c], al
mov edx, dword [ebp - 0x128]
movzx eax, byte [ebp + edx - 0x10c]
mov ecx, dword [ebp - 0x148]
movzx edx, byte [ebp + ecx - 0x10c]
xor edx, eax
mov eax, dword [ebp - 0x148]
mov byte [ebp + eax - 0x10c], dl
mov ecx, dword [ebp - 0x148]
movzx edx, byte [ebp + ecx - 0x10c]
mov eax, dword [ebp - 0x128]
movzx ecx, byte [ebp + eax - 0x10c]
xor ecx, edx
mov edx, dword [ebp - 0x128]
mov byte [ebp + edx - 0x10c], cl
jmp 0x99d9bf
mov eax, 1
shl eax, 0
mov cl, byte [ebp + eax - 0x10c]
mov byte [ebp - 0x11d], cl
mov edx, 1
imul eax, edx, 3
mov cl, byte [ebp + eax - 0x10c]
mov byte [ebp - 0x11e], cl
mov edx, 1
imul eax, edx, 5
mov cl, byte [ebp + eax - 0x10c]
mov byte [ebp - 0x123], cl
mov edx, 1
imul eax, edx, 7
mov cl, byte [ebp + eax - 0x10c]
mov byte [ebp - 0x11f], cl
movzx edx, byte [ebp - 0x121]
mov al, byte [ebp + edx - 0x10c]
mov byte [ebp - 0x120], al
mov dword [ebp - 0x1ec], 8
cmp dword [ebp - 0x1ec], 2
jle 0x99eee7
mov ecx, dword [ebp - 0x1ec]
and ecx, 1
jne 0x99eee7
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x174], 0
mov edx, dword [ebp - 0x174]
add edx, 1
mov dword [ebp - 0x174], edx
mov dword [ebp - 0x178], 0
mov eax, dword [ebp - 0x128]
shl eax, 1
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x14c], 0
mov ecx, dword [ebp - 0x198]
add ecx, dword [ebp - 0x178]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x14c]
mov dword [ebp - 0x14c], edx
mov dword [ebp - 0x150], 0
mov eax, dword [ebp - 0x150]
add eax, 0xaa
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x17c], 0
mov ecx, dword [ebp - 0x128]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x17c], edx
mov dword [ebp - 0x154], 0
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x17c]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x154]
mov dword [ebp - 0x154], ecx
mov dword [ebp - 0x158], 0
mov edx, dword [ebp - 0x158]
add edx, 0x8d
mov dword [ebp - 0x158], edx
mov dword [ebp - 0x15c], 0
mov eax, dword [ebp - 0x14c]
sub eax, dword [ebp - 0x150]
add eax, dword [ebp - 0x15c]
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x160], 0
mov ecx, dword [ebp - 0x154]
sub ecx, dword [ebp - 0x158]
add ecx, dword [ebp - 0x160]
mov dword [ebp - 0x160], ecx
mov dword [ebp - 0x180], 0
mov edx, dword [ebp - 0x15c]
shl edx, 4
mov dword [ebp - 0x180], edx
mov dword [ebp - 0x184], 0
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x188], 0
mov ecx, dword [ebp - 0x180]
or ecx, dword [ebp - 0x184]
mov dword [ebp - 0x188], ecx
mov byte [ebp - 0x124], 0
mov dl, byte [ebp - 0x188]
mov byte [ebp - 0x124], dl
mov byte [ebp - 0x122], 0
movzx eax, byte [ebp - 0x120]
mov cl, byte [ebp + eax - 0x10c]
mov byte [ebp - 0x122], cl
movzx edx, byte [ebp - 0x11d]
movzx eax, byte [ebp + edx - 0x10c]
movzx ecx, byte [ebp - 0x11e]
add ecx, eax
mov byte [ebp - 0x11e], cl
mov dl, byte [ebp - 0x11d]
add dl, 1
mov byte [ebp - 0x11d], dl
movzx eax, byte [ebp - 0x11e]
movzx ecx, byte [ebp - 0x120]
mov dl, byte [ebp + eax - 0x10c]
mov byte [ebp + ecx - 0x10c], dl
movzx eax, byte [ebp - 0x11f]
movzx ecx, byte [ebp - 0x11e]
mov dl, byte [ebp + eax - 0x10c]
mov byte [ebp + ecx - 0x10c], dl
movzx eax, byte [ebp - 0x11d]
movzx ecx, byte [ebp - 0x11f]
mov dl, byte [ebp + eax - 0x10c]
mov byte [ebp + ecx - 0x10c], dl
movzx eax, byte [ebp - 0x11d]
mov cl, byte [ebp - 0x122]
mov byte [ebp + eax - 0x10c], cl
movzx edx, byte [ebp - 0x122]
movzx eax, byte [ebp + edx - 0x10c]
movzx ecx, byte [ebp - 0x123]
add ecx, eax
mov byte [ebp - 0x123], cl
movss xmm0, dword [0x9e5b94]
movss dword [ebp - 0x144], xmm0
movss xmm0, dword [0x9e5aa0]
movss dword [ebp - 0x130], xmm0
movss xmm0, dword [0x9e59a4]
movss dword [ebp - 0x134], xmm0
movss xmm0, dword [ebp - 0x130]
mulss xmm0, dword [ebp - 0x134]
movss dword [ebp - 0x130], xmm0
movss xmm0, dword [ebp - 0x144]
mulss xmm0, dword [ebp - 0x134]
movss dword [ebp - 0x144], xmm0
movss xmm0, dword [ebp - 0x130]
addss xmm0, dword [ebp - 0x134]
movss dword [ebp - 0x130], xmm0
movss xmm0, dword [ebp - 0x134]
comiss xmm0, dword [ebp - 0x144]
jbe 0x99e0e1
movss xmm0, dword [ebp - 0x144]
addss xmm0, dword [ebp - 0x130]
movss dword [ebp - 0x144], xmm0
movss xmm0, dword [ebp - 0x130]
addss xmm0, dword [ebp - 0x134]
movss dword [ebp - 0x130], xmm0
movss xmm0, dword [ebp - 0x130]
addss xmm0, dword [ebp - 0x134]
movss dword [ebp - 0x130], xmm0
movss xmm0, dword [ebp - 0x144]
divss xmm0, dword [ebp - 0x130]
movss dword [ebp - 0x144], xmm0
movss xmm0, dword [ebp - 0x130]
divss xmm0, dword [ebp - 0x134]
movss dword [ebp - 0x130], xmm0
movss xmm0, dword [ebp - 0x130]
subss xmm0, dword [ebp - 0x134]
movss dword [ebp - 0x130], xmm0
movss xmm0, dword [ebp - 0x130]
comiss xmm0, dword [ebp - 0x134]
jbe 0x99e094
movss xmm0, dword [ebp - 0x130]
mulss xmm0, dword [ebp - 0x144]
movss dword [ebp - 0x130], xmm0
movss xmm0, dword [ebp - 0x130]
subss xmm0, dword [ebp - 0x144]
movss dword [ebp - 0x130], xmm0
movss xmm0, dword [ebp - 0x134]
divss xmm0, dword [ebp - 0x130]
movss dword [ebp - 0x134], xmm0
jmp 0x99e0dc
movss xmm0, dword [ebp - 0x134]
subss xmm0, dword [ebp - 0x144]
movss dword [ebp - 0x134], xmm0
movss xmm0, dword [ebp - 0x134]
addss xmm0, dword [ebp - 0x144]
movss dword [ebp - 0x134], xmm0
movss xmm0, dword [ebp - 0x134]
subss xmm0, dword [ebp - 0x144]
movss dword [ebp - 0x134], xmm0
jmp 0x99e1af
movss xmm0, dword [ebp - 0x134]
mulss xmm0, dword [ebp - 0x130]
movss dword [ebp - 0x134], xmm0
movzx edx, byte [ebp - 0x124]
movzx eax, byte [ebp - 0x11e]
movzx ecx, byte [ebp + eax - 0x10c]
movzx eax, byte [ebp - 0x11d]
movzx eax, byte [ebp + eax - 0x10c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x10c]
xor edx, ecx
movzx eax, byte [ebp - 0x11f]
movzx ecx, byte [ebp + eax - 0x10c]
movzx eax, byte [ebp - 0x120]
movzx eax, byte [ebp + eax - 0x10c]
add ecx, eax
movzx eax, byte [ebp - 0x123]
movzx eax, byte [ebp + eax - 0x10c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x10c]
movzx eax, byte [ebp + ecx - 0x10c]
xor edx, eax
mov byte [ebp - 0x11f], dl
movss xmm0, dword [ebp - 0x134]
mulss xmm0, dword [ebp - 0x130]
movss dword [ebp - 0x134], xmm0
movss xmm0, dword [ebp - 0x134]
addss xmm0, dword [ebp - 0x130]
movss dword [ebp - 0x134], xmm0
mov cl, byte [ebp - 0x124]
mov byte [ebp - 0x120], cl
mov dl, byte [ebp - 0x11f]
mov byte [ebp - 0x129], dl
cmp dword [ebp - 0x128], 0
jbe 0x99e1e3
movsx ax, byte [ebp - 0x129]
mov ecx, dword [ebp - 0x128]
mov word [ebp + ecx*2 - 0xe], ax
mov edx, dword [ebp - 0x128]
add edx, 1
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x174]
add eax, 1
mov dword [ebp - 0x174], eax
mov ecx, dword [ebp - 0x128]
shl ecx, 1
mov dword [ebp - 0x178], ecx
mov edx, dword [ebp - 0x198]
add edx, dword [ebp - 0x178]
movzx eax, byte [edx]
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x150], 0xaa
mov ecx, dword [ebp - 0x128]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x17c], edx
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x17c]
movzx ecx, byte [eax]
mov dword [ebp - 0x154], ecx
mov dword [ebp - 0x158], 0x8d
mov edx, dword [ebp - 0x14c]
sub edx, dword [ebp - 0x150]
mov dword [ebp - 0x15c], edx
mov eax, dword [ebp - 0x154]
sub eax, dword [ebp - 0x158]
mov dword [ebp - 0x160], eax
mov ecx, dword [ebp - 0x15c]
shl ecx, 4
mov dword [ebp - 0x180], ecx
mov edx, dword [ebp - 0x160]
mov dword [ebp - 0x184], edx
mov eax, dword [ebp - 0x180]
or eax, dword [ebp - 0x184]
mov dword [ebp - 0x188], eax
mov cl, byte [ebp - 0x188]
mov byte [ebp - 0x124], cl
movzx edx, byte [ebp - 0x120]
mov al, byte [ebp + edx - 0x10c]
mov byte [ebp - 0x122], al
movzx ecx, byte [ebp - 0x11d]
movzx edx, byte [ebp + ecx - 0x10c]
movzx eax, byte [ebp - 0x11e]
add eax, edx
mov byte [ebp - 0x11e], al
mov cl, byte [ebp - 0x11d]
add cl, 1
mov byte [ebp - 0x11d], cl
movzx edx, byte [ebp - 0x11e]
movzx eax, byte [ebp - 0x120]
mov cl, byte [ebp + edx - 0x10c]
mov byte [ebp + eax - 0x10c], cl
movzx edx, byte [ebp - 0x11f]
movzx eax, byte [ebp - 0x11e]
mov cl, byte [ebp + edx - 0x10c]
mov byte [ebp + eax - 0x10c], cl
movzx edx, byte [ebp - 0x11d]
movzx eax, byte [ebp - 0x11f]
mov cl, byte [ebp + edx - 0x10c]
mov byte [ebp + eax - 0x10c], cl
movzx edx, byte [ebp - 0x11d]
mov al, byte [ebp - 0x122]
mov byte [ebp + edx - 0x10c], al
movzx ecx, byte [ebp - 0x122]
movzx edx, byte [ebp + ecx - 0x10c]
movzx eax, byte [ebp - 0x123]
add eax, edx
mov byte [ebp - 0x123], al
movzx ecx, byte [ebp - 0x124]
movzx edx, byte [ebp - 0x11e]
movzx eax, byte [ebp + edx - 0x10c]
movzx edx, byte [ebp - 0x11d]
movzx edx, byte [ebp + edx - 0x10c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x10c]
xor ecx, eax
movzx edx, byte [ebp - 0x11f]
movzx eax, byte [ebp + edx - 0x10c]
movzx edx, byte [ebp - 0x120]
movzx edx, byte [ebp + edx - 0x10c]
add eax, edx
movzx edx, byte [ebp - 0x123]
movzx edx, byte [ebp + edx - 0x10c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x10c]
movzx edx, byte [ebp + eax - 0x10c]
xor ecx, edx
mov byte [ebp - 0x11f], cl
mov al, byte [ebp - 0x124]
mov byte [ebp - 0x120], al
mov cl, byte [ebp - 0x11f]
mov byte [ebp - 0x129], cl
cmp dword [ebp - 0x128], 0
jbe 0x99e439
movsx dx, byte [ebp - 0x129]
mov eax, dword [ebp - 0x128]
mov word [ebp + eax*2 - 0xe], dx
mov ecx, dword [ebp - 0x128]
add ecx, 1
mov dword [ebp - 0x128], ecx
mov edx, dword [ebp - 0x174]
add edx, 1
mov dword [ebp - 0x174], edx
mov eax, dword [ebp - 0x128]
shl eax, 1
mov dword [ebp - 0x178], eax
mov ecx, dword [ebp - 0x198]
add ecx, dword [ebp - 0x178]
movzx edx, byte [ecx]
mov dword [ebp - 0x14c], edx
mov dword [ebp - 0x150], 0xaa
mov eax, dword [ebp - 0x128]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x17c], ecx
mov edx, dword [ebp - 0x198]
add edx, dword [ebp - 0x17c]
movzx eax, byte [edx]
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x158], 0x8d
mov ecx, dword [ebp - 0x14c]
sub ecx, dword [ebp - 0x150]
mov dword [ebp - 0x15c], ecx
mov edx, dword [ebp - 0x154]
sub edx, dword [ebp - 0x158]
mov dword [ebp - 0x160], edx
mov eax, dword [ebp - 0x15c]
shl eax, 4
mov dword [ebp - 0x180], eax
mov ecx, dword [ebp - 0x160]
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x180]
or edx, dword [ebp - 0x184]
mov dword [ebp - 0x188], edx
mov al, byte [ebp - 0x188]
mov byte [ebp - 0x124], al
movsd xmm0, qword [0x9e57a8]
movsd qword [ebp - 0x170], xmm0
movsd xmm0, qword [0x9e56d8]
movsd qword [ebp - 0x1d0], xmm0
movsd xmm0, qword [0x9e55b0]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [0x9e5488]
movsd qword [ebp - 0x168], xmm0
movsd xmm0, qword [0x9e5350]
movsd qword [ebp - 0x140], xmm0
movsd xmm0, qword [ebp - 0x1d0]
subsd xmm0, qword [ebp - 0x140]
movsd qword [ebp - 0x1d0], xmm0
movsd xmm0, qword [ebp - 0x168]
addsd xmm0, qword [ebp - 0x140]
movsd qword [ebp - 0x168], xmm0
movsd xmm0, qword [ebp - 0x190]
mulsd xmm0, qword [ebp - 0x140]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x170]
addsd xmm0, qword [ebp - 0x140]
movsd qword [ebp - 0x170], xmm0
movsd xmm0, qword [ebp - 0x1d0]
mulsd xmm0, qword [ebp - 0x140]
movsd qword [ebp - 0x1d0], xmm0
movsd xmm0, qword [ebp - 0x140]
comisd xmm0, xmmword [ebp - 0x190]
jbe 0x99e7e7
movsd xmm0, qword [ebp - 0x140]
addsd xmm0, qword [ebp - 0x170]
movsd qword [ebp - 0x140], xmm0
movsd xmm0, qword [ebp - 0x190]
mulsd xmm0, qword [ebp - 0x168]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x168]
subsd xmm0, qword [ebp - 0x140]
movsd qword [ebp - 0x168], xmm0
movsd xmm0, qword [ebp - 0x170]
divsd xmm0, qword [ebp - 0x1d0]
movsd qword [ebp - 0x170], xmm0
movsd xmm0, qword [ebp - 0x140]
addsd xmm0, qword [ebp - 0x170]
movsd qword [ebp - 0x140], xmm0
movsd xmm0, qword [ebp - 0x168]
mulsd xmm0, qword [ebp - 0x140]
movsd qword [ebp - 0x168], xmm0
movsd xmm0, qword [ebp - 0x190]
subsd xmm0, qword [ebp - 0x168]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x168]
divsd xmm0, qword [ebp - 0x140]
movsd qword [ebp - 0x168], xmm0
movsd xmm0, qword [ebp - 0x1d0]
mulsd xmm0, qword [ebp - 0x190]
movsd qword [ebp - 0x1d0], xmm0
movsd xmm0, qword [ebp - 0x170]
divsd xmm0, qword [ebp - 0x1d0]
movsd qword [ebp - 0x170], xmm0
movsd xmm0, qword [ebp - 0x140]
comisd xmm0, xmmword [ebp - 0x1d0]
jbe 0x99e76a
movsd xmm0, qword [ebp - 0x170]
divsd xmm0, qword [ebp - 0x1d0]
movsd qword [ebp - 0x170], xmm0
movsd xmm0, qword [ebp - 0x168]
subsd xmm0, qword [ebp - 0x140]
movsd qword [ebp - 0x168], xmm0
movsd xmm0, qword [ebp - 0x140]
mulsd xmm0, qword [ebp - 0x170]
movsd qword [ebp - 0x140], xmm0
movsd xmm0, qword [ebp - 0x140]
mulsd xmm0, qword [ebp - 0x170]
movsd qword [ebp - 0x140], xmm0
movsd xmm0, qword [ebp - 0x168]
divsd xmm0, qword [ebp - 0x140]
movsd qword [ebp - 0x168], xmm0
jmp 0x99e7e2
movsd xmm0, qword [ebp - 0x170]
subsd xmm0, qword [ebp - 0x190]
movsd qword [ebp - 0x170], xmm0
movsd xmm0, qword [ebp - 0x168]
mulsd xmm0, qword [ebp - 0x170]
movsd qword [ebp - 0x168], xmm0
movsd xmm0, qword [ebp - 0x168]
addsd xmm0, qword [ebp - 0x170]
movsd qword [ebp - 0x168], xmm0
movsd xmm0, qword [ebp - 0x170]
divsd xmm0, qword [ebp - 0x190]
movsd qword [ebp - 0x170], xmm0
movsd xmm0, qword [ebp - 0x190]
subsd xmm0, qword [ebp - 0x140]
movsd qword [ebp - 0x190], xmm0
jmp 0x99e873
movsd xmm0, qword [ebp - 0x190]
mulsd xmm0, qword [ebp - 0x140]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x168]
mulsd xmm0, qword [ebp - 0x170]
movsd qword [ebp - 0x168], xmm0
movsd xmm0, qword [ebp - 0x190]
addsd xmm0, qword [ebp - 0x140]
movsd qword [ebp - 0x190], xmm0
movzx ecx, byte [ebp - 0x120]
mov dl, byte [ebp + ecx - 0x10c]
mov byte [ebp - 0x122], dl
movsd xmm0, qword [ebp - 0x190]
mulsd xmm0, qword [ebp - 0x140]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x140]
addsd xmm0, qword [ebp - 0x1d0]
movsd qword [ebp - 0x140], xmm0
movzx eax, byte [ebp - 0x11d]
movzx ecx, byte [ebp + eax - 0x10c]
movzx edx, byte [ebp - 0x11e]
add edx, ecx
mov byte [ebp - 0x11e], dl
mov al, byte [ebp - 0x11d]
add al, 1
mov byte [ebp - 0x11d], al
movzx ecx, byte [ebp - 0x11e]
movzx edx, byte [ebp - 0x120]
mov al, byte [ebp + ecx - 0x10c]
mov byte [ebp + edx - 0x10c], al
movzx ecx, byte [ebp - 0x11f]
movzx edx, byte [ebp - 0x11e]
mov al, byte [ebp + ecx - 0x10c]
mov byte [ebp + edx - 0x10c], al
movzx ecx, byte [ebp - 0x11d]
movzx edx, byte [ebp - 0x11f]
mov al, byte [ebp + ecx - 0x10c]
mov byte [ebp + edx - 0x10c], al
movzx ecx, byte [ebp - 0x11d]
mov dl, byte [ebp - 0x122]
mov byte [ebp + ecx - 0x10c], dl
movzx eax, byte [ebp - 0x122]
movzx ecx, byte [ebp + eax - 0x10c]
movzx edx, byte [ebp - 0x123]
add edx, ecx
mov byte [ebp - 0x123], dl
movzx eax, byte [ebp - 0x124]
movzx ecx, byte [ebp - 0x11e]
movzx edx, byte [ebp + ecx - 0x10c]
movzx ecx, byte [ebp - 0x11d]
movzx ecx, byte [ebp + ecx - 0x10c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x10c]
xor eax, edx
movzx ecx, byte [ebp - 0x11f]
movzx edx, byte [ebp + ecx - 0x10c]
movzx ecx, byte [ebp - 0x120]
movzx ecx, byte [ebp + ecx - 0x10c]
add edx, ecx
movzx ecx, byte [ebp - 0x123]
movzx ecx, byte [ebp + ecx - 0x10c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x10c]
movzx ecx, byte [ebp + edx - 0x10c]
xor eax, ecx
mov byte [ebp - 0x11f], al
mov dl, byte [ebp - 0x124]
mov byte [ebp - 0x120], dl
mov al, byte [ebp - 0x11f]
mov byte [ebp - 0x129], al
cmp dword [ebp - 0x128], 0
jbe 0x99e9df
movsx cx, byte [ebp - 0x129]
mov edx, dword [ebp - 0x128]
mov word [ebp + edx*2 - 0xe], cx
mov eax, dword [ebp - 0x128]
add eax, 1
mov dword [ebp - 0x128], eax
mov ecx, dword [ebp - 0x174]
add ecx, 1
mov dword [ebp - 0x174], ecx
mov edx, dword [ebp - 0x128]
shl edx, 1
mov dword [ebp - 0x178], edx
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x178]
movzx ecx, byte [eax]
mov dword [ebp - 0x14c], ecx
mov dword [ebp - 0x150], 0xaa
mov edx, dword [ebp - 0x128]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x17c], eax
mov ecx, dword [ebp - 0x198]
add ecx, dword [ebp - 0x17c]
movzx edx, byte [ecx]
mov dword [ebp - 0x154], edx
mov dword [ebp - 0x158], 0x8d
mov eax, dword [ebp - 0x14c]
sub eax, dword [ebp - 0x150]
mov dword [ebp - 0x15c], eax
mov ecx, dword [ebp - 0x154]
sub ecx, dword [ebp - 0x158]
mov dword [ebp - 0x160], ecx
mov edx, dword [ebp - 0x15c]
shl edx, 4
mov dword [ebp - 0x180], edx
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x184], eax
mov ecx, dword [ebp - 0x180]
or ecx, dword [ebp - 0x184]
mov dword [ebp - 0x188], ecx
mov dl, byte [ebp - 0x188]
mov byte [ebp - 0x124], dl
movzx eax, byte [ebp - 0x120]
mov cl, byte [ebp + eax - 0x10c]
mov byte [ebp - 0x122], cl
movzx edx, byte [ebp - 0x11d]
movzx eax, byte [ebp + edx - 0x10c]
movzx ecx, byte [ebp - 0x11e]
add ecx, eax
mov byte [ebp - 0x11e], cl
mov dl, byte [ebp - 0x11d]
add dl, 1
mov byte [ebp - 0x11d], dl
movzx eax, byte [ebp - 0x11e]
movzx ecx, byte [ebp - 0x120]
mov dl, byte [ebp + eax - 0x10c]
mov byte [ebp + ecx - 0x10c], dl
movzx eax, byte [ebp - 0x11f]
movzx ecx, byte [ebp - 0x11e]
mov dl, byte [ebp + eax - 0x10c]
mov byte [ebp + ecx - 0x10c], dl
movzx eax, byte [ebp - 0x11d]
movzx ecx, byte [ebp - 0x11f]
mov dl, byte [ebp + eax - 0x10c]
mov byte [ebp + ecx - 0x10c], dl
movsd xmm0, qword [0x9e5810]
movsd qword [ebp - 0x208], xmm0
movsd xmm0, qword [0x9e5790]
movsd qword [ebp - 0x210], xmm0
movsd xmm0, qword [0x9e5700]
movsd qword [ebp - 0x1a0], xmm0
movsd xmm0, qword [0x9e5600]
movsd qword [ebp - 0x1b0], xmm0
movsd xmm0, qword [0x9e54f8]
movsd qword [ebp - 0x1d8], xmm0
movsd xmm0, qword [0x9e5420]
movsd qword [ebp - 0x1f4], xmm0
movsd xmm0, qword [0x9e5310]
movsd qword [ebp - 0x1a8], xmm0
movsd xmm0, qword [ebp - 0x1b0]
addsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x1b0], xmm0
movsd xmm0, qword [ebp - 0x1a0]
subsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x1a0], xmm0
movsd xmm0, qword [ebp - 0x1b0]
addsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x1b0], xmm0
movsd xmm0, qword [ebp - 0x1b0]
mulsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x1b0], xmm0
movsd xmm0, qword [ebp - 0x1a0]
addsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x1a0], xmm0
movsd xmm0, qword [ebp - 0x210]
subsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x210], xmm0
movsd xmm0, qword [ebp - 0x1a0]
addsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x1a0], xmm0
movsd xmm0, qword [ebp - 0x1a8]
comisd xmm0, xmmword [ebp - 0x1b0]
jbe 0x99ed26
movsd xmm0, qword [ebp - 0x208]
addsd xmm0, qword [ebp - 0x1a0]
movsd qword [ebp - 0x208], xmm0
movsd xmm0, qword [ebp - 0x1d8]
mulsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x1d8], xmm0
movsd xmm0, qword [ebp - 0x1d8]
addsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x1d8], xmm0
movsd xmm0, qword [ebp - 0x1d8]
subsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x1d8], xmm0
movsd xmm0, qword [ebp - 0x1b0]
mulsd xmm0, qword [ebp - 0x1f4]
movsd qword [ebp - 0x1b0], xmm0
movsd xmm0, qword [ebp - 0x1a0]
mulsd xmm0, qword [ebp - 0x1d8]
movsd qword [ebp - 0x1a0], xmm0
movsd xmm0, qword [ebp - 0x208]
addsd xmm0, qword [ebp - 0x1a0]
movsd qword [ebp - 0x208], xmm0
jmp 0x99ede2
movzx eax, byte [ebp - 0x11d]
mov cl, byte [ebp - 0x122]
mov byte [ebp + eax - 0x10c], cl
movsd xmm0, qword [ebp - 0x1f4]
mulsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x1f4], xmm0
movsd xmm0, qword [ebp - 0x210]
mulsd xmm0, qword [ebp - 0x1a0]
movsd qword [ebp - 0x210], xmm0
movsd xmm0, qword [ebp - 0x1a0]
subsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x1a0], xmm0
movsd xmm0, qword [ebp - 0x1a0]
subsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x1a0], xmm0
movsd xmm0, qword [ebp - 0x1d8]
addsd xmm0, qword [ebp - 0x1f4]
movsd qword [ebp - 0x1d8], xmm0
movsd xmm0, qword [ebp - 0x1f4]
addsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x1f4], xmm0
movsd xmm0, qword [ebp - 0x1b0]
addsd xmm0, qword [ebp - 0x1d8]
movsd qword [ebp - 0x1b0], xmm0
movzx edx, byte [ebp - 0x122]
movzx eax, byte [ebp + edx - 0x10c]
movzx ecx, byte [ebp - 0x123]
add ecx, eax
mov byte [ebp - 0x123], cl
movzx edx, byte [ebp - 0x124]
movzx eax, byte [ebp - 0x11e]
movzx ecx, byte [ebp + eax - 0x10c]
movzx eax, byte [ebp - 0x11d]
movzx eax, byte [ebp + eax - 0x10c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x10c]
xor edx, ecx
movzx eax, byte [ebp - 0x11f]
movzx ecx, byte [ebp + eax - 0x10c]
movzx eax, byte [ebp - 0x120]
movzx eax, byte [ebp + eax - 0x10c]
add ecx, eax
movzx eax, byte [ebp - 0x123]
movzx eax, byte [ebp + eax - 0x10c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x10c]
movzx eax, byte [ebp + ecx - 0x10c]
xor edx, eax
mov byte [ebp - 0x11f], dl
mov cl, byte [ebp - 0x124]
mov byte [ebp - 0x120], cl
mov dl, byte [ebp - 0x11f]
mov byte [ebp - 0x129], dl
cmp dword [ebp - 0x128], 0
jbe 0x99eeba
movsx ax, byte [ebp - 0x129]
mov ecx, dword [ebp - 0x128]
mov word [ebp + ecx*2 - 0xe], ax
mov edx, 2
imul eax, edx, 3
mov dword [ebp - 0x1fc], eax
cmp dword [ebp - 0x1fc], 8
jae 0x99eed3
jmp 0x99eed8
call fcn.009c2bf7
xor ecx, ecx
mov edx, dword [ebp - 0x1fc]
mov word [ebp + edx - 0xc], cx
jmp 0x99ef38
mov dword [ebp - 0x128], 0
jmp 0x99ef02
mov eax, dword [ebp - 0x128]
add eax, 1
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 4
jae 0x99ef38
mov ecx, dword [ebp - 0x128]
shl ecx, 1
mov dword [ebp - 0x200], ecx
cmp dword [ebp - 0x200], 8
jae 0x99ef24
jmp 0x99ef29
call fcn.009c2bf7
xor edx, edx
mov eax, dword [ebp - 0x200]
mov word [ebp + eax - 0xc], dx
jmp 0x99eef3
lea ecx, [ebp - 0xc]
push ecx
push 0xa11e10
call fcn.009c409c
add esp, 8
test eax, eax
jne 0x99ef54
xor eax, eax
jmp 0x99f097
push 0
mov edx, dword [ebp - 0x240]
push edx
push 0
push 0
push 0x4b
push 0x118
push 0x64
push 0x64
push 0x10ca0000
mov eax, dword [ebp - 0x1e4]
push eax
mov ecx, dword [ebp - 0x22c]
push ecx
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [0xa13280], eax
cmp dword [0xa13280], 0
jne 0x99ef9f
mov eax, 1
jmp 0x99f097
lea edx, [ebp - 0x11c]
push edx
mov eax, dword [0xa13280]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
push 0
call dword [sym.imp.USER32.dll_GetSystemMetrics]
sub eax, dword [ebp - 0x114]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x224], eax
push 1
call dword [sym.imp.USER32.dll_GetSystemMetrics]
sub eax, dword [ebp - 0x110]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x220], eax
push 5
push 0
push 0
mov ecx, dword [ebp - 0x220]
push ecx
mov edx, dword [ebp - 0x224]
push edx
push 0
mov eax, dword [0xa13280]
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [0xa13280]
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0xa13280]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0
push 0
push 0
push 0x997d00
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x25c], eax
push 0
push 0
push 0
push 0x99d470
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x258], eax
push 0
push 0
push 0
lea ecx, [ebp - 0x280]
push ecx
call dword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
je 0x99f08c
lea edx, [ebp - 0x280]
push edx
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x280]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x99f059
call fcn.004010a0
mov eax, dword [ebp - 0x278]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.009c2cd2
mov esp, ebp
pop ebp
ret 0x10