Function at 0x1000f0f0
Capabilities:
Accept command line arguments
Authenticate hmac
Encrypt data using speck
Identify system language via api
Parse pe header
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf40
push ebx
push esi
push edi
mov byte [ebp - 0x168], 0xf0
mov al, byte [0x1009b0bb]
mov byte [ebp - 1], al
mov ecx, dword [0x1009b168]
mov edx, dword [0x1009b16c]
mov dword [ebp - 0xd74], edx
mov dword [ebp - 0x54], ecx
mov eax, dword [0x1009b1b0]
xor ecx, ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
mov edx, 0xde4a
mov word [ebp - 0x14], dx
mov eax, 0x4cd12
mov dword [ebp - 0x30], 0x8b3c306d
mov dword [ebp - 0x2c], eax
xor ecx, ecx
mov dword [ebp - 0x78], 0xe1
mov dword [ebp - 0x74], ecx
xor edx, edx
mov dword [ebp - 0x38], 0xd
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x44], 0xd20f
xor eax, eax
mov dword [ebp - 0x60], 0x1db0464d
mov dword [ebp - 0x5c], eax
mov ecx, dword [0x1009b144]
mov word [ebp - 0x18], cx
xor edx, edx
mov dword [ebp - 0x70], 0xa9cc
mov dword [ebp - 0x6c], edx
mov eax, 0x3927
mov word [ebp - 0x24], ax
mov ecx, 0x2f
mov word [ebp - 0x20], cx
mov edx, 0x685b
mov word [ebp - 0x10], dx
mov byte [ebp - 2], 0xa0
mov eax, 0xffffe1ea
mov word [ebp - 0xc], ax
xor ecx, ecx
mov dword [ebp - 0x4c], 0x99a360c2
mov dword [ebp - 0x48], ecx
mov edx, 0x7366
mov word [ebp - 8], dx
mov eax, dword [0x1009b140]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x58], 0xd7521bdf
mov ecx, 0xbdf1
mov word [ebp - 0x28], cx
mov edx, 0xffffdff4
mov word [ebp - 0x1c], dx
xor eax, eax
mov dword [ebp - 0x68], 0xa3
mov dword [ebp - 0x64], eax
movzx eax, byte [0x1009b0a6]
cdq
mov dword [ebp - 0xe88], eax
mov dword [ebp - 0xe84], edx
mov byte [ebp - 0x167], 0x5e
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
mov dword [ebp - 0xd70], edx
mov dword [ebp - 0xd6c], ecx
mov dword [ebp - 0xd68], 0xf2d252a5
movsx eax, byte [0x1009b0bb]
mov dword [ebp - 0xd64], eax
movzx eax, byte [0x1009b0ef]
cdq
mov dword [ebp - 0xe90], eax
mov dword [ebp - 0xe8c], edx
mov cx, word [0x1009b170]
mov word [ebp - 0x6f0], cx
xor edx, edx
mov dword [ebp - 0xe98], 0x15c9ebc0
mov dword [ebp - 0xe94], edx
mov dword [ebp - 0xd60], 0x7ec9
mov byte [ebp - 0x166], 0x17
xor eax, eax
mov dword [ebp - 0xea0], 0x1f5b
mov dword [ebp - 0xe9c], eax
mov dword [ebp - 0xd5c], 0xd1288983
mov ecx, dword [0x1009b188]
mov byte [ebp - 0x165], cl
mov edx, dword [0x1009b1b0]
mov dword [ebp - 0xd54], edx
mov ax, word [0x1009b180]
mov word [ebp - 0x6f4], ax
mov ecx, dword [0x1009bc7c]
mov dword [ebp - 0x170], ecx
mov dword [0x1009b190], 2
movzx edx, word [ebp - 8]
and edx, dword [0x1009b170]
mov word [ebp - 8], dx
mov eax, dword [0x1009b188]
mov ecx, 1
imul edx, ecx, 0x3e18
mov byte [edx + 0x102088e8], al
mov eax, dword [0x1009b1a8]
mov ecx, dword [0x1009b1ac]
mov dword [ebp - 0x714], eax
mov dword [ebp - 0x710], ecx
mov edx, dword [ebp - 0x714]
or edx, dword [ebp - 0x710]
jne 0x1000f32b
mov dword [ebp - 0x4a0], 1
jmp 0x1000f335
mov dword [ebp - 0x4a0], 0
mov eax, dword [0x1009b18c]
add eax, 0xdfe6
movzx ecx, word [0x1009b158]
imul eax, ecx
imul edx, dword [ebp - 0x4a0], 0
add edx, 0xaeb2386
imul eax, edx
not eax
mov word [ebp - 0x20], ax
movsx eax, word [ebp - 0xc]
test eax, eax
je 0x1000f37d
movzx eax, byte [0x1009b07f]
cdq
mov dword [ebp - 0x4e4], eax
mov dword [ebp - 0x4e0], edx
jmp 0x1000f38f
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x4e4], ecx
mov dword [ebp - 0x4e0], edx
mov al, byte [ebp - 0x4e4]
mov byte [ebp - 2], al
mov ecx, dword [0x1009b190]
mov dword [ebp - 0x16c], ecx
cmp dword [ebp - 0x16c], 0
je 0x1000f3cc
cmp dword [ebp - 0x16c], 1
je 0x1000f464
cmp dword [ebp - 0x16c], 2
je 0x1000f4c6
jmp 0x1000f5b5
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
add edx, dword [ebp - 0x70]
adc eax, dword [ebp - 0x6c]
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
push eax
push edx
push esi
push ecx
call fcn.1006c090
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
mov dl, byte [0x1009bc7c]
mov byte [0x1009b07f], dl
movzx eax, byte [ebp - 1]
test eax, eax
jne 0x1000f425
xor ecx, ecx
mov dword [ebp - 0x71c], 1
mov dword [ebp - 0x718], ecx
jmp 0x1000f430
xorps xmm0, xmm0
movlpd qword [ebp - 0x71c], xmm0
movzx eax, byte [0x1009b07e]
cdq
sub eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x71c]
mov dword [0x1009b190], eax
movzx edx, byte [0x1009b0ee]
imul edx, dword [ebp - 0x44]
movzx eax, byte [0x1009b0ee]
or eax, edx
mov byte [0x1009b0ee], al
jmp 0x1000f5b5
imul ecx, dword [ebp - 0x58], 0x55069388
mov word [0x1009b184], cx
mov eax, dword [0x1009b188]
cdq
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
add ecx, eax
adc esi, edx
mov edx, dword [0x1009b198]
mov eax, dword [0x1009b19c]
sub edx, ecx
sbb eax, esi
mov dword [0x1009b198], edx
mov dword [0x1009b19c], eax
mov eax, dword [0x1009b130]
mov edx, dword [0x1009b134]
mov cl, 2
call fcn.1006c0f0
mov word [ebp - 0x20], ax
mov cl, byte [ebp - 1]
sub cl, 1
mov byte [ebp - 1], cl
jmp 0x1000f5b5
movzx edx, word [ebp - 0x18]
imul eax, edx, 0xe6fab9fa
xor ecx, ecx
mov dword [0x1009b198], eax
mov dword [0x1009b19c], ecx
movzx eax, word [ebp - 0x24]
cdq
xor eax, dword [ebp - 0x30]
mov word [ebp - 0x24], ax
movzx edx, word [ebp - 0x18]
test edx, edx
jne 0x1000f4fd
mov dword [ebp - 0x4a4], 1
jmp 0x1000f507
mov dword [ebp - 0x4a4], 0
mov ecx, dword [ebp - 0x40]
not ecx
movzx eax, byte [0x1009b07f]
cdq
add ecx, eax
movzx edx, word [0x1009b184]
mov eax, dword [ebp - 0x4a4]
sub eax, edx
cdq
add ecx, eax
not ecx
mov word [ebp - 0x10], cx
mov eax, dword [0x1009bc7c]
xor ecx, ecx
mov dword [0x1009b138], eax
mov dword [0x1009b13c], ecx
movzx edx, byte [0x1009b07e]
movsx eax, byte [0x1009b0bb]
not eax
imul edx, eax
test edx, edx
jne 0x1000f56b
xor ecx, ecx
mov dword [ebp - 0x724], 1
mov dword [ebp - 0x720], ecx
jmp 0x1000f576
xorps xmm0, xmm0
movlpd qword [ebp - 0x724], xmm0
mov ecx, dword [0x1009b148]
xor esi, esi
movzx eax, word [ebp - 0x24]
cdq
mov edi, dword [0x1009b134]
add eax, dword [0x1009b130]
adc edx, edi
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov ecx, eax
movzx eax, word [ebp - 0x20]
not eax
cdq
mov edx, dword [ebp - 0x30]
sub edx, eax
not edx
add edx, dword [ebp - 0x724]
add ecx, edx
mov byte [ebp - 1], cl
mov eax, dword [ebp - 0x170]
add eax, 0x3b8
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
and ecx, dword [ebp - 0x70]
and edx, dword [ebp - 0x6c]
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], edx
movzx eax, word [ebp - 0x10]
sub eax, 0xab
mov word [ebp - 8], ax
cmp dword [ebp - 0x54], 0
jne 0x1000f5ff
xor ecx, ecx
mov dword [ebp - 0x4dc], 1
mov dword [ebp - 0x4d8], ecx
jmp 0x1000f60a
xorps xmm0, xmm0
movlpd qword [ebp - 0x4dc], xmm0
movzx edx, word [ebp - 8]
not edx
movzx eax, word [ebp - 0x24]
imul edx, eax
test edx, edx
jne 0x1000f627
mov dword [ebp - 0x4a8], 1
jmp 0x1000f631
mov dword [ebp - 0x4a8], 0
mov eax, dword [ebp - 0x44]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [ebp - 0x74]
add ecx, dword [ebp - 0x78]
adc esi, edx
not ecx
not esi
xor ecx, dword [ebp - 0x4dc]
xor esi, dword [ebp - 0x4d8]
movzx eax, byte [0x1009b01f]
movzx edx, word [ebp - 0x28]
not edx
add eax, edx
imul eax, dword [ebp - 0x4a8]
cdq
xor ecx, eax
xor esi, edx
mov dword [ebp - 0x72c], ecx
mov dword [ebp - 0x728], esi
mov eax, dword [ebp - 0x72c]
or eax, dword [ebp - 0x728]
jne 0x1000f692
mov dword [ebp - 0x4ac], 1
jmp 0x1000f69c
mov dword [ebp - 0x4ac], 0
mov ecx, dword [ebp - 0x4ac]
mov dword [0x1009b140], ecx
mov edx, dword [ebp - 0x30]
or edx, dword [ebp - 0x2c]
je 0x1000f6bd
mov eax, dword [0x1009b144]
mov dword [ebp - 0x4b0], eax
jmp 0x1000f6ca
movsx ecx, byte [0x1009b0bb]
mov dword [ebp - 0x4b0], ecx
mov edx, dword [ebp - 0x4b0]
xor eax, eax
mov dword [0x1009b178], edx
mov dword [0x1009b17c], eax
mov ecx, dword [0x1009b18c]
not ecx
add ecx, dword [ebp - 0x70]
not ecx
add ecx, dword [0x1009b178]
mov word [ebp - 8], cx
mov edx, dword [ebp - 0x30]
sub edx, 0x89883714
mov eax, dword [ebp - 0x2c]
sbb eax, 0
mov dword [0x1009b1a8], edx
mov dword [0x1009b1ac], eax
mov ecx, dword [ebp - 0x170]
add ecx, 0x11e
mov dword [ebp - 0xd50], ecx
movzx edx, word [ebp - 0x28]
push edx
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
xor ecx, ecx
mov dword [0x1009b138], eax
mov dword [0x1009b13c], ecx
mov edx, dword [ebp - 0x170]
add edx, 0x229
mov dword [ebp - 0xd4c], edx
mov eax, dword [ebp - 0x70]
add eax, 0xdfc5d9d8
mov dword [0x1009b1a0], eax
movzx eax, byte [0x1009b0ef]
not eax
cdq
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov ecx, dword [ebp - 0x5c]
mov edx, dword [0x1009b178]
sub edx, dword [ebp - 0x60]
mov eax, dword [0x1009b17c]
sbb eax, ecx
mov dword [0x1009b178], edx
mov dword [0x1009b17c], eax
mov ecx, dword [0x1009bc7c]
mov dword [ebp - 0xf4], ecx
movzx eax, word [ebp - 0x20]
cdq
mov dword [ebp - 0x734], eax
mov dword [ebp - 0x730], edx
mov edx, dword [ebp - 0x734]
cmp edx, dword [0x1009b160]
jne 0x1000f7be
mov eax, dword [ebp - 0x730]
cmp eax, dword [0x1009b164]
je 0x1000f7ca
mov dword [ebp - 0x4b4], 1
jmp 0x1000f7d4
mov dword [ebp - 0x4b4], 0
movzx ecx, byte [0x1009b033]
cmp ecx, dword [ebp - 0x4b4]
jge 0x1000f7ef
mov dword [ebp - 0x4b8], 1
jmp 0x1000f7f9
mov dword [ebp - 0x4b8], 0
movsx eax, word [ebp - 0x1c]
not eax
cdq
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
xor ecx, eax
xor esi, edx
movsx eax, byte [0x1009b0bb]
cdq
mov dword [ebp - 0x73c], ecx
mov dword [ebp - 0x738], esi
mov dword [ebp - 0x744], eax
mov dword [ebp - 0x740], edx
mov edx, dword [ebp - 0x73c]
cmp edx, dword [ebp - 0x744]
jne 0x1000f84c
mov eax, dword [ebp - 0x738]
cmp eax, dword [ebp - 0x740]
je 0x1000f858
mov dword [ebp - 0x4bc], 1
jmp 0x1000f862
mov dword [ebp - 0x4bc], 0
mov ecx, dword [ebp - 0x4b8]
cmp ecx, dword [ebp - 0x4bc]
jg 0x1000f9c4
mov edx, 1
mov word [ebp - 0x18], dx
movzx eax, byte [0x1009b0a6]
movzx ecx, byte [0x1009b01f]
xor eax, ecx
movzx edx, byte [0x1009b0a6]
add edx, eax
mov byte [0x1009b0a6], dl
movzx eax, byte [0x1009b07e]
cdq
mov ecx, dword [0x1009b150]
mov esi, dword [0x1009b154]
add ecx, eax
adc esi, edx
mov dword [0x1009b150], ecx
mov dword [0x1009b154], esi
mov dl, byte [0x1009b178]
mov byte [0x1009b0a6], dl
mov eax, dword [0x1009b144]
xor ecx, ecx
mov edx, dword [ebp - 0x3c]
push edx
mov edx, dword [ebp - 0x40]
push edx
push ecx
push eax
call fcn.1006c090
mov edx, dword [0x1009b144]
mov ecx, eax
shl edx, cl
mov dword [0x1009b144], edx
movzx eax, byte [0x1009b07f]
add eax, 0x2948a31b
cdq
mov dword [0x1009b198], eax
mov dword [0x1009b19c], edx
movzx eax, word [ebp - 0x18]
mov dword [ebp - 0x4c0], eax
cmp dword [ebp - 0x4c0], 0
je 0x1000f92b
cmp dword [ebp - 0x4c0], 1
je 0x1000f98c
jmp 0x1000f9bf
mov ecx, dword [0x1009b1b0]
sub ecx, 0xd4ad
xor edx, edx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x70]
sub eax, 0x92
mov ecx, dword [ebp - 0x6c]
sbb ecx, 0
mov dword [0x1009b160], eax
mov dword [0x1009b164], ecx
movzx eax, byte [0x1009b033]
cdq
sub eax, 0x7789d785
mov dword [0x1009b1a0], eax
mov edx, dword [ebp - 0x50]
add edx, 0x804c011
mov byte [0x1009b033], dl
xor eax, eax
mov dword [0x1009b168], 0x9279ae4a
mov dword [0x1009b16c], eax
jmp 0x1000f9bf
push 0
push 0xccc
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x40]
push edx
call fcn.1006c090
mov word [0x1009b180], ax
mov eax, dword [0x1009bc7c]
mov dword [ebp - 0x44], eax
movzx ecx, byte [ebp - 2]
add ecx, 0x2496f168
mov word [0x1009b184], cx
jmp 0x1000fa7b
mov edx, dword [0x1009b170]
cmp edx, dword [ebp - 0x58]
jbe 0x1000f9db
mov dword [ebp - 0x4c4], 1
jmp 0x1000f9e5
mov dword [ebp - 0x4c4], 0
movzx eax, word [ebp - 0x18]
mov ecx, dword [ebp - 0x4c4]
sub ecx, eax
not ecx
test ecx, ecx
je 0x1000fa7b
mov edx, dword [0x1009b198]
mov eax, dword [0x1009b19c]
sub edx, 0x7da107e1
sbb eax, 0
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
sub ecx, edx
sbb esi, eax
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], esi
movzx edx, byte [ebp - 1]
add edx, 0x47262df5
mov word [0x1009b158], dx
mov eax, dword [0x1009b190]
sub eax, dword [0x1009b188]
mov ecx, dword [0x1009b190]
sub ecx, eax
mov dword [0x1009b190], ecx
mov edx, dword [0x1009b170]
xor edx, dword [0x1009b1a0]
mov byte [0x1009b0bb], dl
xor eax, eax
mov dword [ebp - 0x40], 0x82f6
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x1009b18c]
xor edx, edx
mov dword [0x1009b1a8], ecx
mov dword [0x1009b1ac], edx
mov eax, dword [ebp - 0xf4]
add eax, 0x22b
mov dword [ebp - 0x688], eax
mov ecx, dword [ebp - 0x58]
cmp ecx, dword [ebp - 0x54]
jle 0x1000fb09
movzx edx, word [ebp - 0x14]
imul eax, edx, 0xb126
mov byte [0x1009b0ba], al
cmp dword [0x1009b1b0], 0
jne 0x1000fab8
mov dword [ebp - 0x184], 1
jmp 0x1000fac2
mov dword [ebp - 0x184], 0
mov ecx, dword [0x1009b160]
xor ecx, 0x4f
mov esi, dword [0x1009b164]
xor esi, 0
mov eax, dword [ebp - 0x184]
imul eax, dword [ebp - 0x54]
not eax
cdq
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov word [ebp - 0xc], ax
mov eax, dword [0x1009b188]
sub eax, 0xffaa
cdq
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
jmp 0x1000fdc4
mov edx, dword [ebp - 0x44]
not edx
movzx eax, byte [0x1009b0a6]
add edx, eax
je 0x1000fbf8
mov cx, word [0x1009bc7c]
mov word [ebp - 8], cx
movzx edx, word [ebp - 0x24]
imul edx, dword [ebp - 0x54]
movzx eax, word [ebp - 0x24]
imul eax, edx
mov word [ebp - 0x24], ax
mov ecx, dword [0x1009bc7c]
mov dword [ebp - 0x50], ecx
movsx eax, byte [0x1009b0bb]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov dword [ebp - 0x74c], eax
mov dword [ebp - 0x748], edx
mov edx, dword [ebp - 0x74c]
or edx, dword [ebp - 0x748]
jne 0x1000fb89
xor eax, eax
mov dword [ebp - 0x4d4], 1
mov dword [ebp - 0x4d0], eax
jmp 0x1000fb94
xorps xmm0, xmm0
movlpd qword [ebp - 0x4d4], xmm0
movsx eax, word [0x1009b180]
cdq
mov ecx, dword [ebp - 0x5c]
add eax, dword [ebp - 0x60]
adc edx, ecx
push edx
push eax
mov edx, dword [ebp - 0x4d0]
push edx
mov eax, dword [ebp - 0x4d4]
push eax
call fcn.1006c090
push 0xffffffffffffffff
push 0xffff2ddc
push edx
push eax
call fcn.1006c090
mov word [ebp - 8], ax
movzx eax, byte [0x1009b033]
cdq
mov ecx, dword [ebp - 0x48]
push ecx
mov ecx, dword [ebp - 0x4c]
push ecx
push edx
push eax
call fcn.1006c090
mov byte [0x1009b033], al
mov edx, dword [ebp - 0x4c]
and edx, 0xac3b
mov dword [ebp - 0x50], edx
jmp 0x1000fdc4
movzx eax, word [ebp - 0x28]
test eax, eax
jne 0x1000fc14
xor ecx, ecx
mov dword [ebp - 0x4cc], 1
mov dword [ebp - 0x4c8], ecx
jmp 0x1000fc1f
xorps xmm0, xmm0
movlpd qword [ebp - 0x4cc], xmm0
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
not edx
not eax
mov dword [ebp - 0x754], edx
mov dword [ebp - 0x750], eax
mov ecx, dword [ebp - 0x4c8]
cmp ecx, dword [ebp - 0x750]
jb 0x1000fd2c
ja 0x1000fc60
mov edx, dword [ebp - 0x4cc]
cmp edx, dword [ebp - 0x754]
jb 0x1000fd2c
movzx eax, byte [0x1009b0ef]
test eax, eax
jne 0x1000fc77
mov dword [ebp - 0x18c], 1
jmp 0x1000fc81
mov dword [ebp - 0x18c], 0
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x75c], ecx
mov dword [ebp - 0x758], edx
mov eax, dword [ebp - 0x75c]
or eax, dword [ebp - 0x758]
jne 0x1000fcad
mov dword [ebp - 0x188], 1
jmp 0x1000fcb7
mov dword [ebp - 0x188], 0
movzx ecx, byte [0x1009b07f]
mov eax, ecx
imul eax, dword [ebp - 0x188]
xor eax, 0x4ef823c5
add eax, dword [ebp - 0x18c]
cdq
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
movzx edx, word [ebp - 0x10]
test edx, edx
jne 0x1000fcf2
mov dword [ebp - 0x190], 1
jmp 0x1000fcfc
mov dword [ebp - 0x190], 0
mov eax, dword [ebp - 0x50]
add eax, dword [ebp - 0x190]
xor ecx, ecx
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], ecx
movzx eax, byte [ebp - 2]
cdq
push edx
push eax
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x40]
push eax
call fcn.1006c090
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
jmp 0x1000fdc4
cmp dword [0x1009b144], 0
je 0x1000fd4c
movzx ecx, word [0x1009b184]
test ecx, ecx
je 0x1000fd4c
mov dword [ebp - 0x194], 1
jmp 0x1000fd56
mov dword [ebp - 0x194], 0
mov edx, dword [ebp - 0x194]
not edx
test edx, edx
je 0x1000fdc4
mov eax, dword [ebp - 0x40]
or eax, dword [ebp - 0x3c]
je 0x1000fd7d
movsx eax, word [ebp - 0x1c]
cdq
mov dword [ebp - 0x504], eax
mov dword [ebp - 0x500], edx
jmp 0x1000fd95
mov ecx, dword [0x1009b178]
mov edx, dword [0x1009b17c]
mov dword [ebp - 0x504], ecx
mov dword [ebp - 0x500], edx
mov eax, dword [ebp - 0x504]
mov dword [ebp - 0x54], eax
movzx ecx, word [ebp - 0x18]
imul edx, ecx, 0xe3c2
add edx, dword [ebp - 0x58]
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0xd48], ecx
sub eax, 0x46d7889d
mov byte [0x1009b07f], al
mov edx, dword [ebp - 0xf4]
add edx, 0x3c9
mov dword [ebp - 0xd44], edx
mov eax, dword [0x1009b130]
mov ecx, dword [0x1009b134]
sub eax, 0xef645322
sbb ecx, 0
mov dword [ebp - 0x764], eax
mov dword [ebp - 0x760], ecx
mov edx, dword [ebp - 0x764]
or edx, dword [ebp - 0x760]
jne 0x1000fe17
xor eax, eax
mov dword [ebp - 0x4fc], 1
mov dword [ebp - 0x4f8], eax
jmp 0x1000fe22
xorps xmm0, xmm0
movlpd qword [ebp - 0x4fc], xmm0
movsx eax, word [ebp - 0x1c]
cdq
add eax, dword [ebp - 0x70]
adc edx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x4fc]
sub ecx, eax
mov esi, dword [ebp - 0x4f8]
sbb esi, edx
movzx eax, word [ebp - 0x28]
cdq
sub eax, dword [0x1009b138]
sbb edx, dword [0x1009b13c]
add ecx, eax
adc esi, edx
not ecx
not esi
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], esi
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
push eax
push edx
mov ecx, dword [0x1009b13c]
push ecx
mov edx, dword [0x1009b138]
push edx
call fcn.1006c090
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
movzx eax, word [0x1009b184]
cdq
sub eax, 0x86f32f86
sbb edx, 0xaaa4
mov ecx, dword [ebp - 0x30]
sub ecx, eax
mov eax, dword [ebp - 0x2c]
sbb eax, edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0xf4]
add ecx, 0x3b2
mov dword [ebp - 0x68c], ecx
movsx eax, word [ebp - 0xc]
cdq
mov dword [ebp - 0x76c], eax
mov dword [ebp - 0x768], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x768]
jg 0x10010241
jl 0x1000fee8
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x76c]
jae 0x10010241
movzx ecx, byte [0x1009b07f]
cmp dword [ebp - 0x44], ecx
jne 0x1000ff00
mov dword [ebp - 0x198], 1
jmp 0x1000ff0a
mov dword [ebp - 0x198], 0
cmp dword [ebp - 0x44], 0x60
jne 0x1000ff1c
mov dword [ebp - 0x19c], 1
jmp 0x1000ff26
mov dword [ebp - 0x19c], 0
mov edx, dword [ebp - 0x198]
cmp edx, dword [ebp - 0x19c]
jge 0x1001014d
mov eax, dword [ebp - 0x4c]
or eax, dword [ebp - 0x48]
je 0x1001004c
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x774], ecx
mov dword [ebp - 0x770], edx
mov eax, dword [0x1009b13c]
cmp eax, dword [ebp - 0x770]
jb 0x10010047
ja 0x1000ff7b
mov ecx, dword [0x1009b138]
cmp ecx, dword [ebp - 0x774]
jb 0x10010047
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
add edx, dword [0x1009b160]
adc eax, dword [0x1009b164]
and edx, dword [0x1009b160]
and eax, dword [0x1009b164]
mov dword [0x1009b160], edx
mov dword [0x1009b164], eax
mov ecx, dword [ebp - 0x70]
xor ecx, 0xafc8f80a
mov edx, dword [ebp - 0x6c]
xor edx, 0
mov dword [0x1009b168], ecx
mov dword [0x1009b16c], edx
movzx eax, byte [0x1009b0ef]
movzx ecx, word [ebp - 0x28]
add eax, ecx
cdq
mov ecx, dword [0x1009b138]
not ecx
mov esi, dword [0x1009b13c]
not esi
mov edi, 0x97fd2182
sub edi, ecx
mov ecx, 0
sbb ecx, esi
not edi
not ecx
xor eax, edi
xor edx, ecx
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
push 0
push 0xb416bd03
mov edx, dword [0x1009b164]
push edx
mov eax, dword [0x1009b160]
push eax
call fcn.1006c090
mov ecx, eax
mov eax, dword [0x1009b140]
cdq
add eax, ecx
mov dword [0x1009b140], eax
movzx eax, word [ebp - 0x14]
cdq
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
add ecx, eax
adc esi, edx
mov dword [0x1009b198], ecx
mov dword [0x1009b19c], esi
jmp 0x10010148
mov edx, dword [ebp - 0x54]
not edx
cmp edx, dword [0x1009b144]
jne 0x10010065
mov dword [ebp - 0x1a0], 1
jmp 0x1001006f
mov dword [ebp - 0x1a0], 0
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
movzx eax, word [ebp - 0x18]
cdq
mov dword [ebp - 0x77c], ecx
mov dword [ebp - 0x778], esi
mov dword [ebp - 0x784], eax
mov dword [ebp - 0x780], edx
mov edx, dword [ebp - 0x778]
cmp edx, dword [ebp - 0x780]
jb 0x100100c2
ja 0x100100b6
mov eax, dword [ebp - 0x77c]
cmp eax, dword [ebp - 0x784]
jbe 0x100100c2
mov dword [ebp - 0x1a4], 1
jmp 0x100100cc
mov dword [ebp - 0x1a4], 0
mov ecx, dword [ebp - 0x1a0]
cmp ecx, dword [ebp - 0x1a4]
je 0x1001010a
movzx eax, word [ebp - 0x20]
cdq
sub eax, 0x12b4c4fd
mov word [ebp - 0x1c], ax
mov byte [ebp - 1], 0x9e
movzx eax, word [ebp - 0x10]
cdq
mov ecx, 8
imul ecx, ecx, 0x31e2
mov dword [ecx + 0x10270080], eax
mov dword [ecx + 0x10270084], edx
jmp 0x10010148
movzx edx, word [ebp - 8]
test edx, edx
je 0x10010148
mov eax, dword [0x1009b130]
mov ecx, dword [0x1009b134]
mov dword [ebp - 0xd40], ecx
add eax, 0xed
mov dword [ebp - 0x44], eax
movzx edx, word [ebp - 0x10]
mov dword [0x1009b140], edx
movzx eax, word [ebp - 0x10]
sub eax, 0x5a
cdq
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
jmp 0x1001023c
cmp dword [ebp - 0x50], 0
je 0x1001023c
mov eax, dword [0x1009b190]
add eax, 0xa3f8
xor ecx, ecx
mov dword [0x1009b178], eax
mov dword [0x1009b17c], ecx
mov byte [0x1009b0bb], 0x2a
mov edx, dword [0x1009b18c]
mov dword [0x1009b170], edx
mov eax, dword [0x1009b140]
cdq
mov ecx, eax
add ecx, dword [0x1009b138]
mov eax, dword [0x1009b140]
cdq
xor eax, ecx
mov dword [0x1009b140], eax
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
push 0
push 0x6768
push eax
push edx
call fcn.1006c090
mov dword [ebp - 0x78c], eax
mov dword [ebp - 0x788], edx
mov ecx, dword [ebp - 0x78c]
or ecx, dword [ebp - 0x788]
jne 0x100101db
mov dword [ebp - 0x1a8], 1
jmp 0x100101e5
mov dword [ebp - 0x1a8], 0
movzx edx, byte [0x1009b0a6]
mov eax, dword [0x1009b144]
imul eax, edx
xor ecx, ecx
mov esi, dword [ebp - 0x38]
mov edi, dword [ebp - 0x34]
xor esi, eax
xor edi, ecx
not esi
not edi
movzx eax, word [ebp - 0x10]
imul eax, dword [ebp - 0x1a8]
cdq
push edx
push eax
push edi
push esi
call fcn.1006c090
not eax
mov dword [0x1009b140], eax
mov edx, dword [ebp - 0x4c]
sub edx, 0xae7d7e64
mov eax, dword [ebp - 0x48]
sbb eax, 0xdf0b6
mov dword [0x1009b168], edx
mov dword [0x1009b16c], eax
jmp 0x10010394
xor ecx, ecx
mov dword [0x1009b138], 0x20bd
mov dword [0x1009b13c], ecx
mov edx, dword [0x1009b148]
shr edx, 8
mov dword [ebp - 0x54], edx
movzx eax, byte [ebp - 1]
test eax, eax
jne 0x10010273
mov dword [ebp - 0x1ac], 1
jmp 0x1001027d
mov dword [ebp - 0x1ac], 0
mov ecx, dword [0x1009b170]
add ecx, dword [0x1009b18c]
movzx edx, word [ebp - 0x10]
movzx eax, byte [0x1009b07e]
not eax
imul edx, eax
xor ecx, edx
movsx edx, word [ebp - 0x1c]
mov eax, dword [0x1009b188]
sub eax, edx
mov edx, dword [ebp - 0x1ac]
add edx, dword [0x1009b18c]
imul eax, edx
add ecx, eax
not ecx
mov dword [0x1009b14c], ecx
mov eax, dword [0x1009b140]
or eax, dword [0x1009b18c]
xor ecx, ecx
mov dword [0x1009b168], eax
mov dword [0x1009b16c], ecx
movzx eax, byte [ebp - 1]
cdq
push edx
push eax
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp - 0x30]
push eax
call fcn.1006c090
mov ecx, dword [ebp - 0x40]
not ecx
xor eax, ecx
mov byte [0x1009b0a6], al
movzx edx, word [ebp - 0x14]
test edx, edx
jne 0x10010313
xor eax, eax
mov dword [ebp - 0x4ec], 1
mov dword [ebp - 0x4e8], eax
jmp 0x1001031e
xorps xmm0, xmm0
movlpd qword [ebp - 0x4ec], xmm0
mov ecx, dword [ebp - 0x4ec]
sub ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x4e8]
sbb esi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x44]
cdq
mov edi, eax
mov ebx, edx
mov edx, dword [0x1009b154]
add edi, dword [0x1009b150]
adc ebx, edx
movzx eax, word [ebp - 0x28]
xor eax, 0x8e
cdq
xor edi, eax
xor ebx, edx
sub ecx, edi
sbb esi, ebx
mov dword [ebp - 0x794], ecx
mov dword [ebp - 0x790], esi
mov eax, dword [ebp - 0x794]
or eax, dword [ebp - 0x790]
jne 0x1001037e
mov dword [ebp - 0x1b0], 1
jmp 0x10010388
mov dword [ebp - 0x1b0], 0
mov ecx, dword [ebp - 0x1b0]
mov dword [0x1009b148], ecx
mov edx, dword [0x1009bc7c]
mov dword [ebp - 0xfc], edx
mov dword [ebp - 0xf8], 0
jmp 0x100103bb
mov eax, dword [ebp - 0xf8]
add eax, 2
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0xf8], 0x387
jge 0x100106e1
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0xd3c], edx
push ecx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
xor ecx, ecx
mov dword [0x1009b168], eax
mov dword [0x1009b16c], ecx
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
mov dword [ebp - 0x79c], edx
mov dword [ebp - 0x798], eax
cmp dword [ebp - 0x798], 0
jl 0x10010422
jg 0x10010416
cmp dword [ebp - 0x79c], 0
jb 0x10010422
mov dword [ebp - 0x1b4], 1
jmp 0x1001042c
mov dword [ebp - 0x1b4], 0
mov ecx, dword [0x1009b168]
mov edx, dword [0x1009b16c]
mov dword [ebp - 0x7a4], ecx
mov dword [ebp - 0x7a0], edx
cmp dword [ebp - 0x7a0], 0
jl 0x10010464
jg 0x10010458
cmp dword [ebp - 0x7a4], 0x17
jb 0x10010464
mov dword [ebp - 0x1b8], 1
jmp 0x1001046e
mov dword [ebp - 0x1b8], 0
mov eax, dword [ebp - 0x1b4]
cmp eax, dword [ebp - 0x1b8]
jl 0x100104b3
call dword [sym.imp.USER32.dll_GetCursor]
mov dword [ebp - 0x6f8], eax
mov dword [ebp - 0x6fc], 0
cmp dword [ebp - 0x6f8], 0
je 0x100104ae
mov ecx, dword [ebp - 0x6fc]
push ecx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov dword [ebp - 0xd38], eax
jmp 0x100106d0
movzx edx, byte [0x1009b033]
not edx
test edx, edx
je 0x10010504
movsx eax, word [ebp - 0xc]
sub eax, 0x82
movzx ecx, word [ebp - 0x18]
imul ecx, eax
mov word [ebp - 0x18], cx
mov ecx, dword [ebp - 0x4c]
not ecx
movzx eax, word [ebp - 0x14]
cdq
sub ecx, eax
add ecx, dword [ebp - 0x4c]
mov byte [ebp - 1], cl
mov dword [0x1009b190], 0x8f5e2f29
mov edx, dword [ebp - 0x4c]
sub edx, 0xcc21
mov dword [0x1009b188], edx
jmp 0x100106d0
movsx eax, byte [0x1009b0ba]
cdq
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
mov dword [ebp - 0x7ac], eax
mov dword [ebp - 0x7a8], edx
mov dword [ebp - 0x7b4], ecx
mov dword [ebp - 0x7b0], esi
mov edx, dword [ebp - 0x7ac]
cmp edx, dword [ebp - 0x7b4]
jne 0x1001054c
mov eax, dword [ebp - 0x7a8]
cmp eax, dword [ebp - 0x7b0]
je 0x10010558
mov dword [ebp - 0x1bc], 1
jmp 0x10010562
mov dword [ebp - 0x1bc], 0
mov ecx, dword [ebp - 0x58]
cmp ecx, dword [ebp - 0x1bc]
jne 0x100105d6
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
push 0xcb757
push 0x4c3e792f
push eax
push edx
call fcn.1006c090
mov word [ebp - 0x1c], ax
mov dword [0x1009b14c], 1
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0xd34], edx
add ecx, 0x19b4
mov byte [0x1009b0bb], cl
mov eax, dword [0x1009b1a0]
add eax, 0x15284a7a
mov byte [0x1009b0ba], al
mov cl, byte [0x1009b0a6]
mov byte [ebp - 1], cl
movzx edx, byte [ebp - 2]
imul eax, edx, 0xe802
mov byte [0x1009b0a6], al
jmp 0x100106d0
cmp dword [0x1009b188], 0
je 0x100106d0
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
sub ecx, 1
sbb edx, 0
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], edx
mov eax, dword [0x1009b13c]
push eax
mov ecx, dword [0x1009b138]
push ecx
mov edx, dword [0x1009b17c]
push edx
mov eax, dword [0x1009b178]
push eax
call fcn.1006c090
mov dword [ebp - 0x7bc], eax
mov dword [ebp - 0x7b8], edx
mov ecx, dword [ebp - 0x7bc]
or ecx, dword [ebp - 0x7b8]
jne 0x1001063a
mov dword [ebp - 0x1c0], 1
jmp 0x10010644
mov dword [ebp - 0x1c0], 0
movsx edx, byte [0x1009b0bb]
mov eax, dword [0x1009b144]
sub eax, edx
not eax
imul eax, dword [ebp - 0x1c0]
xor ecx, ecx
mov dword [0x1009b178], eax
mov dword [0x1009b17c], ecx
movzx edx, word [0x1009b158]
test edx, edx
jne 0x1001067f
mov dword [ebp - 0x1c4], 1
jmp 0x10010689
mov dword [ebp - 0x1c4], 0
movsx eax, word [0x1009b180]
not eax
xor eax, dword [0x1009b14c]
movsx ecx, byte [0x1009b0bb]
mov edx, dword [ebp - 0x1c4]
sub edx, ecx
add eax, edx
mov byte [0x1009b0ee], al
imul eax, dword [0x1009b148], 0xca6a
mov dword [ebp - 0x50], eax
mov ecx, 0xdda3e
mov dword [0x1009b138], 0x389aa565
mov dword [0x1009b13c], ecx
mov dx, word [ebp - 0x24]
add dx, 1
mov word [ebp - 0x24], dx
jmp 0x100103ac
mov eax, dword [ebp - 0xfc]
add eax, 0x3fa
mov dword [ebp - 0x698], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
xor ecx, ecx
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], ecx
mov edx, dword [ebp - 0xfc]
add edx, 0x26b
mov dword [ebp - 0x694], edx
mov eax, dword [0x1009b138]
or eax, dword [0x1009b13c]
je 0x10010772
mov cl, byte [0x1009b07f]
mov edx, 1
imul eax, edx, 0x21
mov byte [eax + 0x1034cfc8], cl
cmp dword [ebp - 0x44], 0
je 0x10010753
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov dword [ebp - 0x4f4], ecx
mov dword [ebp - 0x4f0], edx
jmp 0x10010765
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x4f4], eax
mov dword [ebp - 0x4f0], ecx
mov dx, word [ebp - 0x4f4]
mov word [ebp - 0x1c], dx
jmp 0x100107af
movzx eax, byte [ebp - 1]
test eax, eax
jne 0x100107af
movsx eax, byte [0x1009b0a7]
sub eax, 0x4c13
cdq
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
mov dword [0x1009b18c], 0x31
movzx ecx, byte [0x1009b01f]
movzx edx, word [ebp - 8]
add ecx, edx
mov byte [0x1009b01f], cl
mov eax, dword [ebp - 0xfc]
add eax, 0x27
mov dword [ebp - 0xd30], eax
movzx ecx, word [ebp - 0x10]
add ecx, 0x907c
mov byte [0x1009b0ef], cl
mov edx, dword [0x1009b1a0]
sub edx, 0xdbce697f
mov byte [0x1009b01f], dl
movzx eax, word [ebp - 0x14]
movzx ecx, word [ebp - 0x10]
add eax, ecx
mov word [ebp - 0x14], ax
movsx edx, byte [0x1009b0a7]
mov eax, dword [0x1009b1b0]
add eax, edx
mov ecx, dword [0x1009b1b0]
add ecx, eax
mov dword [0x1009b1b0], ecx
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], eax
movzx eax, word [0x1009b158]
cdq
mov ecx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x64]
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov ecx, eax
mov esi, edx
movzx eax, word [0x1009b158]
cdq
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov word [0x1009b158], ax
mov edx, dword [0x1009bc7c]
mov dword [ebp - 0x100], edx
mov eax, 8
imul ecx, eax, 3
mov edx, dword [ecx + 0x10153c28]
mov eax, dword [ecx + 0x10153c2c]
mov dword [0x1009b130], edx
mov dword [0x1009b134], eax
movzx eax, byte [0x1009b0a6]
cdq
mov ecx, eax
mov esi, edx
sub ecx, 0x9e07c046
sbb esi, 0x49d5a
movzx eax, byte [0x1009b033]
cdq
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov byte [0x1009b033], al
mov edx, dword [0x1009bc7c]
mov dword [0x1009b140], edx
mov byte [0x1009b0a7], 0x9c
mov eax, dword [ebp - 0x100]
add eax, 0x6f
mov dword [ebp - 0xd2c], eax
mov ecx, 1
imul edx, ecx, 0x4d
mov al, byte [0x1009b180]
mov byte [edx + 0x102237a0], al
mov ecx, dword [0x1009b18c]
add ecx, 0xbd
xor edx, edx
mov dword [0x1009b168], ecx
mov dword [0x1009b16c], edx
movzx eax, byte [0x1009b0ef]
sub eax, 0x4006
movzx ecx, word [ebp - 0x10]
imul ecx, eax
mov word [ebp - 0x10], cx
mov edx, dword [ebp - 0x100]
add edx, 0x250
mov dword [ebp - 0x6a4], edx
mov eax, dword [ebp - 0x100]
add eax, 0x15a
mov dword [ebp - 0x6a0], eax
movzx ecx, byte [0x1009b0a6]
xor ecx, dword [0x1009b170]
mov edx, dword [0x1009b170]
sub edx, ecx
mov dword [0x1009b170], edx
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xd28], ecx
sub eax, 0x451c049f
mov dword [ebp - 0x58], eax
movzx edx, word [ebp - 0x10]
xor edx, 0x2b
mov byte [0x1009b07f], dl
mov eax, dword [0x1009bc7c]
mov dword [ebp - 0x104], eax
mov ecx, 9
mov esi, str.CloudAPPluginIniti
lea edi, [ebp - 0xef0]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea ecx, [ebp - 0xef0]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [ebp - 0x18], ax
mov edx, dword [ebp - 0x104]
add edx, 0xa9
mov dword [ebp - 0xd24], edx
mov eax, dword [0x1009b14c]
mov byte [0x1009b0ef], al
movzx ecx, word [ebp - 0x28]
add ecx, 0x61ca4861
mov word [ebp - 0x14], cx
movzx edx, byte [0x1009b033]
test edx, edx
jne 0x100109d7
mov dword [ebp - 0x1c8], 1
jmp 0x100109e1
mov dword [ebp - 0x1c8], 0
mov eax, dword [0x1009b160]
not eax
mov ecx, dword [0x1009b164]
not ecx
mov edx, dword [ebp - 0x34]
add eax, dword [ebp - 0x38]
adc ecx, edx
mov dword [ebp - 0x7c4], eax
mov dword [ebp - 0x7c0], ecx
mov eax, dword [ebp - 0x7c4]
or eax, dword [ebp - 0x7c0]
jne 0x10010a1e
mov dword [ebp - 0x1cc], 1
jmp 0x10010a28
mov dword [ebp - 0x1cc], 0
mov ecx, dword [ebp - 0x1c8]
add ecx, dword [ebp - 0x1cc]
jne 0x10010a3c
mov byte [ebp - 0x7f], 1
jmp 0x10010a40
mov byte [ebp - 0x7f], 0
mov dl, byte [ebp - 0x7f]
mov byte [0x1009b033], dl
mov eax, dword [ebp - 0x104]
add eax, 0x366
mov dword [ebp - 0xd20], eax
mov dword [ebp - 0x50], 3
movzx eax, word [ebp - 0x10]
sub eax, 0xd3
cdq
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
movzx eax, byte [0x1009b0ef]
cdq
mov ecx, eax
mov esi, edx
sub ecx, dword [ebp - 0x40]
sbb esi, dword [ebp - 0x3c]
movzx eax, byte [0x1009b0ef]
cdq
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov byte [0x1009b0ef], al
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0xd1c], edx
not ecx
mov eax, dword [ebp - 0x54]
cdq
add ecx, eax
mov eax, dword [0x1009b168]
mov edx, dword [0x1009b16c]
mov dword [ebp - 0xd18], edx
add eax, dword [ebp - 0x70]
sub ecx, eax
mov dword [0x1009b1a0], ecx
movsx eax, byte [0x1009b0ba]
cdq
push 0xa7c55
push 0x256322cb
push edx
push eax
call fcn.1006c090
mov byte [0x1009b0bb], al
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x1d0], eax
cmp dword [ebp - 0x1d0], 3
ja case.default.0x10010b08
mov ecx, dword [ebp - 0x1d0]
jmp dword [ecx*4 + 0x1001c280]
movzx eax, byte [0x1009b0ee]
cdq
mov ecx, dword [ebp - 0x6c]
push ecx
mov ecx, dword [ebp - 0x70]
push ecx
push edx
push eax
call fcn.1006c090
mov byte [0x1009b0ee], al
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
push 0x374d6
push 0xb4913cfc
push eax
push edx
call fcn.1006c090
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
mov dword [0x1009b148], 0x28
jmp case.default.0x10010b08
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [ebp - 0x2c]
push ecx
mov ecx, dword [ebp - 0x30]
push ecx
push edx
push eax
call fcn.1006c090
mov word [ebp - 0x1c], ax
mov eax, dword [ebp - 0x58]
cdq
add eax, 0xe75a5400
adc edx, 0x20177
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
push 0
push 0x86
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x40]
push eax
call fcn.1006c090
mov byte [0x1009b0ee], al
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
push 0xb6134
push 0x785e893
push edx
push ecx
call fcn.1006c090
mov byte [0x1009b0ba], al
movzx eax, byte [0x1009b033]
cdq
push 0xde819
push 0x66be1233
push edx
push eax
call fcn.1006c090
mov dword [ebp - 0x54], eax
movsx eax, byte [0x1009b0ba]
cdq
add eax, 0x16a418dc
mov word [ebp - 8], ax
jmp case.default.0x10010b08
movzx eax, byte [0x1009b0a6]
movsx ecx, byte [0x1009b0a7]
imul eax, ecx
movzx edx, byte [0x1009b0a6]
sub edx, eax
mov byte [0x1009b0a6], dl
movzx eax, word [ebp - 0x14]
and eax, 0x9ae6
mov byte [0x1009b0ef], al
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
push 0
push 0xd51e
push edx
push ecx
call fcn.1006c090
mov ecx, dword [0x1009b150]
mov esi, dword [0x1009b154]
add ecx, eax
adc esi, edx
mov dword [0x1009b150], ecx
mov dword [0x1009b154], esi
mov dx, word [ebp - 0xc]
add dx, 1
mov word [ebp - 0xc], dx
movsx eax, word [ebp - 0x1c]
movzx ecx, word [ebp - 0x14]
imul eax, ecx
mov word [ebp - 0x1c], ax
jmp case.default.0x10010b08
mov eax, dword [0x1009b14c]
cdq
push edx
push eax
mov edx, dword [ebp - 0x6c]
push edx
mov eax, dword [ebp - 0x70]
push eax
call fcn.1006c090
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov ecx, dword [0x1009b144]
shr ecx, 1
mov dword [ebp - 0x58], ecx
movzx eax, byte [ebp - 1]
cdq
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0xd14], ecx
add eax, edx
mov dword [0x1009b140], eax
push 0
push 0x6e95
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x40]
push eax
call fcn.1006c090
mov word [ebp - 0x14], ax
mov ecx, dword [ebp - 0x104]
add ecx, 0x34
mov dword [ebp - 0x2d4], ecx
movzx edx, word [ebp - 0x28]
movzx eax, byte [0x1009b07f]
cmp edx, eax
jl 0x1001105a
mov dword [ebp - 0x108], 0
jmp 0x10010d04
mov ecx, dword [ebp - 0x108]
add ecx, 1
mov dword [ebp - 0x108], ecx
cmp dword [ebp - 0x108], 0xe6
jge 0x10011055
mov dword [0x1009b140], 2
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
push 0x42a18
push 0x307b5b02
push eax
push edx
call fcn.1006c090
mov byte [0x1009b07e], al
mov eax, dword [0x1009b160]
mov edx, dword [0x1009b164]
mov cl, 5
call fcn.1006c0d0
mov dword [0x1009b168], eax
mov dword [0x1009b16c], edx
movsx ecx, byte [0x1009b0a7]
test ecx, ecx
je 0x10010d73
movzx edx, word [ebp - 0x20]
mov dword [ebp - 0x1d4], edx
jmp 0x10010d7e
mov eax, dword [0x1009b188]
mov dword [ebp - 0x1d4], eax
mov cx, word [ebp - 0x1d4]
mov word [ebp - 0x1c], cx
movsx edx, word [ebp - 0xc]
movzx eax, byte [0x1009b07e]
xor edx, eax
mov word [ebp - 0xc], dx
movsx ecx, word [ebp - 0xc]
test ecx, ecx
jne 0x10010db6
xor edx, edx
mov dword [ebp - 0x53c], 1
mov dword [ebp - 0x538], edx
jmp 0x10010dc1
xorps xmm0, xmm0
movlpd qword [ebp - 0x53c], xmm0
movzx eax, word [ebp - 0x14]
movzx ecx, word [ebp - 8]
add eax, ecx
movsx edx, byte [0x1009b0ba]
sub eax, edx
jne 0x10010dea
xor eax, eax
mov dword [ebp - 0x534], 1
mov dword [ebp - 0x530], eax
jmp 0x10010df5
xorps xmm0, xmm0
movlpd qword [ebp - 0x534], xmm0
mov ecx, dword [0x1009b168]
mov edx, dword [0x1009b16c]
mov eax, dword [ebp - 0x34]
add ecx, dword [ebp - 0x38]
adc edx, eax
mov eax, dword [ebp - 0x53c]
sub eax, ecx
mov ecx, dword [ebp - 0x538]
sbb ecx, edx
sub eax, dword [ebp - 0x534]
sbb ecx, dword [ebp - 0x530]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
movzx edx, byte [0x1009b01f]
movzx eax, word [ebp - 0x10]
add edx, eax
movzx ecx, byte [0x1009b01f]
sub ecx, edx
mov byte [0x1009b01f], cl
mov edx, dword [0x1009b140]
mov dword [ebp - 0x10c], edx
cmp dword [ebp - 0x10c], 0
je 0x10010e77
cmp dword [ebp - 0x10c], 1
je 0x10010ed5
cmp dword [ebp - 0x10c], 2
je 0x10010f49
jmp 0x10011044
imul eax, dword [0x1009b170], 0xf2f90cf5
mov byte [ebp - 2], al
mov ecx, dword [ebp - 0x50]
add ecx, 0x6b6267e
mov dword [ebp - 0x50], ecx
mov dl, byte [0x1009b184]
mov byte [0x1009b0a6], dl
movsx eax, word [ebp - 0x1c]
imul ecx, eax, 0xfd
movzx edx, word [ebp - 0x28]
xor edx, ecx
mov word [ebp - 0x28], dx
movzx eax, byte [ebp - 1]
cdq
mov ecx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x64]
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov ecx, eax
movzx eax, byte [ebp - 1]
cdq
and eax, ecx
mov byte [ebp - 1], al
jmp 0x10011044
movzx edx, word [ebp - 0x18]
movzx eax, byte [0x1009b07e]
lea ecx, [eax + edx - 0xef6c299]
mov byte [0x1009b07e], cl
mov dx, word [ebp - 0x24]
sub dx, 1
mov word [ebp - 0x24], dx
movzx eax, word [ebp - 0x14]
mov ecx, dword [0x1009b14c]
imul ecx, eax
mov dword [0x1009b14c], ecx
mov ecx, dword [0x1009b144]
add ecx, 0x7535ecb4
movzx eax, byte [0x1009b07f]
cdq
add eax, ecx
mov byte [0x1009b07f], al
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
mov dword [ebp - 0xd10], eax
sub edx, 0xf6e590ac
mov byte [0x1009b0a6], dl
jmp 0x10011044
movzx eax, word [ebp - 0x18]
movzx ecx, byte [0x1009b0a6]
imul edx, ecx, 0xe150
not edx
sub edx, dword [0x1009b14c]
add eax, edx
cdq
mov dword [0x1009b150], eax
mov dword [0x1009b154], edx
mov ax, word [0x1009b170]
mov word [ebp - 8], ax
xor ecx, ecx
mov dword [ebp - 0x4c], 8
mov dword [ebp - 0x48], ecx
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [ebp - 0x40]
sub ecx, eax
mov eax, dword [ebp - 0x3c]
sbb eax, edx
add ecx, dword [ebp - 0x40]
adc eax, dword [ebp - 0x3c]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], eax
mov eax, dword [0x1009b14c]
cdq
mov ecx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x64]
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
sub edx, ecx
sbb eax, esi
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], eax
movzx eax, byte [0x1009b07e]
cdq
mov ecx, dword [ebp - 0x4c]
sub ecx, eax
mov esi, dword [ebp - 0x48]
sbb esi, edx
movzx eax, byte [0x1009b0ee]
cdq
add ecx, eax
adc esi, edx
mov dword [ebp - 0x7cc], ecx
mov dword [ebp - 0x7c8], esi
mov edx, dword [ebp - 0x7cc]
or edx, dword [ebp - 0x7c8]
jne 0x1001100d
xor eax, eax
mov dword [ebp - 0x52c], 1
mov dword [ebp - 0x528], eax
jmp 0x10011018
xorps xmm0, xmm0
movlpd qword [ebp - 0x52c], xmm0
movzx eax, word [0x1009b184]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
sub ecx, eax
sbb esi, edx
push esi
push ecx
mov edx, dword [ebp - 0x528]
push edx
mov eax, dword [ebp - 0x52c]
push eax
call fcn.1006c090
mov dword [0x1009b170], eax
mov cx, word [ebp - 0x18]
add cx, 1
mov word [ebp - 0x18], cx
jmp 0x10010cf5
jmp 0x1001137f
cmp dword [0x1009b1b0], 0
jne 0x1001106f
mov dword [ebp - 0x1d8], 1
jmp 0x10011079
mov dword [ebp - 0x1d8], 0
movzx edx, byte [ebp - 2]
cmp dword [ebp - 0x1d8], edx
je 0x10011099
xor eax, eax
mov dword [ebp - 0x524], 1
mov dword [ebp - 0x520], eax
jmp 0x100110a4
xorps xmm0, xmm0
movlpd qword [ebp - 0x524], xmm0
mov ecx, dword [0x1009b178]
or ecx, dword [ebp - 0x524]
mov edx, dword [0x1009b17c]
or edx, dword [ebp - 0x520]
mov dword [ebp - 0x7d4], ecx
mov dword [ebp - 0x7d0], edx
mov eax, dword [ebp - 0x7d4]
or eax, dword [ebp - 0x7d0]
je 0x10011173
mov eax, dword [ebp - 0x44]
cdq
mov ecx, eax
sub ecx, dword [0x1009b138]
movzx eax, word [ebp - 8]
cdq
add ecx, eax
movzx eax, byte [ebp - 2]
cdq
mov esi, dword [ebp - 0x4c]
sub esi, eax
not esi
movzx eax, word [ebp - 0x20]
cdq
sub esi, eax
add ecx, esi
mov word [ebp - 0x24], cx
movzx edx, word [0x1009b158]
sub edx, 0x54b88a7c
mov word [0x1009b180], dx
mov eax, dword [ebp - 0x30]
sub eax, dword [0x1009b178]
mov ecx, dword [ebp - 0x2c]
sbb ecx, dword [0x1009b17c]
push ecx
push eax
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp - 0x30]
push eax
call fcn.1006c090
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
add ecx, dword [ebp - 0x4c]
adc edx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
movsx eax, byte [0x1009b0a7]
cdq
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0xd0c], edx
xor eax, ecx
mov byte [0x1009b0a7], al
jmp 0x1001137f
movzx eax, word [0x1009b184]
movzx ecx, byte [0x1009b07f]
add eax, ecx
jne 0x100112e8
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x7dc], edx
mov dword [ebp - 0x7d8], eax
mov ecx, dword [ebp - 0x7dc]
or ecx, dword [ebp - 0x7d8]
jne 0x100111bd
xor edx, edx
mov dword [ebp - 0x51c], 1
mov dword [ebp - 0x518], edx
jmp 0x100111c8
xorps xmm0, xmm0
movlpd qword [ebp - 0x51c], xmm0
movzx eax, word [0x1009b184]
cdq
mov ecx, dword [0x1009b138]
sub ecx, eax
mov eax, dword [0x1009b13c]
sbb eax, edx
mov edx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x74]
not edx
not esi
add edx, dword [ebp - 0x51c]
adc esi, dword [ebp - 0x518]
xor ecx, edx
xor eax, esi
xor edx, edx
sub ecx, dword [0x1009b148]
sbb eax, edx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], eax
movzx eax, word [0x1009b184]
cdq
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov word [0x1009b184], ax
mov edx, dword [0x1009b188]
add edx, dword [ebp - 0x54]
jne 0x10011243
mov dword [ebp - 0x1dc], 1
jmp 0x1001124d
mov dword [ebp - 0x1dc], 0
movzx eax, byte [ebp - 1]
movsx ecx, word [0x1009b180]
and eax, ecx
movzx edx, word [ebp - 8]
mov ecx, dword [ebp - 0x1dc]
sub ecx, edx
lea edx, [eax + ecx + 0x320e8d64]
mov word [0x1009b180], dx
imul eax, dword [0x1009b1b0], 0xd307c330
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xd08], edx
add ecx, 0xece76952
mov dword [0x1009b18c], ecx
movzx eax, word [ebp - 0x20]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [ebp - 0x64]
add ecx, dword [ebp - 0x68]
adc esi, edx
movsx eax, byte [0x1009b0a7]
cdq
add ecx, eax
adc esi, edx
xor eax, eax
mov edx, 0x5e71b58b
sub edx, dword [0x1009b1a0]
mov edi, 0x97bfa
sbb edi, eax
xor eax, eax
add edx, dword [0x1009b144]
adc edi, eax
push edi
push edx
push esi
push ecx
call fcn.1006c090
mov word [0x1009b158], ax
jmp 0x1001137f
mov ecx, dword [0x1009b140]
cmp dword [0x1009b14c], ecx
jne 0x10011302
mov dword [ebp - 0x1e0], 1
jmp 0x1001130c
mov dword [ebp - 0x1e0], 0
imul edx, dword [ebp - 0x1e0], 0xdc525417
test edx, edx
je 0x1001137f
movzx eax, byte [0x1009b07e]
add eax, 0xf4e
cdq
mov dword [0x1009b130], eax
mov dword [0x1009b134], edx
movzx eax, word [ebp - 0x10]
sub eax, dword [0x1009b140]
movzx ecx, word [ebp - 0x10]
sub ecx, eax
mov word [ebp - 0x10], cx
cmp dword [ebp - 0x58], 0
je 0x1001135c
mov dx, word [0x1009b184]
mov word [ebp - 0x96], dx
jmp 0x10011367
mov ax, word [ebp - 0x18]
mov word [ebp - 0x96], ax
mov cl, byte [ebp - 0x96]
mov byte [0x1009b01f], cl
mov dx, word [ebp - 0x10]
add dx, 1
mov word [ebp - 0x10], dx
mov eax, dword [0x1009bc7c]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x44]
cdq
push edx
push eax
mov ecx, dword [ebp - 0x2c]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.1006c090
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov eax, dword [0x1009b190]
sub eax, 0x581e6986
xor ecx, ecx
mov edx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
or edx, eax
or esi, ecx
mov dword [0x1009b168], edx
mov dword [0x1009b16c], esi
mov eax, dword [ebp - 0x110]
add eax, 0x359
mov dword [ebp - 0xd04], eax
movzx ecx, byte [0x1009b0ee]
mov edx, dword [0x1009b140]
sub edx, ecx
mov dword [0x1009b140], edx
movzx eax, byte [0x1009b01f]
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov eax, 8
imul ecx, eax, 0x17
mov edx, dword [0x1009b1b0]
add edx, dword [ecx + 0x10153c28]
mov dword [0x1009b1b0], edx
mov eax, dword [ebp - 0x110]
add eax, 0x389
mov dword [ebp - 0xd00], eax
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
mov dword [ebp - 0x7e4], ecx
mov dword [ebp - 0x7e0], edx
mov eax, dword [ebp - 0x7e4]
or eax, dword [ebp - 0x7e0]
jne 0x1001145c
mov dword [ebp - 0x1e4], 1
jmp 0x10011466
mov dword [ebp - 0x1e4], 0
mov ecx, dword [0x1009b18c]
xor edx, edx
mov eax, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
push edx
push ecx
push esi
push eax
call fcn.1006c090
mov ecx, eax
mov esi, edx
movsx eax, word [0x1009b180]
movzx edx, byte [ebp - 1]
add eax, edx
cdq
sub ecx, eax
sbb esi, edx
movsx eax, word [ebp - 0x1c]
and eax, dword [ebp - 0x1e4]
cdq
mov edi, dword [ebp - 0x68]
mov ebx, dword [ebp - 0x64]
and edi, eax
and ebx, edx
sub ecx, edi
sbb esi, ebx
mov dword [0x1009b1a8], ecx
mov dword [0x1009b1ac], esi
imul eax, dword [0x1009b188], 0xf280
movzx ecx, word [ebp - 8]
imul ecx, eax
mov word [ebp - 8], cx
mov edx, dword [0x1009b170]
add edx, dword [ebp - 0x44]
mov dword [0x1009b170], edx
mov eax, dword [ebp - 0x110]
add eax, 0x2f9
mov dword [ebp - 0x6c4], eax
mov dword [ebp - 0x148], 9
movzx ecx, word [0x1009b184]
sub ecx, 0x174d
movzx edx, word [ebp - 0x20]
sub edx, ecx
mov word [ebp - 0x20], dx
mov eax, dword [0x1009b178]
or eax, dword [0x1009b17c]
jne 0x10011534
xor ecx, ecx
mov dword [ebp - 0x514], 1
mov dword [ebp - 0x510], ecx
jmp 0x1001153f
xorps xmm0, xmm0
movlpd qword [ebp - 0x514], xmm0
mov edx, dword [ebp - 0x514]
mov eax, dword [ebp - 0x510]
mov dword [0x1009b168], edx
mov dword [0x1009b16c], eax
mov ecx, dword [0x1009b1a0]
shr ecx, 3
mov dword [0x1009b144], ecx
mov dword [0x1009b144], 0
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
add edx, 0x36
adc eax, 0
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], eax
movsx eax, byte [0x1009b0bb]
cdq
push 0xf3194
push 0x5e5648b5
push edx
push eax
call fcn.1006c090
mov word [0x1009b184], ax
movzx ecx, byte [ebp - 2]
imul edx, ecx, 0x8c
movsx eax, byte [0x1009b0a7]
add eax, edx
mov byte [0x1009b0a7], al
mov ecx, dword [0x1009b144]
mov dword [ebp - 0x700], ecx
cmp dword [ebp - 0x700], 0
je 0x100115d2
jmp 0x1001167b
movzx eax, byte [0x1009b0ef]
cdq
add eax, 0x2bb59ceb
mov byte [0x1009b01f], al
movzx edx, byte [0x1009b0ee]
movsx eax, word [0x1009b180]
add edx, eax
mov byte [0x1009b0ee], dl
movzx ecx, byte [0x1009b0ef]
test ecx, ecx
jne 0x10011611
mov dword [ebp - 0x1e8], 1
jmp 0x1001161b
mov dword [ebp - 0x1e8], 0
mov edx, 0xd3a9beb4
sub edx, dword [ebp - 0x1e8]
xor eax, eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
movzx ecx, word [ebp - 0x24]
sub ecx, 0xdb15
mov dword [0x1009b144], ecx
push 0
push 0x1516
mov edx, dword [0x1009b13c]
push edx
mov eax, dword [0x1009b138]
push eax
call fcn.1006c090
mov ecx, eax
movsx eax, byte [0x1009b0ba]
cdq
sub eax, ecx
mov byte [0x1009b0ba], al
movsx eax, byte [0x1009b0bb]
add eax, 0x5bd94bfd
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov edx, dword [ebp - 0x148]
add edx, 1
mov dword [ebp - 0x148], edx
cmp dword [ebp - 0x148], 0x53f
jl 0x10011565
mov eax, dword [0x1009bc7c]
mov dword [ebp - 0x118], eax
mov ecx, dword [0x1009b170]
xor edx, edx
mov dword [ebp - 0x7ec], ecx
mov dword [ebp - 0x7e8], edx
mov eax, dword [ebp - 0x7e8]
cmp eax, dword [0x1009b13c]
jb 0x100116e3
ja 0x100116d7
mov ecx, dword [ebp - 0x7ec]
cmp ecx, dword [0x1009b138]
jb 0x100116e3
mov dword [ebp - 0x1ec], 1
jmp 0x100116ed
mov dword [ebp - 0x1ec], 0
cmp dword [0x1009b170], 0x10
jb 0x10011702
mov dword [ebp - 0x1f0], 1
jmp 0x1001170c
mov dword [ebp - 0x1f0], 0
mov edx, dword [ebp - 0x1ec]
cmp edx, dword [ebp - 0x1f0]
je 0x100119a8
mov eax, 1
mov word [ebp - 0x1c], ax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
add ecx, 0xce44cbcc
adc edx, 0
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], edx
mov eax, dword [0x1009b190]
sub eax, 0x3309f3dc
mov word [ebp - 0x10], ax
mov ecx, dword [ebp - 0x74]
mov esi, dword [ebp - 0x40]
sub esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x3c]
sbb edi, ecx
movzx eax, byte [0x1009b07e]
cdq
sub esi, eax
sbb edi, edx
mov dword [ebp - 0x7f4], esi
mov dword [ebp - 0x7f0], edi
mov edx, dword [ebp - 0x7f4]
or edx, dword [ebp - 0x7f0]
jne 0x10011792
xor eax, eax
mov dword [ebp - 0x50c], 1
mov dword [ebp - 0x508], eax
jmp 0x1001179d
xorps xmm0, xmm0
movlpd qword [ebp - 0x50c], xmm0
movzx ecx, word [ebp - 0x28]
xor ecx, dword [ebp - 0x50]
xor esi, esi
movzx eax, byte [0x1009b07f]
cdq
or eax, dword [0x1009b138]
or edx, dword [0x1009b13c]
not eax
not edx
add ecx, eax
adc esi, edx
not ecx
not esi
xor ecx, dword [ebp - 0x50c]
xor esi, dword [ebp - 0x508]
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], esi
movsx eax, word [0x1009b180]
movzx edx, byte [0x1009b033]
add eax, edx
cdq
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
movzx eax, word [ebp - 0x28]
movsx ecx, word [ebp - 0x1c]
imul eax, ecx
mov word [ebp - 0x28], ax
cmp dword [ebp - 0x44], 0
jne 0x10011810
mov dword [ebp - 0x1f4], 1
jmp 0x1001181a
mov dword [ebp - 0x1f4], 0
movzx eax, word [ebp - 0x20]
movzx edx, word [ebp - 0x28]
xor edx, dword [ebp - 0x1f4]
add eax, edx
cdq
xor eax, dword [ebp - 0x70]
mov word [0x1009b158], ax
movsx eax, word [ebp - 0x1c]
mov dword [ebp - 0x1f8], eax
cmp dword [ebp - 0x1f8], 0
je 0x10011859
cmp dword [ebp - 0x1f8], 1
je 0x1001192d
jmp 0x100119a3
mov ecx, dword [0x1009b178]
sub ecx, 0xd2
mov edx, dword [0x1009b17c]
sbb edx, 0
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
movsx eax, byte [0x1009b0ba]
cdq
push 0x56bc2
push 0x5ed92275
push edx
push eax
call fcn.1006c090
mov dword [0x1009b144], eax
movsx eax, word [ebp - 0xc]
imul ecx, eax, 0x8a5fbbb
mov byte [0x1009b07f], cl
mov edx, 2
shl edx, 2
movzx eax, word [edx + 0x1014e3e8]
movzx ecx, word [ebp - 0x10]
sub ecx, eax
mov word [ebp - 0x10], cx
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xcfc], eax
sub edx, 0x9f71beeb
mov byte [ebp - 1], dl
movzx ecx, word [0x1009b158]
test ecx, ecx
jne 0x100118e7
mov dword [ebp - 0x1fc], 1
jmp 0x100118f1
mov dword [ebp - 0x1fc], 0
movzx edx, byte [ebp - 1]
imul edx, dword [ebp - 0x1fc]
test edx, edx
jne 0x1001190c
mov dword [ebp - 0x200], 1
jmp 0x10011916
mov dword [ebp - 0x200], 0
movzx eax, word [ebp - 0x24]
movzx ecx, byte [ebp - 1]
xor eax, ecx
sub eax, dword [ebp - 0x200]
mov byte [0x1009b07e], al
jmp 0x100119a3
mov edx, dword [0x1009b1a0]
sub edx, 0x7c820bce
xor eax, eax
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], eax
movzx ecx, word [0x1009b158]
test ecx, ecx
je 0x10011960
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x544], edx
mov dword [ebp - 0x540], eax
jmp 0x10011974
mov ecx, dword [0x1009b144]
xor edx, edx
mov dword [ebp - 0x544], ecx
mov dword [ebp - 0x540], edx
mov ax, word [ebp - 0x544]
mov word [ebp - 0x14], ax
mov ecx, dword [ebp - 0x30]
and ecx, 0xd0e2
mov edx, dword [ebp - 0x2c]
and edx, 0
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], edx
movzx eax, word [ebp - 0x20]
imul eax, dword [0x1009b14c]
mov word [ebp - 0x20], ax
jmp 0x10011ae0
movzx ecx, word [ebp - 0x14]
test ecx, ecx
jne 0x100119bc
mov dword [ebp - 0x204], 1
jmp 0x100119c6
mov dword [ebp - 0x204], 0
movsx edx, word [0x1009b180]
add edx, dword [ebp - 0x204]
jne 0x100119e1
mov dword [ebp - 0x20c], 1
jmp 0x100119eb
mov dword [ebp - 0x20c], 0
cmp dword [0x1009b14c], 0
jne 0x10011a00
mov dword [ebp - 0x208], 1
jmp 0x10011a0a
mov dword [ebp - 0x208], 0
movsx eax, word [0x1009b180]
mov ecx, dword [ebp - 0x208]
sub ecx, eax
add ecx, dword [ebp - 0x20c]
mov eax, ecx
cdq
mov esi, eax
mov edi, edx
movzx eax, byte [0x1009b07f]
movzx edx, word [ebp - 0x28]
sub eax, edx
cdq
mov ecx, eax
mov ebx, edx
mov eax, dword [ebp - 0x44]
cdq
mov dword [ebp - 0x704], edi
mov edi, dword [0x1009b154]
add eax, dword [0x1009b150]
adc edx, edi
push edx
push eax
push ebx
push ecx
call fcn.1006c090
add esi, eax
mov edi, dword [ebp - 0x704]
adc edi, edx
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], edi
movzx edx, byte [0x1009b0ee]
test edx, edx
je 0x10011a81
mov eax, dword [0x1009b140]
mov dword [ebp - 0x210], eax
jmp 0x10011a8e
movzx ecx, byte [0x1009b01f]
mov dword [ebp - 0x210], ecx
mov dl, byte [ebp - 0x210]
mov byte [0x1009b07e], dl
mov eax, dword [0x1009b1a8]
mov ecx, dword [0x1009b1ac]
push 0
push 0x8e
push ecx
push eax
call fcn.1006c090
mov word [ebp - 0x28], ax
mov edx, dword [0x1009b1a0]
xor eax, eax
push eax
push edx
mov ecx, dword [ebp - 0x2c]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.1006c090
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
movzx eax, word [ebp - 0x10]
mov ecx, dword [ebp - 0x54]
sub ecx, eax
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x118]
add edx, 0x1e9
mov dword [ebp - 0x6e4], edx
movsx eax, byte [0x1009b0ba]
test eax, eax
je 0x10011c2a
mov ecx, dword [0x1009b198]
mov edx, dword [0x1009b19c]
mov dword [ebp - 0x7fc], ecx
mov dword [ebp - 0x7f8], edx
mov eax, dword [ebp - 0x7fc]
or eax, dword [ebp - 0x7f8]
jne 0x10011b33
mov dword [ebp - 0x214], 1
jmp 0x10011b3d
mov dword [ebp - 0x214], 0
movzx eax, byte [ebp - 2]
cdq
mov ecx, eax
mov esi, edx
mov edi, dword [0x1009b1a8]
mov ebx, dword [0x1009b1ac]
not edi
not ebx
mov eax, dword [ebp - 0x54]
cdq
sub edi, eax
sbb ebx, edx
sub ecx, edi
sbb esi, ebx
movsx eax, byte [0x1009b0a7]
sub eax, dword [ebp - 0x214]
sub eax, 0x33
cdq
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov word [0x1009b158], ax
movzx edx, byte [0x1009b07f]
not edx
imul edx, dword [0x1009b1a0]
test edx, edx
jne 0x10011baa
xor eax, eax
mov dword [ebp - 0x54c], 1
mov dword [ebp - 0x548], eax
jmp 0x10011bb5
xorps xmm0, xmm0
movlpd qword [ebp - 0x54c], xmm0
movzx eax, word [ebp - 0x18]
cdq
add eax, dword [ebp - 0x40]
adc edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x548]
push ecx
mov ecx, dword [ebp - 0x54c]
push ecx
push edx
push eax
call fcn.1006c090
mov dword [0x1009b198], eax
mov dword [0x1009b19c], edx
mov edx, dword [0x1009b178]
mov eax, dword [0x1009b17c]
mov dword [0x1009b130], edx
mov dword [0x1009b134], eax
mov ecx, 2
imul edx, ecx, 6
mov ax, word [edx + 0x10223758]
mov word [ebp - 0xc], ax
mov ecx, dword [0x1009bc7c]
mov dword [0x1009b190], ecx
movzx edx, byte [0x1009b033]
shl edx, 7
mov byte [0x1009b07e], dl
jmp 0x10011cc3
movzx eax, word [ebp - 0x28]
cdq
push 0xb130f
push 0xfbf3bb7b
push edx
push eax
call fcn.1006c090
mov ecx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x64]
and ecx, eax
and esi, edx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], esi
mov edx, dword [0x1009bc7c]
xor eax, eax
mov dword [0x1009b178], edx
mov dword [0x1009b17c], eax
movzx ecx, word [ebp - 0x10]
movzx edx, byte [0x1009b07e]
xor ecx, edx
mov ax, word [ebp - 0x10]
shr ax, cl
mov word [ebp - 0x10], ax
movsx ecx, byte [0x1009b0bb]
imul edx, ecx, 0x3e
mov dword [0x1009b1b0], edx
mov eax, dword [0x1009b198]
mov ecx, dword [0x1009b19c]
sub eax, 1
sbb ecx, 0
mov dword [0x1009b198], eax
mov dword [0x1009b19c], ecx
mov edx, dword [0x1009b190]
xor eax, eax
push 0x61702
push 0x9e582bc6
push eax
push edx
call fcn.1006c090
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x118]
add ecx, 0x2d8
mov dword [ebp - 0x40c], ecx
movzx edx, word [ebp - 0x18]
mov eax, dword [0x1009b190]
imul eax, edx
mov ecx, dword [0x1009b190]
add ecx, eax
mov dword [0x1009b190], ecx
movzx eax, byte [ebp - 2]
sub eax, 0x45
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov dl, byte [0x1009b178]
mov eax, 1
imul ecx, eax, 0x14
mov byte [ecx + 0x101c09f0], dl
mov edx, dword [ebp - 0x118]
add edx, 0x14a
mov dword [ebp - 0xcf8], edx
mov eax, dword [0x1009b1b0]
imul eax, dword [ebp - 0x58]
imul eax, dword [ebp - 0x58]
mov dword [ebp - 0x58], eax
mov cx, word [0x1009bc7c]
mov word [ebp - 0xc], cx
movzx eax, byte [0x1009b0ef]
cdq
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov ecx, eax
movzx eax, byte [0x1009b0ef]
cdq
sub eax, ecx
mov byte [0x1009b0ef], al
mov dword [0x1009b188], 0xe39b
movzx edx, byte [0x1009b033]
shl edx, 7
mov dword [0x1009b14c], edx
mov eax, dword [0x1009b160]
xor eax, 0x124b
mov dword [0x1009b170], eax
xor ecx, ecx
mov byte [ebp - 0x92], cl
lea ecx, [ebp - 0x92]
call fcn.10002680
mov dword [ebp - 0xec], eax
mov edx, dword [ebp - 0xec]
movzx eax, byte [edx + 0xc]
test eax, eax
je 0x10011de0
push 0x1010101
push 0x1b97bd0d
push 0
push 0xc
mov ecx, dword [ebp - 0xec]
push ecx
call fcn.1003f720
mov edx, dword [ebp - 0xec]
mov byte [edx + 0xc], 0
mov eax, dword [ebp - 0xec]
push eax
push 0
push 0
call fcn.100015f0
call eax
mov dword [ebp - 0x708], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor ecx, ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x218]
add edx, 0x170
cmp dword [ebp - 0x218], edx
je 0x10013098
movsx eax, byte [0x1009b0a7]
test eax, eax
je 0x10011eb4
mov ecx, dword [0x1009b190]
sub ecx, 1
mov dword [0x1009b190], ecx
movzx eax, byte [0x1009b07e]
cdq
mov ecx, eax
add ecx, 0xe618cd12
mov eax, dword [ebp - 0x58]
cdq
xor ecx, eax
mov word [ebp - 0xc], cx
cmp dword [0x1009b140], 0
je 0x10011e72
movzx eax, word [ebp - 0x14]
cdq
mov dword [ebp - 0x554], eax
mov dword [ebp - 0x550], edx
jmp 0x10011e89
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
mov dword [ebp - 0x554], edx
mov dword [ebp - 0x550], eax
mov cl, byte [ebp - 0x554]
mov byte [0x1009b0ee], cl
mov edx, 4
imul eax, edx, 0x8b91
mov ecx, dword [0x1009b188]
sub ecx, dword [eax + 0x10223810]
mov dword [0x1009b188], ecx
jmp 0x10011f02
mov eax, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov cl, 3
call fcn.1006c0d0
mov word [ebp - 0x24], ax
movzx edx, word [ebp - 0x28]
movzx eax, byte [ebp - 1]
imul edx, eax
mov dword [0x1009b188], edx
movzx eax, byte [0x1009b07f]
cdq
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xcf4], edx
sub ecx, eax
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
call fcn.1006c0d0
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
mov byte [0x1009b07f], 0xf6
mov eax, dword [0x1009b150]
mov ecx, dword [0x1009b154]
mov edx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
mov dword [ebp - 0x804], eax
mov dword [ebp - 0x800], ecx
mov dword [ebp - 0x80c], edx
mov dword [ebp - 0x808], esi
mov eax, dword [ebp - 0x800]
cmp eax, dword [ebp - 0x808]
ja 0x10011f62
jb 0x10011f56
mov ecx, dword [ebp - 0x804]
cmp ecx, dword [ebp - 0x80c]
jae 0x10011f62
mov dword [ebp - 0x21c], 1
jmp 0x10011f6c
mov dword [ebp - 0x21c], 0
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
mov dword [ebp - 0x814], edx
mov dword [ebp - 0x810], eax
cmp dword [ebp - 0x810], 0
ja 0x10011fa3
jb 0x10011f97
cmp dword [ebp - 0x814], 0x25
jae 0x10011fa3
mov dword [ebp - 0x220], 1
jmp 0x10011fad
mov dword [ebp - 0x220], 0
mov ecx, dword [ebp - 0x21c]
cmp ecx, dword [ebp - 0x220]
jl 0x100122d5
xor edx, edx
mov dword [0x1009b130], 3
mov dword [0x1009b134], edx
movzx eax, word [ebp - 0x24]
cdq
sub eax, 0x3bf89a13
sbb edx, 0xd8028
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
mov byte [0x1009b07e], 0x63
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov cl, 3
call fcn.1006c1a0
mov dword [0x1009b148], eax
mov eax, dword [ebp - 0x58]
cdq
mov ecx, dword [ebp - 0x6c]
push ecx
mov ecx, dword [ebp - 0x70]
push ecx
push edx
push eax
call fcn.1006c090
push 0
push 0x7721eeba
push edx
push eax
call fcn.1006c090
mov edx, dword [ebp - 0x50]
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
mov dword [ebp - 0xcf0], esi
add edx, ecx
mov ecx, dword [0x1009b18c]
sub ecx, dword [0x1009b1a0]
and edx, ecx
xor eax, edx
mov byte [0x1009b0a7], al
mov eax, dword [ebp - 0x58]
cdq
and eax, 0x4f06f5d
mov word [ebp - 0x14], ax
mov ecx, dword [ebp - 0x4c]
sub ecx, 0x50dc6d2c
movzx eax, word [ebp - 0x10]
cdq
sub eax, ecx
mov word [ebp - 0x10], ax
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
mov dword [ebp - 0x180], edx
mov dword [ebp - 0x17c], eax
cmp dword [ebp - 0x17c], 0
jl 0x100122d5
jg 0x100120a6
cmp dword [ebp - 0x180], 0
jb 0x100122d5
cmp dword [ebp - 0x17c], 0
jg 0x100122d5
jl 0x100120c2
cmp dword [ebp - 0x180], 3
ja 0x100122d5
mov ecx, dword [ebp - 0x180]
mov dword [ebp - 0xea8], ecx
mov edx, dword [ebp - 0xea8]
jmp dword [edx*4 + 0x1001c290]
mov eax, dword [0x1009b188]
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [0x1009b07f]
cdq
add eax, dword [ebp - 0x30]
adc edx, dword [ebp - 0x2c]
mov dword [ebp - 0x81c], ecx
mov dword [ebp - 0x818], esi
mov dword [ebp - 0x824], eax
mov dword [ebp - 0x820], edx
mov edx, dword [ebp - 0x81c]
cmp edx, dword [ebp - 0x824]
jne 0x100124f8
mov eax, dword [ebp - 0x818]
cmp eax, dword [ebp - 0x820]
jne 0x100124f8
movzx ecx, word [ebp - 0x24]
mov edx, dword [0x1009b14c]
add edx, ecx
mov eax, dword [0x1009b14c]
sub eax, edx
mov dword [0x1009b14c], eax
movzx eax, byte [0x1009b01f]
cdq
sub eax, 0x2d04ee14
sbb edx, 0x289c3
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov ecx, dword [0x1009b1a0]
not ecx
xor edx, edx
mov eax, dword [0x1009b1ac]
sub ecx, dword [0x1009b1a8]
sbb edx, eax
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x50]
xor esi, esi
sub ecx, eax
sbb edx, esi
mov dword [ebp - 0x82c], ecx
mov dword [ebp - 0x828], edx
mov ecx, dword [ebp - 0x82c]
or ecx, dword [ebp - 0x828]
jne 0x100123ab
xor edx, edx
mov dword [ebp - 0x55c], 1
mov dword [ebp - 0x558], edx
jmp 0x100123b6
xorps xmm0, xmm0
movlpd qword [ebp - 0x55c], xmm0
movzx eax, word [0x1009b158]
cdq
mov ecx, dword [0x1009b178]
not ecx
mov esi, dword [0x1009b17c]
not esi
push esi
push ecx
push edx
push eax
call fcn.1006c090
xor ecx, ecx
mov esi, dword [ebp - 0x40]
sub esi, dword [0x1009b144]
mov edi, dword [ebp - 0x3c]
sbb edi, ecx
add eax, esi
adc edx, edi
add eax, dword [ebp - 0x55c]
adc edx, dword [ebp - 0x558]
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
mov edx, 1
mov word [ebp - 0x14], dx
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0xcec], edx
add ecx, 0xfd70
movzx eax, byte [ebp - 2]
cdq
sub eax, ecx
mov byte [ebp - 2], al
movzx eax, byte [0x1009b0a6]
test eax, eax
jne 0x10012446
xor ecx, ecx
mov dword [ebp - 0x564], 1
mov dword [ebp - 0x560], ecx
jmp 0x10012451
xorps xmm0, xmm0
movlpd qword [ebp - 0x564], xmm0
mov ecx, dword [ebp - 0x564]
add ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x560]
adc esi, dword [ebp - 0x3c]
not ecx
not esi
movzx eax, word [0x1009b184]
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], esi
movzx edx, byte [ebp - 1]
add edx, 0x64
cmp dword [0x1009b190], edx
jne 0x100124f8
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
mov byte [ebp - 1], al
jmp 0x10011f02
mov byte [0x1009b01f], 0xce
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x834], ecx
mov dword [ebp - 0x830], edx
mov eax, dword [ebp - 0x834]
or eax, dword [ebp - 0x830]
je 0x100125a6
mov cx, word [0x1009bc7c]
mov word [ebp - 0x20], cx
movzx edx, word [0x1009b158]
movzx eax, byte [ebp - 1]
add edx, eax
movzx ecx, word [0x1009b158]
add ecx, edx
mov word [0x1009b158], cx
mov dword [0x1009b188], 2
mov edx, 0xde
mov word [ebp - 0x20], dx
movzx eax, word [ebp - 0x18]
cdq
push 0x9df8b
push 0x13e6c5e0
push edx
push eax
call fcn.1006c090
mov word [0x1009b158], ax
movzx eax, byte [0x1009b033]
cdq
push 0xab5e8
push 0x2a4a0321
push edx
push eax
call fcn.1006c090
mov ecx, dword [0x1009b148]
sub ecx, eax
mov dword [0x1009b148], ecx
jmp 0x10012755
movzx edx, byte [0x1009b01f]
test edx, edx
je 0x1001262c
mov eax, dword [0x1009bc7c]
mov dword [0x1009b14c], eax
movzx ecx, byte [ebp - 1]
imul eax, ecx, 0x48
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
movzx eax, byte [ebp - 1]
cdq
push edx
push eax
mov edx, dword [0x1009b164]
push edx
mov eax, dword [0x1009b160]
push eax
call fcn.1006c090
and eax, dword [0x1009b160]
and edx, dword [0x1009b164]
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
movzx eax, word [ebp - 0x24]
cdq
mov ecx, dword [0x1009b150]
mov esi, dword [0x1009b154]
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov word [ebp - 0x28], ax
mov edx, dword [0x1009b160]
add edx, 0xc7162707
mov word [ebp - 0x28], dx
jmp 0x10012755
cmp dword [ebp - 0x54], 0
je 0x100126d4
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x83c], eax
mov dword [ebp - 0x838], ecx
mov edx, dword [ebp - 0x83c]
or edx, dword [ebp - 0x838]
je 0x1001266f
mov eax, dword [0x1009b168]
mov ecx, dword [0x1009b16c]
mov dword [ebp - 0x49c], eax
mov dword [ebp - 0x498], ecx
jmp 0x10012683
movzx eax, byte [0x1009b0a6]
cdq
mov dword [ebp - 0x49c], eax
mov dword [ebp - 0x498], edx
mov edx, dword [ebp - 0x49c]
mov eax, dword [ebp - 0x498]
mov dword [0x1009b138], edx
mov dword [0x1009b13c], eax
mov esi, dword [0x1009b190]
mov eax, dword [0x1009b14c]
cdq
mov ecx, dword [ebp - 0x3c]
push ecx
mov ecx, dword [ebp - 0x40]
push ecx
push edx
push eax
call fcn.1006c090
mov ecx, eax
mov eax, dword [0x1009b14c]
not eax
cdq
sub ecx, eax
sub esi, ecx
mov word [ebp - 0xc], si
xorps xmm0, xmm0
movlpd qword [ebp - 0x68], xmm0
jmp 0x10012755
cmp dword [0x1009b1b0], 0
je 0x10012755
mov eax, dword [0x1009b188]
cdq
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x1009b198]
mov eax, dword [0x1009b19c]
add edx, ecx
adc eax, esi
mov dword [0x1009b198], edx
mov dword [0x1009b19c], eax
movzx eax, word [ebp - 0x14]
cdq
push edx
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x40]
push edx
call fcn.1006c090
mov ecx, dword [ebp - 0x40]
sub ecx, eax
mov eax, dword [ebp - 0x3c]
sbb eax, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], eax
xor ecx, ecx
mov dword [ebp - 0x40], 0x1e13
mov dword [ebp - 0x3c], ecx
movzx eax, word [ebp - 0x24]
cdq
sub eax, 0x7e49b127
mov edx, dword [0x1009b190]
sub edx, eax
mov dword [0x1009b190], edx
movzx eax, byte [0x1009b01f]
cdq
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov esi, dword [ebp - 0x2c]
adc esi, 0
mov dword [ebp - 0x844], eax
mov dword [ebp - 0x840], edx
mov dword [ebp - 0x84c], ecx
mov dword [ebp - 0x848], esi
mov edx, dword [ebp - 0x844]
cmp edx, dword [ebp - 0x84c]
jne 0x100128c8
mov eax, dword [ebp - 0x840]
cmp eax, dword [ebp - 0x848]
jne 0x100128c8
mov ecx, dword [0x1009b148]
mov word [ebp - 0xc], cx
mov edx, 2
imul eax, edx, 0x18
mov cl, byte [eax + 0x10223758]
mov byte [0x1009b0a7], cl
movzx edx, word [ebp - 0x10]
add edx, 0x95
movzx eax, byte [ebp - 2]
xor eax, edx
mov byte [ebp - 2], al
movzx eax, word [ebp - 8]
cdq
sub eax, 0x510094b
mov dword [ebp - 0x50], eax
movsx eax, word [ebp - 0xc]
cdq
add eax, 0x78b7e4e
mov dword [0x1009b144], eax
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
push 0xc2581
push 0x7eba729e
push edx
push ecx
call fcn.1006c090
mov ecx, dword [0x1009b1a0]
xor ecx, eax
mov dword [0x1009b1a0], ecx
xor edx, edx
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
add eax, dword [0x1009b170]
adc ecx, edx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], ecx
movzx eax, word [ebp - 0x24]
cdq
xor eax, 0x2dcffa6d
mov edx, dword [ebp - 0x50]
add edx, eax
mov dword [ebp - 0x50], edx
mov byte [0x1009b07f], 0x96
movzx eax, byte [0x1009b033]
cmp eax, 1
jne 0x100128c8
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0
je 0x1001288d
mov ecx, dword [ebp - 0x11c]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp - 0xce4], eax
mov edx, dword [ebp - 0x11c]
push edx
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov dword [ebp - 0xce0], eax
jmp 0x100128c8
mov byte [0x1009b01f], 0xce
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x854], ecx
mov dword [ebp - 0x850], edx
mov eax, dword [ebp - 0x854]
or eax, dword [ebp - 0x850]
jne 0x100128fb
mov dword [ebp - 0x22c], 1
jmp 0x10012905
mov dword [ebp - 0x22c], 0
movzx eax, word [0x1009b184]
cdq
push 0xda2a2
push 0x6a583ece
push edx
push eax
call fcn.1006c090
mov ecx, eax
mov esi, edx
movzx eax, byte [0x1009b0a6]
movzx edx, byte [0x1009b0ee]
imul eax, edx
movzx edx, byte [0x1009b07f]
imul edx, dword [ebp - 0x22c]
sub eax, edx
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x85c], ecx
mov dword [ebp - 0x858], esi
mov eax, dword [ebp - 0x85c]
or eax, dword [ebp - 0x858]
jne 0x1001296e
mov dword [ebp - 0x230], 1
jmp 0x10012978
mov dword [ebp - 0x230], 0
mov ecx, dword [ebp - 0x230]
mov dword [0x1009b1b0], ecx
mov edx, dword [0x1009bc7c]
xor eax, eax
mov dword [0x1009b198], edx
mov dword [0x1009b19c], eax
mov ecx, dword [ebp - 0x44]
sub ecx, dword [ebp - 0x50]
add ecx, dword [ebp - 0x44]
mov dword [ebp - 0x44], ecx
movzx edx, word [ebp - 0x28]
add edx, 0x190dd832
mov word [ebp - 0x1c], dx
mov eax, dword [0x1009b130]
mov ecx, dword [0x1009b134]
mov dword [ebp - 0xcdc], ecx
sub eax, 0x11
mov dword [ebp - 0x58], eax
mov dl, byte [0x1009bc7c]
mov byte [0x1009b0a7], dl
cmp dword [ebp - 0x708], 0
jne 0x10013098
movzx eax, byte [0x1009b01f]
add eax, 0x73
mov byte [0x1009b07e], al
mov byte [ebp - 1], 1
mov ecx, 0x22c5
mov word [ebp - 0xc], cx
mov edx, dword [ebp - 0x70]
sub edx, 0xe2f2
mov eax, dword [ebp - 0x6c]
sbb eax, 0
mov ecx, dword [0x1009b18c]
xor esi, esi
push eax
push edx
push esi
push ecx
call fcn.1006c090
mov dword [0x1009b18c], eax
mov edx, 0xffff8cd0
mov word [0x1009b180], dx
cmp dword [0x1009b144], 0
je 0x10012c4a
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x10012a76
mov eax, dword [ebp - 0x120]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp - 0xcd8], eax
mov ecx, dword [ebp - 0x120]
push ecx
call dword [sym.imp.USER32.dll_ArrangeIconicWindows]
mov dword [ebp - 0xd58], eax
movsx edx, word [ebp - 0x1c]
test edx, edx
jl 0x10012a8a
mov dword [ebp - 0x234], 1
jmp 0x10012a94
mov dword [ebp - 0x234], 0
movsx eax, word [ebp - 0x1c]
cmp eax, 0x2a
jl 0x10012aa9
mov dword [ebp - 0x238], 1
jmp 0x10012ab3
mov dword [ebp - 0x238], 0
mov ecx, dword [ebp - 0x234]
cmp ecx, dword [ebp - 0x238]
jge 0x10012b14
movsx edx, byte [0x1009b0bb]
movsx eax, byte [0x1009b0ba]
imul edx, eax
movsx ecx, byte [0x1009b0bb]
sub ecx, edx
mov byte [0x1009b0bb], cl
mov edx, dword [0x1009b148]
add edx, 0x73
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
push 0
push 9
push ecx
push eax
call fcn.1006c090
mov ecx, eax
movsx eax, byte [0x1009b0ba]
cdq
add eax, ecx
mov byte [0x1009b0ba], al
jmp 0x10012c48
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
not edx
not eax
mov ecx, dword [0x1009b17c]
push ecx
mov ecx, dword [0x1009b178]
push ecx
push eax
push edx
call fcn.1006c090
mov dword [ebp - 0x864], eax
mov dword [ebp - 0x860], edx
mov edx, dword [ebp - 0x864]
or edx, dword [ebp - 0x860]
je 0x10012be2
movzx eax, word [ebp - 0x18]
not eax
movzx ecx, word [ebp - 8]
add eax, ecx
cdq
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
sub ecx, 0xe2
sbb esi, 0
xor eax, ecx
xor edx, esi
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
movzx edx, byte [ebp - 2]
test edx, edx
je 0x10012b9e
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x56c], eax
mov dword [ebp - 0x568], ecx
jmp 0x10012bb2
movsx eax, byte [0x1009b0bb]
cdq
mov dword [ebp - 0x56c], eax
mov dword [ebp - 0x568], edx
mov dx, word [ebp - 0x56c]
mov word [ebp - 0x10], dx
mov ecx, dword [0x1009b168]
mov edx, dword [0x1009b16c]
mov dword [ebp - 0xd78], edx
add ecx, 0xe82664
movsx eax, word [ebp - 0xc]
cdq
add eax, ecx
mov word [ebp - 0xc], ax
jmp 0x10012c48
cmp dword [0x1009b140], 0
je 0x10012c48
mov eax, dword [0x1009b190]
xor ecx, ecx
mov edx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
push esi
push edx
push ecx
push eax
call fcn.1006c090
mov dword [0x1009b190], eax
mov dword [0x1009b1a0], 8
mov eax, 8
imul ecx, eax, 0x2ee4
mov dx, word [ecx + 0x10270080]
mov word [0x1009b184], dx
mov eax, dword [0x1009b18c]
xor eax, 0xc465886e
mov byte [0x1009b07e], al
movsx ecx, byte [0x1009b0ba]
imul edx, ecx, 0xf8
mov dword [ebp - 0x50], edx
jmp 0x10012cb8
movzx eax, word [ebp - 0x24]
cdq
push edx
push eax
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.1006c090
mov ebx, eax
not ebx
movzx eax, word [ebp - 0x24]
cdq
mov ecx, dword [ebp - 0x48]
push ecx
mov ecx, dword [ebp - 0x4c]
push ecx
push edx
push eax
call fcn.1006c090
add ebx, eax
mov byte [0x1009b0ef], bl
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
push 0
push 0x9205
push eax
push edx
call fcn.1006c090
mov dword [ebp - 0x54], eax
movzx ecx, word [ebp - 0x28]
movsx edx, word [0x1009b180]
imul ecx, edx
movzx eax, word [ebp - 0x28]
add eax, ecx
mov word [ebp - 0x28], ax
movzx eax, byte [ebp - 1]
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx eax, word [0x1009b180]
cdq
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov esi, dword [ebp - 0x2c]
adc esi, 0
mov dword [ebp - 0x86c], eax
mov dword [ebp - 0x868], edx
mov dword [ebp - 0x874], ecx
mov dword [ebp - 0x870], esi
mov edx, dword [ebp - 0x86c]
cmp edx, dword [ebp - 0x874]
jne 0x10012f27
mov eax, dword [ebp - 0x868]
cmp eax, dword [ebp - 0x870]
jne 0x10012f27
mov ecx, dword [ebp - 0x70]
or ecx, dword [ebp - 0x6c]
je 0x10012d57
mov dx, word [0x1009bc7c]
mov word [ebp - 0x20], dx
movzx eax, word [ebp - 0x20]
cdq
mov ecx, eax
sub ecx, dword [ebp - 0x30]
movzx eax, word [ebp - 0x20]
cdq
sub eax, ecx
mov word [ebp - 0x20], ax
movzx edx, word [ebp - 0x18]
mov eax, dword [0x1009b148]
add eax, edx
mov ecx, dword [0x1009b148]
sub ecx, eax
mov dword [0x1009b148], ecx
mov dl, byte [ebp - 0x40]
mov byte [0x1009b01f], dl
jmp 0x10012dfd
mov eax, dword [0x1009bc7c]
xor ecx, ecx
mov dword [0x1009b198], eax
mov dword [0x1009b19c], ecx
mov eax, dword [ebp - 0x54]
cdq
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov cl, 5
call fcn.1006c1a0
mov dword [0x1009b144], eax
mov dx, word [ebp - 0x14]
mov word [ebp - 0x24], dx
movsx eax, word [ebp - 0x1c]
movzx ecx, byte [ebp - 2]
sub eax, ecx
movsx edx, word [ebp - 0x1c]
add edx, eax
mov word [ebp - 0x1c], dx
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
or ecx, dword [ebp - 0x38]
or esi, dword [ebp - 0x34]
movzx eax, word [ebp - 0x10]
not eax
cdq
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov ecx, eax
mov esi, edx
not ecx
not esi
mov eax, dword [0x1009b140]
sub eax, 0x1c
cdq
mov edi, eax
mov ebx, edx
mov eax, dword [0x1009b14c]
cdq
add eax, dword [0x1009b160]
adc edx, dword [0x1009b164]
add edi, eax
adc ebx, edx
sub ecx, edi
sbb esi, ebx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], esi
mov edx, dword [0x1009b140]
xor edx, 0xfd0e
mov byte [0x1009b0bb], dl
movzx eax, word [0x1009b184]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xd7c], eax
sub ecx, edx
movzx eax, word [0x1009b184]
cdq
sub eax, ecx
mov word [0x1009b184], ax
movzx eax, byte [0x1009b0ee]
cdq
mov ecx, eax
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
mov dword [ebp - 0xd80], eax
sub ecx, edx
movzx eax, byte [0x1009b0ee]
cdq
add eax, ecx
mov byte [0x1009b0ee], al
movzx ecx, byte [0x1009b01f]
cmp ecx, 1
jne 0x10012f27
movzx eax, word [ebp - 0x20]
cdq
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
sub ecx, eax
sbb esi, edx
mov dword [0x1009b1a8], ecx
mov dword [0x1009b1ac], esi
mov edx, 0xe5be
mov word [ebp - 0x10], dx
movzx eax, word [ebp - 8]
shl eax, 8
mov word [ebp - 0x14], ax
mov ecx, dword [0x1009b170]
xor edx, edx
add ecx, 0x12c41c04
adc edx, 0x2f75b
mov dword [0x1009b198], ecx
mov dword [0x1009b19c], edx
movzx eax, word [ebp - 0x24]
sub eax, 0xf18b
mov byte [0x1009b0bb], al
jmp 0x10012f27
mov eax, 0xffff8cd0
mov word [0x1009b180], ax
mov esi, dword [0x1009b1b0]
xor edi, edi
mov eax, dword [ebp - 0x58]
cdq
mov ecx, dword [0x1009b198]
mov ebx, dword [0x1009b19c]
push ebx
push ecx
push edx
push eax
call fcn.1006c090
sub esi, eax
sbb edi, edx
mov dword [ebp - 0x87c], esi
mov dword [ebp - 0x878], edi
mov edx, dword [ebp - 0x87c]
or edx, dword [ebp - 0x878]
jne 0x10012f7d
mov dword [ebp - 0x240], 1
jmp 0x10012f87
mov dword [ebp - 0x240], 0
mov eax, dword [ebp - 0x50]
xor ecx, ecx
push ecx
push eax
mov edx, dword [ebp - 0x48]
push edx
mov eax, dword [ebp - 0x4c]
push eax
call fcn.1006c090
mov dword [ebp - 0x884], eax
mov dword [ebp - 0x880], edx
mov ecx, dword [ebp - 0x884]
or ecx, dword [ebp - 0x880]
jne 0x10012fc1
mov dword [ebp - 0x23c], 1
jmp 0x10012fcb
mov dword [ebp - 0x23c], 0
movsx edx, byte [0x1009b0a7]
sub edx, dword [0x1009b148]
not edx
xor edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x240]
sub eax, edx
mov dword [ebp - 0x44], eax
mov ecx, 0xed
mov word [ebp - 0x18], cx
mov edx, 0xffffcae7
mov word [0x1009b180], dx
movzx eax, byte [0x1009b0a6]
and eax, 0xce9
mov ecx, dword [ebp - 0x58]
sub ecx, eax
mov dword [ebp - 0x58], ecx
movzx eax, word [0x1009b158]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], esi
xor edx, edx
mov byte [ebp - 0x91], dl
lea ecx, [ebp - 0x91]
call fcn.100034b0
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xf0]
movzx ecx, byte [eax + 0xc]
test ecx, ecx
je 0x10013086
push 0x1010101
push 0x1b631b63
push 0
push 0xc
mov edx, dword [ebp - 0xf0]
push edx
call fcn.1003f720
mov eax, dword [ebp - 0xf0]
mov byte [eax + 0xc], 0
mov ecx, dword [ebp - 0xf0]
push ecx
push 0
push 0
call fcn.10001380
call eax
movsx edx, byte [0x1009b0ba]
test edx, edx
je 0x1001316c
xor eax, eax
mov word [ebp - 8], ax
movzx ecx, byte [0x1009b01f]
xor ecx, 0x2d
mov word [ebp - 0x1c], cx
mov edx, dword [ebp - 0x50]
xor edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x50]
add eax, edx
mov dword [ebp - 0x50], eax
movzx ecx, word [ebp - 0x18]
add ecx, 0x48ecfa28
mov byte [ebp - 2], cl
movzx edx, byte [ebp - 2]
movzx eax, byte [0x1009b07f]
add edx, eax
movzx ecx, byte [ebp - 2]
imul ecx, edx
mov byte [ebp - 2], cl
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
add edx, dword [ebp - 0x30]
adc eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
movzx ecx, word [ebp - 8]
mov dword [ebp - 0x70c], ecx
cmp dword [ebp - 0x70c], 0
je 0x10013119
jmp 0x1001316a
movsx edx, word [0x1009b180]
imul eax, edx, 0xf883117e
movzx ecx, word [ebp - 0x20]
imul ecx, eax
mov word [ebp - 0x20], cx
mov dword [0x1009b1a0], 0x8aac04ce
movzx edx, byte [ebp - 1]
test edx, edx
je 0x1001314f
movzx eax, word [ebp - 0x18]
mov dword [ebp - 0x244], eax
jmp 0x10013158
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x244], ecx
mov eax, dword [ebp - 0x244]
cdq
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
jmp 0x100131d0
movsx edx, word [ebp - 0x1c]
add edx, 0x885d3af
mov word [0x1009b158], dx
movzx eax, byte [ebp - 1]
cdq
push 0x6f50f
push 0xf1106ca0
push edx
push eax
call fcn.1006c090
mov byte [ebp - 1], al
mov eax, dword [0x1009b160]
or eax, dword [0x1009b164]
jne 0x100131af
mov dword [ebp - 0x248], 1
jmp 0x100131b9
mov dword [ebp - 0x248], 0
mov ecx, dword [0x1009b14c]
imul ecx, dword [ebp - 0x248]
imul eax, ecx, 0
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
xor edx, edx
mov byte [ebp - 0x90], dl
lea ecx, [ebp - 0x90]
call fcn.100035a0
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
movzx ecx, byte [eax + 0xc]
test ecx, ecx
je 0x1001321b
push 0x1010101
push 0x1b39e53b
push 0
push 0xc
mov edx, dword [ebp - 0xa4]
push edx
call fcn.1003f720
mov eax, dword [ebp - 0xa4]
mov byte [eax + 0xc], 0
mov ecx, dword [ebp - 0xa4]
push ecx
push 0
push 0
call fcn.100015f0
call eax
mov dword [ebp - 0x690], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x1009b148], eax
mov edx, dword [ebp - 0x688]
cmp dword [ebp - 0x68c], edx
je 0x1001399a
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
add ecx, 0xd2b
adc esi, 0
movsx eax, word [ebp - 0x1c]
movzx edx, byte [0x1009b07e]
add eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov ecx, eax
mov esi, dword [ebp - 0x40]
not esi
movzx eax, word [ebp - 0x18]
not eax
cdq
sub esi, eax
movzx eax, word [ebp - 8]
cdq
and esi, eax
xor ecx, esi
mov byte [0x1009b0a7], cl
movzx edx, word [0x1009b184]
add edx, 0xf1af341
mov byte [0x1009b07f], dl
movzx eax, byte [0x1009b0ef]
sub eax, dword [0x1009b14c]
movzx ecx, word [ebp - 8]
mov edx, dword [0x1009b140]
not edx
xor ecx, edx
add eax, ecx
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [0x1009b188]
cdq
mov edi, dword [0x1009b168]
mov ebx, dword [0x1009b16c]
xor edi, eax
xor ebx, edx
movzx eax, byte [0x1009b0a6]
cdq
sub edi, eax
sbb ebx, edx
add ecx, edi
adc esi, ebx
mov dword [ebp - 0x88c], ecx
mov dword [ebp - 0x888], esi
mov edx, dword [ebp - 0x88c]
or edx, dword [ebp - 0x888]
jne 0x1001331e
mov eax, 1
mov word [ebp - 0x98], ax
jmp 0x10013327
xor ecx, ecx
mov word [ebp - 0x98], cx
mov dx, word [ebp - 0x98]
mov word [ebp - 0x1c], dx
movzx eax, word [0x1009b184]
movzx ecx, byte [0x1009b01f]
lea edx, [ecx + eax + 0x1555]
mov byte [0x1009b01f], dl
mov eax, 0x3a305
mov dword [0x1009b130], 0xbba6992e
mov dword [0x1009b134], eax
call dword [sym.imp.USER32.dll_AnyPopup]
mov word [ebp - 8], ax
mov ecx, dword [0x1009b130]
mov esi, dword [0x1009b134]
movzx eax, word [ebp - 0x14]
add eax, 1
cdq
mov dword [ebp - 0x894], ecx
mov dword [ebp - 0x890], esi
mov dword [ebp - 0x89c], eax
mov dword [ebp - 0x898], edx
mov edx, dword [ebp - 0x894]
cmp edx, dword [ebp - 0x89c]
jne 0x1001381b
mov eax, dword [ebp - 0x890]
cmp eax, dword [ebp - 0x898]
jne 0x1001381b
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
xor ecx, ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], ecx
mov byte [ebp - 2], 2
mov edx, dword [0x1009b18c]
xor eax, eax
push 0x7c958
push 0xa5996c6d
push eax
push edx
call fcn.1006c090
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
mov edi, dword [ebp - 0x74]
add ecx, dword [ebp - 0x78]
adc esi, edi
sub eax, ecx
sbb edx, esi
mov dword [ebp - 0x8a4], eax
mov dword [ebp - 0x8a0], edx
mov edx, dword [ebp - 0x8a4]
or edx, dword [ebp - 0x8a0]
jne 0x1001341e
mov dword [ebp - 0x250], 1
jmp 0x10013428
mov dword [ebp - 0x250], 0
mov eax, dword [0x1009b144]
xor ecx, ecx
add eax, dword [ebp - 0x30]
adc ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x8ac], eax
mov dword [ebp - 0x8a8], ecx
mov edx, dword [ebp - 0x8ac]
or edx, dword [ebp - 0x8a8]
jne 0x1001345b
mov dword [ebp - 0x24c], 1
jmp 0x10013465
mov dword [ebp - 0x24c], 0
movzx eax, byte [ebp - 2]
imul ecx, eax, 0xfbc47075
imul ecx, dword [ebp - 0x24c]
mov edx, dword [ebp - 0x250]
sub edx, ecx
mov dword [0x1009b1a0], edx
movzx eax, byte [0x1009b07e]
cdq
push edx
push eax
mov eax, dword [ebp - 0x6c]
push eax
mov ecx, dword [ebp - 0x70]
push ecx
call fcn.1006c090
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
movzx edx, word [ebp - 0x14]
mov eax, dword [0x1009b140]
imul eax, edx
imul ecx, eax, 0xb00a1a80
not ecx
mov dword [0x1009b148], ecx
mov dl, byte [ebp - 2]
mov byte [ebp - 0x124], dl
cmp byte [ebp - 0x124], 0
je 0x100134ec
cmp byte [ebp - 0x124], 1
je 0x1001355a
cmp byte [ebp - 0x124], 2
je 0x1001362d
jmp 0x100136ce
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x40]
push ecx
mov edx, dword [ebp - 0x48]
push edx
mov eax, dword [ebp - 0x4c]
push eax
call fcn.1006c090
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movsx ecx, word [0x1009b180]
mov dword [0x1009b140], ecx
mov eax, dword [0x1009b188]
cdq
xor eax, dword [ebp - 0x30]
xor edx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0xd88], eax
add edx, 0x912121d7
mov dword [0x1009b190], edx
movzx eax, byte [ebp - 2]
cdq
mov ecx, eax
sub ecx, 0xee0df2e6
movzx eax, byte [ebp - 1]
cdq
sub eax, ecx
mov byte [ebp - 1], al
jmp 0x100136ce
cmp dword [0x1009b144], 0
jne 0x10013577
xor edx, edx
mov dword [ebp - 0x574], 1
mov dword [ebp - 0x570], edx
jmp 0x10013582
xorps xmm0, xmm0
movlpd qword [ebp - 0x574], xmm0
mov esi, 0xe93024f8
sub esi, dword [ebp - 0x30]
not esi
movzx eax, word [ebp - 0x24]
cdq
and eax, dword [ebp - 0x70]
add esi, eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
push 0
push 0x168e
push ecx
push eax
call fcn.1006c090
push edx
push eax
mov edx, dword [ebp - 0x570]
push edx
mov eax, dword [ebp - 0x574]
push eax
call fcn.1006c090
add esi, eax
mov word [ebp - 0x14], si
imul ecx, dword [0x1009b144], 0xe3
mov word [0x1009b180], cx
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
mov dword [ebp - 0xd8c], eax
not edx
mov dword [0x1009b1a0], edx
xor ecx, ecx
mov dword [0x1009b138], 0x5a
mov dword [0x1009b13c], ecx
mov edx, dword [0x1009b18c]
xor eax, eax
mov ecx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x64]
push eax
push edx
push esi
push ecx
call fcn.1006c090
mov ecx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x64]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], esi
jmp 0x100136ce
movzx edx, word [ebp - 0x24]
test edx, edx
jne 0x10013641
mov dword [ebp - 0x254], 1
jmp 0x1001364b
mov dword [ebp - 0x254], 0
movzx eax, word [ebp - 0x10]
imul eax, dword [ebp - 0x254]
mov dword [0x1009b1b0], eax
movsx ecx, word [ebp - 0xc]
sub ecx, 0x5b07
movsx edx, word [ebp - 0xc]
sub edx, ecx
mov word [ebp - 0xc], dx
movsx eax, word [0x1009b180]
test eax, eax
je 0x10013685
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x258], ecx
jmp 0x1001368f
movzx edx, word [ebp - 0x18]
mov dword [ebp - 0x258], edx
mov al, byte [ebp - 0x258]
mov byte [0x1009b0ee], al
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
mov dword [ebp - 0xd90], edx
add ecx, 0xdb885e94
mov byte [0x1009b0bb], cl
movzx eax, byte [0x1009b01f]
sub eax, 0x6bf06ea8
movzx ecx, word [ebp - 0x18]
sub ecx, eax
mov word [ebp - 0x18], cx
movzx edx, word [0x1009b184]
cmp edx, 1
jne 0x1001381b
movzx eax, word [ebp - 0x28]
sub eax, 0x45
cdq
mov dword [0x1009b198], eax
mov dword [0x1009b19c], edx
movsx eax, byte [0x1009b0a7]
movzx ecx, word [0x1009b184]
lea edx, [ecx + eax + 0x3afdf702]
mov word [0x1009b184], dx
movzx eax, word [ebp - 8]
sub eax, dword [ebp - 0x44]
movzx ecx, word [ebp - 8]
imul ecx, eax
mov word [ebp - 8], cx
movzx edx, byte [0x1009b07e]
add edx, 0xc7
mov byte [0x1009b0ef], dl
jmp 0x1001381b
mov edx, 0x3a305
mov dword [0x1009b130], 0xbba6992e
mov dword [0x1009b134], edx
movzx eax, word [ebp - 0x14]
imul ecx, eax, 0xfbf679ee
mov dword [0x1009b148], ecx
cmp dword [0x1009b188], 0
jne 0x10013855
mov dword [ebp - 0x25c], 1
jmp 0x1001385f
mov dword [ebp - 0x25c], 0
movzx edx, byte [ebp - 1]
mov eax, dword [ebp - 0x54]
or eax, 0x9f4f2ec5
lea ecx, [edx + eax - 0xc944]
movsx edx, byte [0x1009b0bb]
xor edx, 0x95b2
movzx eax, byte [0x1009b07e]
imul eax, dword [ebp - 0x25c]
not eax
sub edx, eax
sub ecx, edx
mov word [0x1009b184], cx
movsx eax, byte [0x1009b0a7]
cdq
push edx
push eax
mov ecx, dword [ebp - 0x2c]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.1006c090
mov word [ebp - 0x18], ax
movzx eax, word [ebp - 0x10]
cdq
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xd94], edx
sub eax, ecx
mov word [ebp - 0x10], ax
cmp dword [ebp - 0x690], 0
jne 0x1001399a
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
push 0
push 0x1b1d6977
push ecx
push eax
call fcn.1006c090
mov word [ebp - 0x1c], ax
mov edx, dword [0x1009b198]
mov eax, dword [0x1009b19c]
sub edx, 0xe79fc59a
sbb eax, 0
mov dword [0x1009b178], edx
mov dword [0x1009b17c], eax
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0xd98], edx
add ecx, 0x1486fd1f
mov word [ebp - 0x18], cx
push 0
push 0x9e637eab
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.1006c090
mov byte [ebp - 2], al
xor edx, edx
mov byte [ebp - 0x8f], dl
lea ecx, [ebp - 0x8f]
call fcn.10003ce0
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xa8]
movzx ecx, byte [eax + 0xc]
test ecx, ecx
je 0x10013988
push 0x1010101
push 0x1b6da5e7
push 0
push 0xc
mov edx, dword [ebp - 0xa8]
push edx
call fcn.1003f720
mov eax, dword [ebp - 0xa8]
mov byte [eax + 0xc], 0
mov ecx, dword [ebp - 0xa8]
push ecx
push 0
push 0
call fcn.10001380
call eax
mov edx, dword [0x1009b178]
or edx, dword [0x1009b17c]
je 0x10013a51
movsx eax, word [0x1009b180]
test eax, eax
je 0x100139cb
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x494], ecx
mov dword [ebp - 0x490], edx
jmp 0x100139dd
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x494], eax
mov dword [ebp - 0x490], ecx
mov edx, dword [ebp - 0x494]
mov eax, dword [ebp - 0x490]
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x30]
mov dword [0x1009b1b0], ecx
cmp dword [ebp - 0x58], 0
je 0x10013a17
mov edx, dword [0x1009b178]
mov eax, dword [0x1009b17c]
mov dword [ebp - 0x584], edx
mov dword [ebp - 0x580], eax
jmp 0x10013a29
mov eax, dword [0x1009b140]
cdq
mov dword [ebp - 0x584], eax
mov dword [ebp - 0x580], edx
mov ecx, dword [ebp - 0x584]
mov dword [0x1009b1a0], ecx
movsx edx, byte [0x1009b0a7]
movzx eax, word [0x1009b184]
imul edx, eax
mov byte [0x1009b0a7], dl
jmp 0x10013ae8
movsx ecx, byte [0x1009b0ba]
xor ecx, 0x77a
mov dword [0x1009b190], ecx
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
mov ecx, dword [ebp - 0x74]
add edx, dword [ebp - 0x78]
adc eax, ecx
mov dword [0x1009b1a8], edx
mov dword [0x1009b1ac], eax
movzx edx, word [ebp - 0x24]
test edx, edx
je 0x10013a9d
movzx eax, byte [ebp - 1]
cdq
mov dword [ebp - 0x58c], eax
mov dword [ebp - 0x588], edx
jmp 0x10013ab4
mov eax, dword [0x1009b150]
mov ecx, dword [0x1009b154]
mov dword [ebp - 0x58c], eax
mov dword [ebp - 0x588], ecx
mov dl, byte [ebp - 0x58c]
mov byte [0x1009b0ef], dl
movzx eax, byte [ebp - 2]
cdq
add eax, dword [0x1009b178]
mov byte [ebp - 2], al
mov al, byte [0x1009b0ef]
add al, 1
mov byte [0x1009b0ef], al
movsx ecx, byte [0x1009b0bb]
add ecx, 0x25
mov word [ebp - 8], cx
xor edx, edx
mov byte [ebp - 0x8e], dl
lea ecx, [ebp - 0x8e]
call fcn.10003dd0
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xac]
movzx ecx, byte [eax + 0xb]
test ecx, ecx
je 0x10013b33
push 0x1010101
push 0x1b232b03
push 0
push 0xb
mov edx, dword [ebp - 0xac]
push edx
call fcn.1003f720
mov eax, dword [ebp - 0xac]
mov byte [eax + 0xb], 0
mov ecx, dword [ebp - 0xac]
push ecx
push 0
push 0
call fcn.100015f0
call eax
mov dword [ebp - 0xd9c], eax
movzx edx, word [ebp - 0x14]
test edx, edx
je 0x10013b97
push 0
push 0x3a03
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.1006c090
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xda0], eax
add edx, 0xfa0
mov byte [0x1009b0ef], dl
mov ecx, dword [0x1009b18c]
shr ecx, 1
mov dword [ebp - 0x50], ecx
jmp 0x10013c16
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
push 0
push 0x50
push eax
push edx
call fcn.1006c090
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
movzx eax, word [ebp - 8]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
push esi
push ecx
push eax
push edx
call fcn.1006c090
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movzx ecx, word [0x1009b158]
movzx edx, word [ebp - 0x10]
add ecx, edx
mov word [0x1009b158], cx
movzx eax, word [ebp - 8]
movsx ecx, word [ebp - 0x1c]
imul eax, ecx
movzx edx, word [ebp - 8]
sub edx, eax
mov word [ebp - 8], dx
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xda4], ecx
add eax, 0xb1f3cea0
mov byte [0x1009b0ee], al
xor edx, edx
mov byte [ebp - 0x8d], dl
lea ecx, [ebp - 0x8d]
call fcn.10003fe0
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
movzx ecx, byte [eax + 0xb]
test ecx, ecx
je 0x10013c61
push 0x1010101
push 0x1b9b09d9
push 0
push 0xb
mov edx, dword [ebp - 0xb0]
push edx
call fcn.1003f720
mov eax, dword [ebp - 0xb0]
mov byte [eax + 0xb], 0
mov ecx, dword [ebp - 0xb0]
push ecx
push 0
push 0
call fcn.10001380
call eax
movzx edx, byte [0x1009b01f]
test edx, edx
je 0x10013d71
mov ecx, dword [0x1009b150]
mov esi, dword [0x1009b154]
mov eax, dword [0x1009b188]
cdq
mov dword [ebp - 0x8bc], ecx
mov dword [ebp - 0x8b8], esi
mov dword [ebp - 0x8c4], eax
mov dword [ebp - 0x8c0], edx
mov edx, dword [ebp - 0x8bc]
cmp edx, dword [ebp - 0x8c4]
jne 0x10013cc8
mov eax, dword [ebp - 0x8b8]
cmp eax, dword [ebp - 0x8c0]
je 0x10013d16
mov ecx, dword [0x1009b168]
mov edx, dword [0x1009b16c]
push 0
push 0xf4
push edx
push ecx
call fcn.1006c090
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
mov eax, dword [0x1009b168]
mov ecx, dword [0x1009b16c]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
mov dx, word [0x1009bc7c]
mov word [0x1009b180], dx
mov ax, word [ebp - 0x58]
mov word [ebp - 0x14], ax
jmp 0x10013d6c
movzx ecx, byte [0x1009b01f]
test ecx, ecx
je 0x10013d6c
movzx eax, word [ebp - 0x10]
cdq
mov ecx, 8
imul ecx, ecx, 0x8b29
mov dword [ecx + 0x101c0cd0], eax
mov dword [ecx + 0x101c0cd4], edx
mov edx, dword [0x1009b1b0]
xor eax, eax
push 0x55bcc
push 0x4b5e4cb4
push eax
push edx
call fcn.1006c090
mov byte [0x1009b033], al
movzx ecx, byte [0x1009b0a6]
movsx edx, word [ebp - 0xc]
add ecx, edx
mov word [ebp - 0x24], cx
jmp 0x10013f4f
mov eax, dword [0x1009b148]
cmp dword [0x1009b170], eax
jbe 0x10013d8a
mov dword [ebp - 0x260], 1
jmp 0x10013d94
mov dword [ebp - 0x260], 0
cmp dword [0x1009b1b0], 0x72
jbe 0x10013da9
mov dword [ebp - 0x264], 1
jmp 0x10013db3
mov dword [ebp - 0x264], 0
mov ecx, dword [ebp - 0x260]
cmp ecx, dword [ebp - 0x264]
jge 0x10013dcd
mov dword [ebp - 0x268], 1
jmp 0x10013dd7
mov dword [ebp - 0x268], 0
mov edx, dword [ebp - 0x268]
not edx
test edx, edx
je 0x10013f4f
movzx eax, word [ebp - 0x24]
test eax, eax
jne 0x10013dfb
mov dword [ebp - 0x26c], 1
jmp 0x10013e05
mov dword [ebp - 0x26c], 0
movzx eax, word [0x1009b158]
not eax
xor eax, dword [ebp - 0x26c]
cdq
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
movzx ecx, word [ebp - 0x14]
mov edx, dword [0x1009b1b0]
imul edx, ecx
mov eax, dword [0x1009b1b0]
sub eax, edx
mov dword [0x1009b1b0], eax
mov ecx, dword [ebp - 0x30]
or ecx, dword [ebp - 0x2c]
je 0x10013e52
mov edx, dword [0x1009b18c]
xor eax, eax
mov dword [ebp - 0x594], edx
mov dword [ebp - 0x590], eax
jmp 0x10013e64
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x594], ecx
mov dword [ebp - 0x590], edx
mov eax, dword [ebp - 0x594]
mov dword [0x1009b190], eax
movsx eax, byte [0x1009b0bb]
cdq
mov ecx, dword [0x1009b130]
mov esi, dword [0x1009b134]
sub ecx, eax
sbb esi, edx
mov dword [0x1009b130], ecx
mov dword [0x1009b134], esi
movzx edx, byte [0x1009b0ee]
movsx eax, byte [0x1009b0bb]
add edx, eax
movzx ecx, byte [0x1009b0a6]
and ecx, 0x90
imul edx, ecx
test edx, edx
jne 0x10013ecb
xor edx, edx
mov dword [ebp - 0x8cc], 1
mov dword [ebp - 0x8c8], edx
jmp 0x10013ed6
xorps xmm0, xmm0
movlpd qword [ebp - 0x8cc], xmm0
mov eax, dword [ebp - 0x44]
cdq
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0xda8], edx
add eax, ecx
xor eax, dword [0x1009b1b0]
add eax, dword [ebp - 0x8cc]
mov byte [0x1009b07f], al
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x8d4], eax
mov dword [ebp - 0x8d0], ecx
mov edx, dword [ebp - 0x8d4]
or edx, dword [ebp - 0x8d0]
jne 0x10013f25
mov dword [ebp - 0x270], 1
jmp 0x10013f2f
mov dword [ebp - 0x270], 0
movzx eax, byte [0x1009b0a6]
add eax, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x50]
or ecx, eax
xor edx, edx
mov dword [0x1009b150], ecx
mov dword [0x1009b154], edx
xor eax, eax
mov byte [ebp - 0x8b], al
lea ecx, [ebp - 0x8b]
call fcn.100040c0
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xb4]
movzx edx, byte [ecx + 0xd]
test edx, edx
je 0x10013f9a
push 0x1010101
push 0x1b47b127
push 0
push 0xd
mov eax, dword [ebp - 0xb4]
push eax
call fcn.1003f720
mov ecx, dword [ebp - 0xb4]
mov byte [ecx + 0xd], 0
mov edx, dword [ebp - 0xb4]
push edx
push 0
push 0
call fcn.100015f0
call eax
mov dword [ebp - 0x69c], eax
xor eax, eax
mov dword [0x1009b138], 0x7f
mov dword [0x1009b13c], eax
movsx ecx, byte [0x1009b0bb]
movzx edx, byte [ebp - 2]
cmp ecx, edx
jg 0x1001402a
mov eax, dword [str.LineNumber]
mov dword [ebp - 0xc6c], eax
mov ecx, dword [0x1007e83c]
mov dword [ebp - 0xc68], ecx
mov edx, dword [0x1007e840]
mov dword [ebp - 0xc64], edx
mov eax, dword [0x1007e844]
mov dword [ebp - 0xc60], eax
mov ecx, dword [0x1007e848]
mov dword [ebp - 0xc5c], ecx
mov dx, word [0x1007e84c]
mov word [ebp - 0xc58], dx
lea eax, [ebp - 0xc6c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [ebp - 0x50], eax
movzx ecx, word [0x1009b158]
movzx edx, byte [ebp - 1]
add edx, 0x80ce
cmp ecx, edx
jne 0x10014101
mov eax, dword [0x1009b1a0]
add eax, dword [ebp - 0x54]
cmp eax, 1
jne 0x10014101
push 0x93bd8
push 0xd26181b5
mov ecx, dword [0x1009b13c]
push ecx
mov edx, dword [0x1009b138]
push edx
call fcn.1006c090
mov ecx, dword [ebp - 0x40]
sub ecx, eax
mov eax, dword [ebp - 0x3c]
sbb eax, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], eax
mov ecx, 0x9e
mov word [ebp - 0x14], cx
jmp 0x10013fb2
mov byte [0x1009b0a6], 3
movsx ecx, word [ebp - 0x1c]
sub ecx, dword [0x1009b18c]
mov word [ebp - 0x1c], cx
movsx eax, word [ebp - 0xc]
cdq
add eax, dword [ebp - 0x40]
adc edx, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movzx edx, byte [ebp - 1]
movzx eax, word [ebp - 0x18]
imul edx, eax
movzx ecx, byte [ebp - 1]
add ecx, edx
mov byte [ebp - 1], cl
mov edx, dword [0x1009bc7c]
mov dword [ebp - 0x50], edx
movzx eax, byte [0x1009b0ef]
sar eax, 4
mov word [ebp - 0x10], ax
movzx ecx, byte [0x1009b0ef]
test ecx, ecx
je 0x1001416c
movzx edx, byte [0x1009b01f]
mov dword [ebp - 0x278], edx
jmp 0x10014175
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x278], eax
mov ecx, dword [ebp - 0x278]
xor edx, edx
mov dword [0x1009b138], ecx
mov dword [0x1009b13c], edx
movzx eax, byte [0x1009b0a6]
mov dword [ebp - 0x27c], eax
cmp dword [ebp - 0x27c], 3
ja case.default.0x100141a9
mov ecx, dword [ebp - 0x27c]
jmp dword [ecx*4 + 0x1001c2a0]
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xdac], eax
add edx, 0xc7
mov word [ebp - 0x20], dx
movsx ecx, word [0x1009b180]
test ecx, ecx
je 0x100141e3
mov eax, dword [ebp - 0x58]
cdq
mov dword [ebp - 0x59c], eax
mov dword [ebp - 0x598], edx
jmp 0x100141fa
mov edx, dword [0x1009b138]
mov eax, dword [0x1009b13c]
mov dword [ebp - 0x59c], edx
mov dword [ebp - 0x598], eax
mov ecx, dword [ebp - 0x59c]
mov dword [0x1009b14c], ecx
mov dx, word [ebp - 0x70]
mov word [ebp - 0x24], dx
movzx eax, byte [0x1009b01f]
movzx ecx, word [ebp - 0x28]
xor eax, ecx
jne 0x10014229
mov dword [ebp - 0x280], 1
jmp 0x10014233
mov dword [ebp - 0x280], 0
movzx edx, word [ebp - 0x18]
mov eax, dword [ebp - 0x280]
sub eax, edx
cdq
mov dword [0x1009b198], eax
mov dword [0x1009b19c], edx
jmp case.default.0x100141a9
movzx eax, byte [0x1009b033]
not eax
add eax, dword [0x1009b1a0]
mov byte [0x1009b0ef], al
mov ecx, dword [ebp - 0x30]
mov dword [0x1009b1a0], ecx
mov edx, 8
mov word [ebp - 0x20], dx
movsx eax, byte [0x1009b0ba]
imul eax, eax, 0xf8e8
cdq
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
mov eax, dword [ebp - 0x54]
cdq
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0xdb0], edx
add ecx, eax
mov eax, dword [ebp - 0x40]
sub eax, ecx
mov dword [ebp - 0x50], eax
jmp case.default.0x100141a9
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x8dc], ecx
mov dword [ebp - 0x8d8], edx
mov eax, dword [ebp - 0x8dc]
or eax, dword [ebp - 0x8d8]
jne 0x100142da
mov dword [ebp - 0x284], 1
jmp 0x100142e4
mov dword [ebp - 0x284], 0
mov ecx, dword [ebp - 0x284]
add ecx, 0x75f7
mov byte [ebp - 2], cl
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
sub edx, 0xde7f5118
sbb eax, 0
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
movzx ecx, word [ebp - 0x24]
imul eax, ecx, 0xa5
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movsx edx, byte [0x1009b0ba]
sub edx, dword [0x1009b144]
add edx, 0x7d87bfd7
mov byte [0x1009b0ba], dl
mov eax, dword [0x1009bc7c]
xor ecx, ecx
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], ecx
mov eax, dword [0x1009b150]
mov edx, dword [0x1009b154]
mov cl, 4
call fcn.1006c1a0
mov byte [0x1009b0a6], al
jmp case.default.0x100141a9
movsx edx, word [ebp - 0xc]
add edx, 0x4c3a9e73
mov word [ebp - 0x24], dx
movsx eax, word [0x1009b180]
imul eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x58]
mov dword [ebp - 0x58], eax
movsx eax, byte [0x1009b0ba]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
add edx, ecx
adc eax, esi
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
movsx eax, byte [0x1009b0bb]
cdq
mov ecx, eax
sub ecx, dword [ebp - 0x40]
movsx eax, byte [0x1009b0bb]
cdq
xor eax, ecx
mov byte [0x1009b0bb], al
movzx edx, byte [ebp - 1]
movsx eax, word [ebp - 0xc]
imul edx, eax
movzx ecx, byte [ebp - 1]
imul ecx, edx
mov byte [ebp - 1], cl
movzx edx, word [ebp - 0x18]
sub edx, 0xea3f
mov dword [0x1009b190], edx
imul eax, dword [ebp - 0x694], 0x19d
mov ecx, dword [ebp - 0x698]
add ecx, eax
cmp ecx, 0x26922
je 0x100149e8
movzx eax, word [ebp - 0x20]
cdq
mov dword [ebp - 0x8e4], eax
mov dword [ebp - 0x8e0], edx
mov edx, dword [ebp - 0x48]
cmp edx, dword [ebp - 0x8e0]
jg 0x10014491
jl 0x10014429
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x8e4]
ja 0x10014491
movzx ecx, byte [ebp - 1]
sub ecx, dword [0x1009b144]
movzx edx, byte [ebp - 1]
sub edx, ecx
mov byte [ebp - 1], dl
mov eax, dword [0x1009bc7c]
xor ecx, ecx
mov dword [0x1009b150], eax
mov dword [0x1009b154], ecx
mov edx, dword [ebp - 0x4c]
add edx, 0x95e68144
mov dword [ebp - 0x58], edx
mov eax, dword [0x1009b138]
add eax, 0x2518825f
mov ecx, dword [0x1009b13c]
adc ecx, 0xe5343
push ecx
push eax
mov edx, dword [0x1009b164]
push edx
mov eax, dword [0x1009b160]
push eax
call fcn.1006c090
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
jmp 0x100144de
mov ecx, dword [ebp - 0x4c]
or ecx, dword [ebp - 0x48]
je 0x100144de
movzx edx, word [ebp - 0x28]
not edx
xor edx, 0x39f8
imul eax, edx, 0x70
mov dword [0x1009b148], eax
movzx ecx, word [ebp - 8]
add ecx, dword [ebp - 0x58]
mov dword [0x1009b148], ecx
movzx edx, byte [0x1009b07f]
add edx, 0x3cb1bb1a
mov word [ebp - 0x20], dx
movzx eax, byte [0x1009b01f]
sub eax, 0x4a2a
cdq
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
movzx edx, word [ebp - 8]
test edx, edx
jne 0x100144fe
mov dword [ebp - 0x288], 1
jmp 0x10014508
mov dword [ebp - 0x288], 0
movzx eax, word [ebp - 0x28]
cdq
mov ecx, 0x9cc2c102
sub ecx, eax
mov edx, dword [0x1009b1b0]
add edx, dword [0x1009b160]
add ecx, edx
movzx eax, word [ebp - 0x14]
movzx edx, byte [0x1009b01f]
sub eax, edx
movzx edx, byte [0x1009b0ef]
sub edx, dword [ebp - 0x288]
imul eax, edx
cdq
xor ecx, eax
mov word [ebp - 8], cx
mov eax, dword [0x1009b188]
cdq
mov dword [0x1009b150], eax
mov dword [0x1009b154], edx
cmp dword [ebp - 0x69c], 0
jne 0x100149e8
call dword [sym.imp.USER32.dll_GetDialogBaseUnits]
mov byte [0x1009b07e], al
xor eax, eax
mov dword [0x1009b160], 0x94
mov dword [0x1009b164], eax
movsx eax, byte [0x1009b0a7]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x54]
cdq
add eax, dword [0x1009b160]
adc edx, dword [0x1009b164]
mov dword [ebp - 0x8ec], ecx
mov dword [ebp - 0x8e8], esi
mov dword [ebp - 0x8f4], eax
mov dword [ebp - 0x8f0], edx
mov edx, dword [ebp - 0x8ec]
cmp edx, dword [ebp - 0x8f4]
jne 0x1001498b
mov eax, dword [ebp - 0x8e8]
cmp eax, dword [ebp - 0x8f0]
jne 0x1001498b
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x8fc], ecx
mov dword [ebp - 0x8f8], edx
mov eax, dword [ebp - 0x8fc]
or eax, dword [ebp - 0x8f8]
je 0x100147b0
mov ecx, dword [0x1009b1b0]
cmp ecx, dword [ebp - 0x58]
jbe 0x100146f0
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
mov ecx, dword [0x1009b154]
sub edx, dword [0x1009b150]
sbb eax, ecx
mov ecx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x74]
add ecx, edx
adc esi, eax
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], esi
movzx edx, word [ebp - 0x10]
test edx, edx
je 0x10014643
movzx eax, byte [ebp - 1]
mov dword [ebp - 0x28c], eax
jmp 0x1001464d
movzx ecx, word [ebp - 0x28]
mov dword [ebp - 0x28c], ecx
mov dx, word [ebp - 0x28c]
mov word [ebp - 0x1c], dx
movzx eax, word [ebp - 0x14]
test eax, eax
je 0x10014676
movzx eax, word [0x1009b158]
cdq
mov dword [ebp - 0x5a4], eax
mov dword [ebp - 0x5a0], edx
jmp 0x1001468e
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
mov dword [ebp - 0x5a4], ecx
mov dword [ebp - 0x5a0], edx
mov al, byte [ebp - 0x5a4]
mov byte [0x1009b033], al
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
push 0x77fc
push 0xbab5cb5b
push edx
push ecx
call fcn.1006c090
mov word [ebp - 0x28], ax
mov eax, dword [0x1009b1a0]
shl eax, 8
xor ecx, ecx
mov dword [0x1009b150], eax
mov dword [0x1009b154], ecx
mov edx, dword [0x1009b170]
xor eax, eax
push eax
push edx
mov ecx, dword [ebp - 0x48]
push ecx
mov edx, dword [ebp - 0x4c]
push edx
call fcn.1006c090
mov dword [0x1009b188], eax
jmp 0x100147ae
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x904], eax
mov dword [ebp - 0x900], ecx
mov edx, dword [ebp - 0x904]
or edx, dword [ebp - 0x900]
je 0x100147ae
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
sub eax, dword [ebp - 0x70]
sbb ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
add edx, eax
adc esi, ecx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], esi
movzx eax, word [ebp - 0x20]
cdq
mov esi, eax
mov edi, edx
add esi, dword [ebp - 0x40]
adc edi, dword [ebp - 0x3c]
movsx eax, word [ebp - 0xc]
cdq
mov ecx, dword [ebp - 0x3c]
push ecx
mov ecx, dword [ebp - 0x40]
push ecx
push edx
push eax
call fcn.1006c090
xor esi, eax
xor edi, edx
mov dword [0x1009b168], esi
mov dword [0x1009b16c], edi
mov eax, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov cl, 8
call fcn.1006c0d0
mov dword [0x1009b190], eax
mov eax, dword [0x1009b14c]
add eax, 0x83d8
cdq
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
movzx edx, word [ebp - 0x18]
imul edx, dword [ebp - 0x58]
mov word [ebp - 0x20], dx
imul eax, dword [0x1009b1b0], 0x5b1ea9fa
xor ecx, ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
jmp 0x1001480c
movzx edx, word [ebp - 0x28]
movzx eax, word [ebp - 0x20]
not eax
add edx, eax
je 0x1001480c
mov ecx, dword [0x1009b198]
mov edx, dword [0x1009b19c]
sub ecx, 0xb047ed4
sbb edx, 0
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
movzx eax, word [ebp - 8]
movzx ecx, byte [0x1009b07e]
add eax, ecx
movzx edx, word [ebp - 8]
add edx, eax
mov word [ebp - 8], dx
mov eax, dword [0x1009b160]
sub eax, 1
mov ecx, dword [0x1009b164]
sbb ecx, 0
mov dword [0x1009b160], eax
mov dword [0x1009b164], ecx
mov dx, word [ebp - 0x1c]
mov byte [0x1009b07f], dl
push 0xb7f6b
push 0x96ad95ab
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.1006c090
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
mov edx, dword [0x1009bc7c]
xor eax, eax
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
push 0
push 0x1175
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x40]
push edx
call fcn.1006c090
mov dword [0x1009b18c], eax
mov ecx, dword [0x1009b150]
mov esi, dword [0x1009b154]
movzx eax, word [ebp - 0x14]
add eax, 0xd866ce8
cdq
mov dword [ebp - 0x90c], ecx
mov dword [ebp - 0x908], esi
mov dword [ebp - 0x914], eax
mov dword [ebp - 0x910], edx
mov edx, dword [ebp - 0x90c]
cmp edx, dword [ebp - 0x914]
jne 0x1001498b
mov eax, dword [ebp - 0x908]
cmp eax, dword [ebp - 0x910]
jne 0x1001498b
cmp dword [0x1009b1a0], 0
je 0x1001491b
mov ecx, dword [str.Windows.Internal.U]
mov dword [ebp - 0xc40], ecx
mov edx, dword [0x1007e854]
mov dword [ebp - 0xc3c], edx
mov eax, dword [0x1007e858]
mov dword [ebp - 0xc38], eax
mov ecx, dword [0x1007e85c]
mov dword [ebp - 0xc34], ecx
mov dx, word [0x1007e860]
mov word [ebp - 0xc30], dx
mov al, byte [0x1007e862]
mov byte [ebp - 0xc2e], al
lea ecx, [ebp - 0xc40]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cdq
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
jmp 0x1001456f
xor edx, edx
mov byte [ebp - 0x8a], dl
lea ecx, [ebp - 0x8a]
call fcn.10004370
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xb8]
movzx ecx, byte [eax + 0xd]
test ecx, ecx
je 0x100149d6
push 0x1010101
push 0x1bbf85f1
push 0
push 0xd
mov edx, dword [ebp - 0xb8]
push edx
call fcn.1003f720
mov eax, dword [ebp - 0xb8]
mov byte [eax + 0xd], 0
mov ecx, dword [ebp - 0xb8]
push ecx
push 0
push 0
call fcn.10001380
call eax
movsx eax, word [ebp - 0xc]
movzx edx, byte [0x1009b07e]
sub eax, edx
cdq
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
cmp dword [ebp - 0x50], 0
jne 0x10014a0e
mov dword [ebp - 0x290], 1
jmp 0x10014a18
mov dword [ebp - 0x290], 0
movzx eax, word [ebp - 0x14]
imul eax, dword [ebp - 0x290]
not eax
mov word [ebp - 0x14], ax
mov ecx, dword [0x1009b130]
mov edx, dword [0x1009b134]
mov dword [ebp - 0xdb8], edx
mov word [ebp - 0xc], cx
mov eax, dword [0x1009b150]
mov ecx, dword [0x1009b154]
push 0
push 0xb1
push ecx
push eax
call fcn.1006c090
mov dword [ebp - 0x58], eax
xor edx, edx
mov byte [ebp - 0x89], dl
lea ecx, [ebp - 0x89]
call fcn.10004630
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xbc]
movzx ecx, byte [eax + 0xb]
test ecx, ecx
je 0x10014aa6
push 0x1010101
push 0x1bcb41c9
push 0
push 0xb
mov edx, dword [ebp - 0xbc]
push edx
call fcn.1003f720
mov eax, dword [ebp - 0xbc]
mov byte [eax + 0xb], 0
mov ecx, dword [ebp - 0xbc]
push ecx
push 0
push 0
call fcn.100015f0
call eax
mov dword [ebp - 0x6a8], eax
mov edx, 0x7f
mov word [0x1009b180], dx
cmp dword [0x1009b170], 0
je 0x10014bee
cmp dword [ebp - 0x58], 0
jne 0x10014ae9
mov dword [ebp - 0x294], 1
jmp 0x10014af3
mov dword [ebp - 0x294], 0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
push 0
push 0x87a1c04
push ecx
push eax
call fcn.1006c090
mov dword [ebp - 0x91c], eax
mov dword [ebp - 0x918], edx
mov edx, dword [ebp - 0x91c]
or edx, dword [ebp - 0x918]
jne 0x10014b2d
mov dword [ebp - 0x298], 1
jmp 0x10014b37
mov dword [ebp - 0x298], 0
mov eax, dword [ebp - 0x4c]
not eax
mov ecx, dword [ebp - 0x48]
not ecx
sub eax, 0x12c44218
sbb ecx, 0
mov edx, dword [0x1009b1b0]
sub edx, dword [ebp - 0x294]
sub edx, dword [ebp - 0x298]
xor esi, esi
xor eax, edx
xor ecx, esi
mov dword [0x1009b138], eax
mov dword [0x1009b13c], ecx
movsx eax, byte [0x1009b0a7]
movsx ecx, word [ebp - 0x1c]
xor eax, ecx
movsx edx, byte [0x1009b0a7]
add edx, eax
mov byte [0x1009b0a7], dl
movzx eax, byte [0x1009b01f]
add eax, 0x86d7
mov ecx, dword [0x1009b190]
add ecx, eax
xor edx, edx
mov dword [0x1009b168], ecx
mov dword [0x1009b16c], edx
movzx eax, word [ebp - 0x10]
test eax, eax
je 0x10014bbf
mov cx, word [ebp - 0x18]
mov word [ebp - 0x9a], cx
jmp 0x10014bca
mov dx, word [ebp - 0x10]
mov word [ebp - 0x9a], dx
movzx eax, word [ebp - 0x9a]
cdq
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
mov eax, 1
imul ecx, eax, 0x1f
mov dl, byte [ebp - 2]
mov byte [ecx + 0x102237a0], dl
movzx eax, word [0x1009b158]
movsx ecx, word [0x1009b180]
movzx edx, word [ebp - 0x14]
add ecx, edx
cmp eax, ecx
jne 0x10014f45
movzx eax, word [ebp - 0x14]
shl eax, 4
mov dword [0x1009b148], eax
mov ecx, dword [0x1009b168]
mov edx, dword [0x1009b16c]
push edx
push ecx
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.1006c090
mov ecx, dword [ebp - 0x30]
sub ecx, eax
mov eax, dword [ebp - 0x2c]
sbb eax, edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x58]
cdq
add eax, 0x3edbc3f8
mov word [ebp - 0x28], ax
mov ecx, 0x15
mov word [ebp - 0x20], cx
movzx eax, byte [0x1009b07f]
cdq
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
add ecx, eax
adc esi, edx
mov dword [0x1009b1a8], ecx
mov dword [0x1009b1ac], esi
mov dx, word [ebp - 0x1c]
mov byte [0x1009b0ee], dl
mov eax, 0xb4
mov word [ebp - 0x18], ax
movzx ecx, word [ebp - 0x24]
movzx edx, byte [0x1009b07f]
sub ecx, edx
not ecx
mov byte [0x1009b0ee], cl
movzx eax, word [ebp - 0x14]
cdq
add eax, 0xdf6bd6cb
adc edx, 0x4b047
mov dword [0x1009b198], eax
mov dword [0x1009b19c], edx
movzx eax, byte [0x1009b07e]
sub eax, dword [0x1009b140]
movzx ecx, byte [0x1009b07e]
add ecx, eax
mov byte [0x1009b07e], cl
movzx eax, byte [0x1009b0ee]
cdq
mov ecx, dword [ebp - 0x30]
add ecx, 0x8349
mov esi, dword [ebp - 0x2c]
adc esi, 0
mov dword [ebp - 0x924], eax
mov dword [ebp - 0x920], edx
mov dword [ebp - 0x92c], ecx
mov dword [ebp - 0x928], esi
mov edx, dword [ebp - 0x924]
cmp edx, dword [ebp - 0x92c]
jne 0x10014f45
mov eax, dword [ebp - 0x920]
cmp eax, dword [ebp - 0x928]
jne 0x10014f45
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov word [ebp - 0x10], ax
movzx ecx, word [ebp - 0x10]
test ecx, ecx
je 0x10014d69
mov ecx, 9
mov esi, str.._AU_ContinuationT
lea edi, [ebp - 0xf18]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edx, [ebp - 0xf18]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [ebp - 8], ax
jmp 0x10014e9f
mov eax, dword [0x1009b168]
mov ecx, dword [0x1009b16c]
mov dword [ebp - 0x934], eax
mov dword [ebp - 0x930], ecx
mov edx, dword [ebp - 0x934]
or edx, dword [ebp - 0x930]
je 0x10014dd9
imul eax, dword [ebp - 0x50], 0x9504
mov byte [0x1009b0ba], al
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov dword [ebp - 0xdbc], edx
mov eax, 2
shl eax, 0
mov word [eax + 0x1014e3e8], cx
mov cx, word [ebp - 0xc]
sub cx, 1
mov word [ebp - 0xc], cx
mov edx, dword [0x1009b188]
imul edx, dword [ebp - 0x44]
mov dword [ebp - 0x44], edx
jmp 0x10014e9f
movzx eax, byte [0x1009b01f]
not eax
cdq
mov dword [ebp - 0x93c], eax
mov dword [ebp - 0x938], edx
mov eax, dword [ebp - 0x93c]
cmp eax, dword [ebp - 0x4c]
jne 0x10014e19
mov ecx, dword [ebp - 0x938]
cmp ecx, dword [ebp - 0x48]
jne 0x10014e19
xor edx, edx
mov dword [ebp - 0x5ac], 1
mov dword [ebp - 0x5a8], edx
jmp 0x10014e24
xorps xmm0, xmm0
movlpd qword [ebp - 0x5ac], xmm0
mov ecx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x64]
not ecx
not esi
movsx eax, word [ebp - 0x1c]
cdq
sub ecx, eax
sbb esi, edx
not ecx
not esi
mov dword [ebp - 0x944], ecx
mov dword [ebp - 0x940], esi
mov edx, dword [ebp - 0x940]
cmp edx, dword [ebp - 0x5a8]
jl 0x10014e9f
jg 0x10014e65
mov eax, dword [ebp - 0x944]
cmp eax, dword [ebp - 0x5ac]
jb 0x10014e9f
movsx ecx, byte [0x1009b0a7]
imul edx, ecx, 0xfecd
mov word [ebp - 0x24], dx
movzx eax, byte [ebp - 1]
imul ecx, eax, 0x72f3
mov word [0x1009b158], cx
mov dx, word [0x1009bc7c]
mov word [0x1009b158], dx
mov dword [0x1009b170], 0x1d
jmp 0x10014abe
movzx eax, word [ebp - 0x20]
cdq
mov dword [ebp - 0x954], eax
mov dword [ebp - 0x950], edx
mov edx, dword [0x1009b17c]
cmp edx, dword [ebp - 0x950]
jl 0x10014f7f
jg 0x10014f73
mov eax, dword [0x1009b178]
cmp eax, dword [ebp - 0x954]
jb 0x10014f7f
mov dword [ebp - 0x29c], 1
jmp 0x10014f89
mov dword [ebp - 0x29c], 0
movsx ecx, word [ebp - 0x1c]
mov edx, dword [ebp - 0x29c]
not edx
cmp ecx, edx
jl 0x10015003
movzx eax, word [0x1009b184]
test eax, eax
jne 0x10015003
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x95c], ecx
mov dword [ebp - 0x958], edx
mov eax, dword [ebp - 0x95c]
or eax, dword [ebp - 0x958]
jne 0x10015003
movsx ecx, byte [0x1009b0a7]
test ecx, ecx
je 0x10015003
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x2a0], eax
cmp dword [ebp - 0x2a0], 0
je 0x10015003
mov edx, dword [ebp - 0x2a0]
push edx
call dword [sym.imp.USER32.dll_GetMenu]
mov dword [ebp - 0xdc0], eax
call dword [sym.imp.USER32.dll_EndMenu]
mov dword [ebp - 0xdc4], eax
mov eax, dword [ebp - 0x6a0]
or eax, 0x65
cmp eax, dword [ebp - 0x6a4]
je 0x10015988
mov dword [ebp - 0x128], 0
jmp 0x10015033
mov ecx, dword [ebp - 0x128]
add ecx, 1
mov dword [ebp - 0x128], ecx
cmp dword [ebp - 0x128], 0x2d5
jge 0x100152a1
mov dword [ebp - 0x50], 4
mov edx, dword [0x1009b178]
sub edx, 0xfdbd120
mov eax, dword [0x1009b1b0]
add eax, edx
mov dword [0x1009b1b0], eax
mov ecx, dword [ebp - 0x58]
add ecx, 0x47db
mov word [ebp - 0x18], cx
movsx edx, word [ebp - 0xc]
shl edx, 2
mov dword [0x1009b190], edx
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x2a4], eax
cmp dword [ebp - 0x2a4], 4
ja case.default.0x10015098
mov ecx, dword [ebp - 0x2a4]
jmp dword [ecx*4 + 0x1001c2b0]
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xdc8], eax
add edx, 0xd5722f24
mov word [ebp - 0x14], dx
movzx ecx, word [ebp - 0x20]
test ecx, ecx
jne 0x100150c9
mov dword [ebp - 0x2a8], 1
jmp 0x100150d3
mov dword [ebp - 0x2a8], 0
movzx edx, byte [ebp - 1]
test edx, edx
jne 0x100150e7
mov dword [ebp - 0x2ac], 1
jmp 0x100150f1
mov dword [ebp - 0x2ac], 0
mov eax, dword [0x1009b188]
imul eax, dword [ebp - 0x2a8]
imul eax, dword [ebp - 0x2ac]
cdq
mov esi, eax
mov eax, dword [0x1009b14c]
cdq
mov ecx, dword [0x1009b168]
mov edi, dword [0x1009b16c]
push edx
push eax
push edi
push ecx
call fcn.1006c090
mov ecx, eax
movzx eax, word [ebp - 0x10]
cdq
xor ecx, eax
add esi, ecx
mov word [ebp - 0x14], si
movzx edx, word [ebp - 0x10]
movzx eax, word [ebp - 0x24]
imul edx, eax
mov word [ebp - 0x10], dx
mov ecx, dword [0x1009bc7c]
mov dword [0x1009b140], ecx
jmp case.default.0x10015098
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xdcc], eax
mov ecx, 4
imul eax, ecx, 0x8a
mov dword [eax + 0x1015e318], edx
movzx ecx, word [0x1009b184]
imul edx, ecx, 0x4a37
mov dword [ebp - 0x54], edx
movsx eax, byte [0x1009b0a7]
cdq
mov ecx, dword [ebp - 0x4c]
and ecx, 0x5b808f0d
mov esi, dword [ebp - 0x48]
and esi, 0xea183
mov edi, dword [ebp - 0x34]
sub ecx, dword [ebp - 0x38]
sbb esi, edi
xor eax, ecx
xor edx, esi
mov dword [0x1009b198], eax
mov dword [0x1009b19c], edx
mov edx, dword [0x1009b1b0]
mov eax, dword [0x1009b150]
mov ecx, dword [0x1009b154]
mov dword [ebp - 0xdd0], ecx
add edx, eax
mov eax, dword [0x1009b1b0]
add eax, edx
mov dword [0x1009b1b0], eax
jmp case.default.0x10015098
movzx ecx, byte [0x1009b0ee]
movzx edx, word [0x1009b158]
add ecx, edx
movzx eax, byte [0x1009b0ee]
add eax, ecx
mov byte [0x1009b0ee], al
push 0
push 0xe0
mov ecx, dword [ebp - 0x6c]
push ecx
mov edx, dword [ebp - 0x70]
push edx
call fcn.1006c090
mov dword [ebp - 0x44], eax
jmp case.default.0x10015098
movzx eax, byte [0x1009b07e]
sub eax, 0x2c756506
mov dword [0x1009b1b0], eax
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0xdd4], edx
xor ecx, 0x44
mov word [ebp - 0x14], cx
movzx eax, word [ebp - 0x28]
imul ecx, eax, 0x43b31d8e
mov dword [ebp - 0x44], ecx
mov dx, word [ebp - 0xc]
mov byte [0x1009b0a7], dl
jmp case.default.0x10015098
movsx eax, byte [0x1009b0ba]
sar eax, 4
mov byte [ebp - 1], al
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
push 0
push 0xdab7f7f1
push edx
push ecx
call fcn.1006c090
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movzx eax, byte [ebp - 2]
movsx ecx, byte [0x1009b0ba]
sub eax, ecx
movzx edx, byte [ebp - 2]
sub edx, eax
mov byte [ebp - 2], dl
mov eax, dword [ebp - 0x70]
add eax, 1
mov ecx, dword [ebp - 0x6c]
adc ecx, 0
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], ecx
jmp 0x10015024
xor edx, edx
mov dword [0x1009b178], 0x7f
mov dword [0x1009b17c], edx
mov eax, 3
mov word [0x1009b158], ax
mov ecx, dword [ebp - 0x44]
sub ecx, 0x22531961
xor edx, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
mov eax, dword [0x1009b1a0]
sub eax, 0xace7
mov byte [0x1009b07f], al
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0xdd8], edx
sub ecx, 0x3f53c6d
mov word [ebp - 0x10], cx
movzx eax, word [ebp - 0x10]
imul ecx, eax, 0xfa
mov word [ebp - 0x20], cx
movsx edx, byte [0x1009b0ba]
mov eax, dword [0x1009b188]
imul eax, edx
mov ecx, dword [0x1009b188]
sub ecx, eax
mov dword [0x1009b188], ecx
movzx edx, word [0x1009b158]
mov dword [ebp - 0x2b0], edx
cmp dword [ebp - 0x2b0], 3
ja case.default.0x1001533f
mov eax, dword [ebp - 0x2b0]
jmp dword [eax*4 + 0x1001c2c4]
mov ecx, dword [0x1009b1b0]
xor edx, edx
mov eax, 8
imul eax, eax, 6
mov dword [eax + 0x10153c28], ecx
mov dword [eax + 0x10153c2c], edx
movzx ecx, byte [0x1009b0ee]
sar ecx, 1
mov word [ebp - 0x28], cx
mov edx, dword [0x1009b140]
add edx, 0xad
mov dword [ebp - 0x50], edx
jmp case.default.0x1001533f
movzx eax, byte [0x1009b033]
cdq
add eax, dword [ebp - 0x40]
adc edx, dword [ebp - 0x3c]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
movzx eax, word [ebp - 0x20]
not eax
movzx ecx, word [ebp - 8]
sub eax, ecx
mov word [0x1009b184], ax
cmp dword [0x1009b188], 0
jne 0x100153be
mov dword [ebp - 0x2b4], 1
jmp 0x100153c8
mov dword [ebp - 0x2b4], 0
movsx edx, byte [0x1009b0bb]
add edx, dword [ebp - 0x2b4]
jne 0x100153eb
xor eax, eax
mov dword [ebp - 0x5bc], 1
mov dword [ebp - 0x5b8], eax
jmp 0x100153f6
xorps xmm0, xmm0
movlpd qword [ebp - 0x5bc], xmm0
mov ecx, dword [ebp - 0x5bc]
mov edx, dword [ebp - 0x5b8]
mov dword [0x1009b178], ecx
mov dword [0x1009b17c], edx
movsx eax, word [0x1009b180]
add eax, 0x1a8523ae
cdq
mov ecx, dword [ebp - 0x30]
sub ecx, eax
mov eax, dword [ebp - 0x2c]
sbb eax, edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], eax
jmp case.default.0x1001533f
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
xor ecx, 5
xor edx, 0
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edx
movzx eax, byte [0x1009b0a6]
test eax, eax
jne 0x10015459
mov dword [ebp - 0x2b8], 1
jmp 0x10015463
mov dword [ebp - 0x2b8], 0
mov esi, dword [ebp - 0x2b8]
sub esi, dword [0x1009b170]
xor edi, edi
movzx eax, word [0x1009b184]
cdq
mov ecx, dword [0x1009b130]
mov ebx, dword [0x1009b134]
push ebx
push ecx
push edx
push eax
call fcn.1006c090
push edx
push eax
push edi
push esi
call fcn.1006c090
mov byte [0x1009b0ba], al
movzx edx, byte [ebp - 1]
imul eax, edx, 0x7d
mov dword [0x1009b144], eax
mov byte [0x1009b0ba], 0xc2
jmp case.default.0x1001533f
mov ecx, dword [0x1009b18c]
add ecx, dword [ebp - 0x58]
or ecx, dword [0x1009b18c]
mov dword [0x1009b18c], ecx
movsx eax, word [ebp - 0x1c]
not eax
cdq
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xddc], ecx
sub edx, eax
mov word [ebp - 0xc], dx
mov edx, dword [ebp - 0x44]
shl edx, 6
mov byte [0x1009b0a7], dl
movzx eax, word [0x1009b158]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x54]
cdq
add eax, dword [0x1009b178]
adc edx, dword [0x1009b17c]
mov dword [ebp - 0x964], ecx
mov dword [ebp - 0x960], esi
mov dword [ebp - 0x96c], eax
mov dword [ebp - 0x968], edx
mov edx, dword [ebp - 0x964]
cmp edx, dword [ebp - 0x96c]
jne 0x1001583e
mov eax, dword [ebp - 0x960]
cmp eax, dword [ebp - 0x968]
jne 0x1001583e
mov ecx, 2
mov word [0x1009b158], cx
movzx edx, word [ebp - 0x20]
test edx, edx
je 0x1001556a
movzx eax, word [ebp - 0x14]
cdq
mov dword [ebp - 0x48c], eax
mov dword [ebp - 0x488], edx
jmp 0x10015581
mov eax, dword [0x1009b1a8]
mov ecx, dword [0x1009b1ac]
mov dword [ebp - 0x48c], eax
mov dword [ebp - 0x488], ecx
mov edx, dword [ebp - 0x48c]
mov eax, dword [ebp - 0x488]
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x58]
cdq
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0xde0], edx
not ecx
xor eax, ecx
mov word [ebp - 0x14], ax
mov byte [0x1009b0a7], 8
movsx eax, word [ebp - 0x1c]
cdq
push 0xc3699
push 0xe78a2c5b
push edx
push eax
call fcn.1006c090
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
movzx eax, word [ebp - 0x18]
add eax, 0xb6ef
mov dword [0x1009b170], eax
movzx ecx, word [0x1009b158]
mov dword [ebp - 0x12c], ecx
cmp dword [ebp - 0x12c], 0
je 0x1001560d
cmp dword [ebp - 0x12c], 1
je 0x1001562b
cmp dword [ebp - 0x12c], 2
je 0x10015726
jmp 0x100157d2
mov dx, word [0x1009bc7c]
mov word [ebp - 8], dx
movzx eax, word [ebp - 0x28]
movzx ecx, word [ebp - 8]
sub eax, ecx
mov word [ebp - 0x28], ax
jmp 0x100157d2
movzx edx, byte [ebp - 2]
mov eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x44]
add edx, eax
mov ecx, 0xbbf2b838
sub ecx, edx
xor edx, edx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], edx
mov eax, 0xfe04b
mov dword [ebp - 0x60], 0x6c3225a5
mov dword [ebp - 0x5c], eax
movzx ecx, byte [0x1009b01f]
sub ecx, 0x512f
mov byte [0x1009b0ba], cl
movsx eax, byte [0x1009b0ba]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xde4], eax
sub ecx, edx
movsx eax, byte [0x1009b0ba]
cdq
sub eax, ecx
mov byte [0x1009b0ba], al
mov ecx, dword [0x1009b148]
mov word [ebp - 0x14], cx
mov edx, dword [0x1009b1b0]
imul edx, dword [ebp - 0x44]
not edx
xor eax, eax
sub edx, dword [ebp - 0x40]
sbb eax, dword [ebp - 0x3c]
movzx ecx, word [0x1009b184]
not ecx
add ecx, 0x4be2
not ecx
mov esi, dword [0x1009b144]
imul esi, dword [ebp - 0x54]
sub ecx, esi
xor esi, esi
sub edx, ecx
sbb eax, esi
mov dword [ebp - 0x974], edx
mov dword [ebp - 0x970], eax
mov edx, dword [ebp - 0x974]
or edx, dword [ebp - 0x970]
jne 0x100156fe
xor eax, eax
mov dword [ebp - 0x5c4], 1
mov dword [ebp - 0x5c0], eax
jmp 0x10015709
xorps xmm0, xmm0
movlpd qword [ebp - 0x5c4], xmm0
mov ecx, dword [ebp - 0x5c4]
mov edx, dword [ebp - 0x5c0]
mov dword [0x1009b178], ecx
mov dword [0x1009b17c], edx
jmp 0x100157d2
mov eax, dword [ebp - 0x40]
or eax, dword [ebp - 0x3c]
je 0x1001573c
mov ecx, dword [0x1009b1a0]
mov dword [ebp - 0x2bc], ecx
jmp 0x10015749
movzx edx, byte [0x1009b0ef]
mov dword [ebp - 0x2bc], edx
mov ax, word [ebp - 0x2bc]
mov word [ebp - 8], ax
cmp dword [0x1009b14c], 0
je 0x10015770
movzx eax, word [ebp - 0x18]
cdq
mov dword [ebp - 0x5cc], eax
mov dword [ebp - 0x5c8], edx
jmp 0x10015788
mov ecx, dword [0x1009b178]
mov edx, dword [0x1009b17c]
mov dword [ebp - 0x5cc], ecx
mov dword [ebp - 0x5c8], edx
mov al, byte [ebp - 0x5cc]
mov byte [0x1009b01f], al
mov byte [0x1009b033], 0xb1
movzx ecx, word [ebp - 0x24]
test ecx, ecx
je 0x100157b0
mov edx, dword [0x1009b140]
mov dword [ebp - 0x2c0], edx
jmp 0x100157ba
movsx eax, word [ebp - 0x1c]
mov dword [ebp - 0x2c0], eax
mov cl, byte [ebp - 0x2c0]
mov byte [0x1009b0ee], cl
mov dl, byte [0x1009bc7c]
mov byte [0x1009b07e], dl
mov eax, dword [ebp - 0x54]
add eax, 0x97
cmp dword [0x1009b188], eax
jne 0x1001583e
mov ecx, dword [0x1009b198]
mov edx, dword [0x1009b19c]
mov dword [ebp - 0xde8], edx
push ecx
call dword [sym.imp.USER32.dll_GetTopWindow]
mov word [ebp - 0x1c], ax
jmp 0x100152a1
movzx eax, word [ebp - 8]
cdq
mov dword [ebp - 0x97c], eax
mov dword [ebp - 0x978], edx
mov edx, dword [ebp - 0x97c]
cmp edx, dword [ebp - 0x40]
jne 0x10015865
mov eax, dword [ebp - 0x978]
cmp eax, dword [ebp - 0x3c]
je 0x10015871
mov dword [ebp - 0x2c4], 1
jmp 0x1001587b
mov dword [ebp - 0x2c4], 0
movzx ecx, word [ebp - 8]
cmp ecx, 5
je 0x10015890
mov dword [ebp - 0x2c8], 1
jmp 0x1001589a
mov dword [ebp - 0x2c8], 0
mov edx, dword [ebp - 0x2c4]
cmp edx, dword [ebp - 0x2c8]
jg 0x100158d7
mov eax, dword [0x1009b14c]
add eax, 0x2885
mov byte [ebp - 2], al
mov dword [0x1009b190], 4
mov cl, byte [0x1009bc7c]
mov byte [0x1009b0ee], cl
mov edx, dword [0x1009bc7c]
mov dword [0x1009b148], edx
cmp dword [ebp - 0x6a8], 0
jne 0x10015988
movsx eax, word [ebp - 0xc]
cdq
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0xdec], edx
add eax, ecx
mov dword [ebp - 0x58], eax
mov eax, dword [0x1009b1b0]
xor ecx, ecx
add eax, 0xc7a82c74
adc ecx, 0x5af01
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
movzx eax, byte [0x1009b07e]
cdq
mov ecx, eax
sub ecx, 0xc08d53f4
mov eax, dword [ebp - 0x58]
cdq
or eax, ecx
mov dword [ebp - 0x58], eax
xor edx, edx
mov byte [ebp - 0x88], dl
lea ecx, [ebp - 0x88]
call fcn.10001810
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xc0]
movzx ecx, byte [eax + 0xb]
test ecx, ecx
je 0x10015976
push 0x1010101
push 0x1d2fa777
push 0
push 0xb
mov edx, dword [ebp - 0xc0]
push edx
call fcn.1003f720
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0xb], 0
mov ecx, dword [ebp - 0xc0]
push ecx
push 0
push 0
call fcn.10001380
call eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStrings]
mov word [0x1009b184], ax
movzx edx, word [0x1009b184]
test edx, edx
jge 0x100159f4
movzx ax, byte [0x1009b07e]
mov ecx, 2
imul edx, ecx, 0x780
mov word [edx + 0x1021a340], ax
mov eax, dword [0x1009b198]
mov ecx, dword [0x1009b19c]
mov dword [ebp - 0xdf0], ecx
add eax, 0xc873
mov word [ebp - 0xc], ax
mov byte [0x1009b07e], 2
movsx edx, byte [0x1009b0a7]
add edx, dword [0x1009b18c]
mov byte [0x1009b0a7], dl
mov byte [0x1009b0ba], 1
xor eax, eax
mov byte [ebp - 0x87], al
lea ecx, [ebp - 0x87]
call fcn.100018f0
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0xc4]
movzx edx, byte [ecx + 0xd]
test edx, edx
je 0x10015a3f
push 0x1010101
push 0x1b59c375
push 0
push 0xd
mov eax, dword [ebp - 0xc4]
push eax
call fcn.1003f720
mov ecx, dword [ebp - 0xc4]
mov byte [ecx + 0xd], 0
mov edx, dword [ebp - 0xc4]
push edx
push 0
push 0
call fcn.100015f0
call eax
mov dword [ebp - 0x6ac], eax
mov dword [0x1009b14c], 0xd81d8cd0
movsx eax, word [ebp - 0xc]
cdq
push 0xc46f1
push 0xf21d579d
push edx
push eax
call fcn.1006c090
mov ecx, eax
mov esi, edx
movsx eax, word [ebp - 0x1c]
cdq
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov word [ebp - 0x1c], ax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xdf4], eax
mov word [ebp - 0x14], dx
movzx eax, word [0x1009b184]
cdq
mov ecx, dword [ebp - 0x30]
add ecx, 0x2fb9
mov esi, dword [ebp - 0x2c]
adc esi, 0
mov dword [ebp - 0x984], eax
mov dword [ebp - 0x980], edx
mov dword [ebp - 0x98c], ecx
mov dword [ebp - 0x988], esi
mov edx, dword [ebp - 0x984]
cmp edx, dword [ebp - 0x98c]
jne 0x10015c2b
mov eax, dword [ebp - 0x980]
cmp eax, dword [ebp - 0x988]
jne 0x10015c2b
movzx ecx, byte [ebp - 1]
mov edx, dword [0x1009b148]
add edx, ecx
cmp edx, 1
jne 0x10015c2b
movzx eax, word [ebp - 0x14]
add eax, 0xa6
mov byte [ebp - 1], al
movsx eax, byte [0x1009b0bb]
cdq
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
mov ecx, dword [0x1009b178]
mov edx, dword [0x1009b17c]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0xdf8], ecx
add eax, 0x49a1078e
mov word [0x1009b158], ax
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
push 0
push 0xf9be
push eax
push edx
call fcn.1006c090
push edx
push eax
mov ecx, dword [ebp - 0x2c]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.1006c090
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x44], 0xfc8535a0
jmp 0x10015a57
movzx eax, word [ebp - 0x10]
cdq
mov dword [ebp - 0x99c], eax
mov dword [ebp - 0x998], edx
mov ecx, dword [ebp - 0x998]
cmp ecx, dword [ebp - 0x6c]
ja 0x10015c60
jb 0x10015c54
mov edx, dword [ebp - 0x99c]
cmp edx, dword [ebp - 0x70]
jae 0x10015c60
mov dword [ebp - 0x2cc], 1
jmp 0x10015c6a
mov dword [ebp - 0x2cc], 0
movzx eax, word [ebp - 0x10]
cmp eax, 0x1b
jge 0x10015c7f
mov dword [ebp - 0x2d0], 1
jmp 0x10015c89
mov dword [ebp - 0x2d0], 0
mov ecx, dword [ebp - 0x2cc]
cmp ecx, dword [ebp - 0x2d0]
jge 0x10015d33
mov edx, dword [ebp - 0x44]
add edx, 0x625a73e4
mov word [ebp - 0x24], dx
mov eax, 8
shl eax, 0
mov dx, word [0x1009b184]
mov cl, byte [eax + 0x101c0bc0]
shl dx, cl
mov word [0x1009b184], dx
movzx eax, word [ebp - 0x20]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
mov ecx, dword [0x1009b16c]
add edx, dword [0x1009b168]
adc eax, ecx
mov dword [0x1009b130], edx
mov dword [0x1009b134], eax
movzx dx, byte [0x1009b0ee]
mov eax, 2
imul ecx, eax, 0x12
mov word [ecx + 0x10223758], dx
mov eax, dword [0x1009b160]
mov edx, dword [0x1009b164]
mov cl, 4
call fcn.1006c1a0
mov dword [0x1009b144], eax
mov edx, dword [ebp - 0x2d4]
or edx, 0x35c
cmp dword [ebp - 0x2d4], edx
je 0x10016e15
mov eax, dword [0x1009bc7c]
xor ecx, ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x70]
add edx, 1
mov eax, dword [ebp - 0x6c]
adc eax, 0
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], eax
mov byte [0x1009b0a7], 0x9a
movzx ecx, word [ebp - 0x18]
test ecx, ecx
je 0x10015e0e
movzx edx, word [0x1009b158]
movsx eax, word [0x1009b180]
imul edx, eax
movzx ecx, word [0x1009b158]
or ecx, edx
mov word [0x1009b158], cx
movzx eax, word [ebp - 8]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xdfc], eax
add ecx, edx
movzx eax, word [ebp - 8]
cdq
add eax, ecx
mov word [ebp - 8], ax
mov ecx, dword [0x1009b18c]
add ecx, 0x5d
mov byte [0x1009b07e], cl
mov edx, dword [0x1009b1b0]
xor eax, eax
push eax
push edx
mov ecx, dword [ebp - 0x2c]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.1006c090
mov ecx, dword [ebp - 0x30]
sub ecx, eax
mov eax, dword [ebp - 0x2c]
sbb eax, edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
sub ecx, 0x207bdc9d
sbb edx, 0
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], edx
jmp 0x10015efc
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x9a4], eax
mov dword [ebp - 0x9a0], ecx
mov edx, dword [ebp - 0x9a4]
or edx, dword [ebp - 0x9a0]
jne 0x10015e3a
mov dword [ebp - 0x2d8], 1
jmp 0x10015e44
mov dword [ebp - 0x2d8], 0
movzx eax, byte [ebp - 1]
test eax, eax
jne 0x10015e58
mov dword [ebp - 0x2dc], 1
jmp 0x10015e62
mov dword [ebp - 0x2dc], 0
mov ecx, dword [ebp - 0x2d8]
xor ecx, dword [ebp - 0x2dc]
jne 0x10015e7e
mov edx, 1
mov word [ebp - 0x9c], dx
jmp 0x10015e87
xor eax, eax
mov word [ebp - 0x9c], ax
mov cx, word [ebp - 0x9c]
mov word [ebp - 0x20], cx
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
push 0
push 0xa3
push eax
push edx
call fcn.1006c090
mov dword [ebp - 0x44], eax
movzx ecx, word [ebp - 0x14]
movzx edx, word [ebp - 0x18]
sub ecx, edx
mov word [ebp - 0x14], cx
movsx eax, byte [0x1009b0bb]
movsx ecx, byte [0x1009b0bb]
sub eax, ecx
mov byte [0x1009b0bb], al
movzx eax, word [ebp - 0x10]
cdq
add eax, dword [0x1009b160]
adc edx, dword [0x1009b164]
mov ecx, dword [0x1009b160]
sub ecx, eax
mov eax, dword [0x1009b164]
sbb eax, edx
mov dword [0x1009b160], ecx
mov dword [0x1009b164], eax
movsx ecx, byte [0x1009b0a7]
movzx edx, word [ebp - 0x14]
add ecx, edx
cmp dword [0x1009b1b0], ecx
jne 0x1001605b
mov eax, dword [0x1009b140]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
mov word [ebp - 8], ax
movzx ecx, byte [0x1009b07e]
cmp ecx, dword [ebp - 0x44]
jl 0x10015f74
movzx edx, word [ebp - 8]
imul eax, edx, 0x8737
cdq
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov edx, dword [0x1009b14c]
sub edx, dword [ebp - 0x58]
mov dword [0x1009b14c], edx
mov ecx, dword [ebp - 0x4c]
add ecx, 0x1a43
movsx eax, word [ebp - 0xc]
cdq
add eax, ecx
mov word [ebp - 0xc], ax
movzx edx, word [0x1009b184]
mov eax, dword [ebp - 0x54]
add eax, 0x94
cmp edx, eax
jne 0x1001605b
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x130], 0
je 0x10015fc6
mov ecx, dword [ebp - 0x130]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp - 0xe00], eax
mov edx, dword [ebp - 0x130]
push edx
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov dword [ebp - 0xe04], eax
jmp 0x10015d6a
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
movsx eax, word [ebp - 0xc]
cdq
mov dword [ebp - 0x9ac], ecx
mov dword [ebp - 0x9a8], esi
mov dword [ebp - 0x9b4], eax
mov dword [ebp - 0x9b0], edx
mov edx, dword [ebp - 0x9a8]
cmp edx, dword [ebp - 0x9b0]
jg 0x1001616f
jl 0x100160aa
mov eax, dword [ebp - 0x9ac]
cmp eax, dword [ebp - 0x9b4]
ja 0x1001616f
movsx ecx, word [ebp - 0x1c]
cmp dword [ebp - 0x44], ecx
jne 0x100160b8
jmp 0x1001616d
movzx edx, byte [0x1009b0ee]
test edx, edx
je 0x1001616d
movzx eax, word [ebp - 8]
add eax, dword [0x1009b14c]
movzx ecx, word [ebp - 8]
and ecx, eax
mov word [ebp - 8], cx
mov dword [0x1009b1a0], 0x6b0bac61
movzx eax, word [ebp - 0x20]
cdq
add eax, dword [0x1009b178]
adc edx, dword [0x1009b17c]
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
movsx edx, word [ebp - 0xc]
test edx, edx
jne 0x1001611d
xor eax, eax
mov dword [ebp - 0x9bc], 1
mov dword [ebp - 0x9b8], eax
jmp 0x10016128
xorps xmm0, xmm0
movlpd qword [ebp - 0x9bc], xmm0
mov ecx, dword [0x1009b198]
mov edx, dword [0x1009b19c]
mov dword [ebp - 0xe08], edx
not ecx
or ecx, dword [ebp - 0x9bc]
mov dword [ebp - 0x44], ecx
movzx eax, word [ebp - 8]
add eax, 0x53295e31
movzx ecx, byte [0x1009b07e]
xor ecx, eax
mov byte [0x1009b07e], cl
mov edx, dword [0x1009b140]
add edx, 0x13ca
mov word [ebp - 0x20], dx
jmp 0x100161d8
movsx eax, byte [0x1009b0a7]
cdq
add eax, dword [ebp - 0x4c]
adc edx, dword [ebp - 0x48]
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
push edx
push eax
push esi
push ecx
call fcn.1006c090
movzx ecx, byte [ebp - 2]
add ecx, dword [0x1009b1b0]
movsx esi, word [ebp - 0xc]
add ecx, esi
xor esi, esi
add eax, ecx
adc edx, esi
mov dword [0x1009b168], eax
mov dword [0x1009b16c], edx
mov edx, dword [0x1009b138]
mov eax, dword [0x1009b13c]
mov dword [0x1009b178], edx
mov dword [0x1009b17c], eax
mov ecx, dword [0x1009b144]
add ecx, dword [ebp - 0x50]
mov dword [0x1009b144], ecx
cmp dword [ebp - 0x6ac], 0
jne 0x10016e15
movzx eax, word [ebp - 0x10]
cdq
mov ecx, dword [0x1009b130]
mov esi, dword [0x1009b134]
mov dword [ebp - 0x9c4], eax
mov dword [ebp - 0x9c0], edx
mov dword [ebp - 0x9cc], ecx
mov dword [ebp - 0x9c8], esi
mov edx, dword [ebp - 0x9c0]
cmp edx, dword [ebp - 0x9c8]
jl 0x10016238
jg 0x1001622c
mov eax, dword [ebp - 0x9c4]
cmp eax, dword [ebp - 0x9cc]
jbe 0x10016238
mov dword [ebp - 0x2e0], 1
jmp 0x10016242
mov dword [ebp - 0x2e0], 0
movzx ecx, word [ebp - 0x10]
cmp ecx, 0x50
jle 0x10016257
mov dword [ebp - 0x2e4], 1
jmp 0x10016261
mov dword [ebp - 0x2e4], 0
mov edx, dword [ebp - 0x2e0]
cmp edx, dword [ebp - 0x2e4]
jg 0x1001632b
mov ax, word [0x1009b1a0]
mov word [ebp - 0x20], ax
movzx eax, byte [0x1009b033]
cdq
add eax, dword [ebp - 0x40]
adc edx, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movzx ecx, byte [ebp - 2]
sub ecx, 0x3c
movzx edx, word [ebp - 0x18]
or edx, ecx
mov word [ebp - 0x18], dx
mov eax, dword [ebp - 0x70]
or eax, dword [ebp - 0x6c]
jne 0x100162be
xor ecx, ecx
mov dword [ebp - 0x5dc], 1
mov dword [ebp - 0x5d8], ecx
jmp 0x100162c9
xorps xmm0, xmm0
movlpd qword [ebp - 0x5dc], xmm0
mov ecx, dword [ebp - 0x5dc]
sub ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x5d8]
sbb esi, dword [ebp - 0x3c]
movzx eax, word [ebp - 8]
add eax, dword [0x1009b140]
cdq
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov word [ebp - 0x24], ax
movsx eax, word [ebp - 0xc]
cdq
push edx
push eax
mov edx, dword [0x1009b164]
push edx
mov eax, dword [0x1009b160]
push eax
call fcn.1006c090
mov ecx, dword [0x1009b160]
sub ecx, eax
mov eax, dword [0x1009b164]
sbb eax, edx
mov dword [0x1009b160], ecx
mov dword [0x1009b164], eax
jmp 0x1001640d
movsx ecx, byte [0x1009b0a7]
test ecx, ecx
jne 0x1001640d
mov edx, dword [0x1009b190]
sub edx, 0xd5fc
mov word [ebp - 0x20], dx
mov eax, dword [0x1009b188]
cdq
add eax, dword [0x1009b160]
adc edx, dword [0x1009b164]
mov dword [ebp - 0x6ec], eax
mov dword [ebp - 0x6e8], edx
mov eax, dword [ebp - 0x6ec]
or eax, dword [ebp - 0x6e8]
jne 0x1001638a
xor ecx, ecx
mov dword [ebp - 0x9d4], 1
mov dword [ebp - 0x9d0], ecx
jmp 0x10016395
xorps xmm0, xmm0
movlpd qword [ebp - 0x9d4], xmm0
movsx eax, word [ebp - 0x1c]
cdq
mov esi, eax
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0xe0c], eax
sub esi, edx
sub esi, dword [ebp - 0x9d4]
mov ecx, dword [0x1009b190]
xor edi, edi
add ecx, dword [ebp - 0x40]
adc edi, dword [ebp - 0x3c]
movzx eax, word [ebp - 0x14]
cdq
mov ebx, dword [0x1009b130]
mov dword [ebp - 0x6b0], esi
mov esi, dword [0x1009b134]
sub ebx, eax
sbb esi, edx
push esi
push ebx
push edi
push ecx
call fcn.1006c090
mov esi, dword [ebp - 0x6b0]
add esi, eax
mov word [ebp - 0x20], si
movzx eax, byte [ebp - 2]
sub eax, 0xcc
cdq
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov dl, byte [0x1009b0a6]
sub dl, 1
mov byte [0x1009b0a6], dl
mov eax, dword [0x1009bc7c]
mov dword [ebp - 0x134], eax
mov ecx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x64]
movzx eax, word [ebp - 0x10]
cdq
mov dword [ebp - 0x9dc], ecx
mov dword [ebp - 0x9d8], esi
mov dword [ebp - 0x9e4], eax
mov dword [ebp - 0x9e0], edx
mov edx, dword [ebp - 0x9d8]
cmp edx, dword [ebp - 0x9e0]
jg 0x10016465
jl 0x10016459
mov eax, dword [ebp - 0x9dc]
cmp eax, dword [ebp - 0x9e4]
jae 0x10016465
mov dword [ebp - 0x2e8], 1
jmp 0x1001646f
mov dword [ebp - 0x2e8], 0
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x9ec], ecx
mov dword [ebp - 0x9e8], edx
cmp dword [ebp - 0x9e8], 0
jg 0x100164a1
jl 0x10016495
cmp dword [ebp - 0x9ec], 0x1f
jae 0x100164a1
mov dword [ebp - 0x2ec], 1
jmp 0x100164ab
mov dword [ebp - 0x2ec], 0
mov eax, dword [ebp - 0x2e8]
cmp eax, dword [ebp - 0x2ec]
jle 0x100164ed
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x2f0], eax
cmp dword [ebp - 0x2f0], 0
je 0x100164ed
mov ecx, dword [ebp - 0x2f0]
push ecx
call dword [sym.imp.USER32.dll_GetMenu]
mov dword [ebp - 0xe10], eax
call dword [sym.imp.USER32.dll_EndMenu]
mov dword [ebp - 0xe14], eax
mov edx, dword [ebp - 0x134]
add edx, 0x45
mov dword [ebp - 0xe18], edx
mov eax, dword [ebp - 0x44]
cdq
sub eax, dword [ebp - 0x4c]
mov dword [ebp - 0x44], eax
mov eax, dword [0x1009b1a0]
xor eax, 0x99ea1181
xor ecx, ecx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x70]
sub edx, 0xafa9
mov word [ebp - 0x18], dx
mov eax, dword [0x1009b1a0]
add eax, 1
mov dword [0x1009b1a0], eax
mov ecx, dword [0x1009b168]
mov edx, dword [0x1009b16c]
sub ecx, 0xb3
sbb edx, 0
mov eax, dword [ebp - 0x40]
sub eax, ecx
mov ecx, dword [ebp - 0x3c]
sbb ecx, edx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x134]
add edx, 0x336
mov dword [ebp - 0x6b8], edx
mov eax, dword [ebp - 0x134]
add eax, 0xde
mov dword [ebp - 0x2f8], eax
xor ecx, ecx
mov dword [0x1009b1a8], 0x11
mov dword [0x1009b1ac], ecx
mov edx, 0xfda5a
mov dword [ebp - 0x30], 0xa8f5a53d
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x50]
sub eax, 0x13
xor ecx, ecx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], ecx
mov edx, dword [0x1009b160]
or edx, dword [0x1009b164]
jne 0x100165cb
xor eax, eax
mov dword [ebp - 0x9f4], 1
mov dword [ebp - 0x9f0], eax
jmp 0x100165d6
xorps xmm0, xmm0
movlpd qword [ebp - 0x9f4], xmm0
movzx eax, word [ebp - 0x24]
xor eax, 0x4268
cdq
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0xe1c], edx
mov edx, dword [ebp - 0x9f4]
sub edx, ecx
add eax, edx
mov dword [ebp - 0x50], eax
mov eax, dword [0x1009b188]
cdq
mov dword [0x1009b150], eax
mov dword [0x1009b154], edx
movzx eax, byte [ebp - 1]
sub eax, 0x16a45e56
cmp dword [0x1009b190], eax
jne 0x10016749
movzx ecx, byte [0x1009b07e]
movzx edx, byte [ebp - 1]
add ecx, edx
cmp ecx, 1
jne 0x10016749
movsx eax, byte [0x1009b0ba]
cdq
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], esi
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
xor edx, dword [ebp - 0x30]
xor eax, dword [ebp - 0x2c]
add edx, dword [ebp - 0x30]
adc eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
mov ecx, dword [0x1009b190]
sub ecx, 0x7aa309c6
mov word [ebp - 8], cx
movzx edx, byte [ebp - 1]
mov eax, dword [ebp - 0x50]
and eax, edx
mov ecx, dword [ebp - 0x50]
imul ecx, eax
mov dword [ebp - 0x50], ecx
jmp 0x1001657a
push 0x1007e88c
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov byte [0x1009b0ef], al
mov eax, dword [ebp - 0x6b8]
add eax, dword [ebp - 0x2f8]
cmp dword [ebp - 0x2f8], eax
je 0x10016e15
movzx ecx, word [ebp - 8]
push ecx
call dword [sym.imp.USER32.dll_GetParent]
mov dword [0x1009b190], eax
xor edx, edx
mov dword [0x1009b198], 0x8349
mov dword [0x1009b19c], edx
mov eax, dword [0x1009b198]
mov ecx, dword [0x1009b19c]
mov edx, dword [ebp - 0x30]
add edx, 1
mov esi, dword [ebp - 0x2c]
adc esi, 0
mov dword [ebp - 0x9fc], eax
mov dword [ebp - 0x9f8], ecx
mov dword [ebp - 0xa04], edx
mov dword [ebp - 0xa00], esi
mov eax, dword [ebp - 0x9fc]
cmp eax, dword [ebp - 0xa04]
jne 0x10016d46
mov ecx, dword [ebp - 0x9f8]
cmp ecx, dword [ebp - 0xa00]
jne 0x10016d46
mov dword [ebp - 0x138], 0
jmp 0x10016801
mov edx, dword [ebp - 0x138]
add edx, 1
mov dword [ebp - 0x138], edx
cmp dword [ebp - 0x138], 0x36a
jge 0x10016826
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov byte [0x1009b0ba], al
mov al, byte [0x1009b0ef]
add al, 1
mov byte [0x1009b0ef], al
jmp 0x100167f2
mov ecx, dword [0x1009b170]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xe20], eax
sub ecx, edx
mov edx, dword [0x1009b170]
sub edx, ecx
mov dword [0x1009b170], edx
movzx eax, byte [ebp - 1]
imul eax, dword [0x1009b188]
movzx ecx, byte [ebp - 1]
add ecx, eax
mov byte [ebp - 1], cl
movsx eax, byte [0x1009b0bb]
cdq
sub eax, 0xadfefb4e
sbb edx, 0xe697b
mov ecx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x74]
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
movzx edx, byte [ebp - 1]
test edx, edx
je 0x100168a5
mov eax, dword [0x1009b1a8]
mov ecx, dword [0x1009b1ac]
mov dword [ebp - 0x5e4], eax
mov dword [ebp - 0x5e0], ecx
jmp 0x100168b6
movsx eax, word [ebp - 0xc]
cdq
mov dword [ebp - 0x5e4], eax
mov dword [ebp - 0x5e0], edx
mov dl, byte [ebp - 0x5e4]
mov byte [ebp - 2], dl
movsx eax, byte [0x1009b0a7]
cdq
and eax, 0x9b877610
mov word [ebp - 0xc], ax
movzx eax, word [0x1009b158]
cmp eax, 1
jne 0x10016d46
movzx ecx, byte [0x1009b07f]
cmp ecx, dword [0x1009b188]
jl 0x10016b30
movsx edx, byte [0x1009b0a7]
test edx, edx
je 0x10016984
mov eax, dword [0x1009b198]
mov ecx, dword [0x1009b19c]
mov dword [ebp - 0xa0c], eax
mov dword [ebp - 0xa08], ecx
mov edx, dword [ebp - 0xa0c]
or edx, dword [ebp - 0xa08]
je 0x1001693b
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x5ec], eax
mov dword [ebp - 0x5e8], ecx
jmp 0x1001694c
movzx eax, word [ebp - 0x24]
cdq
mov dword [ebp - 0x5ec], eax
mov dword [ebp - 0x5e8], edx
mov edx, dword [ebp - 0x5ec]
mov dword [ebp - 0x50], edx
movzx eax, byte [ebp - 1]
add eax, 0xbb
mov dword [0x1009b14c], eax
mov dword [0x1009b190], 2
mov cx, word [ebp - 0x14]
mov edx, 1
imul eax, edx, 3
mov byte [eax + 0x10153ce0], cl
jmp 0x10016b2b
movzx ecx, word [ebp - 0x28]
test ecx, ecx
jne 0x10016a6f
mov edx, dword [ebp - 0x4c]
sub edx, 0x704ac887
mov eax, dword [ebp - 0x48]
sbb eax, 0
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
mov ecx, dword [0x1009b18c]
sub ecx, 0x4342adae
mov word [ebp - 0x14], cx
mov ecx, dword [ebp - 0x40]
sub ecx, 0x7b67ec92
mov eax, dword [ebp - 0x44]
cdq
sub eax, ecx
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0xa14], edx
mov dword [ebp - 0xa10], eax
mov ecx, dword [ebp - 0xa14]
or ecx, dword [ebp - 0xa10]
jne 0x100169fb
xor edx, edx
mov dword [ebp - 0x5f4], 1
mov dword [ebp - 0x5f0], edx
jmp 0x10016a06
xorps xmm0, xmm0
movlpd qword [ebp - 0x5f4], xmm0
mov esi, dword [ebp - 0x40]
add esi, 0xb317342d
mov edi, dword [ebp - 0x3c]
adc edi, 0
mov eax, dword [0x1009b144]
sub eax, 0x75ee
xor ecx, ecx
xor esi, eax
xor edi, ecx
mov ebx, dword [ebp - 0x5f4]
or ebx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x5f0]
or eax, dword [ebp - 0x2c]
not ebx
not eax
mov dword [ebp - 0x6bc], eax
mov eax, dword [ebp - 0x58]
cdq
push 0x70cc6
push 0x3b229a32
push edx
push eax
call fcn.1006c090
add ebx, eax
mov eax, dword [ebp - 0x6bc]
adc eax, edx
sub esi, ebx
sbb edi, eax
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x6c], edi
jmp 0x10016b2b
cmp dword [0x1009b14c], 0xea8d
jge 0x10016a8f
xor edx, edx
mov dword [ebp - 0x5fc], 1
mov dword [ebp - 0x5f8], edx
jmp 0x10016a9a
xorps xmm0, xmm0
movlpd qword [ebp - 0x5fc], xmm0
movzx eax, word [0x1009b158]
not eax
cdq
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov dword [ebp - 0xa1c], eax
mov dword [ebp - 0xa18], edx
mov edx, dword [ebp - 0x5f8]
cmp edx, dword [ebp - 0xa18]
jg 0x10016b2b
jl 0x10016ae3
mov eax, dword [ebp - 0x5fc]
cmp eax, dword [ebp - 0xa1c]
ja 0x10016b2b
mov ecx, dword [ebp - 0x58]
add ecx, 1
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xe24], eax
mov ecx, 2
shl ecx, 2
mov word [ecx + 0x1009bc80], dx
mov edx, 0x98
mov word [ebp - 0x28], dx
movzx eax, byte [0x1009b033]
xor eax, 0x74
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov eax, dword [0x1009bc7c]
mov dword [0x1009b14c], eax
jmp 0x10016ccb
movsx ecx, byte [0x1009b0bb]
movzx edx, word [ebp - 0x24]
cmp ecx, edx
jg 0x10016c45
movzx eax, byte [0x1009b0a6]
sub eax, 0xdc
mov dword [ebp - 0x44], eax
movzx eax, byte [0x1009b0ef]
cdq
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0xe28], edx
sub eax, ecx
mov byte [0x1009b0ef], al
mov eax, dword [0x1009b148]
not eax
xor ecx, ecx
mov dword [0x1009b150], eax
mov dword [0x1009b154], ecx
cmp dword [0x1009b1a0], 0
jne 0x10016b96
mov dword [ebp - 0x2fc], 1
jmp 0x10016ba0
mov dword [ebp - 0x2fc], 0
movsx eax, byte [0x1009b0ba]
movzx edx, byte [0x1009b033]
sub eax, edx
cdq
mov ecx, 0x42a8e83
sub ecx, eax
mov esi, 0x1841f
sbb esi, edx
not ecx
not esi
movzx eax, word [0x1009b158]
cdq
mov edi, eax
mov ebx, edx
add edi, dword [0x1009b178]
adc ebx, dword [0x1009b17c]
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x2fc]
cdq
or edi, eax
or ebx, edx
add ecx, edi
adc esi, ebx
mov dword [ebp - 0xa24], ecx
mov dword [ebp - 0xa20], esi
mov edx, dword [ebp - 0xa24]
or edx, dword [ebp - 0xa20]
jne 0x10016c0d
mov byte [ebp - 0x79], 1
jmp 0x10016c11
mov byte [ebp - 0x79], 0
mov al, byte [ebp - 0x79]
mov byte [0x1009b0ba], al
movzx ecx, byte [0x1009b033]
sar ecx, 7
mov word [ebp - 0x1c], cx
mov edx, dword [0x1009b148]
sub edx, 0xbd
imul edx, dword [0x1009b1a0]
mov dword [0x1009b1a0], edx
jmp 0x10016ccb
cmp dword [0x1009b140], 0
jne 0x10016ccb
mov ax, word [ebp - 0x20]
add ax, 1
mov word [ebp - 0x20], ax
mov ecx, 1
imul edx, ecx, 0x7c
mov al, byte [edx + 0x10153ce0]
mov byte [0x1009b0ee], al
mov ecx, dword [0x1009b144]
sub ecx, 0x3e785c64
xor edx, edx
mov dword [0x1009b178], ecx
mov dword [0x1009b17c], edx
movzx eax, word [ebp - 0x14]
add eax, 0x3f89ddf8
mov byte [0x1009b07e], al
movzx ecx, word [ebp - 8]
imul eax, ecx, 0xb0
movzx edx, word [ebp - 0x18]
add edx, dword [ebp - 0x44]
imul eax, edx
cdq
mov ecx, eax
mov esi, dword [0x1009b1b0]
add esi, 0xb42bb939
not esi
movzx eax, word [ebp - 0x24]
cdq
add esi, eax
sub ecx, esi
not ecx
mov dword [0x1009b190], ecx
jmp 0x10016d46
xor ecx, ecx
mov dword [0x1009b198], 0x8349
mov dword [0x1009b19c], ecx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x64]
sub edx, dword [ebp - 0x68]
sbb eax, ecx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
movzx edx, word [0x1009b158]
movzx eax, word [0x1009b184]
sub edx, eax
movsx ecx, word [0x1009b180]
sub edx, ecx
mov word [0x1009b158], dx
movsx edx, word [ebp - 0xc]
sub edx, dword [0x1009b170]
movsx eax, word [ebp - 0xc]
imul eax, edx
mov word [ebp - 0xc], ax
mov cx, word [ebp - 0x14]
add cx, 1
mov word [ebp - 0x14], cx
movzx edx, word [ebp - 0x20]
sar edx, 7
mov word [ebp - 8], dx
xor eax, eax
mov byte [ebp - 0x86], al
lea ecx, [ebp - 0x86]
call fcn.100019e0
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xc8]
movzx edx, byte [ecx + 0xd]
test edx, edx
je 0x10016e03
push 0x1010101
push 0x1bcdafff
push 0
push 0xd
mov eax, dword [ebp - 0xc8]
push eax
call fcn.1003f720
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0xd], 0
mov edx, dword [ebp - 0xc8]
push edx
push 0
push 0
call fcn.10001380
call eax
xor eax, eax
mov dword [ebp - 0x4c], 2
mov dword [ebp - 0x48], eax
xor ecx, ecx
mov edx, dword [0x1009b138]
sub edx, dword [0x1009b144]
mov eax, dword [0x1009b13c]
sbb eax, ecx
push eax
push edx
mov ecx, dword [0x1009b13c]
push ecx
mov edx, dword [0x1009b138]
push edx
call fcn.1006c090
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
movzx eax, byte [ebp - 1]
movsx ecx, byte [0x1009b0ba]
add eax, ecx
mov byte [ebp - 1], al
mov edx, dword [0x1009b1b0]
sub edx, 0x74
xor eax, eax
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x164], ecx
mov dword [ebp - 0x160], edx
mov eax, dword [ebp - 0x164]
or eax, dword [ebp - 0x160]
je 0x10016ec8
cmp dword [ebp - 0x164], 1
jne 0x10016ead
cmp dword [ebp - 0x160], 0
je 0x10016f4a
cmp dword [ebp - 0x164], 2
jne 0x10016ec3
cmp dword [ebp - 0x160], 0
je 0x10016f91
jmp 0x10017087
mov ecx, dword [0x1009b1b0]
not ecx
movzx edx, word [ebp - 0x20]
add ecx, edx
not ecx
mov dword [ebp - 0x50], ecx
movzx eax, byte [ebp - 1]
imul eax, dword [0x1009b148]
mov byte [ebp - 1], al
imul ecx, dword [ebp - 0x54], 0x1e8
movzx edx, word [0x1009b158]
sub edx, ecx
mov word [0x1009b158], dx
movzx eax, word [ebp - 0x24]
sub eax, 0xef61
mov dword [0x1009b170], eax
movzx eax, word [ebp - 0x18]
cdq
mov ecx, dword [0x1009b13c]
push ecx
mov ecx, dword [0x1009b138]
push ecx
push edx
push eax
call fcn.1006c090
mov word [ebp - 0x18], ax
movzx edx, byte [0x1009b07e]
imul eax, edx, 0x5452
cdq
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
jmp 0x10017087
movzx eax, byte [0x1009b0ee]
cdq
add eax, dword [ebp - 0x70]
adc edx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x70]
sub ecx, eax
mov eax, dword [ebp - 0x6c]
sbb eax, edx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], eax
movzx ecx, byte [0x1009b07f]
movzx edx, word [ebp - 0x18]
add ecx, edx
mov byte [0x1009b07f], cl
xor eax, eax
mov dword [0x1009b150], 0xe7fa
mov dword [0x1009b154], eax
jmp 0x10017087
movzx eax, word [ebp - 0x24]
movzx ecx, word [ebp - 0x10]
sub eax, ecx
not eax
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov edx, dword [0x1009bc7c]
mov dword [0x1009b144], edx
movzx eax, byte [ebp - 2]
sub eax, 0x17c3
mov dword [ebp - 0x58], eax
movzx ecx, word [ebp - 0x18]
test ecx, ecx
jne 0x10016fd8
xor edx, edx
mov dword [ebp - 0x60c], 1
mov dword [ebp - 0x608], edx
jmp 0x10016fe3
xorps xmm0, xmm0
movlpd qword [ebp - 0x60c], xmm0
mov eax, dword [0x1009b1a8]
mov ecx, dword [0x1009b1ac]
mov edx, dword [ebp - 0x608]
push edx
mov edx, dword [ebp - 0x60c]
push edx
push ecx
push eax
call fcn.1006c090
push 0
push 0
push edx
push eax
call fcn.1006c090
not eax
not edx
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
cmp dword [0x1009b190], 0
je 0x1001703a
mov eax, dword [0x1009b130]
mov ecx, dword [0x1009b134]
mov dword [ebp - 0x484], eax
mov dword [ebp - 0x480], ecx
jmp 0x1001704e
movzx eax, word [0x1009b184]
cdq
mov dword [ebp - 0x484], eax
mov dword [ebp - 0x480], edx
mov edx, dword [ebp - 0x484]
mov eax, dword [ebp - 0x480]
mov dword [0x1009b138], edx
mov dword [0x1009b13c], eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
add ecx, dword [0x1009b138]
adc edx, dword [0x1009b13c]
mov eax, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
add eax, ecx
adc esi, edx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], esi
xor ecx, ecx
mov byte [ebp - 0x8c], cl
lea ecx, [ebp - 0x8c]
call fcn.10001ad0
mov dword [ebp - 0xcc], eax
mov edx, dword [ebp - 0xcc]
movzx eax, byte [edx + 0xc]
test eax, eax
je 0x100170d2
push 0x1010101
push 0x1d5d9d2b
push 0
push 0xc
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.1003f720
mov edx, dword [ebp - 0xcc]
mov byte [edx + 0xc], 0
mov eax, dword [ebp - 0xcc]
push eax
push 0
push 0
call fcn.100015f0
call eax
mov dword [ebp - 0x6c0], eax
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x30]
jne 0x100170fa
mov edx, dword [ebp - 0x48]
cmp edx, dword [ebp - 0x2c]
je 0x10017106
mov dword [ebp - 0x300], 1
jmp 0x10017110
mov dword [ebp - 0x300], 0
cmp dword [ebp - 0x4c], 0x27
jne 0x1001711c
cmp dword [ebp - 0x48], 0
je 0x10017128
mov dword [ebp - 0x304], 1
jmp 0x10017132
mov dword [ebp - 0x304], 0
mov eax, dword [ebp - 0x300]
cmp eax, dword [ebp - 0x304]
jg 0x10017417
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
mov dword [0x1009b18c], eax
movsx ecx, byte [0x1009b0bb]
test ecx, ecx
je 0x10017171
movzx edx, word [0x1009b184]
test edx, edx
je 0x10017171
mov dword [ebp - 0x308], 0
jmp 0x1001717b
mov dword [ebp - 0x308], 1
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov edx, dword [0x1009b144]
xor esi, esi
mov dword [ebp - 0xa34], eax
mov dword [ebp - 0xa30], ecx
mov dword [ebp - 0xa3c], edx
mov dword [ebp - 0xa38], esi
mov eax, dword [ebp - 0xa34]
cmp eax, dword [ebp - 0xa3c]
jne 0x100171c9
mov ecx, dword [ebp - 0xa30]
cmp ecx, dword [ebp - 0xa38]
jne 0x100171c9
mov dword [ebp - 0x30c], 1
jmp 0x100171d3
mov dword [ebp - 0x30c], 0
mov edx, dword [ebp - 0x308]
cmp edx, dword [ebp - 0x30c]
jg 0x10017285
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
add eax, 1
adc ecx, 0
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
and edx, 0x1f9
and eax, 0
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
mov ecx, dword [0x1009b138]
or ecx, dword [0x1009b13c]
je 0x10017226
movzx edx, byte [ebp - 1]
mov dword [ebp - 0x310], edx
jmp 0x10017230
movzx eax, word [ebp - 8]
mov dword [ebp - 0x310], eax
mov ecx, dword [ebp - 0x310]
mov dword [0x1009b190], ecx
cmp dword [0x1009b18c], 0
jne 0x10017251
mov dword [ebp - 0x314], 1
jmp 0x1001725b
mov dword [ebp - 0x314], 0
movzx eax, byte [ebp - 2]
cdq
mov ecx, eax
sub ecx, dword [0x1009b160]
movzx edx, word [ebp - 8]
not edx
mov eax, dword [ebp - 0x314]
sub eax, edx
cdq
add ecx, eax
mov word [0x1009b158], cx
jmp 0x10017412
cmp dword [ebp - 0x50], 0
je 0x10017394
movzx eax, word [ebp - 0x10]
cdq
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
movzx eax, byte [0x1009b0a6]
sub eax, 0x26da
mov word [ebp - 0x20], ax
movzx ecx, word [ebp - 0x18]
add ecx, 0x3338
mov word [ebp - 0xc], cx
movzx eax, word [ebp - 0x24]
cdq
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x74]
sub esi, eax
sbb edi, edx
push 0
push 0xff
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp - 0x30]
push eax
call fcn.1006c090
sub esi, eax
sbb edi, edx
mov dword [ebp - 0xa44], esi
mov dword [ebp - 0xa40], edi
mov ecx, dword [ebp - 0xa44]
or ecx, dword [ebp - 0xa40]
jne 0x1001730c
mov edx, 1
mov word [ebp - 0x9e], dx
jmp 0x10017315
xor eax, eax
mov word [ebp - 0x9e], ax
mov cx, word [ebp - 0x9e]
mov word [ebp - 0x18], cx
movzx edx, word [ebp - 0x14]
test edx, edx
jne 0x10017334
mov dword [ebp - 0x318], 1
jmp 0x1001733e
mov dword [ebp - 0x318], 0
mov eax, dword [ebp - 0x318]
cdq
mov ecx, dword [0x1009b168]
mov edx, dword [0x1009b16c]
mov dword [ebp - 0xe2c], edx
not ecx
mov edx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
mov dword [ebp - 0xe30], esi
xor ecx, edx
not ecx
add eax, ecx
mov byte [0x1009b0ef], al
xor eax, eax
mov ecx, dword [ebp - 0x4c]
sub ecx, dword [0x1009b18c]
mov edx, dword [ebp - 0x48]
sbb edx, eax
and ecx, dword [ebp - 0x4c]
and edx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
jmp 0x10017412
movzx eax, word [ebp - 8]
not eax
test eax, eax
jne 0x100173a9
movsx ecx, byte [0x1009b0bb]
test ecx, ecx
je 0x10017412
mov edx, dword [0x1009b138]
or edx, dword [0x1009b13c]
jne 0x100173c3
mov dword [ebp - 0x31c], 1
jmp 0x100173cd
mov dword [ebp - 0x31c], 0
movzx eax, word [ebp - 0x20]
movzx ecx, byte [0x1009b0ee]
not ecx
sub eax, ecx
xor eax, dword [ebp - 0x31c]
mov dword [0x1009b18c], eax
mov edx, dword [ebp - 0x70]
xor edx, 0xad998b60
mov eax, dword [ebp - 0x6c]
xor eax, 0
mov dword [0x1009b138], edx
mov dword [0x1009b13c], eax
mov dword [0x1009b1a0], 4
mov dword [ebp - 0x44], 2
jmp 0x100174ce
cmp dword [ebp - 0x50], 0
jne 0x10017460
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov edx, dword [ebp - 0x2c]
adc edx, 0
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edx
mov eax, 2
imul ecx, eax, 0x3ca
movzx eax, word [ecx + 0x100fded8]
cdq
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
add ecx, eax
adc esi, edx
mov dword [0x1009b168], ecx
mov dword [0x1009b16c], esi
jmp 0x100174ce
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xa4c], edx
mov dword [ebp - 0xa48], eax
mov ecx, dword [ebp - 0xa4c]
or ecx, dword [ebp - 0xa48]
je 0x100174ce
movzx edx, byte [0x1009b07e]
imul eax, edx, 0x1ac3afa3
mov dword [0x1009b148], eax
mov ecx, dword [0x1009b168]
mov edx, dword [0x1009b16c]
add ecx, 0x80
adc edx, 0
mov dword [0x1009b160], ecx
mov dword [0x1009b164], edx
movsx eax, word [ebp - 0xc]
cdq
sub eax, 0xf530d301
sbb edx, 0xdb817
mov dword [0x1009b130], eax
mov dword [0x1009b134], edx
cmp dword [ebp - 0x6c0], 0
jne 0x10017dde
xor eax, eax
mov dword [ebp - 0x78], 0x4b26fdda
mov dword [ebp - 0x74], eax
mov eax, dword [0x1009b138]
mov edx, dword [0x1009b13c]
mov cl, 3
call fcn.1006c0d0
mov dword [0x1009b1b0], eax
mov eax, dword [0x1009b14c]
cdq
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
and ecx, eax
and esi, edx
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
add edx, ecx
adc eax, esi
mov dword [0x1009b168], edx
mov dword [0x1009b16c], eax
movzx eax, byte [0x1009b0a6]
cdq
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov byte [0x1009b0a6], al
movzx edx, word [ebp - 0x20]
mov eax, dword [0x1009b148]
or eax, edx
imul eax, dword [0x1009b144]
test eax, eax
jne 0x10017572
mov dword [ebp - 0x320], 1
jmp 0x1001757c
mov dword [ebp - 0x320], 0
mov ecx, dword [ebp - 0x320]
mov dword [ebp - 0x54], ecx
mov dword [0x1009b188], 0x88c1ef03
movzx edx, byte [0x1009b07e]
push edx
call dword [sym.imp.USER32.dll_IsZoomed]
xor ecx, ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
movzx edx, word [ebp - 0x14]
add edx, 1
cmp dword [0x1009b188], edx
jne 0x10017d19
mov eax, dword [0x1009bc7c]
xor ecx, ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], ecx
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
not edx
not eax
add edx, dword [0x1009b160]
adc eax, dword [0x1009b164]
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
add ecx, dword [ebp - 0x70]
adc esi, dword [ebp - 0x6c]
add edx, ecx
adc eax, esi
movzx ecx, byte [ebp - 1]
mov esi, dword [0x1009b144]
or esi, ecx
movzx ecx, word [0x1009b184]
mov edi, dword [ebp - 0x50]
add edi, ecx
sub esi, edi
xor ecx, ecx
push ecx
push esi
push eax
push edx
call fcn.1006c090
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
movzx eax, byte [0x1009b0ef]
sub eax, 0xd393
cdq
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
movzx edx, byte [0x1009b0a6]
test edx, edx
jne 0x10017653
xor eax, eax
mov dword [ebp - 0x614], 1
mov dword [ebp - 0x610], eax
jmp 0x1001765e
xorps xmm0, xmm0
movlpd qword [ebp - 0x614], xmm0
mov ecx, dword [ebp - 0x4c]
add ecx, dword [ebp - 0x614]
mov edx, dword [ebp - 0x48]
adc edx, dword [ebp - 0x610]
mov dword [0x1009b1a8], ecx
mov dword [0x1009b1ac], edx
movsx eax, byte [0x1009b0ba]
cdq
push 0xbfbae
push 0x55360581
push edx
push eax
call fcn.1006c090
mov word [ebp - 0x28], ax
mov dword [ebp - 0x13c], 0
jmp 0x100176b4
mov eax, dword [ebp - 0x13c]
add eax, 1
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x13c], 0x13f
jge 0x10017bc0
movzx ecx, word [ebp - 0x20]
cmp dword [0x1009b170], ecx
je 0x10017b6a
movsx edx, word [ebp - 0xc]
cmp dword [ebp - 0x54], edx
jl 0x100176e9
mov dword [ebp - 0x324], 1
jmp 0x100176f3
mov dword [ebp - 0x324], 0
cmp dword [ebp - 0x54], 0x40
jl 0x10017705
mov dword [ebp - 0x328], 1
jmp 0x1001770f
mov dword [ebp - 0x328], 0
mov eax, dword [ebp - 0x324]
cmp eax, dword [ebp - 0x328]
jl 0x10017b2c
mov byte [0x1009b0bb], 4
movzx eax, word [ebp - 0x18]
cdq
push 0x71cda
push 0x309675d5
push edx
push eax
call fcn.1006c090
mov word [ebp - 0xc], ax
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
not ecx
not esi
movzx eax, word [ebp - 0x24]
not eax
cdq
add ecx, eax
adc esi, edx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], esi
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0xe34], eax
sub edx, 0xc
mov dword [ebp - 0x50], edx
movsx eax, word [ebp - 0x1c]
cdq
add eax, 0x3f333c0a
adc edx, 0x972d1
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movsx ecx, byte [0x1009b0bb]
mov dword [ebp - 0x32c], ecx
cmp dword [ebp - 0x32c], 4
ja case.default.0x100177ab
mov edx, dword [ebp - 0x32c]
jmp dword [edx*4 + 0x1001c2d4]
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0xe38], edx
movzx eax, word [ebp - 0x14]
cdq
sub ecx, eax
mov dword [0x1009b1a0], ecx
mov eax, 8
shl eax, 3
mov ecx, dword [0x1009b168]
mov edx, dword [0x1009b16c]
sub ecx, dword [eax + 0x101c0bc0]
sbb edx, dword [eax + 0x101c0bc4]
mov dword [0x1009b168], ecx
mov dword [0x1009b16c], edx
movzx eax, word [ebp - 8]
test eax, eax
jne 0x1001780b
mov dword [ebp - 0x330], 1
jmp 0x10017815
mov dword [ebp - 0x330], 0
movzx ecx, word [ebp - 0x20]
sub ecx, dword [ebp - 0x44]
movzx edx, byte [0x1009b0ef]
add edx, dword [0x1009b18c]
imul ecx, edx
xor esi, esi
mov edi, dword [ebp - 0x40]
not edi
mov ebx, dword [ebp - 0x3c]
not ebx
movsx eax, word [ebp - 0xc]
add eax, dword [ebp - 0x330]
cdq
and edi, eax
and ebx, edx
add ecx, edi
adc esi, ebx
not ecx
not esi
mov dword [0x1009b168], ecx
mov dword [0x1009b16c], esi
mov eax, 4
imul ecx, eax, 0x5aff
mov dx, word [ecx + 0x1018a070]
mov word [ebp - 0xc], dx
jmp case.default.0x100177ab
mov eax, dword [0x1009b168]
mov ecx, dword [0x1009b16c]
mov dword [ebp - 0xe3c], ecx
add eax, 0x8b20
mov dword [0x1009b1b0], eax
mov dx, word [ebp - 0x44]
mov word [ebp - 0x24], dx
movzx eax, word [ebp - 0x14]
test eax, eax
je 0x100178bb
mov ecx, dword [0x1009b160]
mov edx, dword [0x1009b164]
mov dword [ebp - 0x61c], ecx
mov dword [ebp - 0x618], edx
jmp 0x100178ce
mov eax, dword [0x1009b1a0]
xor ecx, ecx
mov dword [ebp - 0x61c], eax
mov dword [ebp - 0x618], ecx
mov edx, dword [ebp - 0x61c]
mov dword [0x1009b188], edx
movzx ax, byte [0x1009b033]
mov word [ebp - 0xc], ax
movsx eax, word [ebp - 0xc]
movzx ecx, word [0x1009b184]
sub eax, ecx
not eax
cdq
mov dword [0x1009b150], eax
mov dword [0x1009b154], edx
movzx eax, word [ebp - 0x28]
cdq
add eax, dword [0x1009b138]
adc edx, dword [0x1009b13c]
mov dword [ebp - 0xa54], eax
mov dword [ebp - 0xa50], edx
mov edx, dword [ebp - 0xa54]
or edx, dword [ebp - 0xa50]
jne 0x10017938
mov dword [ebp - 0x334], 1
jmp 0x10017942
mov dword [ebp - 0x334], 0
imul eax, dword [0x1009b190], 0x1a4fe0a7
sub eax, dword [ebp - 0x334]
mov dword [0x1009b190], eax
jmp case.default.0x100177ab
cmp dword [0x1009b1b0], 0
je 0x10017973
mov ecx, dword [0x1009b18c]
mov dword [ebp - 0x338], ecx
jmp 0x1001797c
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x338], edx
mov eax, dword [ebp - 0x338]
xor ecx, ecx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xe40], eax
sub edx, 0x28efb34a
mov byte [ebp - 2], dl
movzx ecx, word [ebp - 0x28]
sub ecx, dword [0x1009b18c]
mov word [ebp - 0x28], cx
mov edx, 8
mov word [ebp - 0x10], dx
xor eax, eax
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
add ecx, dword [0x1009b170]
adc edx, eax
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], edx
jmp case.default.0x100177ab
movsx eax, byte [0x1009b0ba]
xor eax, 0xda
mov word [ebp - 0x20], ax
movsx ecx, word [0x1009b180]
test ecx, ecx
je 0x100179fa
mov edx, dword [0x1009b1b0]
mov dword [ebp - 0x33c], edx
jmp 0x10017a03
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x33c], eax
mov ecx, dword [ebp - 0x33c]
xor edx, edx
mov dword [0x1009b160], ecx
mov dword [0x1009b164], edx
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xe44], ecx
add eax, 0x6ff876c6
mov dword [0x1009b1b0], eax
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
mov dword [ebp - 0xa5c], edx
mov dword [ebp - 0xa58], eax
mov ecx, dword [ebp - 0xa5c]
or ecx, dword [ebp - 0xa58]
je 0x10017a5e
movsx edx, word [ebp - 0xc]
mov dword [ebp - 0x340], edx
jmp 0x10017a68
movzx eax, word [ebp - 8]
mov dword [ebp - 0x340], eax
mov eax, dword [ebp - 0x340]
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov cl, byte [0x1009bc7c]
mov byte [0x1009b033], cl
movzx edx, word [ebp - 0x20]
mov eax, dword [ebp - 0x50]
xor eax, edx
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov dword [ebp - 0x50], ecx
jmp case.default.0x100177ab
movzx eax, byte [ebp - 1]
add eax, 0xb158
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movzx edx, word [ebp - 0x28]
test edx, edx
jne 0x10017abd
mov eax, 1
mov word [ebp - 0xa0], ax
jmp 0x10017ac6
xor ecx, ecx
mov word [ebp - 0xa0], cx
mov dx, word [ebp - 0xa0]
mov word [ebp - 0x10], dx
movzx eax, byte [0x1009b0ef]
add eax, dword [0x1009b18c]
mov byte [0x1009b0ef], al
mov ecx, dword [ebp - 0x4c]
sub ecx, dword [0x1009b178]
mov edx, dword [ebp - 0x48]
sbb edx, dword [0x1009b17c]
mov eax, dword [ebp - 0x4c]
sub eax, ecx
mov ecx, dword [ebp - 0x48]
sbb ecx, edx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
movsx eax, word [ebp - 0xc]
cdq
xor eax, 0x4ae7b0a3
xor edx, 0xd9af5
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movzx edx, word [ebp - 0x14]
imul edx, dword [0x1009b170]
mov word [ebp - 0x14], dx
jmp 0x10017b68
movsx eax, word [ebp - 0x1c]
test eax, eax
je 0x10017b68
mov ecx, 0xada5
mov word [ebp - 0x24], cx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
push 0
push 0x69ee2474
push eax
push edx
call fcn.1006c090
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
xor ecx, ecx
mov dword [ebp - 0x68], 0x6abbb296
mov dword [ebp - 0x64], ecx
jmp 0x10017bac
movzx edx, byte [ebp - 1]
add edx, dword [0x1009b170]
add edx, dword [0x1009b170]
mov dword [0x1009b170], edx
mov eax, dword [ebp - 0x4c]
sub eax, 0xc7aa
mov ecx, dword [ebp - 0x48]
sbb ecx, 0
mov dword [0x1009b198], eax
mov dword [0x1009b19c], ecx
movzx edx, word [0x1009b184]
mov eax, dword [0x1009b170]
sub eax, edx
mov dword [0x1009b14c], eax
mov ecx, dword [0x1009b148]
add ecx, 1
mov dword [0x1009b148], ecx
jmp 0x100176a5
cmp dword [0x1009b148], 1
jne 0x10017d19
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xa64], edx
mov dword [ebp - 0xa60], eax
mov ecx, dword [ebp - 0xa64]
or ecx, dword [ebp - 0xa60]
jne 0x10017bf9
mov dword [ebp - 0x344], 1
jmp 0x10017c03
mov dword [ebp - 0x344], 0
movsx edx, byte [0x1009b0ba]
cmp dword [ebp - 0x344], edx
je 0x10017c1e
mov dword [ebp - 0x34c], 1
jmp 0x10017c28
mov dword [ebp - 0x34c], 0
movzx eax, word [ebp - 0x28]
test eax, eax
jne 0x10017c45
cmp dword [0x1009b18c], 0
jne 0x10017c45
mov dword [ebp - 0x348], 0
jmp 0x10017c4f
mov dword [ebp - 0x348], 1
movsx ecx, word [0x1009b180]
imul ecx, dword [0x1009b18c]
mov edx, dword [ebp - 0x348]
sub edx, ecx
cmp dword [ebp - 0x34c], edx
je 0x10017ca5
mov eax, dword [ebp - 0x58]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0xe48], eax
sub ecx, edx
mov eax, dword [ebp - 0x58]
cdq
add eax, ecx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x50], 0xeeda8eca
mov ecx, 4
imul edx, ecx, 0xdbc
mov eax, dword [edx + 0x1014e400]
mov dword [ebp - 0x44], eax
jmp 0x10017d19
mov dword [0x1009b188], 0x88c1ef03
push 0x2bf15
push 0x94d3dbf
mov eax, dword [ebp - 0x6c]
push eax
mov ecx, dword [ebp - 0x70]
push ecx
call fcn.1006c090
mov dword [ebp - 0x44], eax
movzx eax, word [0x1009b184]
cdq
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
add ecx, eax
adc esi, edx
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
sub edx, ecx
sbb eax, esi
mov dword [0x1009b168], edx
mov dword [0x1009b16c], eax
mov ecx, dword [0x1009b1b0]
add ecx, 0x8a98
mov dword [0x1009b188], ecx
xor edx, edx
mov byte [ebp - 0x84], dl
lea ecx, [ebp - 0x84]
call fcn.10001d50
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xd0]
movzx ecx, byte [eax + 0xc]
test ecx, ecx
je 0x10017dcc
push 0x1010101
push 0x1bf79da9
push 0
push 0xc
mov edx, dword [ebp - 0xd0]
push edx
call fcn.1003f720
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0xc], 0
mov ecx, dword [ebp - 0xd0]
push ecx
push 0
push 0
call fcn.10001380
call eax
mov edx, dword [0x1009b148]
imul edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
not eax
xor edx, eax
mov byte [0x1009b07e], dl
movzx ecx, byte [0x1009b033]
add ecx, 0xb10c
mov dword [ebp - 0x50], ecx
movzx eax, byte [0x1009b0ee]
cdq
mov ecx, eax
sub ecx, 0x65c51ead
movzx eax, word [ebp - 0x20]
cdq
add eax, ecx
mov word [ebp - 0x20], ax
mov edx, 8
shl edx, 3
mov al, byte [edx + 0x101c0bc0]
mov byte [0x1009b0ba], al
mov ecx, dword [0x1009b170]
add ecx, 0x1665
mov dword [0x1009b14c], ecx
movzx edx, byte [0x1009b0ef]
movzx eax, word [ebp - 8]
add edx, eax
movzx ecx, byte [0x1009b0ef]
sub ecx, edx
mov byte [0x1009b0ef], cl
xor edx, edx
mov byte [ebp - 0x83], dl
lea ecx, [ebp - 0x83]
call fcn.10001f60
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd4]
movzx ecx, byte [eax + 8]
test ecx, ecx
je 0x10017eac
push 0x1010101
push 0x1d474fa7
push 0
push 8
mov edx, dword [ebp - 0xd4]
push edx
call fcn.1003f720
mov eax, dword [ebp - 0xd4]
mov byte [eax + 8], 0
mov ecx, dword [ebp - 0xd4]
push ecx
push 0
push 0
call fcn.100015f0
call eax
mov dword [ebp - 0x6d4], eax
mov dword [0x1009b14c], 0xe95ba1aa
mov eax, dword [ebp - 0x44]
add eax, 0x796a
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov eax, dword [0x1009b188]
cdq
push edx
push eax
mov edx, dword [ebp - 0x48]
push edx
mov eax, dword [ebp - 0x4c]
push eax
call fcn.1006c090
add eax, dword [ebp - 0x4c]
adc edx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movzx ecx, word [ebp - 0x18]
mov edx, dword [0x1009b148]
imul edx, ecx
mov dword [0x1009b148], edx
mov eax, dword [0x1009b1a0]
sub eax, 0x19854ccb
jne 0x10017f31
xor ecx, ecx
mov dword [ebp - 0xa6c], 1
mov dword [ebp - 0xa68], ecx
jmp 0x10017f3c
xorps xmm0, xmm0
movlpd qword [ebp - 0xa6c], xmm0
mov eax, dword [0x1009b140]
not eax
cdq
mov edx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0xe50], ecx
sub eax, edx
add eax, dword [ebp - 0xa6c]
movsx edx, word [ebp - 0x1c]
mov ecx, dword [0x1009b14c]
imul ecx, edx
sub ecx, 0x617ad70d
add eax, ecx
mov byte [0x1009b0ba], al
mov eax, dword [0x1009b14c]
cdq
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov esi, dword [ebp - 0x2c]
adc esi, 0
mov dword [ebp - 0xa74], eax
mov dword [ebp - 0xa70], edx
mov dword [ebp - 0xa7c], ecx
mov dword [ebp - 0xa78], esi
mov edx, dword [ebp - 0xa74]
cmp edx, dword [ebp - 0xa7c]
jne 0x1001820e
mov eax, dword [ebp - 0xa70]
cmp eax, dword [ebp - 0xa78]
jne 0x1001820e
movzx eax, byte [0x1009b07e]
cdq
push 0xae7d9
push 0x8b09ced2
push edx
push eax
call fcn.1006c090
xor eax, 0x1d
xor edx, 0
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
movzx ecx, word [ebp - 0x24]
sub ecx, 0x53
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0xa84], edx
mov dword [ebp - 0xa80], eax
mov ecx, dword [ebp - 0xa84]
or ecx, dword [ebp - 0xa80]
je 0x10018021
mov eax, dword [ebp - 0x44]
cdq
mov dword [ebp - 0x47c], eax
mov dword [ebp - 0x478], edx
jmp 0x10018033
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x47c], edx
mov dword [ebp - 0x478], eax
mov ecx, dword [ebp - 0x47c]
mov edx, dword [ebp - 0x478]
mov dword [0x1009b178], ecx
mov dword [0x1009b17c], edx
movsx eax, word [0x1009b180]
cdq
sub eax, 0x3d4629e9
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x140], 3
movzx eax, byte [0x1009b033]
imul eax, eax, 0x3ea470c3
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov cx, word [ebp - 0x14]
mov byte [0x1009b07e], cl
movzx edx, word [ebp - 8]
mov eax, dword [0x1009b190]
imul eax, edx
mov dword [0x1009b190], eax
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, eax
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
mov dword [ebp - 0xe54], eax
add ecx, edx
movsx eax, word [ebp - 0x1c]
cdq
sub eax, ecx
mov word [ebp - 0x1c], ax
mov ecx, 8
shl ecx, 2
movsx eax, word [0x1009b180]
cdq
mov esi, dword [ecx + 0x1009bd4c]
push esi
mov ecx, dword [ecx + 0x1009bd48]
push ecx
push edx
push eax
call fcn.1006c090
mov word [0x1009b180], ax
mov edx, dword [0x1009b18c]
xor eax, eax
mov ecx, dword [0x1009b13c]
push ecx
mov ecx, dword [0x1009b138]
push ecx
push eax
push edx
call fcn.1006c090
mov ecx, eax
movzx eax, word [ebp - 0x10]
cdq
mov edx, dword [0x1009b150]
mov esi, dword [0x1009b154]
mov dword [ebp - 0xe58], esi
add eax, edx
sub ecx, eax
mov byte [ebp - 1], cl
movzx eax, word [0x1009b158]
cdq
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], esi
cmp dword [ebp - 0x58], 0
je 0x1001814b
movzx edx, word [ebp - 0x24]
mov dword [ebp - 0x350], edx
jmp 0x10018155
movsx eax, word [ebp - 0x1c]
mov dword [ebp - 0x350], eax
mov eax, dword [ebp - 0x350]
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0x140]
add ecx, 1
mov dword [ebp - 0x140], ecx
cmp dword [ebp - 0x140], 0x159
jl 0x10018094
cmp dword [0x1009b14c], 1
jne 0x1001820e
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xe5c], eax
add edx, 0x507f417a
mov dword [ebp - 0x50], edx
xor ecx, ecx
mov dword [0x1009b178], 0x4d29eb97
mov dword [0x1009b17c], ecx
mov edx, dword [0x1009b148]
mov dword [ebp - 0x50], edx
jmp 0x1001820e
mov dword [0x1009b14c], 0xe95ba1aa
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0xe60], ecx
mov edx, 4
imul ecx, edx, 0x6896
mov dword [ecx + 0x102b4bf0], eax
movzx edx, word [ebp - 0x10]
sub edx, 0x5f5fb545
xor eax, eax
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x40]
or ecx, dword [ebp - 0x3c]
jne 0x1001825b
mov dword [ebp - 0x358], 1
jmp 0x10018265
mov dword [ebp - 0x358], 0
movsx eax, word [ebp - 0x1c]
add eax, dword [ebp - 0x44]
cdq
push edx
push eax
mov edx, dword [0x1009b13c]
push edx
mov eax, dword [0x1009b138]
push eax
call fcn.1006c090
mov dword [ebp - 0xa8c], eax
mov dword [ebp - 0xa88], edx
mov ecx, dword [ebp - 0xa8c]
or ecx, dword [ebp - 0xa88]
jne 0x100182a7
mov dword [ebp - 0x35c], 1
jmp 0x100182b1
mov dword [ebp - 0x35c], 0
movzx edx, word [ebp - 0x28]
mov eax, 0x2836
sub eax, edx
xor eax, dword [ebp - 0x358]
xor eax, dword [ebp - 0x35c]
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
movsx eax, byte [0x1009b0ba]
test eax, eax
je 0x100185f7
mov ecx, 4
mov word [ebp - 8], cx
xor edx, edx
mov dword [0x1009b198], 2
mov dword [0x1009b19c], edx
push 0x8ef5d
push 0x5d315857
mov eax, dword [0x1009b164]
push eax
mov ecx, dword [0x1009b160]
push ecx
call fcn.1006c090
mov dword [0x1009b1a0], eax
movzx eax, word [ebp - 0x14]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov edx, dword [ebp - 0x30]
add edx, 0xcd3833d6
mov word [0x1009b158], dx
movzx eax, word [ebp - 8]
mov dword [ebp - 0x360], eax
cmp dword [ebp - 0x360], 4
ja case.default.0x10018361
mov ecx, dword [ebp - 0x360]
jmp dword [ecx*4 + 0x1001c2e8]
movzx edx, byte [ebp - 1]
mov eax, dword [0x1009b1b0]
imul eax, edx
not eax
xor ecx, ecx
mov dword [0x1009b198], eax
mov dword [0x1009b19c], ecx
movzx edx, word [0x1009b158]
test edx, edx
je 0x100183a4
movzx eax, byte [0x1009b0ef]
cdq
mov dword [ebp - 0x624], eax
mov dword [ebp - 0x620], edx
jmp 0x100183bb
mov eax, dword [0x1009b168]
mov ecx, dword [0x1009b16c]
mov dword [ebp - 0x624], eax
mov dword [ebp - 0x620], ecx
mov dl, byte [ebp - 0x624]
mov byte [0x1009b0ef], dl
mov eax, dword [0x1009bc7c]
mov dword [0x1009b14c], eax
movsx ecx, byte [0x1009b0a7]
imul ecx, dword [0x1009b18c]
imul ecx, dword [0x1009b18c]
mov dword [0x1009b18c], ecx
jmp case.default.0x10018361
movsx dx, byte [0x1009b0ba]
mov word [0x1009b184], dx
mov ax, word [ebp - 0x1c]
add ax, 1
mov word [ebp - 0x1c], ax
movsx ecx, byte [0x1009b0a7]
mov edx, dword [0x1009b14c]
add edx, ecx
mov eax, dword [0x1009b14c]
sub eax, edx
mov dword [0x1009b14c], eax
mov ecx, dword [0x1009b168]
mov edx, dword [0x1009b16c]
mov dword [ebp - 0xe64], edx
add ecx, 0x9257
mov word [ebp - 0x20], cx
mov eax, dword [0x1009bc7c]
mov dword [ebp - 0x54], eax
jmp case.default.0x10018361
mov ecx, 1
imul edx, ecx, 0xaf
mov al, byte [0x1009b07e]
mov byte [edx + 0x1034cfc8], al
movsx ecx, byte [0x1009b0bb]
movzx edx, word [ebp - 0x20]
and ecx, edx
mov byte [0x1009b0bb], cl
jmp case.default.0x10018361
mov eax, dword [ebp - 0x44]
cdq
push 0x27533
push 0x8c467ee7
push edx
push eax
call fcn.1006c090
mov dword [ebp - 0xa94], eax
mov dword [ebp - 0xa90], edx
mov eax, dword [ebp - 0xa94]
or eax, dword [ebp - 0xa90]
jne 0x100184b9
mov dword [ebp - 0x368], 1
jmp 0x100184c3
mov dword [ebp - 0x368], 0
cmp dword [0x1009b1a0], 0
jne 0x100184d8
mov dword [ebp - 0x364], 1
jmp 0x100184e2
mov dword [ebp - 0x364], 0
movzx ecx, word [0x1009b158]
test ecx, ecx
jne 0x100184f9
mov dword [ebp - 0x36c], 1
jmp 0x10018503
mov dword [ebp - 0x36c], 0
mov edx, dword [ebp - 0x364]
add edx, dword [0x1009b1a0]
imul edx, dword [ebp - 0x368]
mov esi, edx
xor edi, edi
mov eax, dword [0x1009b130]
mov ecx, dword [0x1009b134]
mov edx, dword [ebp - 0x48]
push edx
mov edx, dword [ebp - 0x4c]
push edx
push ecx
push eax
call fcn.1006c090
mov ecx, eax
mov ebx, edx
movzx eax, word [ebp - 8]
add eax, dword [ebp - 0x36c]
cdq
push edx
push eax
push ebx
push ecx
call fcn.1006c090
add esi, eax
adc edi, edx
mov dword [0x1009b198], esi
mov dword [0x1009b19c], edi
mov edx, dword [ebp - 0x70]
and edx, 0x51f
mov dword [ebp - 0x50], edx
mov eax, 0x80
mov word [ebp - 8], ax
jmp case.default.0x10018361
movzx ecx, word [ebp - 0x10]
movsx edx, word [ebp - 0xc]
or ecx, edx
mov eax, dword [0x1009b188]
add eax, ecx
movzx ecx, byte [ebp - 1]
not ecx
add eax, ecx
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movzx eax, byte [ebp - 1]
sub eax, 0x4709
cdq
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
movzx edx, byte [0x1009b0a6]
test edx, edx
jne 0x100185bf
mov dword [ebp - 0x370], 1
jmp 0x100185c9
mov dword [ebp - 0x370], 0
movzx eax, word [ebp - 0x24]
movzx ecx, word [ebp - 0x14]
xor eax, ecx
movzx edx, word [ebp - 8]
imul edx, dword [ebp - 0x370]
add eax, edx
jne 0x100185e8
mov byte [ebp - 0x7a], 1
jmp 0x100185ec
mov byte [ebp - 0x7a], 0
mov al, byte [ebp - 0x7a]
mov byte [ebp - 1], al
jmp 0x100187b8
mov ecx, dword [0x1009b138]
or ecx, dword [0x1009b13c]
je 0x100186ec
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
mov ecx, dword [ebp - 0x74]
add edx, dword [ebp - 0x78]
adc eax, ecx
mov dword [0x1009b168], edx
mov dword [0x1009b16c], eax
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
mov dword [ebp - 0xa9c], edx
mov dword [ebp - 0xa98], eax
mov ecx, dword [ebp - 0xa9c]
or ecx, dword [ebp - 0xa98]
jne 0x10018660
xor edx, edx
mov dword [ebp - 0xaa4], 1
mov dword [ebp - 0xaa0], edx
jmp 0x1001866b
xorps xmm0, xmm0
movlpd qword [ebp - 0xaa4], xmm0
mov ecx, dword [0x1009b168]
mov edx, dword [0x1009b16c]
mov dword [ebp - 0xe68], edx
add ecx, dword [ebp - 0xaa4]
not ecx
movsx eax, byte [0x1009b0a7]
cdq
add eax, dword [0x1009b138]
add ecx, eax
mov byte [0x1009b033], cl
mov eax, dword [ebp - 0x40]
add eax, 0xc785
mov ecx, dword [ebp - 0x3c]
adc ecx, 0
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], ecx
movzx eax, word [0x1009b158]
not eax
cdq
mov edx, dword [0x1009b130]
mov ecx, dword [0x1009b134]
mov dword [ebp - 0xe6c], ecx
xor edx, eax
mov byte [0x1009b0ef], dl
movsx edx, word [ebp - 0x1c]
movzx eax, word [ebp - 0x18]
add edx, eax
movsx ecx, word [ebp - 0x1c]
sub ecx, edx
mov word [ebp - 0x1c], cx
jmp 0x100187b8
mov edx, dword [ebp - 0x4c]
or edx, dword [ebp - 0x48]
je 0x1001876e
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
push ecx
push eax
mov edx, dword [ebp - 0x6c]
push edx
mov eax, dword [ebp - 0x70]
push eax
call fcn.1006c090
mov byte [0x1009b0a7], al
mov ecx, 2
mov word [0x1009b184], cx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
and edx, dword [0x1009b130]
and eax, dword [0x1009b134]
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
sub ecx, edx
sbb esi, eax
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], esi
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
sub edx, 0x225de383
sbb eax, 0
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
movzx ecx, word [ebp - 0x28]
imul eax, ecx, 0xf6
cdq
mov ecx, dword [ebp - 0x70]
sub ecx, eax
mov eax, dword [ebp - 0x6c]
sbb eax, edx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], eax
jmp 0x100187b8
mov ecx, 0x86
test ecx, ecx
je 0x100187b8
mov edx, dword [0x1009b188]
imul edx, dword [ebp - 0x54]
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x30]
sub eax, 0x9983f7bd
mov ecx, dword [ebp - 0x2c]
sbb ecx, 0x9f84b
mov dword [0x1009b178], eax
mov dword [0x1009b17c], ecx
imul edx, dword [0x1009b18c], 0x6e8fa585
movzx eax, byte [0x1009b0ef]
or eax, edx
mov byte [0x1009b0ef], al
cmp dword [ebp - 0x6c4], 0x23c
je 0x10019191
mov dword [0x1009b18c], 2
movzx ecx, word [ebp - 0x24]
movsx edx, word [0x1009b180]
sub ecx, edx
movzx eax, word [ebp - 0x24]
add eax, ecx
mov word [ebp - 0x24], ax
movsx ecx, word [ebp - 0xc]
xor ecx, 0x7a2b
mov dword [ebp - 0x44], ecx
movzx eax, word [ebp - 0x18]
cdq
mov edx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0xe70], ecx
sub eax, edx
mov word [ebp - 0x18], ax
movzx eax, byte [0x1009b0a6]
cdq
mov ecx, dword [ebp - 0x30]
sub ecx, eax
mov eax, dword [ebp - 0x2c]
sbb eax, edx
and ecx, dword [ebp - 0x30]
and eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], eax
push 0
push 0x80
mov ecx, dword [ebp - 0x6c]
push ecx
mov edx, dword [ebp - 0x70]
push edx
call fcn.1006c090
mov byte [0x1009b033], al
mov eax, dword [0x1009b18c]
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 0
je 0x10018877
cmp dword [ebp - 0x144], 1
je 0x100188f9
cmp dword [ebp - 0x144], 2
je 0x100189c8
jmp 0x10018a15
movsx ecx, word [ebp - 0xc]
movzx edx, word [ebp - 0x24]
sub ecx, edx
mov word [ebp - 0xc], cx
mov ecx, dword [0x1009b178]
xor ecx, 0x4b
movzx eax, byte [ebp - 2]
cdq
sub eax, ecx
mov byte [ebp - 2], al
mov edx, dword [0x1009b144]
sub edx, dword [ebp - 0x4c]
mov eax, dword [0x1009b144]
sub eax, edx
mov dword [0x1009b144], eax
mov ecx, dword [0x1009b14c]
add ecx, 0x33384cd5
mov byte [ebp - 2], cl
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
push 0
push 0x7f36ba4e
push eax
push edx
call fcn.1006c090
mov ecx, eax
mov eax, dword [0x1009b188]
cdq
sub eax, ecx
mov dword [0x1009b188], eax
movzx edx, word [ebp - 0x24]
add edx, 0xfb
mov dword [0x1009b144], edx
jmp 0x10018a15
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
not eax
not ecx
mov edx, dword [0x1009b150]
mov esi, dword [0x1009b154]
add edx, 0x62
adc esi, 0
push esi
push edx
push ecx
push eax
call fcn.1006c090
mov esi, eax
mov edi, edx
movsx eax, byte [0x1009b0ba]
cdq
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x1009b033]
cdq
mov dword [ebp - 0x6c8], esi
mov esi, dword [0x1009b138]
sub esi, eax
mov eax, dword [0x1009b13c]
sbb eax, edx
push eax
push esi
push ebx
push ecx
call fcn.1006c090
push edx
push eax
push edi
mov esi, dword [ebp - 0x6c8]
push esi
call fcn.1006c090
mov word [ebp - 0x20], ax
movzx eax, word [ebp - 0x10]
cdq
mov ecx, eax
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
mov dword [ebp - 0xe74], eax
add ecx, edx
movzx eax, word [ebp - 0x10]
cdq
sub eax, ecx
mov word [ebp - 0x10], ax
movsx eax, byte [0x1009b0a7]
cdq
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0xe78], edx
add eax, ecx
mov byte [0x1009b0a7], al
mov byte [0x1009b07f], 0x8d
movsx eax, byte [0x1009b0bb]
add eax, 0x9f79
cdq
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
jmp 0x10018a15
mov byte [0x1009b01f], 1
mov eax, dword [0x1009b14c]
shl eax, 2
mov byte [ebp - 1], al
mov ecx, dword [0x1009b198]
mov edx, dword [0x1009b19c]
mov dword [ebp - 0xe7c], edx
add ecx, 0x1907db65
mov word [ebp - 0x10], cx
mov eax, dword [0x1009b14c]
cdq
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov dword [ebp - 0xe80], edx
sub eax, ecx
mov dword [0x1009b14c], eax
mov dword [0x1009b1a0], 0xd
mov eax, dword [0x1009b150]
mov ecx, dword [0x1009b154]
mov dword [ebp - 0xebc], ecx
sub eax, 0x7032c5c
mov byte [ebp - 1], al
movzx eax, word [ebp - 0x14]
shl eax, 1
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
mov dword [ebp - 0xec0], eax
add edx, 0xa2
mov byte [0x1009b07e], dl
mov ecx, dword [0x1009b144]
xor edx, edx
mov eax, dword [0x1009b1a0]
xor esi, esi
add eax, dword [ebp - 0x30]
adc esi, dword [ebp - 0x2c]
mov dword [ebp - 0xaac], ecx
mov dword [ebp - 0xaa8], edx
mov dword [ebp - 0xab4], eax
mov dword [ebp - 0xab0], esi
mov ecx, dword [ebp - 0xaac]
cmp ecx, dword [ebp - 0xab4]
jne 0x10018cc6
mov edx, dword [ebp - 0xaa8]
cmp edx, dword [ebp - 0xab0]
jne 0x10018cc6
mov ax, word [0x1009bc7c]
mov word [ebp - 0x24], ax
movzx eax, word [ebp - 0x10]
cdq
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
add ecx, eax
adc esi, edx
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
sub edx, ecx
sbb eax, esi
mov dword [0x1009b1a8], edx
mov dword [0x1009b1ac], eax
movzx ecx, byte [0x1009b07f]
movzx edx, word [0x1009b158]
imul ecx, edx
not ecx
mov dword [0x1009b170], ecx
mov dword [ebp - 0x114], 0
jmp 0x10018b20
mov eax, dword [ebp - 0x114]
add eax, 1
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x114], 0x150
jge 0x10018b6e
movsx eax, word [ebp - 0x1c]
add eax, 0xa9
cdq
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
movzx eax, word [ebp - 0x28]
movzx ecx, byte [0x1009b033]
imul eax, ecx
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov edx, dword [0x1009bc7c]
mov dword [ebp - 0x58], edx
mov eax, dword [0x1009b1b0]
add eax, 1
mov dword [0x1009b1b0], eax
jmp 0x10018b11
mov eax, dword [0x1009b188]
cdq
mov ecx, dword [ebp - 0x30]
add ecx, 0x3e6d9284
mov esi, dword [ebp - 0x2c]
adc esi, 0
mov dword [ebp - 0xabc], eax
mov dword [ebp - 0xab8], edx
mov dword [ebp - 0xac4], ecx
mov dword [ebp - 0xac0], esi
mov edx, dword [ebp - 0xabc]
cmp edx, dword [ebp - 0xac4]
jne 0x10018cc6
mov eax, dword [ebp - 0xab8]
cmp eax, dword [ebp - 0xac0]
jne 0x10018cc6
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x374], eax
mov dword [ebp - 0x6d0], 0
cmp dword [ebp - 0x374], 0
je 0x10018c09
mov dword [ebp - 0x6cc], 1
mov ecx, dword [ebp - 0x6cc]
push ecx
mov edx, dword [ebp - 0x6d0]
push edx
mov eax, dword [ebp - 0x374]
push eax
call dword [sym.imp.USER32.dll_GetUpdateRect]
mov dword [ebp - 0xec4], eax
jmp 0x10018a15
mov edx, dword [str.CredUnprotectW]
mov dword [ebp - 0xc2c], edx
mov eax, dword [0x1007e89c]
mov dword [ebp - 0xc28], eax
mov ecx, dword [0x1007e8a0]
mov dword [ebp - 0xc24], ecx
mov dx, word [0x1007e8a4]
mov word [ebp - 0xc20], dx
mov al, byte [0x1007e8a6]
mov byte [ebp - 0xc1e], al
lea ecx, [ebp - 0xc2c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cdq
mov dword [0x1009b198], eax
mov dword [0x1009b19c], edx
cmp dword [ebp - 0x6d4], 0
jne 0x10019191
mov edx, dword [str.Returned_by_the_Ht]
mov dword [ebp - 0xc54], edx
mov eax, dword [0x1007e8ac]
mov dword [ebp - 0xc50], eax
mov ecx, dword [0x1007e8b0]
mov dword [ebp - 0xc4c], ecx
mov edx, dword [0x1007e8b4]
mov dword [ebp - 0xc48], edx
mov ax, word [0x1007e8b8]
mov word [ebp - 0xc44], ax
mov cl, byte [0x1007e8ba]
mov byte [ebp - 0xc42], cl
lea edx, [ebp - 0xc54]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [0x1009b01f], al
mov dword [0x1009b140], 0x9cdea359
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx eax, ax
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov eax, dword [0x1009b150]
mov ecx, dword [0x1009b154]
mov edx, dword [ebp - 0x30]
add edx, 0x92e047f6
mov esi, dword [ebp - 0x2c]
adc esi, 0
mov dword [ebp - 0xacc], eax
mov dword [ebp - 0xac8], ecx
mov dword [ebp - 0xad4], edx
mov dword [ebp - 0xad0], esi
mov eax, dword [ebp - 0xacc]
cmp eax, dword [ebp - 0xad4]
jne 0x10019134
mov ecx, dword [ebp - 0xac8]
cmp ecx, dword [ebp - 0xad0]
jne 0x10019134
mov edx, dword [0x1009b138]
add edx, dword [ebp - 0x30]
mov eax, dword [0x1009b13c]
adc eax, dword [ebp - 0x2c]
mov dword [ebp - 0xadc], edx
mov dword [ebp - 0xad8], eax
cmp dword [ebp - 0xadc], 1
jne 0x10019134
cmp dword [ebp - 0xad8], 0
jne 0x10019134
mov ecx, dword [0x1009b168]
mov edx, dword [0x1009b16c]
mov dword [ebp - 0xae4], ecx
mov dword [ebp - 0xae0], edx
mov eax, dword [ebp - 0xae4]
or eax, dword [ebp - 0xae0]
je 0x10018f04
movsx ecx, word [ebp - 0x1c]
test ecx, ecx
jne 0x10018f04
movzx edx, byte [0x1009b033]
test edx, edx
jne 0x10018e7e
xor eax, eax
mov dword [ebp - 0x634], 1
mov dword [ebp - 0x630], eax
jmp 0x10018e89
xorps xmm0, xmm0
movlpd qword [ebp - 0x634], xmm0
mov ecx, dword [ebp - 0x634]
mov edx, dword [ebp - 0x630]
mov dword [0x1009b130], ecx
mov dword [0x1009b134], edx
push 0
push 0x40
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.1006c090
mov byte [0x1009b0a6], al
movzx eax, byte [ebp - 1]
cdq
mov ecx, eax
sub ecx, dword [ebp - 0x40]
movzx eax, byte [ebp - 1]
cdq
add eax, ecx
mov byte [ebp - 1], al
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
mov dword [ebp - 0xc70], eax
add edx, 0xd
mov byte [0x1009b07e], dl
mov ecx, dword [0x1009b170]
sub ecx, dword [0x1009b18c]
xor edx, edx
mov dword [0x1009b198], ecx
mov dword [0x1009b19c], edx
jmp 0x100190a6
movzx eax, byte [0x1009b0ef]
not eax
test eax, eax
je 0x10018fb0
mov ecx, dword [ebp - 0x58]
add ecx, 0x5aa8
mov dword [0x1009b18c], ecx
movzx edx, byte [ebp - 2]
movsx eax, word [0x1009b180]
add edx, eax
mov word [0x1009b184], dx
mov ecx, dword [ebp - 0x50]
not ecx
mov edx, dword [0x1009b144]
sub edx, ecx
xor eax, eax
push eax
push edx
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x40]
push edx
call fcn.1006c090
mov dword [0x1009b148], eax
imul eax, dword [0x1009b190], 0xe228
mov byte [0x1009b0ee], al
movzx ecx, byte [0x1009b0ef]
xor ecx, dword [ebp - 0x44]
add ecx, dword [ebp - 0x44]
mov dword [ebp - 0x44], ecx
movsx edx, word [ebp - 0x1c]
test edx, edx
jne 0x10018f8e
mov dword [ebp - 0x37c], 1
jmp 0x10018f98
mov dword [ebp - 0x37c], 0
movsx eax, byte [0x1009b0ba]
mov ecx, dword [ebp - 0x37c]
sub ecx, eax
mov word [ebp - 0x10], cx
jmp 0x100190a6
mov eax, dword [ebp - 0x58]
cdq
push edx
push eax
mov edx, dword [ebp - 0x6c]
push edx
mov eax, dword [ebp - 0x70]
push eax
call fcn.1006c090
mov dword [ebp - 0xaec], eax
mov dword [ebp - 0xae8], edx
mov ecx, dword [ebp - 0xaec]
or ecx, dword [ebp - 0xae8]
je 0x10019021
mov eax, dword [ebp - 0x58]
cdq
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0xc74], ecx
add eax, edx
mov byte [0x1009b0ba], al
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
sub edx, 0x924c
sbb eax, 0
mov dword [0x1009b150], edx
mov dword [0x1009b154], eax
mov ecx, 0x7c25
mov word [ebp - 0x1c], cx
jmp 0x100190a6
movzx eax, word [0x1009b158]
cdq
mov dword [ebp - 0xaf4], eax
mov dword [ebp - 0xaf0], edx
mov edx, dword [ebp - 0x48]
cmp edx, dword [ebp - 0xaf0]
jl 0x100190a6
jg 0x1001904d
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0xaf4]
jb 0x100190a6
mov eax, dword [0x1009b130]
mov edx, dword [0x1009b134]
mov cl, 7
call fcn.1006c0f0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movsx eax, word [0x1009b180]
xor eax, 0xe0bd
cdq
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
movzx eax, word [ebp - 0x20]
cdq
mov ecx, eax
add ecx, 0x3723aed7
movzx eax, byte [ebp - 1]
cdq
sub eax, ecx
mov byte [ebp - 1], al
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov cl, 3
call fcn.1006c1a0
mov dword [0x1009b190], eax
jmp 0x10018d82
xor edx, edx
mov byte [ebp - 0x82], dl
lea ecx, [ebp - 0x82]
call fcn.10002040
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xd8]
movzx ecx, byte [eax + 8]
test ecx, ecx
je 0x1001917f
push 0x1010101
push 0x1d374b4f
push 0
push 8
mov edx, dword [ebp - 0xd8]
push edx
call fcn.1003f720
mov eax, dword [ebp - 0xd8]
mov byte [eax + 8], 0
mov ecx, dword [ebp - 0xd8]
push ecx
push 0
push 0
call fcn.10001380
call eax
mov byte [0x1009b07e], 0
movzx edx, byte [0x1009b07f]
movzx eax, word [ebp - 0x10]
add edx, eax
mov byte [0x1009b07f], dl
mov ecx, dword [ebp - 0x4c]
or ecx, dword [ebp - 0x48]
je 0x100191c7
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x474], edx
mov dword [ebp - 0x470], eax
jmp 0x100191db
movzx eax, byte [0x1009b0ef]
cdq
mov dword [ebp - 0x474], eax
mov dword [ebp - 0x470], edx
mov ecx, dword [ebp - 0x474]
mov edx, dword [ebp - 0x470]
mov dword [0x1009b178], ecx
mov dword [0x1009b17c], edx
mov ax, word [ebp - 0xc]
add ax, 1
mov word [ebp - 0xc], ax
mov cl, byte [0x1009b07e]
mov byte [ebp - 0x6d8], cl
cmp byte [ebp - 0x6d8], 0
je 0x10019219
jmp 0x1001929f
mov eax, dword [ebp - 0x44]
cdq
add eax, 0x7e85b333
adc edx, 0x4877a
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movzx edx, byte [0x1009b0a6]
imul edx, dword [ebp - 0x50]
mov byte [0x1009b0a6], dl
mov eax, dword [0x1009b160]
or eax, dword [0x1009b164]
je 0x10019257
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x380], ecx
jmp 0x10019263
mov edx, dword [0x1009b188]
mov dword [ebp - 0x380], edx
mov eax, dword [ebp - 0x380]
mov dword [0x1009b170], eax
movzx ecx, byte [ebp - 2]
mov edx, 0xacfe
sub edx, ecx
movzx eax, word [0x1009b184]
imul edx, eax
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x58]
cdq
push 0x62c64
push 0xa4ba569d
push edx
push eax
call fcn.1006c090
mov word [ebp - 0x18], ax
xor ecx, ecx
mov byte [ebp - 0x81], cl
lea ecx, [ebp - 0x81]
call fcn.10002120
mov dword [ebp - 0xdc], eax
mov edx, dword [ebp - 0xdc]
movzx eax, byte [edx + 0xa]
test eax, eax
je 0x100192ea
push 0x1010101
push 0x1bb5eb3b
push 0
push 0xa
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.1003f720
mov edx, dword [ebp - 0xdc]
mov byte [edx + 0xa], 0
mov eax, dword [ebp - 0xdc]
push eax
push 0
push 0
call fcn.100015f0
call eax
mov dword [ebp - 0x3ac], eax
movzx ecx, word [ebp - 0x18]
test ecx, ecx
jne 0x10019316
mov dword [ebp - 0x384], 1
jmp 0x10019320
mov dword [ebp - 0x384], 0
movzx edx, word [ebp - 0x28]
imul edx, dword [ebp - 0x384]
test edx, edx
je 0x100197f5
movsx eax, word [0x1009b180]
movsx ecx, byte [0x1009b0bb]
cmp eax, ecx
jne 0x10019351
mov dword [ebp - 0x388], 1
jmp 0x1001935b
mov dword [ebp - 0x388], 0
movsx edx, word [0x1009b180]
cmp edx, 0x5d
jne 0x10019373
mov dword [ebp - 0x38c], 1
jmp 0x1001937d
mov dword [ebp - 0x38c], 0
mov eax, dword [ebp - 0x388]
cmp eax, dword [ebp - 0x38c]
jl 0x10019748
mov dword [0x1009b188], 4
movzx ecx, byte [0x1009b033]
test ecx, ecx
je 0x100193b2
mov edx, dword [0x1009b170]
mov dword [ebp - 0x390], edx
jmp 0x100193bc
movzx eax, word [ebp - 0x24]
mov dword [ebp - 0x390], eax
mov ecx, dword [ebp - 0x390]
xor edx, edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x40]
or eax, dword [ebp - 0x3c]
je 0x100193ec
mov ecx, dword [0x1009b178]
mov edx, dword [0x1009b17c]
mov dword [ebp - 0x63c], ecx
mov dword [ebp - 0x638], edx
jmp 0x100193ff
mov eax, dword [0x1009b1a0]
xor ecx, ecx
mov dword [ebp - 0x63c], eax
mov dword [ebp - 0x638], ecx
mov edx, dword [ebp - 0x63c]
mov dword [ebp - 0x54], edx
mov dword [0x1009b1b0], 0xfc65f029
mov eax, dword [0x1009b188]
mov dword [ebp - 0x394], eax
cmp dword [ebp - 0x394], 4
ja case.default.0x10019430
mov ecx, dword [ebp - 0x394]
jmp dword [ecx*4 + 0x1001c2fc]
movzx edx, byte [0x1009b0ef]
test edx, edx
jne 0x1001944e
mov dword [ebp - 0x39c], 1
jmp 0x10019458
mov dword [ebp - 0x39c], 0
cmp dword [ebp - 0x58], 0
jne 0x1001946a
mov eax, 1
imul ecx, eax, 0x27c0
movzx dx, byte [ecx + 0x10153d68]
mov word [ebp - 0x10], dx
mov eax, dword [ebp - 0x44]
add eax, 0x4208c2ed
mov word [ebp - 0x28], ax
movzx ecx, word [ebp - 0x24]
test ecx, ecx
jne 0x1001959d
xor edx, edx
mov dword [ebp - 0x64c], 1
mov dword [ebp - 0x648], edx
jmp 0x100195a8
xorps xmm0, xmm0
movlpd qword [ebp - 0x64c], xmm0
movzx eax, byte [ebp - 2]
movzx ecx, word [ebp - 0x20]
sub eax, ecx
movzx edx, byte [ebp - 1]
not edx
add edx, dword [0x1009b144]
add eax, edx
mov ecx, eax
xor esi, esi
mov edi, dword [0x1009b168]
mov ebx, dword [0x1009b16c]
xor edi, dword [ebp - 0x64c]
xor ebx, dword [ebp - 0x648]
movzx eax, word [ebp - 8]
movzx edx, byte [ebp - 1]
not edx
imul eax, edx
not eax
cdq
xor edi, eax
xor ebx, edx
not edi
not ebx
add ecx, edi
adc esi, ebx
mov dword [0x1009b130], ecx
mov dword [0x1009b134], esi
mov al, byte [0x1009bc7c]
mov byte [0x1009b0ee], al
mov cl, byte [0x1009bc7c]
mov byte [0x1009b0a6], cl
mov edx, 0xbbc6
mov word [ebp - 0x28], dx
jmp case.default.0x10019430
mov eax, dword [ebp - 0x4c]
sub eax, dword [ebp - 0x40]
mov word [ebp - 0x14], ax
movzx ecx, word [ebp - 0x28]
test ecx, ecx
je 0x1001964e
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x46c], edx
mov dword [ebp - 0x468], eax
jmp 0x10019662
mov ecx, dword [0x1009b190]
xor edx, edx
mov dword [ebp - 0x46c], ecx
mov dword [ebp - 0x468], edx
mov eax, dword [ebp - 0x46c]
mov ecx, dword [ebp - 0x468]
mov dword [0x1009b150], eax
mov dword [0x1009b154], ecx
mov eax, dword [0x1009b188]
cdq
add eax, 0x7800c08a
adc edx, 0xb1656
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
mov edx, dword [ebp - 0x50]
xor edx, 0xd41719aa
mov byte [0x1009b0ba], dl
movzx eax, word [ebp - 0x14]
imul ecx, eax, 0xfe
mov dword [0x1009b1a0], ecx
jmp case.default.0x10019430
mov edx, 0xfffff121
mov word [ebp - 0x1c], dx
mov eax, 8
imul ecx, eax, 0x252a
mov dl, byte [ecx + 0x1012a9d0]
mov byte [0x1009b0bb], dl
mov al, byte [0x1009bc7c]
mov byte [0x1009b07f], al
jmp case.default.0x10019430
movsx ecx, word [0x1009b180]
mov edx, dword [0x1009b148]
sub edx, ecx
mov eax, dword [0x1009b148]
add eax, edx
mov dword [0x1009b148], eax
movsx eax, word [ebp - 0xc]
cdq
mov ecx, dword [0x1009b130]
mov esi, dword [0x1009b134]
and ecx, 0
and esi, 0
sub eax, ecx
sbb edx, esi
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
imul edx, dword [0x1009b170], 0xde
mov byte [ebp - 2], dl
movzx eax, byte [0x1009b0ee]
imul eax, dword [ebp - 0x58]
mov byte [0x1009b0ee], al
jmp 0x100197f0
movzx ecx, byte [0x1009b0a6]
test ecx, ecx
je 0x100197f0
mov dx, word [ebp - 0x20]
mov word [ebp - 0x28], dx
movsx eax, byte [0x1009b0ba]
mov ecx, dword [0x1009b170]
sub ecx, eax
not ecx
movsx edx, word [ebp - 0x1c]
movzx eax, byte [0x1009b0ee]
imul edx, eax
imul ecx, edx
xor edx, edx
mov dword [0x1009b160], ecx
mov dword [0x1009b164], edx
movzx eax, word [ebp - 0x28]
movzx ecx, word [ebp - 0x28]
add eax, ecx
mov word [ebp - 0x28], ax
mov dl, byte [ebp - 0x54]
mov byte [0x1009b07f], dl
movsx eax, word [0x1009b180]
test eax, eax
je 0x100197c7
movsx eax, byte [0x1009b0ba]
cdq
mov dword [ebp - 0x464], eax
mov dword [ebp - 0x460], edx
jmp 0x100197d9
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x464], ecx
mov dword [ebp - 0x460], edx
mov eax, dword [ebp - 0x464]
mov ecx, dword [ebp - 0x460]
mov dword [0x1009b138], eax
mov dword [0x1009b13c], ecx
jmp 0x10019a33
movzx edx, word [0x1009b184]
movzx eax, byte [0x1009b0ef]
cmp edx, eax
jle 0x100198b0
mov ecx, dword [ebp - 0x70]
and ecx, 0x9bcceb52
mov edx, dword [ebp - 0x6c]
and edx, 0
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
movzx eax, byte [0x1009b0ef]
test eax, eax
je 0x1001983a
movsx ecx, byte [0x1009b0ba]
mov dword [ebp - 0x3a4], ecx
jmp 0x10019844
movzx edx, word [ebp - 0x18]
mov dword [ebp - 0x3a4], edx
mov al, byte [ebp - 0x3a4]
mov byte [0x1009b0ef], al
mov ecx, dword [0x1009b198]
mov edx, dword [0x1009b19c]
mov dword [ebp - 0xc7c], edx
sub ecx, 8
not ecx
mov eax, dword [0x1009b188]
not eax
cdq
add ecx, eax
mov word [ebp - 0x20], cx
mov eax, dword [0x1009b18c]
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov dword [ebp - 0xc80], edx
not ecx
add eax, ecx
mov word [0x1009b180], ax
mov eax, dword [0x1009b150]
mov edx, dword [0x1009b154]
mov cl, 1
call fcn.1006c0d0
mov word [ebp - 0x18], ax
jmp 0x10019a33
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov edx, dword [0x1009b144]
xor esi, esi
mov dword [ebp - 0xafc], eax
mov dword [ebp - 0xaf8], ecx
mov dword [ebp - 0xb04], edx
mov dword [ebp - 0xb00], esi
mov eax, dword [ebp - 0xaf8]
cmp eax, dword [ebp - 0xb00]
jl 0x1001994d
jg 0x100198f4
mov ecx, dword [ebp - 0xafc]
cmp ecx, dword [ebp - 0xb04]
jbe 0x1001994d
mov dword [0x1009b1a0], 0x953c
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
push 0
push 0xe421
push eax
push edx
call fcn.1006c090
mov byte [0x1009b0ee], al
mov eax, dword [0x1009b188]
cdq
mov ecx, dword [0x1009b160]
sub ecx, eax
mov eax, dword [0x1009b164]
sbb eax, edx
mov edx, dword [0x1009b160]
sub edx, ecx
mov ecx, dword [0x1009b164]
sbb ecx, eax
mov dword [0x1009b160], edx
mov dword [0x1009b164], ecx
jmp 0x10019a33
mov edx, dword [ebp - 0x54]
not edx
test edx, edx
je 0x10019a33
mov eax, dword [0x1009b1b0]
add eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x44]
sub ecx, eax
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x54]
sub edx, 0x4271
jne 0x10019989
xor eax, eax
mov dword [ebp - 0x654], 1
mov dword [ebp - 0x650], eax
jmp 0x10019994
xorps xmm0, xmm0
movlpd qword [ebp - 0x654], xmm0
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
add ecx, dword [ebp - 0x654]
adc edx, dword [ebp - 0x650]
mov dword [ebp - 0xb0c], ecx
mov dword [ebp - 0xb08], edx
mov eax, dword [ebp - 0xb0c]
or eax, dword [ebp - 0xb08]
jne 0x100199cc
mov dword [ebp - 0x3a8], 1
jmp 0x100199d6
mov dword [ebp - 0x3a8], 0
movzx ecx, word [ebp - 8]
not ecx
movsx edx, word [ebp - 0x1c]
sub ecx, edx
mov eax, dword [0x1009b148]
sub eax, ecx
not eax
imul eax, dword [ebp - 0x3a8]
mov word [ebp - 0x10], ax
movzx ecx, word [ebp - 0x18]
movzx edx, word [ebp - 0x28]
sub ecx, edx
movzx eax, word [ebp - 0x18]
add eax, ecx
mov word [ebp - 0x18], ax
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
push 0
push 0xa8
push edx
push ecx
call fcn.1006c090
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
mov eax, dword [0x1009bc7c]
mov dword [0x1009b190], eax
cmp dword [ebp - 0x3ac], 0
je 0x10019a49
cmp dword [ebp - 0x3ac], 0
je 0x1001ac90
movzx ecx, word [ebp - 0x28]
push ecx
call dword [sym.imp.KERNEL32.dll_SetLastError]
movzx edx, byte [0x1009b0a6]
test edx, edx
je 0x10019af9
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x40]
sub ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x3c]
sbb edx, eax
add ecx, dword [ebp - 0x40]
adc edx, dword [ebp - 0x3c]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
movsx eax, byte [0x1009b0ba]
cdq
mov ecx, eax
mov esi, edx
sub ecx, 0x31178437
sbb esi, 0x449ef
movzx eax, byte [0x1009b0a6]
cdq
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov byte [0x1009b0a6], al
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
sub edx, 0xe2
sbb eax, 0
mov dword [0x1009b150], edx
mov dword [0x1009b154], eax
mov ecx, dword [0x1009b138]
sub ecx, 0x6474c793
mov word [ebp - 0x18], cx
mov edx, dword [0x1009b148]
mov eax, dword [0x1009b1a8]
mov ecx, dword [0x1009b1ac]
mov dword [ebp - 0xc84], ecx
sub edx, eax
mov dword [0x1009b148], edx
jmp 0x10019c30
movsx eax, byte [0x1009b0bb]
cdq
mov dword [ebp - 0xb14], eax
mov dword [ebp - 0xb10], edx
mov edx, dword [ebp - 0xb10]
cmp edx, dword [0x1009b17c]
jl 0x10019b37
jg 0x10019b2b
mov eax, dword [ebp - 0xb14]
cmp eax, dword [0x1009b178]
jb 0x10019b37
mov dword [ebp - 0x3b0], 1
jmp 0x10019b41
mov dword [ebp - 0x3b0], 0
mov ecx, dword [ebp - 0x3b0]
not ecx
movzx edx, byte [0x1009b0a6]
cmp ecx, edx
jl 0x10019c30
movzx eax, word [0x1009b158]
cdq
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0xc88], edx
xor ecx, eax
movzx eax, byte [0x1009b07e]
movsx edx, word [ebp - 0xc]
add eax, edx
cdq
sub ecx, eax
mov word [ebp - 0x28], cx
movsx eax, word [ebp - 0xc]
imul eax, eax, 0xab
cdq
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
cmp dword [0x1009b140], 0
je 0x10019bab
movsx ecx, byte [0x1009b0ba]
mov dword [ebp - 0x3b4], ecx
jmp 0x10019bb5
movzx edx, word [ebp - 0x24]
mov dword [ebp - 0x3b4], edx
mov eax, dword [ebp - 0x3b4]
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov eax, dword [0x1009b1b0]
and eax, 0xfb47a42b
add eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x34]
mov edx, 0x348cea60
sub edx, dword [ebp - 0x38]
mov eax, 0xbeb2a
sbb eax, ecx
mov ecx, dword [0x1009b190]
not ecx
add ecx, dword [ebp - 0x54]
xor esi, esi
add edx, ecx
adc eax, esi
mov dword [ebp - 0xb1c], edx
mov dword [ebp - 0xb18], eax
mov edx, dword [ebp - 0xb1c]
or edx, dword [ebp - 0xb18]
jne 0x10019c1b
mov dword [ebp - 0x3b8], 1
jmp 0x10019c25
mov dword [ebp - 0x3b8], 0
mov eax, dword [ebp - 0x3b8]
mov dword [0x1009b18c], eax
mov byte [0x1009b07f], 0xb9
mov ecx, dword [0x1009b140]
cmp dword [ebp - 0x54], ecx
je 0x1001a09c
mov edx, dword [0x1009b160]
push edx
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov word [ebp - 0x20], ax
movzx eax, word [ebp - 0x20]
test eax, eax
je 0x10019ee1
xor ecx, ecx
mov dword [ebp - 0x68], 3
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x50], 0xf4a71370
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov cl, 2
call fcn.1006c0d0
mov byte [0x1009b07f], al
mov edx, 0xc6
mov word [ebp - 0xc], dx
mov eax, dword [0x1009b150]
mov ecx, dword [0x1009b154]
push 0
push 0x37cb2f04
push ecx
push eax
call fcn.1006c090
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov edx, 0x76
mov word [ebp - 0x28], dx
imul eax, dword [ebp - 0x54], 0x147c
mov byte [ebp - 2], al
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x178], ecx
mov dword [ebp - 0x174], edx
cmp dword [ebp - 0x174], 0
jl 0x10019edc
cmp dword [ebp - 0x44], 0
je 0x10019f3f
movsx ecx, byte [0x1009b0a7]
movzx edx, byte [0x1009b0ee]
cmp ecx, edx
jle 0x1001a16c
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xc90], ecx
sub eax, 0x4c42407a
mov byte [0x1009b07f], al
imul edx, dword [0x1009b18c], 0xb602
mov byte [0x1009b0a6], dl
mov eax, dword [ebp - 0x40]
sub eax, 0x7233409a
mov ecx, dword [ebp - 0x3c]
sbb ecx, 0
mov dword [ebp - 0xb34], eax
mov dword [ebp - 0xb30], ecx
mov edx, dword [ebp - 0xb34]
or edx, dword [ebp - 0xb30]
jne 0x1001a114
movzx eax, byte [0x1009b033]
test eax, eax
je 0x1001a201
mov dword [ebp - 0x154], 0
jmp 0x1001acab
mov eax, dword [ebp - 0x154]
add eax, 2
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 0x94
jge 0x1001ad4e
mov ecx, dword [0x1009b148]
add ecx, dword [ebp - 0x70]
mov byte [0x1009b0a6], cl
mov edx, dword [0x1009b178]
add edx, dword [0x1009b178]
mov eax, dword [0x1009b17c]
adc eax, dword [0x1009b17c]
add edx, dword [0x1009b178]
adc eax, dword [0x1009b17c]
mov dword [0x1009b178], edx
mov dword [0x1009b17c], eax
movzx ecx, word [ebp - 0x24]
imul edx, ecx, 0x97b3b5da
xor eax, eax
mov dword [0x1009b168], edx
mov dword [0x1009b16c], eax
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
xor ecx, dword [0x1009b178]
xor edx, dword [0x1009b17c]
and ecx, dword [0x1009b178]
and edx, dword [0x1009b17c]
mov dword [0x1009b178], ecx
mov dword [0x1009b17c], edx
mov byte [ebp - 1], 0xb
mov ax, word [ebp - 0xc]
add ax, 1
mov word [ebp - 0xc], ax
jmp 0x1001ac9c
xor ecx, ecx
mov byte [ebp - 0x93], cl
lea ecx, [ebp - 0x93]
call fcn.10002590
mov dword [ebp - 0xe4], eax
mov edx, dword [ebp - 0xe4]
movzx eax, byte [edx + 0xc]
test eax, eax
je 0x1001ad99
push 0x1010101
push 0x1bbd5d0f
push 0
push 0xc
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.1003f720
mov edx, dword [ebp - 0xe4]
mov byte [edx + 0xc], 0
mov eax, dword [ebp - 0xe4]
push eax
push 0
push 0
call fcn.100015f0
call eax
mov dword [ebp - 0x410], eax
mov dword [0x1009b148], 0xdf7b
movzx ecx, byte [0x1009b0ef]
push ecx
call dword [sym.imp.USER32.dll_GetTopWindow]
mov dword [0x1009b140], eax
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
movzx eax, word [ebp - 0x14]
add eax, 0xce
cdq
mov dword [ebp - 0xb7c], ecx
mov dword [ebp - 0xb78], esi
mov dword [ebp - 0xb84], eax
mov dword [ebp - 0xb80], edx
mov edx, dword [ebp - 0xb7c]
cmp edx, dword [ebp - 0xb84]
jne 0x1001b0f7
mov eax, dword [ebp - 0xb78]
cmp eax, dword [ebp - 0xb80]
jne 0x1001b0f7
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, 8
imul ecx, ecx, 5
mov dword [ecx + 0x101c0bc0], eax
mov dword [ecx + 0x101c0bc4], edx
movzx eax, byte [ebp - 2]
cdq
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
add ecx, eax
adc esi, edx
mov dword [0x1009b168], ecx
mov dword [0x1009b16c], esi
movzx edx, word [ebp - 0x24]
test edx, edx
jne 0x1001b145