Function at 0x1001c5a0
Capabilities:
Authenticate hmac
Encode data using base64
Encrypt data using speck
Parse credit card information
Query environment variable

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x16ec
call fcn.1006c1c0
push ebx
push esi
push edi
mov eax, dword [0x1009b1a8]
mov ecx, dword [0x1009b1ac]
mov dword [ebp - 0x1218], ecx
mov byte [ebp - 0xbd], al
mov dword [ebp - 0x38], 0xb6c0f2
mov dl, byte [0x1009b180]
mov byte [ebp - 6], dl
movsx eax, byte [0x1009b0bb]
mov dword [ebp - 0x3c], eax
movsx cx, byte [0x1009b0a7]
mov word [ebp - 0xc], cx
mov edx, dword [0x1009b160]
mov dword [ebp - 0x2c], edx
mov eax, dword [0x1009b168]
mov ecx, dword [0x1009b16c]
mov dword [ebp - 0x121c], ecx
mov byte [ebp - 1], al
mov byte [ebp - 4], 0xa6
mov dword [ebp - 0x28], 0xb31d0bfa
mov byte [ebp - 2], 0xbe
mov edx, dword [0x1009b14c]
mov word [ebp - 0x14], dx
mov al, byte [0x1009b0ba]
mov byte [ebp - 7], al
mov ecx, 0xffffdd9f
mov word [ebp - 0x1c], cx
mov edx, 0xffff82d5
mov word [ebp - 0x18], dx
mov eax, dword [0x1009b1b0]
mov byte [ebp - 3], al
xor ecx, ecx
mov dword [ebp - 0x34], 0xc6d6ddf5
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x4c], 0x57
mov edx, dword [0x1009b188]
mov dword [ebp - 0x40], edx
mov eax, dword [0x1009b14c]
mov word [ebp - 0x20], ax
mov ecx, 0xf182
mov word [ebp - 0x24], cx
mov edx, 0xb0908
mov dword [ebp - 0x48], 0x1331ad87
mov dword [ebp - 0x44], edx
xor eax, eax
mov dword [ebp - 0x54], 1
mov dword [ebp - 0x50], eax
movsx cx, byte [0x1009b0ba]
mov word [ebp - 0x10], cx
mov dl, byte [0x1009b158]
mov byte [ebp - 5], dl
mov dword [ebp - 0x1220], 0xfb
mov dword [ebp - 0x1224], 0x51
mov eax, 0xa7768
mov dword [ebp - 0x1448], 0x80feed19
mov dword [ebp - 0x1444], eax
mov ecx, 0x5ad0
mov word [ebp - 0xa44], cx
mov dword [ebp - 0x1228], 0x9067ad2f
movzx eax, byte [0x1009b01f]
cdq
mov dword [ebp - 0x1450], eax
mov dword [ebp - 0x144c], edx
movsx eax, word [0x1009b180]
cdq
mov dword [ebp - 0x1458], eax
mov dword [ebp - 0x1454], edx
mov dword [ebp - 0x122c], 0xe1663241
mov edx, 0x1b
mov word [ebp - 0xa48], dx
mov eax, 0xc0d8
mov word [ebp - 0xa4c], ax
movzx eax, byte [0x1009b07e]
cdq
mov dword [ebp - 0x1460], eax
mov dword [ebp - 0x145c], edx
movzx eax, byte [0x1009b0a6]
cdq
mov dword [ebp - 0x1468], eax
mov dword [ebp - 0x1464], edx
mov dword [ebp - 0x1230], 0xf7af133a
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov dword [ebp - 0x1234], edx
mov byte [ebp - 0xbe], cl
mov byte [ebp - 0xbf], 0x63
mov ecx, 9
mov esi, 0x1007e5fc
lea edi, [ebp - 0x14f4]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [ebp - 0x14f4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cdq
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
mov ecx, dword [0x1009bc7c]
mov dword [ebp - 0xcc], ecx
mov edx, dword [0x1009b1b0]
push edx
call dword [sym.imp.USER32.dll_IsWindow]
xor ecx, ecx
mov dword [0x1009b130], eax
mov dword [0x1009b134], ecx
mov edx, dword [ebp - 0xcc]
add edx, 0x3c6
mov dword [ebp - 0x988], edx
cmp dword [ebp - 0x4c], 0
je 0x1001c8d1
imul eax, dword [ebp - 0x28], 0xd511a056
mov byte [ebp - 2], al
mov ecx, dword [ebp - 0x2c]
not ecx
movzx edx, word [0x1009b158]
sub ecx, edx
not ecx
mov word [ebp - 0x10], cx
movzx eax, byte [0x1009b033]
cdq
mov ecx, dword [0x1009b178]
sub ecx, eax
mov eax, dword [0x1009b17c]
sbb eax, edx
mov edx, dword [0x1009b178]
sub edx, ecx
mov ecx, dword [0x1009b17c]
sbb ecx, eax
mov dword [0x1009b178], edx
mov dword [0x1009b17c], ecx
movzx edx, byte [0x1009b0ef]
test edx, edx
jne 0x1001c854
mov dword [ebp - 0x1b8], 1
jmp 0x1001c85e
mov dword [ebp - 0x1b8], 0
movsx eax, word [ebp - 0xc]
test eax, eax
jne 0x1001c872
mov dword [ebp - 0x1bc], 1
jmp 0x1001c87c
mov dword [ebp - 0x1bc], 0
movsx ecx, byte [ebp - 4]
movsx edx, byte [0x1009b0a7]
add ecx, edx
movzx eax, word [0x1009b184]
sub eax, dword [ebp - 0x1b8]
imul ecx, eax
movsx edx, word [ebp - 0x1c]
add edx, dword [ebp - 0x28]
xor edx, dword [ebp - 0x1bc]
sub ecx, edx
mov dword [ebp - 0x28], ecx
movsx eax, word [ebp - 0x18]
movsx ecx, word [ebp - 0xc]
sub eax, ecx
movsx edx, word [ebp - 0x18]
imul edx, eax
mov word [ebp - 0x18], dx
mov eax, dword [0x1009b18c]
shr eax, 1
mov dword [0x1009b144], eax
jmp 0x1001c9c6
cmp dword [ebp - 0x40], 0
je 0x1001c9c6
movsx ecx, word [ebp - 0x14]
mov eax, dword [ebp - 0x38]
imul eax, ecx
not eax
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movzx edx, word [0x1009b184]
xor edx, 0x94bb05ca
mov byte [ebp - 5], dl
movzx eax, word [ebp - 0x10]
add eax, 0xfc
mov dword [ebp - 0x4c], eax
movsx ecx, word [ebp - 0xc]
imul edx, ecx, 0x9255
test edx, edx
jne 0x1001c924
mov dword [ebp - 0x1c0], 1
jmp 0x1001c92e
mov dword [ebp - 0x1c0], 0
movzx eax, byte [ebp - 2]
cdq
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
not ecx
not esi
add eax, ecx
adc edx, esi
mov dword [ebp - 0xa6c], eax
mov dword [ebp - 0xa68], edx
mov edx, dword [ebp - 0xa6c]
or edx, dword [ebp - 0xa68]
jne 0x1001c96d
mov dword [ebp - 0x1c4], 1
jmp 0x1001c977
mov dword [ebp - 0x1c4], 0
mov eax, dword [0x1009b170]
sub eax, dword [ebp - 0x1c0]
movzx ecx, word [ebp - 0x20]
xor ecx, dword [ebp - 0x1c4]
add eax, ecx
jne 0x1001c9a4
xor edx, edx
mov dword [ebp - 0x7a8], 1
mov dword [ebp - 0x7a4], edx
jmp 0x1001c9af
xorps xmm0, xmm0
movlpd qword [ebp - 0x7a8], xmm0
mov eax, dword [ebp - 0x7a8]
mov ecx, dword [ebp - 0x7a4]
mov dword [0x1009b168], eax
mov dword [0x1009b16c], ecx
mov edx, dword [ebp - 0xcc]
add edx, 0x223
mov dword [ebp - 0x1238], edx
mov dword [ebp - 0xc8], 0x760
movzx eax, byte [0x1009b0ee]
imul eax, dword [ebp - 0x28]
movzx ecx, byte [0x1009b0ee]
add ecx, eax
mov byte [0x1009b0ee], cl
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
mov dword [ebp - 0x123c], eax
add edx, 0x2261d1db
mov byte [ebp - 2], dl
mov ecx, 0x6724
mov word [ebp - 0x18], cx
movsx eax, word [ebp - 0xc]
cdq
sub eax, 0x33c51e42
mov dword [0x1009b170], eax
cmp dword [ebp - 0xc8], 0x57f
jle 0x1001caec
xor edx, edx
mov word [ebp - 0x24], dx
mov eax, dword [0x1009b148]
add eax, 0xcd26
mov byte [ebp - 4], al
mov cl, byte [0x1009b0ef]
mov edx, 1
imul eax, edx, 0xa200
mov byte [eax + 0x10153d68], cl
movzx ecx, word [ebp - 0x24]
mov dword [ebp - 0xa50], ecx
cmp dword [ebp - 0xa50], 0
je 0x1001ca7d
jmp 0x1001cad8
movsx eax, byte [0x1009b0bb]
sar eax, 5
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
movzx edx, word [ebp - 0x20]
movsx eax, byte [ebp - 5]
not eax
sub edx, eax
movzx ecx, word [0x1009b184]
sub edx, ecx
movzx eax, byte [0x1009b0ef]
movsx ecx, byte [ebp - 3]
movzx esi, byte [ebp - 7]
add ecx, esi
add eax, ecx
add edx, eax
mov byte [ebp - 6], dl
movsx edx, word [ebp - 0x14]
add edx, dword [0x1009b1a0]
mov dword [0x1009b1a0], edx
movsx eax, word [0x1009b180]
shl eax, 2
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0xc8]
sub ecx, 1
mov dword [ebp - 0xc8], ecx
jmp 0x1001ca2e
mov edx, dword [ebp - 0xcc]
add edx, 0x20b
mov dword [ebp - 0x984], edx
movzx eax, byte [0x1009b0a6]
cmp dword [ebp - 0x40], eax
jge 0x1001cb16
mov dword [ebp - 0x1c8], 1
jmp 0x1001cb20
mov dword [ebp - 0x1c8], 0
cmp dword [ebp - 0x40], 0x58
jge 0x1001cb32
mov dword [ebp - 0x1cc], 1
jmp 0x1001cb3c
mov dword [ebp - 0x1cc], 0
mov ecx, dword [ebp - 0x1c8]
cmp ecx, dword [ebp - 0x1cc]
jge 0x1001cc87
movsx edx, byte [ebp - 4]
cmp edx, dword [ebp - 0x38]
je 0x1001cb63
mov dword [ebp - 0x1d0], 1
jmp 0x1001cb6d
mov dword [ebp - 0x1d0], 0
movsx eax, byte [ebp - 4]
cmp eax, 0x36
je 0x1001cb82
mov dword [ebp - 0x1d4], 1
jmp 0x1001cb8c
mov dword [ebp - 0x1d4], 0
mov ecx, dword [ebp - 0x1d0]
cmp ecx, dword [ebp - 0x1d4]
jge 0x1001cbbc
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
mov dword [ebp - 0x1240], eax
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov byte [0x1009b07e], al
jmp 0x1001cc82
imul ecx, dword [ebp - 0x40], 0xbf06
mov dword [ebp - 0x2c], ecx
movzx eax, word [ebp - 0x24]
cdq
mov ecx, eax
add ecx, 0x20ddebce
movsx eax, word [ebp - 0x14]
cdq
add eax, ecx
mov word [ebp - 0x14], ax
mov ecx, dword [ebp - 0x48]
not ecx
movzx eax, byte [ebp - 7]
add eax, 0x6964c17e
cdq
sub ecx, eax
mov word [ebp - 0x20], cx
movsx eax, byte [0x1009b0bb]
cdq
mov ecx, dword [ebp - 0x44]
push ecx
mov ecx, dword [ebp - 0x48]
push ecx
push edx
push eax
call fcn.1006c090
mov byte [0x1009b0bb], al
movsx eax, word [ebp - 0x14]
cdq
push 0x1c699
push 0x5fbfb069
push edx
push eax
call fcn.1006c090
mov byte [ebp - 4], al
movzx edx, byte [0x1009b07e]
test edx, edx
jne 0x1001cc3f
mov dword [ebp - 0x1d8], 1
jmp 0x1001cc49
mov dword [ebp - 0x1d8], 0
movzx eax, word [0x1009b158]
mov ecx, 0x16
sub ecx, dword [ebp - 0x1d8]
sub eax, ecx
not eax
movzx edx, byte [0x1009b0ee]
movzx ecx, byte [0x1009b033]
imul edx, ecx
mov ecx, dword [0x1009b14c]
lea edx, [edx + ecx - 0xf0]
sub eax, edx
mov dword [ebp - 0x4c], eax
jmp 0x1001ce26
movzx eax, byte [ebp - 7]
movsx ecx, byte [ebp - 1]
cmp eax, ecx
jge 0x1001cc9f
mov dword [ebp - 0x1dc], 1
jmp 0x1001cca9
mov dword [ebp - 0x1dc], 0
mov edx, dword [0x1009b14c]
cmp edx, dword [ebp - 0x1dc]
jg 0x1001cd33
imul eax, dword [0x1009b140], 0x75fad1c4
mov word [ebp - 0x18], ax
mov ecx, dword [0x1009b178]
add ecx, 1
mov edx, dword [0x1009b17c]
adc edx, 0
mov dword [0x1009b178], ecx
mov dword [0x1009b17c], edx
movsx eax, byte [0x1009b0bb]
test eax, eax
jne 0x1001ccfa
mov dword [ebp - 0x1e0], 1
jmp 0x1001cd04
mov dword [ebp - 0x1e0], 0
movsx ecx, byte [ebp - 3]
mov edx, dword [0x1009b14c]
and edx, ecx
mov eax, dword [ebp - 0x1e0]
add eax, 0x4d4666ec
sub edx, eax
not edx
mov byte [0x1009b0a7], dl
mov ecx, dword [ebp - 0x2c]
sub ecx, 1
mov dword [ebp - 0x2c], ecx
jmp 0x1001ce26
movzx edx, word [0x1009b158]
movzx eax, byte [0x1009b0ee]
cmp edx, eax
jg 0x1001cd59
xor ecx, ecx
mov dword [ebp - 0x7b0], 1
mov dword [ebp - 0x7ac], ecx
jmp 0x1001cd64
xorps xmm0, xmm0
movlpd qword [ebp - 0x7b0], xmm0
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
mov dword [ebp - 0xa74], edx
mov dword [ebp - 0xa70], eax
mov ecx, dword [ebp - 0x7ac]
cmp ecx, dword [ebp - 0xa70]
ja 0x1001cdfb
jb 0x1001cd99
mov edx, dword [ebp - 0x7b0]
cmp edx, dword [ebp - 0xa74]
jae 0x1001cdfb
mov eax, dword [ebp - 0x48]
add eax, 1
mov ecx, dword [ebp - 0x44]
adc ecx, 0
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
movsx eax, byte [0x1009b0a7]
cdq
mov edx, dword [0x1009b1a8]
mov ecx, dword [0x1009b1ac]
mov dword [ebp - 0x1244], ecx
and eax, edx
mov byte [0x1009b0a7], al
movzx edx, word [ebp - 0x10]
sub edx, 0x4fdcfb62
imul edx, dword [ebp - 0x28]
mov dword [ebp - 0x28], edx
movzx eax, byte [0x1009b0a6]
sub eax, 0x6a
mov word [ebp - 0x18], ax
mov cx, word [0x1009bc7c]
mov word [0x1009b180], cx
jmp 0x1001ce26
mov edx, dword [0x1009b144]
cmp dword [0x1009b140], edx
jb 0x1001ce26
mov byte [ebp - 3], 0x3a
movsx eax, byte [ebp - 1]
movzx ecx, word [ebp - 0x10]
xor eax, ecx
mov byte [ebp - 4], al
mov dl, byte [0x1009b07f]
mov byte [0x1009b01f], dl
mov eax, dword [0x1009bc7c]
mov dword [ebp - 0xd4], eax
mov ecx, dword [0x1009b140]
cmp dword [ebp - 0x2c], ecx
jg 0x1001ce48
mov dword [ebp - 0x1e4], 1
jmp 0x1001ce52
mov dword [ebp - 0x1e4], 0
cmp dword [ebp - 0x2c], 0x34
jg 0x1001ce64
mov dword [ebp - 0x1e8], 1
jmp 0x1001ce6e
mov dword [ebp - 0x1e8], 0
mov edx, dword [ebp - 0x1e4]
cmp edx, dword [ebp - 0x1e8]
jne 0x1001d205
movsx eax, word [ebp - 0x1c]
test eax, eax
je 0x1001d0ac
mov ecx, dword [0x1009b150]
mov esi, dword [0x1009b154]
mov eax, dword [ebp - 0x4c]
cdq
mov dword [ebp - 0xa7c], ecx
mov dword [ebp - 0xa78], esi
mov dword [ebp - 0xa84], eax
mov dword [ebp - 0xa80], edx
mov edx, dword [ebp - 0xa7c]
cmp edx, dword [ebp - 0xa84]
jne 0x1001cedc
mov eax, dword [ebp - 0xa78]
cmp eax, dword [ebp - 0xa80]
jne 0x1001cedc
mov dword [ebp - 0x1ec], 1
jmp 0x1001cee6
mov dword [ebp - 0x1ec], 0
movzx ecx, word [0x1009b184]
not ecx
mov edx, dword [0x1009b170]
sub edx, ecx
cmp dword [ebp - 0x1ec], edx
jne 0x1001cf0b
mov dword [ebp - 0x1f0], 1
jmp 0x1001cf15
mov dword [ebp - 0x1f0], 0
mov eax, dword [ebp - 0x1f0]
not eax
test eax, eax
je 0x1001d040
mov dword [ebp - 0xd0], 6
movsx eax, word [ebp - 0x1c]
cdq
xor eax, 0x57c5fbf4
mov byte [0x1009b07f], al
mov ecx, dword [0x1009b18c]
add ecx, 0x28809f7d
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x28]
sub edx, 0x38ca1716
mov eax, dword [ebp - 0x28]
sub eax, edx
mov dword [ebp - 0x28], eax
mov ecx, dword [0x1009b170]
add ecx, 0x7c
mov dword [0x1009b14c], ecx
mov byte [ebp - 4], 0
movsx edx, byte [ebp - 6]
test edx, edx
je 0x1001cf8d
mov eax, dword [0x1009b14c]
cdq
mov dword [ebp - 0x7b8], eax
mov dword [ebp - 0x7b4], edx
jmp 0x1001cfa4
mov eax, dword [0x1009b160]
mov ecx, dword [0x1009b164]
mov dword [ebp - 0x7b8], eax
mov dword [ebp - 0x7b4], ecx
mov dx, word [ebp - 0x7b8]
mov word [ebp - 0x14], dx
movzx eax, byte [ebp - 7]
sub eax, 0x3caf9683
mov word [ebp - 0x10], ax
movsx ecx, byte [ebp - 5]
movzx edx, word [0x1009b184]
add ecx, edx
mov byte [ebp - 7], cl
mov dword [ebp - 0x28], 2
movsx eax, byte [ebp - 6]
cdq
sub eax, 0x36159401
mov byte [ebp - 5], al
mov eax, dword [ebp - 0x30]
mov esi, dword [0x1009b160]
sub esi, dword [ebp - 0x34]
mov edi, dword [0x1009b164]
sbb edi, eax
mov ecx, dword [0x1009b198]
mov edx, dword [0x1009b19c]
not ecx
not edx
mov eax, dword [ebp - 0x44]
push eax
mov eax, dword [ebp - 0x48]
push eax
push edx
push ecx
call fcn.1006c090
push edx
push eax
push edi
push esi
call fcn.1006c090
mov byte [ebp - 2], al
mov ecx, dword [ebp - 0xd0]
add ecx, 1
mov dword [ebp - 0xd0], ecx
cmp dword [ebp - 0xd0], 0x1d04
jl 0x1001cfaf
jmp 0x1001d0a7
movsx edx, byte [ebp - 1]
test edx, edx
je 0x1001d0a7
mov eax, dword [ebp - 0x40]
add eax, 0x9b
mov byte [ebp - 2], al
mov cl, byte [0x1009bc7c]
mov byte [0x1009b033], cl
movzx eax, byte [0x1009b07e]
cdq
push 0x23047
push 0xf5e09ea7
push edx
push eax
call fcn.1006c090
mov edx, dword [0x1009b148]
sub edx, eax
mov dword [0x1009b148], edx
mov eax, dword [0x1009b18c]
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x1248], edx
add eax, ecx
mov ecx, dword [0x1009b18c]
sub ecx, eax
mov dword [0x1009b18c], ecx
jmp 0x1001d205
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
mov dword [ebp - 0xa8c], edx
mov dword [ebp - 0xa88], eax
mov ecx, dword [ebp - 0xa8c]
or ecx, dword [ebp - 0xa88]
jne 0x1001d0dd
mov dword [ebp - 0x1f4], 1
jmp 0x1001d0e7
mov dword [ebp - 0x1f4], 0
movzx edx, byte [0x1009b0ef]
not edx
xor edx, dword [0x1009b144]
mov esi, edx
mov eax, dword [0x1009b140]
cdq
mov ecx, dword [0x1009b178]
not ecx
mov edi, dword [0x1009b17c]
not edi
push edi
push ecx
push edx
push eax
call fcn.1006c090
sub esi, eax
movzx eax, byte [ebp - 2]
cdq
mov ecx, eax
add ecx, 0x7c8b8010
movzx eax, word [ebp - 0x20]
add eax, dword [ebp - 0x1f4]
cdq
sub ecx, eax
not ecx
xor esi, ecx
mov word [0x1009b158], si
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
mov dword [ebp - 0xa94], edx
mov dword [ebp - 0xa90], eax
mov ecx, dword [ebp - 0xa94]
or ecx, dword [ebp - 0xa90]
je 0x1001d16e
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x1f8], edx
jmp 0x1001d178
movsx eax, word [ebp - 0x14]
mov dword [ebp - 0x1f8], eax
mov cl, byte [ebp - 0x1f8]
mov byte [0x1009b0ba], cl
mov edx, dword [0x1009b198]
mov eax, dword [0x1009b19c]
mov dword [ebp - 0x124c], eax
mov ecx, 4
imul eax, ecx, 0xe0d
mov dword [eax + 0x1014e400], edx
movsx ecx, byte [ebp - 1]
mov dword [ebp - 0x2c], ecx
movsx edx, byte [ebp - 1]
test edx, edx
jne 0x1001d1c9
xor eax, eax
mov dword [ebp - 0x7c0], 1
mov dword [ebp - 0x7bc], eax
jmp 0x1001d1d4
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c0], xmm0
mov ecx, dword [0x1009b138]
sub ecx, dword [ebp - 0x7c0]
mov esi, dword [0x1009b13c]
sbb esi, dword [ebp - 0x7bc]
movzx eax, byte [0x1009b07f]
add eax, dword [ebp - 0x38]
cdq
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov byte [0x1009b0ee], al
mov edx, dword [ebp - 0xd4]
add edx, 0x113
mov dword [ebp - 0x124], edx
mov ax, word [ebp - 0x14]
add ax, 1
mov word [ebp - 0x14], ax
mov byte [0x1009b0bb], 0xa8
movzx eax, word [0x1009b184]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x1250], eax
add ecx, edx
movzx eax, word [0x1009b184]
cdq
add eax, ecx
mov word [0x1009b184], ax
mov ecx, dword [ebp - 0x40]
sub ecx, dword [ebp - 0x4c]
xor ecx, dword [ebp - 0x40]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], 4
movsx edx, byte [ebp - 5]
movzx eax, word [ebp - 0x24]
add edx, eax
mov byte [0x1009b0ef], dl
mov ecx, dword [ebp - 0xd4]
add ecx, 0x163
mov dword [ebp - 0xb4], ecx
movsx edx, byte [ebp - 5]
cmp edx, dword [0x1009b190]
jbe 0x1001d2a4
push 0x1007e624
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov word [ebp - 0xc], ax
jmp 0x1001d2df
movsx eax, word [0x1009b180]
test eax, eax
je 0x1001d2df
movsx ecx, word [ebp - 0xc]
add ecx, 0x4be9
mov word [ebp - 0x1c], cx
movsx edx, byte [0x1009b0bb]
shl edx, 4
mov dword [0x1009b140], edx
mov eax, dword [0x1009bc7c]
xor ecx, ecx
mov dword [0x1009b150], eax
mov dword [0x1009b154], ecx
mov edx, dword [ebp - 0xd4]
add edx, 0xd1
mov dword [ebp - 0x1254], edx
mov eax, dword [ebp - 0x48]
or eax, dword [ebp - 0x44]
jne 0x1001d305
mov dword [ebp - 0x1fc], 1
jmp 0x1001d30f
mov dword [ebp - 0x1fc], 0
mov ecx, 0x6c562fe6
sub ecx, dword [ebp - 0x1fc]
mov dword [0x1009b1a0], ecx
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
mov dword [ebp - 0xa9c], edx
mov dword [ebp - 0xa98], eax
mov ecx, dword [ebp - 0xa9c]
or ecx, dword [ebp - 0xa98]
jne 0x1001d351
mov dword [ebp - 0x200], 1
jmp 0x1001d35b
mov dword [ebp - 0x200], 0
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x1009b198]
mov ecx, dword [0x1009b19c]
mov dword [ebp - 0x1258], ecx
and edx, eax
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x200]
sub edx, eax
mov dword [ebp - 0x40], edx
mov ecx, dword [0x1009b140]
sub ecx, 0x7a0cefe0
xor edx, edx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], edx
movzx eax, byte [0x1009b0a6]
imul ecx, eax, 0xf3
mov dword [0x1009b1a0], ecx
mov edx, dword [0x1009bc7c]
xor eax, eax
mov dword [0x1009b198], edx
mov dword [0x1009b19c], eax
mov ecx, dword [ebp - 0x4c]
add ecx, 0x56add7d3
mov dword [0x1009b14c], ecx
mov edx, dword [0x1009bc7c]
mov dword [ebp - 0xd8], edx
xor eax, eax
mov ecx, dword [ebp - 0x48]
sub ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x44]
sbb edx, eax
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], edx
movzx eax, byte [ebp - 2]
imul ecx, eax, 0x9b971388
mov word [0x1009b158], cx
movzx edx, byte [0x1009b0a6]
add edx, 0xb7
mov word [ebp - 0x20], dx
movsx eax, byte [ebp - 5]
test eax, eax
jne 0x1001d41d
mov dword [ebp - 0x204], 1
jmp 0x1001d427
mov dword [ebp - 0x204], 0
mov ecx, dword [ebp - 0x38]
not ecx
xor ecx, dword [ebp - 0x204]
jne 0x1001d440
mov dword [ebp - 0x208], 1
jmp 0x1001d44a
mov dword [ebp - 0x208], 0
movsx edx, word [ebp - 0x1c]
not edx
mov eax, edx
imul eax, dword [ebp - 0x208]
cdq
mov dword [0x1009b198], eax
mov dword [0x1009b19c], edx
movzx eax, byte [0x1009b0ee]
movsx ecx, word [ebp - 0x1c]
add eax, ecx
movzx edx, byte [0x1009b0ee]
sub edx, eax
mov byte [0x1009b0ee], dl
mov eax, dword [0x1009b14c]
cdq
mov ecx, eax
add ecx, dword [0x1009b138]
mov eax, dword [0x1009b14c]
cdq
and eax, ecx
mov dword [0x1009b14c], eax
mov edx, dword [ebp - 0xd8]
add edx, 0x1fb
mov dword [ebp - 0x424], edx
mov eax, dword [0x1009b140]
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movzx eax, word [ebp - 0x10]
xor eax, 0xe9ea
mov dword [0x1009b14c], eax
mov eax, dword [0x1009b14c]
cdq
sub eax, 0x71f432d9
sbb edx, 0x43d5
mov dword [0x1009b150], eax
mov dword [0x1009b154], edx
movsx eax, byte [ebp - 4]
cdq
and eax, 0xdafd66fd
mov byte [0x1009b07e], al
mov ecx, 4
imul edx, ecx, 0xb16a
mov eax, dword [ebp - 0x40]
add eax, dword [edx + 0x1018a070]
mov dword [ebp - 0x40], eax
mov ecx, dword [0x1009b144]
imul ecx, dword [0x1009b1a0]
mov dword [0x1009b144], ecx
mov edx, dword [ebp - 0xd8]
add edx, 0x3ec
mov dword [ebp - 0x9c4], edx
mov eax, dword [ebp - 0xd8]
add eax, 0xea
mov dword [ebp - 0x9c0], eax
mov byte [ebp - 5], 2
movsx ecx, word [ebp - 0x18]
imul edx, ecx, 0x9a7cff67
xor eax, eax
mov dword [0x1009b130], edx
mov dword [0x1009b134], eax
mov cl, byte [0x1009bc7c]
mov byte [0x1009b0ba], cl
movsx edx, word [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
sub eax, edx
mov ecx, dword [ebp - 0x2c]
sub ecx, eax
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0xaa4], edx
mov dword [ebp - 0xaa0], eax
mov ecx, dword [ebp - 0xaa4]
or ecx, dword [ebp - 0xaa0]
jne 0x1001d5a4
mov dword [ebp - 0x20c], 1
jmp 0x1001d5ae
mov dword [ebp - 0x20c], 0
movzx eax, byte [0x1009b033]
movsx edx, word [ebp - 0xc]
add edx, dword [ebp - 0x20c]
sub eax, edx
cdq
mov ecx, eax
mov esi, edx
movsx eax, byte [0x1009b0a7]
cdq
mov edi, dword [0x1009b150]
mov ebx, dword [0x1009b154]
add edi, eax
adc ebx, edx
movzx eax, word [0x1009b158]
sub eax, dword [ebp - 0x2c]
cdq
add edi, eax
adc ebx, edx
push ebx
push edi
push esi
push ecx
call fcn.1006c090
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xaac], edx
mov dword [ebp - 0xaa8], eax
mov ecx, dword [ebp - 0xaac]
or ecx, dword [ebp - 0xaa8]
jne 0x1001d628
mov dword [ebp - 0x210], 1
jmp 0x1001d632
mov dword [ebp - 0x210], 0
movzx edx, byte [ebp - 7]
add edx, dword [ebp - 0x40]
movzx eax, byte [0x1009b0ee]
add eax, dword [0x1009b190]
add edx, eax
mov ecx, edx
movzx eax, word [ebp - 0x20]
and eax, dword [ebp - 0x210]
cdq
mov esi, eax
movzx eax, word [0x1009b184]
cdq
mov edx, dword [0x1009b138]
sub edx, eax
add esi, edx
xor ecx, esi
mov byte [0x1009b0ba], cl
mov al, byte [ebp - 5]
mov byte [ebp - 0xdc], al
cmp byte [ebp - 0xdc], 0
je 0x1001d69a
cmp byte [ebp - 0xdc], 1
je 0x1001d6bd
cmp byte [ebp - 0xdc], 2
je 0x1001d6ef
jmp 0x1001d7ed
mov ecx, dword [0x1009bc7c]
mov dword [ebp - 0x28], ecx
movsx eax, word [ebp - 0xc]
sub eax, 0x124c492b
cdq
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
jmp 0x1001d7ed
movzx eax, word [ebp - 0x24]
cdq
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
sub ecx, eax
sbb esi, edx
mov dword [0x1009b1a8], ecx
mov dword [0x1009b1ac], esi
movzx edx, word [ebp - 0x20]
mov eax, dword [ebp - 0x38]
add eax, edx
mov dword [ebp - 0x38], eax
jmp 0x1001d7ed
mov ecx, dword [0x1009b148]
add ecx, 0xbac070fd
mov dword [0x1009b140], ecx
mov eax, dword [0x1009b188]
cdq
add eax, 0x30b13542
adc edx, 0x94f9c
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
mov edx, dword [ebp - 0x48]
sub edx, 0xa0310586
mov dword [0x1009b144], edx
movzx eax, word [ebp - 0x24]
test eax, eax
jne 0x1001d740
mov dword [ebp - 0x214], 1
jmp 0x1001d74a
mov dword [ebp - 0x214], 0
movsx eax, word [ebp - 0xc]
cdq
mov ecx, dword [0x1009b1ac]
add eax, dword [0x1009b1a8]
adc edx, ecx
mov dword [ebp - 0xab4], eax
mov dword [ebp - 0xab0], edx
mov edx, dword [ebp - 0xab4]
or edx, dword [ebp - 0xab0]
jne 0x1001d783
mov dword [ebp - 0x218], 1
jmp 0x1001d78d
mov dword [ebp - 0x218], 0
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov edx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
push esi
push edx
push ecx
push eax
call fcn.1006c090
mov ecx, eax
mov esi, edx
movzx eax, byte [0x1009b033]
sub eax, dword [ebp - 0x214]
cdq
add ecx, eax
adc esi, edx
movzx edx, byte [0x1009b0ee]
sub edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x218]
sub eax, edx
cdq
sub ecx, eax
sbb esi, edx
not ecx
not esi
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], esi
movsx eax, word [ebp - 0x14]
add eax, 0xfe97
mov byte [0x1009b0bb], al
mov ecx, dword [0x1009bc7c]
mov dword [ebp - 0xe0], ecx
mov edx, dword [ebp - 0xe0]
add edx, 0x251
mov dword [ebp - 0x9f4], edx
movsx eax, word [ebp - 0x18]
push eax
call dword [sym.imp.USER32.dll_IsIconic]
xor ecx, ecx
mov dword [0x1009b168], eax
mov dword [0x1009b16c], ecx
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
mov dword [ebp - 0xabc], edx
mov dword [ebp - 0xab8], eax
mov ecx, dword [ebp - 0xabc]
or ecx, dword [ebp - 0xab8]
je 0x1001d884
movzx eax, byte [0x1009b033]
cdq
add eax, 0x2d9ebec6
mov byte [ebp - 5], al
movzx eax, byte [ebp - 2]
cdq
sub eax, 0x4325c1d3
sbb edx, 0xec551
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov edx, dword [0x1009b148]
add edx, 0xc25f
movzx eax, word [ebp - 0x24]
sub eax, edx
mov word [ebp - 0x24], ax
mov ecx, dword [ebp - 0xe0]
add ecx, 0x344
mov dword [ebp - 0x9fc], ecx
movzx edx, byte [ebp - 2]
add edx, dword [0x1009b18c]
mov dword [0x1009b18c], edx
movsx eax, byte [0x1009b0a7]
add eax, 0xbb
mov dword [ebp - 0x3c], eax
movsx ecx, byte [ebp - 5]
movzx edx, word [0x1009b184]
xor ecx, edx
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0xe0]
add eax, 0x365
mov dword [ebp - 0x9f8], eax
movzx eax, byte [0x1009b0a6]
cdq
mov ecx, eax
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
mov dword [ebp - 0x125c], eax
add ecx, edx
movzx eax, byte [0x1009b0a6]
cdq
sub eax, ecx
mov byte [0x1009b0a6], al
mov cx, word [0x1009bc7c]
mov word [ebp - 0xc], cx
movzx eax, byte [0x1009b01f]
cdq
add eax, dword [ebp - 0x48]
adc edx, dword [ebp - 0x44]
mov dword [ebp - 0xac4], eax
mov dword [ebp - 0xac0], edx
mov edx, dword [ebp - 0xac4]
or edx, dword [ebp - 0xac0]
jne 0x1001d943
mov eax, 1
mov word [ebp - 0x8a], ax
jmp 0x1001d94c
xor ecx, ecx
mov word [ebp - 0x8a], cx
mov dx, word [ebp - 0x8a]
mov word [0x1009b184], dx
cmp dword [ebp - 0x40], 0
jne 0x1001d96c
mov dword [ebp - 0x21c], 1
jmp 0x1001d976
mov dword [ebp - 0x21c], 0
mov eax, dword [ebp - 0x21c]
add eax, dword [ebp - 0x2c]
not eax
mov byte [ebp - 5], al
mov ecx, dword [0x1009b190]
mov edx, 4
imul eax, edx, 0x5df
mov dword [eax + 0x1014e400], ecx
movzx eax, byte [0x1009b0ef]
cdq
mov ecx, eax
mov esi, edx
xor ecx, dword [0x1009b178]
xor esi, dword [0x1009b17c]
movzx eax, byte [0x1009b07f]
cdq
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov byte [0x1009b0ba], al
movsx eax, byte [ebp - 5]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x1260], eax
sub ecx, edx
movsx eax, byte [ebp - 5]
cdq
sub eax, ecx
mov byte [ebp - 5], al
mov ecx, dword [0x1009b14c]
sub ecx, 1
mov dword [0x1009b14c], ecx
cmp dword [ebp - 0x28], 0
jne 0x1001da09
mov dword [ebp - 0x220], 1
jmp 0x1001da13
mov dword [ebp - 0x220], 0
movzx edx, word [ebp - 0x20]
test edx, edx
jne 0x1001da27
mov dword [ebp - 0x224], 1
jmp 0x1001da31
mov dword [ebp - 0x224], 0
movsx eax, word [ebp - 0x1c]
add eax, dword [ebp - 0x220]
movzx ecx, word [ebp - 0x10]
sub ecx, dword [ebp - 0x224]
xor eax, ecx
mov byte [0x1009b01f], al
movzx edx, byte [0x1009b033]
imul edx, dword [ebp - 0x28]
add edx, dword [ebp - 0x28]
mov dword [ebp - 0x28], edx
movzx eax, byte [ebp - 7]
cdq
xor eax, dword [0x1009b178]
xor edx, dword [0x1009b17c]
add eax, dword [0x1009b178]
adc edx, dword [0x1009b17c]
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
movzx eax, word [0x1009b158]
test eax, eax
je 0x1001dca4
movzx eax, byte [ebp - 2]
cdq
mov ecx, dword [0x1009b130]
mov esi, dword [0x1009b134]
mov dword [ebp - 0xacc], eax
mov dword [ebp - 0xac8], edx
mov dword [ebp - 0xad4], ecx
mov dword [ebp - 0xad0], esi
mov edx, dword [ebp - 0xac8]
cmp edx, dword [ebp - 0xad0]
jl 0x1001db57
jg 0x1001dadf
mov eax, dword [ebp - 0xacc]
cmp eax, dword [ebp - 0xad4]
jb 0x1001db57
mov eax, dword [ebp - 0x4c]
sub eax, 0xb7
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movzx ecx, word [ebp - 0x20]
add ecx, 0xdb
mov dword [0x1009b148], ecx
mov dl, byte [ebp - 7]
add dl, 1
mov byte [ebp - 7], dl
mov al, byte [ebp - 6]
add al, 1
mov byte [ebp - 6], al
movzx ecx, byte [0x1009b033]
movzx edx, word [ebp - 0x10]
lea eax, [edx + ecx + 0x4e75af15]
mov word [ebp - 0x10], ax
mov esi, dword [ebp - 0x28]
xor edi, edi
push 0
push 0x15d6
mov ecx, dword [0x1009b13c]
push ecx
mov edx, dword [0x1009b138]
push edx
call fcn.1006c090
not eax
not edx
and esi, eax
and edi, edx
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], edi
jmp 0x1001dca4
cmp dword [0x1009b170], 0
jne 0x1001db74
movsx eax, byte [ebp - 5]
test eax, eax
jne 0x1001db74
mov dword [ebp - 0x228], 0
jmp 0x1001db7e
mov dword [ebp - 0x228], 1
mov ecx, dword [0x1009b178]
or ecx, dword [0x1009b17c]
jne 0x1001dba3
movsx edx, word [0x1009b180]
test edx, edx
jne 0x1001dba3
mov dword [ebp - 0x22c], 0
jmp 0x1001dbad
mov dword [ebp - 0x22c], 1
mov eax, dword [ebp - 0x228]
cmp eax, dword [ebp - 0x22c]
jg 0x1001dca4
mov dword [ebp - 0x4c], 0x72
mov ecx, dword [0x1009b178]
add ecx, 0x1c6f
mov dword [ebp - 0x38], ecx
movzx edx, byte [0x1009b0ef]
test edx, edx
jne 0x1001dbec
mov dword [ebp - 0x230], 1
jmp 0x1001dbf6
mov dword [ebp - 0x230], 0
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x2c], eax
movzx ecx, word [0x1009b158]
test ecx, ecx
jne 0x1001dc16
mov dword [ebp - 0x234], 1
jmp 0x1001dc20
mov dword [ebp - 0x234], 0
movsx eax, word [ebp - 0x1c]
add eax, dword [ebp - 0x234]
not eax
cdq
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov esi, eax
movsx eax, word [ebp - 0xc]
xor eax, dword [ebp - 0x38]
cdq
mov edi, eax
movsx eax, byte [ebp - 3]
cdq
push edx
push eax
mov edx, dword [0x1009b164]
push edx
mov eax, dword [0x1009b160]
push eax
call fcn.1006c090
not eax
sub edi, eax
and esi, edi
mov word [ebp - 0x24], si
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov dword [ebp - 0x1264], edx
mov word [ebp - 0x10], cx
mov ecx, dword [0x1009b148]
movsx eax, byte [ebp - 5]
cdq
xor eax, dword [0x1009b178]
add ecx, eax
movzx eax, word [ebp - 0x10]
cdq
sub ecx, eax
mov byte [ebp - 6], cl
mov dword [ebp - 0x24c], 0
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
add edx, dword [ebp - 0x48]
adc eax, dword [ebp - 0x44]
mov ecx, dword [0x1009b150]
mov esi, dword [0x1009b154]
push eax
push edx
push esi
push ecx
call fcn.1006c090
mov dword [0x1009b150], eax
mov dword [0x1009b154], edx
xor edx, edx
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
sub eax, dword [0x1009b170]
sbb ecx, edx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], ecx
movzx edx, word [ebp - 0x20]
add edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
sub eax, edx
mov dword [ebp - 0x28], eax
movsx ecx, word [ebp - 0x18]
sar ecx, 3
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x40c], 0
mov dword [ebp - 0x648], 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov byte [ebp - 1], al
mov edx, dword [0x1009b14c]
cmp dword [0x1009b1b0], edx
jae 0x1001dd45
mov dword [ebp - 0x238], 1
jmp 0x1001dd4f
mov dword [ebp - 0x238], 0
cmp dword [0x1009b1b0], 0x5e
jae 0x1001dd64
mov dword [ebp - 0x23c], 1
jmp 0x1001dd6e
mov dword [ebp - 0x23c], 0
mov eax, dword [ebp - 0x238]
cmp eax, dword [ebp - 0x23c]
jge 0x1001de89
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0xadc], ecx
mov dword [ebp - 0xad8], edx
mov eax, dword [ebp - 0xadc]
or eax, dword [ebp - 0xad8]
je 0x1001ddb6
movsx eax, byte [0x1009b0a7]
cdq
mov dword [ebp - 0x7c8], eax
mov dword [ebp - 0x7c4], edx
jmp 0x1001ddc8
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x7c8], ecx
mov dword [ebp - 0x7c4], edx
mov ax, word [ebp - 0x7c8]
mov word [ebp - 0x1c], ax
mov eax, dword [ebp - 0x38]
cdq
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
movzx edx, byte [0x1009b07f]
sub edx, dword [ebp - 0x2c]
movzx eax, byte [0x1009b07f]
xor eax, edx
mov byte [0x1009b07f], al
mov eax, dword [ebp - 0x2c]
cdq
sub eax, 0xd53e5b82
mov byte [ebp - 5], al
cmp dword [ebp - 0x28], 0
jne 0x1001de2d
mov dword [ebp - 0x240], 1
jmp 0x1001de37
mov dword [ebp - 0x240], 0
movsx ecx, word [ebp - 0x1c]
imul eax, ecx, 0x378
cdq
xor ecx, ecx
mov esi, dword [0x1009b1a8]
mov edi, dword [0x1009b1ac]
sub esi, dword [0x1009b1a0]
sbb edi, ecx
push edi
push esi
push edx
push eax
call fcn.1006c090
mov ecx, eax
movsx eax, word [ebp - 0xc]
imul eax, dword [ebp - 0x240]
movzx edx, byte [0x1009b07f]
movzx esi, byte [ebp - 7]
add edx, esi
imul eax, edx
cdq
add ecx, eax
not ecx
mov dword [0x1009b148], ecx
mov dword [ebp - 0x248], 0
mov dword [ebp - 0xa60], 0
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
movzx eax, byte [0x1009b0ef]
cdq
mov dword [ebp - 0xae4], ecx
mov dword [ebp - 0xae0], esi
mov dword [ebp - 0xaec], eax
mov dword [ebp - 0xae8], edx
mov edx, dword [ebp - 0xae4]
cmp edx, dword [ebp - 0xaec]
jne 0x1001dee5
mov eax, dword [ebp - 0xae0]
cmp eax, dword [ebp - 0xae8]
je 0x1001df19
movzx eax, byte [ebp - 2]
sub eax, 0xcadc
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov ecx, dword [0x1009b168]
mov edx, dword [0x1009b16c]
mov dword [ebp - 0x1268], edx
mov dword [ebp - 0x4c], ecx
mov dword [0x1009b18c], 0x8aac9a1
jmp 0x1001dfa4
cmp dword [ebp - 0x38], 0
jne 0x1001df42
movsx eax, byte [ebp - 3]
add eax, 0x2fea7f82
mov dword [ebp - 0x28], eax
movsx eax, word [ebp - 0x14]
sub eax, 0x45f0
cdq
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
jmp 0x1001dfa4
movzx ecx, byte [ebp - 7]
not ecx
test ecx, ecx
je 0x1001dfa4
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov cl, 8
call fcn.1006c1a0
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
push 0
push 0x6faaeb1
push eax
push edx
call fcn.1006c090
mov dword [ebp - 0x28], eax
movzx ecx, word [0x1009b158]
add ecx, 0x4a8d753e
mov word [ebp - 0x14], cx
movsx edx, byte [ebp - 4]
movsx eax, byte [ebp - 4]
xor edx, eax
movsx ecx, byte [ebp - 4]
add ecx, edx
mov byte [ebp - 4], cl
mov dword [ebp - 0x408], 0
mov dword [ebp - 0x9b8], 0
movsx edx, word [ebp - 0x18]
sub edx, dword [0x1009b1a0]
add edx, dword [ebp - 0x3c]
mov byte [ebp - 5], dl
movzx eax, byte [0x1009b0ee]
movsx ecx, byte [0x1009b0ba]
add eax, ecx
movzx edx, word [0x1009b158]
not edx
imul edx, dword [0x1009b1a0]
add eax, edx
not eax
xor ecx, ecx
mov dword [0x1009b130], eax
mov dword [0x1009b134], ecx
mov edx, dword [0x1009b190]
sub edx, 0x19fae4a7
mov word [ebp - 0x1c], dx
mov eax, dword [0x1009b198]
mov ecx, dword [0x1009b19c]
mov dword [ebp - 0xaf4], eax
mov dword [ebp - 0xaf0], ecx
mov edx, dword [ebp - 0xaf4]
or edx, dword [ebp - 0xaf0]
je 0x1001e047
mov eax, dword [0x1009b198]
mov ecx, dword [0x1009b19c]
mov dword [ebp - 0x7d0], eax
mov dword [ebp - 0x7cc], ecx
jmp 0x1001e05b
movzx eax, byte [0x1009b0a6]
cdq
mov dword [ebp - 0x7d0], eax
mov dword [ebp - 0x7cc], edx
mov dl, byte [ebp - 0x7d0]
mov byte [ebp - 7], dl
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x126c], ecx
xor eax, 0x2896
mov word [ebp - 0x20], ax
mov dword [ebp - 0x644], 0
movsx edx, word [ebp - 0x18]
sub edx, dword [0x1009b14c]
mov word [ebp - 0x18], dx
movsx eax, byte [ebp - 5]
movsx ecx, word [ebp - 0x14]
imul eax, ecx
movsx edx, byte [ebp - 5]
sub edx, eax
mov byte [ebp - 5], dl
movsx eax, word [ebp - 0x18]
cdq
add eax, 0x425a9b21
mov byte [ebp - 2], al
mov dword [ebp - 0xa1c], 0
xor eax, eax
mov byte [ebp - 0x64], al
lea ecx, [ebp - 0x16aa]
push ecx
lea ecx, [ebp - 0x64]
call fcn.10002770
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x94], 0
jmp 0x1001e0ee
mov edx, dword [ebp - 0x94]
add edx, 1
mov dword [ebp - 0x94], edx
cmp dword [ebp - 0x94], 0x1e
jae 0x1001e147
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x7c]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0xa54], edx
mov eax, dword [ebp - 0xa54]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x7c]
movsx eax, byte [edx]
xor ecx, eax
mov word [ebp - 0xc2], cx
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x7c]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0xa58], eax
mov ecx, dword [ebp - 0xa58]
mov dx, word [ebp - 0xc2]
mov word [ecx], dx
jmp 0x1001e0df
mov eax, 0x1e
shl eax, 1
mov ecx, dword [ebp - 0x7c]
lea edx, [ecx + eax + 2]
mov dword [ebp - 0xa5c], edx
xor eax, eax
mov ecx, dword [ebp - 0xa5c]
mov word [ecx], ax
mov edx, dword [ebp - 0x7c]
add edx, 2
mov dword [ebp - 0xa64], edx
lea eax, [ebp - 0xa60]
push eax
lea ecx, [ebp - 0x248]
push ecx
mov edx, dword [ebp - 0xa64]
push edx
call fcn.1000e9f0
cmp dword [0x1009b1b0], 0
je 0x1001e1ae
mov eax, dword [0x1009b198]
mov ecx, dword [0x1009b19c]
mov dword [ebp - 0x7d8], eax
mov dword [ebp - 0x7d4], ecx
jmp 0x1001e1bf
movzx eax, word [ebp - 0x10]
cdq
mov dword [ebp - 0x7d8], eax
mov dword [ebp - 0x7d4], edx
mov dx, word [ebp - 0x7d8]
mov word [ebp - 0x18], dx
mov ax, word [0x1009bc7c]
mov word [0x1009b158], ax
movsx ecx, word [ebp - 0x1c]
imul eax, ecx, 0x8e80
cdq
mov dword [0x1009b198], eax
mov dword [0x1009b19c], edx
movzx eax, word [ebp - 0x24]
cdq
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov ecx, eax
movzx eax, word [ebp - 0x24]
cdq
sub eax, ecx
mov word [ebp - 0x24], ax
cmp dword [0x1009b170], 0
jne 0x1001e228
mov dword [ebp - 0x244], 1
jmp 0x1001e232
mov dword [ebp - 0x244], 0
movsx edx, byte [ebp - 4]
mov eax, dword [0x1009b1b0]
add eax, dword [ebp - 0x244]
xor edx, eax
movzx ecx, byte [0x1009b07e]
movzx eax, byte [0x1009b07e]
imul ecx, eax
movsx eax, word [ebp - 0xc]
sub ecx, eax
not ecx
sub edx, ecx
mov word [ebp - 0xc], dx
lea ecx, [ebp - 0x24c]
push ecx
mov edx, dword [ebp - 0x248]
push edx
call fcn.1003cea0
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x24c]
push eax
mov ecx, dword [ebp - 0xf8]
push ecx
push 0x27
push 0x1007e630
call fcn.100304b0
push 0x40
mov edx, dword [ebp - 0xf8]
push edx
lea eax, [ebp - 0x15ac]
push eax
call fcn.10034740
xor ecx, ecx
mov dword [0x1009b130], 0x80ce
mov dword [0x1009b134], ecx
mov dword [0x1009b1a0], 4
movzx edx, word [0x1009b158]
sub edx, 0x7b9eac9a
mov dword [0x1009b188], edx
cmp dword [ebp - 0x3c], 0
jne 0x1001e2eb
mov dword [ebp - 0x250], 1
jmp 0x1001e2f5
mov dword [ebp - 0x250], 0
mov eax, dword [0x1009b150]
mov ecx, dword [0x1009b154]
mov edx, dword [0x1009b16c]
sub eax, dword [0x1009b168]
sbb ecx, edx
mov dword [ebp - 0xafc], eax
mov dword [ebp - 0xaf8], ecx
mov eax, dword [ebp - 0xafc]
or eax, dword [ebp - 0xaf8]
jne 0x1001e334
mov dword [ebp - 0x254], 1
jmp 0x1001e33e
mov dword [ebp - 0x254], 0
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov dword [ebp - 0xb04], ecx
mov dword [ebp - 0xb00], edx
mov eax, dword [ebp - 0xb04]
or eax, dword [ebp - 0xb00]
jne 0x1001e370
mov dword [ebp - 0x258], 1
jmp 0x1001e37a
mov dword [ebp - 0x258], 0
mov ecx, dword [ebp - 0x250]
add ecx, dword [ebp - 0x3c]
not ecx
or ecx, dword [ebp - 0x254]
movsx eax, word [0x1009b180]
sub eax, dword [ebp - 0x258]
cdq
add eax, dword [ebp - 0x48]
sub ecx, eax
mov dword [0x1009b148], ecx
mov eax, dword [0x1009b14c]
cdq
mov ecx, eax
mov esi, edx
sub ecx, 0xb73f3193
sbb esi, 0xdf670
mov eax, dword [ebp - 0x38]
cdq
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov dword [ebp - 0x38], eax
movsx edx, word [ebp - 0xc]
test edx, edx
je 0x1001e3eb
mov eax, dword [0x1009b130]
mov ecx, dword [0x1009b134]
mov dword [ebp - 0x760], eax
mov dword [ebp - 0x75c], ecx
jmp 0x1001e3fd
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x760], edx
mov dword [ebp - 0x75c], eax
mov ecx, dword [ebp - 0x760]
mov edx, dword [ebp - 0x75c]
mov dword [0x1009b198], ecx
mov dword [0x1009b19c], edx
movsx eax, word [ebp - 0xc]
cdq
add eax, dword [0x1009b160]
adc edx, dword [0x1009b164]
add eax, dword [0x1009b160]
adc edx, dword [0x1009b164]
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
mov eax, dword [0x1009b1a0]
mov dword [ebp - 0x25c], eax
cmp dword [ebp - 0x25c], 4
ja case.default.0x1001e45b
mov ecx, dword [ebp - 0x25c]
jmp dword [ecx*4 + 0x10030184]
mov eax, dword [0x1009b188]
cdq
push edx
push eax
mov edx, dword [0x1009b164]
push edx
mov eax, dword [0x1009b160]
push eax
call fcn.1006c090
or eax, dword [0x1009b160]
or edx, dword [0x1009b164]
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
movsx ecx, byte [0x1009b0bb]
mov edx, dword [ebp - 0x3c]
sub edx, ecx
mov dword [ebp - 0x3c], edx
movzx eax, byte [0x1009b01f]
test eax, eax
je 0x1001e4bc
movzx ecx, byte [0x1009b01f]
mov dword [ebp - 0x260], ecx
jmp 0x1001e4c6
movsx edx, byte [ebp - 5]
mov dword [ebp - 0x260], edx
mov eax, dword [ebp - 0x260]
mov dword [0x1009b1a0], eax
mov cl, byte [ebp - 1]
sub cl, 1
mov byte [ebp - 1], cl
movzx edx, word [ebp - 0x24]
movsx eax, byte [0x1009b0ba]
add edx, eax
movzx ecx, word [ebp - 0x24]
imul ecx, edx
mov word [ebp - 0x24], cx
jmp case.default.0x1001e45b
movzx eax, word [ebp - 0x10]
cdq
mov ecx, eax
mov esi, edx
sub ecx, 0x629bc0ab
sbb esi, 0x41f11
movzx eax, word [ebp - 0x20]
cdq
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov word [ebp - 0x20], ax
mov edx, dword [0x1009b148]
add edx, dword [ebp - 0x28]
mov eax, dword [0x1009b148]
imul eax, edx
mov dword [0x1009b148], eax
movsx eax, byte [ebp - 6]
cdq
mov ecx, dword [0x1009b150]
mov esi, dword [0x1009b154]
not ecx
not esi
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov word [0x1009b184], ax
jmp case.default.0x1001e45b
movsx edx, word [ebp - 0x18]
shl edx, 1
mov byte [0x1009b0bb], dl
mov byte [ebp - 4], 0x6e
movzx eax, byte [ebp - 7]
movzx ecx, byte [0x1009b033]
sub eax, ecx
mov byte [ebp - 7], al
movsx edx, word [ebp - 0x18]
sar edx, 3
mov byte [0x1009b07f], dl
movsx eax, byte [0x1009b0ba]
mov ecx, 4
imul edx, ecx, 0xa339
mov dword [edx + 0x10223810], eax
jmp case.default.0x1001e45b
movsx eax, word [ebp - 0x14]
test eax, eax
jne 0x1001e5b2
mov byte [ebp - 0x55], 1
jmp 0x1001e5b6
mov byte [ebp - 0x55], 0
mov cl, byte [ebp - 0x55]
mov byte [ebp - 5], cl
mov edx, dword [0x1009bc7c]
xor eax, eax
mov dword [0x1009b198], edx
mov dword [0x1009b19c], eax
movzx ecx, word [ebp - 0x10]
sub ecx, dword [0x1009b14c]
mov word [ebp - 0x10], cx
mov edx, dword [0x1009b198]
mov eax, dword [0x1009b19c]
mov dword [ebp - 0x1270], eax
add edx, 0x39
mov byte [ebp - 7], dl
jmp case.default.0x1001e45b
movzx ecx, word [ebp - 0x10]
mov edx, dword [ebp - 0x4c]
sub edx, ecx
mov dword [0x1009b1b0], edx
movzx eax, word [ebp - 0x10]
movzx ecx, word [ebp - 0x24]
not ecx
add eax, ecx
mov word [0x1009b180], ax
xor edx, edx
mov eax, dword [0x1009b130]
mov ecx, dword [0x1009b134]
add eax, dword [ebp - 0x3c]
adc ecx, edx
mov dword [ebp - 0xb0c], eax
mov dword [ebp - 0xb08], ecx
mov edx, dword [0x1009b138]
cmp edx, dword [ebp - 0xb0c]
jne 0x1001e7ea
mov eax, dword [0x1009b13c]
cmp eax, dword [ebp - 0xb08]
jne 0x1001e7ea
mov ecx, dword [ebp - 0x48]
sub ecx, dword [0x1009b160]
mov edx, dword [ebp - 0x44]
sbb edx, dword [0x1009b164]
mov eax, dword [ebp - 0x48]
sub eax, ecx
mov ecx, dword [ebp - 0x44]
sbb ecx, edx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
movzx edx, byte [ebp - 2]
sub edx, dword [ebp - 0x3c]
movzx eax, byte [ebp - 2]
sub eax, edx
mov byte [ebp - 2], al
movzx ecx, byte [0x1009b0ef]
mov edx, dword [ebp - 0x3c]
lea eax, [ecx + edx - 0xe5]
mov byte [0x1009b0ef], al
mov dword [0x1009b190], 0x429b
mov dword [ebp - 0xe4], 0x1b4d
mov ecx, dword [0x1009b14c]
add ecx, 0xb520
mov byte [ebp - 7], cl
movzx edx, byte [0x1009b07e]
movsx eax, word [ebp - 0x14]
add edx, eax
mov byte [0x1009b07e], dl
movsx eax, byte [ebp - 1]
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0xe4], 0x19bc
jle 0x1001e709
call dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [0x1009b01f], al
mov ecx, dword [ebp - 0xe4]
sub ecx, 1
mov dword [ebp - 0xe4], ecx
jmp 0x1001e6e1
mov eax, dword [0x1009b140]
cdq
mov ecx, dword [ebp - 0x3c]
xor esi, esi
add ecx, 0x546079f5
adc esi, 0xe2fbe
mov dword [ebp - 0xb14], eax
mov dword [ebp - 0xb10], edx
mov dword [ebp - 0xb1c], ecx
mov dword [ebp - 0xb18], esi
mov edx, dword [ebp - 0xb14]
cmp edx, dword [ebp - 0xb1c]
jne 0x1001e7ea
mov eax, dword [ebp - 0xb10]
cmp eax, dword [ebp - 0xb18]
jne 0x1001e7ea
movsx eax, word [ebp - 0x14]
cdq
mov ecx, dword [0x1009b130]
mov esi, dword [0x1009b134]
add ecx, eax
adc esi, edx
mov dword [0x1009b130], ecx
mov dword [0x1009b134], esi
movsx edx, word [ebp - 0x18]
imul eax, edx, 0x72
mov dword [0x1009b18c], eax
movsx ecx, byte [0x1009b0a7]
movsx edx, word [ebp - 0x1c]
sub ecx, edx
movsx eax, byte [0x1009b0a7]
add eax, ecx
mov byte [0x1009b0a7], al
jmp 0x1001e2aa
movsx edx, byte [ebp - 6]
shl edx, 5
mov dword [0x1009b190], edx
mov eax, 4
imul ecx, eax, 0x3a42
mov eax, dword [ecx + 0x102fea60]
cdq
mov dword [0x1009b150], eax
mov dword [0x1009b154], edx
movsx eax, byte [ebp - 5]
cdq
mov ecx, dword [0x1009b130]
mov esi, dword [0x1009b134]
add ecx, eax
adc esi, edx
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
push esi
push ecx
push eax
push edx
call fcn.1006c090
mov dword [0x1009b130], eax
mov dword [0x1009b134], edx
movsx ecx, byte [0x1009b0bb]
movzx edx, byte [ebp - 2]
add ecx, edx
movsx eax, byte [0x1009b0bb]
add eax, ecx
mov byte [0x1009b0bb], al
movsx ecx, byte [ebp - 4]
movzx edx, byte [0x1009b01f]
imul ecx, edx
mov byte [ebp - 4], cl
movzx eax, word [ebp - 0x15ac]
cmp eax, 0x5a4d
jne 0x100226e6
mov ecx, dword [ebp - 0x28]
cmp ecx, dword [ebp - 0x28]
je 0x1001eadc
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
not edx
not eax
mov dword [ebp - 0xb24], edx
mov dword [ebp - 0xb20], eax
mov ecx, dword [ebp - 0xb24]
or ecx, dword [ebp - 0xb20]
je 0x1001e9cf
movzx edx, byte [ebp - 2]
test edx, edx
jne 0x1001e8ce
mov dword [ebp - 0x264], 1
jmp 0x1001e8d8
mov dword [ebp - 0x264], 0
cmp dword [0x1009b140], 0
jne 0x1001e8ed
mov dword [ebp - 0x268], 1
jmp 0x1001e8f7
mov dword [ebp - 0x268], 0
movzx eax, byte [0x1009b033]
test eax, eax
jne 0x1001e90e
mov dword [ebp - 0x26c], 1
jmp 0x1001e918
mov dword [ebp - 0x26c], 0
mov ecx, dword [ebp - 0x264]
sub ecx, dword [0x1009b1b0]
movsx edx, word [ebp - 0x18]
add edx, dword [ebp - 0x268]
imul ecx, edx
not ecx
movzx eax, byte [0x1009b0ee]
movzx edx, word [0x1009b184]
mov esi, dword [ebp - 0x26c]
sub esi, edx
add eax, esi
add ecx, eax
mov word [ebp - 0x1c], cx
cmp dword [ebp - 0x3c], 0
je 0x1001e970
mov eax, dword [0x1009b1a8]
mov ecx, dword [0x1009b1ac]
mov dword [ebp - 0x7e0], eax
mov dword [ebp - 0x7dc], ecx
jmp 0x1001e982
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x7e0], edx
mov dword [ebp - 0x7dc], eax
mov ecx, dword [ebp - 0x7e0]
mov dword [ebp - 0x3c], ecx
mov edx, dword [0x1009b140]
sub edx, 0xa718
mov dword [0x1009b1b0], edx
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
sub eax, 0x36d8
sbb ecx, 0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
movzx dx, byte [0x1009b07f]
mov word [0x1009b180], dx
mov al, byte [0x1009bc7c]
mov byte [0x1009b0bb], al
jmp 0x1001eada
cmp dword [0x1009b140], 0
jne 0x1001eada
movsx ecx, byte [0x1009b0a7]
test ecx, ecx
jne 0x1001eada
mov edx, dword [0x1009b138]
or edx, dword [0x1009b13c]
je 0x1001ea12
mov eax, dword [0x1009b178]
mov ecx, dword [0x1009b17c]
mov dword [ebp - 0x7e8], eax
mov dword [ebp - 0x7e4], ecx
jmp 0x1001ea23
mov edx, dword [ebp - 0x28]
xor eax, eax
mov dword [ebp - 0x7e8], edx
mov dword [ebp - 0x7e4], eax
mov cl, byte [ebp - 0x7e8]
mov byte [ebp - 6], cl
movsx edx, word [0x1009b180]
sub edx, dword [ebp - 0x28]
mov dword [ebp - 0x28], edx
movsx eax, byte [ebp - 3]
add eax, 0xcdad
mov byte [ebp - 4], al
mov ecx, dword [ebp - 0x4c]
not ecx
add ecx, 0x353babeb
jne 0x1001ea5e
mov dword [ebp - 0x270], 1
jmp 0x1001ea68
mov dword [ebp - 0x270], 0
movzx edx, word [0x1009b184]
add edx, dword [ebp - 0x40]
xor edx, dword [ebp - 0x270]
jne 0x1001ea86
mov dword [ebp - 0x274], 1
jmp 0x1001ea90
mov dword [ebp - 0x274], 0
movsx eax, word [ebp - 0x14]
movsx ecx, byte [ebp - 3]
imul eax, ecx
mov edx, dword [0x1009b190]
not edx
sub eax, edx
add eax, dword [ebp - 0x274]
mov dword [0x1009b18c], eax
mov eax, dword [0x1009b170]
xor ecx, ecx
mov edx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
push esi
push edx
push ecx
push eax
call fcn.1006c090
mov ecx, dword [0x1009b170]
sub ecx, eax
mov dword [0x1009b170], ecx
jmp 0x1001eb35
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
add ecx, 0xe0e3735c
adc esi, 0
movzx eax, word [ebp - 0x20]
cdq
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov word [ebp - 0x20], ax
movsx eax, byte [0x1009b0a7]
cdq
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov ecx, eax
movsx eax, byte [0x1009b0a7]
cdq
add eax, ecx
mov byte [0x1009b0a7], al
mov dword [0x1009b144], 0xb250
mov dword [0x1009b18c], 0x64
movsx edx, word [ebp - 0x14]
test edx, edx
je 0x1001ec82
mov dword [ebp - 0xe8], 0x68
jmp 0x1001eb66
mov eax, dword [ebp - 0xe8]
sub eax, 1
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0
jle 0x1001ec7d
movzx ecx, byte [0x1009b0a6]
test ecx, ecx
je 0x1001ebe0
mov edx, dword [ebp - 0x3c]
sub edx, 0x936e
xor eax, eax
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], eax
mov ecx, dword [0x1009b148]
add ecx, 1
mov dword [0x1009b148], ecx
movsx eax, byte [ebp - 6]
cdq
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
xor ecx, eax
xor esi, edx
mov dword [0x1009b168], ecx
mov dword [0x1009b16c], esi
mov eax, dword [0x1009b14c]
cdq
push 0xce912
push 0xa679bafa
push edx
push eax
call fcn.1006c090
mov dword [0x1009b14c], eax
jmp 0x1001ec6f
movsx edx, word [ebp - 0x1c]
movzx eax, byte [0x1009b0a6]
sub edx, eax
movsx ecx, word [ebp - 0x1c]
and ecx, edx
mov word [ebp - 0x1c], cx
movzx edx, byte [0x1009b033]
sub edx, dword [ebp - 0x4c]
movzx eax, byte [0x1009b033]
xor eax, edx
mov byte [0x1009b033], al
mov ecx, dword [0x1009b130]
mov edx, dword [0x1009b134]
mov eax, dword [ebp - 0x50]
add ecx, dword [ebp - 0x54]
adc edx, eax
mov dword [ebp - 0xb2c], ecx
mov dword [ebp - 0xb28], edx
mov ecx, dword [ebp - 0xb2c]
or ecx, dword [ebp - 0xb28]
jne 0x1001ec49
mov dword [ebp - 0x278], 1
jmp 0x1001ec53
mov dword [ebp - 0x278], 0
movsx edx, byte [0x1009b0bb]
add edx, dword [ebp - 0x278]
mov word [0x1009b180], dx
mov ax, word [ebp - 0x1c]
mov word [ebp - 0x10], ax
mov cl, byte [ebp - 3]
add cl, 1
mov byte [ebp - 3], cl
jmp 0x1001eb57
jmp 0x1001ed58
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
mov dword [ebp - 0xb34], edx
mov dword [ebp - 0xb30], eax
mov ecx, dword [ebp - 0xb34]
or ecx, dword [ebp - 0xb30]
je 0x1001ed58
mov dx, word [0x1009bc7c]
mov word [ebp - 0x20], dx
mov eax, dword [0x1009b188]
add eax, 0x1529f195
mov byte [0x1009b07e], al
movzx ecx, word [ebp - 0x10]
sub ecx, 0xfb24
mov dword [ebp - 0x40], ecx
mov edx, 8
imul eax, edx, 0x1ca8
mov ecx, dword [0x1009b1a0]
add ecx, dword [eax + 0x10317600]
mov dword [0x1009b1a0], ecx
mov edx, dword [ebp - 0x48]
or edx, dword [ebp - 0x44]
jne 0x1001ed03
mov dword [ebp - 0x27c], 1
jmp 0x1001ed0d
mov dword [ebp - 0x27c], 0
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
xor ecx, 0xffffff84
xor esi, 0xffffffff
xor edx, edx
sub ecx, dword [ebp - 0x28]
sbb esi, edx
movzx eax, byte [0x1009b0ee]
not eax
cdq
mov edi, 0x7427d26b
sub edi, eax
mov ebx, 0xa2576
sbb ebx, edx
movzx eax, word [0x1009b158]
add eax, dword [ebp - 0x27c]
cdq
xor edi, eax
xor ebx, edx
not edi
not ebx
sub ecx, edi
sbb esi, ebx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], esi
movsx eax, byte [ebp - 6]
add eax, 0x64
cmp dword [0x1009b18c], eax
jne 0x1001ef24
mov ecx, dword [ebp - 0x2c]
add ecx, 0x79
cmp dword [0x1009b14c], ecx
jne 0x1001ef24
mov dword [ebp - 0xec], 0x28
movsx edx, byte [0x1009b0ba]
imul eax, edx, 0xd8eb
mov dword [0x1009b144], eax
movzx ecx, byte [ebp - 2]
xor ecx, dword [ebp - 0x4c]
mov byte [ebp - 2], cl
mov edx, dword [ebp - 0x48]
sub edx, 0x20
mov dword [ebp - 0x4c], edx
movsx eax, byte [ebp - 4]
cmp eax, 0x5020b635
jbe 0x1001edf1
movzx ecx, byte [ebp - 7]
not ecx
movsx edx, word [ebp - 0x18]
cmp ecx, edx
jne 0x1001edf1
mov eax, 2
imul ecx, eax, 0xc
mov dx, word [ecx + 0x101c0c30]
mov word [0x1009b184], dx
movsx eax, word [ebp - 0x14]
movsx ecx, word [ebp - 0xc]
add eax, ecx
movsx edx, word [ebp - 0x14]
add edx, eax
mov word [ebp - 0x14], dx
jmp 0x1001ee3f
movsx eax, byte [0x1009b0a7]
sub eax, 0xca
mov dword [ebp - 0x2c], eax
movzx ecx, byte [ebp - 2]
sar ecx, 2
mov word [ebp - 0x18], cx
imul edx, dword [ebp - 0x38], 0x407c
mov byte [0x1009b033], dl
mov eax, dword [0x1009b1b0]
mov ecx, dword [0x1009b198]
mov edx, dword [0x1009b19c]
mov dword [ebp - 0x1274], edx
add eax, ecx
mov ecx, dword [0x1009b1b0]
or ecx, eax
mov dword [0x1009b1b0], ecx
mov edx, dword [ebp - 0xec]
add edx, 1
mov dword [ebp - 0xec], edx
cmp dword [ebp - 0xec], 0x2262
jl 0x1001edac
jmp 0x1001ef24
mov dword [0x1009b18c], 0x64
movzx dx, byte [0x1009b07e]
mov word [ebp - 0x18], dx
mov al, byte [ebp - 5]
mov byte [ebp - 4], al
movsx ecx, byte [ebp - 1]
movsx edx, word [ebp - 0x14]
xor ecx, edx
movsx eax, byte [ebp - 1]
add eax, ecx
mov byte [ebp - 1], al
mov ecx, dword [0x1009b14c]
sub ecx, 0x1b796a59
mov word [ebp - 0x18], cx
movzx edx, byte [0x1009b0a6]
movsx eax, byte [ebp - 5]
sub edx, eax
imul edx, dword [ebp - 0x2c]
mov word [ebp - 0x1c], dx
mov byte [ebp - 3], 0xff
imul ecx, dword [ebp - 0x3c], 0xf1
mov dword [ebp - 0x3c], ecx
mov eax, dword [0x1009b178]
mov edx, dword [0x1009b17c]
mov cl, 5
call fcn.1006c0d0
mov dword [0x1009b170], eax
xor edx, edx
mov eax, dword [0x1009b160]
sub eax, dword [0x1009b1b0]
mov ecx, dword [0x1009b164]
sbb ecx, edx
mov dword [0x1009b160], eax
mov dword [0x1009b164], ecx
movsx eax, word [0x1009b180]
cdq
push 0x12ad6
push 0x665bdbcc
push edx
push eax
call fcn.1006c090
mov byte [ebp - 3], al
mov edx, dword [0x1009bc7c]
mov dword [ebp - 0xf0], edx
mov eax, 4
mov word [ebp - 0x18], ax
xor ecx, ecx
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
add edx, dword [ebp - 0x28]
adc eax, ecx
mov dword [0x1009b1a8], edx
mov dword [0x1009b1ac], eax
mov eax, dword [0x1009b188]
cdq
mov ecx, dword [0x1009b130]
mov edx, dword [0x1009b134]
mov dword [ebp - 0x1278], edx
sub eax, ecx
mov dword [0x1009b188], eax
movsx eax, word [ebp - 0x18]
mov dword [ebp - 0x288], eax
cmp dword [ebp - 0x288], 4
ja case.default.0x1001f047
mov ecx, dword [ebp - 0x288]
jmp dword [ecx*4 + 0x10030198]
mov edx, dword [0x1009b178]
sub edx, 0x286aa697
mov byte [ebp - 2], dl
mov eax, 0xe846a
mov dword [0x1009b130], 0xcdc15cbf
mov dword [0x1009b134], eax
mov eax, dword [0x1009b188]
cdq
mov ecx, eax
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
mov dword [ebp - 0x127c], eax
add ecx, edx
mov eax, dword [0x1009b188]
cdq
sub eax, ecx
mov dword [0x1009b188], eax
mov cl, byte [0x1009b033]
sub cl, 1
mov byte [0x1009b033], cl
mov edx, dword [0x1009b198]
mov eax, dword [0x1009b19c]
mov dword [ebp - 0xb3c], edx
mov dword [ebp - 0xb38], eax
mov ecx, dword [ebp - 0xb3c]
or ecx, dword [ebp - 0xb38]
jne 0x1001f0d9
mov dword [ebp - 0x28c], 1
jmp 0x1001f0e3
mov dword [ebp - 0x28c], 0
mov ecx, 0x10c64576
sub ecx, dword [0x1009b178]
mov esi, 0x14617
sbb esi, dword [0x1009b17c]
movzx eax, word [ebp - 0x24]
add eax, dword [ebp - 0x28c]
not eax
cdq
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov ecx, eax
mov eax, dword [0x1009b14c]
add eax, dword [0x1009b14c]
mov edx, dword [0x1009b140]
sub edx, dword [ebp - 0x2c]
xor eax, edx
cdq
add ecx, eax
mov byte [0x1009b07e], cl
jmp case.default.0x1001f047
mov byte [0x1009b0ef], 4
movsx eax, byte [ebp - 5]
test eax, eax
je 0x1001f152
mov ecx, dword [0x1009b1b0]
mov dword [ebp - 0x290], ecx
jmp 0x1001f15e
mov edx, dword [0x1009b18c]
mov dword [ebp - 0x290], edx
mov ax, word [ebp - 0x290]
mov word [ebp - 0xc], ax
movsx ecx, byte [ebp - 5]
movsx edx, byte [ebp - 3]
add ecx, edx
movsx eax, byte [ebp - 5]
imul eax, ecx
mov byte [ebp - 5], al
movsx eax, byte [ebp - 6]
cdq
mov ecx, eax
movsx eax, byte [ebp - 4]
not eax
cdq
sub eax, dword [ebp - 0x48]
sub ecx, eax
sub ecx, dword [0x1009b1b0]
mov dword [0x1009b144], ecx
mov dx, word [0x1009bc7c]
mov word [ebp - 0xc], dx
mov al, byte [0x1009b138]
mov byte [0x1009b0ee], al
jmp case.default.0x1001f047
movsx eax, byte [0x1009b0bb]
cdq
add eax, 0xbc2d207a
adc edx, 0xac318
mov dword [0x1009b130], eax
mov dword [0x1009b134], edx
movsx eax, byte [ebp - 5]
cdq
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov ecx, eax
movsx eax, byte [ebp - 5]
cdq
sub eax, ecx
mov byte [ebp - 5], al
imul edx, dword [0x1009b170], 0xa764cb3d
mov byte [0x1009b0ef], dl
jmp case.default.0x1001f047
movsx eax, word [ebp - 0xc]
add eax, dword [0x1009b170]
mov ecx, dword [0x1009b170]
sub ecx, eax
mov dword [0x1009b170], ecx
movzx edx, byte [0x1009b033]
add edx, 0x36
mov word [0x1009b180], dx
mov al, byte [ebp - 6]
sub al, 1
mov byte [ebp - 6], al
movzx ecx, word [ebp - 0x24]
add ecx, 0xba71
mov byte [0x1009b0a7], cl
movzx edx, byte [ebp - 2]
xor edx, dword [0x1009b188]
mov byte [ebp - 2], dl
mov eax, dword [0x1009b170]
xor ecx, ecx
mov edx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
push ecx
push eax
push esi
push edx
call fcn.1006c090
mov dword [0x1009b168], eax
mov dword [0x1009b16c], edx
jmp case.default.0x1001f047
mov eax, dword [0x1009b178]
or eax, dword [0x1009b17c]
jne 0x1001f2a7
xor ecx, ecx
mov dword [ebp - 0xb44], 1
mov dword [ebp - 0xb40], ecx
jmp 0x1001f2b2
xorps xmm0, xmm0
movlpd qword [ebp - 0xb44], xmm0
mov edx, dword [ebp - 0x48]
add edx, dword [ebp - 0xb44]
mov eax, 0xd4f8
sub eax, edx
not eax
mov word [ebp - 0x14], ax
imul ecx, dword [ebp - 0x4c], 0x82
mov dword [0x1009b1b0], ecx
mov edx, dword [0x1009b160]
add edx, 0xb5920e7
mov word [ebp - 0x18], dx
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x3c]
add eax, dword [ebp - 0x40]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0xf0]
add ecx, 0x2c5
mov dword [ebp - 0x2a4], ecx
mov edx, dword [str._.well_known_openi]
mov dword [ebp - 0x1190], edx
mov eax, dword [0x1007e65c]
mov dword [ebp - 0x118c], eax
mov ecx, dword [0x1007e660]
mov dword [ebp - 0x1188], ecx
mov edx, dword [0x1007e664]
mov dword [ebp - 0x1184], edx
mov ax, word [0x1007e668]
mov word [ebp - 0x1180], ax
mov cl, byte [0x1007e66a]
mov byte [ebp - 0x117e], cl
lea edx, [ebp - 0x1190]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [0x1009b0bb], al
mov eax, dword [ebp - 0xf0]
add eax, 0x1c1
mov dword [ebp - 0x974], eax
movzx ecx, byte [ebp - 2]
cmp ecx, dword [0x1009b144]
ja case.default.0x1001f44e
mov byte [0x1009b0ee], 4
movsx edx, byte [ebp - 6]
sub edx, 0x87bf
movzx eax, word [ebp - 0x20]
sub eax, edx
mov word [ebp - 0x20], ax
movzx eax, word [0x1009b158]
add eax, dword [ebp - 0x4c]
cdq
mov ecx, dword [ebp - 0x48]
add ecx, 0xc9952579
mov esi, dword [ebp - 0x44]
adc esi, 0
sub eax, ecx
sbb edx, esi
mov dword [ebp - 0xb4c], eax
mov dword [ebp - 0xb48], edx
mov edx, dword [ebp - 0xb4c]
or edx, dword [ebp - 0xb48]
jne 0x1001f3df
mov eax, 1
mov word [ebp - 0x8c], ax
jmp 0x1001f3e8
xor ecx, ecx
mov word [ebp - 0x8c], cx
mov dx, word [ebp - 0x8c]
mov word [ebp - 0x24], dx
movzx eax, word [0x1009b158]
cdq
mov ebx, eax
mov eax, dword [0x1009b1a8]
mov ecx, dword [0x1009b1ac]
mov dword [ebp - 0x1280], ecx
sub ebx, eax
movzx eax, word [ebp - 0x10]
cdq
push 0xfffccf7e
push 0x67f3efbe
push edx
push eax
call fcn.1006c090
sub ebx, eax
mov byte [0x1009b07e], bl
movzx edx, byte [0x1009b0ee]
mov dword [ebp - 0x294], edx
cmp dword [ebp - 0x294], 4
ja case.default.0x1001f44e
mov eax, dword [ebp - 0x294]
jmp dword [eax*4 + 0x100301ac]
movzx ecx, byte [0x1009b07e]
add ecx, 0x24fc7240
mov word [ebp - 0x18], cx
mov dl, byte [0x1009bc7c]
mov byte [0x1009b0bb], dl
movzx eax, byte [0x1009b01f]
cdq
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x1284], edx
sub eax, ecx
not eax
movzx ecx, byte [0x1009b01f]
xor ecx, 0xefda50aa
add eax, ecx
mov byte [ebp - 6], al
movzx edx, byte [0x1009b0ee]
imul eax, edx, 0x7af6
mov dword [0x1009b140], eax
movzx ecx, byte [ebp - 2]
movzx edx, byte [0x1009b07e]
imul edx, dword [0x1009b18c]
add edx, dword [0x1009b140]
sub ecx, edx
mov dword [0x1009b144], ecx
movzx eax, byte [0x1009b0ee]
movsx ecx, word [ebp - 0x1c]
imul eax, ecx
mov byte [0x1009b0ee], al
jmp case.default.0x1001f44e
movsx edx, byte [ebp - 4]
sub edx, 0x6f78d951
mov byte [ebp - 7], dl
movsx eax, byte [ebp - 3]
cdq
mov ecx, eax
add ecx, dword [0x1009b160]
movsx eax, byte [ebp - 3]
cdq
xor eax, ecx
mov byte [ebp - 3], al
movsx edx, word [0x1009b180]
mov eax, dword [ebp - 0x2c]
sub eax, edx
not eax
movzx ecx, word [ebp - 0x20]
mov edx, dword [0x1009b188]
imul edx, ecx
xor eax, edx
mov dword [0x1009b1a0], eax
jmp case.default.0x1001f44e
movsx eax, byte [0x1009b0bb]
mov ecx, dword [0x1009b140]
imul ecx, eax
mov edx, dword [0x1009b140]
add edx, ecx
mov dword [0x1009b140], edx
mov eax, dword [ebp - 0x28]
xor ecx, ecx
push 0xe06c3
push 0x77237ea9
push ecx
push eax
call fcn.1006c090
mov word [ebp - 0x18], ax
movzx eax, byte [ebp - 2]
cdq
mov ecx, dword [ebp - 0x44]
push ecx
mov ecx, dword [ebp - 0x48]
push ecx
push edx
push eax
call fcn.1006c090
mov ecx, eax
movzx eax, byte [ebp - 2]
cdq
add eax, ecx
mov byte [ebp - 2], al
jmp case.default.0x1001f44e
movsx eax, word [ebp - 0x14]
not eax
cdq
mov ecx, dword [0x1009b154]
add eax, dword [0x1009b150]
adc edx, ecx
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
add ecx, dword [0x1009b160]
adc esi, dword [0x1009b164]
add eax, ecx
adc edx, esi
mov dword [ebp - 0xb54], eax
mov dword [ebp - 0xb50], edx
mov edx, dword [ebp - 0xb54]
or edx, dword [ebp - 0xb50]
jne 0x1001f5e1
mov eax, 1
mov word [ebp - 0x8e], ax
jmp 0x1001f5ea
xor ecx, ecx
mov word [ebp - 0x8e], cx
mov dx, word [ebp - 0x8e]
mov word [ebp - 0x20], dx
movzx eax, byte [0x1009b0ee]
add eax, 0xc1
mov byte [ebp - 6], al
movsx eax, byte [ebp - 5]
cdq
sub eax, 0xdbb49494
mov dword [0x1009b1b0], eax
mov ecx, dword [0x1009bc7c]
xor edx, edx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], edx
movsx eax, word [0x1009b180]
imul ecx, eax, 0xd16a6aa4
movsx edx, byte [ebp - 5]
sub edx, ecx
mov byte [ebp - 5], dl
jmp case.default.0x1001f44e
cmp dword [0x1009b18c], 0
jne 0x1001f64e
mov dword [ebp - 0x298], 1
jmp 0x1001f658
mov dword [ebp - 0x298], 0
mov eax, dword [0x1009b1b0]
sub eax, dword [ebp - 0x298]
sub eax, dword [0x1009b190]
mov dword [0x1009b14c], eax
mov byte [0x1009b033], 0xee
mov ecx, dword [0x1009b148]
sub ecx, 0x12
xor edx, edx
add ecx, dword [ebp - 0x48]
adc edx, dword [ebp - 0x44]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0xf0]
add eax, 0x3cd
mov dword [ebp - 0x978], eax
movsx ecx, word [ebp - 0x14]
movzx edx, byte [0x1009b0ee]
cmp ecx, edx
jle 0x1001f6b8
mov dword [ebp - 0x29c], 1
jmp 0x1001f6c2
mov dword [ebp - 0x29c], 0
movsx eax, word [ebp - 0x14]
cmp eax, 0x2d
jle 0x1001f6d7
mov dword [ebp - 0x2a0], 1
jmp 0x1001f6e1
mov dword [ebp - 0x2a0], 0
mov ecx, dword [ebp - 0x29c]
cmp ecx, dword [ebp - 0x2a0]
jl 0x1001f779
mov dword [ebp - 0xf4], 0x305
jmp 0x1001f70e
mov edx, dword [ebp - 0xf4]
sub edx, 1
mov dword [ebp - 0xf4], edx
cmp dword [ebp - 0xf4], 0
jle 0x1001f774
mov eax, dword [0x1009b18c]
sub eax, dword [0x1009b188]
mov dword [0x1009b18c], eax
mov cx, word [ebp - 0x10]
mov byte [ebp - 1], cl
mov edx, dword [0x1009b160]
mov eax, 4
imul ecx, eax, 0x40ab
mov dword [ecx + 0x102b4bf0], edx
mov edx, 2
imul eax, edx, 0x14
mov cl, byte [eax + 0x101c0b48]
mov byte [ebp - 5], cl
movzx edx, byte [0x1009b0ee]
imul edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
sub eax, edx
mov dword [ebp - 0x28], eax
mov cl, byte [ebp - 7]
add cl, 1
mov byte [ebp - 7], cl
jmp 0x1001f6ff
jmp 0x1001f7fa
movzx edx, byte [0x1009b0ef]
movsx eax, word [ebp - 0x14]
movsx ecx, byte [ebp - 1]
imul eax, ecx
add edx, eax
mov byte [0x1009b0a7], dl
movzx eax, byte [0x1009b033]
cdq
add eax, 0xf3271f05
adc edx, 0xb8e71
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
mov edx, dword [ebp - 0x3c]
sub edx, dword [0x1009b190]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x48]
sub eax, dword [0x1009b178]
mov ecx, dword [ebp - 0x44]
sbb ecx, dword [0x1009b17c]
mov edx, dword [ebp - 0x48]
sub edx, eax
mov eax, dword [ebp - 0x44]
sbb eax, ecx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], eax
movzx ecx, byte [0x1009b033]
add ecx, 0x2ff38474
xor edx, edx
mov dword [0x1009b1a8], ecx
mov dword [0x1009b1ac], edx
mov eax, dword [ebp - 0x974]
imul eax, dword [ebp - 0x2a4]
mov ecx, dword [ebp - 0x978]
imul ecx, dword [ebp - 0x2a4]
add ecx, 0x280
cmp eax, ecx
je 0x100226e6
mov edx, dword [str.NdrMesTypeFree3]
mov dword [ebp - 0x11dc], edx
mov eax, dword [0x1007e670]
mov dword [ebp - 0x11d8], eax
mov ecx, dword [0x1007e674]
mov dword [ebp - 0x11d4], ecx
mov edx, dword [0x1007e678]
mov dword [ebp - 0x11d0], edx
lea eax, [ebp - 0x11dc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp - 0x40], eax
mov ecx, dword [0x1009b138]
or ecx, dword [0x1009b13c]
je 0x1001f87d
mov edx, dword [0x1009b148]
mov dword [ebp - 0x2a8], edx
jmp 0x1001f888
mov eax, dword [0x1009b144]
mov dword [ebp - 0x2a8], eax
mov cx, word [ebp - 0x2a8]
mov word [ebp - 0x18], cx
mov edx, dword [0x1009b190]
add edx, dword [ebp - 0x4c]
mov eax, dword [0x1009b190]
imul eax, edx
mov dword [0x1009b190], eax
movzx ecx, byte [0x1009b0ef]
add ecx, 0x33
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0xf8]
push edx
call fcn.1001c350
mov dword [ebp - 0xac], eax
mov byte [0x1009b0ee], 0x9a
movzx eax, word [ebp - 0x24]
mov ecx, dword [0x1009b1b0]
add ecx, eax
mov edx, dword [0x1009b1b0]
sub edx, ecx
mov dword [0x1009b1b0], edx
mov eax, dword [ebp - 0x28]
xor ecx, ecx
xor eax, 0x2e4bc2d
xor ecx, 0xc9ed1
mov dword [0x1009b198], eax
mov dword [0x1009b19c], ecx
cmp dword [0x1009b190], 0
je 0x1001f919
movsx edx, word [ebp - 0x14]
mov dword [ebp - 0x2ac], edx
jmp 0x1001f923
movzx eax, byte [ebp - 2]
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2ac]
cdq
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
mov ecx, 8
imul edx, ecx, 0x42ca
mov eax, dword [edx + 0x10270080]
mov dword [ebp - 0x3c], eax
movzx ecx, byte [ebp - 7]
imul edx, ecx, 0xce
movzx eax, byte [0x1009b0ee]
xor eax, edx
mov byte [0x1009b0ee], al
mov dword [0x1009b1b0], 2
mov ecx, dword [ebp - 0x38]
add ecx, 0xf9686bb
cmp dword [0x1009b1b0], ecx
jne 0x1001f9e6
mov edx, dword [0x1009b170]
add edx, dword [ebp - 0x2c]
cmp edx, 1
jne 0x1001f9e6
call dword [sym.imp.USER32.dll_GetCursor]
mov dword [ebp - 0x97c], eax
mov dword [ebp - 0x980], 0
cmp dword [ebp - 0x97c], 0
je 0x1001f9bc
mov eax, dword [ebp - 0x980]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov dword [ebp - 0x1288], eax
jmp 0x1001f8c8
movzx eax, byte [0x1009b07f]
not eax
mov ecx, 0x63
sub ecx, eax
movzx edx, byte [0x1009b0ef]
movzx eax, byte [0x1009b07f]
sub edx, eax
add ecx, edx
movzx edx, byte [ebp - 7]
sub ecx, edx
mov byte [0x1009b0a7], cl
movsx eax, byte [ebp - 3]
cdq
push 0xc1151
push 0x39489c40
push edx
push eax
call fcn.1006c090
mov dword [0x1009b188], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
add eax, 0x87ed3c31
adc ecx, 0x4a433
mov edx, dword [0x1009b18c]
xor esi, esi
push ecx
push eax
push esi
push edx
call fcn.1006c090
mov dword [0x1009b18c], eax
movzx eax, byte [0x1009b033]
sub eax, 0xc015c39
xor ecx, ecx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], ecx
mov edx, 8
imul ecx, edx, 0x2922
movsx eax, byte [ebp - 1]
cdq
and eax, dword [ecx + 0x1012a9d0]
mov byte [ebp - 1], al
mov edx, dword [ebp - 0x984]
add edx, 0x158
cmp edx, dword [ebp - 0x988]
je 0x100212f0
mov eax, dword [0x1009b138]
or eax, dword [0x1009b13c]
jne 0x1001fab4
mov dword [ebp - 0x2b0], 1
jmp 0x1001fabe
mov dword [ebp - 0x2b0], 0
mov ecx, dword [0x1009b144]
add ecx, dword [ebp - 0x2b0]
jne 0x1001fad8
mov dword [ebp - 0x2b4], 1
jmp 0x1001fae2
mov dword [ebp - 0x2b4], 0
movsx eax, word [ebp - 0x14]
cdq
mov ecx, dword [0x1009b150]
mov esi, dword [0x1009b154]
or ecx, eax
or esi, edx
mov eax, dword [ebp - 0x2c]
cdq
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov ecx, dword [ebp - 0x2b4]
add ecx, dword [ebp - 0x3c]
not ecx
xor esi, esi
add eax, ecx
adc edx, esi
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movsx edx, word [0x1009b180]
add edx, 0xb1
mov byte [ebp - 6], dl
cmp dword [0x1009b1a0], 0
je 0x1001fb41
mov eax, dword [0x1009b18c]
mov dword [ebp - 0x2b8], eax
jmp 0x1001fb4e
movzx ecx, byte [0x1009b0a6]
mov dword [ebp - 0x2b8], ecx
mov dx, word [ebp - 0x2b8]
mov word [0x1009b158], dx
movsx eax, byte [ebp - 6]
movzx ecx, byte [0x1009b0a6]
add eax, ecx
mov byte [ebp - 6], al
movzx eax, byte [0x1009b01f]
cdq
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov byte [0x1009b01f], al
mov eax, dword [ebp - 0x4c]
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movsx edx, byte [ebp - 1]
shl edx, 4
mov dword [0x1009b190], edx
mov eax, dword [0x1009bc7c]
mov dword [ebp - 0xfc], eax
movsx ecx, byte [ebp - 3]
test ecx, ecx
je 0x1001fbf8
mov edx, dword [0x1009b170]
sub edx, 0x505c1da6
mov dword [ebp - 0x4c], edx
movsx eax, byte [0x1009b0ba]
imul eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov cx, word [ebp - 0x20]
add cx, 1
mov word [ebp - 0x20], cx
imul edx, dword [ebp - 0x28], 0xaf
mov byte [ebp - 7], dl
mov al, byte [0x1009bc7c]
mov byte [ebp - 4], al
jmp 0x1001fcc2
mov ecx, 0x39
test ecx, ecx
je 0x1001fc15
movzx edx, word [ebp - 0x24]
test edx, edx
je 0x1001fc15
mov dword [ebp - 0x2bc], 1
jmp 0x1001fc1f
mov dword [ebp - 0x2bc], 0
movsx eax, byte [ebp - 4]
movzx ecx, byte [ebp - 7]
cmp eax, ecx
jle 0x1001fc37
mov dword [ebp - 0x2c0], 1
jmp 0x1001fc41
mov dword [ebp - 0x2c0], 0
mov edx, dword [ebp - 0x2bc]
not edx
cmp edx, dword [ebp - 0x2c0]
jne 0x1001fcc2
mov eax, dword [0x1009bc7c]
mov dword [ebp - 0x40], eax
mov ecx, dword [0x1009b130]
mov edx, dword [0x1009b134]
mov dword [ebp - 0x128c], edx
sub ecx, 0x7abda456
mov byte [0x1009b0bb], cl
movsx eax, byte [ebp - 4]
cdq
mov ecx, dword [0x1009b168]
mov edx, dword [0x1009b16c]
mov dword [ebp - 0x1290], edx
add eax, ecx
mov dword [ebp - 0x2c], eax
movzx eax, byte [0x1009b07f]
cdq
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x1294], edx
sub ecx, eax
mov word [0x1009b158], cx
movsx eax, byte [ebp - 5]
mov ecx, dword [0x1009b148]
add ecx, eax
mov dword [0x1009b148], ecx
mov edx, dword [ebp - 0xfc]
add edx, 0x83
mov dword [ebp - 0x1298], edx
movzx eax, byte [0x1009b0a6]
test eax, eax
jne 0x1001fceb
mov dword [ebp - 0x2c4], 1
jmp 0x1001fcf5
mov dword [ebp - 0x2c4], 0
mov ecx, dword [0x1009b198]
mov edx, dword [0x1009b19c]
mov dword [ebp - 0xb5c], ecx
mov dword [ebp - 0xb58], edx
mov eax, dword [ebp - 0xb5c]
or eax, dword [ebp - 0xb58]
jne 0x1001fd27
mov dword [ebp - 0x2c8], 1
jmp 0x1001fd31
mov dword [ebp - 0x2c8], 0
mov eax, dword [ebp - 0x2c4]
and eax, dword [ebp - 0x2c8]
cdq
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
mov cl, byte [0x1009bc7c]
mov byte [0x1009b0a7], cl
movzx edx, byte [ebp - 2]
imul eax, edx, 0x74166c4c
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
and ecx, 0x7e3c
mov byte [0x1009b0ba], cl
mov edx, dword [ebp - 0xfc]
add edx, 0xa6
mov dword [ebp - 0xb0], edx
mov eax, dword [0x1009b170]
xor ecx, ecx
push ecx
push eax
mov edx, dword [ebp - 0x44]
push edx
mov eax, dword [ebp - 0x48]
push eax
call fcn.1006c090
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
movzx eax, byte [0x1009b0ef]
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
add ecx, eax
adc esi, edx
not ecx
not esi
movzx edx, byte [0x1009b01f]
sub edx, dword [0x1009b1b0]
mov eax, dword [ebp - 0x2c]
not eax
add eax, dword [ebp - 0x4c]
imul edx, eax
xor eax, eax
sub ecx, edx
sbb esi, eax
mov dword [0x1009b168], ecx
mov dword [0x1009b16c], esi
mov ecx, 1
imul edx, ecx, 0x2ebf
mov al, byte [0x1009b07e]
mov byte [edx + 0x102088e8], al
movsx eax, word [ebp - 0x18]
sar eax, 2
cdq
mov dword [0x1009b150], eax
mov dword [0x1009b154], edx
mov ecx, dword [ebp - 0xfc]
add ecx, 0xac
mov dword [ebp - 0x129c], ecx
mov dword [0x1009b14c], 0x475448f6
movsx edx, word [ebp - 0xc]
push edx
call dword [sym.imp.USER32.dll_OpenIcon]
mov dword [0x1009b144], eax
mov eax, dword [ebp - 0x2c]
add eax, 1
cmp dword [0x1009b14c], eax
jne 0x10020832
mov dword [ebp - 0x100], 0x44
mov byte [0x1009b0a7], 0x55
movsx eax, byte [ebp - 5]
cdq
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov byte [ebp - 5], al
movzx eax, byte [0x1009b033]
cdq
mov ecx, dword [0x1009b130]
mov esi, dword [0x1009b134]
add ecx, eax
adc esi, edx
not ecx
not esi
movsx eax, byte [0x1009b0ba]
cdq
add ecx, eax
adc esi, edx
mov dword [0x1009b168], ecx
mov dword [0x1009b16c], esi
mov dx, word [ebp - 0xc]
sub dx, 1
mov word [ebp - 0xc], dx
mov eax, dword [ebp - 0x2c]
cdq
mov ecx, eax
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
mov dword [ebp - 0x12a0], eax
add ecx, edx
mov eax, dword [ebp - 0x2c]
cdq
sub eax, ecx
mov dword [ebp - 0x2c], eax
mov byte [ebp - 2], 4
mov byte [ebp - 1], 4
mov ecx, dword [0x1009b168]
mov edx, dword [0x1009b16c]
mov dword [ebp - 0x12a4], edx
xor ecx, 0x88e53739
mov byte [0x1009b0bb], cl
movzx eax, byte [0x1009b01f]
add eax, 0x86
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
movzx eax, byte [ebp - 2]
mov dword [ebp - 0x2cc], eax
cmp dword [ebp - 0x2cc], 4
ja case.default.0x1001ff2c
mov ecx, dword [ebp - 0x2cc]
jmp dword [ecx*4 + 0x100301c0]
mov edx, dword [0x1009b18c]
xor eax, eax
mov ecx, 8
imul ecx, ecx, 0x788a
mov dword [ecx + 0x10270080], edx
mov dword [ecx + 0x10270084], eax
movsx eax, byte [ebp - 6]
cdq
add eax, 0xf416a1f6
mov edx, dword [0x1009b170]
sub edx, eax
mov dword [0x1009b170], edx
mov al, byte [0x1009b033]
mov byte [0x1009b07f], al
mov ecx, 0xffff9c19
mov word [0x1009b180], cx
jmp case.default.0x1001ff2c
mov dl, byte [0x1009b158]
mov byte [0x1009b0bb], dl
movsx eax, byte [ebp - 1]
cdq
sub eax, 0xa68847c1
sbb edx, 0xbfcfa
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movzx eax, byte [0x1009b033]
imul ecx, eax, 0x67
movzx edx, byte [0x1009b01f]
sub edx, ecx
mov byte [0x1009b01f], dl
movsx eax, byte [ebp - 4]
add eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
movzx ecx, byte [ebp - 2]
add ecx, 0x448c
mov dword [ebp - 0x4c], ecx
movsx edx, word [ebp - 0x18]
movzx eax, word [ebp - 0x20]
add eax, dword [ebp - 0x2c]
imul edx, eax
movzx ecx, word [0x1009b158]
movsx eax, byte [0x1009b0ba]
imul ecx, eax
add edx, ecx
not edx
mov dword [ebp - 0x28], edx
jmp case.default.0x1001ff2c
mov ecx, 0x6c
mov word [ebp - 0x24], cx
movzx edx, byte [0x1009b07e]
movzx eax, word [ebp - 0x24]
add edx, eax
mov byte [0x1009b07e], dl
movzx ecx, word [0x1009b158]
test ecx, ecx
jne 0x10020038
mov dword [ebp - 0x2d0], 1
jmp 0x10020042
mov dword [ebp - 0x2d0], 0
movzx eax, byte [ebp - 7]
sub eax, dword [ebp - 0x2d0]
cdq
mov esi, eax
mov edi, edx
movsx eax, byte [ebp - 5]
cdq
mov ecx, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x30]
push edx
push eax
push ebx
push ecx
call fcn.1006c090
push edx
push eax
push edi
push esi
call fcn.1006c090
mov ecx, eax
movzx eax, word [0x1009b184]
not eax
movzx edx, word [ebp - 0x24]
not edx
movsx esi, byte [0x1009b0bb]
sub edx, esi
imul eax, edx
cdq
sub ecx, eax
mov byte [ebp - 5], cl
movzx eax, byte [0x1009b0ee]
cdq
mov ecx, eax
mov edx, dword [0x1009b198]
mov eax, dword [0x1009b19c]
mov dword [ebp - 0x12a8], eax
sub ecx, edx
movzx eax, byte [0x1009b0ee]
cdq
add eax, ecx
mov byte [0x1009b0ee], al
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0xb64], ecx
mov dword [ebp - 0xb60], edx
mov eax, dword [ebp - 0xb64]
or eax, dword [ebp - 0xb60]
je 0x100200f7
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov dword [ebp - 0x768], ecx
mov dword [ebp - 0x764], edx
jmp 0x10020108
movzx eax, word [ebp - 0x20]
cdq
mov dword [ebp - 0x768], eax
mov dword [ebp - 0x764], edx
mov eax, dword [ebp - 0x768]
mov ecx, dword [ebp - 0x764]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x38]
imul edx, dword [0x1009b190]
mov dword [ebp - 0x38], edx
jmp case.default.0x1001ff2c
mov eax, dword [ebp - 0x2c]
sub eax, dword [0x1009b140]
mov dword [ebp - 0x2c], eax
movsx ecx, byte [0x1009b0ba]
movsx edx, word [ebp - 0x1c]
and ecx, edx
movsx eax, byte [0x1009b0ba]
or eax, ecx
mov byte [0x1009b0ba], al
movsx cx, byte [ebp - 3]
mov edx, 2
imul eax, edx, 0x1337
mov word [eax + 0x102f2938], cx
mov byte [ebp - 3], 0x92
mov dword [0x1009b1b0], 0x29dc
movzx eax, byte [0x1009b0ee]
cdq
mov ecx, eax
add ecx, dword [ebp - 0x48]
movzx eax, byte [0x1009b0ee]
cdq
sub eax, ecx
mov byte [0x1009b0ee], al
jmp case.default.0x1001ff2c
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
push 0
push 0x1777
push eax
push edx
call fcn.1006c090
mov dword [0x1009b144], eax
imul ecx, dword [0x1009b18c], 0x7acd756
mov byte [0x1009b0ee], cl
movzx edx, byte [0x1009b07e]
imul edx, dword [0x1009b18c]
add edx, dword [0x1009b18c]
mov dword [0x1009b18c], edx
movzx eax, word [ebp - 0x10]
and eax, dword [0x1009b1a0]
movzx ecx, word [ebp - 0x10]
sub ecx, eax
mov word [ebp - 0x10], cx
mov dl, byte [ebp - 5]
add dl, 1
mov byte [ebp - 5], dl
mov eax, dword [ebp - 0x100]
add eax, 1
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0xaff
jl 0x1001fed6
mov dword [ebp - 0x104], 0x2b
movsx ecx, byte [ebp - 1]
mov edx, dword [0x1009b148]
xor edx, ecx
mov eax, dword [0x1009b148]
add eax, edx
mov dword [0x1009b148], eax
mov ecx, dword [ebp - 0x48]
xor ecx, 0x90126c6a
mov dword [0x1009b190], ecx
movzx edx, word [ebp - 0x20]
sub edx, 0x22496ed4
mov byte [ebp - 3], dl
mov eax, 0x5e1e0
mov dword [0x1009b130], 0xe1b71f14
mov dword [0x1009b134], eax
cmp dword [0x1009b14c], 0
je 0x10020468
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 0x990], 0
cmp dword [ebp - 0x2d4], 0
je 0x100202c3
mov dword [ebp - 0x98c], 1
mov ecx, dword [ebp - 0x98c]
push ecx
mov edx, dword [ebp - 0x990]
push edx
mov eax, dword [ebp - 0x2d4]
push eax
call dword [sym.imp.USER32.dll_GetUpdateRect]
mov dword [ebp - 0x12ac], eax
movsx ecx, word [ebp - 0x18]
test ecx, ecx
je 0x10020466
movzx edx, byte [0x1009b07e]
movzx eax, byte [0x1009b01f]
cmp edx, eax
jle 0x10020314
movsx ecx, byte [ebp - 6]
movsx edx, byte [0x1009b0ba]
add ecx, edx
mov byte [ebp - 6], cl
mov dword [0x1009b18c], 0x2b
mov eax, dword [0x1009b188]
sub eax, dword [ebp - 0x4c]
mov dword [0x1009b188], eax
mov dword [ebp - 0x4c], 1
jmp 0x10020466
movsx ecx, byte [0x1009b0bb]
test ecx, ecx
je 0x100203ca
movsx edx, word [ebp - 0x14]
imul eax, edx, 0xd1
mov word [ebp - 0xc], ax
mov cx, word [ebp - 0x1c]
mov word [ebp - 0x20], cx
mov edx, dword [ebp - 0x48]
sub edx, 0x16
mov eax, dword [ebp - 0x44]
sbb eax, 0
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
push eax
push edx
push esi
push ecx
call fcn.1006c090
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
cmp dword [ebp - 0x40], 0
jne 0x10020374
xor edx, edx
mov dword [ebp - 0x7f0], 1
mov dword [ebp - 0x7ec], edx
jmp 0x1002037f
xorps xmm0, xmm0
movlpd qword [ebp - 0x7f0], xmm0
movzx eax, word [0x1009b184]
not eax
movsx ecx, byte [ebp - 4]
add eax, ecx
imul eax, eax, 0x9d6d
cdq
mov esi, eax
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x7ec]
push ecx
mov ecx, dword [ebp - 0x7f0]
push ecx
push eax
push edx
call fcn.1006c090
mov edx, dword [0x1009b1a0]
sub edx, 0x62f7
xor eax, edx
add esi, eax
mov dword [ebp - 0x3c], esi
jmp 0x10020466
mov eax, dword [0x1009b130]
mov ecx, dword [0x1009b134]
not eax
not ecx
mov dword [ebp - 0xb6c], eax
mov dword [ebp - 0xb68], ecx
mov edx, dword [ebp - 0xb6c]
or edx, dword [ebp - 0xb68]
je 0x10020466
movsx eax, byte [ebp - 5]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x12b0], eax
sub ecx, edx
movsx eax, byte [ebp - 5]
cdq
sub eax, ecx
mov byte [ebp - 5], al
xor ecx, ecx
mov dword [ebp - 0x48], 0x47be
mov dword [ebp - 0x44], ecx
xor edx, edx
mov dword [0x1009b130], 1
mov dword [0x1009b134], edx
mov eax, dword [0x1009b1a0]
xor ecx, ecx
push 0x60a19
push 0xdf038f4a
push ecx
push eax
call fcn.1006c090
mov byte [0x1009b07e], al
mov dl, byte [ebp - 4]
add dl, 1
mov byte [ebp - 4], dl
movzx eax, byte [ebp - 7]
movsx ecx, byte [0x1009b0a7]
sub eax, ecx
mov byte [ebp - 7], al
jmp 0x100204b0
mov edx, dword [ebp - 0x28]
shr edx, 2
xor eax, eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], eax
movzx ecx, byte [ebp - 2]
sub ecx, 0x56f56478
mov dword [ebp - 0x4c], ecx
movzx edx, word [ebp - 0x24]
movsx eax, byte [ebp - 1]
sub edx, eax
mov word [ebp - 0x24], dx
movsx ecx, byte [0x1009b0bb]
imul edx, ecx, 0x753cccbc
mov eax, dword [ebp - 0x38]
imul eax, edx
mov dword [ebp - 0x38], eax
mov cl, byte [0x1009b184]
mov byte [ebp - 7], cl
mov edx, dword [ebp - 0x104]
add edx, 1
mov dword [ebp - 0x104], edx
cmp dword [ebp - 0x104], 0x18d9
jl 0x1002026c
movzx eax, word [0x1009b184]
cmp eax, 1
jne 0x10020832
movsx ecx, byte [ebp - 3]
cmp ecx, dword [ebp - 0x3c]
je 0x100204f4
mov dword [ebp - 0x2d8], 1
jmp 0x100204fe
mov dword [ebp - 0x2d8], 0
movsx edx, byte [ebp - 3]
cmp edx, 0x4a
je 0x10020513
mov dword [ebp - 0x2dc], 1
jmp 0x1002051d
mov dword [ebp - 0x2dc], 0
mov eax, dword [ebp - 0x2d8]
cmp eax, dword [ebp - 0x2dc]
je 0x100205b4
mov dword [ebp - 0x108], 0x1d3
jmp 0x1002054a
mov ecx, dword [ebp - 0x108]
sub ecx, 1
mov dword [ebp - 0x108], ecx
cmp dword [ebp - 0x108], 0
jle 0x100205af
movsx eax, byte [0x1009b0bb]
sar eax, 2
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movsx edx, byte [ebp - 3]
movzx eax, byte [ebp - 7]
sub edx, eax
mov byte [ebp - 3], dl
mov ecx, 8
mov word [ebp - 0x14], cx
movsx edx, word [ebp - 0x1c]
movzx eax, word [0x1009b184]
imul edx, eax
movsx ecx, word [ebp - 0x1c]
sub ecx, edx
mov word [ebp - 0x1c], cx
mov byte [0x1009b07e], 0x33
movsx eax, byte [ebp - 3]
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov dl, byte [ebp - 3]
add dl, 1
mov byte [ebp - 3], dl
jmp 0x1002053b
jmp 0x100207e8
mov eax, dword [ebp - 0x3c]
not eax
test eax, eax
je 0x10020630
cmp dword [0x1009b188], 0
jne 0x100205d2
mov dword [ebp - 0x2e0], 1
jmp 0x100205dc
mov dword [ebp - 0x2e0], 0
movzx ecx, byte [0x1009b0ee]
xor ecx, dword [ebp - 0x2e0]
mov dword [ebp - 0x2c], ecx
movsx edx, byte [0x1009b0a7]
sub edx, 0x61c6024f
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x2c]
sub eax, 1
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x4c], 2
movzx ecx, byte [ebp - 2]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x12b4], eax
and edx, 0xeb70
mov dword [0x1009b18c], edx
jmp 0x100207e8
cmp dword [0x1009b170], 0
je 0x1002069b
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x12b8], edx
add ecx, 0x798d13d
mov dword [ebp - 0x2c], ecx
movzx eax, byte [0x1009b0ef]
sub eax, dword [0x1009b188]
movzx ecx, byte [0x1009b0ef]
add ecx, eax
mov byte [0x1009b0ef], cl
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
push 0
push 0x76
push eax
push edx
call fcn.1006c090
mov ecx, eax
mov esi, edx
movzx eax, word [ebp - 0x24]
cdq
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov word [ebp - 0x24], ax
jmp 0x100207e8
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xb74], edx
mov dword [ebp - 0xb70], eax
mov ecx, dword [ebp - 0xb74]
or ecx, dword [ebp - 0xb70]
je 0x100207e8
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
mov dword [ebp - 0x12bc], eax
mov word [ebp - 0x14], dx
movsx eax, word [ebp - 0x14]
cdq
mov ecx, dword [0x1009b150]
mov esi, dword [0x1009b154]
add ecx, eax
adc esi, edx
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
sub edx, ecx
sbb eax, esi
mov dword [0x1009b150], edx
mov dword [0x1009b154], eax
movsx ecx, byte [ebp - 4]
test ecx, ecx
jne 0x10020717
mov dword [ebp - 0x2e4], 1
jmp 0x10020721
mov dword [ebp - 0x2e4], 0
movzx edx, byte [0x1009b0ef]
movsx eax, word [ebp - 0x18]
xor edx, eax
jne 0x1002073c
mov dword [ebp - 0x2e8], 1
jmp 0x10020746
mov dword [ebp - 0x2e8], 0
movzx ecx, byte [0x1009b033]
test ecx, ecx
jne 0x1002075d
mov dword [ebp - 0x2ec], 1
jmp 0x10020767
mov dword [ebp - 0x2ec], 0
movsx edx, byte [ebp - 4]
imul edx, dword [ebp - 0x2e4]
not edx
sub edx, dword [ebp - 0x2e8]
mov eax, dword [ebp - 0x2ec]
sub eax, dword [ebp - 0x38]
movsx ecx, byte [ebp - 4]
add ecx, dword [ebp - 0x3c]
imul eax, ecx
add edx, eax
mov dword [ebp - 0x3c], edx
movsx edx, byte [ebp - 6]
add edx, dword [0x1009b1a0]
mov dword [0x1009b1a0], edx
movzx eax, byte [0x1009b01f]
test eax, eax
je 0x100207c3
movzx eax, byte [0x1009b0ef]
cdq
mov dword [ebp - 0x7f8], eax
mov dword [ebp - 0x7f4], edx
jmp 0x100207db
mov ecx, dword [0x1009b130]
mov edx, dword [0x1009b134]
mov dword [ebp - 0x7f8], ecx
mov dword [ebp - 0x7f4], edx
mov ax, word [ebp - 0x7f8]
mov word [0x1009b184], ax
jmp 0x10020832
mov dword [0x1009b14c], 0x475448f6
mov ecx, dword [ebp - 0x3c]
xor ecx, 0xe6ed8e72
mov word [ebp - 0x18], cx
cmp dword [ebp - 0x4c], 0
je 0x10020868
mov edx, dword [0x1009b160]
mov eax, dword [0x1009b164]
mov dword [ebp - 0x800], edx
mov dword [ebp - 0x7fc], eax
jmp 0x1002087c
movzx eax, byte [0x1009b07e]
cdq
mov dword [ebp - 0x800], eax
mov dword [ebp - 0x7fc], edx
mov ecx, dword [ebp - 0x800]
mov dword [0x1009b18c], ecx
mov byte [ebp - 1], 8
movsx edx, byte [ebp - 6]
push edx
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
xor ecx, ecx
mov dword [0x1009b160], eax
mov dword [0x1009b164], ecx
mov edx, dword [0x1009b160]
or edx, dword [0x1009b164]
je 0x100209db
movsx eax, byte [ebp - 3]
test eax, eax
je 0x100209ab
mov eax, dword [0x1009b188]
add eax, 0x13
cdq
mov dword [0x1009b130], eax
mov dword [0x1009b134], edx
mov ecx, dword [0x1009b140]
sub ecx, 0xd86c
mov byte [0x1009b01f], cl
movsx edx, byte [ebp - 4]
movzx eax, byte [0x1009b07f]
imul edx, eax
mov byte [ebp - 4], dl
cmp dword [0x1009b170], 0
jne 0x1002090e
mov dword [ebp - 0x2f0], 1
jmp 0x10020918
mov dword [ebp - 0x2f0], 0
movzx eax, byte [ebp - 2]
cdq
mov ecx, dword [0x1009b150]
mov esi, dword [0x1009b154]
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov edx, dword [0x1009b1b0]
sub edx, dword [ebp - 0x2f0]
sub eax, edx
mov byte [ebp - 2], al
movsx eax, word [ebp - 0xc]
shl eax, 6
cdq
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
cmp dword [0x1009b1b0], 0
jne 0x1002096b
mov dword [ebp - 0x2f4], 1
jmp 0x10020975
mov dword [ebp - 0x2f4], 0
movzx eax, byte [0x1009b07e]
imul eax, dword [ebp - 0x2f4]
movzx ecx, byte [0x1009b033]
mov edx, dword [0x1009b188]
sub edx, ecx
movsx ecx, byte [0x1009b0a7]
movzx esi, byte [0x1009b01f]
add ecx, esi
sub edx, ecx
add eax, edx
mov byte [ebp - 5], al
jmp 0x100209d6
mov edx, dword [0x1009b140]
mov byte [ebp - 3], dl
mov eax, dword [0x1009b188]
shl eax, 2
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movsx eax, byte [0x1009b0ba]
imul eax, dword [0x1009b170]
mov dword [0x1009b170], eax
jmp 0x10020b04
movsx ecx, byte [ebp - 6]
movsx edx, word [ebp - 0xc]
cmp ecx, edx
je 0x100209f3
mov dword [ebp - 0x2f8], 1
jmp 0x100209fd
mov dword [ebp - 0x2f8], 0
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
movzx eax, word [ebp - 0x10]
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 - 0xb78]
cmp edx, dword [ebp - 0xb80]
ja 0x10020a4a
jb 0x10020a3e
mov eax, dword [ebp - 0xb7c]
cmp eax, dword [ebp - 0xb84]
jae 0x10020a4a
mov dword [ebp - 0x2fc], 1
jmp 0x10020a54
mov dword [ebp - 0x2fc], 0
mov ecx, dword [ebp - 0x2f8]
cmp ecx, dword [ebp - 0x2fc]
jne 0x10020b04
mov edx, dword [0x1009bc7c]
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
add eax, 1
adc ecx, 0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
mov esi, dword [0x1009b1a8]
mov edi, dword [0x1009b1ac]
not esi
not edi
movzx eax, word [0x1009b184]
cdq
mov ecx, dword [0x1009b168]
mov ebx, dword [0x1009b16c]
push edx
push eax
push ebx
push ecx
call fcn.1006c090
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x1009b07e]
cdq
push edx
push eax
push ebx
push ecx
call fcn.1006c090
sub esi, eax
sbb edi, edx
mov dword [ebp - 0xb8c], esi
mov dword [ebp - 0xb88], edi
mov edx, dword [ebp - 0xb8c]
or edx, dword [ebp - 0xb88]
jne 0x10020ae7
mov byte [ebp - 0x5d], 1
jmp 0x10020aeb
mov byte [ebp - 0x5d], 0
mov al, byte [ebp - 0x5d]
mov byte [ebp - 4], al
movzx ecx, byte [0x1009b07e]
sub ecx, 0xcb
mov dword [0x1009b170], ecx
cmp dword [ebp - 0xac], 0
jne 0x10021284
mov edx, dword [ebp - 0x28]
add edx, 0x7339c68c
mov word [ebp - 0x10], dx
imul eax, dword [0x1009b140], 0xe2d19238
xor ecx, ecx
mov dword [0x1009b178], eax
mov dword [0x1009b17c], ecx
movzx edx, word [ebp - 0x10]
add edx, 0x5851a5ec
mov word [ebp - 0x14], dx
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
push 0
push 0x2895
push ecx
push eax
call fcn.1006c090
mov ecx, eax
movsx eax, word [0x1009b180]
cdq
xor eax, ecx
mov word [0x1009b180], ax
movsx edx, byte [0x1009b0a7]
movzx eax, word [ebp - 0x20]
add edx, eax
movzx ecx, word [0x1009b184]
not ecx
movzx eax, word [ebp - 0x20]
xor ecx, eax
xor edx, ecx
mov word [ebp - 0x1c], dx
mov ecx, dword [0x1009bc7c]
mov dword [0x1009b1a0], ecx
xor edx, edx
mov dword [0x1009b178], 0x97
mov dword [0x1009b17c], edx
mov eax, 2
mov word [ebp - 0x14], ax
mov byte [ebp - 4], 1
mov ecx, dword [0x1009b148]
sub ecx, 1
mov dword [0x1009b148], ecx
movsx edx, word [ebp - 0x14]
mov dword [ebp - 0x10c], edx
cmp dword [ebp - 0x10c], 0
je 0x10020bf7
cmp dword [ebp - 0x10c], 1
je 0x10020cf8
cmp dword [ebp - 0x10c], 2
je 0x10020d84
jmp 0x10020e2b
mov eax, dword [0x1009b150]
mov ecx, dword [0x1009b154]
mov dword [ebp - 0xb94], eax
mov dword [ebp - 0xb90], ecx
mov edx, dword [ebp - 0xb94]
or edx, dword [ebp - 0xb90]
je 0x10020c2e
mov eax, dword [ebp - 0x2c]
cdq
mov dword [ebp - 0x808], eax
mov dword [ebp - 0x804], edx
jmp 0x10020c45
mov eax, dword [0x1009b1a8]
mov ecx, dword [0x1009b1ac]
mov dword [ebp - 0x808], eax
mov dword [ebp - 0x804], ecx
mov edx, dword [ebp - 0x808]
mov dword [ebp - 0x3c], edx
movzx eax, byte [0x1009b07e]
test eax, eax
je 0x10020c65
movzx ecx, byte [ebp - 7]
mov dword [ebp - 0x300], ecx
jmp 0x10020c71
mov edx, dword [0x1009b148]
mov dword [ebp - 0x300], edx
mov al, byte [ebp - 0x300]
mov byte [ebp - 1], al
mov dword [0x1009b14c], 0x941d
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov dword [ebp - 0xb9c], ecx
mov dword [ebp - 0xb98], edx
mov eax, dword [ebp - 0xb9c]
or eax, dword [ebp - 0xb98]
jne 0x10020cbe
xor ecx, ecx
mov dword [ebp - 0x810], 1
mov dword [ebp - 0x80c], ecx
jmp 0x10020cc9
xorps xmm0, xmm0
movlpd qword [ebp - 0x810], xmm0
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
mov ecx, dword [ebp - 0x80c]
push ecx
mov ecx, dword [ebp - 0x810]
push ecx
push eax
push edx
call fcn.1006c090
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov byte [ebp - 7], 0x8e
jmp 0x10020e2b
movzx edx, byte [0x1009b0a6]
sub edx, 0x82b
mov word [ebp - 0x20], dx
mov eax, dword [0x1009b140]
sar eax, 1
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x2c], 0
jne 0x10020d25
mov dword [ebp - 0x304], 1
jmp 0x10020d2f
mov dword [ebp - 0x304], 0
movzx ecx, byte [0x1009b01f]
add ecx, dword [ebp - 0x38]
movsx edx, byte [ebp - 5]
add edx, dword [ebp - 0x304]
sub ecx, edx
mov dword [0x1009b14c], ecx
mov eax, dword [ebp - 0x40]
cdq
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x12c0], edx
add ecx, eax
movsx eax, word [ebp - 0x1c]
cdq
sub ecx, eax
add ecx, 0x9253
mov byte [0x1009b0ba], cl
movzx eax, word [0x1009b184]
add eax, 0x3888dc85
mov byte [ebp - 7], al
jmp 0x10020e2b
movzx eax, byte [ebp - 2]
cdq
add eax, dword [0x1009b178]
mov byte [ebp - 2], al
movzx eax, word [ebp - 0x10]
cdq
sub eax, 0xdb4ac0d9
mov word [0x1009b158], ax
mov ecx, dword [ebp - 0x48]
or ecx, dword [ebp - 0x44]
je 0x10020dc3
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
mov dword [ebp - 0x770], edx
mov dword [ebp - 0x76c], eax
jmp 0x10020dd4
movzx eax, word [ebp - 0x10]
cdq
mov dword [ebp - 0x770], eax
mov dword [ebp - 0x76c], edx
mov ecx, dword [ebp - 0x770]
mov edx, dword [ebp - 0x76c]
mov dword [0x1009b168], ecx
mov dword [0x1009b16c], edx
movsx eax, word [0x1009b180]
movsx ecx, byte [ebp - 6]
add eax, ecx
mov word [0x1009b180], ax
movzx edx, word [0x1009b184]
test edx, edx
je 0x10020e15
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x308], eax
jmp 0x10020e1f
movsx ecx, byte [ebp - 6]
mov dword [ebp - 0x308], ecx
mov edx, dword [ebp - 0x308]
mov dword [0x1009b140], edx
movsx eax, byte [ebp - 6]
cdq
add eax, dword [0x1009b178]
adc edx, dword [0x1009b17c]
mov dword [ebp - 0xba4], eax
mov dword [ebp - 0xba0], edx
mov eax, dword [0x1009b178]
cmp eax, dword [ebp - 0xba4]
jne 0x100211f2
mov ecx, dword [0x1009b17c]
cmp ecx, dword [ebp - 0xba0]
jne 0x100211f2
movzx edx, word [0x1009b184]
test edx, edx
jne 0x10020e82
mov dword [ebp - 0x30c], 1
jmp 0x10020e8c
mov dword [ebp - 0x30c], 0
movzx eax, byte [0x1009b01f]
not eax
cmp eax, dword [ebp - 0x30c]
jle 0x10020f06
movsx ecx, byte [0x1009b0bb]
sub ecx, 0xedc4c8f
movzx edx, byte [ebp - 2]
or edx, ecx
mov byte [ebp - 2], dl
movzx eax, word [ebp - 0x24]
cdq
mov ecx, dword [ebp - 0x48]
not ecx
add eax, ecx
mov byte [ebp - 3], al
xor edx, edx
mov dword [0x1009b1a8], 0x61
mov dword [0x1009b1ac], edx
movsx eax, byte [ebp - 6]
test eax, eax
jne 0x10020ee8
mov dword [ebp - 0x310], 1
jmp 0x10020ef2
mov dword [ebp - 0x310], 0
mov ecx, dword [ebp - 0x310]
add ecx, dword [0x1009b1a0]
mov dword [ebp - 0x28], ecx
jmp 0x10021033
cmp dword [0x1009b170], 0
je 0x10021033
mov dx, word [ebp - 0x1c]
add dx, 1
mov word [ebp - 0x1c], dx
mov eax, dword [0x1009b1a0]
sub eax, dword [0x1009b14c]
add eax, dword [0x1009b1a0]
mov dword [0x1009b1a0], eax
movsx ecx, word [ebp - 0xc]
sub ecx, 0x1cca3668
mov word [ebp - 0x14], cx
movzx edx, word [0x1009b158]
test edx, edx
jne 0x10020f5a
mov dword [ebp - 0x314], 1
jmp 0x10020f64
mov dword [ebp - 0x314], 0
movsx eax, word [ebp - 0x14]
test eax, eax
jne 0x10020f78
mov dword [ebp - 0x318], 1
jmp 0x10020f82
mov dword [ebp - 0x318], 0
movsx ecx, byte [ebp - 6]
test ecx, ecx
jne 0x10020f9e
xor edx, edx
mov dword [ebp - 0x818], 1
mov dword [ebp - 0x814], edx
jmp 0x10020fa9
xorps xmm0, xmm0
movlpd qword [ebp - 0x818], xmm0
mov eax, dword [ebp - 0x38]
cdq
mov esi, eax
mov edi, edx
mov eax, dword [0x1009b1ac]
add esi, dword [0x1009b1a8]
adc edi, eax
movsx eax, byte [0x1009b0a7]
add eax, dword [ebp - 0x314]
cdq
add esi, eax
adc edi, edx
not esi
not edi
mov eax, dword [ebp - 0x318]
xor eax, 0x2778
cdq
mov ebx, eax
mov eax, edx
push 0xa2851
push 0xd9870447
mov ecx, dword [ebp - 0x814]
push ecx
mov edx, dword [ebp - 0x818]
push edx
mov dword [ebp - 0x994], eax
call fcn.1006c090
add ebx, eax
mov eax, dword [ebp - 0x994]
adc eax, edx
push eax
push ebx
push edi
push esi
call fcn.1006c090
mov byte [ebp - 4], al
movzx eax, byte [ebp - 7]
imul eax, dword [0x1009b18c]
add eax, dword [0x1009b18c]
mov dword [0x1009b18c], eax
cmp dword [ebp - 0x38], 0
je 0x1002112f
cmp dword [0x1009b144], 0
je 0x1002112f
movzx eax, word [0x1009b158]
cdq
and eax, 0x4b261c6c
mov word [ebp - 0xc], ax
cmp dword [0x1009b14c], 0
jne 0x10021070
mov dword [ebp - 0x31c], 1
jmp 0x1002107a
mov dword [ebp - 0x31c], 0
movsx ecx, byte [ebp - 5]
imul ecx, dword [ebp - 0x31c]
mov edx, dword [0x1009b188]
not edx
sub ecx, edx
not ecx
mov dword [ebp - 0x38], ecx
movsx eax, word [ebp - 0xc]
and eax, 0xf2
mov byte [0x1009b0ef], al
mov ecx, dword [0x1009b144]
imul ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x12c4], eax
add edx, ecx
mov ecx, dword [ebp - 0x38]
add ecx, dword [ebp - 0x28]
xor edx, ecx
mov word [ebp - 0x10], dx
movzx edx, word [ebp - 0x24]
test edx, edx
jne 0x100210da
mov dword [ebp - 0x320], 1
jmp 0x100210e4
mov dword [ebp - 0x320], 0
movzx eax, word [ebp - 0x20]
cdq
mov ecx, dword [0x1009b178]
sub ecx, eax
mov esi, dword [0x1009b17c]
sbb esi, edx
movsx eax, word [0x1009b180]
movsx edx, byte [0x1009b0bb]
add eax, edx
cdq
add ecx, eax
adc esi, edx
movzx eax, byte [ebp - 7]
xor eax, dword [ebp - 0x320]
mov edx, dword [ebp - 0x2c]
lea eax, [edx + eax + 0x16]
cdq
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
movzx eax, word [0x1009b158]
movsx ecx, word [ebp - 0xc]
add ecx, 0x97
cmp eax, ecx
jne 0x100211f2
xor edx, edx
mov dword [ebp - 0x48], 0xf317
mov dword [ebp - 0x44], edx
mov eax, 4
imul ecx, eax, 0x48ed
mov edx, dword [0x1009b140]
sub edx, dword [ecx + 0x10223810]
mov dword [0x1009b140], edx
jmp 0x10020b97
movzx eax, byte [0x1009b033]
movzx ecx, word [ebp - 0x24]
imul eax, ecx
movzx edx, byte [0x1009b033]
sub edx, eax
mov byte [0x1009b033], dl
mov eax, 8
imul ecx, eax, 0x9fe
mov edx, dword [ecx + 0x101c0cd0]
mov dword [0x1009b144], edx
mov ecx, dword [0x1009b178]
xor ecx, 0x5a
movsx eax, byte [0x1009b0bb]
cdq
sub eax, ecx
mov byte [0x1009b0bb], al
movsx edx, byte [0x1009b0ba]
imul edx, dword [ebp - 0x40]
mov byte [0x1009b0ba], dl
movzx eax, word [ebp - 0x10]
mov ecx, dword [0x1009b14c]
sub ecx, eax
mov dword [0x1009b14c], ecx
mov edx, dword [ebp - 0xb0]
sub edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xb0]
xor eax, dword [ebp - 0xb0]
sub edx, eax
xor ecx, ecx
sub ecx, edx
mov dword [ebp - 0x80], ecx
jmp 0x100212f0
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x12c8], eax
add edx, 0x7d
mov byte [0x1009b0ef], dl
movsx cx, byte [ebp - 6]
mov word [ebp - 0x18], cx
mov dl, byte [0x1009b0bb]
mov byte [0x1009b0bb], dl
movzx eax, byte [ebp - 2]
test eax, eax
je 0x100212c2
movsx ecx, word [ebp - 0xc]
mov dword [ebp - 0x324], ecx
jmp 0x100212cf
movzx edx, byte [0x1009b07e]
mov dword [ebp - 0x324], edx
mov eax, dword [ebp - 0x324]
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x1034d0dc]
push ecx
mov edx, dword [ebp - 0xac]
push edx
call fcn.1000ed10
mov dword [0x1034d0e0], eax
mov eax, dword [0x1009bc7c]
mov dword [ebp - 0x40], eax
movsx ecx, byte [0x1009b0a7]
add ecx, 0x6472a781
mov word [ebp - 0x1c], cx
cmp dword [ebp - 0x4c], 0
je 0x1002131b
movzx edx, word [ebp - 0x20]
mov dword [ebp - 0x328], edx
jmp 0x10021326
mov eax, dword [0x1009b18c]
mov dword [ebp - 0x328], eax
mov ecx, dword [ebp - 0x328]
mov dword [0x1009b140], ecx
cmp dword [0x1034d0e0], 0
jne 0x100223bf
movsx edx, word [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov word [ebp - 0x10], ax
mov eax, dword [0x1009bc7c]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp - 0x40]
push ecx
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x110]
add edx, 0x3a1
mov dword [ebp - 0x384], edx
movsx eax, byte [0x1009b0a7]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x12cc], eax
sub ecx, edx
movsx eax, byte [0x1009b0a7]
cdq
add eax, ecx
mov byte [0x1009b0a7], al
mov ecx, dword [0x1009b190]
sub ecx, 0xcdc5d1e8
mov dword [0x1009b188], ecx
movsx edx, byte [ebp - 5]
sub edx, 0xabf5
mov byte [0x1009b07e], dl
movsx eax, byte [ebp - 3]
movsx ecx, byte [ebp - 6]
imul eax, ecx
movsx edx, byte [ebp - 3]
sub edx, eax
mov byte [ebp - 3], dl
movsx eax, word [ebp - 0x18]
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, word [ebp - 0x20]
sar ecx, 3
mov word [0x1009b180], cx
mov edx, dword [ebp - 0x110]
add edx, 0x11a
mov dword [ebp - 0x9a0], edx
movzx eax, byte [0x1009b07e]
imul ecx, eax, 0x8ba07e2d
xor edx, edx
mov dword [0x1009b130], ecx
mov dword [0x1009b134], edx
movzx eax, byte [0x1009b033]
xor eax, dword [0x1009b1a0]
mov dword [0x1009b1a0], eax
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
push 0
push 0x4da55f0a
push edx
push ecx
call fcn.1006c090
mov word [0x1009b184], ax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
push 0
push 0x3042aa06
push ecx
push eax
call fcn.1006c090
not eax
mov word [0x1009b158], ax
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
mov dword [ebp - 0x12d0], eax
xor edx, 0xec5aca67
mov dword [0x1009b1b0], edx
mov ecx, dword [ebp - 0x110]
add ecx, 0x159
mov dword [ebp - 0x12d4], ecx
mov dword [0x1009b170], 0x7f
mov byte [ebp - 5], 4
mov edx, dword [ebp - 0x44]
push edx
mov eax, dword [ebp - 0x48]
push eax
mov ecx, dword [0x1009b13c]
push ecx
mov edx, dword [0x1009b138]
push edx
call fcn.1006c090
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
mov eax, dword [ebp - 0x48]
or eax, dword [ebp - 0x44]
jne 0x100214fe
mov dword [ebp - 0x330], 1
jmp 0x10021508
mov dword [ebp - 0x330], 0
movsx ecx, byte [ebp - 4]
test ecx, ecx
jne 0x1002151c
mov dword [ebp - 0x32c], 1
jmp 0x10021526
mov dword [ebp - 0x32c], 0
mov edx, dword [ebp - 0x4c]
add edx, dword [ebp - 0x32c]
add edx, dword [ebp - 0x330]
not edx
mov word [ebp - 0x10], dx
movzx eax, word [0x1009b184]
sub eax, 0x64485ee9
mov ecx, dword [ebp - 0x2c]
sub ecx, eax
not ecx
movzx eax, byte [0x1009b01f]
cdq
add eax, 0x570399e4
mov edx, 0xcabab088
sub edx, eax
not edx
sub ecx, edx
mov byte [0x1009b0ba], cl
movzx eax, word [ebp - 0x20]
test eax, eax
jne 0x10021580
mov dword [ebp - 0x334], 1
jmp 0x1002158a
mov dword [ebp - 0x334], 0
movsx eax, word [ebp - 0xc]
not eax
movsx ecx, word [ebp - 0x1c]
sub eax, ecx
not eax
movsx edx, byte [ebp - 6]
add eax, edx
movzx ecx, byte [0x1009b0ee]
xor ecx, dword [ebp - 0x334]
sub ecx, 0x84
sub eax, ecx
cdq
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
movsx edx, byte [ebp - 5]
mov dword [ebp - 0x338], edx
cmp dword [ebp - 0x338], 4
ja case.default.0x100215dc
mov eax, dword [ebp - 0x338]
jmp dword [eax*4 + 0x100301d4]
imul ecx, dword [ebp - 0x3c], 0x60
mov word [ebp - 0x18], cx
xor edx, edx
mov dword [ebp - 0x54], 0x24
mov dword [ebp - 0x50], edx
mov eax, dword [0x1009b1a0]
xor ecx, ecx
push ecx
push eax
mov edx, dword [0x1009b13c]
push edx
mov eax, dword [0x1009b138]
push eax
call fcn.1006c090
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
mov eax, dword [0x1009b140]
cdq
mov ecx, eax
sub ecx, 0xe4650d50
movzx eax, word [ebp - 0x10]
cdq
add eax, ecx
mov word [ebp - 0x10], ax
movsx edx, word [ebp - 0x1c]
imul eax, edx, 0x28fedc97
mov dword [ebp - 0x2c], eax
jmp case.default.0x100215dc
movzx eax, byte [ebp - 7]
cdq
mov ecx, dword [ebp - 0x44]
push ecx
mov ecx, dword [ebp - 0x48]
push ecx
push edx
push eax
call fcn.1006c090
mov ecx, eax
movzx eax, byte [ebp - 7]
cdq
add eax, ecx
mov byte [ebp - 7], al
movzx edx, byte [0x1009b0ef]
mov eax, 4
imul ecx, eax, 0x60
mov dword [ecx + 0x1015e318], edx
mov edx, dword [0x1009b190]
xor eax, eax
push 0x7d246
push 0x499b7a50
push eax
push edx
call fcn.1006c090
mov byte [0x1009b0ef], al
jmp case.default.0x100215dc
movzx ecx, word [ebp - 0x24]
imul edx, ecx, 0xab1c8d3e
mov dword [ebp - 0x28], edx
movsx eax, word [ebp - 0xc]
imul ecx, eax, 0xbf92dcc2
mov dword [0x1009b1a0], ecx
mov dl, byte [0x1009b0a6]
add dl, 1
mov byte [0x1009b0a6], dl
movsx eax, byte [0x1009b0a7]
sar eax, 4
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], 8
movsx ecx, byte [0x1009b0ba]
test ecx, ecx
jne 0x100216f7
mov dword [ebp - 0x33c], 1
jmp 0x10021701
mov dword [ebp - 0x33c], 0
mov eax, dword [0x1009b188]
cdq
mov ecx, eax
mov eax, dword [0x1009b140]
cdq
xor eax, dword [0x1009b160]
sub ecx, eax
movsx eax, word [ebp - 0x14]
movsx edx, byte [0x1009b0ba]
add edx, dword [ebp - 0x33c]
sub eax, edx
cdq
add ecx, eax
mov word [ebp - 0x14], cx
jmp case.default.0x100215dc
movzx eax, byte [ebp - 2]
add eax, 0x4e9fd0db
mov dword [ebp - 0x28], eax
mov ecx, 0xffffb9c3
mov word [ebp - 0x18], cx
mov edx, dword [ebp - 0x3c]
sub edx, 1
mov dword [ebp - 0x3c], edx
movzx eax, byte [ebp - 7]
movzx ecx, byte [0x1009b01f]
sub ecx, dword [0x1009b170]
add eax, ecx
movzx edx, word [0x1009b184]
movsx ecx, byte [0x1009b0a7]
add edx, ecx
and eax, edx
mov dword [0x1009b1b0], eax
jmp case.default.0x100215dc
mov eax, dword [ebp - 0x40]
cdq
mov ecx, dword [0x1009b150]
mov esi, dword [0x1009b154]
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov ecx, dword [0x1009b150]
mov esi, dword [0x1009b154]
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov dword [0x1009b150], eax
mov dword [0x1009b154], edx
movzx eax, byte [ebp - 7]
add eax, 0xea
cdq
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
sub ecx, eax
sbb esi, edx
mov dword [0x1009b198], ecx
mov dword [0x1009b19c], esi
mov dword [0x1009b14c], 0xa4
movzx edx, byte [0x1009b0ef]
add edx, 0x94ea666
mov byte [ebp - 6], dl
movzx eax, word [0x1009b158]
mov ecx, dword [ebp - 0x2c]
add ecx, 0x78
cmp eax, ecx
jne 0x1002196e
mov edx, dword [0x1009b144]
add edx, dword [ebp - 0x38]
cmp edx, 1
jne 0x1002196e
mov eax, dword [0x1009b130]
mov ecx, dword [0x1009b134]
mov dword [ebp - 0xbac], eax
mov dword [ebp - 0xba8], ecx
mov edx, dword [ebp - 0xbac]
or edx, dword [ebp - 0xba8]
je 0x100218a7
movsx eax, word [ebp - 0x1c]
movsx ecx, byte [ebp - 6]
sub eax, ecx
movsx edx, word [ebp - 0x1c]
add edx, eax
mov word [ebp - 0x1c], dx
movzx eax, byte [0x1009b07f]
test eax, eax
je 0x1002186f
mov cl, byte [0x1009b01f]
mov byte [ebp - 0x56], cl
jmp 0x10021878
mov dl, byte [0x1009b0ef]
mov byte [ebp - 0x56], dl
mov al, byte [ebp - 0x56]
mov byte [ebp - 7], al
movsx ecx, byte [0x1009b0bb]
movzx edx, word [ebp - 0x20]
imul ecx, edx
mov byte [0x1009b0bb], cl
movsx eax, byte [ebp - 3]
sar eax, 5
cdq
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
jmp 0x100218e7
movsx eax, byte [0x1009b0bb]
test eax, eax
je 0x100218e7
mov byte [ebp - 3], 0x33
mov ecx, dword [0x1009b148]
xor ecx, 0x7b9fe4a1
mov dword [0x1009b14c], ecx
movsx edx, word [ebp - 0xc]
imul eax, edx, 0x49
cdq
mov dword [0x1009b130], eax
mov dword [0x1009b134], edx
movsx eax, word [ebp - 0x14]
add eax, 0x6c13d16d
mov dword [ebp - 0x4c], eax
jmp 0x100214b6
mov byte [ebp - 1], 3
mov ecx, dword [0x1009b130]
mov edx, dword [0x1009b134]
mov dword [ebp - 0x12d8], edx
add ecx, 0xa92fb074
mov dword [ebp - 0x40], ecx
movsx eax, byte [ebp - 6]
imul ecx, eax, 0x29
mov edx, dword [0x1009b140]
sub edx, ecx
mov dword [0x1009b140], edx
movsx eax, byte [ebp - 3]
test eax, eax
jne 0x100219b6
mov dword [ebp - 0x348], 1
jmp 0x100219c0
mov dword [ebp - 0x348], 0
movzx esi, byte [0x1009b033]
add esi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x348]
sub ecx, dword [0x1009b140]
not ecx
add esi, ecx
xor edi, edi
movsx eax, byte [ebp - 4]
add eax, 0xc927
not eax
cdq
mov ecx, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x30]
push ebx
push ecx
push edx
push eax
call fcn.1006c090
not eax
not edx
push edx
push eax
push edi
push esi
call fcn.1006c090
mov byte [0x1009b0a7], al
movsx edx, byte [ebp - 4]
imul eax, edx, 0xd2ca9c9e
and eax, dword [0x1009b18c]
mov dword [0x1009b18c], eax
movsx ecx, byte [ebp - 1]
mov dword [ebp - 0x34c], ecx
cmp dword [ebp - 0x34c], 3
ja case.default.0x10021a3b
mov edx, dword [ebp - 0x34c]
jmp dword [edx*4 + 0x100301e8]
mov byte [ebp - 1], 1
movzx eax, word [0x1009b184]
cdq
mov ecx, 0x7bbba63d
sub ecx, eax
mov eax, 0xee78d
sbb eax, edx
mov dword [ebp - 0xbb4], ecx
mov dword [ebp - 0xbb0], eax
mov ecx, dword [ebp - 0xbb4]
or ecx, dword [ebp - 0xbb0]
jne 0x10021a84
mov edx, 1
mov word [ebp - 0x96], dx
jmp 0x10021a8d
xor eax, eax
mov word [ebp - 0x96], ax
mov cx, word [ebp - 0x96]
mov word [0x1009b180], cx
movzx eax, word [ebp - 0x20]
cdq
sub eax, 0x3f33b25b
mov dword [0x1009b1b0], eax
mov byte [0x1009b07e], 1
movsx eax, byte [ebp - 4]
cdq
mov ecx, eax
mov esi, edx
xor ecx, dword [ebp - 0x54]
xor esi, dword [ebp - 0x50]
movsx eax, byte [ebp - 4]
cdq
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov byte [ebp - 4], al
jmp case.default.0x10021a3b
movzx edx, word [ebp - 0x24]
sub edx, 0x9d8f
mov byte [0x1009b0ef], dl
movzx eax, word [ebp - 0x24]
cdq
sub eax, 0x3059c355
mov byte [0x1009b0bb], al
mov eax, dword [0x1009b198]
mov ecx, dword [0x1009b19c]
mov dword [ebp - 0x12dc], ecx
mov byte [0x1009b07f], al
cmp dword [ebp - 0x28], 0
je 0x10021b1d
movzx edx, byte [ebp - 2]
mov dword [ebp - 0x350], edx
jmp 0x10021b28
mov eax, dword [0x1009b170]
mov dword [ebp - 0x350], eax
mov cl, byte [ebp - 0x350]
mov byte [ebp - 7], cl
mov dl, byte [0x1009b138]
mov eax, 1
imul ecx, eax, 0x79
mov byte [ecx + 0x10153ce0], dl
jmp case.default.0x10021a3b
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
sub edx, 0x30730e3b
sbb eax, 0
mov dword [0x1009b138], edx
mov dword [0x1009b13c], eax
cmp dword [0x1009b170], 0
jne 0x10021b7e
mov dword [ebp - 0x354], 1
jmp 0x10021b88
mov dword [ebp - 0x354], 0
movsx ecx, byte [ebp - 5]
or ecx, dword [ebp - 0x354]
not ecx
mov dword [ebp - 0x4c], ecx
movsx edx, byte [ebp - 5]
add edx, 0x4d
mov byte [0x1009b0ba], dl
jmp case.default.0x10021a3b
movzx eax, word [ebp - 0x10]
add eax, 0x6475
mov byte [ebp - 1], al
movzx ecx, byte [0x1009b01f]
imul eax, ecx, 0x31ad5879
cdq
push edx
push eax
mov edx, dword [ebp - 0x44]
push edx
mov eax, dword [ebp - 0x48]
push eax
call fcn.1006c090
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
movzx ecx, word [ebp - 0x20]
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x38], 0
je 0x10021bf6
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x780], edx
mov dword [ebp - 0x77c], eax
jmp 0x10021c0a
movsx eax, byte [0x1009b0a7]
cdq
mov dword [ebp - 0x780], eax
mov dword [ebp - 0x77c], edx
mov ecx, dword [ebp - 0x780]
mov edx, dword [ebp - 0x77c]
mov dword [0x1009b160], ecx
mov dword [0x1009b164], edx
mov eax, dword [0x1009bc7c]
mov dword [ebp - 0x114], eax
mov ecx, dword [0x1009b160]
or ecx, dword [0x1009b164]
jne 0x10021c52
movsx edx, byte [0x1009b0a7]
test edx, edx
jne 0x10021c52
mov dword [ebp - 0x358], 0
jmp 0x10021c5c
mov dword [ebp - 0x358], 1
mov eax, dword [0x1009b1b0]
cmp dword [ebp - 0x358], eax
jb 0x10021c75
mov dword [ebp - 0x35c], 1
jmp 0x10021c7f
mov dword [ebp - 0x35c], 0
mov ecx, dword [ebp - 0x35c]
sub ecx, dword [ebp - 0x28]
je 0x10021e09
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
movzx eax, byte [0x1009b07f]
cdq
mov dword [ebp - 0xbbc], ecx
mov dword [ebp - 0xbb8], esi
mov dword [ebp - 0xbc4], eax
mov dword [ebp - 0xbc0], edx
mov edx, dword [ebp - 0xbb8]
cmp edx, dword [ebp - 0xbc0]
jb 0x10021cde
ja 0x10021cd2
mov eax, dword [ebp - 0xbbc]
cmp eax, dword [ebp - 0xbc4]
jb 0x10021cde
mov dword [ebp - 0x360], 1
jmp 0x10021ce8
mov dword [ebp - 0x360], 0
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0xbcc], ecx
mov dword [ebp - 0xbc8], edx
cmp dword [ebp - 0xbc8], 0
ja 0x10021d0c
cmp dword [ebp - 0xbcc], 0x21
jb 0x10021d18
mov dword [ebp - 0x364], 1
jmp 0x10021d22
mov dword [ebp - 0x364], 0
mov eax, dword [ebp - 0x360]
cmp eax, dword [ebp - 0x364]
je 0x10021d98
movzx eax, word [0x1009b158]
cdq
and eax, 0xac1818d9
mov word [0x1009b180], ax
mov eax, dword [0x1009b150]
mov edx, dword [0x1009b154]
mov cl, 4
call fcn.1006c0d0
mov byte [ebp - 5], al
mov ecx, dword [0x1009b1b0]
add ecx, 0x94
mov byte [ebp - 1], cl
movzx eax, byte [0x1009b07f]
cdq
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
mov edx, dword [0x1009b18c]
xor eax, eax
mov ecx, 8
imul ecx, ecx, 0xc
mov dword [ecx + 0x102592e0], edx
mov dword [ecx + 0x102592e4], eax
jmp 0x10021e09
movsx edx, word [ebp - 0x1c]
cmp edx, 0xffffff24
jg 0x10021db0
mov dword [ebp - 0x368], 1
jmp 0x10021dba
mov dword [ebp - 0x368], 0
movsx eax, byte [0x1009b0a7]
cmp eax, dword [ebp - 0x368]
jl 0x10021e09
mov cl, byte [0x1009b0a6]
sub cl, 1
mov byte [0x1009b0a6], cl
movzx edx, byte [0x1009b01f]
mov eax, dword [0x1009b1b0]
imul eax, edx
movsx ecx, byte [ebp - 4]
xor eax, ecx
mov byte [0x1009b0a6], al
movsx edx, byte [ebp - 1]
imul edx, dword [0x1009b170]
add edx, dword [0x1009b170]
mov dword [0x1009b170], edx
mov eax, dword [ebp - 0x114]
add eax, 0x396
mov dword [ebp - 0x998], eax
movsx ecx, byte [ebp - 1]
sub ecx, 0x6cfe
mov dword [ebp - 0x2c], ecx
movsx edx, word [0x1009b180]
imul edx, dword [0x1009b188]
mov word [0x1009b180], dx
mov eax, dword [ebp - 0x40]
sub eax, 0x90
cdq
mov dword [0x1009b168], eax
mov dword [0x1009b16c], edx
movsx eax, byte [ebp - 6]
sar eax, 8
mov word [ebp - 0x14], ax
movsx ecx, byte [ebp - 1]
test ecx, ecx
jne 0x10021e6f
mov dword [ebp - 0x36c], 1
jmp 0x10021e79
mov dword [ebp - 0x36c], 0
movsx edx, byte [ebp - 5]
not edx
movsx eax, byte [ebp - 4]
not eax
sub edx, eax
movzx ecx, byte [ebp - 7]
movsx eax, byte [0x1009b0a7]
add ecx, eax
sub edx, ecx
movsx ecx, byte [ebp - 6]
add ecx, dword [ebp - 0x36c]
imul edx, ecx
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 0x114]
add edx, 0x23
mov dword [ebp - 0x12e0], edx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov byte [0x1009b0ba], al
mov eax, dword [ebp - 0x114]
add eax, 0x108
mov dword [ebp - 0x370], eax
push 0x1007e67c
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov byte [ebp - 2], al
mov ecx, dword [ebp - 0x370]
imul ecx, dword [ebp - 0x998]
cmp ecx, dword [ebp - 0x370]
je 0x100223ba
cmp dword [0x1009b14c], 0
je 0x10022047
mov dword [ebp - 0x118], 0x9f9
movsx edx, word [0x1009b180]
and edx, 0xa0ed
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], 0x585fe406
mov eax, dword [ebp - 0x38]
xor eax, 0x4e
mov byte [ebp - 1], al
cmp dword [ebp - 0x118], 0x97e
jle 0x10022047
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x374], eax
cmp dword [ebp - 0x374], 0
je 0x10021f73
mov ecx, dword [ebp - 0x374]
push ecx
call dword [sym.imp.USER32.dll_GetMenu]
mov dword [ebp - 0x12e4], eax
call dword [sym.imp.USER32.dll_EndMenu]
mov dword [ebp - 0x12e8], eax
movzx edx, word [0x1009b158]
test edx, edx
je 0x10022033
movzx eax, byte [0x1009b07f]
movsx ecx, byte [ebp - 6]
cmp eax, ecx
jg 0x10021f9d
mov dword [ebp - 0x378], 1
jmp 0x10021fa7
mov dword [ebp - 0x378], 0
movzx edx, byte [0x1009b07f]
cmp edx, 0x33
jg 0x10021fbf
mov dword [ebp - 0x37c], 1
jmp 0x10021fc9
mov dword [ebp - 0x37c], 0
mov eax, dword [ebp - 0x378]
cmp eax, dword [ebp - 0x37c]
jge 0x10022033
mov ecx, dword [ebp - 0x40]
imul ecx, dword [0x1009b1a0]
add ecx, dword [ebp - 0x40]
mov dword [ebp - 0x40], ecx
movzx edx, word [0x1009b158]
sub edx, dword [ebp - 0x38]
mov eax, dword [0x1009b14c]
add eax, edx
movzx ecx, byte [ebp - 2]
movzx edx, word [ebp - 0x24]
sub ecx, edx
movsx edx, byte [ebp - 1]
movzx esi, word [ebp - 0x10]
add edx, esi
add ecx, edx
not ecx
imul eax, ecx
mov byte [0x1009b0bb], al
movzx eax, word [ebp - 0x20]
cdq
mov ecx, eax
add ecx, dword [0x1009b160]
movsx eax, word [ebp - 0x1c]
cdq
sub ecx, eax
mov word [0x1009b180], cx
mov edx, dword [ebp - 0x118]
sub edx, 1
mov dword [ebp - 0x118], edx
jmp 0x10021f2f
mov eax, dword [ebp - 0xac]
push eax
call fcn.1000eca0
mov dword [0x1009b148], 0xd81d8cd0
mov dword [ebp - 0x11c], 0x23
movzx ecx, byte [0x1009b0ee]
imul ecx, dword [0x1009b18c]
mov dword [0x1009b18c], ecx
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
mov dword [ebp - 0x12ec], eax
add edx, 0x9302c96b
mov word [ebp - 0xc], dx
movsx ecx, byte [ebp - 3]
add ecx, 0x465
mov byte [ebp - 2], cl
movzx edx, byte [ebp - 7]
push edx
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp - 0x11c]
add eax, 1
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0x889
jl 0x100220a3
movzx ecx, word [0x1009b184]
movsx edx, byte [ebp - 6]
add edx, 0xce
cmp ecx, edx
jne 0x100221b9
movzx eax, byte [0x1009b0ee]
add eax, dword [ebp - 0x38]
cmp eax, 1
jne 0x100221b9
movsx ecx, byte [ebp - 4]
mov edx, dword [ebp - 0x40]
sub edx, ecx
mov eax, dword [ebp - 0x40]
sub eax, edx
mov dword [ebp - 0x40], eax
movzx ecx, byte [0x1009b01f]
mov edx, 4
imul eax, edx, 0x1c44
mov dword [eax + 0x10113008], ecx
mov ecx, dword [0x1009bc7c]
mov dword [ebp - 0x38], ecx
jmp 0x10022053
mov dword [ebp - 0x120], 0x31c
jmp 0x100221d4
mov edx, dword [ebp - 0x120]
sub edx, 1
mov dword [ebp - 0x120], edx
cmp dword [ebp - 0x120], 0
jle 0x10022389
mov dword [ebp - 0x40], 0
mov al, byte [0x1009bc7c]
mov byte [0x1009b0bb], al
mov ecx, dword [0x1009b190]
sub ecx, 0x422c0dfb
and ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], ecx
movsx edx, byte [0x1009b0a7]
add edx, 0x689bb3ba
mov word [0x1009b158], dx
movsx eax, byte [ebp - 1]
test eax, eax
je 0x10022230
mov cx, word [0x1009b184]
mov word [ebp - 0x9e], cx
jmp 0x1002223b
mov dx, word [ebp - 0x20]
mov word [ebp - 0x9e], dx
mov al, byte [ebp - 0x9e]
mov byte [ebp - 5], al
mov eax, dword [0x1009b140]
cdq
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
xor ecx, eax
xor 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, word [ebp - 0x10]
cdq
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov dword [ebp - 0x12f4], edx
add ecx, eax
movsx eax, word [ebp - 0xc]
movzx edx, word [ebp - 0x24]
and eax, edx
cdq
sub ecx, eax
mov byte [0x1009b0a7], cl
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x99c], eax
cmp dword [ebp - 0x99c], 0
je 0x100222b7
jmp 0x1002237b
movzx eax, byte [ebp - 7]
sar eax, 1
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
sub ecx, dword [0x1009b178]
sbb edx, dword [0x1009b17c]
mov eax, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
or eax, ecx
or esi, edx
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], esi
mov cx, word [0x1009b178]
mov edx, 2
imul eax, edx, 0x9ef1
mov word [eax + 0x100fded8], cx
movzx ecx, byte [0x1009b0ee]
test ecx, ecx
jne 0x10022326
mov dword [ebp - 0x380], 1
jmp 0x10022330
mov dword [ebp - 0x380], 0
movsx edx, byte [ebp - 1]
movzx eax, byte [0x1009b0ee]
imul edx, eax
movsx ecx, word [ebp - 0x14]
add edx, dword [ebp - 0x380]
add ecx, edx
mov dword [0x1009b1b0], ecx
movzx eax, byte [0x1009b07f]
cdq
add eax, 0xe0785ba8
adc edx, 0x294c3
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov edx, dword [0x1009b178]
add edx, 0x1906f97c
mov dword [0x1009b190], edx
mov eax, dword [ebp - 0x4c]
add eax, 1
mov dword [ebp - 0x4c], eax
jmp 0x100221c5
mov ecx, dword [ebp - 0x384]
sub ecx, 0x335
mov edx, dword [ebp - 0x384]
sub edx, 0x335
sub ecx, edx
mov eax, dword [ebp - 0x9a0]
xor eax, 0x335
imul edx, eax, 0
xor ecx, edx
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x100226e6
mov ecx, dword [0x1009b138]
sub ecx, 0x2a
mov byte [ebp - 3], cl
movsx eax, word [ebp - 0x18]
cdq
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
and ecx, eax
and esi, edx
xor edx, edx
sub ecx, dword [0x1009b190]
sbb esi, edx
mov dword [0x1009b168], ecx
mov dword [0x1009b16c], esi
mov eax, dword [0x1009b190]
imul eax, dword [ebp - 0x40]
mov dword [0x1009b190], eax
movsx ecx, byte [0x1009b0ba]
add ecx, dword [ebp - 0x28]
add ecx, dword [ebp - 0x28]
mov dword [ebp - 0x28], ecx
imul edx, dword [0x1009b18c], 0xc4ed
mov byte [0x1009b0ef], dl
mov byte [0x1009b033], 0x2e
mov al, byte [ebp - 3]
sub al, 1
mov byte [ebp - 3], al
movsx ecx, byte [ebp - 6]
mov edx, dword [0x1009b140]
add edx, ecx
mov dword [0x1009b1b0], edx
movzx eax, byte [0x1009b07f]
not eax
movsx ecx, word [0x1009b180]
imul eax, ecx
mov byte [ebp - 7], al
cmp dword [0x1009b170], 0
je 0x1002246c
mov edx, dword [0x1009b14c]
mov dword [ebp - 0x388], edx
jmp 0x10022475
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x388], eax
mov cl, byte [ebp - 0x388]
mov byte [0x1009b0ee], cl
mov byte [ebp - 5], 0x96
movzx edx, word [ebp - 0x24]
imul eax, edx, 0xbff5
cdq
mov dword [0x1009b168], eax
mov dword [0x1009b16c], edx
movzx eax, byte [0x1009b033]
movsx ecx, word [ebp - 0xc]
add eax, ecx
cmp dword [0x1009b18c], eax
jne 0x1002267c
mov edx, dword [0x1009b148]
sub edx, 0x5a1e46d5
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x3c]
sub eax, 0x1cee6106
mov dword [0x1009b188], eax
movsx ecx, byte [0x1009b0ba]
imul ecx, dword [0x1009b144]
mov word [0x1009b184], cx
movsx edx, byte [0x1009b0bb]
movsx eax, byte [ebp - 4]
imul edx, eax
mov byte [0x1009b0bb], dl
movsx ecx, word [ebp - 0x18]
imul edx, ecx, 0xf9a5f51b
mov byte [ebp - 7], dl
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
push 0
push 0x75
push ecx
push eax
call fcn.1006c090
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
movzx edx, byte [0x1009b0a6]
movzx eax, byte [0x1009b07f]
sub edx, eax
movzx ecx, byte [0x1009b0a6]
sub ecx, edx
mov byte [0x1009b0a6], cl
mov edx, dword [0x1009b160]
add edx, 0x52f9
mov eax, dword [0x1009b164]
adc eax, 0
mov dword [0x1009b150], edx
mov dword [0x1009b154], eax
movzx eax, byte [0x1009b07e]
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movsx ecx, byte [ebp - 6]
sub ecx, 0x1bb9945a
cmp dword [0x1009b140], ecx
jne 0x1002267c
jmp 0x1002241e
call dword [0x1034d0e0]
mov edx, dword [ebp - 0xac]
push edx
call fcn.1000eca0
movsx eax, byte [ebp - 1]
sub eax, dword [0x1009b18c]
movsx ecx, byte [ebp - 1]
imul ecx, eax
mov byte [ebp - 1], cl
mov byte [0x1009b0ef], 8
movsx edx, byte [0x1009b0bb]
add edx, 0xd6
movzx eax, byte [0x1009b07f]
sub eax, edx
mov byte [0x1009b07f], al
mov ecx, 8
imul ecx, ecx, 0x3dce
mov eax, dword [ebp - 0x40]
cdq
sub eax, dword [ecx + 0x10317600]
mov dword [ebp - 0x40], eax
mov eax, 1
jmp 0x1003017b
mov edx, dword [ebp - 0x40]
push edx
call dword [sym.imp.USER32.dll_GetTopWindow]
mov byte [0x1009b0ba], al
mov eax, dword [ebp - 0xb4]
or eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0xb4]
sub ecx, eax
mov edx, dword [ebp - 0x124]
sub edx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x124]
add eax, dword [ebp - 0xb4]
imul edx, eax
cmp ecx, edx
je 0x1003017b
cmp dword [0x1009b170], 0
jne 0x10022741
mov dword [ebp - 0x390], 1
jmp 0x1002274b
mov dword [ebp - 0x390], 0
movzx ecx, byte [0x1009b033]
add ecx, dword [ebp - 0x390]
movzx edx, byte [0x1009b0ef]
add ecx, edx
mov dword [0x1009b140], ecx
mov eax, dword [0x1009b1a0]
sub eax, 0x2411293a
mov dword [0x1009b14c], eax
xor ecx, ecx
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
add edx, dword [ebp - 0x3c]
adc eax, ecx
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
sub ecx, edx
sbb esi, eax
mov dword [0x1009b1a8], ecx
mov dword [0x1009b1ac], esi
movzx edx, byte [0x1009b07f]
add edx, 0x255e
mov word [ebp - 0x1c], dx
movzx eax, byte [ebp - 7]
add eax, dword [ebp - 0x40]
imul eax, dword [ebp - 0x40]
mov dword [ebp - 0x40], eax
mov byte [ebp - 6], 1
mov dword [0x1009b188], 0x64
movsx ecx, byte [0x1009b0a7]
test ecx, ecx
je 0x100227ea
mov edx, dword [0x1009b140]
mov dword [ebp - 0x394], edx
jmp 0x100227f5
mov eax, dword [0x1009b18c]
mov dword [ebp - 0x394], eax
mov cl, byte [ebp - 0x394]
mov byte [ebp - 3], cl
movzx edx, word [ebp - 0x20]
sub edx, 0x7c7a8ab4
mov byte [ebp - 6], dl
movsx eax, word [ebp - 0x14]
cdq
mov ecx, eax
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
mov dword [ebp - 0x12f8], eax
sub ecx, edx
movsx eax, word [ebp - 0x14]
cdq
sub eax, ecx
mov word [ebp - 0x14], ax
movsx ecx, word [ebp - 0x18]
imul edx, ecx, 0xe8
mov word [ebp - 0x24], dx
mov byte [ebp - 3], 0x11
movzx eax, byte [0x1009b07f]
mov ecx, dword [0x1009b188]
add ecx, dword [ebp - 0x38]
cmp eax, ecx
jne 0x10022d3a
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
add edx, dword [0x1009b138]
adc eax, dword [0x1009b13c]
mov dword [0x1009b130], edx
mov dword [0x1009b134], eax
cmp dword [ebp - 0x40], 0
je 0x1002288e
movzx ecx, word [ebp - 0x24]
mov dword [ebp - 0x398], ecx
jmp 0x10022898
movsx edx, byte [ebp - 1]
mov dword [ebp - 0x398], edx
mov eax, dword [ebp - 0x398]
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov eax, 4
imul ecx, eax, 0x62df
mov edx, dword [ecx + 0x1015e570]
mov dword [0x1009b1b0], edx
movzx eax, byte [0x1009b07f]
mov ecx, dword [0x1009b148]
imul ecx, eax
mov dword [0x1009b148], ecx
mov dword [ebp - 0x3c], 8
xor edx, edx
jne 0x10022919
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0xbe4], eax
mov dword [ebp - 0xbe0], ecx
mov edx, dword [ebp - 0xbe4]
or edx, dword [ebp - 0xbe0]
jne 0x10022919
movzx eax, byte [0x1009b07e]
not eax
cmp eax, 0x64e303f8
jb 0x10022919
mov dword [ebp - 0x3a8], 1
jmp 0x10022923
mov dword [ebp - 0x3a8], 0
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
not ecx
not esi
movzx eax, word [ebp - 0x10]
cdq
mov dword [ebp - 0xbec], ecx
mov dword [ebp - 0xbe8], esi
mov dword [ebp - 0xbf4], eax
mov dword [ebp - 0xbf0], edx
mov edx, dword [ebp - 0xbec]
cmp edx, dword [ebp - 0xbf4]
jne 0x100229bb
mov eax, dword [ebp - 0xbe8]
cmp eax, dword [ebp - 0xbf0]
jne 0x100229bb
cmp dword [0x1009b190], 0
jne 0x1002297b
mov dword [ebp - 0x39c], 1
jmp 0x10022985
mov dword [ebp - 0x39c], 0
cmp dword [ebp - 0x28], 0
jne 0x10022997
mov dword [ebp - 0x3a0], 1
jmp 0x100229a1
mov dword [ebp - 0x3a0], 0
mov ecx, dword [ebp - 0x39c]
cmp ecx, dword [ebp - 0x3a0]
jl 0x100229bb
mov dword [ebp - 0x3a4], 1
jmp 0x100229c5
mov dword [ebp - 0x3a4], 0
mov edx, dword [ebp - 0x3a4]
not edx
cmp dword [ebp - 0x3a8], edx
jge 0x10022aab
mov eax, dword [0x1009b14c]
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [0x1009b0ef]
movsx edx, word [ebp - 0x18]
imul eax, edx
cdq
mov edi, eax
mov ebx, edx
movzx eax, byte [0x1009b033]
cdq
mov dword [ebp - 0x9a4], esi
mov esi, dword [0x1009b1ac]
add eax, dword [0x1009b1a8]
adc edx, esi
sub edi, eax
sbb ebx, edx
or ecx, edi
mov esi, dword [ebp - 0x9a4]
or esi, ebx
mov dword [ebp - 0xbfc], ecx
mov dword [ebp - 0xbf8], esi
mov eax, dword [ebp - 0xbfc]
or eax, dword [ebp - 0xbf8]
jne 0x10022a46
mov dword [ebp - 0x3ac], 1
jmp 0x10022a50
mov dword [ebp - 0x3ac], 0
mov ecx, dword [ebp - 0x3ac]
mov dword [0x1009b1a0], ecx
movzx eax, word [ebp - 0x24]
add eax, 0x933d
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x38]
mov byte [0x1009b0a7], dl
mov eax, dword [0x1009b144]
and eax, 0x872c953f
xor ecx, ecx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
mov dx, word [ebp - 0x20]
add dx, 1
mov word [ebp - 0x20], dx
movzx eax, byte [0x1009b0a6]
imul ecx, eax, 0xe73ba671
mov byte [0x1009b0ef], cl
jmp 0x10022bdf
movsx edx, byte [ebp - 1]
movzx eax, byte [0x1009b07f]
cmp edx, eax
jl 0x10022b6d
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
mov dword [ebp - 0x12fc], edx
mov word [ebp - 0x14], cx
movzx eax, byte [0x1009b0a6]
cdq
add eax, 0xc418f22f
movsx ecx, byte [ebp - 1]
imul ecx, dword [ebp - 0x3c]
add eax, ecx
movzx edx, byte [ebp - 7]
movsx ecx, byte [0x1009b0ba]
sub edx, ecx
movzx ecx, byte [0x1009b01f]
add ecx, dword [0x1009b18c]
sub edx, ecx
sub eax, edx
mov word [ebp - 0x24], ax
movzx eax, byte [ebp - 7]
not eax
cdq
mov ecx, eax
movsx eax, word [0x1009b180]
cdq
xor eax, dword [ebp - 0x48]
sub ecx, eax
mov edx, dword [0x1009b14c]
xor edx, dword [ebp - 0x3c]
add ecx, edx
mov dword [0x1009b170], ecx
movsx ax, byte [0x1009b0ba]
mov word [ebp - 0x10], ax
cmp dword [0x1009b1a0], 0
jne 0x10022b57
mov ecx, 1
mov word [ebp - 0xa0], cx
jmp 0x10022b60
xor edx, edx
mov word [ebp - 0xa0], dx
mov ax, word [ebp - 0xa0]
mov word [ebp - 0x10], ax
jmp 0x10022bdf
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
add ecx, dword [0x1009b178]
adc edx, dword [0x1009b17c]
mov dword [ebp - 0xc04], ecx
mov dword [ebp - 0xc00], edx
mov eax, dword [ebp - 0xc04]
or eax, dword [ebp - 0xc00]
je 0x10022bdf
movzx eax, word [ebp - 0x10]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x1300], eax
sub ecx, edx
movzx eax, word [ebp - 0x10]
cdq
add eax, ecx
mov word [ebp - 0x10], ax
mov ecx, dword [ebp - 0x2c]
sub ecx, 0x5a3f24c4
mov byte [ebp - 1], cl
movsx edx, word [ebp - 0x14]
movsx eax, byte [ebp - 3]
add edx, eax
movsx ecx, word [ebp - 0x14]
add ecx, edx
mov word [ebp - 0x14], cx
movsx eax, word [ebp - 0xc]
cdq
add eax, 0x475448f6
adc edx, 0xc5786
mov dword [ebp - 0xc0c], eax
mov dword [ebp - 0xc08], edx
mov edx, dword [0x1009b138]
cmp edx, dword [ebp - 0xc0c]
jne 0x10022d3a
mov eax, dword [0x1009b13c]
cmp eax, dword [ebp - 0xc08]
jne 0x10022d3a
mov dword [ebp - 0x128], 0
jmp 0x10022c39
mov ecx, dword [ebp - 0x128]
add ecx, 2
mov dword [ebp - 0x128], ecx
cmp dword [ebp - 0x128], 0x299
jge 0x10022c7c
mov ecx, 9
mov esi, str.._AVILogContext__
lea edi, [ebp - 0x14a8]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x14a8]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [ebp - 0x20], ax
mov eax, dword [ebp - 0x48]
add eax, 1
mov ecx, dword [ebp - 0x44]
adc ecx, 0
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
jmp 0x10022c2a
jmp 0x100227c7
cmp dword [ebp - 0x40], 0
je 0x10022d4f
movzx edx, word [0x1009b184]
mov dword [ebp - 0x3b0], edx
jmp 0x10022d5a
mov eax, dword [0x1009b188]
mov dword [ebp - 0x3b0], eax
mov cx, word [ebp - 0x3b0]
mov word [ebp - 0x10], cx
mov edx, dword [0x1009b18c]
add edx, dword [ebp - 0x3c]
add edx, dword [0x1009b18c]
mov dword [0x1009b18c], edx
movzx eax, byte [0x1009b033]
test eax, eax
je 0x10022d93
mov ecx, dword [0x1009b148]
mov dword [ebp - 0x3b4], ecx
jmp 0x10022da0
movzx edx, word [0x1009b184]
mov dword [ebp - 0x3b4], edx
mov ax, word [ebp - 0x3b4]
mov word [ebp - 0xc], ax
movzx ecx, word [ebp - 0x15ac]
cmp ecx, 0x5a4d
jne 0x10022dc4
cmp dword [ebp - 0x80], 0
jne 0x1003017b
movzx edx, byte [0x1009b0a6]
sub edx, 0x1c
mov eax, dword [0x1009b1b0]
add eax, edx
mov dword [0x1009b1b0], eax
movzx eax, byte [ebp - 7]
movzx ecx, byte [ebp - 2]
movzx edx, word [ebp - 0x10]
imul ecx, edx
imul eax, ecx
not eax
cdq
mov dword [0x1009b130], eax
mov dword [0x1009b134], edx
mov al, byte [0x1009b0a7]
mov byte [0x1009b07e], al
mov ecx, 0x6ce8
mov word [0x1009b184], cx
mov edx, dword [0x1009b144]
push edx
call dword [sym.imp.USER32.dll_IsIconic]
mov word [ebp - 0x10], ax
movzx eax, word [0x1009b184]
mov ecx, dword [ebp - 0x2c]
add ecx, 1
cmp eax, ecx
jne 0x1002336d
movsx edx, word [ebp - 0xc]
cmp dword [0x1009b18c], edx
jae 0x1002317e
cmp dword [0x1009b140], 0
je 0x10022e68
mov eax, dword [0x1009b160]
or eax, dword [0x1009b164]
je 0x10022e68
mov dword [ebp - 0x3b8], 0
jmp 0x10022e72
mov dword [ebp - 0x3b8], 1
cmp dword [0x1009b1a0], 0
jne 0x10022e8f
movsx ecx, byte [ebp - 6]
test ecx, ecx
jne 0x10022e8f
mov dword [ebp - 0x3bc], 1
jmp 0x10022e99
mov dword [ebp - 0x3bc], 0
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
mov dword [ebp - 0xc1c], edx
mov dword [ebp - 0xc18], eax
mov ecx, dword [ebp - 0xc1c]
or ecx, dword [ebp - 0xc18]
je 0x10022efb
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
not edx
not eax
mov dword [ebp - 0xc24], edx
mov dword [ebp - 0xc20], eax
mov ecx, dword [ebp - 0xc24]
or ecx, dword [ebp - 0xc20]
je 0x10022efb
xor edx, edx
mov dword [ebp - 0x828], 1
mov dword [ebp - 0x824], edx
jmp 0x10022f06
xorps xmm0, xmm0
movlpd qword [ebp - 0x828], xmm0
mov eax, dword [0x1009b17c]
cmp eax, dword [ebp - 0x824]
jl 0x10022f2f
jg 0x10022f23
mov ecx, dword [0x1009b178]
cmp ecx, dword [ebp - 0x828]
jbe 0x10022f2f
mov dword [ebp - 0x3c0], 1
jmp 0x10022f39
mov dword [ebp - 0x3c0], 0
mov edx, dword [ebp - 0x3b8]
add edx, dword [ebp - 0x3bc]
sub edx, dword [ebp - 0x3c0]
jne 0x10023081
mov eax, dword [0x1009b178]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [0x1009b1b0], eax
cmp dword [0x1009b1b0], 0
jb 0x10022fc5
movzx ecx, byte [0x1009b0ee]
and ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x28]
add ecx, dword [0x1009b178]
movsx eax, byte [0x1009b0a7]
movzx edx, byte [ebp - 2]
sub eax, edx
cdq
xor ecx, eax
mov byte [0x1009b0ef], cl
movsx eax, byte [ebp - 5]
cdq
mov ecx, dword [0x1009b130]
mov esi, dword [0x1009b134]
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov dword [0x1009b130], eax
mov dword [0x1009b134], edx
mov byte [ebp - 5], 0x89
jmp 0x1002307c
movsx edx, byte [0x1009b0ba]
not edx
test edx, edx
je 0x10022fda
movsx eax, byte [ebp - 3]
test eax, eax
jne 0x10023000
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
mov dword [ebp - 0xc2c], ecx
mov dword [ebp - 0xc28], edx
mov eax, dword [ebp - 0xc2c]
or eax, dword [ebp - 0xc28]
je 0x1002307c
movsx ecx, byte [0x1009b0a7]
sub ecx, 0x86
mov edx, dword [0x1009b148]
sub edx, ecx
mov dword [0x1009b148], edx
cmp dword [ebp - 0x28], 0
jne 0x1002302d
mov dword [ebp - 0x3c4], 1
jmp 0x10023037
mov dword [ebp - 0x3c4], 0
movzx eax, byte [0x1009b01f]
imul eax, dword [ebp - 0x3c4]
test eax, eax
jne 0x1002304f
mov byte [ebp - 0x57], 1
jmp 0x10023053
mov byte [ebp - 0x57], 0
mov cl, byte [ebp - 0x57]
mov byte [ebp - 4], cl
movsx edx, byte [ebp - 3]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x40]
add eax, dword [0x1009b1a0]
add eax, dword [ebp - 0x40]
mov dword [ebp - 0x40], eax
movsx ecx, word [ebp - 0x18]
imul edx, ecx, 0x60
mov byte [0x1009b0ee], dl
jmp 0x1002317e
xor eax, eax
je 0x100230c8
mov dword [ebp - 0x28], 0x939b92b7
movzx ecx, byte [0x1009b07e]
movzx edx, byte [ebp - 2]
and ecx, edx
mov byte [0x1009b07e], cl
mov eax, dword [0x1009b1a8]
mov ecx, dword [0x1009b1ac]
mov edx, dword [0x1009b19c]
sub eax, dword [0x1009b198]
sbb ecx, edx
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], ecx
jmp 0x1002317e
movzx eax, byte [0x1009b0ef]
test eax, eax
je 0x1002310a
movsx eax, byte [ebp - 5]
xor eax, 1
cdq
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
movzx eax, byte [0x1009b07f]
cdq
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov byte [0x1009b07f], al
jmp 0x1002317e
movzx edx, word [ebp - 0x10]
not edx
test edx, edx
je 0x1002317e
movsx eax, byte [ebp - 1]
add eax, 0x36fd6a7
cdq
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
movzx eax, byte [0x1009b0ef]
cdq
mov ecx, dword [0x1009b164]
push ecx
mov ecx, dword [0x1009b160]
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 ecx, dword [0x1009b168]
mov edx, dword [0x1009b16c]
mov dword [ebp - 0x1304], edx
xor ecx, 0xcf83
movzx eax, byte [0x1009b07f]
cdq
xor eax, ecx
mov byte [0x1009b07f], al
movsx eax, byte [ebp - 3]
cdq
mov ecx, dword [0x1009b130]
mov esi, dword [0x1009b134]
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov dword [ebp - 0xc34], eax
mov dword [ebp - 0xc30], edx
mov edx, dword [ebp - 0xc34]
or edx, dword [ebp - 0xc30]
jne 0x100231b8
mov byte [ebp - 0x58], 1
jmp 0x100231bc
mov byte [ebp - 0x58], 0
mov al, byte [ebp - 0x58]
mov byte [ebp - 1], al
mov ecx, dword [0x1009bc7c]
mov dword [0x1009b140], ecx
movzx edx, word [0x1009b158]
imul eax, edx, 0xad63d5dd
mov word [ebp - 0x18], ax
movzx ecx, byte [0x1009b01f]
imul eax, ecx, 0xad
cdq
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
cmp dword [ebp - 0x28], 0
je 0x10023209
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x3c8], edx
jmp 0x10023213
movzx eax, word [ebp - 0x24]
mov dword [ebp - 0x3c8], eax
mov cx, word [ebp - 0x3c8]
mov word [ebp - 0x10], cx
cmp dword [0x1009b1b0], 1
jne 0x1002336d
mov edx, dword [0x1009b144]
add edx, 0xc68
mov dword [ebp - 0x3c], edx
mov al, byte [0x1009b180]
mov byte [0x1009b0ba], al
mov ecx, dword [ebp - 0x4c]
sub ecx, dword [ebp - 0x3c]
add ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], ecx
movzx edx, byte [0x1009b0ee]
test edx, edx
jne 0x10023267
mov dword [ebp - 0x3cc], 1
jmp 0x10023271
mov dword [ebp - 0x3cc], 0
movsx eax, byte [ebp - 1]
and eax, dword [ebp - 0x3cc]
cdq
mov ecx, dword [0x1009b170]
add ecx, dword [0x1009b178]
add eax, ecx
mov word [0x1009b184], ax
movsx eax, byte [ebp - 6]
cdq
push 0x66f9b
push 0xc9992396
push edx
push eax
call fcn.1006c090
mov dword [0x1009b170], eax
jmp 0x1002336d
mov eax, 0x6ce8
mov word [0x1009b184], ax
mov ecx, dword [0x1009bc7c]
mov dword [0x1009b170], ecx
movsx edx, byte [0x1009b0bb]
test edx, edx
je 0x1002339a
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x3d0], eax
jmp 0x100233a7
movzx ecx, byte [0x1009b07e]
mov dword [ebp - 0x3d0], ecx
mov edx, dword [ebp - 0x3d0]
mov dword [0x1009b1a0], edx
movsx eax, word [ebp - 0xc]
imul eax, dword [ebp - 0x4c]
movsx ecx, word [ebp - 0xc]
sub ecx, eax
mov word [ebp - 0xc], cx
movsx edx, byte [ebp - 1]
movzx eax, byte [0x1009b033]
sub edx, eax
mov byte [ebp - 1], dl
cmp dword [ebp - 0x4c], 0
je 0x10023881
mov dword [ebp - 0x12c], 0
jmp 0x100233fa
mov ecx, dword [ebp - 0x12c]
add ecx, 2
mov dword [ebp - 0x12c], ecx
cmp dword [ebp - 0x12c], 0x256
jge 0x1002387c
movzx edx, byte [ebp - 2]
test edx, edx
je 0x100236a5
mov eax, 4
mov word [ebp - 0x10], ax
movzx ecx, byte [0x1009b0ee]
sub ecx, 0xc7
mov dword [0x1009b1a0], ecx
movsx edx, word [ebp - 0x18]
test edx, edx
jne 0x1002344e
xor eax, eax
mov dword [ebp - 0xc3c], 1
mov dword [ebp - 0xc38], eax
jmp 0x10023459
xorps xmm0, xmm0
movlpd qword [ebp - 0xc3c], xmm0
mov ecx, dword [ebp - 0xc3c]
add ecx, 0x4c23a87b
mov word [ebp - 0x10], cx
movsx edx, byte [0x1009b0ba]
mov eax, dword [0x1009b144]
add eax, edx
mov ecx, dword [0x1009b144]
sub ecx, eax
mov dword [0x1009b144], ecx
mov edx, dword [0x1009b18c]
not edx
mov eax, 0x9a9d3c
sub eax, edx
xor ecx, ecx
mov dword [0x1009b138], eax
mov dword [0x1009b13c], ecx
movzx edx, word [ebp - 0x10]
mov dword [ebp - 0x3d4], edx
cmp dword [ebp - 0x3d4], 4
ja case.default.0x100234be
mov eax, dword [ebp - 0x3d4]
jmp dword [eax*4 + 0x100301f8]
mov eax, dword [ebp - 0x2c]
cdq
mov ecx, 8
imul ecx, ecx, 0x1e03
mov dword [ecx + 0x1012a9d0], eax
mov dword [ecx + 0x1012a9d4], edx
mov edx, dword [ebp - 0x3c]
xor eax, eax
mov ecx, dword [0x1009b16c]
add edx, dword [0x1009b168]
adc eax, ecx
mov ecx, dword [ebp - 0x3c]
xor esi, esi
push eax
push edx
push esi
push ecx
call fcn.1006c090
mov dword [ebp - 0x3c], eax
mov edx, 0x324c
mov word [ebp - 0x1c], dx
mov eax, 0x93
mov word [ebp - 0x18], ax
mov ecx, dword [ebp - 0x3c]
sub ecx, 0x6f46acb0
mov word [0x1009b158], cx
movzx edx, byte [0x1009b01f]
movsx eax, byte [ebp - 5]
movzx ecx, word [ebp - 0x24]
or eax, ecx
not eax
sub edx, eax
mov byte [ebp - 3], dl
jmp case.default.0x100234be
movzx eax, byte [ebp - 7]
cdq
add eax, 0xf51683aa
mov byte [0x1009b0bb], al
mov eax, dword [ebp - 0x40]
cdq
sub eax, 0xe915a3e1
mov byte [ebp - 1], al
movzx eax, word [0x1009b158]
sub eax, 0xee
cdq
mov dword [0x1009b150], eax
mov dword [0x1009b154], edx
jmp case.default.0x100234be
movsx edx, byte [ebp - 6]
imul eax, edx, 0x6b19
cdq
mov dword [0x1009b168], eax
mov dword [0x1009b16c], edx
movzx eax, word [0x1009b158]
imul ecx, dword [0x1009b144], 0x3cd28cc5
imul eax, ecx
movzx edx, byte [0x1009b033]
mov ecx, dword [ebp - 0x2c]
not ecx
xor edx, ecx
add edx, dword [ebp - 0x3c]
sub eax, edx
mov byte [ebp - 2], al
mov edx, dword [0x1009b144]
xor eax, eax
mov ecx, dword [ebp - 0x44]
push ecx
mov ecx, dword [ebp - 0x48]
push ecx
push eax
push edx
call fcn.1006c090
mov edx, dword [0x1009b144]
and edx, eax
mov dword [0x1009b144], edx
jmp case.default.0x100234be
mov ax, word [0x1009bc7c]
mov word [ebp - 0x1c], ax
mov ecx, dword [0x1009b1a0]
and ecx, 0x25
xor edx, edx
mov dword [0x1009b198], ecx
mov dword [0x1009b19c], edx
mov ecx, dword [0x1009b160]
xor ecx, 0x1f6492ed
mov esi, dword [0x1009b164]
xor esi, 0
movzx eax, word [ebp - 0x10]
cdq
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov word [ebp - 0x10], ax
mov edx, 1
imul eax, edx, 0xcf
movzx ecx, byte [eax + 0x1034cfc8]
movsx edx, word [ebp - 0x18]
add edx, ecx
mov word [ebp - 0x18], dx
mov eax, dword [0x1009bc7c]
mov dword [0x1009b18c], eax
mov ecx, 0x7c
mov word [ebp - 0x20], cx
jmp case.default.0x100234be
mov dx, word [0x1009bc7c]
mov word [ebp - 0x18], dx
mov dword [0x1009b144], 0xf1690e6
movzx eax, byte [0x1009b0ee]
imul ecx, eax, 0x99ba93ec
mov byte [0x1009b0a6], cl
movzx eax, word [ebp - 0x20]
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movzx edx, word [ebp - 0x10]
movsx eax, byte [ebp - 5]
imul edx, eax
mov word [ebp - 0x10], dx
jmp 0x1002385b
mov ecx, 0x264421b2
or ecx, 0xa3477
je 0x10023714
mov byte [0x1009b01f], 0xca
movzx edx, word [ebp - 0x24]
imul eax, edx, 0x58d2
mov word [ebp - 0x10], ax
mov eax, dword [ebp - 0x4c]
cdq
push 0xc60de
push 0x1d5b08db
push edx
push eax
call fcn.1006c090
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x4c]
cdq
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov dword [ebp - 0x4c], eax
mov dl, byte [ebp - 6]
add dl, 1
mov byte [ebp - 6], dl
xor eax, eax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
sub ecx, dword [0x1009b170]
sbb edx, eax
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
jmp 0x1002385b
movsx eax, byte [ebp - 1]
test eax, eax
jne 0x10023730
xor ecx, ecx
mov dword [ebp - 0x830], 1
mov dword [ebp - 0x82c], ecx
jmp 0x1002373b
xorps xmm0, xmm0
movlpd qword [ebp - 0x830], xmm0
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
mov dword [ebp - 0xc44], edx
mov dword [ebp - 0xc40], eax
mov ecx, dword [ebp - 0xc40]
cmp ecx, dword [ebp - 0x82c]
jl 0x1002377c
jg 0x10023770
mov edx, dword [ebp - 0xc44]
cmp edx, dword [ebp - 0x830]
jbe 0x1002377c
mov dword [ebp - 0x3d8], 1
jmp 0x10023786
mov dword [ebp - 0x3d8], 0
movzx eax, byte [0x1009b07f]
cmp eax, dword [ebp - 0x3d8]
je 0x100237d3
mov eax, dword [0x1009b160]
mov edx, dword [0x1009b164]
mov cl, 2
call fcn.1006c0d0
mov dword [ebp - 0x40], eax
mov cx, word [ebp - 0x14]
add cx, 1
mov word [ebp - 0x14], cx
mov eax, dword [ebp - 0x4c]
cdq
push 0xa4027
push 0x7b90f612
push edx
push eax
call fcn.1006c090
mov byte [ebp - 4], al
jmp 0x1002385b
movzx edx, word [ebp - 0x10]
movzx eax, byte [ebp - 2]
cmp edx, eax
jle 0x1002385b
mov cl, byte [0x1009b178]
mov edx, 1
imul eax, edx, 0x44
mov byte [eax + 0x10153ce0], cl
mov ecx, dword [0x1009b198]
mov edx, dword [0x1009b19c]
push 0x5251e
push 0x3f03838b
push edx
push ecx
call fcn.1006c090
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov dword [0x1009b190], 0x31c7b7d7
mov eax, dword [0x1009b178]
or eax, dword [0x1009b17c]
jne 0x10023839
mov dword [ebp - 0x3dc], 1
jmp 0x10023843
mov dword [ebp - 0x3dc], 0
movzx ecx, byte [0x1009b0ee]
imul ecx, dword [ebp - 0x2c]
not ecx
imul ecx, dword [ebp - 0x3dc]
mov word [ebp - 0xc], cx
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
add edx, 1
adc eax, 0
mov dword [0x1009b150], edx
mov dword [0x1009b154], eax
jmp 0x100233eb
jmp 0x10023958
mov ecx, dword [0x1009bc7c]
mov dword [0x1009b140], ecx
mov edx, dword [0x1009b160]
or edx, dword [0x1009b164]
jne 0x100238a7
mov dword [ebp - 0x3e0], 1
jmp 0x100238b1
mov dword [ebp - 0x3e0], 0
movsx eax, byte [ebp - 3]
test eax, eax
jne 0x100238c5
mov dword [ebp - 0x3e4], 1
jmp 0x100238cf
mov dword [ebp - 0x3e4], 0
movsx ecx, word [ebp - 0x18]
and ecx, dword [ebp - 0x38]
add ecx, dword [0x1009b170]
movsx edx, word [ebp - 0x14]
not edx
add edx, dword [ebp - 0x3e0]
movzx eax, word [ebp - 0x24]
xor eax, dword [ebp - 0x3e4]
sub edx, eax
add ecx, edx
xor edx, edx
mov dword [0x1009b168], ecx
mov dword [0x1009b16c], edx
mov eax, dword [0x1009b190]
shr eax, 3
mov dword [ebp - 0x40], eax
movsx ecx, byte [ebp - 4]
mov edx, dword [0x1009b170]
sub edx, ecx
not edx
add edx, dword [ebp - 0x38]
mov eax, dword [0x1009b1b0]
add eax, dword [ebp - 0x2c]
movsx ecx, byte [ebp - 4]
movzx esi, word [0x1009b158]
add ecx, esi
imul eax, ecx
sub edx, eax
not edx
mov word [ebp - 0x1c], dx
mov edx, dword [0x1009b148]
sub edx, dword [0x1009b138]
mov eax, dword [0x1009b148]
add eax, edx
mov dword [0x1009b148], eax
mov ecx, dword [0x1009bc7c]
mov dword [ebp - 0x130], ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
mov byte [ebp - 1], al
mov edx, dword [ebp - 0x130]
add edx, 0x1a9
mov dword [ebp - 0x9a8], edx
movzx eax, byte [0x1009b0ef]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov dword [0x1009b140], eax
mov ecx, dword [ebp - 0x130]
add ecx, 0x209
mov dword [ebp - 0x130c], ecx
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
mov dword [ebp - 0x1310], eax
push edx
call dword [sym.imp.USER32.dll_GetParent]
mov dword [0x1009b1b0], eax
mov ecx, dword [ebp - 0x130]
add ecx, 0x1c0
mov dword [ebp - 0x3e8], ecx
mov byte [0x1009b0ef], 0x4b
mov edx, dword [0x1009b190]
xor eax, eax
mov dword [ebp - 0xc4c], edx
mov dword [ebp - 0xc48], eax
mov ecx, dword [ebp - 0xc48]
cmp ecx, dword [ebp - 0x44]
jb 0x10023a5b
ja 0x10023a06
mov edx, dword [ebp - 0xc4c]
cmp edx, dword [ebp - 0x48]
jbe 0x10023a5b
mov eax, dword [0x1009b1a0]
sub eax, 0x98f89a78
mov byte [0x1009b07f], al
movzx ecx, byte [0x1009b01f]
imul edx, ecx, 0xba
mov dword [ebp - 0x2c], edx
movzx eax, word [0x1009b158]
sub eax, 0xa1
cdq
mov dword [0x1009b198], eax
mov dword [0x1009b19c], edx
movzx eax, byte [0x1009b0ef]
cdq
add eax, 0xc38f442e
mov dword [ebp - 0x4c], eax
movzx eax, word [ebp - 0x10]
imul ecx, eax, 0x63876350
mov word [ebp - 0x10], cx
movzx edx, byte [0x1009b0ef]
movsx eax, word [ebp - 0xc]
add eax, 0x56ace54b
cmp edx, eax
jne 0x10023b9f
movzx ecx, byte [0x1009b0a6]
mov edx, dword [ebp - 0x38]
add edx, 0xd866ce8
cmp ecx, edx
jne 0x10023b9f
mov eax, dword [0x1009b1a8]
mov ecx, dword [0x1009b1ac]
add eax, 1
adc ecx, 0
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], ecx
movsx edx, byte [ebp - 3]
mov eax, dword [0x1009b190]
add edx, dword [0x1009b1a0]
lea ecx, [edx + eax + 0x689ec7e7]
mov word [ebp - 0x1c], cx
mov edx, dword [0x1009b140]
imul edx, dword [0x1009b1a0]
mov eax, dword [0x1009b140]
sub eax, edx
mov dword [0x1009b140], eax
mov ecx, dword [0x1009b144]
shl ecx, 8
xor edx, edx
mov dword [0x1009b198], ecx
mov dword [0x1009b19c], edx
mov eax, dword [0x1009b198]
mov ecx, dword [0x1009b19c]
mov edx, dword [0x1009b19c]
sub eax, dword [0x1009b198]
sbb ecx, edx
mov dword [0x1009b198], eax
mov dword [0x1009b19c], ecx
jmp 0x10023b9f
mov byte [0x1009b0ef], 0x4b
movzx edx, word [0x1009b184]
imul eax, edx, 0x54a1b33e
cdq
mov dword [0x1009b168], eax
mov dword [0x1009b16c], edx
movzx eax, byte [0x1009b0ee]
mov ecx, dword [0x1009b144]
add ecx, eax
mov esi, ecx
mov eax, dword [ebp - 0x38]
cdq
xor eax, dword [0x1009b178]
add esi, eax
movsx eax, byte [0x1009b0ba]
cdq
mov ecx, dword [0x1009b130]
mov edi, dword [0x1009b134]
push edx
push eax
push edi
push ecx
call fcn.1006c090
mov ecx, eax
movzx eax, byte [0x1009b033]
cdq
xor ecx, eax
not ecx
xor esi, ecx
mov word [ebp - 0x14], si
movsx edx, word [0x1009b180]
movsx eax, word [ebp - 0x18]
xor edx, eax
mov word [ebp - 0x20], dx
mov ecx, dword [0x1009b130]
mov edx, dword [0x1009b134]
mov eax, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0xc54], ecx
mov dword [ebp - 0xc50], edx
mov dword [ebp - 0xc5c], eax
mov dword [ebp - 0xc58], esi
mov ecx, dword [ebp - 0xc50]
cmp ecx, dword [ebp - 0xc58]
jb 0x10023d15
ja 0x10023c6e
mov edx, dword [ebp - 0xc54]
cmp edx, dword [ebp - 0xc5c]
jbe 0x10023d15
mov dword [ebp - 0x174], 0x4a
mov byte [0x1009b0bb], 0xec
movzx eax, byte [0x1009b07f]
imul eax, eax, 0x603bdf86
cdq
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], esi
movzx edx, byte [ebp - 7]
sub edx, 0x9f
mov eax, dword [0x1009b14c]
sub eax, edx
mov dword [0x1009b14c], eax
movsx ecx, byte [0x1009b0bb]
imul edx, ecx, 0xddf8
movzx eax, byte [0x1009b01f]
add eax, edx
mov byte [0x1009b01f], al
movzx eax, byte [0x1009b0ef]
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov byte [0x1009b0ef], al
call dword [sym.imp.USER32.dll_GetDialogBaseUnits]
xor edx, edx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x174]
add eax, 1
mov dword [ebp - 0x174], eax
cmp dword [ebp - 0x174], 0x1bcf
jl 0x10023cea
jmp 0x10023d8a
movzx ecx, word [ebp - 0x24]
test ecx, ecx
je 0x10023d8a
movsx edx, byte [0x1009b0ba]
imul edx, dword [0x1009b14c]
movsx eax, byte [0x1009b0ba]
or eax, edx
mov byte [0x1009b0ba], al
mov ecx, dword [0x1009b14c]
add ecx, 0x382e
movzx edx, word [ebp - 0x24]
movsx eax, word [ebp - 0x14]
sub edx, eax
sub ecx, edx
mov word [0x1009b180], cx
mov ecx, dword [ebp - 0x28]
add ecx, 1
mov dword [ebp - 0x28], ecx
mov dx, word [0x1009b178]
mov eax, 2
imul ecx, eax, 0x3d
mov word [ecx + 0x101c0c30], dx
mov edx, dword [0x1009bc7c]
xor eax, eax
mov dword [0x1009b130], edx
mov dword [0x1009b134], eax
imul ecx, dword [ebp - 0x3e8], 0x35
imul edx, dword [ebp - 0x3e8], 0x1ed
sub ecx, edx
cmp ecx, dword [ebp - 0x9a8]
je 0x1003017b
mov eax, dword [0x1009b14c]
cmp dword [ebp - 0x38], eax
je 0x10023f32
movzx ecx, word [ebp - 0x20]
cmp ecx, dword [0x1009b188]
je 0x10023dcf
mov dword [ebp - 0x3ec], 1
jmp 0x10023dd9
mov dword [ebp - 0x3ec], 0
movzx edx, word [ebp - 0x20]
cmp edx, 0x62
je 0x10023dee
mov dword [ebp - 0x3f0], 1
jmp 0x10023df8
mov dword [ebp - 0x3f0], 0
mov eax, dword [ebp - 0x3ec]
cmp eax, dword [ebp - 0x3f0]
jge 0x10023edd
movsx ecx, byte [ebp - 6]
imul ecx, dword [ebp - 0x3c]
add ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], ecx
mov byte [0x1009b033], 0x43
movzx edx, byte [0x1009b01f]
test edx, edx
jne 0x10023e36
mov dword [ebp - 0x3f4], 1
jmp 0x10023e40
mov dword [ebp - 0x3f4], 0
movsx eax, word [0x1009b180]
add eax, dword [ebp - 0x4c]
jne 0x10023e60
xor ecx, ecx
mov dword [ebp - 0xc64], 1
mov dword [ebp - 0xc60], ecx
jmp 0x10023e6b
xorps xmm0, xmm0
movlpd qword [ebp - 0xc64], xmm0
movsx eax, word [ebp - 0xc]
movzx edx, word [0x1009b184]
imul eax, edx
mov ecx, 0x73
sub ecx, dword [ebp - 0x3f4]
not ecx
add eax, ecx
not eax
cdq
mov edx, dword [0x1009b1a8]
mov ecx, dword [0x1009b1ac]
mov dword [ebp - 0x131c], ecx
add edx, dword [ebp - 0xc64]
add eax, edx
not eax
mov dword [ebp - 0x40], eax
mov edx, 0x655b
mov word [ebp - 0x24], dx
movzx eax, word [ebp - 0x24]
sub eax, 0x31d17e04
mov word [ebp - 0x14], ax
movzx ecx, byte [0x1009b07e]
movsx edx, byte [ebp - 3]
xor ecx, edx
movzx eax, byte [0x1009b07e]
sub eax, ecx
mov byte [0x1009b07e], al
jmp 0x10023f2d
movsx ecx, byte [0x1009b0bb]
movzx edx, byte [ebp - 2]
imul ecx, edx
movsx eax, byte [0x1009b0bb]
imul eax, ecx
mov byte [0x1009b0bb], al
movsx ecx, byte [0x1009b0ba]
movzx edx, byte [0x1009b0ef]
xor ecx, edx
mov byte [0x1009b0ba], cl
movsx eax, word [ebp - 0xc]
cdq
mov ecx, dword [0x1009b198]
mov edx, dword [0x1009b19c]
mov dword [ebp - 0x1320], edx
sub eax, ecx
mov word [ebp - 0xc], ax
jmp 0x1002402a
cmp dword [0x1009b144], 0
jne 0x10023f46
mov eax, dword [0x1009b144]
not eax
test eax, eax
je 0x10023f7e
movzx ecx, byte [ebp - 7]
shl ecx, 5
mov dword [ebp - 0x28], ecx
mov byte [ebp - 2], 0x92
imul edx, dword [0x1009b190], 0x8a
mov word [ebp - 0x1c], dx
mov byte [0x1009b0ef], 0xa6
mov eax, dword [ebp - 0x3c]
not eax
sub eax, dword [0x1009b178]
mov dword [0x1009b1a0], eax
jmp 0x1002402a
cmp dword [0x1009b18c], 0
jne 0x1002402a
mov ecx, dword [0x1009bc7c]
mov dword [0x1009b1b0], ecx
movsx edx, byte [ebp - 6]
test edx, edx
je 0x10023fb8
mov eax, dword [0x1009b160]
mov ecx, dword [0x1009b164]
mov dword [ebp - 0x838], eax
mov dword [ebp - 0x834], ecx
jmp 0x10023fc9
movsx eax, word [ebp - 0x14]
cdq
mov dword [ebp - 0x838], eax
mov dword [ebp - 0x834], edx
mov dx, word [ebp - 0x838]
mov word [ebp - 0x14], dx
movzx eax, byte [ebp - 7]
sub eax, 0x47c3
mov word [ebp - 0x14], ax
movzx ecx, byte [ebp - 2]
mov edx, dword [0x1009b14c]
sub edx, ecx
mov eax, dword [0x1009b14c]
imul eax, edx
mov dword [0x1009b14c], eax
mov ecx, dword [0x1009b130]
mov edx, dword [0x1009b134]
mov dword [ebp - 0x1324], edx
mov dword [0x1009b170], ecx
imul eax, dword [0x1009b190], 0xf067
mov ecx, dword [0x1009b140]
sub ecx, eax
mov dword [0x1009b140], ecx
mov byte [0x1009b0bb], 0x7f
movzx eax, word [0x1009b184]
cdq
sub eax, dword [0x1009b138]
mov word [0x1009b184], ax
imul edx, dword [ebp - 0x3c], 0x93
movzx eax, word [ebp - 0x10]
imul eax, edx
mov word [ebp - 0x10], ax
movzx ecx, byte [ebp - 2]
movzx edx, byte [0x1009b07e]
imul eax, edx, 0x1c
imul ecx, eax
mov byte [ebp - 2], cl
movzx ecx, word [ebp - 0x10]
sub ecx, 0x6adaf6bd
mov byte [0x1009b0ba], cl
mov eax, dword [ebp - 0x38]
cdq
add eax, 0x17626202
mov byte [0x1009b033], al
movzx edx, byte [ebp - 2]
sub edx, 0x3d
mov word [0x1009b184], dx
movsx eax, byte [0x1009b0bb]
mov ecx, dword [ebp - 0x3c]
add ecx, 1
cmp eax, ecx
jne 0x100244b8
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x138], eax
cmp dword [ebp - 0x138], 0
je 0x100240e7
mov edx, dword [ebp - 0x138]
push edx
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp - 0x1328], eax
mov eax, dword [ebp - 0x138]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov dword [ebp - 0x132c], eax
call dword [sym.imp.USER32.dll_GetMessageTime]
mov word [0x1009b158], ax
mov ecx, dword [0x1009b168]
mov edx, dword [0x1009b16c]
mov dword [ebp - 0xc6c], ecx
mov dword [ebp - 0xc68], edx
cmp dword [ebp - 0xc6c], 1
jne 0x100244b8
cmp dword [ebp - 0xc68], 0
jne 0x100244b8
xor eax, eax
mov dword [ebp - 0x34], 4
mov dword [ebp - 0x30], eax
movsx ecx, byte [ebp - 1]
xor ecx, 0x9d
mov dword [ebp - 0x3c], ecx
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
mov dword [ebp - 0x1330], eax
add edx, 0x1ca40716
mov dword [0x1009b144], edx
movsx ecx, word [0x1009b180]
sub ecx, 0xa6e4
mov dword [ebp - 0x28], ecx
movsx edx, byte [0x1009b0bb]
test edx, edx
je 0x10024189
movsx eax, word [ebp - 0xc]
cdq
mov dword [ebp - 0x840], eax
mov dword [ebp - 0x83c], edx
jmp 0x1002419b
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x840], eax
mov dword [ebp - 0x83c], ecx
mov edx, dword [ebp - 0x840]
mov dword [0x1009b170], edx
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x848], eax
mov dword [ebp - 0x844], ecx
cmp dword [ebp - 0x844], 0
ja 0x1002443f
jb 0x100241d5
cmp dword [ebp - 0x848], 4
ja 0x1002443f
mov edx, dword [ebp - 0x848]
mov dword [ebp - 0x1470], edx
mov eax, dword [ebp - 0x1470]
jmp dword [eax*4 + 0x1003020c]
jmp 0x100244b8
mov byte [0x1009b0bb], 0x7f
movzx edx, word [0x1009b158]
test edx, edx
je 0x100244d6
movzx eax, byte [ebp - 2]
mov dword [ebp - 0x3fc], eax
jmp 0x100244e2
mov ecx, dword [0x1009b190]
mov dword [ebp - 0x3fc], ecx
mov edx, dword [ebp - 0x3fc]
xor eax, eax
mov dword [0x1009b160], edx
mov dword [0x1009b164], eax
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov dword [ebp - 0x133c], edx
add ecx, 0x8b92
mov byte [0x1009b01f], cl
mov eax, dword [0x1009b14c]
sar eax, 1
cdq
mov dword [0x1009b150], eax
mov dword [0x1009b154], edx
movzx eax, word [ebp - 0x24]
cdq
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
add ecx, eax
adc esi, edx
mov dword [ebp - 0xc74], ecx
mov dword [ebp - 0xc70], esi
mov edx, dword [ebp - 0xc74]
or edx, dword [ebp - 0xc70]
jne 0x1002455b
mov dword [ebp - 0x400], 1
jmp 0x10024565
mov dword [ebp - 0x400], 0
movsx eax, byte [ebp - 3]
test eax, eax
jne 0x10024579
mov dword [ebp - 0x404], 1
jmp 0x10024583
mov dword [ebp - 0x404], 0
mov eax, dword [ebp - 0x400]
sub eax, dword [ebp - 0x404]
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [0x1009b0ef]
cdq
add eax, dword [ebp - 0x48]
adc edx, dword [ebp - 0x44]
mov edi, dword [0x1009b168]
mov ebx, dword [0x1009b16c]
sub edi, eax
sbb ebx, edx
push ebx
push edi
push esi
push ecx
call fcn.1006c090
mov dword [ebp - 0x38], eax
movsx edx, byte [0x1009b0a7]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], edx
xor eax, eax
mov ecx, dword [0x1009b198]
mov edx, dword [0x1009b19c]
sub ecx, dword [0x1009b170]
sbb edx, eax
mov eax, dword [0x1009b198]
mov esi, dword [0x1009b19c]
add eax, ecx
adc esi, edx
mov dword [0x1009b198], eax
mov dword [0x1009b19c], esi
mov ecx, dword [0x1009bc7c]
mov dword [ebp - 0x140], ecx
mov dword [ebp - 0x13c], 0
jmp 0x10024622
mov edx, dword [ebp - 0x13c]
add edx, 2
mov dword [ebp - 0x13c], edx
cmp dword [ebp - 0x13c], 0x232
jge 0x10024665
movzx eax, byte [ebp - 7]
add eax, 0x71e4c400
mov dword [ebp - 0x40], eax
mov cl, byte [ebp - 7]
mov byte [0x1009b0a7], cl
mov edx, 1
imul eax, edx, 3
mov cl, byte [eax + 0x102f2188]
mov byte [ebp - 1], cl
mov dl, byte [0x1009b0a6]
add dl, 1
mov byte [0x1009b0a6], dl
jmp 0x10024613
mov eax, dword [ebp - 0x140]
add eax, 0x38f
mov dword [ebp - 0x1340], eax
movsx ecx, word [0x1009b180]
imul edx, ecx, 0xa8
mov byte [0x1009b0ef], dl
movsx esi, byte [ebp - 3]
add esi, dword [0x1009b18c]
xor edi, edi
mov eax, dword [0x1009b170]
xor ecx, ecx
mov edx, dword [0x1009b130]
mov ebx, dword [0x1009b134]
push ecx
push eax
push ebx
push edx
call fcn.1006c090
push edx
push eax
push edi
push esi
call fcn.1006c090
mov dword [ebp - 0xc7c], eax
mov dword [ebp - 0xc78], edx
mov eax, dword [ebp - 0xc7c]
or eax, dword [ebp - 0xc78]
jne 0x100246df
mov ecx, 1
mov word [ebp - 0x68], cx
jmp 0x100246e5
xor edx, edx
mov word [ebp - 0x68], dx
mov ax, word [ebp - 0x68]
mov word [ebp - 0x10], ax
movsx eax, byte [ebp - 3]
cdq
and eax, 0x6fb1e86c
mov byte [ebp - 7], al
mov ecx, dword [ebp - 0x140]
add ecx, 0x1ce
mov dword [ebp - 0x4c0], ecx
movzx edx, word [ebp - 0x24]
cmp edx, dword [0x1009b1a0]
je 0x10024743
movzx eax, byte [0x1009b0ef]
movzx ecx, word [ebp - 0x20]
and eax, ecx
mov byte [0x1009b0ef], al
movsx edx, byte [0x1009b0a7]
imul eax, edx, 0xf191
mov byte [ebp - 7], al
mov byte [0x1009b0a6], 0x25
jmp 0x10024781
movzx ecx, byte [0x1009b0ef]
not ecx
cmp dword [ebp - 0x3c], ecx
jb 0x10024781
mov edx, dword [0x1009b138]
mov dword [ebp - 0x2c], edx
movsx eax, byte [ebp - 6]
xor eax, 0x8fc0caea
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
add ecx, 0xdc
adc edx, 0
mov dword [0x1009b1a8], ecx
mov dword [0x1009b1ac], edx
mov eax, dword [ebp - 0x140]
add eax, 0x1da
mov dword [ebp - 0x9d8], eax
xor ecx, ecx
mov byte [ebp - 0x63], cl
lea edx, [ebp - 0x16ec]
push edx
lea ecx, [ebp - 0x63]
call fcn.10003310
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x78], 0
jmp 0x100247be
mov eax, dword [ebp - 0x78]
add eax, 1
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0x1f
jae 0x10024817
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x9c]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x9ac], eax
mov ecx, dword [ebp - 0x9ac]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x9c]
movsx ecx, byte [eax]
xor edx, ecx
mov word [ebp - 0x132], dx
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x9c]
lea ecx, [eax + edx*2 + 2]
mov dword [ebp - 0x9b0], ecx
mov edx, dword [ebp - 0x9b0]
mov ax, word [ebp - 0x132]
mov word [edx], ax
jmp 0x100247b5
mov ecx, 0x1f
shl ecx, 1
mov edx, dword [ebp - 0x9c]
lea eax, [edx + ecx + 2]
mov dword [ebp - 0x9b4], eax
xor ecx, ecx
mov edx, dword [ebp - 0x9b4]
mov word [edx], cx
mov eax, dword [ebp - 0x9c]
add eax, 2
mov dword [ebp - 0x9bc], eax
lea ecx, [ebp - 0x9b8]
push ecx
lea edx, [ebp - 0x408]
push edx
mov eax, dword [ebp - 0x9bc]
push eax
call fcn.1000e9f0
mov ecx, dword [str.Cached_token_is_va]
mov dword [ebp - 0x11a4], ecx
mov edx, dword [0x1007e6b0]
mov dword [ebp - 0x11a0], edx
mov eax, dword [0x1007e6b4]
mov dword [ebp - 0x119c], eax
mov ecx, dword [0x1007e6b8]
mov dword [ebp - 0x1198], ecx
mov dx, word [0x1007e6bc]
mov word [ebp - 0x1194], dx
mov al, byte [0x1007e6be]
mov byte [ebp - 0x1192], al
lea ecx, [ebp - 0x11a4]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [0x1009b07e], al
lea edx, [ebp - 0x40c]
push edx
mov eax, dword [ebp - 0x408]
push eax
call fcn.1003cea0
mov dword [ebp - 0x148], eax
mov ecx, dword [ebp - 0x40c]
push ecx
mov edx, dword [ebp - 0x148]
push edx
push 0x27
push 0x1007e6c0
call fcn.100304b0
push 0x40
mov eax, dword [ebp - 0x148]
push eax
lea ecx, [ebp - 0x15ec]
push ecx
call fcn.10034740
mov dword [0x1009b14c], 0x11
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x410], eax
cmp dword [ebp - 0x410], 0
je 0x10024936
mov edx, dword [ebp - 0x410]
push edx
call dword [sym.imp.USER32.dll_GetWindowDC]
mov dword [ebp - 0x1344], eax
cmp dword [0x1009b140], 0
je 0x100249b4
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0xc84], eax
mov dword [ebp - 0xc80], ecx
mov edx, dword [ebp - 0xc84]
or edx, dword [ebp - 0xc80]
je 0x100249af
mov eax, dword [0x1009b1a0]
xor eax, 0x979b6757
movzx ecx, word [0x1009b158]
or ecx, eax
mov word [0x1009b158], cx
movzx edx, byte [0x1009b033]
imul edx, dword [0x1009b18c]
mov byte [ebp - 3], dl
movzx eax, byte [0x1009b01f]
imul eax, dword [0x1009b1a0]
add eax, dword [0x1009b1a0]
mov dword [0x1009b1a0], eax
mov eax, dword [0x1009b188]
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
jmp 0x10024a53
mov ecx, 0xb51edc42
test ecx, ecx
je 0x10024a53
cmp dword [0x1009b14c], 0
je 0x10024a53
mov edx, dword [ebp - 0x4c]
add edx, 0x6dde8404
xor eax, eax
mov dword [0x1009b168], edx
mov dword [0x1009b16c], eax
movzx ecx, word [ebp - 0x20]
add ecx, 0xcc8f
movsx edx, word [ebp - 0xc]
sub edx, ecx
mov word [ebp - 0xc], dx
mov eax, dword [0x1009b168]
mov ecx, dword [0x1009b16c]
mov dword [ebp - 0xc8c], eax
mov dword [ebp - 0xc88], ecx
mov edx, dword [ebp - 0xc8c]
or edx, dword [ebp - 0xc88]
je 0x10024a29
movzx eax, word [ebp - 0x10]
mov dword [ebp - 0x414], eax
jmp 0x10024a33
movsx ecx, word [ebp - 0xc]
mov dword [ebp - 0x414], ecx
mov eax, dword [ebp - 0x414]
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movzx edx, byte [0x1009b0a6]
movsx eax, word [ebp - 0x14]
sub edx, eax
mov byte [0x1009b0a6], dl
mov ecx, dword [ebp - 0x38]
add ecx, 0x11
cmp dword [0x1009b14c], ecx
jne 0x10024bd3
mov ecx, dword [0x1009b150]
mov esi, dword [0x1009b154]
mov eax, dword [ebp - 0x38]
add eax, 0xd866ce8
cdq
mov dword [ebp - 0xc94], ecx
mov dword [ebp - 0xc90], esi
mov dword [ebp - 0xc9c], eax
mov dword [ebp - 0xc98], edx
mov edx, dword [ebp - 0xc94]
cmp edx, dword [ebp - 0xc9c]
jne 0x10024bd3
mov eax, dword [ebp - 0xc90]
cmp eax, dword [ebp - 0xc98]
jne 0x10024bd3
mov dword [ebp - 0x144], 0
jmp 0x10024ad1
mov ecx, dword [ebp - 0x144]
add ecx, 1
mov dword [ebp - 0x144], ecx
cmp dword [ebp - 0x144], 0xbb
jge 0x10024b4e
mov edx, 8
imul eax, edx, 0x3f
mov ecx, dword [eax + 0x102592e0]
mov dword [ebp - 0x28], ecx
xor edx, edx
mov dword [0x1009b168], 2
mov dword [0x1009b16c], edx
movzx eax, word [0x1009b184]
mov ecx, dword [0x1009b188]
and eax, ecx
cdq
mov edx, dword [0x1009b198]
mov ecx, dword [0x1009b19c]
mov dword [ebp - 0x1348], ecx
add edx, eax
mov eax, dword [0x1009b130]
mov ecx, dword [0x1009b134]
mov dword [ebp - 0x134c], ecx
sub edx, eax
mov dword [ebp - 0x28], edx
mov edx, dword [0x1009b140]
add edx, 1
mov dword [0x1009b140], edx
jmp 0x10024ac2
jmp 0x10024bd3
mov dword [0x1009b14c], 0x11
movsx ecx, word [0x1009b180]
add ecx, 0x2e3a08f2
mov byte [ebp - 2], cl
movzx edx, byte [0x1009b07f]
mov eax, dword [0x1009b18c]
sub eax, edx
mov dword [0x1009b18c], eax
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
sub ecx, 0x24f42a81
sbb esi, 0xa0428
movsx eax, byte [ebp - 4]
cdq
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov byte [ebp - 4], al
movsx edx, byte [ebp - 3]
movsx eax, byte [ebp - 3]
imul edx, eax
mov byte [ebp - 3], dl
mov cx, word [0x1009b158]
sub cx, 1
mov word [0x1009b158], cx
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
mov dword [ebp - 0xca4], edx
mov dword [ebp - 0xca0], eax
cmp dword [ebp - 0xca0], 0
jl 0x10024c8b
jg 0x10024c77
cmp dword [ebp - 0xca4], 0xbbfee4ef
jb 0x10024c8b
xor ecx, ecx
mov dword [ebp - 0x850], 1
mov dword [ebp - 0x84c], ecx
jmp 0x10024c96
xorps xmm0, xmm0
movlpd qword [ebp - 0x850], xmm0
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
mov dword [ebp - 0xcac], edx
mov dword [ebp - 0xca8], eax
mov ecx, dword [ebp - 0x84c]
cmp ecx, dword [ebp - 0xca8]
jl 0x10024cf9
jg 0x10024ccb
mov edx, dword [ebp - 0x850]
cmp edx, dword [ebp - 0xcac]
jb 0x10024cf9
movzx eax, byte [ebp - 7]
imul ecx, eax, 0xa76353fe
mov word [ebp - 0x10], cx
movsx edx, byte [0x1009b0a7]
movsx eax, byte [0x1009b0bb]
lea ecx, [eax + edx - 0x9b]
mov byte [0x1009b0bb], cl
jmp 0x10024ddd
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
mov dword [ebp - 0xcb4], edx
mov dword [ebp - 0xcb0], eax
mov ecx, dword [ebp - 0xcb4]
or ecx, dword [ebp - 0xcb0]
jne 0x10024d2a
mov dword [ebp - 0x41c], 1
jmp 0x10024d34
mov dword [ebp - 0x41c], 0
movsx edx, word [ebp - 0x18]
test edx, edx
jne 0x10024d48
mov dword [ebp - 0x420], 1
jmp 0x10024d52
mov dword [ebp - 0x420], 0
mov eax, dword [ebp - 0x41c]
or eax, dword [ebp - 0x420]
je 0x10024ddd
movzx ecx, byte [0x1009b07e]
add ecx, 0xe28c
mov word [0x1009b180], cx
movsx edx, byte [0x1009b0bb]
movzx eax, byte [ebp - 2]
not eax
movzx ecx, byte [0x1009b0ef]
imul eax, ecx
imul edx, eax
mov eax, dword [0x1009b170]
sub eax, edx
xor ecx, ecx
mov dword [0x1009b138], eax
mov dword [0x1009b13c], ecx
mov edx, dword [0x1009b18c]
add edx, 1
mov dword [0x1009b18c], edx
movzx eax, word [ebp - 0x10]
imul ecx, eax, 0x8935
mov edx, dword [0x1009b188]
or edx, ecx
mov dword [0x1009b188], edx
movsx eax, byte [0x1009b0ba]
not eax
mov ecx, 0xa2
sub ecx, eax
mov word [ebp - 0xc], cx
mov edx, dword [ebp - 0x424]
or edx, 0x113
imul eax, edx, 0xdb
mov ecx, dword [ebp - 0x9c0]
add ecx, dword [ebp - 0x9c4]
mov edx, dword [ebp - 0x424]
xor edx, 0x193
imul ecx, edx
cmp eax, ecx
je 0x10029b76
cmp dword [0x1009b1a0], 0
jne 0x10024e27
mov dword [ebp - 0x428], 1
jmp 0x10024e31
mov dword [ebp - 0x428], 0
movzx eax, byte [0x1009b01f]
imul eax, dword [ebp - 0x40]
movsx ecx, byte [ebp - 4]
xor ecx, dword [ebp - 0x428]
sub eax, ecx
mov word [ebp - 0x18], ax
mov edx, dword [ebp - 0x28]
xor eax, eax
add edx, 0x1e8c332f
adc eax, 0x3b008
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], eax
mov ecx, dword [0x1009b130]
mov edx, dword [0x1009b134]
mov dword [ebp - 0x1350], edx
mov word [ebp - 0x20], cx
mov dword [0x1009b188], 0x546079f5
movsx eax, byte [ebp - 5]
shl eax, 2
mov byte [0x1009b033], al
mov cl, byte [ebp - 1]
sub cl, 1
mov byte [ebp - 1], cl
movzx edx, byte [0x1009b0a6]
test edx, edx
jne 0x10024eae
mov dword [ebp - 0x42c], 1
jmp 0x10024eb8
mov dword [ebp - 0x42c], 0
mov eax, dword [0x1009b138]
or eax, dword [0x1009b13c]
jne 0x10024ed1
mov dword [ebp - 0x430], 1
jmp 0x10024edb
mov dword [ebp - 0x430], 0
movzx eax, byte [ebp - 7]
add eax, dword [ebp - 0x42c]
movzx ecx, word [ebp - 0x20]
and ecx, dword [ebp - 0x430]
imul eax, ecx
cdq
mov ecx, eax
mov esi, edx
xor edx, edx
mov edi, 0xaea949
sub edi, dword [0x1009b190]
mov ebx, 0xfff41454
sbb ebx, edx
movsx eax, byte [ebp - 6]
xor eax, 0xed
cdq
and edi, eax
and ebx, edx
add ecx, edi
adc esi, ebx
mov dword [0x1009b1a8], ecx
mov dword [0x1009b1ac], esi
movsx eax, byte [ebp - 6]
imul eax, dword [0x1009b1b0]
movsx ecx, byte [ebp - 6]
add ecx, eax
mov byte [ebp - 6], cl
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
mov dword [ebp - 0x1354], eax
and edx, 0xc1
mov dword [ebp - 0x2c], edx
mov cx, word [0x1009bc7c]
mov word [0x1009b158], cx
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
mov ecx, dword [ebp - 0x3c]
xor esi, esi
add ecx, 0x475448f6
adc esi, 0xc5786
mov dword [ebp - 0xcbc], edx
mov dword [ebp - 0xcb8], eax
mov dword [ebp - 0xcc4], ecx
mov dword [ebp - 0xcc0], esi
mov edx, dword [ebp - 0xcbc]
cmp edx, dword [ebp - 0xcc4]
jne 0x10025106
mov eax, dword [ebp - 0xcb8]
cmp eax, dword [ebp - 0xcc0]
jne 0x10025106
movzx ecx, byte [0x1009b0ef]
add ecx, dword [ebp - 0x3c]
cmp ecx, 1
jne 0x10025106
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x1358], eax
mov byte [0x1009b0ba], dl
movsx eax, word [ebp - 0x18]
cdq
mov ecx, dword [0x1009b130]
mov esi, dword [0x1009b134]
and ecx, eax
and esi, edx
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
push esi
push ecx
push eax
push edx
call fcn.1006c090
mov dword [0x1009b130], eax
mov dword [0x1009b134], edx
mov ecx, dword [ebp - 0x3c]
sub ecx, 0x8e
xor edx, edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], edx
mov eax, 0xb7e2
mov word [ebp - 0x20], ax
cmp dword [0x1009b144], 0
jne 0x10025045
mov dword [ebp - 0x434], 1
jmp 0x1002504f
mov dword [ebp - 0x434], 0
movsx ecx, byte [0x1009b0ba]
add ecx, 0x1c33
not ecx
movzx edx, byte [ebp - 7]
imul edx, dword [ebp - 0x434]
not edx
imul ecx, edx
mov dword [0x1009b188], ecx
mov eax, dword [0x1009b1a0]
xor ecx, ecx
add eax, dword [0x1009b138]
adc ecx, dword [0x1009b13c]
mov dword [0x1009b138], eax
mov dword [0x1009b13c], ecx
jmp 0x10024e78
mov dword [0x1009b18c], 0xf9686bb
mov ecx, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [0x1009b198]
mov esi, dword [0x1009b19c]
push edx
push ecx
push esi
push eax
call fcn.1006c090
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
add ecx, eax
adc esi, edx
mov dword [0x1009b198], ecx
mov dword [0x1009b19c], esi
mov edx, 1
imul eax, edx, 0x59
movsx ecx, byte [eax + 0x10153ce0]
mov dword [ebp - 0x4c], ecx
movsx edx, word [ebp - 0x18]
sub edx, 0x42127cb2
mov dword [ebp - 0x28], edx
movzx eax, byte [ebp - 7]
movzx ecx, byte [ebp - 7]
sub eax, ecx
mov edx, dword [ebp - 0x38]
and edx, dword [ebp - 0x28]
not edx
imul eax, edx
xor ecx, ecx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
sub edx, 1
sbb eax, 0
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], eax
movzx ecx, byte [0x1009b0ee]
mov edx, dword [ebp - 0x38]
add edx, dword [0x1009b18c]
cmp ecx, edx
jne 0x100254b3
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
movzx eax, byte [0x1009b0a6]
cdq
mov dword [ebp - 0xccc], ecx
mov dword [ebp - 0xcc8], esi
mov dword [ebp - 0xcd4], eax
mov dword [ebp - 0xcd0], edx
mov edx, dword [ebp - 0xccc]
cmp edx, dword [ebp - 0xcd4]
jne 0x100251ed
mov eax, dword [ebp - 0xcc8]
cmp eax, dword [ebp - 0xcd0]
je 0x100251f9
mov dword [ebp - 0x438], 1
jmp 0x10025203
mov dword [ebp - 0x438], 0
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0xcdc], ecx
mov dword [ebp - 0xcd8], edx
cmp dword [ebp - 0xcdc], 0x42
jne 0x10025227
cmp dword [ebp - 0xcd8], 0
je 0x10025233
mov dword [ebp - 0x43c], 1
jmp 0x1002523d
mov dword [ebp - 0x43c], 0
mov eax, dword [ebp - 0x438]
cmp eax, dword [ebp - 0x43c]
jge 0x1002528d
movzx ecx, byte [0x1009b033]
movzx edx, word [0x1009b158]
sub ecx, edx
mov byte [0x1009b033], cl
mov al, byte [0x1009bc7c]
mov byte [ebp - 5], al
mov ecx, dword [0x1009b190]
sub ecx, 0x61212d0b
mov dword [0x1009b1b0], ecx
mov edx, dword [0x1009b160]
add edx, 0xf73f9b07
mov word [ebp - 0x24], dx
jmp 0x10025309
mov eax, dword [0x1009b1b0]
xor ecx, ecx
mov edx, 8
imul edx, edx, 0x52de
mov dword [edx + 0x10270080], eax
mov dword [edx + 0x10270084], ecx
mov eax, 0xffff8535
mov word [ebp - 0x1c], ax
xor ecx, ecx
mov dword [0x1009b138], 0xc12d
mov dword [0x1009b13c], ecx
movsx edx, word [ebp - 0x14]
mov eax, dword [0x1009b1a0]
lea ecx, [edx + eax - 0xa36c]
mov word [ebp - 0x14], cx
mov eax, dword [ebp - 0x40]
cdq
add eax, dword [0x1009b160]
adc edx, dword [0x1009b164]
push edx
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
movzx ecx, byte [0x1009b07e]
mov edx, dword [0x1009b1b0]
sub edx, ecx
mov dword [0x1009b1b0], edx
movzx eax, byte [ebp - 7]
imul ecx, eax, 0x9eaea1fa
mov dword [0x1009b14c], ecx
mov dl, byte [ebp - 2]
sub dl, 1
mov byte [ebp - 2], dl
movsx eax, byte [0x1009b0ba]
movzx ecx, word [ebp - 0x20]
and eax, ecx
mov byte [0x1009b0ba], al
mov eax, dword [0x1009b140]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x38]
cdq
add eax, 0xbba6992e
adc edx, 0x3a305
mov dword [ebp - 0xce4], ecx
mov dword [ebp - 0xce0], esi
mov dword [ebp - 0xcec], eax
mov dword [ebp - 0xce8], edx
mov edx, dword [ebp - 0xce4]
cmp edx, dword [ebp - 0xcec]
jne 0x100254b3
mov eax, dword [ebp - 0xce0]
cmp eax, dword [ebp - 0xce8]
jne 0x100254b3
movzx eax, word [ebp - 0x24]
cdq
push 0x67c76
push 0x2594927a
push edx
push eax
call fcn.1006c090
mov byte [0x1009b0ee], al
mov ecx, dword [0x1009b140]
sub ecx, 0xe405
mov byte [0x1009b0ba], cl
movsx eax, byte [0x1009b0a7]
cdq
add eax, 0xa74d4051
adc edx, 0xfee9b
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], esi
movzx edx, byte [0x1009b01f]
imul edx, dword [0x1009b18c]
movzx eax, byte [0x1009b01f]
add eax, edx
mov byte [0x1009b01f], al
xor ecx, ecx
mov dword [0x1009b150], 4
mov dword [0x1009b154], ecx
jmp 0x10025106
mov dword [0x1009b140], 4
movsx eax, byte [ebp - 1]
cdq
mov ecx, dword [0x1009b150]
mov esi, dword [0x1009b154]
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov byte [ebp - 1], al
cmp dword [0x1009b170], 0
je 0x100254ef
movsx edx, byte [ebp - 5]
mov dword [ebp - 0x444], edx
jmp 0x100254fa
mov eax, dword [0x1009b140]
mov dword [ebp - 0x444], eax
mov cx, word [ebp - 0x444]
mov word [ebp - 0x20], cx
mov dx, word [0x1009bc7c]
mov word [ebp - 0x24], dx
movzx eax, byte [0x1009b07f]
add eax, 0x30
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movzx eax, word [ebp - 0x15ec]
cmp eax, 0x5a4d
jne 0x10029b76
movsx eax, byte [ebp - 6]
cdq
mov dword [ebp - 0xcf4], eax
mov dword [ebp - 0xcf0], edx
mov ecx, dword [ebp - 0xcf0]
cmp ecx, dword [0x1009b13c]
ja 0x100255be
jb 0x10025562
mov edx, dword [ebp - 0xcf4]
cmp edx, dword [0x1009b138]
jae 0x100255be
movsx eax, byte [0x1009b0bb]
mov ecx, dword [0x1009b188]
sub ecx, eax
mov edx, dword [0x1009b188]
sub edx, ecx
mov dword [0x1009b188], edx
movsx eax, byte [ebp - 3]
imul eax, dword [0x1009b140]
movsx ecx, byte [ebp - 3]
imul ecx, eax
mov byte [ebp - 3], cl
movsx eax, byte [ebp - 4]
cdq
sub eax, 0x3bfb570
mov byte [0x1009b0ba], al
movzx edx, word [ebp - 0x20]
imul edx, dword [ebp - 0x28]
mov byte [0x1009b01f], dl
mov eax, 0xfec
mov word [0x1009b158], ax
jmp 0x10025627
mov ecx, dword [ebp - 0x40]
not ecx
test ecx, ecx
je 0x10025627
mov byte [0x1009b0ba], 0x92
movzx edx, word [ebp - 0x20]
imul edx, dword [0x1009b1a0]
add edx, dword [ebp - 0x3c]
mov ecx, edx
movsx eax, byte [ebp - 3]
cdq
mov edx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
mov dword [ebp - 0x1360], esi
sub eax, edx
add ecx, eax
mov dword [0x1009b188], ecx
movzx eax, word [0x1009b184]
cdq
mov ecx, dword [0x1009b198]
mov edx, dword [0x1009b19c]
mov dword [ebp - 0x1364], edx
sub eax, ecx
mov byte [ebp - 3], al
mov eax, 0xb
mov word [ebp - 0x20], ax
mov dword [0x1009b190], 0x64
mov ecx, dword [ebp - 0x38]
xor ecx, 0x4924057e
mov word [ebp - 0x20], cx
movzx edx, byte [0x1009b01f]
imul eax, edx, 0xb1675907
mov dword [ebp - 0x3c], eax
mov cx, word [0x1009b170]
mov word [ebp - 0x10], cx
mov edx, dword [ebp - 0x28]
mov eax, dword [0x1009b150]
mov ecx, dword [0x1009b154]
mov dword [ebp - 0x1368], ecx
sub edx, eax
mov eax, dword [ebp - 0x28]
and eax, edx
mov dword [ebp - 0x28], eax
mov cx, word [0x1009bc7c]
mov word [ebp - 0x14], cx
movsx edx, byte [ebp - 5]
or edx, dword [0x1009b1b0]
mov dword [0x1009b188], edx
movzx eax, byte [0x1009b07f]
mov ecx, dword [0x1009b190]
add ecx, dword [ebp - 0x2c]
cmp eax, ecx
jne 0x100262df
mov edx, dword [0x1009b144]
push edx
call dword [sym.imp.USER32.dll_IsIconic]
mov byte [0x1009b07f], al
mov eax, 0xc9900933
or eax, 0xfe199
je 0x100256dd
movsx ecx, byte [0x1009b0a7]
test ecx, ecx
jne 0x100256dd
call dword [sym.imp.KERNEL32.dll_GetOEMCP]
mov word [ebp - 0x1c], ax
movsx edx, byte [ebp - 4]
cmp dword [0x1009b148], edx
jne 0x100256f5
mov dword [ebp - 0x448], 1
jmp 0x100256ff
mov dword [ebp - 0x448], 0
cmp dword [0x1009b148], 0x1e
jne 0x10025714
mov dword [ebp - 0x44c], 1
jmp 0x1002571e
mov dword [ebp - 0x44c], 0
mov eax, dword [ebp - 0x448]
cmp eax, dword [ebp - 0x44c]
jge 0x10025975
mov byte [ebp - 6], 3
mov eax, dword [0x1009b188]
cdq
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov dword [0x1009b188], eax
mov dl, byte [ebp - 2]
mov eax, 1
imul ecx, eax, 0x6c
mov byte [ecx + 0x101c09f0], dl
movsx eax, word [ebp - 0xc]
cdq
mov edx, dword [0x1009b1a8]
mov ecx, dword [0x1009b1ac]
mov dword [ebp - 0x136c], ecx
sub eax, edx
mov word [ebp - 0xc], ax
movsx edx, byte [ebp - 6]
mov dword [ebp - 0x450], edx
cmp dword [ebp - 0x450], 3
ja case.default.0x1002579f
mov eax, dword [ebp - 0x450]
jmp dword [eax*4 + 0x10030220]
movzx ecx, byte [0x1009b07e]
mov edx, dword [0x1009b140]
imul edx, ecx
mov dword [0x1009b140], edx
movzx eax, byte [0x1009b07e]
mov ecx, dword [0x1009b140]
add ecx, eax
mov dword [ebp - 0x38], ecx
mov edx, 1
imul eax, edx, 0x59
movsx ecx, byte [eax + 0x10153ce0]
mov edx, dword [0x1009b1b0]
add edx, ecx
mov dword [0x1009b1b0], edx
jmp case.default.0x1002579f
cmp dword [ebp - 0x2c], 0
je 0x10025803
mov eax, dword [0x1009b1b0]
mov dword [ebp - 0x454], eax
jmp 0x1002580d
movsx ecx, word [ebp - 0x14]
mov dword [ebp - 0x454], ecx
mov dl, byte [ebp - 0x454]
mov byte [ebp - 3], dl
mov eax, 2
imul ecx, eax, 0x11
mov dx, word [ebp - 0x28]
mov word [ecx + 0x101c0b48], dx
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x1370], ecx
add eax, 0xe3ef22eb
mov byte [ebp - 2], al
jmp case.default.0x1002579f
mov edx, dword [ebp - 0x38]
and edx, dword [0x1009b18c]
mov eax, dword [0x1009b18c]
sub eax, edx
mov dword [0x1009b18c], eax
movsx ecx, byte [0x1009b0ba]
movsx edx, byte [0x1009b0ba]
imul ecx, edx
movsx eax, byte [0x1009b0ba]
sub eax, ecx
mov byte [0x1009b0ba], al
movzx eax, word [0x1009b184]
sub eax, 0x4c
cdq
or eax, dword [ebp - 0x48]
or edx, dword [ebp - 0x44]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
movzx ecx, byte [ebp - 2]
mov edx, dword [0x1009b1b0]
sub edx, ecx
mov eax, dword [0x1009b1b0]
sub eax, edx
mov dword [0x1009b1b0], eax
jmp case.default.0x1002579f
movzx ecx, word [0x1009b158]
xor ecx, dword [ebp - 0x3c]
mov word [ebp - 0x18], cx
mov edx, 0x19
mov word [ebp - 0x18], dx
movzx eax, byte [0x1009b0a6]
test eax, eax
jne 0x100258d8
mov dword [ebp - 0x458], 1
jmp 0x100258e2
mov dword [ebp - 0x458], 0
mov ecx, dword [0x1009b190]
imul ecx, dword [ebp - 0x458]
mov esi, ecx
xor edi, edi
mov edx, dword [ebp - 0x3c]
xor eax, eax
push 0x6e7c7
push 0x74e30afd
push eax
push edx
call fcn.1006c090
xor esi, eax
xor edi, edx
not esi
not edi
movsx ecx, byte [ebp - 3]
movzx edx, byte [0x1009b0ef]
add ecx, edx
movsx eax, byte [ebp - 6]
add eax, dword [ebp - 0x3c]
sub ecx, eax
xor edx, edx
sub esi, ecx
sbb edi, edx
not esi
not edi
mov dword [0x1009b130], esi
mov dword [0x1009b134], edi
mov ax, word [0x1009b180]
sub ax, 1
mov word [0x1009b180], ax
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
mov dword [ebp - 0x1374], edx
mov eax, 4
imul edx, eax, 0x8b8f
mov dword [edx + 0x10223810], ecx
jmp 0x10025a47
mov eax, dword [0x1009b150]
mov ecx, dword [0x1009b154]
mov edx, dword [ebp - 0x28]
xor esi, esi
mov dword [ebp - 0xcfc], eax
mov dword [ebp - 0xcf8], ecx
mov dword [ebp - 0xd04], edx
mov dword [ebp - 0xd00], esi
mov eax, dword [ebp - 0xcf8]
cmp eax, dword [ebp - 0xd00]
jb 0x10025a47
ja 0x100259c3
mov ecx, dword [ebp - 0xcfc]
cmp ecx, dword [ebp - 0xd04]
jbe 0x10025a47
xor edx, edx
mov dword [ebp - 0x34], 2
mov dword [ebp - 0x30], edx
mov eax, dword [0x1009b150]
mov ecx, dword [0x1009b154]
push 0x9314
push 0x4c79e311
push ecx
push eax
call fcn.1006c090
mov byte [ebp - 1], al
xor edx, edx
mov dword [ebp - 0x54], 0x87e8aed
mov dword [ebp - 0x50], edx
mov eax, dword [0x1009b130]
mov ecx, dword [0x1009b134]
push 0
push 0xfa9a0b3e
push ecx
push eax
call fcn.1006c090
mov dword [0x1009b18c], eax
movsx edx, word [ebp - 0x18]
test edx, edx
je 0x10025a2f
movzx eax, byte [0x1009b07f]
mov dword [ebp - 0x45c], eax
jmp 0x10025a3b
mov ecx, dword [0x1009b144]
mov dword [ebp - 0x45c], ecx
mov dl, byte [ebp - 0x45c]
mov byte [0x1009b0ba], dl
movsx eax, byte [0x1009b0bb]
mov ecx, dword [ebp - 0x3c]
add ecx, 0x11
cmp eax, ecx
jne 0x100262df
movzx edx, byte [ebp - 7]
test edx, edx
jne 0x10025a70
mov dword [ebp - 0x460], 1
jmp 0x10025a7a
mov dword [ebp - 0x460], 0
movzx eax, word [ebp - 0x20]
cmp dword [ebp - 0x460], eax
jne 0x10026111
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0xd0c], ecx
mov dword [ebp - 0xd08], edx
mov eax, dword [ebp - 0xd0c]
or eax, dword [ebp - 0xd08]
je 0x10025f38
movsx ecx, byte [0x1009b0bb]
cmp ecx, 0xd83d
jg 0x10025ac9
mov dword [ebp - 0x468], 1
jmp 0x10025ad3
mov dword [ebp - 0x468], 0
mov edx, dword [ebp - 0x2c]
cmp edx, dword [0x1009b18c]
jne 0x10025aea
mov dword [ebp - 0x464], 1
jmp 0x10025af4
mov dword [ebp - 0x464], 0
mov eax, dword [ebp - 0x464]
not eax
cmp dword [ebp - 0x468], eax
jle 0x10025b10
mov dword [ebp - 0x46c], 1
jmp 0x10025b1a
mov dword [ebp - 0x46c], 0
mov ecx, dword [ebp - 0x46c]
not ecx
test ecx, ecx
je 0x10025b3b
cmp dword [0x1009b18c], 0
je 0x10025b3b
mov dword [ebp - 0x470], 1
jmp 0x10025b45
mov dword [ebp - 0x470], 0
mov edx, dword [ebp - 0x470]
not edx
test edx, edx
je 0x10025d5a
movzx eax, byte [0x1009b07e]
test eax, eax
je 0x10025b8e
movzx ecx, word [ebp - 0x10]
test ecx, ecx
je 0x10025b89
movsx edx, word [ebp - 0xc]
mov dword [ebp - 0x2c], edx
mov al, byte [0x1009b01f]
mov byte [ebp - 5], al
mov ecx, dword [ebp - 0x48]
add ecx, 1
mov edx, dword [ebp - 0x44]
adc edx, 0
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], edx
jmp 0x10025d55
movsx eax, word [0x1009b180]
test eax, eax
je 0x10025c0d
movzx ecx, byte [ebp - 7]
test ecx, ecx
je 0x10025bb0
movsx edx, byte [0x1009b0a7]
mov dword [ebp - 0x474], edx
jmp 0x10025bba
movzx eax, word [ebp - 0x24]
mov dword [ebp - 0x474], eax
mov cl, byte [ebp - 0x474]
mov byte [ebp - 6], cl
movsx edx, byte [ebp - 4]
mov eax, dword [0x1009b140]
sub eax, edx
add eax, 0x60a2b7b4
cdq
mov ecx, dword [ebp - 0x28]
not ecx
imul ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
mov dword [ebp - 0x1378], esi
xor edx, ecx
and eax, edx
mov byte [ebp - 1], al
mov eax, dword [ebp - 0x48]
add eax, 0xb1
mov byte [ebp - 5], al
imul ecx, dword [ebp - 0x38], 0xaf
mov byte [0x1009b07e], cl
jmp 0x10025d55
cmp dword [0x1009b188], 0
je 0x10025c7c
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
sub edx, 0xe5ce2a0
sbb eax, 0x653be
mov dword [0x1009b178], edx
mov dword [0x1009b17c], eax
mov ecx, 1
mov word [ebp - 0x24], cx
mov eax, dword [ebp - 0x2c]
cdq
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], esi
movzx eax, byte [0x1009b0a6]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [ebp - 0x48]
adc esi, dword [ebp - 0x44]
movzx eax, byte [0x1009b0a6]
cdq
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov byte [0x1009b0a6], al
jmp 0x10025d55
movzx edx, word [0x1009b158]
cmp dword [ebp - 0x28], edx
jae 0x10025c9c
xor eax, eax
mov dword [ebp - 0x858], 1
mov dword [ebp - 0x854], eax
jmp 0x10025ca7
xorps xmm0, xmm0
movlpd qword [ebp - 0x858], xmm0
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov dword [ebp - 0xd14], ecx
mov dword [ebp - 0xd10], edx
mov eax, dword [ebp - 0xd14]
cmp eax, dword [ebp - 0x858]
jne 0x10025d55
mov ecx, dword [ebp - 0xd10]
cmp ecx, dword [ebp - 0x854]
jne 0x10025d55
mov byte [ebp - 2], 2
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
mov dword [ebp - 0x137c], eax
mov ecx, dword [0x1009b138]
sub ecx, edx
mov dword [ebp - 0x28], ecx
movzx eax, byte [0x1009b07e]
cdq
mov ecx, eax
mov eax, dword [ebp - 0x38]
cdq
mov edx, dword [0x1009b150]
mov esi, dword [0x1009b154]
mov dword [ebp - 0x1380], esi
xor edx, eax
add ecx, edx
not ecx
mov word [ebp - 0x10], cx
xor eax, eax
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
add ecx, dword [0x1009b18c]
adc edx, eax
mov eax, dword [0x1009b1b0]
and eax, 0x9d69
xor esi, esi
add ecx, eax
adc edx, esi
mov dword [0x1009b150], ecx
mov dword [0x1009b154], edx
jmp 0x10025f33
cmp dword [0x1009b1b0], 0
je 0x10025d7a
movsx ecx, byte [0x1009b0bb]
test ecx, ecx
jne 0x10025d7a
mov dword [ebp - 0x478], 0
jmp 0x10025d84
mov dword [ebp - 0x478], 1
mov edx, dword [0x1009b148]
not edx
test edx, edx
je 0x10025da7
movzx eax, word [0x1009b158]
test eax, eax
je 0x10025da7
mov dword [ebp - 0x47c], 1
jmp 0x10025db1
mov dword [ebp - 0x47c], 0
mov ecx, dword [ebp - 0x478]
cmp ecx, dword [ebp - 0x47c]
jge 0x10025dcb
mov dword [ebp - 0x480], 1
jmp 0x10025dd5
mov dword [ebp - 0x480], 0
mov edx, dword [ebp - 0x480]
not edx
test edx, edx
je 0x10025f05
mov byte [ebp - 4], 0x77
mov eax, dword [ebp - 0x38]
shl eax, 1
mov byte [ebp - 7], al
mov ecx, dword [0x1009b130]
mov edx, dword [0x1009b134]
mov dword [ebp - 0xd1c], ecx
mov dword [ebp - 0xd18], edx
mov eax, dword [ebp - 0xd1c]
or eax, dword [ebp - 0xd18]
jne 0x10025e23
mov dword [ebp - 0x488], 1
jmp 0x10025e2d
mov dword [ebp - 0x488], 0
cmp dword [0x1009b140], 0
jne 0x10025e42
mov dword [ebp - 0x484], 1
jmp 0x10025e4c
mov dword [ebp - 0x484], 0
movzx eax, word [ebp - 0x20]
imul eax, dword [ebp - 0x484]
cdq
mov ecx, dword [0x1009b160]
sub ecx, eax
mov eax, dword [0x1009b164]
sbb eax, edx
mov dword [ebp - 0xd24], ecx
mov dword [ebp - 0xd20], eax
mov ecx, dword [ebp - 0xd24]
or ecx, dword [ebp - 0xd20]
jne 0x10025e8d
mov dword [ebp - 0x48c], 1
jmp 0x10025e97
mov dword [ebp - 0x48c], 0
mov edx, dword [0x1009b170]
xor edx, dword [ebp - 0x488]
mov eax, dword [ebp - 0x4c]
not eax
mov ecx, dword [0x1009b188]
sub ecx, eax
add edx, ecx
imul edx, dword [ebp - 0x48c]
not edx
mov dword [0x1009b144], edx
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
sub edx, 0x1a
sbb eax, 0
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
add ecx, edx
adc esi, eax
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], esi
movzx edx, word [0x1009b158]
movsx eax, byte [0x1009b0ba]
imul edx, eax
movzx ecx, word [0x1009b158]
sub ecx, edx
mov word [0x1009b158], cx
jmp 0x10025f33
movsx edx, byte [ebp - 3]
add edx, dword [0x1009b190]
je 0x10025f33
mov eax, 0xda39
mov word [0x1009b158], ax
movzx eax, word [ebp - 0x10]
sub eax, 0x1a
cdq
mov dword [0x1009b198], eax
mov dword [0x1009b19c], edx
mov byte [ebp - 3], 2
jmp 0x1002610c
mov ecx, 0xa4ed5bb7
or ecx, 0xa15d5
je 0x10025fe4
movzx edx, word [0x1009b158]
imul edx, dword [ebp - 0x2c]
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x50]
add eax, dword [ebp - 0x54]
adc ecx, edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
movzx eax, byte [0x1009b07e]
movsx ecx, byte [ebp - 6]
xor eax, ecx
movzx edx, byte [0x1009b07e]
imul edx, eax
mov byte [0x1009b07e], dl
movzx eax, word [ebp - 0x24]
movzx ecx, byte [0x1009b0ef]
add eax, ecx
movzx edx, word [ebp - 0x24]
or edx, eax
mov word [ebp - 0x24], dx
mov eax, dword [0x1009b134]
mov ecx, dword [0x1009b138]
sub ecx, dword [0x1009b130]
mov edx, dword [0x1009b13c]
sbb edx, eax
mov dword [0x1009b138], ecx
mov dword [0x1009b13c], edx
movsx eax, word [ebp - 0x1c]
add eax, 0x7410a8f
mov ecx, dword [0x1009b148]
imul ecx, eax
mov dword [0x1009b148], ecx
jmp 0x1002610c
cmp dword [ebp - 0x3c], 0
je 0x1002603b
movsx eax, byte [0x1009b0a7]
cdq
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov byte [0x1009b0a7], al
mov edx, dword [0x1009b1a0]
shl edx, 6
mov byte [ebp - 2], dl
mov eax, dword [0x1009b198]
mov ecx, dword [0x1009b19c]
xor eax, 0xd1a6ad9
xor ecx, 0
mov dword [0x1009b160], eax
mov dword [0x1009b164], ecx
jmp 0x1002610c
movzx edx, word [ebp - 0x24]
test edx, edx
jne 0x10026057
xor eax, eax
mov dword [ebp - 0x860], 1
mov dword [ebp - 0x85c], eax
jmp 0x10026062
xorps xmm0, xmm0
movlpd qword [ebp - 0x860], xmm0
cmp dword [ebp - 0x860], 0x2bfbfc69
jne 0x1002607a
cmp dword [ebp - 0x85c], 0x9d552
je 0x10026086
mov dword [ebp - 0x490], 1
jmp 0x10026090
mov dword [ebp - 0x490], 0
movzx ecx, word [ebp - 0x10]
movsx edx, word [ebp - 0x14]
not edx
cmp ecx, edx
jg 0x100260aa
mov dword [ebp - 0x494], 1
jmp 0x100260b4
mov dword [ebp - 0x494], 0
mov eax, dword [ebp - 0x490]
cmp eax, dword [ebp - 0x494]
jl 0x1002610c
mov ecx, dword [0x1009b198]
mov edx, dword [0x1009b19c]
add ecx, 0x4d89179e
adc edx, 0x8f7b9
mov dword [0x1009b168], ecx
mov dword [0x1009b16c], edx
movzx eax, byte [0x1009b0ee]
add eax, 0xe6
cdq
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
mov eax, dword [ebp - 0x40]
not eax
mov ecx, dword [ebp - 0x28]
sub ecx, eax
mov word [ebp - 0x24], cx
jmp 0x10026271
cmp dword [0x1009b140], 0
je 0x10026271
movsx edx, word [ebp - 0x1c]
movsx eax, word [ebp - 0x14]
add edx, eax
movsx ecx, word [ebp - 0x1c]
imul ecx, edx
mov word [ebp - 0x1c], cx
movsx eax, word [0x1009b180]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x1009b1a0]
not edx
xor eax, eax
mov edi, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x30]
sub edi, edx
sbb ebx, eax
not edi
not ebx
movsx eax, byte [ebp - 5]
cdq
add edi, eax
adc ebx, edx
not edi
not ebx
xor ecx, edi
xor esi, ebx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], esi
movsx eax, word [ebp - 0x18]
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
xor ecx, eax
xor esi, edx
xor edx, edx
xor ecx, dword [0x1009b144]
xor esi, edx
mov dword [ebp - 0xd2c], ecx
mov dword [ebp - 0xd28], esi
mov eax, dword [ebp - 0xd2c]
or eax, dword [ebp - 0xd28]
jne 0x100261b5
xor ecx, ecx
mov dword [ebp - 0xd34], 1
mov dword [ebp - 0xd30], ecx
jmp 0x100261c0
xorps xmm0, xmm0
movlpd qword [ebp - 0xd34], xmm0
mov edx, dword [0x1009b144]
xor eax, eax
mov ecx, dword [0x1009b150]
mov esi, dword [0x1009b154]
push esi
push ecx
push eax
push edx
call fcn.1006c090
add eax, dword [0x1009b1a0]
add eax, dword [ebp - 0xd34]
mov word [0x1009b180], ax
mov edx, 4
imul eax, edx, 0x2bb
mov ecx, dword [ebp - 0x28]
mov dword [eax + 0x10113008], ecx
cmp dword [0x1009b170], 0
je 0x10026225
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
mov dword [ebp - 0x788], edx
mov dword [ebp - 0x784], eax
jmp 0x1002623d
mov ecx, dword [0x1009b138]
mov edx, dword [0x1009b13c]
mov dword [ebp - 0x788], ecx
mov dword [ebp - 0x784], edx
mov eax, dword [ebp - 0x788]
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
mov ecx, 8
imul ecx, ecx, 0x334e
mov dword [ecx + 0x10317600], edx
mov dword [ecx + 0x10317604], eax
jmp 0x10025627
mov byte [ebp - 4], 0
mov ecx, dword [0x1009b190]
mov dword [0x1009b14c], ecx
mov edx, dword [0x1009b148]
sub edx, 0x9f0405de
mov byte [0x1009b0ba], dl
mov al, byte [0x1009bc7c]
mov byte [ebp - 4], al
mov ecx, dword [0x1009b1b0]
xor ecx, 0x7f52
mov dword [0x1009b1a0], ecx
mov dl, byte [ebp - 4]
mov byte [ebp - 0x9c8], dl
cmp byte [ebp - 0x9c8], 0
je 0x1002632f
jmp 0x10026381
movsx eax, word [ebp - 0xc]
movsx ecx, word [ebp - 0xc]
and eax, ecx
mov word [ebp - 0xc], ax
movsx eax, byte [0x1009b0ba]
cdq
push 0x4ce86
push 0x62b1a27f
push edx
push eax
call fcn.1006c090
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
add ecx, eax
adc esi, edx
mov dword [0x1009b168], ecx
mov dword [0x1009b16c], esi
movsx edx, byte [ebp - 1]
imul eax, edx, 0xccc0
mov byte [0x1009b0ba], al
mov ecx, dword [ebp - 0x148]
push ecx
call fcn.1001c350
mov dword [ebp - 0xa4], eax
xor edx, edx
mov dword [0x1009b160], 0xd
mov dword [0x1009b164], edx
mov eax, 4
imul ecx, eax, 0x5f2a
movsx edx, byte [0x1009b0bb]
sub edx, dword [ecx + 0x102fea60]
mov byte [0x1009b0bb], dl
movzx eax, byte [0x1009b0ee]
movsx ecx, word [ebp - 0x14]
imul eax, ecx
mov byte [0x1009b0ee], al
movsx edx, byte [ebp - 3]
test edx, edx
jne 0x100263ea
mov dword [ebp - 0x498], 1
jmp 0x100263f4
mov dword [ebp - 0x498], 0
mov eax, dword [0x1009b130]
mov ecx, dword [0x1009b134]
mov dword [ebp - 0xd3c], eax
mov dword [ebp - 0xd38], ecx
mov edx, dword [ebp - 0xd3c]
or edx, dword [ebp - 0xd38]
jne 0x10026425
mov dword [ebp - 0x49c], 1
jmp 0x1002642f
mov dword [ebp - 0x49c], 0
mov eax, dword [ebp - 0x498]
sub eax, dword [ebp - 0x49c]
mov ecx, dword [0x1009b1b0]
add ecx, dword [ebp - 0x40]
or eax, ecx
mov dword [0x1009b1b0], eax
movzx eax, byte [0x1009b07f]
cdq
xor eax, dword [0x1009b138]
mov byte [0x1009b07f], al
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], eax
movsx ecx, word [ebp - 0xc]
mov edx, dword [0x1009b14c]
sub edx, ecx
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x28]
sub edx, eax
mov dword [ebp - 0x2c], edx
mov ecx, dword [0x1009b144]
xor esi, esi
mov eax, dword [ebp - 0x38]
cdq
add eax, dword [0x1009b160]
adc edx, dword [0x1009b164]
mov dword [ebp - 0xd44], ecx
mov dword [ebp - 0xd40], esi
mov dword [ebp - 0xd4c], eax
mov dword [ebp - 0xd48], edx
mov edx, dword [ebp - 0xd44]
cmp edx, dword [ebp - 0xd4c]
jne 0x10026963
mov eax, dword [ebp - 0xd40]
cmp eax, dword [ebp - 0xd48]
jne 0x10026963
movsx ecx, word [ebp - 0x14]
test ecx, ecx
je 0x1002661d
movsx edx, word [ebp - 0xc]
test edx, edx
je 0x100264fe
movsx eax, byte [ebp - 3]
test eax, eax
jne 0x100264fe
mov dword [ebp - 0x4a4], 0
jmp 0x10026508
mov dword [ebp - 0x4a4], 1
movzx ecx, word [ebp - 0x10]
test ecx, ecx
je 0x10026525
mov edx, 0xffff30bf
test edx, edx
je 0x10026525
mov dword [ebp - 0x4a0], 0
jmp 0x1002652f
mov dword [ebp - 0x4a0], 1
movzx eax, byte [0x1009b0ef]
cmp eax, dword [ebp - 0x4a0]
jle 0x1002654a
mov dword [ebp - 0x4a8], 1
jmp 0x10026554
mov dword [ebp - 0x4a8], 0
mov ecx, dword [ebp - 0x4a4]
cmp ecx, dword [ebp - 0x4a8]
jg 0x100265c6
movsx edx, byte [0x1009b0ba]
movsx eax, byte [0x1009b0ba]
sub edx, eax
movsx ecx, byte [0x1009b0ba]
imul ecx, edx
mov byte [0x1009b0ba], cl
movzx eax, byte [0x1009b0ee]
cdq
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x1384], ecx
add eax, edx
mov byte [0x1009b0ee], al
mov edx, dword [0x1009b140]
sub edx, dword [0x1009b148]
mov word [0x1009b158], dx
mov al, byte [ebp - 0x40]
mov byte [ebp - 1], al
mov dword [ebp - 0x2c], 8
mov dword [ebp - 0x28], 2
jmp 0x10026618
movzx ecx, word [0x1009b158]
xor ecx, 0xb998
mov byte [ebp - 2], cl
movsx edx, word [ebp - 0x1c]
mov eax, dword [0x1009b170]
sub eax, edx
add eax, dword [0x1009b170]
mov dword [0x1009b170], eax
mov ecx, dword [0x1009b198]
mov edx, dword [0x1009b19c]
mov dword [ebp - 0x1388], edx
sub ecx, 0xc04e
mov dword [ebp - 0x38], ecx
mov al, byte [ebp - 4]
add al, 1
mov byte [ebp - 4], al
mov ecx, dword [ebp - 0x4c]
sub ecx, 0x3c
mov byte [ebp - 5], cl
jmp 0x10026734
movsx edx, byte [ebp - 5]
test edx, edx
je 0x10026734
mov eax, dword [ebp - 0x38]
and eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
mov ecx, dword [0x1009b130]
mov edx, dword [0x1009b134]
add ecx, dword [0x1009b178]
adc edx, dword [0x1009b17c]
add ecx, dword [0x1009b178]
adc edx, dword [0x1009b17c]
mov dword [0x1009b178], ecx
mov dword [0x1009b17c], edx
movzx eax, byte [0x1009b033]
sub eax, 0x26
mov dword [0x1009b190], eax
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
push 0x773d5
push 0x70be5ea9
push edx
push ecx
call fcn.1006c090
mov word [ebp - 0xc], ax
movzx eax, byte [0x1009b07e]
cdq
xor eax, dword [0x1009b160]
xor edx, dword [0x1009b164]
push edx
push eax
mov eax, dword [ebp - 0x44]
push eax
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.1006c090
mov esi, eax
mov edi, edx
movsx eax, word [ebp - 0x1c]
cdq
mov ebx, dword [0x1009b198]
mov ecx, dword [0x1009b19c]
sub ebx, eax
sbb ecx, edx
movsx eax, word [ebp - 0x18]
cdq
mov dword [ebp - 0x9d4], edi
mov edi, dword [ebp - 0x54]
mov dword [ebp - 0x9d0], esi
mov esi, dword [ebp - 0x50]
push esi
push edi
push edx
push eax
mov dword [ebp - 0x9cc], ecx
call fcn.1006c090
not eax
not edx
push edx
push eax
mov esi, dword [ebp - 0x9cc]
push esi
push ebx
call fcn.1006c090
mov esi, dword [ebp - 0x9d0]
xor esi, eax
mov edi, dword [ebp - 0x9d4]
xor edi, edx
not esi
not edi
mov dword [0x1009b150], esi
mov dword [0x1009b154], edi
imul edx, dword [0x1009b148], 0xe09a
mov dword [ebp - 0x38], edx
movzx eax, byte [0x1009b0a6]
imul eax, dword [0x1009b188]
movzx ecx, byte [0x1009b0a6]
sub ecx, eax
mov byte [0x1009b0a6], cl
movsx edx, byte [ebp - 5]
movsx eax, word [0x1009b180]
imul edx, eax
mov byte [ebp - 5], dl
movzx ecx, byte [0x1009b033]
mov edx, 4
imul eax, edx, 0x3631
mov dword [eax + 0x1015e570], ecx
movzx eax, word [ebp - 0x10]
cdq
mov ecx, 8
imul ecx, ecx, 0xc
mov dword [ecx + 0x101c0bc0], eax
mov dword [ecx + 0x101c0bc4], edx
mov edx, dword [ebp - 0x3c]
add edx, 0xd866ce8
cmp dword [0x1009b148], edx
jne 0x10026963
movsx eax, byte [ebp - 3]
movsx ecx, byte [ebp - 3]
sub eax, ecx
mov byte [ebp - 3], al
cmp dword [ebp - 0x38], 0
jne 0x100267c7
mov dword [ebp - 0x4ac], 1
jmp 0x100267d1
mov dword [ebp - 0x4ac], 0
cmp dword [0x1009b1a0], 0
jne 0x100267e6
mov dword [ebp - 0x4b0], 1
jmp 0x100267f0
mov dword [ebp - 0x4b0], 0
movzx edx, word [0x1009b184]
add edx, dword [ebp - 0x4ac]
sub edx, dword [ebp - 0x4b0]
jne 0x10026819
xor eax, eax
mov dword [ebp - 0xd54], 1
mov dword [ebp - 0xd50], eax
jmp 0x10026824
xorps xmm0, xmm0
movlpd qword [ebp - 0xd54], xmm0
movsx eax, byte [ebp - 3]
movsx ecx, byte [ebp - 4]
sub eax, ecx
cdq
mov ecx, eax
mov eax, dword [ebp - 0x4c]
cdq
add eax, dword [0x1009b160]
sub ecx, eax
add ecx, dword [ebp - 0xd54]
mov byte [ebp - 7], cl
movzx eax, byte [0x1009b033]
cdq
mov ecx, eax
sub ecx, dword [0x1009b160]
movzx eax, byte [0x1009b033]
cdq
add eax, ecx
mov byte [0x1009b033], al
jmp 0x10026393
mov eax, dword [0x1009b198]
mov ecx, dword [0x1009b19c]
mov dword [ebp - 0xd6c], eax
mov dword [ebp - 0xd68], ecx
mov edx, dword [ebp - 0xd6c]
or edx, dword [ebp - 0xd68]
je 0x10026b65
mov byte [ebp - 6], 2
movzx eax, byte [0x1009b07e]
movsx ecx, word [ebp - 0x1c]
imul eax, ecx
movzx edx, byte [0x1009b07e]
add edx, eax
mov byte [0x1009b07e], dl
movsx eax, byte [ebp - 5]
add eax, 0x5b07768a
mov ecx, dword [0x1009b18c]
sub ecx, eax
mov dword [0x1009b18c], ecx
movzx eax, word [0x1009b184]
mov edx, dword [ebp - 0x2c]
not edx
xor eax, edx
cdq
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
movzx eax, byte [0x1009b01f]
movsx ecx, word [ebp - 0x18]
lea edx, [ecx + eax + 0xfbf3]
mov word [ebp - 0x18], dx
mov al, byte [ebp - 6]
mov byte [ebp - 0x14c], al
cmp byte [ebp - 0x14c], 0
je 0x10026a21
cmp byte [ebp - 0x14c], 1
je 0x10026a8d
cmp byte [ebp - 0x14c], 2
je 0x10026af6
jmp 0x10026b63
movzx ecx, word [ebp - 0x24]
sar ecx, 6
mov byte [0x1009b07e], cl
movzx edx, byte [0x1009b01f]
test edx, edx
jne 0x10026a45
mov dword [ebp - 0x4bc], 1
jmp 0x10026a4f
mov dword [ebp - 0x4bc], 0
mov eax, dword [ebp - 0x40]
xor eax, dword [ebp - 0x4bc]
cdq
mov dword [0x1009b168], eax
mov dword [0x1009b16c], edx
mov al, byte [0x1009b0bb]
sub al, 1
mov byte [0x1009b0bb], al
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x138c], edx
add ecx, 0x5d366a93
mov dword [0x1009b190], ecx
jmp 0x10026b63
movzx eax, byte [0x1009b0ef]
sub eax, 0x1e95fc4
mov byte [ebp - 5], al
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
push 0
push 0xfa6c
push edx
push ecx
call fcn.1006c090
mov dword [0x1009b170], eax
movsx eax, word [ebp - 0x18]
cdq
push 0x947a7
push 0x69e0369a
push edx
push eax
call fcn.1006c090
mov dword [ebp - 0x28], eax
movsx eax, word [ebp - 0x1c]
movzx ecx, byte [ebp - 7]
add eax, ecx
movsx edx, word [ebp - 0x1c]
and edx, eax
mov word [ebp - 0x1c], dx
movsx eax, word [ebp - 0xc]
add eax, 0xd489
mov byte [ebp - 4], al
jmp 0x10026b63
movzx ecx, byte [0x1009b01f]
imul ecx, dword [0x1009b18c]
mov dword [0x1009b18c], ecx
movzx edx, byte [0x1009b01f]
imul eax, edx, 0xbef7
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
movzx eax, byte [0x1009b07e]
imul eax, eax, 0xeb4e
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movzx ecx, byte [0x1009b07f]
movzx edx, byte [ebp - 7]
imul ecx, edx
movzx eax, byte [0x1009b07f]
sub eax, ecx
mov byte [0x1009b07f], al
mov eax, dword [ebp - 0x38]
cdq
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x1390], edx
and eax, ecx
mov dword [ebp - 0x38], eax
jmp 0x10026bbb
movzx eax, word [ebp - 0x10]
test eax, eax
je 0x10026bbb
movzx ecx, byte [0x1009b033]
test ecx, ecx
je 0x10026bbb
movzx edx, word [ebp - 0x10]
sub edx, 0xa73c
mov eax, dword [0x1009b140]
add eax, edx
mov dword [0x1009b140], eax
mov ecx, dword [0x1009b1a0]
xor edx, edx
mov eax, dword [0x1009b164]
push eax
mov eax, dword [0x1009b160]
push eax
push edx
push ecx
call fcn.1006c090
mov dword [0x1009b1a0], eax
movsx ecx, byte [ebp - 3]
add ecx, 0x4c95
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x4c0]
sub edx, 0x1b5
mov eax, dword [ebp - 0x9d8]
imul eax, dword [ebp - 0x4c0]
cmp edx, eax
je 0x100280cf
movzx ecx, word [0x1009b158]
test ecx, ecx
jne 0x10026bfb
xor edx, edx
mov dword [ebp - 0x868], 1
mov dword [ebp - 0x864], edx
jmp 0x10026c06
xorps xmm0, xmm0
movlpd qword [ebp - 0x868], xmm0
movsx eax, byte [ebp - 4]
cdq
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
add ecx, dword [ebp - 0x868]
adc esi, dword [ebp - 0x864]
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov dword [ebp - 0xd74], eax
mov dword [ebp - 0xd70], edx
mov edx, dword [ebp - 0xd74]
or edx, dword [ebp - 0xd70]
jne 0x10026c61
mov dword [ebp - 0x4c4], 1
jmp 0x10026c6b
mov dword [ebp - 0x4c4], 0
movzx eax, byte [ebp - 7]
not eax
sub eax, dword [ebp - 0x4c4]
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov byte [0x1009b0bb], 0xe5
imul eax, dword [ebp - 0x4c], 0x6575e13c
mov byte [0x1009b0ef], al
mov dword [0x1009b18c], 0xd81d8cd0
mov ecx, 0xfffffe8f
mov word [ebp - 0x18], cx
movsx eax, byte [0x1009b0ba]
cdq
mov ecx, dword [0x1009b130]
mov esi, dword [0x1009b134]
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov ecx, dword [0x1009b130]
mov esi, dword [0x1009b134]
and ecx, eax
and esi, edx
mov dword [0x1009b130], ecx
mov dword [0x1009b134], esi
mov edx, dword [0x1009b190]
add edx, 0xfb
mov word [0x1009b180], dx
movsx eax, byte [ebp - 1]
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
movzx eax, word [0x1009b184]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x2c]
cdq
add eax, 0xbba6992e
adc edx, 0x3a305
mov dword [ebp - 0xd7c], ecx
mov dword [ebp - 0xd78], esi
mov dword [ebp - 0xd84], eax
mov dword [ebp - 0xd80], edx
mov edx, dword [ebp - 0xd7c]
cmp edx, dword [ebp - 0xd84]
jne 0x10026e61
mov eax, dword [ebp - 0xd78]
cmp eax, dword [ebp - 0xd80]
jne 0x10026e61
movzx ecx, byte [0x1009b033]
add ecx, dword [ebp - 0x2c]
cmp ecx, 1
jne 0x10026e61
movzx edx, byte [0x1009b0ef]
sub edx, 0x77
movsx eax, word [ebp - 0xc]
movsx ecx, byte [ebp - 6]
xor eax, ecx
sub edx, eax
mov dword [ebp - 0x2c], edx
movzx eax, byte [0x1009b0ef]
cdq
add eax, 0xb0d7112e
adc edx, 0xc1cd9
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dl, byte [ebp - 3]
mov eax, 1
imul ecx, eax, 0x446d
mov byte [ecx + 0x10153d68], dl
mov eax, dword [0x1009b140]
cdq
mov ecx, dword [0x1009b138]
sub ecx, eax
mov eax, dword [0x1009b13c]
sbb eax, edx
add ecx, dword [0x1009b138]
adc eax, dword [0x1009b13c]
mov dword [0x1009b138], ecx
mov dword [0x1009b13c], eax
jmp 0x10026c91
cmp dword [ebp - 0x4c], 0
je 0x10026e9b
movsx eax, byte [ebp - 1]
cdq
mov ecx, 8
imul ecx, ecx, 0x6b3
mov dword [ecx + 0x10270080], eax
mov dword [ecx + 0x10270084], edx
movzx edx, byte [0x1009b01f]
movsx eax, byte [ebp - 5]
and edx, eax
mov byte [0x1009b01f], dl
jmp 0x1002700d
mov ecx, dword [0x1009b130]
mov esi, dword [0x1009b134]
not ecx
not esi
movzx eax, byte [0x1009b07f]
cdq
mov dword [ebp - 0xd8c], ecx
mov dword [ebp - 0xd88], esi
mov dword [ebp - 0xd94], eax
mov dword [ebp - 0xd90], edx
mov edx, dword [ebp - 0xd88]
cmp edx, dword [ebp - 0xd90]
jg 0x1002700d
jl 0x10026ef1
mov eax, dword [ebp - 0xd8c]
cmp eax, dword [ebp - 0xd94]
jae 0x1002700d
movzx ecx, byte [ebp - 2]
imul edx, ecx, 0xa764985c
xor eax, eax
mov dword [0x1009b178], edx
mov dword [0x1009b17c], eax
movzx ecx, byte [ebp - 2]
imul ecx, dword [0x1009b170]
imul ecx, dword [0x1009b170]
mov dword [0x1009b170], ecx
mov edx, 0x41f4
mov word [ebp - 0xc], dx
movsx eax, word [0x1009b180]
xor eax, 0x5bab8a0f
mov dword [0x1009b1a0], eax
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov eax, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
push esi
push eax
push edx
push ecx
call fcn.1006c090
mov dword [ebp - 0xd9c], eax
mov dword [ebp - 0xd98], edx
mov ecx, dword [ebp - 0xd9c]
or ecx, dword [ebp - 0xd98]
jne 0x10026f7b
mov dword [ebp - 0x4cc], 1
jmp 0x10026f85
mov dword [ebp - 0x4cc], 0
mov edx, dword [0x1009b1a0]
xor eax, eax
mov ecx, dword [ebp - 0x50]
add edx, dword [ebp - 0x54]
adc eax, ecx
mov dword [ebp - 0xda4], edx
mov dword [ebp - 0xda0], eax
mov edx, dword [ebp - 0xda4]
or edx, dword [ebp - 0xda0]
jne 0x10026fbb
mov dword [ebp - 0x4d0], 1
jmp 0x10026fc5
mov dword [ebp - 0x4d0], 0
mov eax, dword [ebp - 0x4cc]
imul eax, dword [ebp - 0x4d0]
test eax, eax
jne 0x10026fe1
mov ecx, 1
mov word [ebp - 0x6a], cx
jmp 0x10026fe7
xor edx, edx
mov word [ebp - 0x6a], dx
mov ax, word [ebp - 0x6a]
mov word [0x1009b158], ax
movzx ecx, byte [0x1009b0ef]
mov edx, dword [0x1009b188]
imul edx, ecx
mov eax, dword [0x1009b188]
add eax, edx
mov dword [0x1009b188], eax
cmp dword [ebp - 0xa4], 0
jne 0x10027490
movzx eax, byte [0x1009b07f]
movzx ecx, byte [0x1009b01f]
imul eax, ecx
cdq
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
movsx edx, byte [0x1009b0bb]
imul edx, dword [0x1009b1a0]
movzx eax, word [ebp - 0x10]
add edx, eax
mov ecx, dword [0x1009b130]
mov eax, dword [0x1009b134]
mov dword [ebp - 0x1394], eax
xor edx, ecx
mov byte [ebp - 3], dl
movsx ecx, byte [ebp - 1]
movsx edx, word [0x1009b180]
and ecx, edx
movsx eax, byte [ebp - 1]
imul eax, ecx
mov byte [ebp - 1], al
mov ecx, dword [0x1009b144]
sub ecx, 0xa24f7510
mov dword [0x1009b170], ecx
movzx edx, byte [ebp - 2]
imul eax, edx, 0x31c6796e
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movsx eax, byte [ebp - 4]
cdq
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
mov dword [0x1009b18c], 0x9cdea359
mov eax, dword [0x1009b18c]
not eax
cmp dword [0x1009b1a0], eax
jbe 0x100270f1
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x4d4], eax
cmp dword [ebp - 0x4d4], 0
je 0x100270ec
mov ecx, dword [ebp - 0x4d4]
push ecx
call dword [sym.imp.USER32.dll_GetWindowDC]
mov dword [ebp - 0x1398], eax
jmp 0x100271f4
movsx edx, word [ebp - 0x14]
cmp dword [0x1009b140], edx
jge 0x10027169
mov al, byte [ebp - 0xc]
mov byte [ebp - 7], al
movzx ecx, word [0x1009b158]
add ecx, 0x19ee
mov dword [0x1009b1a0], ecx
mov edx, 1
imul eax, edx, 0x58
movzx ecx, byte [eax + 0x1034cfc8]
mov edx, dword [0x1009b1a0]
sub edx, ecx
mov dword [0x1009b1a0], edx
mov eax, dword [ebp - 0x2c]
cdq
add eax, dword [0x1009b138]
adc edx, dword [0x1009b13c]
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
mov eax, dword [0x1009b14c]
sub eax, dword [ebp - 0x28]
mov ecx, dword [0x1009b14c]
sub ecx, eax
mov dword [0x1009b14c], ecx
jmp 0x100271f4
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
mov dword [ebp - 0xdac], edx
mov dword [ebp - 0xda8], eax
mov ecx, dword [ebp - 0xdac]
or ecx, dword [ebp - 0xda8]
je 0x100271f4
movzx eax, byte [0x1009b033]
cdq
mov ecx, eax
sub ecx, dword [0x1009b178]
movzx eax, byte [0x1009b033]
cdq
add eax, ecx
mov byte [0x1009b033], al
movzx edx, byte [0x1009b033]
mov eax, dword [0x1009b190]
imul eax, edx
mov ecx, dword [0x1009b190]
sub ecx, eax
mov dword [0x1009b190], ecx
mov dword [ebp - 0x4c], 0xe0c6ac0e
imul edx, dword [ebp - 0x4c], 0x338e
mov dword [ebp - 0x3c], edx
movzx eax, word [0x1009b158]
xor eax, 0xa054df9e
xor ecx, ecx
mov dword [0x1009b138], eax
mov dword [0x1009b13c], ecx
mov edx, dword [ebp - 0x3c]
sub edx, 0x63215ca7
cmp dword [0x1009b18c], edx
jne 0x10027329
mov ecx, dword [0x1009b150]
mov esi, dword [0x1009b154]
mov eax, dword [ebp - 0x38]
cdq
add eax, 0x88c1ef03
adc edx, 0x34ae9
mov dword [ebp - 0xdb4], ecx
mov dword [ebp - 0xdb0], esi
mov dword [ebp - 0xdbc], eax
mov dword [ebp - 0xdb8], edx
mov edx, dword [ebp - 0xdb4]
cmp edx, dword [ebp - 0xdbc]
jne 0x10027329
mov eax, dword [ebp - 0xdb0]
cmp eax, dword [ebp - 0xdb8]
jne 0x10027329
movzx ecx, word [ebp - 0x10]
movsx edx, word [ebp - 0xc]
lea eax, [edx + ecx - 0x1e892f59]
mov word [ebp - 0xc], ax
mov ecx, dword [ebp - 0x48]
sub ecx, 1
mov edx, dword [ebp - 0x44]
sbb edx, 0
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], edx
mov eax, 2
imul ecx, eax, 0x1b00
mov dx, word [0x1009b184]
mov word [ecx + 0x10259530], dx
jmp 0x10027329
mov dword [0x1009b18c], 0x9cdea359
mov edx, dword [0x1009b1b0]
sub edx, 0xc401618
mov byte [ebp - 2], dl
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x139c], ecx
sub eax, 0x7e
mov word [ebp - 0x14], ax
mov edx, dword [0x1009b148]
sub edx, dword [0x1009b1b0]
movsx eax, byte [ebp - 6]
imul edx, eax
mov dword [0x1009b1b0], edx
cmp dword [0x1009b190], 0
jne 0x1002738b
xor ecx, ecx
mov dword [ebp - 0xdcc], 1
mov dword [ebp - 0xdc8], ecx
jmp 0x10027396
xorps xmm0, xmm0
movlpd qword [ebp - 0xdcc], xmm0
mov edx, dword [ebp - 0x48]
or edx, dword [ebp - 0x44]
jne 0x100273b2
xor eax, eax
mov dword [ebp - 0xdc4], 1
mov dword [ebp - 0xdc0], eax
jmp 0x100273bd
xorps xmm0, xmm0
movlpd qword [ebp - 0xdc4], xmm0
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov dword [ebp - 0x13a0], edx
sub ecx, dword [ebp - 0xdc4]
not ecx
or ecx, dword [ebp - 0xdcc]
mov eax, dword [0x1009b148]
sub eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x3c]
add ecx, eax
mov byte [ebp - 1], cl
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
push 0
push 0x712d
push edx
push ecx
call fcn.1006c090
mov dword [0x1009b14c], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0xdd4], eax
mov dword [ebp - 0xdd0], ecx
mov edx, dword [ebp - 0xdd4]
or edx, dword [ebp - 0xdd0]
jne 0x10027438
mov dword [ebp - 0x4d8], 1
jmp 0x10027442
mov dword [ebp - 0x4d8], 0
movsx eax, word [ebp - 0x14]
xor eax, dword [ebp - 0x4d8]
mov dword [0x1009b148], eax
movsx ecx, byte [0x1009b0ba]
shl ecx, 8
mov dword [0x1009b144], ecx
movsx edx, word [ebp - 0xc]
shl edx, 6
mov dword [0x1009b144], edx
mov dword [ebp - 0x4c], 0xfd
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x13a4], ecx
mov byte [ebp - 1], al
mov dword [ebp - 0x80], 0
jmp 0x100280cf
movsx edx, word [ebp - 0xc]
test edx, edx
je 0x100277d5
movzx eax, word [0x1009b158]
test eax, eax
jne 0x100274b3
mov dword [ebp - 0x4dc], 1
jmp 0x100274bd
mov dword [ebp - 0x4dc], 0
cmp dword [ebp - 0x4dc], 0x31
jge 0x100274dd
movzx ecx, byte [0x1009b07e]
test ecx, ecx
jne 0x100274dd
mov dword [ebp - 0x4e4], 0
jmp 0x100274e7
mov dword [ebp - 0x4e4], 1
cmp dword [0x1009b188], 0
je 0x10027502
cmp dword [ebp - 0x2c], 0
je 0x10027502
mov dword [ebp - 0x4e0], 1
jmp 0x1002750c
mov dword [ebp - 0x4e0], 0
movzx edx, byte [0x1009b0a6]
cmp dword [ebp - 0x4e0], edx
jne 0x10027527
mov dword [ebp - 0x4e8], 1
jmp 0x10027531
mov dword [ebp - 0x4e8], 0
mov eax, dword [ebp - 0x4e4]
imul eax, dword [ebp - 0x4e8]
test eax, eax
jne 0x10027699
movsx ecx, byte [ebp - 3]
cmp ecx, dword [ebp - 0x40]
jge 0x1002755b
mov dword [ebp - 0x4ec], 1
jmp 0x10027565
mov dword [ebp - 0x4ec], 0
movsx edx, byte [ebp - 3]
cmp edx, 0x64
jge 0x1002757a
mov dword [ebp - 0x4f0], 1
jmp 0x10027584
mov dword [ebp - 0x4f0], 0
mov eax, dword [ebp - 0x4ec]
cmp eax, dword [ebp - 0x4f0]
jge 0x100275cb
movzx eax, word [ebp - 0x20]
cdq
add eax, 0x62fee847
mov dword [ebp - 0x2c], eax
movsx ecx, byte [ebp - 3]
add ecx, 0x7e6efea2
mov byte [0x1009b0a7], cl
movsx edx, byte [0x1009b0ba]
movsx eax, byte [0x1009b0bb]
imul edx, eax
mov byte [0x1009b0ba], dl
jmp 0x10027694
movsx eax, byte [ebp - 5]
cdq
mov dword [ebp - 0xddc], eax
mov dword [ebp - 0xdd8], edx
cmp dword [ebp - 0xdd8], 0x61081
jg 0x1002760a
jl 0x100275f6
cmp dword [ebp - 0xddc], 0x48bd54a8
jae 0x1002760a
xor ecx, ecx
mov dword [ebp - 0x870], 1
mov dword [ebp - 0x86c], ecx
jmp 0x10027615
xorps xmm0, xmm0
movlpd qword [ebp - 0x870], xmm0
movsx eax, word [ebp - 0x14]
cdq
mov ecx, dword [0x1009b154]
sub eax, dword [0x1009b150]
sbb edx, ecx
mov dword [ebp - 0xde4], eax
mov dword [ebp - 0xde0], edx
mov edx, dword [ebp - 0x86c]
cmp edx, dword [ebp - 0xde0]
ja 0x10027694
jb 0x10027652
mov eax, dword [ebp - 0x870]
cmp eax, dword [ebp - 0xde4]
ja 0x10027694
mov byte [ebp - 2], 0x5a
movzx eax, word [ebp - 0x20]
movzx ecx, byte [0x1009b07e]
sub eax, ecx
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movzx eax, byte [0x1009b0ee]
and eax, 0x56d4af57
cdq
mov ecx, eax
mov eax, dword [ebp - 0x40]
cdq
add eax, dword [0x1009b178]
add ecx, eax
mov dword [ebp - 0x3c], ecx
mov dl, byte [0x1009bc7c]
mov byte [0x1009b0ee], dl
jmp 0x100277d3
movzx eax, byte [0x1009b07f]
cdq
mov dword [ebp - 0xdec], eax
mov dword [ebp - 0xde8], edx
cmp dword [ebp - 0xdec], 0xf6a3c77
jne 0x100276d1
cmp dword [ebp - 0xde8], 0xfbdbd
jne 0x100276d1
mov dword [ebp - 0x4f4], 1
jmp 0x100276db
mov dword [ebp - 0x4f4], 0
cmp dword [ebp - 0x4f4], 0x485b
jge 0x10027745
movzx eax, byte [ebp - 2]
movzx ecx, byte [0x1009b033]
imul eax, ecx
mov byte [ebp - 2], al
movzx eax, word [ebp - 0x10]
cdq
sub eax, 0xb51e87dd
mov byte [ebp - 5], al
mov dl, byte [0x1009b0a6]
mov byte [ebp - 5], dl
movzx eax, byte [0x1009b0a6]
test eax, eax
jne 0x10027725
mov dword [ebp - 0x4f8], 1
jmp 0x1002772f
mov dword [ebp - 0x4f8], 0
movsx ecx, byte [ebp - 4]
not ecx
imul ecx, dword [ebp - 0x4f8]
mov word [ebp - 0xc], cx
jmp 0x100277d3
movsx edx, word [ebp - 0x14]
test edx, edx
jne 0x100277d3
movsx eax, byte [ebp - 6]
cdq
add eax, 0x49930ca4
adc edx, 0xf7738
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movsx eax, byte [ebp - 3]
add eax, 0xf7d8
mov byte [ebp - 7], al
movsx eax, byte [ebp - 3]
cdq
add eax, 0x3811db32
adc edx, 0x2ad73
mov dword [0x1009b130], eax
mov dword [0x1009b134], edx
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov dword [ebp - 0x13a8], edx
mov dword [0x1009b144], ecx
mov eax, dword [0x1009b168]
mov edx, dword [0x1009b16c]
mov cl, 5
call fcn.1006c0f0
mov dword [0x1009b198], eax
mov dword [0x1009b19c], edx
mov eax, dword [0x1009b148]
sub eax, dword [0x1009b144]
mov dword [0x1009b148], eax
jmp 0x10027827
movsx ecx, byte [ebp - 6]
test ecx, ecx
je 0x10027827
movsx edx, word [ebp - 0x14]
test edx, edx
jne 0x100277f1
mov dword [ebp - 0x4fc], 1
jmp 0x100277fb
mov dword [ebp - 0x4fc], 0
mov eax, dword [ebp - 0x40]
not eax
add eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x4fc]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
sub ecx, 1
mov dword [ebp - 0x38], ecx
movzx eax, word [0x1009b158]
cdq
add eax, 0x8efc3699
mov dword [0x1009b188], eax
xor edx, edx
mov dword [0x1009b160], 0xf9686bb
mov dword [0x1009b164], edx
mov eax, dword [0x1009b138]
push eax
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [0x1009b140], eax
cmp dword [0x1009b140], 0
je 0x100278f9
mov dword [ebp - 0x150], 0x3c
mov ecx, dword [ebp - 0x2c]
sub ecx, 0xa8
mov word [0x1009b180], cx
mov dx, word [0x1009b180]
sub dx, 1
mov word [0x1009b180], dx
mov dword [0x1009b1b0], 0xf492
movzx eax, byte [ebp - 2]
movsx ecx, word [ebp - 0x14]
sub eax, ecx
mov byte [ebp - 2], al
movzx eax, word [ebp - 0x20]
shl eax, 3
cdq
mov dword [0x1009b130], eax
mov dword [0x1009b134], edx
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x13ac], eax
and edx, 0xd830
mov byte [ebp - 1], dl
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x13b0], edx
add ecx, 0x9ddb8be
mov byte [ebp - 1], cl
mov dword [ebp - 0x28], 0x52
mov eax, dword [ebp - 0x150]
add eax, 1
mov dword [ebp - 0x150], eax
cmp dword [ebp - 0x150], 0x22f8
jl 0x100278c2
mov eax, dword [ebp - 0x38]
add eax, 0xf9686bb
cdq
mov dword [ebp - 0xdf4], eax
mov dword [ebp - 0xdf0], edx
mov ecx, dword [0x1009b160]
cmp ecx, dword [ebp - 0xdf4]
jne 0x100279b2
mov edx, dword [0x1009b164]
cmp edx, dword [ebp - 0xdf0]
jne 0x100279b2
mov eax, dword [ebp - 0x38]
sub eax, 0x1bb9945a
cmp dword [0x1009b1a0], eax
jne 0x100279b2
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x13b4], edx
push ecx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [ebp - 0x28], eax
jmp 0x100279b2
xor edx, edx
mov dword [0x1009b160], 0xf9686bb
mov dword [0x1009b164], edx
imul eax, dword [0x1009b144], 0xea
movsx ecx, word [ebp - 0x18]
sub ecx, eax
mov word [ebp - 0x18], cx
cmp dword [ebp - 0x38], 0
je 0x100279ec
mov edx, dword [0x1009b1b0]
mov dword [ebp - 0x500], edx
jmp 0x100279f9
movzx eax, byte [0x1009b07e]
mov dword [ebp - 0x500], eax
mov cl, byte [ebp - 0x500]
mov byte [0x1009b0ef], cl
movzx eax, word [ebp - 0x24]
cdq
mov ecx, dword [0x1009b164]
push ecx
mov ecx, dword [0x1009b160]
push ecx
push edx
push eax
call fcn.1006c090
mov ecx, eax
movzx eax, word [ebp - 0x24]
cdq
sub eax, ecx
mov word [ebp - 0x24], ax
cmp dword [0x1009b1a0], 0
je 0x10027ab2
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], esi
mov edx, 0x2f1d
mov word [ebp - 0x24], dx
movsx eax, word [ebp - 0xc]
test eax, eax
je 0x10027a69
mov ecx, dword [0x1009b1a0]
mov dword [ebp - 0x504], ecx
jmp 0x10027a76
movzx edx, word [0x1009b158]
mov dword [ebp - 0x504], edx
mov ax, word [ebp - 0x504]
mov word [ebp - 0x24], ax
movzx eax, byte [ebp - 2]
cdq
mov ecx, dword [0x1009b130]
mov esi, dword [0x1009b134]
xor ecx, eax
xor esi, edx
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
add edx, ecx
adc eax, esi
mov dword [0x1009b130], edx
mov dword [0x1009b134], eax
jmp 0x10027b0b
mov ecx, dword [ebp - 0x3c]
xor ecx, dword [0x1009b160]
mov edx, dword [ebp - 0x3c]
sub edx, ecx
mov dword [ebp - 0x3c], edx
mov eax, dword [0x1009bc7c]
mov dword [ebp - 0x28], eax
movzx ecx, word [ebp - 0x24]
mov edx, dword [0x1009b190]
not edx
or ecx, edx
xor eax, eax
mov edx, dword [0x1009b150]
mov esi, dword [0x1009b154]
push esi
push edx
push eax
push ecx
call fcn.1006c090
mov dword [0x1009b170], eax
movsx eax, byte [ebp - 1]
movzx ecx, byte [0x1009b0ef]
add eax, ecx
movsx edx, byte [ebp - 1]
sub edx, eax
mov byte [ebp - 1], dl
mov eax, dword [0x1009bc7c]
mov dword [ebp - 0x154], eax
mov ecx, dword [ebp - 0x3c]
not ecx
cmp ecx, dword [0x1009b144]
jae 0x10027b37
movzx edx, byte [ebp - 7]
test edx, edx
je 0x10027b37
mov dword [ebp - 0x508], 1
jmp 0x10027b41
mov dword [ebp - 0x508], 0
mov eax, dword [ebp - 0x508]
not eax
test eax, eax
je 0x10027bbe
movzx ecx, byte [ebp - 2]
push ecx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [0x1009b190], eax
cmp dword [0x1009b190], 0
jae 0x10027b72
mov dword [ebp - 0x50c], 1
jmp 0x10027b7c
mov dword [ebp - 0x50c], 0
cmp dword [0x1009b190], 0x23
jae 0x10027b91
mov dword [ebp - 0x510], 1
jmp 0x10027b9b
mov dword [ebp - 0x510], 0
mov edx, dword [ebp - 0x50c]
cmp edx, dword [ebp - 0x510]
jge 0x10027bbc
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessorNumber]
xor ecx, ecx
mov dword [0x1009b198], eax
mov dword [0x1009b19c], ecx
jmp 0x10027c39
movsx edx, byte [0x1009b0a7]
test edx, edx
je 0x10027c39
movsx eax, byte [ebp - 6]
movzx ecx, word [ebp - 0x20]
imul eax, ecx
movsx edx, byte [ebp - 6]
add edx, eax
mov byte [ebp - 6], dl
movsx eax, byte [ebp - 1]
add eax, 0x2e445ab3
mov byte [ebp - 1], al
movsx ecx, byte [ebp - 4]
xor ecx, 0xc1
mov word [ebp - 0xc], cx
movzx edx, byte [ebp - 2]
test edx, edx
jne 0x10027c0b
mov dword [ebp - 0x514], 1
jmp 0x10027c15
mov dword [ebp - 0x514], 0
movsx eax, byte [ebp - 1]
imul eax, dword [ebp - 0x514]
cdq
mov dword [0x1009b150], eax
mov dword [0x1009b154], edx
movsx ecx, byte [ebp - 1]
imul edx, ecx, 0xae8d3cb
mov byte [ebp - 1], dl
mov eax, dword [ebp - 0x154]
add eax, 0x1c5
mov dword [ebp - 0x13bc], eax
mov ecx, dword [ebp - 0x154]
add ecx, 0x115
mov dword [ebp - 0x9dc], ecx
movsx eax, byte [ebp - 3]
cdq
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
mov dword [ebp - 0xdfc], eax
mov dword [ebp - 0xdf8], edx
mov dword [ebp - 0xe04], ecx
mov dword [ebp - 0xe00], esi
mov edx, dword [ebp - 0xdf8]
cmp edx, dword [ebp - 0xe00]
jl 0x10027ca9
jg 0x10027c9d
mov eax, dword [ebp - 0xdfc]
cmp eax, dword [ebp - 0xe04]
jb 0x10027ca9
mov dword [ebp - 0x518], 1
jmp 0x10027cb3
mov dword [ebp - 0x518], 0
movsx ecx, byte [ebp - 3]
cmp ecx, 0xd
jl 0x10027cc8
mov dword [ebp - 0x51c], 1
jmp 0x10027cd2
mov dword [ebp - 0x51c], 0
mov edx, dword [ebp - 0x518]
cmp edx, dword [ebp - 0x51c]
je 0x10027e7b
xor eax, eax
mov dword [0x1009b150], 1
mov dword [0x1009b154], eax
movsx eax, word [ebp - 0x1c]
cdq
push 0xfaf4a
push 0xf70fc46a
push edx
push eax
call fcn.1006c090
mov ecx, eax
movsx eax, byte [ebp - 4]
cdq
and eax, ecx
mov byte [ebp - 4], al
mov edx, 2
imul eax, edx, 6
movzx ecx, word [eax + 0x1014e3e8]
mov edx, dword [0x1009b148]
or edx, ecx
mov dword [0x1009b148], edx
mov byte [0x1009b0ba], 0x7d
movsx eax, word [ebp - 0xc]
add eax, 0x71f8
mov word [ebp - 0x24], ax
mov ecx, 0x3fcb
mov word [ebp - 0x10], cx
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
mov dword [ebp - 0x790], edx
mov dword [ebp - 0x78c], eax
mov ecx, dword [ebp - 0x790]
or ecx, dword [ebp - 0x78c]
je 0x10027d8d
cmp dword [ebp - 0x790], 1
jne 0x10027d88
cmp dword [ebp - 0x78c], 0
je 0x10027de2
jmp 0x10027e76
movzx edx, word [0x1009b184]
sub edx, 0x3ee7591a
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x4c]
cdq
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov dword [ebp - 0x13c0], edx
sub ecx, eax
mov word [ebp - 0x18], cx
mov eax, dword [0x1009b1b0]
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x13c4], edx
add eax, ecx
mov dword [0x1009b1b0], eax
xor eax, eax
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x30], eax
jmp 0x10027e76
movsx ecx, byte [0x1009b0bb]
sub ecx, 0x99
mov byte [0x1009b0a7], cl
movsx edx, byte [ebp - 1]
sar edx, 1
mov dword [0x1009b190], edx
movsx eax, word [ebp - 0x14]
test eax, eax
jne 0x10027e15
mov dword [ebp - 0x520], 1
jmp 0x10027e1f
mov dword [ebp - 0x520], 0
movsx ecx, word [ebp - 0x14]
test ecx, ecx
jne 0x10027e33
mov dword [ebp - 0x524], 1
jmp 0x10027e3d
mov dword [ebp - 0x524], 0
mov edx, dword [ebp - 0x520]
and edx, dword [ebp - 0x524]
mov byte [0x1009b0a6], dl
mov al, byte [0x1009bc7c]
mov byte [ebp - 3], al
movsx ecx, byte [ebp - 4]
mov dword [ebp - 0x40], ecx
movzx edx, word [ebp - 0x20]
imul eax, edx, 0xb
cdq
mov ecx, dword [ebp - 0x48]
sub ecx, eax
mov eax, dword [ebp - 0x44]
sbb eax, edx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], eax
jmp 0x10027fb3
movzx ecx, byte [0x1009b0a6]
imul edx, ecx, 0xcd
test edx, edx
jne 0x10027e98
mov dword [ebp - 0x528], 1
jmp 0x10027ea2
mov dword [ebp - 0x528], 0
mov eax, dword [0x1009b18c]
xor ecx, ecx
mov edx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
mov dword [ebp - 0xe0c], eax
mov dword [ebp - 0xe08], ecx
mov dword [ebp - 0xe14], edx
mov dword [ebp - 0xe10], esi
mov eax, dword [ebp - 0xe08]
cmp eax, dword [ebp - 0xe10]
jl 0x10027ef7
jg 0x10027eeb
mov ecx, dword [ebp - 0xe0c]
cmp ecx, dword [ebp - 0xe14]
jb 0x10027ef7
mov dword [ebp - 0x52c], 1
jmp 0x10027f01
mov dword [ebp - 0x52c], 0
mov edx, dword [ebp - 0x528]
cmp edx, dword [ebp - 0x52c]
jne 0x10027fb3
movzx eax, byte [0x1009b01f]
test eax, eax
je 0x10027f34
movsx eax, word [0x1009b180]
cdq
mov dword [ebp - 0x878], eax
mov dword [ebp - 0x874], edx
jmp 0x10027f4c
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov dword [ebp - 0x878], ecx
mov dword [ebp - 0x874], edx
mov eax, dword [ebp - 0x878]
mov dword [ebp - 0x2c], eax
movsx ecx, byte [ebp - 3]
test ecx, ecx
jne 0x10027f69
mov dword [ebp - 0x530], 1
jmp 0x10027f73
mov dword [ebp - 0x530], 0
mov edx, dword [ebp - 0x530]
sub edx, dword [0x1009b148]
movzx eax, byte [ebp - 7]
movsx ecx, byte [ebp - 5]
imul eax, ecx
and edx, eax
xor eax, eax
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], eax
movsx ecx, byte [ebp - 4]
movsx edx, byte [ebp - 5]
imul ecx, edx
mov byte [ebp - 4], cl
xor eax, eax
mov dword [0x1009b178], 0x266690ab
mov dword [0x1009b17c], eax
mov ecx, dword [ebp - 0x154]
add ecx, 0xbe
mov dword [ebp - 0x53c], ecx
mov dword [ebp - 0x158], 0
jmp 0x10027fe0
cmp dword [ebp - 0x158], 0x155
jge 0x10028093
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x40]
jg 0x10028004
mov ecx, dword [ebp - 0x9dc]
imul ecx, dword [ebp - 0x53c]
sub ecx, dword [ebp - 0x53c]
cmp ecx, 0x30b
je 0x100280cf
xor ecx, ecx
mov dword [0x1009b168], 0x4878
mov dword [0x1009b16c], ecx
imul edx, dword [ebp - 0x40], 0xaa
movzx eax, byte [0x1009b033]
add eax, edx
mov byte [0x1009b033], al
movsx ecx, byte [ebp - 5]
sub ecx, 0xfb3a
mov word [0x1009b180], cx
movsx edx, byte [ebp - 5]
sub edx, 0xbb59
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x38]
add eax, dword [0x1009b140]
mov ecx, dword [ebp - 0x38]
sub ecx, eax
mov dword [ebp - 0x38], ecx
movsx eax, byte [ebp - 3]
cdq
mov ecx, dword [0x1009b130]
mov esi, dword [0x1009b134]
add ecx, eax
adc esi, edx
mov dword [0x1009b130], ecx
mov dword [0x1009b134], esi
movzx edx, byte [0x1009b07f]
xor edx, dword [ebp - 0x28]
movzx eax, byte [0x1009b07f]
or eax, edx
mov byte [0x1009b07f], al
movzx ecx, byte [0x1009b0a6]
movsx edx, byte [ebp - 6]
add edx, 0xdf7b
cmp ecx, edx
jne 0x100282d2
movsx eax, byte [0x1009b0ba]
movsx ecx, word [ebp - 0xc]
add eax, ecx
cmp eax, 1
jne 0x100282d2
movzx edx, word [0x1009b184]
mov eax, dword [0x1009b1b0]
imul eax, edx
mov ecx, dword [0x1009b1b0]
add ecx, eax
mov dword [0x1009b1b0], ecx
movsx eax, word [0x1009b180]
cdq
mov ecx, eax
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
mov dword [ebp - 0x13cc], eax
add ecx, edx
movsx eax, word [0x1009b180]
cdq
add eax, ecx
mov word [0x1009b180], ax
mov eax, dword [ebp - 0x40]
cdq
mov dword [0x1009b198], eax
mov dword [0x1009b19c], edx
mov ecx, dword [0x1009b198]
mov edx, dword [0x1009b19c]
push edx
push ecx
mov eax, dword [0x1009b13c]
push eax
mov ecx, dword [0x1009b138]
push ecx
call fcn.1006c090
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
jmp 0x100280cf
movzx ecx, word [0x1009b158]
test ecx, ecx
je 0x100282f0
movzx eax, byte [ebp - 2]
cdq
mov dword [ebp - 0x880], eax
mov dword [ebp - 0x87c], edx
jmp 0x10028307
mov edx, dword [0x1009b178]
mov eax, dword [0x1009b17c]
mov dword [ebp - 0x880], edx
mov dword [ebp - 0x87c], eax
mov ecx, dword [ebp - 0x880]
mov dword [0x1009b18c], ecx
mov edx, dword [0x1009b1a0]
sub edx, 0xf7a0
mov word [ebp - 0x1c], dx
mov byte [0x1009b0a6], 0x1f
movzx eax, byte [0x1009b0ee]
imul ecx, eax, 0x1937
movzx edx, byte [0x1009b0a6]
sub edx, ecx
mov byte [0x1009b0a6], dl
mov eax, dword [ebp - 0x3c]
sub eax, 0xd3b5e59b
mov dword [0x1009b14c], eax
cmp dword [0x1034d0e0], 0
jne 0x10028d17
movzx eax, word [ebp - 0x10]
sub eax, 0x9f
cdq
push edx
push eax
mov ecx, dword [ebp - 0x44]
push ecx
mov edx, dword [ebp - 0x48]
push edx
call fcn.1006c090
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
movzx eax, byte [0x1009b033]
cdq
mov ecx, dword [0x1009b164]
push ecx
mov ecx, dword [0x1009b160]
push ecx
push edx
push eax
call fcn.1006c090
mov ecx, eax
mov esi, edx
add ecx, dword [ebp - 0x48]
adc esi, dword [ebp - 0x44]
not ecx
not esi
movsx eax, byte [ebp - 5]
add eax, dword [0x1009b140]
cdq
xor edi, edi
mov ebx, dword [ebp - 0x34]
mov dword [ebp - 0x9e0], esi
mov esi, dword [ebp - 0x30]
add ebx, dword [0x1009b190]
adc esi, edi
add eax, ebx
adc edx, esi
add ecx, eax
mov esi, dword [ebp - 0x9e0]
adc esi, edx
mov dword [0x1009b138], ecx
mov dword [0x1009b13c], esi
movsx eax, word [ebp - 0x1c]
movsx edx, byte [ebp - 4]
not edx
add eax, edx
cdq
mov ecx, eax
xor ecx, 0x9f52a4dc
movzx eax, byte [ebp - 2]
imul eax, dword [ebp - 0x4c]
not eax
movzx edx, byte [0x1009b0a6]
mov esi, 0x58
sub esi, edx
not esi
add eax, esi
cdq
add ecx, eax
mov dword [ebp - 0x38], ecx
movsx eax, byte [ebp - 5]
test eax, eax
je 0x1002842e
mov cx, word [ebp - 0xc]
mov word [ebp - 0x6c], cx
jmp 0x10028436
mov dx, word [ebp - 0x14]
mov word [ebp - 0x6c], dx
mov al, byte [ebp - 0x6c]
mov byte [ebp - 4], al
xor ecx, ecx
mov dword [0x1009b198], 0xd
mov dword [0x1009b19c], ecx
mov edx, dword [0x1009b18c]
mov eax, dword [0x1009b150]
mov ecx, dword [0x1009b154]
mov dword [ebp - 0x13d0], ecx
add edx, eax
mov dword [0x1009b18c], edx
movsx edx, word [ebp - 0x18]
mov eax, dword [0x1009b148]
imul eax, edx
mov ecx, dword [0x1009b148]
imul ecx, eax
mov dword [0x1009b148], ecx
mov byte [ebp - 3], 0x73
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
mov eax, dword [ebp - 0x2c]
add eax, 1
cdq
mov dword [ebp - 0xe1c], ecx
mov dword [ebp - 0xe18], esi
mov dword [ebp - 0xe24], eax
mov dword [ebp - 0xe20], edx
mov edx, dword [ebp - 0xe1c]
cmp edx, dword [ebp - 0xe24]
jne 0x1002891f
mov eax, dword [ebp - 0xe18]
cmp eax, dword [ebp - 0xe20]
jne 0x1002891f
movzx ecx, word [ebp - 0x20]
push ecx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
xor edx, edx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movzx eax, byte [0x1009b0ef]
test eax, eax
jne 0x10028505
mov dword [ebp - 0x544], 1
jmp 0x1002850f
mov dword [ebp - 0x544], 0
movsx ecx, byte [ebp - 3]
imul ecx, dword [ebp - 0x544]
test ecx, ecx
jne 0x1002852d
movsx edx, byte [0x1009b0a7]
test edx, edx
je 0x10028698
movzx eax, byte [0x1009b01f]
mov ecx, dword [ebp - 0x38]
imul ecx, eax
test ecx, ecx
jne 0x1002854a
mov dword [ebp - 0x548], 1
jmp 0x10028554
mov dword [ebp - 0x548], 0
movzx eax, word [ebp - 0x10]
cdq
mov ecx, dword [0x1009b130]
mov esi, dword [0x1009b134]
mov dword [ebp - 0xe2c], eax
mov dword [ebp - 0xe28], edx
mov dword [ebp - 0xe34], ecx
mov dword [ebp - 0xe30], esi
mov edx, dword [ebp - 0xe28]
cmp edx, dword [ebp - 0xe30]
jl 0x100285a7
jg 0x1002859b
mov eax, dword [ebp - 0xe2c]
cmp eax, dword [ebp - 0xe34]
jbe 0x100285a7
mov dword [ebp - 0x54c], 1
jmp 0x100285b1
mov dword [ebp - 0x54c], 0
mov ecx, dword [ebp - 0x548]
cmp ecx, dword [ebp - 0x54c]
jg 0x10028698
movsx eax, word [0x1009b180]
cdq
add eax, dword [0x1009b160]
adc edx, dword [0x1009b164]
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
movsx edx, byte [0x1009b0ba]
movsx eax, byte [0x1009b0bb]
xor edx, eax
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x4c], edx
movsx eax, byte [ebp - 1]
sub eax, 0x37e9bbc1
cdq
mov dword [0x1009b130], eax
mov dword [0x1009b134], edx
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0xe3c], ecx
mov dword [ebp - 0xe38], edx
mov eax, dword [ebp - 0xe3c]
or eax, dword [ebp - 0xe38]
jne 0x10028641
xor ecx, ecx
mov dword [ebp - 0xe44], 1
mov dword [ebp - 0xe40], ecx
jmp 0x1002864c
xorps xmm0, xmm0
movlpd qword [ebp - 0xe44], xmm0
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
not edx
not eax
push 0xee974
push 0xd63084aa
push eax
push edx
call fcn.1006c090
movzx ecx, byte [ebp - 7]
not ecx
add ecx, dword [0x1009b1a0]
sub eax, ecx
add eax, dword [ebp - 0xe44]
mov byte [0x1009b07f], al
mov eax, dword [ebp - 0x4c]
cdq
sub eax, 0xa4679489
mov dword [0x1009b1b0], eax
jmp 0x1002874f
movzx edx, byte [0x1009b07f]
sub edx, 0x9487
mov dword [ebp - 0x28], edx
mov eax, dword [0x1009b190]
imul eax, dword [0x1009b1a0]
mov dword [0x1009b190], eax
mov cx, word [ebp - 0x20]
sub cx, 1
mov word [ebp - 0x20], cx
movsx edx, byte [0x1009b0bb]
movzx eax, byte [0x1009b033]
add edx, eax
movsx ecx, byte [0x1009b0bb]
imul ecx, edx
mov byte [0x1009b0bb], cl
movsx edx, word [ebp - 0x18]
movsx eax, word [ebp - 0x1c]
sub edx, eax
jne 0x100286fd
mov dword [ebp - 0x550], 1
jmp 0x10028707
mov dword [ebp - 0x550], 0
movsx ecx, word [ebp - 0x1c]
not ecx
movzx edx, word [0x1009b158]
sub ecx, edx
imul ecx, dword [ebp - 0x550]
mov word [ebp - 0x20], cx
movsx eax, word [ebp - 0xc]
movzx ecx, byte [0x1009b07e]
sub eax, ecx
mov edx, dword [0x1009b18c]
sub edx, eax
mov eax, dword [0x1009b18c]
not eax
movzx ecx, word [ebp - 0x20]
add eax, ecx
xor eax, dword [0x1009b160]
sub edx, eax
mov word [ebp - 0xc], dx
movsx edx, byte [0x1009b0a7]
cmp edx, 1
jne 0x1002891f
mov eax, dword [0x1009b18c]
mov dword [ebp - 0x4c], eax
movzx ecx, word [ebp - 0x20]
sub ecx, 0x2b13
mov byte [0x1009b0a6], cl
movzx edx, word [ebp - 0x20]
test edx, edx
jne 0x10028793
xor eax, eax
mov dword [ebp - 0xe4c], 1
mov dword [ebp - 0xe48], eax
jmp 0x1002879e
xorps xmm0, xmm0
movlpd qword [ebp - 0xe4c], xmm0
mov ecx, dword [0x1009b168]
mov edx, dword [0x1009b16c]
mov dword [ebp - 0x13d4], edx
sub ecx, dword [ebp - 0xe4c]
not ecx
mov byte [0x1009b07e], cl
mov eax, dword [ebp - 0x40]
sub eax, 0x4d87
cdq
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
movsx eax, byte [0x1009b0a7]
cdq
add eax, dword [0x1009b178]
adc edx, dword [0x1009b17c]
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
movsx eax, byte [ebp - 3]
not eax
mov ecx, 0x1e81
sub ecx, dword [ebp - 0x40]
movzx edx, word [0x1009b158]
add edx, dword [ebp - 0x40]
imul ecx, edx
not ecx
xor eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x1002891f
xor eax, eax
mov dword [0x1009b198], 0xd
mov dword [0x1009b19c], eax
mov ecx, dword [0x1009b160]
add ecx, 0xfe677128
mov edx, dword [0x1009b164]
adc edx, 0
mov dword [0x1009b150], ecx
mov dword [0x1009b154], edx
mov eax, dword [ebp - 0x4c]
cdq
sub eax, 0x2237a6a0
mov word [ebp - 0x24], ax
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov edx, 8
imul edx, edx, 0x37
mov dword [edx + 0x102f2190], eax
mov dword [edx + 0x102f2194], ecx
mov eax, dword [0x1009b1a8]
mov ecx, dword [0x1009b1ac]
mov dword [ebp - 0xe64], eax
mov dword [ebp - 0xe60], ecx
mov edx, dword [ebp - 0xe64]
or edx, dword [ebp - 0xe60]
jne 0x100289a8
mov dword [ebp - 0x55c], 1
jmp 0x100289b2
mov dword [ebp - 0x55c], 0
mov eax, dword [0x1009b188]
xor eax, dword [ebp - 0x55c]
movsx ecx, word [ebp - 0x14]
movsx edx, word [0x1009b180]
not edx
imul ecx, edx
xor eax, ecx
jne 0x100289dd
mov dword [ebp - 0x560], 1
jmp 0x100289e7
mov dword [ebp - 0x560], 0
mov eax, dword [ebp - 0x560]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0xa4]
push ecx
call fcn.1000eca0
mov byte [0x1009b0a6], 0xd
movsx edx, byte [0x1009b0a7]
cmp dword [ebp - 0x40], edx
jg 0x10028a1b
mov dword [ebp - 0x564], 1
jmp 0x10028a25
mov dword [ebp - 0x564], 0
cmp dword [ebp - 0x40], 2
jg 0x10028a37
mov dword [ebp - 0x568], 1
jmp 0x10028a41
mov dword [ebp - 0x568], 0
mov eax, dword [ebp - 0x564]
cmp eax, dword [ebp - 0x568]
jl 0x10028a72
movsx ecx, word [ebp - 0x18]
mov edx, dword [0x1009b190]
not edx
add ecx, edx
mov dword [ebp - 0x38], ecx
movsx eax, byte [ebp - 1]
add eax, dword [0x1009b148]
mov byte [ebp - 1], al
jmp 0x10028afe
mov ecx, dword [0x1009b190]
xor edx, edx
mov eax, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
mov dword [ebp - 0xe6c], ecx
mov dword [ebp - 0xe68], edx
mov dword [ebp - 0xe74], eax
mov dword [ebp - 0xe70], esi
mov ecx, dword [ebp - 0xe68]
cmp ecx, dword [ebp - 0xe70]
jl 0x10028ac5
jg 0x10028ab6
mov edx, dword [ebp - 0xe6c]
cmp edx, dword [ebp - 0xe74]
jb 0x10028ac5
movsx eax, byte [ebp - 6]
movzx ecx, byte [0x1009b07f]
cmp eax, ecx
jl 0x10028afe
mov edx, dword [ebp - 0x28]
mov dword [0x1009b1a0], edx
movzx eax, byte [0x1009b07f]
movzx ecx, word [ebp - 0x10]
add eax, ecx
movzx edx, byte [0x1009b07f]
add edx, eax
mov byte [0x1009b07f], dl
mov al, byte [0x1009b0ef]
mov byte [ebp - 1], al
mov ecx, dword [0x1009bc7c]
mov dword [0x1009b188], ecx
movzx edx, byte [0x1009b0a6]
mov eax, dword [ebp - 0x2c]
add eax, 0xd
cmp edx, eax
jne 0x10028c9b
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
movsx eax, byte [ebp - 6]
add eax, 0x4878
cdq
mov dword [ebp - 0xe7c], ecx
mov dword [ebp - 0xe78], esi
mov dword [ebp - 0xe84], eax
mov dword [ebp - 0xe80], edx
mov edx, dword [ebp - 0xe7c]
cmp edx, dword [ebp - 0xe84]
jne 0x10028c9b
mov eax, dword [ebp - 0xe78]
cmp eax, dword [ebp - 0xe80]
jne 0x10028c9b
movzx ecx, byte [ebp - 2]
movsx edx, byte [0x1009b0bb]
add ecx, edx
jne 0x10028b80
mov dword [ebp - 0x56c], 1
jmp 0x10028b8a
mov dword [ebp - 0x56c], 0
movsx eax, word [ebp - 0x1c]
test eax, eax
jne 0x10028b9e
mov dword [ebp - 0x570], 1
jmp 0x10028ba8
mov dword [ebp - 0x570], 0
movsx ecx, word [ebp - 0x18]
mov edx, dword [ebp - 0x38]
add ecx, dword [ebp - 0x56c]
add edx, ecx
movsx eax, word [ebp - 0x1c]
movsx ecx, byte [ebp - 3]
add ecx, dword [ebp - 0x570]
sub eax, ecx
sub edx, eax
mov byte [0x1009b0bb], dl
mov byte [0x1009b0bb], 0xb1
mov edx, dword [0x1009b18c]
sub edx, 0x5126
xor eax, eax
mov dword [0x1009b160], edx
mov dword [0x1009b164], eax
movzx ecx, word [ebp - 0x20]
test ecx, ecx
jne 0x10028c0b
xor edx, edx
mov dword [ebp - 0xe8c], 1
mov dword [ebp - 0xe88], edx
jmp 0x10028c16
xorps xmm0, xmm0
movlpd qword [ebp - 0xe8c], xmm0
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x13d8], ecx
add eax, dword [ebp - 0xe8c]
mov dword [0x1009b14c], eax
jmp 0x10028c9b
mov byte [0x1009b0a6], 0xd
mov ecx, dword [0x1009b1b0]
sub ecx, 0xb2ca
mov byte [ebp - 3], cl
movsx edx, byte [0x1009b0ba]
imul edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
sub eax, edx
mov dword [ebp - 0x2c], eax
movsx eax, byte [ebp - 4]
cdq
push 0x86a32
push 0x9eeb062
push edx
push eax
call fcn.1006c090
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movzx ecx, byte [0x1009b0ef]
add ecx, 0x9cc1
mov word [ebp - 0x24], cx
mov dword [ebp - 0x28], 0xdb9c129e
movzx edx, word [ebp - 0x24]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
xor ecx, ecx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x80], 0
jmp 0x10029b76
movzx eax, word [ebp - 0x20]
cdq
mov dword [ebp - 0xe94], eax
mov dword [ebp - 0xe90], edx
mov edx, dword [0x1009b13c]
cmp edx, dword [ebp - 0xe90]
jb 0x10028e60
ja 0x10028d4d
mov eax, dword [0x1009b138]
cmp eax, dword [ebp - 0xe94]
jb 0x10028e60
movzx ecx, byte [ebp - 2]
test ecx, ecx
je 0x10028d5a
jmp 0x10028e5b
movsx edx, word [ebp - 0x1c]
test edx, edx
jne 0x10028e5b
movzx eax, word [0x1009b184]
sub eax, 0xc4b876a
mov byte [ebp - 2], al
mov ecx, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
push esi
push eax
push edx
push ecx
call fcn.1006c090
mov ecx, dword [ebp - 0x28]
add ecx, eax
mov dword [ebp - 0x28], ecx
movsx edx, byte [ebp - 6]
sar edx, 4
mov byte [ebp - 7], dl
push 0
push 0xc8f144cd
mov eax, dword [0x1009b17c]
push eax
mov ecx, dword [0x1009b178]
push ecx
call fcn.1006c090
mov word [ebp - 0xc], ax
cmp dword [ebp - 0x40], 0
jne 0x10028dcf
mov dword [ebp - 0x574], 1
jmp 0x10028dd9
mov dword [ebp - 0x574], 0
cmp dword [0x1009b18c], 0
jne 0x10028dee
mov dword [ebp - 0x578], 1
jmp 0x10028df8
mov dword [ebp - 0x578], 0
mov edx, dword [ebp - 0x574]
sub edx, dword [ebp - 0x578]
not edx
add edx, dword [0x1009b148]
mov word [0x1009b158], dx
movsx eax, word [0x1009b180]
test eax, eax
jne 0x10028e32
xor ecx, ecx
mov dword [ebp - 0xe9c], 1
mov dword [ebp - 0xe98], ecx
jmp 0x10028e3d
xorps xmm0, xmm0
movlpd qword [ebp - 0xe9c], xmm0
movzx eax, word [0x1009b158]
cdq
mov edx, dword [ebp - 0xe9c]
add edx, dword [0x1009b160]
not edx
xor eax, edx
not eax
mov word [ebp - 0x18], ax
jmp 0x10028fa1
movsx eax, byte [ebp - 5]
test eax, eax
je 0x10028fa1
movsx ecx, byte [ebp - 3]
test ecx, ecx
je 0x10028fa1
cmp dword [0x1009b18c], 0
jne 0x10028e8d
mov dword [ebp - 0x57c], 1
jmp 0x10028e97
mov dword [ebp - 0x57c], 0
mov eax, dword [ebp - 0x57c]
add eax, dword [ebp - 0x4c]
movzx edx, word [ebp - 0x20]
movsx ecx, byte [ebp - 3]
add edx, ecx
or eax, edx
cdq
mov ecx, eax
mov esi, edx
movsx eax, byte [ebp - 4]
movsx edx, word [ebp - 0x14]
and eax, edx
cdq
mov edi, eax
mov ebx, edx
movsx eax, byte [0x1009b0a7]
cdq
add eax, 0xc3d2cc22
adc edx, 0x36b4b
sub edi, eax
sbb ebx, edx
not edi
not ebx
sub ecx, edi
sbb esi, ebx
mov dword [0x1009b1a8], ecx
mov dword [0x1009b1ac], esi
movsx eax, byte [ebp - 3]
cdq
mov ecx, dword [0x1009b178]
sub ecx, eax
mov esi, dword [0x1009b17c]
sbb esi, edx
movsx eax, word [ebp - 0x1c]
cdq
mov edi, dword [0x1009b150]
mov ebx, dword [0x1009b154]
add edi, eax
adc ebx, edx
add ecx, edi
adc esi, ebx
mov dword [ebp - 0xea4], ecx
mov dword [ebp - 0xea0], esi
mov edx, dword [ebp - 0xea4]
or edx, dword [ebp - 0xea0]
jne 0x10028f3f
mov dword [ebp - 0x580], 1
jmp 0x10028f49
mov dword [ebp - 0x580], 0
movsx eax, word [ebp - 0x1c]
not eax
mov ecx, 0xa964
sub ecx, eax
movsx edx, byte [0x1009b0bb]
or edx, dword [ebp - 0x4c]
sub ecx, edx
add ecx, dword [ebp - 0x580]
mov dword [0x1009b170], ecx
mov eax, 4
imul ecx, eax, 0x1cce
mov edx, dword [ecx + 0x102fea60]
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x38]
imul eax, dword [0x1009b18c]
mov ecx, dword [0x1009b18c]
sub ecx, eax
mov dword [0x1009b18c], ecx
mov byte [0x1009b07e], 0x60
mov edx, dword [ebp - 0x28]
shl edx, 1
mov word [0x1009b158], dx
movzx eax, word [ebp - 0x10]
movsx ecx, byte [0x1009b0ba]
sub eax, ecx
mov word [ebp - 0x10], ax
mov edx, 2
imul eax, edx, 3
movsx ecx, word [eax + 0x10223758]
movsx edx, word [ebp - 0x14]
and edx, ecx
mov word [ebp - 0x14], dx
movzx eax, byte [0x1009b033]
add eax, dword [0x1009b170]
movsx ecx, word [ebp - 0x18]
movzx edx, byte [0x1009b07e]
imul ecx, edx
add eax, ecx
mov esi, eax
xor edi, edi
xor eax, eax
mov ebx, dword [0x1009b150]
mov ecx, dword [0x1009b154]
sub ebx, dword [ebp - 0x3c]
sbb ecx, eax
movzx eax, byte [0x1009b07f]
cdq
mov dword [ebp - 0x9ec], edi
mov edi, dword [ebp - 0x54]
mov dword [ebp - 0x9e8], esi
mov esi, dword [ebp - 0x50]
push edx
push eax
push esi
push edi
mov dword [ebp - 0x9e4], ecx
call fcn.1006c090
add ebx, eax
mov esi, dword [ebp - 0x9e4]
adc esi, edx
mov edi, dword [ebp - 0x9e8]
sub edi, ebx
mov ebx, dword [ebp - 0x9ec]
sbb ebx, esi
not edi
not ebx
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x30], ebx
mov ecx, 0xff
mov word [0x1009b158], cx
mov edx, dword [0x1009bc7c]
mov dword [ebp - 0x164], edx
mov dword [ebp - 0x15c], 0
jmp 0x1002908b
mov eax, dword [ebp - 0x15c]
add eax, 2
mov dword [ebp - 0x15c], eax
cmp dword [ebp - 0x15c], 0x1e5
jge 0x10029154
movsx eax, byte [ebp - 1]
cdq
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], esi
movzx edx, byte [ebp - 7]
movzx eax, word [0x1009b158]
imul edx, eax
mov byte [ebp - 7], dl
movzx eax, word [0x1009b184]
cdq
sub eax, 0x1e820d28
mov byte [0x1009b033], al
movzx ecx, word [ebp - 0x10]
test ecx, ecx
je 0x100290fc
mov eax, dword [ebp - 0x38]
cdq
mov dword [ebp - 0x888], eax
mov dword [ebp - 0x884], edx
jmp 0x10029113
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
mov dword [ebp - 0x888], edx
mov dword [ebp - 0x884], eax
mov ecx, dword [ebp - 0x888]
mov dword [0x1009b14c], ecx
mov edx, 4
imul eax, edx, 0x6b02
mov cl, byte [eax + 0x1018a070]
mov byte [0x1009b0a7], cl
xor edx, edx
mov dword [ebp - 0x54], 0x28
mov dword [ebp - 0x50], edx
mov eax, dword [0x1009b14c]
add eax, 1
mov dword [0x1009b14c], eax
jmp 0x1002907c
mov ecx, dword [ebp - 0x164]
add ecx, 0x7b
mov dword [ebp - 0x13e0], ecx
movzx edx, word [0x1009b158]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov word [ebp - 0x10], ax
mov eax, dword [ebp - 0x164]
add eax, 0x32e
mov dword [ebp - 0x13e4], eax
mov dword [ebp - 0x160], 0
jmp 0x100291a1
mov ecx, dword [ebp - 0x160]
add ecx, 2
mov dword [ebp - 0x160], ecx
cmp dword [ebp - 0x160], 0x369
jge 0x10029231
mov edx, dword [ebp - 0x2c]
cmp edx, dword [0x1009b1a0]
je 0x100291c8
mov dword [ebp - 0x584], 1
jmp 0x100291d2
mov dword [ebp - 0x584], 0
cmp dword [ebp - 0x2c], 0x1d
je 0x100291e4
mov dword [ebp - 0x588], 1
jmp 0x100291ee
mov dword [ebp - 0x588], 0
mov eax, dword [ebp - 0x584]
cmp eax, dword [ebp - 0x588]
jge 0x10029223
movzx ecx, byte [0x1009b033]
and ecx, dword [ebp - 0x28]
add ecx, dword [ebp - 0x28]
mov dword [ebp - 0x28], ecx
mov byte [0x1009b0ee], 0x20
movsx edx, byte [ebp - 1]
imul eax, edx, 0xa848d0dd
mov word [0x1009b180], ax
mov cl, byte [ebp - 2]
add cl, 1
mov byte [ebp - 2], cl
jmp 0x10029192
mov edx, dword [ebp - 0x164]
add edx, 0x18a
mov dword [ebp - 0x9f0], edx
mov byte [0x1009b07e], 0xd
mov eax, dword [0x1009b140]
cdq
mov dword [ebp - 0xeac], eax
mov dword [ebp - 0xea8], edx
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0xea8]
ja 0x100293db
jb 0x1002927c
mov ecx, dword [ebp - 0x48]
cmp ecx, dword [ebp - 0xeac]
jae 0x100293db
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
mov ecx, dword [0x1009b16c]
add edx, dword [0x1009b168]
adc eax, ecx
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
sub ecx, edx
sbb esi, eax
mov dword [0x1009b1a8], ecx
mov dword [0x1009b1ac], esi
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
mov edx, dword [0x1009b134]
add ecx, dword [0x1009b130]
adc esi, edx
mov eax, dword [0x1009b188]
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0xeb4], ecx
mov dword [ebp - 0xeb0], esi
mov eax, dword [ebp - 0xeb4]
or eax, dword [ebp - 0xeb0]
jne 0x10029303
xor ecx, ecx
mov dword [ebp - 0x898], 1
mov dword [ebp - 0x894], ecx
jmp 0x1002930e
xorps xmm0, xmm0
movlpd qword [ebp - 0x898], xmm0
movsx edx, byte [ebp - 5]
test edx, edx
jne 0x1002932a
xor eax, eax
mov dword [ebp - 0x890], 1
mov dword [ebp - 0x88c], eax
jmp 0x10029335
xorps xmm0, xmm0
movlpd qword [ebp - 0x890], xmm0
mov ecx, dword [0x1009b144]
xor edx, edx
sub ecx, 0x337a636d
sbb edx, 0x6b9c9
mov eax, dword [ebp - 0x890]
sub eax, ecx
mov ecx, dword [ebp - 0x88c]
sbb ecx, edx
push ecx
push eax
mov edx, dword [ebp - 0x894]
push edx
mov eax, dword [ebp - 0x898]
push eax
call fcn.1006c090
mov dword [ebp - 0xebc], eax
mov dword [ebp - 0xeb8], edx
mov ecx, dword [ebp - 0xebc]
or ecx, dword [ebp - 0xeb8]
jne 0x1002938e
mov byte [ebp - 0x59], 1
jmp 0x10029392
mov byte [ebp - 0x59], 0
mov dl, byte [ebp - 0x59]
mov byte [ebp - 3], dl
xor eax, eax
mov dword [ebp - 0x34], 0x99830c5c
mov dword [ebp - 0x30], eax
imul ecx, dword [0x1009b18c], 0x45
add ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
add edx, 0xad1455eb
adc eax, 0
mov dword [0x1009b178], edx
mov dword [0x1009b17c], eax
movzx eax, word [ebp - 0x24]
cdq
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
movsx ecx, word [ebp - 0xc]
sub ecx, 0x432481ff
cmp dword [0x1009b144], ecx
jne 0x10029481
movzx edx, byte [0x1009b0a6]
movsx eax, word [ebp - 0xc]
add edx, eax
cmp edx, 1
jne 0x10029481
mov cl, byte [ebp - 6]
mov byte [0x1009b0ba], cl
movzx edx, byte [0x1009b0a6]
add edx, 0xd0
movsx eax, byte [0x1009b0bb]
imul eax, edx
mov byte [0x1009b0bb], al
mov ecx, dword [0x1009b170]
add ecx, 0x59bc
mov dword [ebp - 0x38], ecx
jmp 0x10029243
call dword [sym.imp.USER32.dll_GetMessagePos]
mov byte [ebp - 7], al
movzx eax, byte [0x1009b033]
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0xec4], eax
mov dword [ebp - 0xec0], edx
mov dword [ebp - 0xecc], ecx
mov dword [ebp - 0xec8], esi
mov edx, dword [ebp - 0xec4]
cmp edx, dword [ebp - 0xecc]
jne 0x100294d8
mov eax, dword [ebp - 0xec0]
cmp eax, dword [ebp - 0xec8]
jne 0x100294d8
mov dword [ebp - 0x58c], 1
jmp 0x100294e2
mov dword [ebp - 0x58c], 0
mov ecx, dword [ebp - 0x58c]
not ecx
movzx edx, byte [ebp - 2]
cmp ecx, edx
jge 0x1002968e
mov eax, dword [0x1009b160]
or eax, dword [0x1009b164]
je 0x10029602
mov ecx, dword [0x1009b170]
shr ecx, 1
mov word [ebp - 0xc], cx
movsx edx, byte [ebp - 3]
imul eax, edx, 0x3965
mov dword [0x1009b188], eax
mov cl, byte [ebp - 4]
add cl, 1
mov byte [ebp - 4], cl
movzx edx, byte [0x1009b01f]
test edx, edx
jne 0x1002954a
xor eax, eax
mov dword [ebp - 0x8a0], 1
mov dword [ebp - 0x89c], eax
jmp 0x10029555
xorps xmm0, xmm0
movlpd qword [ebp - 0x8a0], xmm0
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
add ecx, dword [0x1009b160]
adc edx, dword [0x1009b164]
mov dword [ebp - 0xed4], ecx
mov dword [ebp - 0xed0], edx
mov eax, dword [ebp - 0xed4]
or eax, dword [ebp - 0xed0]
jne 0x1002959b
xor ecx, ecx
mov dword [ebp - 0x8a8], 1
mov dword [ebp - 0x8a4], ecx
jmp 0x100295a6
xorps xmm0, xmm0
movlpd qword [ebp - 0x8a8], xmm0
mov edx, dword [0x1009b178]
not edx
mov eax, dword [0x1009b17c]
not eax
add edx, dword [ebp - 0x8a0]
adc eax, dword [ebp - 0x89c]
not edx
not eax
sub edx, dword [ebp - 0x8a8]
sbb eax, dword [ebp - 0x8a4]
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], eax
mov ecx, dword [0x1009b168]
mov edx, dword [0x1009b16c]
mov dword [ebp - 0x13e8], edx
xor ecx, 0xba45
mov dword [0x1009b144], ecx
mov eax, dword [0x1009bc7c]
mov dword [ebp - 0x4c], eax
jmp 0x1002968e
mov ecx, dword [0x1009bc7c]
mov dword [0x1009b14c], ecx
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
mov dword [ebp - 0x13ec], eax
add edx, 0x142d8d5f
mov dword [0x1009b148], edx
movsx eax, byte [0x1009b0a7]
cdq
add eax, 0xb0126fbb
adc edx, 0x7fc4d
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
sub ecx, eax
sbb esi, edx
mov dword [0x1009b168], ecx
mov dword [0x1009b16c], esi
movzx edx, word [0x1009b158]
mov eax, dword [0x1009b1b0]
add eax, edx
xor ecx, ecx
and eax, dword [0x1009b168]
and ecx, dword [0x1009b16c]
mov dword [0x1009b138], eax
mov dword [0x1009b13c], ecx
movzx edx, word [ebp - 0x24]
sub edx, 0x140b72f1
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x9f0]
sub eax, 0x39a
cmp eax, 0x2d8
je 0x10029b76
mov ecx, dword [0x1009b148]
cmp ecx, dword [ebp - 0x2c]
jbe 0x10029737
movsx edx, byte [0x1009b0a7]
add edx, dword [ebp - 0x3c]
xor eax, eax
mov dword [0x1009b168], edx
mov dword [0x1009b16c], eax
cmp dword [ebp - 0x4c], 0
je 0x100296dc
movsx ecx, byte [ebp - 6]
mov dword [ebp - 0x590], ecx
jmp 0x100296e6
movzx edx, word [ebp - 0x10]
mov dword [ebp - 0x590], edx
mov eax, dword [ebp - 0x590]
mov dword [ebp - 0x40], eax
movzx eax, word [0x1009b158]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x13f0], eax
sub ecx, edx
movzx eax, word [0x1009b158]
cdq
sub eax, ecx
mov word [0x1009b158], ax
mov dword [0x1009b140], 0x4626
movsx ecx, word [ebp - 0xc]
add ecx, 0x26
movzx edx, word [ebp - 0x10]
sub edx, ecx
mov word [ebp - 0x10], dx
jmp 0x100298a1
cmp dword [0x1009b188], 0
je 0x100298a1
movsx eax, word [ebp - 0x14]
test eax, eax
je 0x10029766
mov ecx, dword [0x1009b138]
mov edx, dword [0x1009b13c]
mov dword [ebp - 0x8b0], ecx
mov dword [ebp - 0x8ac], edx
jmp 0x10029779
mov eax, dword [0x1009b170]
xor ecx, ecx
mov dword [ebp - 0x8b0], eax
mov dword [ebp - 0x8ac], ecx
mov dl, byte [ebp - 0x8b0]
mov byte [ebp - 6], dl
mov eax, dword [0x1009b168]
mov ecx, dword [0x1009b16c]
mov dword [ebp - 0xedc], eax
mov dword [ebp - 0xed8], ecx
mov edx, dword [ebp - 0xedc]
or edx, dword [ebp - 0xed8]
jne 0x100297b3
mov dword [ebp - 0x594], 1
jmp 0x100297bd
mov dword [ebp - 0x594], 0
movzx eax, word [ebp - 0x20]
movzx ecx, byte [ebp - 2]
xor eax, ecx
movsx edx, word [ebp - 0xc]
add eax, edx
not eax
movsx ecx, byte [0x1009b0ba]
not ecx
xor ecx, dword [ebp - 0x594]
movzx edx, byte [0x1009b07f]
mov esi, dword [0x1009b144]
xor esi, edx
sub ecx, esi
not ecx
add eax, ecx
mov byte [ebp - 5], al
movsx eax, byte [ebp - 1]
imul ecx, eax, 0xd7
movsx edx, byte [0x1009b0ba]
imul edx, ecx
mov byte [0x1009b0ba], dl
mov eax, 1
imul ecx, eax, 0x24e1
movsx ecx, byte [ecx + 0x102088e8]
mov edx, dword [0x1009b148]
shr edx, cl
mov dword [0x1009b148], edx
movsx eax, byte [ebp - 1]
test eax, eax
jne 0x10029844
mov dword [ebp - 0x598], 1
jmp 0x1002984e
mov dword [ebp - 0x598], 0
mov ecx, dword [0x1009b148]
add ecx, dword [ebp - 0x4c]
jne 0x10029865
mov dword [ebp - 0x59c], 1
jmp 0x1002986f
mov dword [ebp - 0x59c], 0
movzx edx, byte [0x1009b0a6]
movzx eax, byte [0x1009b0a6]
imul edx, eax
xor edx, dword [ebp - 0x598]
movzx ecx, word [0x1009b184]
movzx eax, word [ebp - 0x24]
imul ecx, eax
imul ecx, dword [ebp - 0x59c]
add edx, ecx
mov word [ebp - 0x1c], dx
mov byte [0x1009b0bb], 0x7b
movsx ecx, word [ebp - 0xc]
cmp ecx, 0x1a09f2d6
jge 0x10029918
movzx edx, word [ebp - 0x20]
test edx, edx
je 0x10029918
mov eax, dword [str._s:Envelope_xmlns:]
mov dword [ebp - 0x11b8], eax
mov ecx, dword [0x1007e6ec]
mov dword [ebp - 0x11b4], ecx
mov edx, dword [0x1007e6f0]
mov dword [ebp - 0x11b0], edx
mov eax, dword [0x1007e6f4]
mov dword [ebp - 0x11ac], eax
mov cx, word [0x1007e6f8]
mov word [ebp - 0x11a8], cx
mov dl, byte [0x1007e6fa]
mov byte [ebp - 0x11a6], dl
lea eax, [ebp - 0x11b8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [0x1009b0ee], al
jmp 0x10029983
movsx ecx, byte [ebp - 3]
mov dword [ebp - 0x3c], ecx
movsx edx, byte [ebp - 3]
sub edx, dword [0x1009b190]
mov eax, dword [ebp - 0x2c]
not eax
add edx, eax
movzx ecx, byte [0x1009b07e]
mov eax, dword [0x1009b190]
add eax, ecx
mov ecx, dword [0x1009b140]
add ecx, eax
not ecx
imul edx, ecx
mov word [ebp - 0x10], dx
mov dx, word [0x1009b160]
mov word [0x1009b184], dx
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
push ecx
push eax
mov edx, dword [0x1009b13c]
push edx
mov eax, dword [0x1009b138]
push eax
call fcn.1006c090
and eax, 0x65
and edx, 0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movsx ecx, byte [0x1009b0bb]
mov edx, dword [ebp - 0x38]
add edx, 0xdf7b
cmp ecx, edx
jne 0x10029a1d
movsx eax, byte [0x1009b0ba]
mov ecx, dword [ebp - 0x2c]
add ecx, 0xce
cmp eax, ecx
jne 0x10029a1d
movsx edx, word [ebp - 0xc]
movsx eax, byte [ebp - 6]
add edx, eax
mov word [ebp - 0xc], dx
movzx ecx, byte [0x1009b0ef]
mov dword [ebp - 0x4c], ecx
mov edx, dword [0x1009b190]
xor eax, eax
sub edx, dword [0x1009b178]
sbb eax, dword [0x1009b17c]
mov ecx, dword [0x1009b190]
xor esi, esi
push eax
push edx
push esi
push ecx
call fcn.1006c090
mov dword [0x1009b190], eax
movzx edx, word [ebp - 0x20]
sub edx, 0xc
mov word [ebp - 0x20], dx
mov ax, word [0x1009bc7c]
mov word [0x1009b184], ax
jmp 0x10029a1d
mov byte [0x1009b0bb], 0x7b
movzx eax, byte [ebp - 2]
add eax, 0xc147
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
movsx edx, byte [ebp - 3]
not edx
movsx eax, word [0x1009b180]
add edx, eax
mov dword [ebp - 0x40], edx
movzx eax, byte [0x1009b033]
cdq
add eax, dword [0x1009b138]
adc edx, dword [0x1009b13c]
mov dword [0x1009b130], eax
mov dword [0x1009b134], edx
mov ecx, dword [0x1009b170]
add ecx, 0xc326
mov byte [ebp - 6], cl
call dword [0x1034d0e0]
mov edx, dword [ebp - 0xa4]
push edx
call fcn.1000eca0
movzx eax, byte [0x1009b07e]
cdq
mov ecx, eax
sub ecx, dword [0x1009b138]
movzx eax, byte [0x1009b07e]
cdq
xor eax, ecx
mov byte [0x1009b07e], al
movzx eax, word [ebp - 0x24]
cdq
mov ecx, eax
xor ecx, dword [0x1009b178]
movzx eax, byte [ebp - 7]
cdq
mov edx, dword [0x1009b138]
sub edx, eax
add ecx, edx
not ecx
mov dword [0x1009b14c], ecx
movzx eax, word [ebp - 0x20]
test eax, eax
je 0x10029ae5
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x8b8], ecx
mov dword [ebp - 0x8b4], edx
jmp 0x10029af9
movzx eax, word [0x1009b158]
cdq
mov dword [ebp - 0x8b8], eax
mov dword [ebp - 0x8b4], edx
mov eax, dword [ebp - 0x8b8]
mov dword [ebp - 0x3c], eax
movsx ecx, word [ebp - 0x14]
test ecx, ecx
jne 0x10029b16
mov dword [ebp - 0x5a0], 1
jmp 0x10029b20
mov dword [ebp - 0x5a0], 0
mov ecx, dword [0x1009b1b0]
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
mov dword [ebp - 0x13f4], eax
or ecx, edx
movsx edx, word [ebp - 0xc]
mov eax, dword [ebp - 0x5a0]
sub eax, edx
cdq
sub ecx, eax
mov eax, dword [ebp - 0x40]
cdq
add ecx, eax
mov byte [ebp - 4], cl
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
push 0xd0c58
push 0xff4b78bd
push ecx
push eax
call fcn.1006c090
mov byte [0x1009b07e], al
mov eax, 1
jmp 0x1003017b
movzx edx, byte [0x1009b07f]
push edx
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp - 0x9f4]
add eax, dword [ebp - 0x9f8]
mov ecx, dword [ebp - 0x9fc]
add ecx, 0x170
sub eax, ecx
cmp eax, 0x1e1
je 0x1003017b
movsx edx, byte [ebp - 6]
sub edx, 0xc88e
mov byte [0x1009b0ee], dl
movzx eax, word [ebp - 0x24]
cdq
sub eax, 0x4c519ab9
mov byte [0x1009b0bb], al
movzx eax, word [ebp - 0x10]
sar eax, 5
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov al, byte [0x1009b07e]
mov byte [ebp - 5], al
mov dword [0x1009b144], 0xf9686bb
movsx ecx, byte [ebp - 6]
add ecx, 1
cmp dword [0x1009b144], ecx
jne 0x1002a150
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0xee4], edx
mov dword [ebp - 0xee0], eax
mov ecx, dword [ebp - 0xee4]
or ecx, dword [ebp - 0xee0]
je 0x10029d45
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
movsx eax, word [ebp - 0x1c]
cdq
mov dword [ebp - 0xeec], ecx
mov dword [ebp - 0xee8], esi
mov dword [ebp - 0xef4], eax
mov dword [ebp - 0xef0], edx
mov edx, dword [ebp - 0xeec]
cmp edx, dword [ebp - 0xef4]
jne 0x10029c77
mov eax, dword [ebp - 0xee8]
cmp eax, dword [ebp - 0xef0]
jne 0x10029c77
push 0x1007e6fc
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x2c], eax
jmp 0x10029d45
mov ecx, dword [0x1009b144]
not ecx
test ecx, ecx
je 0x10029d45
mov dx, word [0x1009bc7c]
mov word [ebp - 0x10], dx
mov eax, dword [ebp - 0x3c]
and eax, 0x49050058
mov word [ebp - 0x1c], ax
movsx ecx, byte [0x1009b0ba]
sar ecx, 8
mov word [ebp - 0x24], cx
movzx eax, word [ebp - 0x24]
cdq
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
mov dword [ebp - 0xefc], edx
mov dword [ebp - 0xef8], eax
mov ecx, dword [ebp - 0xefc]
or ecx, dword [ebp - 0xef8]
jne 0x10029ced
mov dword [ebp - 0x5a4], 1
jmp 0x10029cf7
mov dword [ebp - 0x5a4], 0
mov edx, dword [0x1009b140]
add edx, dword [ebp - 0x5a4]
movzx eax, byte [ebp - 2]
movsx ecx, byte [0x1009b0bb]
imul eax, ecx
add edx, eax
movzx eax, byte [0x1009b07f]
not eax
movsx ecx, word [ebp - 0x14]
not ecx
imul eax, ecx
mov ecx, dword [0x1009b188]
sub ecx, eax
not ecx
sub edx, ecx
mov word [ebp - 0x1c], dx
movzx edx, byte [0x1009b01f]
sub edx, 0x16
mov byte [0x1009b07e], dl
mov eax, 3
mov word [0x1009b180], ax
xor ecx, ecx
mov dword [ebp - 0x34], 0x217d39c4
mov dword [ebp - 0x30], ecx
mov edx, dword [0x1009b170]
sub edx, 0x9196
mov eax, dword [0x1009b14c]
imul eax, edx
mov ecx, eax
xor esi, esi
movsx edx, byte [0x1009b0bb]
sub edx, dword [0x1009b1a0]
mov edi, edx
xor ebx, ebx
movsx eax, word [ebp - 0xc]
cdq
add eax, dword [0x1009b160]
adc edx, dword [0x1009b164]
xor edi, eax
xor ebx, edx
sub ecx, edi
sbb esi, ebx
not ecx
not esi
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], esi
cmp dword [0x1009b14c], 0
jne 0x10029dbd
mov dword [ebp - 0x5a8], 1
jmp 0x10029dc7
mov dword [ebp - 0x5a8], 0
mov eax, dword [ebp - 0x4c]
not eax
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [0x1009b0a6]
cdq
sub eax, 0x9bdd18d0
sbb edx, 0x8ab45
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp - 0x3c]
imul edx, dword [ebp - 0x2c]
not edx
sub edx, dword [ebp - 0x5a8]
not edx
xor eax, eax
sub ecx, edx
sbb esi, eax
mov dword [0x1009b150], ecx
mov dword [0x1009b154], esi
mov ecx, dword [0x1009b130]
mov edx, dword [0x1009b134]
push 0
push 0xb0
push edx
push ecx
call fcn.1006c090
mov ecx, eax
movsx eax, byte [ebp - 4]
cdq
sub eax, ecx
mov byte [ebp - 4], al
movsx edx, word [0x1009b180]
mov dword [ebp - 0x5ac], edx
cmp dword [ebp - 0x5ac], 3
ja case.default.0x10029e51
mov eax, dword [ebp - 0x5ac]
jmp dword [eax*4 + 0x10030230]
mov ecx, dword [ebp - 0x48]
mov dword [0x1009b170], ecx
mov edx, dword [0x1009b138]
or edx, dword [0x1009b13c]
je 0x10029e7e
movzx eax, word [0x1009b184]
mov dword [ebp - 0x5b0], eax
jmp 0x10029e8b
movzx ecx, byte [0x1009b0ef]
mov dword [ebp - 0x5b0], ecx
mov dl, byte [ebp - 0x5b0]
mov byte [0x1009b01f], dl
mov eax, dword [0x1009b1a8]
mov ecx, dword [0x1009b1ac]
mov dword [ebp - 0x13f8], ecx
add eax, 0xd8
mov byte [0x1009b07f], al
movsx edx, byte [0x1009b0bb]
test edx, edx
jne 0x10029ec9
mov dword [ebp - 0x5b4], 1
jmp 0x10029ed3
mov dword [ebp - 0x5b4], 0
movzx eax, byte [0x1009b0a6]
imul eax, dword [ebp - 0x5b4]
test eax, eax
jne 0x10029ef1
mov dword [ebp - 0x5b8], 1
jmp 0x10029efb
mov dword [ebp - 0x5b8], 0
movsx ecx, word [ebp - 0x18]
mov eax, 0xfc46
sub eax, ecx
add eax, dword [ebp - 0x5b8]
not eax
cdq
mov ecx, eax
movsx eax, byte [ebp - 1]
movzx edx, word [ebp - 0x24]
xor eax, edx
cdq
mov edx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x13fc], esi
add edx, eax
sub ecx, edx
mov byte [0x1009b033], cl
jmp case.default.0x10029e51
movzx eax, byte [ebp - 2]
test eax, eax
je 0x10029f59
mov ecx, dword [0x1009b198]
mov edx, dword [0x1009b19c]
mov dword [ebp - 0x8c0], ecx
mov dword [ebp - 0x8bc], edx
jmp 0x10029f6a
movsx eax, byte [ebp - 6]
cdq
mov dword [ebp - 0x8c0], eax
mov dword [ebp - 0x8bc], edx
mov al, byte [ebp - 0x8c0]
mov byte [0x1009b0a6], al
movsx ecx, word [ebp - 0x18]
mov dword [ebp - 0x28], ecx
movzx eax, byte [ebp - 2]
sub eax, 0xd3de
cdq
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
jmp case.default.0x10029e51
movzx edx, byte [0x1009b0ef]
imul edx, dword [0x1009b18c]
mov dword [0x1009b18c], edx
mov byte [0x1009b0ef], 0xfd
cmp dword [0x1009b1b0], 0
je 0x10029fc3
movsx eax, byte [ebp - 5]
mov dword [ebp - 0x5bc], eax
jmp 0x10029fcf
mov ecx, dword [0x1009b148]
mov dword [ebp - 0x5bc], ecx
mov edx, dword [ebp - 0x5bc]
mov dword [0x1009b148], edx
jmp case.default.0x10029e51
movzx eax, byte [ebp - 7]
mov ecx, dword [0x1009b148]
imul ecx, eax
mov edx, dword [0x1009b148]
shr edx, cl
mov dword [0x1009b148], edx
mov eax, dword [ebp - 0x38]
add eax, 0x4ab5
movzx ecx, word [ebp - 0x20]
or ecx, eax
mov word [ebp - 0x20], cx
mov byte [ebp - 4], 0xac
movsx edx, byte [0x1009b0bb]
cmp edx, 1
jne 0x1002a150
mov dword [0x1009b18c], 0x9379
movzx eax, word [0x1009b158]
not eax
sub eax, dword [0x1009b144]
not eax
mov dword [ebp - 0x2c], eax
movsx ecx, byte [ebp - 5]
xor ecx, 0x5e0ce68f
mov byte [ebp - 4], cl
jmp 0x1002a150
mov dword [0x1009b144], 0xf9686bb
movzx eax, byte [0x1009b0ee]
add eax, 0x5bfb0caf
mov dword [ebp - 0x3c], eax
movsx ecx, word [ebp - 0x14]
imul edx, ecx, 0xab29
mov dword [0x1009b14c], edx
mov eax, dword [ebp - 0x28]
shr eax, 1
xor ecx, ecx
mov dword [0x1009b160], eax
mov dword [0x1009b164], ecx
mov dx, word [ebp - 0x1c]
mov word [ebp - 0xc], dx
mov byte [0x1009b033], 0x94
movsx eax, word [ebp - 0x14]
movzx ecx, byte [0x1009b07e]
cmp eax, ecx
jl 0x1002a1b5
mov dword [ebp - 0x5c8], 1
jmp 0x1002a1bf
mov dword [ebp - 0x5c8], 0
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
mov dword [ebp - 0xf04], edx
mov dword [ebp - 0xf00], eax
mov ecx, dword [ebp - 0xf04]
or ecx, dword [ebp - 0xf00]
jne 0x1002a1f0
mov dword [ebp - 0x5c4], 1
jmp 0x1002a1fa
mov dword [ebp - 0x5c4], 0
mov edx, dword [ebp - 0x5c4]
cmp edx, dword [0x1009b1a0]
je 0x1002a214
mov dword [ebp - 0x5cc], 1
jmp 0x1002a21e
mov dword [ebp - 0x5cc], 0
mov eax, dword [ebp - 0x5c8]
add eax, dword [ebp - 0x5cc]
cmp eax, 1
jne 0x1002a23b
mov dword [ebp - 0x5d0], 1
jmp 0x1002a245
mov dword [ebp - 0x5d0], 0
mov ecx, dword [ebp - 0x5d0]
not ecx
test ecx, ecx
je 0x1002a2fb
mov dword [0x1009b14c], 2
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [0x1009b1a8], edx
mov dword [0x1009b1ac], eax
movsx eax, byte [ebp - 4]
cdq
add eax, 0x47dcd9b
mov ecx, dword [0x1009b1b0]
add ecx, eax
mov dword [0x1009b1b0], ecx
mov edx, dword [0x1009b1a0]
add edx, 0x9b
xor eax, eax
mov dword [0x1009b138], edx
mov dword [0x1009b13c], eax
mov ecx, 2
imul edx, ecx, 0xa
movsx eax, word [edx + 0x10223758]
cdq
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
cmp dword [0x1009b18c], 0
je 0x1002a2db
movzx eax, byte [0x1009b01f]
cdq
mov dword [ebp - 0x8d0], eax
mov dword [ebp - 0x8cc], edx
jmp 0x1002a2ed
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x8d0], eax
mov dword [ebp - 0x8cc], ecx
mov edx, dword [ebp - 0x8d0]
mov dword [0x1009b18c], edx
jmp 0x1002a32d
movzx eax, byte [ebp - 2]
sub eax, dword [ebp - 0x3c]
mov byte [ebp - 2], al
movzx ecx, byte [0x1009b07f]
xor ecx, 0x1053
add ecx, dword [0x1009b18c]
mov dword [0x1009b18c], ecx
movsx edx, byte [ebp - 1]
add edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
sub eax, edx
mov dword [ebp - 0x40], eax
movzx ecx, byte [0x1009b033]
mov edx, dword [ebp - 0x2c]
add edx, 0x94
cmp ecx, edx
jne 0x1002a3d0
mov eax, dword [ebp - 0x3c]
add eax, 0xd
xor ecx, ecx
mov dword [ebp - 0xf0c], eax
mov dword [ebp - 0xf08], ecx
mov edx, dword [0x1009b160]
cmp edx, dword [ebp - 0xf0c]
jne 0x1002a3d0
mov eax, dword [0x1009b164]
cmp eax, dword [ebp - 0xf08]
jne 0x1002a3d0
mov dword [ebp - 0x2c], 0x1e4d79df
mov ecx, dword [ebp - 0x40]
sub ecx, 1
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x38]
imul edx, dword [ebp - 0x28]
mov dword [ebp - 0x38], edx
jmp 0x1002a3d0
mov byte [0x1009b033], 0x94
movzx edx, byte [0x1009b07f]
add edx, dword [ebp - 0x28]
add edx, dword [ebp - 0x28]
mov dword [ebp - 0x28], edx
movsx eax, byte [ebp - 1]
cdq
add eax, 0x59a933e6
mov dword [0x1009b18c], eax
mov eax, 0x490a7
mov dword [0x1009b138], 0x9cb8ad6f
mov dword [0x1009b13c], eax
movsx ecx, word [0x1009b180]
mov dword [0x1009b170], ecx
movsx eax, word [ebp - 0x14]
cdq
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
movsx edx, word [ebp - 0xc]
cmp edx, 0xffffff2f
jne 0x1002a611
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStrings]
mov byte [ebp - 1], al
cmp dword [ebp - 0x40], 0
jne 0x1002a45a
xor eax, eax
mov dword [ebp - 0x8d8], 1
mov dword [ebp - 0x8d4], eax
jmp 0x1002a465
xorps xmm0, xmm0
movlpd qword [ebp - 0x8d8], xmm0
mov ecx, dword [0x1009b138]
not ecx
mov edx, dword [0x1009b13c]
not edx
sub ecx, dword [ebp - 0x8d8]
sbb edx, dword [ebp - 0x8d4]
mov dword [ebp - 0xf14], ecx
mov dword [ebp - 0xf10], edx
mov eax, dword [ebp - 0xf14]
or eax, dword [ebp - 0xf10]
je 0x1002a60c
mov dword [ebp - 0x168], 0x5a
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0xf1c], ecx
mov dword [ebp - 0xf18], edx
mov eax, dword [ebp - 0xf1c]
or eax, dword [ebp - 0xf18]
je 0x1002a4d7
mov ecx, dword [0x1009b190]
mov dword [ebp - 0x5d4], ecx
jmp 0x1002a4e0
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x5d4], edx
mov eax, dword [ebp - 0x5d4]
xor ecx, ecx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
mov edx, 1
imul eax, edx, 0x5e
mov cl, byte [ebp - 4]
mov byte [eax + 0x101c0aa8], cl
movzx eax, byte [0x1009b033]
cdq
mov edx, dword [ebp - 0x3c]
mov ecx, dword [0x1009b130]
mov esi, dword [0x1009b134]
mov dword [ebp - 0x1400], esi
sub edx, ecx
sub eax, edx
mov byte [0x1009b0a6], al
movsx edx, byte [0x1009b0bb]
test edx, edx
jne 0x1002a544
xor eax, eax
mov dword [ebp - 0x8e0], 1
mov dword [ebp - 0x8dc], eax
jmp 0x1002a54f
xorps xmm0, xmm0
movlpd qword [ebp - 0x8e0], xmm0
mov ecx, dword [0x1009b130]
mov edx, dword [0x1009b134]
mov eax, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
push esi
push eax
push edx
push ecx
call fcn.1006c090
mov ecx, dword [ebp - 0x8e0]
sub ecx, eax
mov eax, dword [ebp - 0x8dc]
sbb eax, edx
mov dword [0x1009b138], ecx
mov dword [0x1009b13c], eax
movsx ecx, word [ebp - 0x14]
add ecx, dword [ebp - 0x28]
mov dword [ebp - 0x28], ecx
movsx edx, word [0x1009b180]
test edx, edx
jne 0x1002a5a6
mov dword [ebp - 0x5d8], 1
jmp 0x1002a5b0
mov dword [ebp - 0x5d8], 0
movzx eax, byte [ebp - 2]
and eax, dword [ebp - 0x5d8]
cdq
mov esi, eax
mov ecx, dword [0x1009b1b0]
xor edi, edi
or ecx, dword [0x1009b138]
or edi, dword [0x1009b13c]
movzx eax, byte [0x1009b07e]
cdq
push edx
push eax
push edi
push ecx
call fcn.1006c090
sub esi, eax
not esi
mov word [0x1009b158], si
mov edx, dword [ebp - 0x168]
add edx, 1
mov dword [ebp - 0x168], edx
cmp dword [ebp - 0x168], 0x1128
jl 0x1002a4ff
jmp 0x1002a69e
imul eax, dword [ebp - 0x38], 0xed9e
mov dword [ebp - 0x28], eax
movsx ecx, word [ebp - 0x1c]
movsx edx, word [ebp - 0x1c]
add edx, dword [0x1009b18c]
sub ecx, edx
jne 0x1002a638
mov eax, 1
mov word [ebp - 0x6e], ax
jmp 0x1002a63e
xor ecx, ecx
mov word [ebp - 0x6e], cx
mov dx, word [ebp - 0x6e]
mov word [ebp - 0x18], dx
movzx eax, byte [ebp - 7]
test eax, eax
je 0x1002a662
mov eax, dword [0x1009b14c]
cdq
mov dword [ebp - 0x8e8], eax
mov dword [ebp - 0x8e4], edx
jmp 0x1002a67a
mov ecx, dword [0x1009b198]
mov edx, dword [0x1009b19c]
mov dword [ebp - 0x8e8], ecx
mov dword [ebp - 0x8e4], edx
mov eax, dword [ebp - 0x8e8]
mov dword [ebp - 0x40], eax
movsx ecx, byte [0x1009b0ba]
xor ecx, 0xbc439d61
mov edx, dword [0x1009b188]
add edx, ecx
mov dword [0x1009b188], edx
movzx eax, word [ebp - 0x15ec]
cmp eax, 0x5a4d
jne 0x1002a6b6
cmp dword [ebp - 0x80], 0
jne 0x1003017b
mov ecx, 0xa359
mov word [0x1009b184], cx
call dword [sym.imp.USER32.dll_IsWow64Message]
mov byte [ebp - 7], al
mov ecx, dword [0x1009b150]
mov esi, dword [0x1009b154]
movzx eax, word [0x1009b184]
movsx edx, word [ebp - 0xc]
add eax, edx
cdq
mov dword [ebp - 0xf24], ecx
mov dword [ebp - 0xf20], esi
mov dword [ebp - 0xf2c], eax
mov dword [ebp - 0xf28], edx
mov eax, dword [ebp - 0xf24]
cmp eax, dword [ebp - 0xf2c]
jne 0x1002aa62
mov ecx, dword [ebp - 0xf20]
cmp ecx, dword [ebp - 0xf28]
jne 0x1002aa62
movsx edx, word [ebp - 0x18]
test edx, edx
je 0x1002a783
movzx eax, byte [0x1009b07f]
xor eax, 0x50d1
cdq
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
movsx eax, word [ebp - 0x1c]
mov ecx, dword [0x1009b190]
imul ecx, eax
mov byte [ebp - 4], cl
mov byte [0x1009b0ef], 0xda
movsx edx, byte [0x1009b0bb]
shl edx, 6
mov dword [ebp - 0x38], edx
cmp dword [0x1009b140], 0
jne 0x1002a774
mov byte [ebp - 0x5a], 1
jmp 0x1002a778
mov byte [ebp - 0x5a], 0
mov al, byte [ebp - 0x5a]
mov byte [ebp - 6], al
jmp 0x1002a858
movsx ecx, byte [ebp - 4]
cmp dword [0x1009b14c], ecx
jl 0x1002a7fb
push 0
push 0xc97f4e9d
mov edx, dword [0x1009b17c]
push edx
mov eax, dword [0x1009b178]
push eax
call fcn.1006c090
mov word [ebp - 0x20], ax
mov cx, word [0x1009bc7c]
mov word [ebp - 0x10], cx
movsx edx, byte [ebp - 4]
test edx, edx
jne 0x1002a7cb
mov dword [ebp - 0x5dc], 1
jmp 0x1002a7d5
mov dword [ebp - 0x5dc], 0
movsx eax, byte [ebp - 6]
movsx ecx, byte [0x1009b0ba]
sub eax, ecx
movzx edx, word [0x1009b184]
mov ecx, dword [ebp - 0x5dc]
sub ecx, edx
imul eax, ecx
mov byte [0x1009b0ee], al
jmp 0x1002a858
mov edx, dword [ebp - 0x48]
or edx, dword [ebp - 0x44]
je 0x1002a858
movzx eax, byte [0x1009b07e]
add eax, 0x6dc42986
cdq
mov ecx, eax
movsx eax, word [0x1009b180]
cdq
add eax, dword [ebp - 0x48]
or ecx, eax
not ecx
mov word [ebp - 0x1c], cx
movzx edx, byte [ebp - 7]
movsx eax, byte [ebp - 3]
not eax
lea ecx, [edx + eax + 0x2af0876a]
not ecx
mov dword [ebp - 0x38], ecx
movsx edx, word [0x1009b180]
xor edx, dword [0x1009b14c]
movsx eax, word [0x1009b180]
imul eax, edx
mov word [0x1009b180], ax
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x5e0], eax
mov dword [ebp - 0xa04], 0
cmp dword [ebp - 0x5e0], 0
je 0x1002a8a2
mov dword [ebp - 0xa00], 1
mov ecx, dword [ebp - 0xa00]
push ecx
mov edx, dword [ebp - 0xa04]
push edx
mov eax, dword [ebp - 0x5e0]
push eax
call dword [sym.imp.USER32.dll_GetUpdateRect]
mov dword [ebp - 0x1404], eax
mov ecx, dword [0x1009b168]
mov edx, dword [0x1009b16c]
mov dword [ebp - 0xf34], ecx
mov dword [ebp - 0xf30], edx
mov eax, dword [ebp - 0xf34]
or eax, dword [ebp - 0xf30]
je 0x1002a96e
movzx ecx, byte [0x1009b0ee]
movzx edx, byte [ebp - 2]
movzx eax, byte [0x1009b07e]
sub edx, eax
movsx eax, byte [ebp - 1]
xor esi, esi
sub esi, eax
sub edx, esi
sub ecx, edx
mov dword [0x1009b188], ecx
mov ecx, dword [0x1009b144]
shr ecx, 4
mov dword [ebp - 0x38], ecx
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
mov ecx, dword [ebp - 0x30]
sub edx, dword [ebp - 0x34]
sbb eax, ecx
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
sub ecx, edx
sbb esi, eax
mov dword [0x1009b168], ecx
mov dword [0x1009b16c], esi
movzx edx, byte [0x1009b0ef]
movsx eax, word [ebp - 0x1c]
imul edx, eax
movzx ecx, byte [0x1009b0ef]
imul ecx, edx
mov byte [0x1009b0ef], cl
mov eax, dword [ebp - 0x4c]
cdq
push edx
push eax
mov edx, dword [0x1009b13c]
push edx
mov eax, dword [0x1009b138]
push eax
call fcn.1006c090
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
mov eax, dword [ebp - 0x2c]
cdq
add eax, 0xd81d8cd0
adc edx, 0xe047b
mov dword [ebp - 0xf3c], eax
mov dword [ebp - 0xf38], edx
mov ecx, dword [0x1009b178]
cmp ecx, dword [ebp - 0xf3c]
jne 0x1002aa62
mov edx, dword [0x1009b17c]
cmp edx, dword [ebp - 0xf38]
jne 0x1002aa62
mov eax, dword [ebp - 0x4c]
mov dword [0x1009b140], eax
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
mov dword [ebp - 0x1408], edx
add ecx, 0xfcc36128
mov word [ebp - 0x14], cx
mov eax, dword [0x1009b190]
sub eax, 0xcc50
mov word [ebp - 0x14], ax
mov eax, dword [ebp - 0x40]
cdq
mov ecx, eax
add ecx, 0xdaa999dd
mov eax, dword [ebp - 0x2c]
cdq
xor eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x1002a6b6
mov eax, dword [0x1009b160]
or eax, dword [0x1009b164]
je 0x1002ac04
movzx ecx, byte [0x1009b033]
test ecx, ecx
je 0x1002ab70
mov edx, dword [ebp - 0x3c]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [0x1009b148], eax
cmp dword [0x1009b148], 0
je 0x1002ab6b
movsx eax, byte [0x1009b0ba]
test eax, eax
je 0x1002aaed
movsx ecx, byte [ebp - 5]
movzx edx, byte [ebp - 2]
lea eax, [edx + ecx + 0x2165]
mov byte [ebp - 2], al
mov ecx, dword [0x1009b170]
sub ecx, 0x69a50faf
mov byte [ebp - 7], cl
movsx edx, word [ebp - 0x14]
add edx, 0x877b
mov dword [0x1009b170], edx
xor eax, eax
mov dword [0x1009b198], 0xd7
mov dword [0x1009b19c], eax
jmp 0x1002ab6b
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov cl, 3
call fcn.1006c0d0
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
movsx eax, byte [0x1009b0bb]
cdq
push 0xbc41b
push 0x7a937ee1
push edx
push eax
call fcn.1006c090
mov dword [ebp - 0x28], eax
movsx ecx, byte [ebp - 5]
test ecx, ecx
je 0x1002ab3c
movzx eax, word [ebp - 0x10]
cdq
mov dword [ebp - 0x798], eax
mov dword [ebp - 0x794], edx
jmp 0x1002ab53
mov edx, dword [0x1009b198]
mov eax, dword [0x1009b19c]
mov dword [ebp - 0x798], edx
mov dword [ebp - 0x794], eax
mov ecx, dword [ebp - 0x798]
mov edx, dword [ebp - 0x794]
mov dword [0x1009b150], ecx
mov dword [0x1009b154], edx
jmp 0x1002ac04
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0xf44], eax
mov dword [ebp - 0xf40], ecx
mov edx, dword [ebp - 0xf44]
or edx, dword [ebp - 0xf40]
je 0x1002ac04
push 0
push 0x2acb8cd2
mov eax, dword [0x1009b17c]
push eax
mov ecx, dword [0x1009b178]
push ecx
call fcn.1006c090
mov dword [0x1009b140], eax
mov edx, dword [0x1009b148]
mov byte [0x1009b07f], dl
movzx eax, byte [0x1009b07e]
imul ecx, eax, 0xca3e
mov dword [0x1009b188], ecx
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
add edx, 0xb6d07aa9
adc eax, 0
add edx, dword [0x1009b178]
adc eax, dword [0x1009b17c]
mov dword [0x1009b178], edx
mov dword [0x1009b17c], eax
mov ecx, dword [ebp - 0x2c]
add ecx, 0xe
mov dword [0x1009b140], ecx
mov edx, dword [0x1009bc7c]
mov dword [ebp - 0x170], edx
movzx eax, byte [0x1009b0ef]
xor eax, dword [0x1009b18c]
not eax
movzx ecx, byte [ebp - 7]
imul eax, ecx
not eax
mov esi, eax
movsx eax, byte [0x1009b0bb]
cdq
mov edi, eax
mov ecx, dword [0x1009b168]
mov ebx, dword [0x1009b16c]
not ecx
not ebx
movsx eax, word [0x1009b180]
cdq
push edx
push eax
push ebx
push ecx
call fcn.1006c090
or edi, eax
add esi, edi
mov dword [ebp - 0x2c], esi
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
mov dword [ebp - 0x140c], edx
add ecx, 0x2b31a243
movsx eax, byte [ebp - 4]
cdq
add eax, ecx
mov byte [ebp - 4], al
mov eax, dword [0x1009b14c]
cdq
push 0x8fb1
push 0x36f54e4
push edx
push eax
call fcn.1006c090
mov ecx, eax
movsx eax, byte [ebp - 6]
cdq
sub eax, ecx
mov byte [ebp - 6], al
movzx edx, word [ebp - 0x10]
test edx, edx
jne 0x1002acb5
mov dword [ebp - 0x5e4], 1
jmp 0x1002acbf
mov dword [ebp - 0x5e4], 0
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
not ecx
not esi
movsx eax, word [ebp - 0x18]
cdq
xor ecx, eax
xor esi, edx
movsx eax, byte [ebp - 5]
sub eax, dword [ebp - 0x5e4]
cdq
sub ecx, eax
sbb esi, edx
not ecx
not esi
mov eax, dword [ebp - 0x40]
not eax
movsx edx, byte [0x1009b0bb]
sub eax, edx
not eax
cdq
add eax, 0x546e8ae5
adc edx, 0xba86e
add ecx, eax
adc esi, edx
mov dword [0x1009b130], ecx
mov dword [0x1009b134], esi
mov dword [ebp - 0x28], 8
mov eax, dword [ebp - 0x170]
add eax, 0x286
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x16c], 0
jmp 0x1002ad44
mov ecx, dword [ebp - 0x16c]
add ecx, 1
mov dword [ebp - 0x16c], ecx
cmp dword [ebp - 0x16c], 0xbd
jge 0x1002ad9b
movzx edx, byte [ebp - 7]
sub edx, 0xe4
mov word [ebp - 0x20], dx
mov eax, dword [ebp - 0x28]
xor eax, 0x105ed401
mov word [ebp - 0xc], ax
mov byte [ebp - 6], 0xe
movsx eax, word [ebp - 0x18]
cdq
mov ecx, 8
imul ecx, ecx, 0x5d1
mov dword [ecx + 0x10317600], eax
mov dword [ecx + 0x10317604], edx
mov dl, byte [0x1009b0a7]
add dl, 1
mov byte [0x1009b0a7], dl
jmp 0x1002ad35
mov eax, dword [ebp - 0x170]
add eax, 0x3e
mov dword [ebp - 0xa0c], eax
mov byte [ebp - 4], 0
mov ecx, dword [0x1009b170]
and ecx, 0x1f81
mov byte [0x1009b01f], cl
movzx edx, word [ebp - 0x10]
add edx, 0x711b545f
mov dword [ebp - 0x4c], edx
imul eax, dword [0x1009b14c], 0xaccf1664
xor ecx, ecx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], ecx
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
push 0
push 0xc08d
push eax
push edx
call fcn.1006c090
mov dword [ebp - 0x38], eax
cmp dword [0x1009b190], 0
je 0x1002ae10
movsx ecx, word [ebp - 0x18]
mov dword [ebp - 0x5e8], ecx
jmp 0x1002ae1d
movsx edx, byte [0x1009b0ba]
mov dword [ebp - 0x5e8], edx
mov ax, word [ebp - 0x5e8]
mov word [ebp - 0x10], ax
mov cl, byte [ebp - 4]
mov byte [ebp - 0xa08], cl
cmp byte [ebp - 0xa08], 0
je 0x1002ae3c
jmp 0x1002ae7b
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov ecx, dword [0x1009b17c]
push ecx
mov ecx, dword [0x1009b178]
push ecx
push eax
push edx
call fcn.1006c090
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movzx edx, word [0x1009b158]
add edx, 0x196d
mov byte [ebp - 5], dl
movsx eax, byte [ebp - 1]
sub eax, 0x16fc5147
mov byte [0x1009b0a6], al
mov ecx, dword [ebp - 0x170]
add ecx, 0x16
mov dword [ebp - 0x604], ecx
mov dword [0x1009b190], 0x546079f5
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
movzx eax, byte [0x1009b0ee]
cdq
mov dword [ebp - 0xf4c], ecx
mov dword [ebp - 0xf48], esi
mov dword [ebp - 0xf54], eax
mov dword [ebp - 0xf50], edx
mov edx, dword [ebp - 0xf4c]
cmp edx, dword [ebp - 0xf54]
jne 0x1002aeda
mov eax, dword [ebp - 0xf48]
cmp eax, dword [ebp - 0xf50]
je 0x1002af62
movzx ecx, byte [0x1009b0a6]
sub ecx, dword [ebp - 0x28]
movzx edx, byte [0x1009b0a6]
add edx, ecx
mov byte [0x1009b0a6], dl
mov eax, dword [0x1009b190]
xor ecx, ecx
mov edx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
push esi
push edx
push ecx
push eax
call fcn.1006c090
mov ecx, dword [0x1009b190]
xor esi, esi
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov dword [0x1009b190], eax
movzx edx, byte [ebp - 2]
movzx eax, byte [0x1009b07e]
imul edx, eax
movzx ecx, byte [ebp - 2]
sub ecx, edx
mov byte [ebp - 2], cl
movzx eax, word [ebp - 0x20]
cdq
sub eax, 0xc2dfbe96
mov word [ebp - 0x18], ax
mov edx, dword [ebp - 0x28]
add edx, dword [0x1009b18c]
imul edx, dword [0x1009b1a0]
mov dword [ebp - 0x28], edx
jmp 0x1002b033
mov dword [ebp - 0x2c], 0x8f
mov ax, word [0x1009bc7c]
mov word [0x1009b184], ax
movzx eax, byte [0x1009b07e]
sub eax, 0x9a
cdq
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
cmp dword [ebp - 0x2c], 0
jne 0x1002afa7
xor ecx, ecx
mov dword [ebp - 0x8f0], 1
mov dword [ebp - 0x8ec], ecx
jmp 0x1002afb2
xorps xmm0, xmm0
movlpd qword [ebp - 0x8f0], xmm0
movzx edx, word [ebp - 0x24]
test edx, edx
jne 0x1002afc6
mov dword [ebp - 0x5ec], 1
jmp 0x1002afd0
mov dword [ebp - 0x5ec], 0
mov ecx, dword [ebp - 0x48]
sub ecx, dword [ebp - 0x8f0]
mov esi, dword [ebp - 0x44]
sbb esi, dword [ebp - 0x8ec]
mov eax, dword [0x1009b188]
sub eax, dword [ebp - 0x5ec]
not eax
cdq
push edx
push eax
push esi
push ecx
call fcn.1006c090
movzx edx, byte [0x1009b0a6]
mov ecx, dword [0x1009b148]
sub ecx, edx
add ecx, dword [0x1009b1a0]
add eax, ecx
mov byte [0x1009b0bb], al
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x2c]
cdq
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
movsx edx, word [ebp - 0x1c]
imul edx, dword [ebp - 0x4c]
mov word [ebp - 0x1c], dx
mov ecx, dword [0x1009b130]
mov esi, dword [0x1009b134]
mov eax, dword [ebp - 0x2c]
add eax, 0x11
cdq
mov dword [ebp - 0xf5c], ecx
mov dword [ebp - 0xf58], esi
mov dword [ebp - 0xf64], eax
mov dword [ebp - 0xf60], edx
mov edx, dword [ebp - 0xf5c]
cmp edx, dword [ebp - 0xf64]
jne 0x1002b210
mov eax, dword [ebp - 0xf58]
cmp eax, dword [ebp - 0xf60]
jne 0x1002b210
movsx eax, word [ebp - 0xc]
cdq
add eax, dword [0x1009b138]
adc edx, dword [0x1009b13c]
mov dword [ebp - 0xf6c], eax
mov dword [ebp - 0xf68], edx
cmp dword [ebp - 0xf6c], 1
jne 0x1002b210
cmp dword [ebp - 0xf68], 0
jne 0x1002b210
movsx ecx, word [ebp - 0x14]
movzx edx, byte [0x1009b0ee]
cmp ecx, edx
jne 0x1002b0d4
mov dword [ebp - 0x5f0], 1
jmp 0x1002b0de
mov dword [ebp - 0x5f0], 0
movsx eax, word [ebp - 0x14]
cmp eax, 0x54
jne 0x1002b0f3
mov dword [ebp - 0x5f4], 1
jmp 0x1002b0fd
mov dword [ebp - 0x5f4], 0
mov ecx, dword [ebp - 0x5f0]
cmp ecx, dword [ebp - 0x5f4]
jne 0x1002b133
mov byte [ebp - 3], 1
movzx edx, word [ebp - 0x10]
sub edx, 0x4c
mov word [ebp - 0x24], dx
mov eax, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov cl, 7
call fcn.1006c0d0
mov dword [0x1009b188], eax
jmp 0x1002b16c
mov dword [0x1009b148], 0x15
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [0x1009b150]
mov esi, dword [0x1009b154]
xor ecx, eax
xor esi, edx
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
or edx, ecx
or eax, esi
mov dword [0x1009b150], edx
mov dword [0x1009b154], eax
jmp 0x1002ae8a
mov edx, 4
mov word [ebp - 0xc], dx
movzx eax, word [ebp - 0x20]
shl eax, 6
mov byte [ebp - 7], al
mov ecx, dword [0x1009b198]
mov edx, dword [0x1009b19c]
add ecx, 0xdd
adc edx, 0
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], edx
movzx eax, word [0x1009b158]
movsx ecx, byte [0x1009b0ba]
imul eax, ecx
test eax, eax
jne 0x1002b267
xor edx, edx
mov dword [ebp - 0x8f8], 1
mov dword [ebp - 0x8f4], edx
jmp 0x1002b272
xorps xmm0, xmm0
movlpd qword [ebp - 0x8f8], xmm0
push 0
push 0x4680cf25
mov eax, dword [0x1009b17c]
push eax
mov ecx, dword [0x1009b178]
push ecx
call fcn.1006c090
mov ecx, eax
mov esi, edx
movsx eax, byte [ebp - 6]
cdq
mov edi, dword [ebp - 0x50]
add eax, dword [ebp - 0x54]
adc edx, edi
mov edi, dword [ebp - 0x8f8]
sub edi, eax
mov eax, dword [ebp - 0x8f4]
sbb eax, edx
sub ecx, edi
sbb esi, eax
not ecx
not esi
mov dword [0x1009b160], ecx
mov dword [0x1009b164], esi
mov eax, dword [ebp - 0x4c]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x1410], eax
add ecx, edx
mov eax, dword [ebp - 0x4c]
cdq
sub eax, ecx
mov dword [ebp - 0x4c], eax
mov ecx, 1
imul edx, ecx, 0x144c
mov al, byte [ebp - 0x28]
mov byte [edx + 0x102088e8], al
movsx ecx, word [ebp - 0xc]
mov dword [ebp - 0x5f8], ecx
cmp dword [ebp - 0x5f8], 4
ja case.default.0x1002b30e
mov edx, dword [ebp - 0x5f8]
jmp dword [edx*4 + 0x10030240]
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x1414], ecx
add eax, 0x97
mov byte [ebp - 4], al
movzx edx, word [0x1009b184]
sub edx, 0x8ffe
mov word [0x1009b180], dx
movzx eax, byte [0x1009b0ef]
imul eax, dword [ebp - 0x2c]
mov word [0x1009b180], ax
movsx eax, byte [ebp - 5]
cdq
add eax, 0x22f65234
mov byte [0x1009b0bb], al
jmp case.default.0x1002b30e
mov ecx, 0x6452
mov word [ebp - 0x24], cx
movsx edx, word [0x1009b180]
test edx, edx
jne 0x1002b382
mov dword [ebp - 0x5fc], 1
jmp 0x1002b38c
mov dword [ebp - 0x5fc], 0
cmp dword [0x1009b1b0], 0
jne 0x1002b3a1
mov dword [ebp - 0x600], 1
jmp 0x1002b3ab
mov dword [ebp - 0x600], 0
imul eax, dword [ebp - 0x5fc], 0x863c37c7
movzx ecx, byte [0x1009b0a6]
sub ecx, dword [ebp - 0x3c]
imul eax, ecx
movzx edx, byte [0x1009b0ee]
movsx ecx, word [ebp - 0x14]
imul ecx, dword [ebp - 0x600]
add edx, ecx
imul eax, edx
xor edx, edx
mov dword [0x1009b150], eax
mov dword [0x1009b154], edx
mov eax, dword [0x1009b1a0]
not eax
mov ecx, 0xfffff8de
sub ecx, eax
xor edx, edx
mov eax, dword [0x1009b160]
sub eax, ecx
mov ecx, dword [0x1009b164]
sbb ecx, edx
mov dword [ebp - 0xf74], eax
mov dword [ebp - 0xf70], ecx
mov edx, dword [ebp - 0xf74]
or edx, dword [ebp - 0xf70]
jne 0x1002b433
xor eax, eax
mov dword [ebp - 0xf7c], 1
mov dword [ebp - 0xf78], eax
jmp 0x1002b43e
xorps xmm0, xmm0
movlpd qword [ebp - 0xf7c], xmm0
mov ecx, dword [ebp - 0x2c]
xor ecx, dword [ebp - 0x3c]
mov edx, 0x194480f2
sub edx, dword [0x1009b148]
add ecx, edx
xor ecx, dword [ebp - 0xf7c]
mov byte [ebp - 2], cl
jmp case.default.0x1002b30e
mov eax, 2
imul ecx, eax, 0x53
mov dx, word [ebp - 0x4c]
mov word [ecx + 0x1009bc80], dx
mov dword [ebp - 0x3c], 0x669869bf
mov eax, dword [ebp - 0x38]
add eax, 0x299efe5d
mov word [ebp - 0x1c], ax
movzx eax, word [0x1009b158]
shl eax, 2
cdq
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
jmp case.default.0x1002b30e
mov ecx, dword [ebp - 0x3c]
xor edx, edx
sub ecx, 0xa65042f
sbb edx, 0x3129c
mov dword [0x1009b138], ecx
mov dword [0x1009b13c], edx
movsx eax, byte [0x1009b0bb]
cdq
add eax, 0xb32e5ad3
mov byte [0x1009b0bb], al
movsx eax, byte [ebp - 1]
add eax, 0xa2
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
movsx eax, byte [ebp - 5]
cdq
mov ecx, 8
imul ecx, ecx, 0x1b
mov dword [ecx + 0x102592e0], eax
mov dword [ecx + 0x102592e4], edx
jmp case.default.0x1002b30e
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov cl, 8
call fcn.1006c0d0
mov byte [0x1009b0a6], al
movzx edx, byte [0x1009b0ef]
mov eax, dword [0x1009b190]
imul eax, edx
mov dword [0x1009b190], eax
movzx ecx, byte [0x1009b0ef]
mov edx, dword [0x1009b190]
imul edx, ecx
mov dword [0x1009b190], edx
movsx eax, byte [ebp - 6]
imul ecx, eax, 0x59b9
mov word [ebp - 0xc], cx
mov edx, dword [ebp - 0x1b4]
imul edx, dword [ebp - 0x604]
and edx, dword [ebp - 0x604]
mov eax, dword [ebp - 0xa0c]
imul eax, dword [ebp - 0x1b4]
add eax, dword [ebp - 0x1b4]
cmp edx, eax
je 0x1003017b
imul ecx, dword [0x1009b1a0], 0x6dfaeb8c
mov dword [ebp - 0x40], ecx
movsx edx, byte [ebp - 3]
test edx, edx
jne 0x1002b593
mov dword [ebp - 0x608], 1
jmp 0x1002b59d
mov dword [ebp - 0x608], 0
movsx eax, word [ebp - 0x14]
imul eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x608]
movzx ecx, byte [0x1009b033]
movsx edx, byte [ebp - 3]
imul ecx, edx
add eax, ecx
jne 0x1002b5c9
mov dword [ebp - 0x60c], 1
jmp 0x1002b5d3
mov dword [ebp - 0x60c], 0
mov eax, dword [ebp - 0x60c]
mov dword [0x1009b140], eax
movsx ecx, word [ebp - 0xc]
add ecx, 0x23
mov byte [0x1009b0ba], cl
mov eax, dword [0x1009b140]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x1009b16c]
add ecx, dword [0x1009b168]
adc esi, edx
mov eax, dword [0x1009b140]
cdq
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov dword [0x1009b140], eax
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
mov byte [0x1009b0ee], al
movzx eax, word [ebp - 0x24]
cdq
mov ecx, dword [0x1009b160]
not ecx
mov esi, dword [0x1009b164]
not esi
mov dword [ebp - 0xf84], eax
mov dword [ebp - 0xf80], edx
mov dword [ebp - 0xf8c], ecx
mov dword [ebp - 0xf88], esi
mov edx, dword [ebp - 0xf80]
cmp edx, dword [ebp - 0xf88]
ja 0x1002b799
jb 0x1002b675
mov eax, dword [ebp - 0xf84]
cmp eax, dword [ebp - 0xf8c]
jae 0x1002b799
movsx ecx, byte [ebp - 1]
cmp ecx, dword [0x1009b188]
jl 0x1002b68d
mov dword [ebp - 0x610], 1
jmp 0x1002b697
mov dword [ebp - 0x610], 0
movsx edx, byte [ebp - 1]
cmp edx, 0x1b
jl 0x1002b6ac
mov dword [ebp - 0x614], 1
jmp 0x1002b6b6
mov dword [ebp - 0x614], 0
mov eax, dword [ebp - 0x610]
cmp eax, dword [ebp - 0x614]
jle 0x1002b717
mov dword [ebp - 0x38], 0x405fba77
mov ecx, dword [0x1009b168]
mov edx, dword [0x1009b16c]
mov dword [ebp - 0x1418], edx
add ecx, 0xae
mov word [ebp - 0x1c], cx
movsx eax, byte [0x1009b0ba]
movzx ecx, byte [0x1009b07e]
add eax, ecx
movsx edx, byte [0x1009b0ba]
add edx, eax
mov byte [0x1009b0ba], dl
movzx eax, word [ebp - 0x10]
cdq
sub eax, 0x56f3897d
mov dword [0x1009b170], eax
jmp 0x1002b794
movzx eax, byte [0x1009b07f]
imul eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov dword [ebp - 0x3c], ecx
movsx eax, byte [0x1009b0ba]
cdq
mov edx, dword [0x1009b130]
mov ecx, dword [0x1009b134]
mov dword [ebp - 0x141c], ecx
add edx, eax
mov byte [0x1009b07e], dl
movzx edx, byte [0x1009b01f]
movzx eax, byte [0x1009b07e]
imul edx, eax
mov byte [0x1009b01f], dl
mov ecx, dword [0x1009b1b0]
sub ecx, 0xb18e
mov byte [0x1009b07f], cl
movzx edx, byte [0x1009b01f]
movzx eax, byte [0x1009b0ef]
sub edx, eax
movzx ecx, byte [0x1009b01f]
sub ecx, edx
mov byte [0x1009b01f], cl
jmp 0x1002b82f
mov edx, dword [ebp - 0x28]
mov dword [0x1009b170], edx
mov eax, dword [0x1009b170]
sub eax, 1
mov dword [0x1009b170], eax
movsx ecx, byte [0x1009b0ba]
add ecx, dword [0x1009b14c]
jne 0x1002b7ca
mov dword [ebp - 0x618], 1
jmp 0x1002b7d4
mov dword [ebp - 0x618], 0
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xf94], edx
mov dword [ebp - 0xf90], eax
mov ecx, dword [ebp - 0xf94]
or ecx, dword [ebp - 0xf90]
jne 0x1002b800
mov dword [ebp - 0x61c], 1
jmp 0x1002b80a
mov dword [ebp - 0x61c], 0
mov edx, dword [ebp - 0x618]
sub edx, dword [ebp - 0x61c]
mov dword [0x1009b190], edx
movsx eax, byte [ebp - 6]
movzx ecx, byte [ebp - 7]
add eax, ecx
movsx edx, byte [ebp - 6]
sub edx, eax
mov byte [ebp - 6], dl
mov eax, dword [0x1009bc7c]
mov dword [ebp - 0x180], eax
mov ecx, dword [ebp - 0x180]
add ecx, 0x397
mov dword [ebp - 0xa24], ecx
mov dword [ebp - 0x178], 0
jmp 0x1002b867
mov edx, dword [ebp - 0x178]
add edx, 2
mov dword [ebp - 0x178], edx
cmp dword [ebp - 0x178], 0x2b6
jge 0x1002b891
call dword [sym.imp.USER32.dll_GetFocus]
xor ecx, ecx
mov dword [0x1009b198], eax
mov dword [0x1009b19c], ecx
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
jmp 0x1002b858
mov eax, dword [ebp - 0x180]
add eax, 0x3b8
mov dword [ebp - 0x1420], eax
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
movzx eax, byte [0x1009b07e]
cdq
mov dword [ebp - 0xf9c], ecx
mov dword [ebp - 0xf98], esi
mov dword [ebp - 0xfa4], eax
mov dword [ebp - 0xfa0], edx
mov edx, dword [ebp - 0xf98]
cmp edx, dword [ebp - 0xfa0]
jg 0x1002bb9b
jl 0x1002b8ee
mov eax, dword [ebp - 0xf9c]
cmp eax, dword [ebp - 0xfa4]
jae 0x1002bb9b
mov dword [ebp - 0x17c], 0xb8c
movsx ecx, byte [ebp - 1]
imul edx, ecx, 0x804aaa96
movzx eax, byte [ebp - 2]
sub eax, edx
mov byte [ebp - 2], al
mov ecx, dword [0x1009b130]
mov edx, dword [0x1009b134]
mov dword [ebp - 0xfac], ecx
mov dword [ebp - 0xfa8], edx
mov eax, dword [ebp - 0xfac]
or eax, dword [ebp - 0xfa8]
jne 0x1002b93d
mov dword [ebp - 0x620], 1
jmp 0x1002b947
mov dword [ebp - 0x620], 0
mov ecx, dword [ebp - 0x620]
and ecx, dword [0x1009b18c]
not ecx
mov esi, ecx
mov eax, dword [ebp - 0x38]
not eax
cdq
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x1424], ecx
sub edx, eax
sub esi, edx
movsx eax, byte [0x1009b0ba]
not eax
cdq
mov edi, eax
sub edi, 0x4c028c02
mov eax, dword [0x1009b14c]
cdq
mov ecx, dword [ebp - 0x44]
push ecx
mov ecx, dword [ebp - 0x48]
push ecx
push edx
push eax
call fcn.1006c090
add edi, eax
and esi, edi
mov dword [0x1009b14c], esi
xor edx, edx
mov dword [0x1009b178], 4
mov dword [0x1009b17c], edx
mov eax, dword [0x1009b1b0]
xor eax, 0xf480
mov esi, eax
movsx eax, byte [ebp - 4]
cdq
mov edi, eax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
push 0
push 0x9c
push edx
push ecx
call fcn.1006c090
not eax
xor edi, eax
sub esi, edi
mov dword [0x1009b18c], esi
movsx eax, word [0x1009b180]
test eax, eax
je 0x1002b9fa
movzx ecx, word [ebp - 0x10]
mov dword [ebp - 0x624], ecx
jmp 0x1002ba04
movzx edx, byte [ebp - 7]
mov dword [ebp - 0x624], edx
mov ax, word [ebp - 0x624]
mov word [0x1009b158], ax
cmp dword [ebp - 0x17c], 0xac8
jle 0x1002bb9b
movzx eax, byte [0x1009b0a6]
cdq
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
mov dword [ebp - 0xfb4], eax
mov dword [ebp - 0xfb0], edx
mov dword [ebp - 0xfbc], ecx
mov dword [ebp - 0xfb8], esi
mov edx, dword [ebp - 0xfb0]
cmp edx, dword [ebp - 0xfb8]
jg 0x1002ba71
jl 0x1002ba65
mov eax, dword [ebp - 0xfb4]
cmp eax, dword [ebp - 0xfbc]
ja 0x1002ba71
mov dword [ebp - 0x628], 1
jmp 0x1002ba7b
mov dword [ebp - 0x628], 0
movzx ecx, byte [0x1009b0a6]
cmp ecx, 0xb
jg 0x1002ba93
mov dword [ebp - 0x62c], 1
jmp 0x1002ba9d
mov dword [ebp - 0x62c], 0
mov edx, dword [ebp - 0x628]
cmp edx, dword [ebp - 0x62c]
jne 0x1002bac0
movsx eax, byte [ebp - 3]
push eax
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov byte [0x1009b0a7], al
jmp 0x1002bb87
movzx ecx, word [ebp - 0x24]
test ecx, ecx
je 0x1002bb87
mov edx, dword [ebp - 0x180]
add edx, 0x233
mov dword [ebp - 0xa28], edx
movzx eax, byte [0x1009b033]
sub eax, 0xf7
not eax
cdq
mov ecx, 0x248b955f
sub ecx, eax
mov eax, 0x21a10
sbb eax, edx
mov dword [ebp - 0xfcc], ecx
mov dword [ebp - 0xfc8], eax
mov ecx, dword [ebp - 0xfcc]
or ecx, dword [ebp - 0xfc8]
jne 0x1002bbf0
mov dword [ebp - 0x630], 1
jmp 0x1002bbfa
mov dword [ebp - 0x630], 0
movsx edx, word [ebp - 0xc]
movsx eax, word [ebp - 0x1c]
add edx, eax
mov ecx, dword [0x1009b170]
sub ecx, dword [ebp - 0x28]
sub edx, ecx
not edx
add edx, dword [ebp - 0x630]
mov byte [0x1009b0ee], dl
mov edx, dword [0x1009b198]
mov eax, dword [0x1009b19c]
mov dword [ebp - 0x142c], eax
sub edx, 0xdf243fcc
mov dword [0x1009b190], edx
movsx eax, byte [ebp - 5]
not eax
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov dword [0x1009b130], eax
mov dword [0x1009b134], edx
mov byte [ebp - 6], 0xb
movzx edx, byte [0x1009b07e]
movsx eax, byte [ebp - 5]
not eax
add edx, eax
not edx
mov dword [ebp - 0x4c], edx
movzx ecx, word [0x1009b158]
not ecx
mov word [0x1009b184], cx
mov edx, dword [0x1009bc7c]
mov dword [ebp - 0x184], edx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [0x1009b07e], al
movzx eax, byte [0x1009b07e]
test eax, eax
je 0x1002bd4d
movzx ecx, byte [ebp - 7]
movzx edx, word [ebp - 0x10]
cmp ecx, edx
je 0x1002bcc1
mov dword [ebp - 0x634], 1
jmp 0x1002bccb
mov dword [ebp - 0x634], 0
movzx eax, byte [ebp - 7]
cmp eax, 0x57
je 0x1002bce0
mov dword [ebp - 0x638], 1
jmp 0x1002bcea
mov dword [ebp - 0x638], 0
mov ecx, dword [ebp - 0x634]
cmp ecx, dword [ebp - 0x638]
jg 0x1002bd48
xor edx, edx
mov dword [ebp - 0x34], 0x62de4bd4
mov dword [ebp - 0x30], edx
mov eax, dword [0x1009b144]
imul eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov ecx, dword [0x1009b1b0]
xor edx, edx
mov eax, dword [0x1009b150]
mov esi, dword [0x1009b154]
push edx
push ecx
push esi
push eax
call fcn.1006c090
mov word [ebp - 0x20], ax
movsx ecx, byte [ebp - 4]
movsx edx, byte [ebp - 3]
xor ecx, edx
not ecx
add ecx, dword [0x1009b18c]
mov dword [ebp - 0x28], ecx
jmp 0x1002be65
movzx eax, byte [ebp - 2]
not eax
test eax, eax
jne 0x1002bd6b
movsx ecx, byte [ebp - 1]
test ecx, ecx
jne 0x1002bd6b
mov dword [ebp - 0x750], 0
jmp 0x1002bd75
mov dword [ebp - 0x750], 1
movsx edx, byte [0x1009b0ba]
not edx
xor edx, dword [ebp - 0x750]
je 0x1002bdef
mov dword [0x1009b188], 1
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x38]
sub ecx, eax
mov dword [ebp - 0x38], ecx
movsx edx, word [ebp - 0xc]
test edx, edx
jne 0x1002bdb2
mov dword [ebp - 0x640], 1
jmp 0x1002bdbc
mov dword [ebp - 0x640], 0
movsx eax, word [0x1009b180]
not eax
imul eax, dword [ebp - 0x640]
cdq
mov ecx, dword [0x1009b160]
xor ecx, 0xf5cbee3a
sub eax, ecx
mov word [ebp - 0x18], ax
movzx edx, word [ebp - 0x20]
add edx, dword [0x1009b144]
mov word [ebp - 0x20], dx
jmp 0x1002be65
movsx eax, byte [0x1009b0bb]
not eax
movzx ecx, byte [ebp - 7]
cmp eax, ecx
jg 0x1002be65
movsx edx, byte [0x1009b0bb]
mov eax, dword [ebp - 0x40]
lea ecx, [edx + eax - 0xfdc9]
mov byte [0x1009b0bb], cl
movzx edx, word [ebp - 0x24]
shl edx, 3
mov byte [ebp - 2], dl
movsx eax, word [ebp - 0x1c]
imul ecx, eax, 0x5b
mov dword [ebp - 0x40], ecx
mov edx, 0xb948
mov word [ebp - 0x20], dx
mov eax, dword [0x1009b14c]
add eax, 0x3b
movsx ecx, byte [ebp - 3]
imul ecx, eax
mov byte [ebp - 3], cl
movzx eax, byte [0x1009b0a6]
cdq
mov ecx, 8
imul ecx, ecx, 0x732b
mov dword [ecx + 0x1009bd48], eax
mov dword [ecx + 0x1009bd4c], edx
mov edx, dword [ebp - 0x184]
add edx, 0x184
mov dword [ebp - 0xa38], edx
mov ecx, 9
mov esi, 0x1007e704
lea edi, [ebp - 0x14cc]
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x14cc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0x184]
add ecx, 0xf2
mov dword [ebp - 0xa34], ecx
mov edx, 4
imul eax, edx, 0x9719
mov cl, byte [eax + 0x1018a070]
mov byte [0x1009b07f], cl
movzx edx, byte [0x1009b07e]
sub edx, 0x1fdf
mov dword [0x1009b148], edx
mov eax, dword [0x1009b14c]
movzx ecx, byte [ebp - 2]
lea edx, [ecx + eax - 0x283d94e6]
mov byte [ebp - 2], dl
mov eax, dword [ebp - 0x184]
add eax, 0x3af
mov dword [ebp - 0xa3c], eax
xor ecx, ecx
mov byte [ebp - 0x62], cl
lea edx, [ebp - 0x166a]
push edx
lea ecx, [ebp - 0x62]
call fcn.10003980
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], 0
jmp 0x1002bf32
cmp dword [ebp - 0x84], 0x1d
jae 0x1002bf94
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x88]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0xa10], eax
mov ecx, dword [ebp - 0xa10]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x88]
movsx ecx, byte [eax]
xor edx, ecx
mov word [ebp - 0x1aa], dx
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x88]
lea ecx, [eax + edx*2 + 2]
mov dword [ebp - 0xa14], ecx
mov edx, dword [ebp - 0xa14]
mov ax, word [ebp - 0x1aa]
mov word [edx], ax
jmp 0x1002bf23
mov ecx, 0x1d
shl ecx, 1
mov edx, dword [ebp - 0x88]
lea eax, [edx + ecx + 2]
mov dword [ebp - 0xa18], eax
xor ecx, ecx
mov edx, dword [ebp - 0xa18]
mov word [edx], cx
mov eax, dword [ebp - 0x88]
add eax, 2
mov dword [ebp - 0xa20], eax
lea ecx, [ebp - 0xa1c]
push ecx
lea edx, [ebp - 0x644]
push edx
mov eax, dword [ebp - 0xa20]
push eax
call fcn.1000e9f0
mov ecx, dword [0x1009b178]
sub ecx, 0x38092514
mov dword [0x1009b188], ecx
mov ecx, dword [0x1009b144]
add ecx, dword [0x1009b160]
movzx eax, byte [0x1009b0a6]
movsx edx, byte [0x1009b0a7]
sub eax, edx
cdq
add ecx, eax
mov word [ebp - 0x14], cx
mov eax, dword [0x1009b1a8]
mov ecx, dword [0x1009b1ac]
mov dword [ebp - 0x1430], ecx
mov byte [ebp - 6], al
lea edx, [ebp - 0x648]
push edx
mov eax, dword [ebp - 0x644]
push eax
call fcn.1003cea0
mov dword [ebp - 0x194], eax
mov ecx, dword [ebp - 0x648]
push ecx
mov edx, dword [ebp - 0x194]
push edx
push 0x27
push str.CHUPkkw9PqkXTz1X5hJjDabXNwW83vY3yeMbTLd
call fcn.100304b0
push 0x40
mov eax, dword [ebp - 0x194]
push eax
lea ecx, [ebp - 0x162c]
push ecx
call fcn.10034740
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
mov byte [0x1009b01f], al
movzx edx, word [ebp - 0x162c]
cmp edx, 0x5a4d
jne 0x1002f82f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret