Function at 0x100465d0
Capabilities:
Accept command line arguments
Authenticate hmac
Encode data using base64
Encrypt data using speck
Identify system language via api
Parse pe header

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2464
call fcn.1006c1c0
push ebx
push esi
push edi
mov eax, dword [0x1009b1a8]
mov ecx, dword [0x1009b1ac]
mov dword [ebp - 0x2020], ecx
mov byte [ebp - 0x135], al
mov dword [ebp - 0x2c], 0xb6c0f2
mov dl, byte [0x1009b180]
mov byte [ebp - 3], dl
movsx eax, byte [0x1009b0bb]
mov dword [ebp - 0x30], eax
movsx cx, byte [0x1009b0a7]
mov word [ebp - 0x10], cx
mov edx, dword [0x1009b160]
mov dword [ebp - 0x28], edx
mov eax, dword [0x1009b168]
mov ecx, dword [0x1009b16c]
mov dword [ebp - 0x2024], ecx
mov byte [ebp - 1], al
mov byte [ebp - 5], 0xa6
mov dword [ebp - 0x34], 0xb31d0bfa
mov byte [ebp - 2], 0xbe
mov edx, dword [0x1009b14c]
mov word [ebp - 0x24], dx
mov al, byte [0x1009b0ba]
mov byte [ebp - 4], al
mov ecx, 0xffffdd9f
mov word [ebp - 0x20], cx
mov edx, 0xffff82d5
mov word [ebp - 0x1c], dx
mov eax, dword [0x1009b1b0]
mov byte [ebp - 7], al
xor ecx, ecx
mov dword [ebp - 0x3c], 0xc6d6ddf5
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x40], 0x57
mov edx, dword [0x1009b188]
mov dword [ebp - 0x44], edx
mov eax, dword [0x1009b14c]
mov word [ebp - 0x18], ax
mov ecx, 0xf182
mov word [ebp - 0xc], cx
mov edx, 0xb0908
mov dword [ebp - 0x54], 0x1331ad87
mov dword [ebp - 0x50], edx
xor eax, eax
mov dword [ebp - 0x4c], 1
mov dword [ebp - 0x48], eax
movsx cx, byte [0x1009b0ba]
mov word [ebp - 0x14], cx
mov dl, byte [0x1009b158]
mov byte [ebp - 6], dl
mov dword [ebp - 0x2028], 0xfb
mov dword [ebp - 0x202c], 0x51
mov eax, 0xa7768
mov dword [ebp - 0x232c], 0x80feed19
mov dword [ebp - 0x2328], eax
mov ecx, 0x5ad0
mov word [ebp - 0x1194], cx
mov dword [ebp - 0x2030], 0x9067ad2f
movzx eax, byte [0x1009b01f]
cdq
mov dword [ebp - 0x2334], eax
mov dword [ebp - 0x2330], edx
movsx eax, word [0x1009b180]
cdq
mov dword [ebp - 0x233c], eax
mov dword [ebp - 0x2338], edx
mov dword [ebp - 0x2034], 0xe1663241
mov edx, 0x1b
mov word [ebp - 0x1198], dx
mov eax, 0xc0d8
mov word [ebp - 0x119c], ax
movzx eax, byte [0x1009b07e]
cdq
mov dword [ebp - 0x2344], eax
mov dword [ebp - 0x2340], edx
movzx eax, byte [0x1009b0a6]
cdq
mov dword [ebp - 0x234c], eax
mov dword [ebp - 0x2348], edx
mov dword [ebp - 0x2038], 0xf7af133a
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov dword [ebp - 0x203c], edx
mov byte [ebp - 0x136], cl
mov byte [ebp - 0x137], 0x63
mov ax, word [0x1009bc7c]
mov word [0x1009b158], ax
movzx ecx, byte [0x1009b033]
movzx edx, byte [0x1009b0ee]
imul ecx, edx
mov byte [0x1009b033], cl
movsx eax, byte [0x1009b0bb]
movzx ecx, byte [ebp - 2]
add eax, ecx
cdq
mov esi, eax
mov edi, edx
movsx eax, byte [ebp - 1]
cdq
mov ecx, dword [0x1009b168]
mov ebx, dword [0x1009b16c]
push ebx
push ecx
push edx
push eax
call fcn.1006c090
sub esi, eax
sbb edi, edx
movsx eax, byte [ebp - 1]
cdq
push 0x6db74
push 0x61b56e1c
push edx
push eax
call fcn.1006c090
not eax
not edx
add eax, dword [0x1009b138]
adc edx, dword [0x1009b13c]
sub esi, eax
sbb edi, edx
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x50], edi
mov edx, dword [0x1009b148]
xor eax, eax
push 0x15426
push 0x853d6b62
push eax
push edx
call fcn.1006c090
mov ecx, eax
movsx eax, byte [ebp - 3]
cdq
sub eax, ecx
mov byte [ebp - 3], al
mov edx, dword [0x1009bc7c]
mov dword [ebp - 0x13c], edx
movsx eax, word [ebp - 0x20]
not eax
cmp dword [0x1009b1a0], eax
ja 0x1004688f
mov ecx, 0x779
test ecx, ecx
je 0x1004688f
movzx edx, byte [0x1009b07f]
test edx, edx
je 0x1004688f
mov dword [ebp - 0xcc8], 1
jmp 0x10046899
mov dword [ebp - 0xcc8], 0
mov eax, dword [ebp - 0xcc8]
not eax
test eax, eax
je 0x10046920
movsx ecx, word [ebp - 0x24]
xor ecx, dword [0x1009b14c]
movsx edx, word [ebp - 0x24]
xor edx, ecx
mov word [ebp - 0x24], dx
mov ecx, dword [0x1009b130]
mov edx, dword [0x1009b134]
mov dword [ebp - 0x2040], edx
add ecx, 0x96a4db65
movsx eax, byte [0x1009b0ba]
cdq
sub eax, ecx
mov byte [0x1009b0ba], al
movsx eax, word [ebp - 0x24]
add eax, 0x656d37cd
mov word [ebp - 0x20], ax
mov ecx, dword [0x1009b1a0]
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
mov dword [ebp - 0x2044], eax
and ecx, edx
mov dword [0x1009b1a0], ecx
mov ecx, dword [0x1009b1a0]
sub ecx, 0xc5b2
mov dl, byte [ebp - 6]
sar dl, cl
mov byte [ebp - 6], dl
mov eax, dword [ebp - 0x13c]
add eax, 0x3ac
mov dword [ebp - 0xcd8], eax
mov dword [0x1009b18c], 3
mov ecx, dword [0x1009b160]
and ecx, 0xf54e
mov edx, dword [0x1009b164]
and edx, 0
mov eax, dword [0x1009b164]
push eax
mov eax, dword [0x1009b160]
push eax
push edx
push ecx
call fcn.1006c090
mov byte [0x1009b0bb], al
mov ecx, dword [0x1009b198]
mov edx, dword [0x1009b19c]
mov dword [ebp - 0x2048], edx
mov byte [0x1009b0ee], cl
movzx eax, word [ebp - 0xc]
movzx ecx, word [ebp - 0xc]
add eax, ecx
movzx edx, word [ebp - 0xc]
imul edx, eax
mov word [ebp - 0xc], dx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
push 0xefca8
push 0x93ea989f
push ecx
push eax
call fcn.1006c090
mov byte [ebp - 6], al
movzx eax, word [ebp - 0x14]
shl eax, 6
cdq
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
movzx edx, byte [ebp - 4]
add edx, dword [0x1009b140]
movzx eax, byte [ebp - 4]
or eax, edx
mov byte [ebp - 4], al
mov ecx, dword [0x1009b18c]
mov dword [ebp - 0xccc], ecx
cmp dword [ebp - 0xccc], 3
ja case.default.0x100469f4
mov edx, dword [ebp - 0xccc]
jmp dword [edx*4 + 0x10069fd0]
mov eax, dword [ebp - 0x44]
cdq
add eax, 0x41625c84
mov dword [0x1009b170], eax
movsx eax, byte [ebp - 5]
movzx ecx, word [0x1009b158]
add eax, ecx
mov byte [ebp - 5], al
mov dword [ebp - 0x44], 0xd9de262e
movsx eax, byte [0x1009b0a7]
movsx edx, word [ebp - 0x10]
imul edx, dword [0x1009b14c]
not edx
sub eax, edx
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
movzx eax, byte [0x1009b0ee]
movzx ecx, byte [0x1009b07f]
add eax, ecx
movzx edx, byte [0x1009b0ee]
add edx, eax
mov byte [0x1009b0ee], dl
movzx eax, byte [ebp - 4]
movsx ecx, word [ebp - 0x10]
imul eax, ecx
mov byte [ebp - 4], al
jmp case.default.0x100469f4
movzx edx, byte [0x1009b07e]
sub edx, dword [0x1009b190]
movzx eax, byte [0x1009b07e]
imul eax, edx
mov byte [0x1009b07e], al
mov byte [ebp - 2], 0x6b
mov ecx, dword [0x1009b178]
add ecx, 0x62a4
mov dword [ebp - 0x28], ecx
movsx edx, word [ebp - 0x20]
imul eax, edx, 0xfc49
cdq
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
jmp case.default.0x100469f4
movzx eax, byte [0x1009b07e]
imul eax, dword [0x1009b170]
mov byte [0x1009b07e], al
movsx ecx, byte [ebp - 5]
add ecx, dword [0x1009b1a0]
xor edx, edx
mov dword [0x1009b178], ecx
mov dword [0x1009b17c], edx
mov eax, dword [0x1009b1a0]
add eax, 0xe0
mov dword [0x1009b14c], eax
movsx ecx, byte [0x1009b0ba]
movsx edx, word [0x1009b180]
add ecx, edx
movsx eax, byte [0x1009b0ba]
add eax, ecx
mov byte [0x1009b0ba], al
mov eax, dword [ebp - 0x40]
xor eax, 0xe3f6298
cdq
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
mov ecx, dword [0x1009bc7c]
xor edx, edx
mov dword [0x1009b150], ecx
mov dword [0x1009b154], edx
jmp case.default.0x100469f4
movzx eax, word [ebp - 0x14]
imul eax, dword [0x1009b14c]
movzx ecx, word [ebp - 0x14]
add ecx, eax
mov word [ebp - 0x14], cx
movzx eax, word [ebp - 0x14]
cdq
add eax, 0x57bcba8
mov dword [ebp - 0x44], eax
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
mov dword [ebp - 0x204c], eax
add edx, 0x61c30507
mov word [0x1009b158], dx
mov ecx, 4
imul edx, ecx, 0x19b0
mov eax, dword [ebp - 0x28]
mov dword [edx + 0x10223810], eax
mov ecx, dword [ebp - 0x13c]
add ecx, 0x3d3
mov dword [ebp - 0x2050], ecx
mov edx, 1
imul eax, edx, 0x52c1
mov cl, byte [ebp - 0x44]
mov byte [eax + 0x10153d68], cl
movzx edx, word [0x1009b158]
mov eax, dword [0x1009b144]
add eax, edx
mov ecx, dword [0x1009b144]
sub ecx, eax
mov dword [0x1009b144], ecx
mov dword [0x1009b1b0], 0xdb43170b
cmp dword [ebp - 0x44], 0
je 0x10046bf5
mov eax, dword [0x1009b188]
cdq
mov dword [ebp - 0xce0], eax
mov dword [ebp - 0xcdc], edx
jmp 0x10046c0c
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
mov dword [ebp - 0xce0], edx
mov dword [ebp - 0xcdc], eax
mov ecx, dword [ebp - 0xce0]
mov edx, dword [ebp - 0xcdc]
mov dword [0x1009b168], ecx
mov dword [0x1009b16c], edx
movzx eax, byte [0x1009b0ef]
cdq
sub eax, 0x41059a95
mov dword [0x1009b188], eax
mov eax, dword [ebp - 0x13c]
add eax, 0x30d
mov dword [ebp - 0x11a0], eax
mov dword [0x1009b1a0], 0xe95ba1aa
mov ecx, dword [str._wsdl:definitions_]
mov dword [ebp - 0x1dac], ecx
mov edx, dword [0x1007e968]
mov dword [ebp - 0x1da8], edx
mov eax, dword [0x1007e96c]
mov dword [ebp - 0x1da4], eax
mov ecx, dword [0x1007e970]
mov dword [ebp - 0x1da0], ecx
mov dx, word [0x1007e974]
mov word [ebp - 0x1d9c], dx
mov al, byte [0x1007e976]
mov byte [ebp - 0x1d9a], al
lea ecx, [ebp - 0x1dac]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [ebp - 3], al
movsx edx, byte [ebp - 3]
sub edx, 0x16a45e56
cmp dword [0x1009b1a0], edx
jne 0x10046e72
movzx eax, word [0x1009b184]
movsx ecx, byte [ebp - 3]
add ecx, 0x80ce
cmp eax, ecx
jne 0x10046e72
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x11b8], edx
mov dword [ebp - 0x11b4], eax
mov dword [ebp - 0x11c0], ecx
mov dword [ebp - 0x11bc], esi
mov edx, dword [ebp - 0x11b4]
cmp edx, dword [ebp - 0x11bc]
jb 0x10046d26
ja 0x10046d1a
mov eax, dword [ebp - 0x11b8]
cmp eax, dword [ebp - 0x11c0]
jbe 0x10046d26
mov dword [ebp - 0xcd0], 1
jmp 0x10046d30
mov dword [ebp - 0xcd0], 0
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x11c8], ecx
mov dword [ebp - 0x11c4], edx
cmp dword [ebp - 0x11c4], 0
ja 0x10046d54
cmp dword [ebp - 0x11c8], 0x2b
jbe 0x10046d60
mov dword [ebp - 0xcd4], 1
jmp 0x10046d6a
mov dword [ebp - 0xcd4], 0
mov eax, dword [ebp - 0xcd0]
cmp eax, dword [ebp - 0xcd4]
jle 0x10046e09
mov ecx, dword [0x1009b170]
add ecx, 0x4f
xor edx, edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], edx
push 0
push 0x5659
mov eax, dword [ebp - 0x50]
push eax
mov ecx, dword [ebp - 0x54]
push ecx
call fcn.1006c090
mov ecx, eax
movzx eax, byte [ebp - 4]
cdq
add eax, ecx
mov byte [ebp - 4], al
movsx eax, byte [ebp - 3]
cdq
push 0x5ec54
push 0xa17d378
push edx
push eax
call fcn.1006c090
mov dword [0x1009b18c], eax
movzx eax, word [0x1009b158]
cdq
mov edx, dword [0x1009b138]
sub edx, eax
movsx eax, word [ebp - 0x20]
add eax, dword [0x1009b1b0]
add edx, eax
mov byte [0x1009b07f], dl
movsx eax, byte [ebp - 6]
cdq
xor eax, dword [0x1009b178]
mov byte [ebp - 6], al
mov ecx, dword [ebp - 0x40]
not ecx
mov edx, dword [ebp - 0x28]
not edx
sub ecx, edx
mov byte [ebp - 1], cl
jmp 0x10046e20
xor eax, eax
je 0x10046e20
mov ecx, dword [ebp - 0x34]
add ecx, 1
mov dword [ebp - 0x34], ecx
imul edx, dword [ebp - 0x30], 0x97c21a32
mov dword [ebp - 0x44], edx
jmp 0x10046e72
mov dword [0x1009b1a0], 0xe95ba1aa
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
push 0
push 0x41
push eax
push edx
call fcn.1006c090
mov dword [0x1009b170], eax
movzx ecx, word [ebp - 0xc]
add ecx, dword [0x1009b144]
mov word [ebp - 0xc], cx
mov edx, dword [0x1009b1b0]
sub edx, 0x6e13334d
mov dword [ebp - 0x2c], edx
imul eax, dword [0x1009b1a0], 0x1dfb
movzx ecx, word [ebp - 0x18]
sub ecx, eax
mov word [ebp - 0x18], cx
mov edx, dword [0x1009b1a0]
add edx, 0x12
movzx eax, byte [0x1009b07e]
imul eax, edx
mov byte [0x1009b07e], al
mov ecx, dword [0x1009b130]
mov edx, dword [0x1009b134]
mov dword [ebp - 0x2054], edx
sub ecx, 0x1dd0
mov word [0x1009b184], cx
cmp dword [ebp - 0x30], 0
je 0x10046f14
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0xd30], eax
mov dword [ebp - 0xd2c], ecx
jmp 0x10046f26
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xd30], edx
mov dword [ebp - 0xd2c], eax
mov ecx, dword [ebp - 0xd30]
mov dword [ebp - 0x44], ecx
mov dl, byte [0x1009bc7c]
mov byte [0x1009b0bb], dl
movzx eax, byte [0x1009b01f]
cdq
xor eax, 0xca85cfe3
mov dword [0x1009b1a0], eax
mov eax, dword [ebp - 0xcd8]
sub eax, dword [ebp - 0x11a0]
cmp dword [ebp - 0xcd8], eax
je 0x10069fc6
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov dword [ebp - 0x11d0], ecx
mov dword [ebp - 0x11cc], edx
mov eax, dword [ebp - 0x11d0]
or eax, dword [ebp - 0x11cc]
je 0x1004706c
mov dword [0x1009b148], 0
movzx ecx, byte [0x1009b07f]
movsx edx, byte [ebp - 3]
xor ecx, edx
movzx eax, byte [0x1009b07f]
sub eax, ecx
mov byte [0x1009b07f], al
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
mov dword [ebp - 0x2058], edx
add ecx, 0x65
mov byte [0x1009b0a6], cl
movzx eax, byte [0x1009b0ef]
sar eax, 7
cdq
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
movsx eax, word [0x1009b180]
sub eax, 0x26fac446
mov word [ebp - 0x14], ax
movzx ecx, byte [0x1009b01f]
add ecx, dword [ebp - 0x28]
imul ecx, dword [ebp - 0x28]
mov dword [ebp - 0x28], ecx
mov edx, dword [0x1009b148]
mov dword [ebp - 0x11a4], edx
cmp dword [ebp - 0x11a4], 0
je 0x1004701d
jmp 0x10047067
movsx eax, byte [ebp - 6]
movzx ecx, byte [ebp - 4]
sub eax, ecx
movsx edx, byte [ebp - 6]
add edx, eax
mov byte [ebp - 6], dl
imul eax, dword [0x1009b144], 0x4e2e
mov word [ebp - 0x14], ax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x205c], edx
sub ecx, 0x763188b7
mov dword [ebp - 0x40], ecx
movsx eax, word [ebp - 0x24]
movzx ecx, word [ebp - 0x18]
sub eax, ecx
movsx edx, word [ebp - 0x24]
add edx, eax
mov word [ebp - 0x24], dx
jmp 0x10047112
cmp dword [0x1009b144], 0
jne 0x1004707e
cmp dword [0x1009b18c], 0
jne 0x100470c0
movzx eax, byte [0x1009b0a6]
movsx ecx, byte [ebp - 7]
add eax, ecx
movzx edx, byte [0x1009b0a6]
add edx, eax
mov byte [0x1009b0a6], dl
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov cl, 4
call fcn.1006c0d0
mov dword [0x1009b170], eax
mov byte [ebp - 3], 4
movzx eax, word [0x1009b158]
imul ecx, eax, 0x17
mov word [ebp - 0x10], cx
jmp 0x10047112
movzx edx, byte [0x1009b033]
mov eax, dword [0x1009b190]
sub eax, edx
je 0x10047112
mov ecx, dword [0x1009b190]
shr ecx, 3
xor edx, edx
mov dword [0x1009b138], ecx
mov dword [0x1009b13c], edx
mov dword [ebp - 0x44], 0xa41a163
movzx eax, byte [0x1009b0ef]
cdq
mov ecx, dword [0x1009b150]
mov esi, dword [0x1009b154]
add ecx, eax
adc esi, edx
mov dword [0x1009b150], ecx
mov dword [0x1009b154], esi
movzx edx, byte [0x1009b0a6]
sub edx, dword [0x1009b140]
mov byte [0x1009b0a6], dl
movzx eax, byte [0x1009b0ef]
cdq
xor eax, 0xb5b4595b
xor edx, 0x16088
mov dword [0x1009b168], eax
mov dword [0x1009b16c], edx
mov eax, dword [0x1009b1b0]
xor ecx, ecx
push 0x1ebf1
push 0xdf844069
push ecx
push eax
call fcn.1006c090
mov byte [0x1009b033], al
mov edx, dword [0x1009bc7c]
mov dword [ebp - 0x140], edx
movsx eax, byte [0x1009b0ba]
sub eax, dword [ebp - 0x30]
movsx ecx, byte [0x1009b0ba]
sub ecx, eax
mov byte [0x1009b0ba], cl
cmp dword [0x1009b170], 0
jne 0x1004719a
mov dword [ebp - 0x2d8], 1
jmp 0x100471a4
mov dword [ebp - 0x2d8], 0
mov edx, dword [ebp - 0x2d8]
and edx, 3
mov byte [0x1009b07f], dl
mov dword [ebp - 0x30], 0xf
mov ecx, dword [0x1009b140]
or ecx, 0xecfa5d73
xor esi, esi
mov eax, dword [ebp - 0x2c]
not eax
cdq
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 - 0x11d8], eax
mov dword [ebp - 0x11d4], edx
mov edx, dword [ebp - 0x11d8]
or edx, dword [ebp - 0x11d4]
jne 0x10047215
xor eax, eax
mov dword [ebp - 0x11e0], 1
mov dword [ebp - 0x11dc], eax
jmp 0x10047220
xorps xmm0, xmm0
movlpd qword [ebp - 0x11e0], xmm0
mov eax, dword [ebp - 0x28]
cdq
add eax, dword [ebp - 0x54]
adc edx, dword [ebp - 0x50]
not eax
not edx
push 0x8e67b
push 0xb9c82c28
push edx
push eax
call fcn.1006c090
add eax, dword [ebp - 0x11e0]
mov byte [ebp - 1], al
mov ecx, dword [ebp - 0x140]
add ecx, 0x2bf
mov dword [ebp - 0x10bc], ecx
mov edx, dword [0x1009b1a0]
not edx
add edx, dword [ebp - 0x28]
mov byte [ebp - 6], dl
cmp dword [0x1009b144], 0
je 0x1004727d
movzx eax, word [ebp - 0x18]
mov dword [ebp - 0x2dc], eax
jmp 0x1004728a
movzx ecx, byte [0x1009b0a6]
mov dword [ebp - 0x2dc], ecx
mov eax, dword [ebp - 0x2dc]
cdq
mov dword [0x1009b130], eax
mov dword [0x1009b134], edx
mov dword [0x1009b140], 0xb3
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
mov dword [ebp - 0x2060], eax
mov word [0x1009b184], dx
mov ecx, dword [0x1009b190]
imul ecx, dword [0x1009b18c]
mov edx, dword [0x1009b190]
add edx, ecx
mov dword [0x1009b190], edx
mov eax, dword [ebp - 0x140]
add eax, 0x335
mov dword [ebp - 0x4f4], eax
mov ecx, dword [ebp - 0x140]
add ecx, 0x13d
mov dword [ebp - 0x10c0], ecx
movzx edx, byte [0x1009b033]
movsx eax, word [ebp - 0x10]
cmp edx, eax
jg 0x10047395
movzx ecx, byte [ebp - 4]
movzx edx, byte [0x1009b0a6]
sub ecx, edx
jne 0x1004732a
mov dword [ebp - 0x2e0], 1
jmp 0x10047334
mov dword [ebp - 0x2e0], 0
movzx eax, byte [ebp - 2]
movsx ecx, byte [ebp - 5]
movsx edx, word [ebp - 0x10]
and ecx, edx
not ecx
xor ecx, dword [ebp - 0x2e0]
imul eax, ecx
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movzx eax, byte [0x1009b07e]
imul ecx, eax, 0xf5
mov word [0x1009b158], cx
movsx edx, word [ebp - 0x20]
add edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
sub eax, edx
mov dword [ebp - 0x44], eax
movzx ecx, byte [0x1009b033]
movsx edx, word [ebp - 0x10]
imul ecx, edx
movzx eax, byte [0x1009b033]
sub eax, ecx
mov byte [0x1009b033], al
jmp 0x100473cc
movsx ecx, word [ebp - 0x20]
and ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x44]
sub edx, ecx
mov dword [ebp - 0x44], edx
movsx ax, byte [ebp - 7]
mov ecx, 2
imul edx, ecx, 9
mov word [edx + 0x1014e3e8], ax
movsx eax, byte [ebp - 3]
movsx ecx, byte [ebp - 7]
sub eax, ecx
movsx edx, byte [ebp - 3]
imul edx, eax
mov byte [ebp - 3], dl
mov eax, dword [0x1009bc7c]
mov dword [ebp - 0x148], eax
cmp dword [0x1009b1a0], 0
jne 0x100473f6
movzx ecx, word [ebp - 0x18]
not ecx
test ecx, ecx
jne 0x100473f6
mov dword [ebp - 0x2e4], 0
jmp 0x10047400
mov dword [ebp - 0x2e4], 1
mov eax, dword [ebp - 0x2e4]
not eax
cdq
mov ecx, eax
mov esi, edx
movsx eax, word [ebp - 0x1c]
cdq
add eax, dword [ebp - 0x54]
adc edx, dword [ebp - 0x50]
mov dword [ebp - 0x11e8], ecx
mov dword [ebp - 0x11e4], esi
mov dword [ebp - 0x11f0], eax
mov dword [ebp - 0x11ec], edx
mov edx, dword [ebp - 0x11e4]
cmp edx, dword [ebp - 0x11ec]
jb 0x1004745a
ja 0x1004744e
mov eax, dword [ebp - 0x11e8]
cmp eax, dword [ebp - 0x11f0]
jb 0x1004745a
mov dword [ebp - 0x2f4], 1
jmp 0x10047464
mov dword [ebp - 0x2f4], 0
movzx ecx, word [ebp - 0x14]
test ecx, ecx
je 0x10047480
mov edx, dword [ebp - 0x54]
or edx, dword [ebp - 0x50]
je 0x10047480
mov dword [ebp - 0x2ec], 1
jmp 0x1004748a
mov dword [ebp - 0x2ec], 0
mov eax, dword [0x1009b178]
or eax, dword [0x1009b17c]
jne 0x100474a3
mov dword [ebp - 0x2e8], 1
jmp 0x100474ad
mov dword [ebp - 0x2e8], 0
mov ecx, dword [ebp - 0x2c]
not ecx
cmp ecx, dword [ebp - 0x2e8]
je 0x100474c6
mov dword [ebp - 0x2f0], 1
jmp 0x100474d0
mov dword [ebp - 0x2f0], 0
mov edx, dword [ebp - 0x2ec]
cmp edx, dword [ebp - 0x2f0]
jg 0x100474ea
mov dword [ebp - 0x2f8], 1
jmp 0x100474f4
mov dword [ebp - 0x2f8], 0
mov eax, dword [ebp - 0x2f4]
cmp eax, dword [ebp - 0x2f8]
jg 0x1004767d
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x11f8], ecx
mov dword [ebp - 0x11f4], edx
mov eax, dword [ebp - 0x11f8]
or eax, dword [ebp - 0x11f4]
jne 0x10047532
mov dword [ebp - 0x2fc], 1
jmp 0x1004753c
mov dword [ebp - 0x2fc], 0
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x1200], ecx
mov dword [ebp - 0x11fc], edx
mov eax, dword [0x1009b178]
cmp eax, dword [ebp - 0x1200]
jne 0x10047575
mov ecx, dword [0x1009b17c]
cmp ecx, dword [ebp - 0x11fc]
jne 0x10047575
mov dword [ebp - 0x300], 1
jmp 0x1004757f
mov dword [ebp - 0x300], 0
movzx edx, byte [0x1009b033]
xor edx, dword [ebp - 0x2fc]
cmp edx, dword [ebp - 0x300]
jne 0x100475a0
mov dword [ebp - 0x308], 1
jmp 0x100475aa
mov dword [ebp - 0x308], 0
movzx eax, byte [ebp - 4]
cmp eax, dword [0x1009b144]
ja 0x100475c2
mov dword [ebp - 0x304], 1
jmp 0x100475cc
mov dword [ebp - 0x304], 0
cmp dword [ebp - 0x304], 0xfdb01007
jbe 0x100475e4
mov dword [ebp - 0x30c], 1
jmp 0x100475ee
mov dword [ebp - 0x30c], 0
mov ecx, dword [ebp - 0x308]
cmp ecx, dword [ebp - 0x30c]
jge 0x10047650
mov edx, 8
imul eax, edx, 0x3327
mov ecx, dword [eax + 0x101c0cd0]
mov dword [ebp - 0x28], ecx
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
mov dword [ebp - 0x2064], eax
add edx, 0x7224
mov byte [0x1009b0a6], dl
movsx eax, byte [ebp - 5]
cdq
push 0xa9859
push 0x1bb5a97a
push edx
push eax
call fcn.1006c090
mov ecx, eax
mov eax, dword [ebp - 0x44]
cdq
add eax, ecx
mov dword [ebp - 0x44], eax
jmp 0x10047678
movsx eax, byte [ebp - 3]
cdq
sub eax, 0xda2b295
mov byte [ebp - 4], al
movzx edx, byte [0x1009b01f]
imul eax, edx, 0x111d
mov byte [ebp - 4], al
movsx ecx, byte [ebp - 1]
imul ecx, dword [ebp - 0x34]
mov byte [ebp - 1], cl
jmp 0x10047767
movzx edx, word [ebp - 0xc]
not edx
test edx, edx
je 0x100476f2
mov byte [ebp - 5], 0x9e
movzx eax, word [ebp - 0x18]
imul ecx, eax, 0x38
mov byte [0x1009b0ef], cl
movzx edx, byte [0x1009b07e]
mov eax, dword [ebp - 0x2c]
imul eax, edx
mov word [ebp - 0x14], ax
movsx eax, byte [ebp - 3]
cdq
add eax, 0x86f074e3
adc edx, 0x4dfb0
mov dword [0x1009b198], eax
mov dword [0x1009b19c], edx
mov ecx, dword [0x1009b130]
mov edx, dword [0x1009b134]
push 0
push 0xa1076b17
push edx
push ecx
call fcn.1006c090
mov ecx, eax
movzx eax, word [0x1009b158]
cdq
add eax, ecx
mov word [0x1009b158], ax
jmp 0x10047767
movzx edx, word [ebp - 0x18]
cmp edx, dword [0x1009b140]
jle 0x10047767
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x2068], ecx
add eax, 0xc3d0
mov dword [0x1009b1a0], eax
movsx edx, byte [ebp - 3]
imul edx, dword [0x1009b144]
mov byte [ebp - 3], dl
mov eax, dword [0x1009b170]
xor ecx, ecx
mov edx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
push ecx
push eax
push esi
push edx
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, dword [ebp - 0x2c]
sub edx, 0x69
mov word [0x1009b180], dx
mov eax, dword [ebp - 0x148]
add eax, 0x14c
mov dword [ebp - 0x206c], eax
mov dword [ebp - 0x144], 0
jmp 0x10047793
mov ecx, dword [ebp - 0x144]
add ecx, 2
mov dword [ebp - 0x144], ecx
cmp dword [ebp - 0x144], 0x35c
jge 0x10047877
cmp dword [0x1009b144], 0
jne 0x100477b8
mov dword [ebp - 0x310], 1
jmp 0x100477c2
mov dword [ebp - 0x310], 0
mov edx, dword [0x1009b190]
xor eax, eax
add edx, dword [0x1009b178]
adc eax, dword [0x1009b17c]
mov dword [ebp - 0x1208], edx
mov dword [ebp - 0x1204], eax
mov ecx, dword [ebp - 0x1208]
or ecx, dword [ebp - 0x1204]
jne 0x100477fc
mov dword [ebp - 0x314], 1
jmp 0x10047806
mov dword [ebp - 0x314], 0
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
xor ecx, dword [0x1009b178]
xor esi, dword [0x1009b17c]
movsx eax, byte [ebp - 3]
or eax, dword [ebp - 0x310]
cdq
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov ecx, eax
mov esi, edx
movsx eax, word [ebp - 0x10]
sub eax, dword [ebp - 0x314]
cdq
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov dword [ebp - 0x40], eax
movzx edx, byte [0x1009b0ee]
movsx eax, byte [0x1009b0bb]
sub edx, eax
movzx ecx, byte [0x1009b0ee]
add ecx, edx
mov byte [0x1009b0ee], cl
mov dx, word [ebp - 0x1c]
add dx, 1
mov word [ebp - 0x1c], dx
jmp 0x10047784
mov eax, dword [ebp - 0x148]
add eax, 0x3d6
mov dword [ebp - 0x2070], eax
movzx eax, byte [0x1009b033]
cdq
mov dword [ebp - 0x1210], eax
mov dword [ebp - 0x120c], edx
mov ecx, dword [ebp - 0x120c]
cmp ecx, dword [0x1009b13c]
ja 0x100478ce
jb 0x100478ba
mov edx, dword [ebp - 0x1210]
cmp edx, dword [0x1009b138]
jae 0x100478ce
xor eax, eax
mov dword [ebp - 0xd38], 1
mov dword [ebp - 0xd34], eax
jmp 0x100478d9
xorps xmm0, xmm0
movlpd qword [ebp - 0xd38], xmm0
mov ecx, dword [0x1009b13c]
cmp ecx, dword [ebp - 0xd34]
ja 0x10047903
jb 0x100478f7
mov edx, dword [0x1009b138]
cmp edx, dword [ebp - 0xd38]
jae 0x10047903
mov dword [ebp - 0x318], 1
jmp 0x1004790d
mov dword [ebp - 0x318], 0
mov eax, dword [ebp - 0x318]
not eax
test eax, eax
je 0x10047970
movsx ecx, word [ebp - 0x24]
movsx edx, byte [ebp - 1]
sub ecx, edx
mov ax, word [ebp - 0x24]
shl ax, cl
mov word [ebp - 0x24], ax
movzx ecx, byte [ebp - 4]
movsx edx, word [0x1009b180]
imul ecx, edx
mov byte [ebp - 4], cl
movsx eax, byte [0x1009b0a7]
add eax, 0xfbcc
mov word [ebp - 0x14], ax
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
mov dword [ebp - 0x2074], edx
sub ecx, 0x4a45
mov word [ebp - 0x24], cx
jmp 0x10047a02
mov eax, dword [0x1009b14c]
xor eax, 0x2c114d91
mov dword [ebp - 0x44], eax
movsx ecx, byte [ebp - 3]
imul edx, ecx, 0x14
mov dword [0x1009b148], edx
movsx eax, byte [0x1009b0a7]
movzx ecx, byte [ebp - 2]
imul eax, ecx
mov byte [0x1009b0a7], al
mov edx, dword [0x1009b178]
or edx, dword [0x1009b17c]
je 0x100479c0
mov eax, dword [0x1009b170]
xor ecx, ecx
mov dword [ebp - 0xd40], eax
mov dword [ebp - 0xd3c], ecx
jmp 0x100479d7
mov edx, dword [0x1009b178]
mov eax, dword [0x1009b17c]
mov dword [ebp - 0xd40], edx
mov dword [ebp - 0xd3c], eax
mov ecx, dword [ebp - 0xd40]
mov dword [ebp - 0x40], ecx
xor edx, edx
mov dword [0x1009b160], 2
mov dword [0x1009b164], edx
movsx eax, byte [0x1009b0ba]
sub eax, 0xeb8131a
mov word [ebp - 0x1c], ax
mov ecx, dword [ebp - 0x148]
add ecx, 0x68
mov dword [ebp - 0x2078], ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
mov word [ebp - 0xc], ax
mov edx, dword [0x1009bc7c]
mov dword [ebp - 0x14c], edx
mov eax, 0x37658
mov dword [0x1009b198], 0xb59156d0
mov dword [0x1009b19c], eax
mov ecx, dword [0x1009bc7c]
mov dword [ebp - 0x44], ecx
movzx edx, byte [0x1009b01f]
mov eax, dword [0x1009b188]
imul eax, edx
mov ecx, dword [0x1009b188]
sub ecx, eax
mov dword [0x1009b188], ecx
movzx edx, word [ebp - 0x18]
test edx, edx
je 0x10047a7c
mov eax, dword [ebp - 0x30]
xor ecx, ecx
mov dword [ebp - 0xce8], eax
mov dword [ebp - 0xce4], ecx
jmp 0x10047a8e
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xce8], edx
mov dword [ebp - 0xce4], eax
mov ecx, dword [ebp - 0xce8]
mov edx, dword [ebp - 0xce4]
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x14c]
add eax, 0x33d
mov dword [ebp - 0x207c], eax
mov byte [0x1009b0a6], 0xd1
mov ecx, dword [ebp - 0x54]
or ecx, dword [ebp - 0x50]
jne 0x10047ac6
mov byte [ebp - 0x70], 1
jmp 0x10047aca
mov byte [ebp - 0x70], 0
mov dl, byte [ebp - 0x70]
mov byte [ebp - 6], dl
xor eax, eax
mov dword [0x1009b178], 0xda
mov dword [0x1009b17c], eax
push 0xe8128
push 0x4563e026
mov ecx, dword [0x1009b17c]
push ecx
mov edx, dword [0x1009b178]
push edx
call fcn.1006c090
mov ecx, eax
movsx eax, word [0x1009b180]
cdq
add eax, ecx
mov word [0x1009b180], ax
mov byte [ebp - 6], 0xb9
mov edx, dword [ebp - 0x14c]
add edx, 0xb8
mov dword [ebp - 0x2080], edx
movzx eax, word [0x1009b158]
cdq
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
mov dword [ebp - 0x1218], eax
mov dword [ebp - 0x1214], edx
mov dword [ebp - 0x1220], ecx
mov dword [ebp - 0x121c], esi
mov edx, dword [ebp - 0x1214]
cmp edx, dword [ebp - 0x121c]
jl 0x10047bfb
jg 0x10047b72
mov eax, dword [ebp - 0x1218]
cmp eax, dword [ebp - 0x1220]
jbe 0x10047bfb
movsx eax, word [0x1009b180]
cdq
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x2084], edx
add eax, ecx
mov word [ebp - 0x18], ax
mov eax, dword [0x1009b138]
add eax, 0x1e
mov byte [0x1009b0a7], al
imul eax, dword [ebp - 0x28], 0x62
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x28]
cdq
add eax, 0xc1628d84
mov byte [0x1009b0ef], al
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov dword [ebp - 0x2088], edx
add ecx, 0x8fa9c37c
mov dword [0x1009b1b0], ecx
movsx eax, byte [ebp - 7]
test eax, eax
je 0x10047be4
movzx ecx, byte [ebp - 2]
mov dword [ebp - 0x31c], ecx
jmp 0x10047bee
movsx edx, word [ebp - 0x24]
mov dword [ebp - 0x31c], edx
mov ax, word [ebp - 0x31c]
mov word [ebp - 0x20], ax
jmp 0x10047c6e
movsx ecx, byte [0x1009b0a7]
test ecx, ecx
je 0x10047c6e
movsx edx, byte [0x1009b0ba]
sub edx, dword [0x1009b1a0]
mov byte [0x1009b0ba], dl
mov byte [0x1009b0ee], 0xc5
movsx eax, byte [ebp - 7]
imul ecx, eax, 0x6adb698b
mov dword [ebp - 0x28], ecx
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
mov dword [ebp - 0x208c], eax
add edx, 0xae9c9339
mov byte [0x1009b0ef], dl
movsx ecx, byte [ebp - 1]
movzx edx, byte [ebp - 2]
sub ecx, edx
movsx eax, byte [ebp - 1]
sub eax, ecx
mov byte [ebp - 1], al
mov eax, dword [0x1009b188]
cdq
sub eax, dword [0x1009b178]
mov dword [0x1009b188], eax
mov ecx, dword [ebp - 0x14c]
add ecx, 0x23e
mov dword [ebp - 0x2090], ecx
mov dword [0x1009b1a0], 0xf9686bb
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessorNumber]
mov dword [0x1009b188], eax
movsx edx, byte [ebp - 3]
add edx, 1
cmp dword [0x1009b1a0], edx
jne 0x100480c4
mov byte [0x1009b0ef], 2
xor eax, eax
mov dword [ebp - 0x3c], 0xb08b
mov dword [ebp - 0x38], eax
mov ecx, dword [0x1009b1a0]
add ecx, 0x19
mov dword [0x1009b144], ecx
movsx edx, byte [0x1009b0ba]
movsx eax, word [ebp - 0x24]
or edx, eax
mov ecx, 0x3ce405f3
sub ecx, edx
movzx edx, word [0x1009b158]
mov eax, dword [ebp - 0x40]
not eax
imul edx, eax
movsx eax, byte [0x1009b0bb]
or edx, eax
add ecx, edx
mov byte [ebp - 7], cl
movzx eax, byte [ebp - 2]
add eax, 0x6b00c973
cdq
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
mov dword [0x1009b1b0], 0x67c1
movzx eax, byte [0x1009b0ef]
cdq
mov ecx, dword [0x1009b150]
mov esi, dword [0x1009b154]
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov ecx, eax
mov esi, edx
movzx eax, byte [0x1009b0ef]
cdq
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov byte [0x1009b0ef], al
mov dl, byte [0x1009b0ef]
mov byte [ebp - 0x150], dl
cmp byte [ebp - 0x150], 0
je 0x10047d85
cmp byte [ebp - 0x150], 1
je 0x10047e11
cmp byte [ebp - 0x150], 2
je 0x10047ef4
jmp 0x10047f06
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov dword [ebp - 0x2094], edx
sub ecx, 0x6ddd762e
movzx eax, byte [0x1009b0ef]
cdq
sub eax, ecx
mov byte [0x1009b0ef], al
movsx eax, byte [ebp - 3]
cdq
sub eax, 0xbd5eb644
sbb edx, 0xcba77
mov ecx, dword [0x1009b130]
mov esi, dword [0x1009b134]
add ecx, eax
adc esi, edx
mov dword [0x1009b130], ecx
mov dword [0x1009b134], esi
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
mov dword [ebp - 0x2098], eax
sub edx, 0x3d43bb3e
mov byte [0x1009b0ef], dl
movsx ecx, word [ebp - 0x10]
movzx edx, byte [0x1009b01f]
lea eax, [edx + ecx + 0xde]
mov byte [0x1009b01f], al
jmp 0x10047f06
mov ecx, 0xdee4
mov word [ebp - 0xc], cx
cmp dword [0x1009b188], 0
jne 0x10047e2f
mov dword [ebp - 0x320], 1
jmp 0x10047e39
mov dword [ebp - 0x320], 0
movzx edx, byte [0x1009b01f]
add edx, dword [ebp - 0x320]
add edx, dword [ebp - 0x44]
jne 0x10047e5f
xor eax, eax
mov dword [ebp - 0xd48], 1
mov dword [ebp - 0xd44], eax
jmp 0x10047e6a
xorps xmm0, xmm0
movlpd qword [ebp - 0xd48], xmm0
movsx ecx, byte [0x1009b0ba]
imul ecx, dword [0x1009b170]
not ecx
xor esi, esi
movsx eax, byte [0x1009b0a7]
not eax
cdq
xor eax, dword [0x1009b178]
xor edx, dword [0x1009b17c]
push edx
push eax
push esi
push ecx
call fcn.1006c090
add eax, dword [ebp - 0xd48]
adc edx, dword [ebp - 0xd44]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movsx edx, byte [ebp - 1]
add edx, 0x7995728c
xor eax, eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], eax
movzx ecx, word [ebp - 0xc]
add ecx, dword [0x1009b1b0]
jne 0x10047ed7
mov dword [ebp - 0x324], 1
jmp 0x10047ee1
mov dword [ebp - 0x324], 0
mov edx, dword [0x1009b1b0]
not edx
add edx, dword [ebp - 0x324]
mov dword [ebp - 0x34], edx
jmp 0x10047f06
mov eax, 0x44cd
mov word [ebp - 0x24], ax
mov cl, byte [0x1009bc7c]
mov byte [ebp - 5], cl
movsx eax, byte [ebp - 5]
cdq
mov dword [ebp - 0x1228], eax
mov dword [ebp - 0x1224], edx
mov edx, dword [ebp - 0x1228]
cmp edx, dword [0x1009b178]
jne 0x10047f33
mov eax, dword [ebp - 0x1224]
cmp eax, dword [0x1009b17c]
je 0x10047fa0
movsx ecx, byte [ebp - 1]
sub ecx, dword [ebp - 0x30]
movsx edx, byte [ebp - 1]
sub edx, ecx
mov byte [ebp - 1], dl
mov eax, dword [ebp - 0x2c]
cdq
sub eax, 0xe3865a6d
mov word [ebp - 0xc], ax
movsx eax, byte [0x1009b0ba]
movsx ecx, byte [ebp - 6]
imul eax, ecx
test eax, eax
jne 0x10047f6e
mov dword [ebp - 0x328], 1
jmp 0x10047f78
mov dword [ebp - 0x328], 0
mov edx, dword [ebp - 0x328]
sub edx, dword [0x1009b170]
mov byte [0x1009b07f], dl
mov eax, dword [0x1009b14c]
mov dword [0x1009b144], eax
mov ecx, dword [0x1009b188]
mov dword [0x1009b144], ecx
movzx edx, byte [0x1009b0ef]
cmp edx, 1
jne 0x100480c4
mov eax, dword [0x1009b140]
cdq
mov ecx, dword [0x1009b130]
mov esi, dword [0x1009b134]
mov dword [ebp - 0x1230], eax
mov dword [ebp - 0x122c], edx
mov dword [ebp - 0x1238], ecx
mov dword [ebp - 0x1234], esi
mov edx, dword [ebp - 0x122c]
cmp edx, dword [ebp - 0x1234]
jg 0x10048004
jl 0x10047ff8
mov eax, dword [ebp - 0x1230]
cmp eax, dword [ebp - 0x1238]
jae 0x10048004
mov dword [ebp - 0x32c], 1
jmp 0x1004800e
mov dword [ebp - 0x32c], 0
cmp dword [0x1009b140], 0x30
jge 0x10048023
mov dword [ebp - 0x330], 1
jmp 0x1004802d
mov dword [ebp - 0x330], 0
mov ecx, dword [ebp - 0x32c]
cmp ecx, dword [ebp - 0x330]
jne 0x10048057
mov edx, dword [0x1009b144]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
xor ecx, ecx
mov dword [0x1009b130], eax
mov dword [0x1009b134], ecx
jmp 0x1004808a
movsx edx, byte [ebp - 7]
movzx eax, byte [0x1009b01f]
imul edx, eax
movsx ecx, byte [ebp - 7]
imul ecx, edx
mov byte [ebp - 7], cl
movsx edx, byte [0x1009b0ba]
add edx, dword [0x1009b148]
movsx eax, byte [0x1009b0ba]
add eax, edx
mov byte [0x1009b0ba], al
jmp 0x100480c4
mov dword [0x1009b1a0], 0xf9686bb
mov eax, dword [0x1009b148]
add eax, dword [0x1009b144]
mov word [ebp - 0x24], ax
movzx eax, word [ebp - 0x14]
cdq
sub eax, 0xf69122f3
sbb edx, 0x84921
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movsx eax, byte [0x1009b0bb]
cdq
mov ecx, eax
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
mov dword [ebp - 0x20a0], eax
sub ecx, edx
movsx eax, byte [0x1009b0bb]
cdq
sub eax, ecx
mov byte [0x1009b0bb], al
mov ecx, dword [0x1009bc7c]
xor edx, edx
mov dword [0x1009b198], ecx
mov dword [0x1009b19c], edx
movsx eax, word [ebp - 0x10]
sub eax, dword [0x1009b188]
mov ecx, dword [ebp - 0x34]
sub ecx, eax
mov dword [ebp - 0x30], ecx
mov edx, dword [0x1009bc7c]
mov dword [0x1009b140], edx
movsx eax, byte [ebp - 6]
shl eax, 6
cdq
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
movsx eax, byte [ebp - 6]
cdq
mov ecx, dword [0x1009b13c]
push ecx
mov ecx, dword [0x1009b138]
push ecx
push edx
push eax
call fcn.1006c090
mov byte [ebp - 6], al
imul edx, dword [ebp - 0x2c], 0xb4c7
mov byte [ebp - 5], dl
mov eax, dword [0x1009bc7c]
mov dword [ebp - 0x154], eax
mov byte [0x1009b0ee], 1
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov cl, 5
call fcn.1006c0d0
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movsx ecx, byte [ebp - 5]
mov edx, dword [0x1009b144]
imul edx, ecx
mov dword [0x1009b144], edx
mov ax, word [ebp - 0xc]
mov ecx, 1
imul edx, ecx, 0x51
mov byte [edx + 0x101c09f0], al
push 0
push 0x5a
mov eax, dword [ebp - 0x50]
push eax
mov ecx, dword [ebp - 0x54]
push ecx
call fcn.1006c090
mov word [ebp - 0x1c], ax
mov eax, dword [0x1009b140]
cdq
mov ecx, 8
imul ecx, ecx, 0x46
mov dword [ecx + 0x102f2190], eax
mov dword [ecx + 0x102f2194], edx
mov dl, byte [0x1009b0ee]
mov byte [ebp - 0x334], dl
cmp byte [ebp - 0x334], 0
je 0x10048224
cmp byte [ebp - 0x334], 1
je 0x10048261
jmp 0x1004827e
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
push 0
push 0x7123
push ecx
push eax
call fcn.1006c090
mov word [ebp - 0x24], ax
mov dword [ebp - 0x28], 0x3a25
movsx eax, word [ebp - 0x1c]
cdq
add eax, 0xa6868379
mov dword [ebp - 0x28], eax
mov dl, byte [0x1009b0a7]
add dl, 1
mov byte [0x1009b0a7], dl
jmp 0x1004827e
movzx eax, byte [0x1009b0a6]
xor eax, 0x9ca1
mov dword [0x1009b18c], eax
mov eax, dword [ebp - 0x44]
cdq
sub eax, 0xae920483
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x154]
add ecx, 0x114
mov dword [ebp - 0x584], ecx
mov ecx, 9
mov esi, str.ds_ext_aad_aadclou
lea edi, [ebp - 0x2414]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x2414]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [0x1009b0ef], al
mov eax, dword [ebp - 0x154]
add eax, 0x36f
mov dword [ebp - 0x20a4], eax
movsx eax, word [ebp - 0x20]
cdq
sub eax, 0x2c965bfe
mov word [ebp - 0x20], ax
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
mov dword [ebp - 0x1240], ecx
mov dword [ebp - 0x123c], edx
mov eax, dword [ebp - 0x1240]
or eax, dword [ebp - 0x123c]
jne 0x10048307
mov dword [ebp - 0x338], 1
jmp 0x10048311
mov dword [ebp - 0x338], 0
movsx ecx, byte [ebp - 6]
add ecx, dword [ebp - 0x338]
not ecx
mov edx, dword [ebp - 0x44]
imul edx, dword [0x1009b18c]
xor ecx, edx
mov esi, ecx
mov ecx, dword [0x1009b1b0]
xor edi, edi
and ecx, dword [ebp - 0x54]
and edi, dword [ebp - 0x50]
movzx eax, byte [0x1009b033]
cdq
mov ebx, dword [ebp - 0x48]
add eax, dword [ebp - 0x4c]
adc edx, ebx
push edx
push eax
push edi
push ecx
call fcn.1006c090
xor esi, eax
mov dword [0x1009b14c], esi
mov byte [0x1009b0ef], 1
movsx edx, byte [ebp - 3]
add edx, 0x28
movsx eax, byte [0x1009b0ba]
or eax, edx
mov byte [0x1009b0ba], al
mov ecx, dword [0x1009b18c]
xor edx, edx
sub ecx, 0x27f62648
sbb edx, 0xa76d7
mov dword [0x1009b168], ecx
mov dword [0x1009b16c], edx
movsx eax, word [ebp - 0x1c]
add eax, dword [0x1009b18c]
mov dword [0x1009b18c], eax
mov ecx, dword [ebp - 0x154]
add ecx, 0x236
mov dword [ebp - 0x198], ecx
mov edx, dword [0x1009bc7c]
mov dword [ebp - 0x158], edx
movsx eax, byte [0x1009b0bb]
movsx ecx, byte [ebp - 6]
sub eax, ecx
movsx edx, byte [0x1009b0bb]
add edx, eax
mov byte [0x1009b0bb], dl
movsx eax, word [ebp - 0x24]
add eax, 0x54
mov dword [ebp - 0x2c], eax
movzx eax, byte [ebp - 2]
cdq
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov byte [ebp - 2], al
mov edx, dword [ebp - 0x158]
add edx, 0x159
mov dword [ebp - 0x11ac], edx
mov byte [0x1009b01f], 3
movsx eax, byte [0x1009b0a7]
add eax, dword [ebp - 0x40]
imul eax, dword [ebp - 0x40]
mov dword [ebp - 0x40], eax
mov ecx, dword [0x1009b1a0]
sub ecx, 0x66afcae9
mov byte [ebp - 2], cl
mov edx, dword [0x1009b170]
shl edx, 5
mov dword [ebp - 0x28], edx
movzx eax, byte [0x1009b01f]
mov dword [ebp - 0x33c], eax
cmp dword [ebp - 0x33c], 3
ja case.default.0x1004846b
mov ecx, dword [ebp - 0x33c]
jmp dword [ecx*4 + 0x10069fe0]
movsx edx, word [ebp - 0x20]
test edx, edx
jne 0x10048486
mov dword [ebp - 0x340], 1
jmp 0x10048490
mov dword [ebp - 0x340], 0
mov ecx, dword [0x1009b168]
mov edx, dword [0x1009b16c]
mov dword [ebp - 0x20a8], edx
mov eax, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov dword [ebp - 0x20ac], edx
sub ecx, eax
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x20b0], edx
sub ecx, eax
movzx eax, word [ebp - 0x14]
movsx edx, word [ebp - 0x24]
imul eax, edx
mov edx, dword [ebp - 0x340]
sub edx, eax
mov eax, edx
cdq
add ecx, eax
mov dword [0x1009b188], ecx
movzx eax, byte [0x1009b0ee]
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov eax, dword [0x1009b140]
sub eax, 0xa6
mov byte [0x1009b0ef], al
imul ecx, dword [ebp - 0x34], 0x2d426660
mov byte [ebp - 4], cl
mov edx, dword [ebp - 0x40]
and edx, dword [ebp - 0x30]
imul edx, dword [ebp - 0x40]
mov dword [ebp - 0x40], edx
jmp case.default.0x1004846b
mov eax, dword [ebp - 0x2c]
mov dword [0x1009b1a0], eax
mov dword [0x1009b140], 0xfe22a9fd
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
add ecx, 0x2f
adc edx, 0
mov dword [0x1009b160], ecx
mov dword [0x1009b164], edx
jmp case.default.0x1004846b
movsx eax, byte [ebp - 3]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [0x1009b178]
adc esi, dword [0x1009b17c]
movzx edx, byte [0x1009b033]
mov eax, dword [0x1009b140]
sub eax, edx
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x1248], ecx
mov dword [ebp - 0x1244], esi
mov eax, dword [ebp - 0x1248]
or eax, dword [ebp - 0x1244]
jne 0x1004859f
xor ecx, ecx
mov dword [ebp - 0x1250], 1
mov dword [ebp - 0x124c], ecx
jmp 0x100485aa
xorps xmm0, xmm0
movlpd qword [ebp - 0x1250], xmm0
movzx edx, byte [ebp - 4]
movsx eax, word [ebp - 0x20]
add edx, eax
jne 0x100485ca
xor ecx, ecx
mov dword [ebp - 0xd50], 1
mov dword [ebp - 0xd4c], ecx
jmp 0x100485d5
xorps xmm0, xmm0
movlpd qword [ebp - 0xd50], xmm0
movsx eax, byte [ebp - 7]
cdq
mov ecx, dword [0x1009b154]
sub eax, dword [0x1009b150]
sbb edx, ecx
push edx
push eax
mov edx, dword [ebp - 0xd4c]
push edx
mov eax, dword [ebp - 0xd50]
push eax
call fcn.1006c090
mov ecx, dword [ebp - 0x1250]
sub ecx, eax
mov byte [ebp - 4], cl
mov edx, dword [0x1009b160]
sub edx, 0x5e4a61d0
mov eax, dword [0x1009b164]
sbb eax, 0
push eax
push edx
mov ecx, dword [0x1009b164]
push ecx
mov edx, dword [0x1009b160]
push edx
call fcn.1006c090
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
mov eax, dword [0x1009b138]
or eax, dword [0x1009b13c]
je 0x10048663
mov ecx, dword [0x1009b160]
mov edx, dword [0x1009b164]
mov dword [ebp - 0xd58], ecx
mov dword [ebp - 0xd54], edx
jmp 0x10048674
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov dword [ebp - 0xd58], eax
mov dword [ebp - 0xd54], ecx
mov dl, byte [ebp - 0xd58]
mov byte [0x1009b07f], dl
movsx eax, byte [ebp - 5]
movzx ecx, byte [0x1009b07e]
sub eax, ecx
cdq
mov dword [0x1009b150], eax
mov dword [0x1009b154], edx
jmp case.default.0x1004846b
movzx eax, byte [0x1009b033]
cdq
add eax, 0x42fb531f
adc edx, 0x4a560
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
mov dword [ebp - 0x40], 0xa6cd9159
movzx eax, word [ebp - 0x18]
cdq
mov ecx, 8
imul ecx, ecx, 0x2bfd
mov dword [ecx + 0x10317600], eax
mov dword [ecx + 0x10317604], edx
mov byte [0x1009b0a6], 2
mov edx, dword [ebp - 0x158]
add edx, 0xae
mov dword [ebp - 0x11b0], edx
mov byte [ebp - 7], 0
mov eax, dword [0x1009b1b0]
movzx ecx, word [ebp - 0x14]
lea edx, [ecx + eax + 0x27a297df]
mov word [ebp - 0x14], dx
movsx eax, word [ebp - 0x24]
add eax, 0x80
mov dword [0x1009b190], eax
movsx ecx, byte [0x1009b0a7]
test ecx, ecx
jne 0x10048732
mov dword [ebp - 0x344], 1
jmp 0x1004873c
mov dword [ebp - 0x344], 0
mov edx, dword [ebp - 0x344]
add edx, 0x89
movsx eax, word [ebp - 0x10]
xor edx, eax
jne 0x10048756
mov byte [ebp - 0x71], 1
jmp 0x1004875a
mov byte [ebp - 0x71], 0
mov cl, byte [ebp - 0x71]
mov byte [ebp - 1], cl
mov eax, dword [ebp - 0x44]
cdq
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
add ecx, eax
adc esi, edx
mov edx, dword [0x1009b198]
mov eax, dword [0x1009b19c]
push esi
push ecx
push eax
push edx
call fcn.1006c090
mov dword [0x1009b198], eax
mov dword [0x1009b19c], edx
xor ecx, ecx
mov dword [0x1009b198], 0xcf
mov dword [0x1009b19c], ecx
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
mov dword [ebp - 0x20b4], eax
mov ecx, dword [0x1009b198]
mov eax, dword [0x1009b19c]
mov dword [ebp - 0x20b8], eax
sub edx, ecx
mov word [ebp - 0x1c], dx
mov cl, byte [ebp - 7]
mov byte [ebp - 0x11a8], cl
cmp byte [ebp - 0x11a8], 0
je 0x100487e1
jmp 0x10048822
movzx eax, word [ebp - 0xc]
cdq
push 0x7a920
push 0xe9194d0e
push edx
push eax
call fcn.1006c090
mov dword [0x1009b1a0], eax
movsx eax, byte [ebp - 6]
cdq
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], esi
movzx edx, byte [0x1009b07e]
add edx, 0xa3
mov word [ebp - 0x24], dx
mov eax, dword [ebp - 0x158]
add eax, 0x318
mov dword [ebp - 0x348], eax
mov dword [0x1009b1a0], 0x2fb9
movsx ecx, byte [ebp - 5]
mov edx, dword [0x1009b14c]
xor edx, ecx
mov eax, dword [0x1009b14c]
sub eax, edx
mov dword [0x1009b14c], eax
movsx ecx, byte [ebp - 3]
add ecx, 0x19
mov word [ebp - 0xc], cx
movzx edx, word [0x1009b184]
xor edx, dword [0x1009b170]
xor eax, eax
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
movsx ecx, word [ebp - 0x10]
add ecx, 0x3e6d9284
cmp dword [0x1009b14c], ecx
jne 0x100489a2
movzx edx, word [0x1009b158]
add edx, dword [ebp - 0x28]
cmp edx, 1
jne 0x100489a2
movsx eax, word [ebp - 0x10]
movzx ecx, byte [0x1009b0ee]
cmp eax, ecx
je 0x10048934
movzx eax, word [ebp - 0x18]
cdq
mov ecx, eax
sub ecx, dword [0x1009b178]
movzx eax, word [ebp - 0x18]
cdq
or eax, ecx
mov word [ebp - 0x18], ax
movzx edx, byte [0x1009b07e]
imul edx, dword [ebp - 0x30]
mov dword [ebp - 0x30], edx
mov eax, dword [0x1009b148]
sub eax, 0xed
mov word [ebp - 0x1c], ax
mov eax, dword [0x1009b188]
add eax, 0x9174
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movsx ecx, byte [ebp - 1]
test ecx, ecx
jne 0x10048912
xor edx, edx
mov dword [ebp - 0xd60], 1
mov dword [ebp - 0xd5c], edx
jmp 0x1004891d
xorps xmm0, xmm0
movlpd qword [ebp - 0xd60], xmm0
mov eax, dword [ebp - 0xd60]
mov ecx, dword [ebp - 0xd5c]
mov dword [0x1009b150], eax
mov dword [0x1009b154], ecx
jmp 0x10048833
movsx edx, word [ebp - 0x20]
push edx
call dword [sym.imp.USER32.dll_GetLastActivePopup]
mov byte [ebp - 1], al
mov eax, dword [ebp - 0x11ac]
imul eax, dword [ebp - 0x348]
imul eax, dword [ebp - 0x11b0]
cmp eax, dword [ebp - 0x348]
je 0x10069fc6
xor ecx, ecx
mov dword [0x1009b130], 0x56f3e680
mov dword [0x1009b134], ecx
movzx edx, byte [0x1009b033]
movsx eax, word [ebp - 0x10]
xor edx, eax
movzx ecx, byte [0x1009b033]
add ecx, edx
mov byte [0x1009b033], cl
cmp dword [0x1009b1b0], 0
jne 0x10048a13
mov dword [ebp - 0x34c], 1
jmp 0x10048a1d
mov dword [ebp - 0x34c], 0
movsx edx, byte [ebp - 1]
sub edx, dword [ebp - 0x28]
movsx eax, byte [ebp - 7]
sub eax, dword [0x1009b1b0]
sub edx, eax
sub edx, dword [ebp - 0x34c]
mov dword [ebp - 0x28], edx
mov cx, word [ebp - 0x20]
add cx, 1
mov word [ebp - 0x20], cx
movsx edx, byte [ebp - 1]
mov eax, dword [0x1009b140]
add eax, edx
mov dword [0x1009b140], eax
movzx ecx, word [0x1009b158]
cmp dword [0x1009b190], ecx
jne 0x10048a70
mov dword [ebp - 0x350], 1
jmp 0x10048a7a
mov dword [ebp - 0x350], 0
cmp dword [0x1009b190], 0x5a
jne 0x10048a8f
mov dword [ebp - 0x354], 1
jmp 0x10048a99
mov dword [ebp - 0x354], 0
mov edx, dword [ebp - 0x350]
cmp edx, dword [ebp - 0x354]
je 0x10048ad4
movsx eax, word [0x1009b180]
sar eax, 3
mov dword [ebp - 0x28], eax
imul ecx, dword [ebp - 0x2c], 0xb4c36ca1
movsx edx, word [ebp - 0x1c]
xor edx, ecx
mov word [ebp - 0x1c], dx
mov ax, word [0x1009bc7c]
mov word [ebp - 0x10], ax
jmp 0x10048ca9
mov ecx, 0xc8c70ea2
or ecx, 0x23201
je 0x10048bb0
mov eax, dword [0x1009b140]
cdq
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov dword [ebp - 0x1258], eax
mov dword [ebp - 0x1254], edx
mov edx, dword [ebp - 0x1258]
or edx, dword [ebp - 0x1254]
jne 0x10048b20
mov dword [ebp - 0x358], 1
jmp 0x10048b2a
mov dword [ebp - 0x358], 0
mov eax, dword [0x1009b188]
imul eax, dword [ebp - 0x44]
imul eax, dword [ebp - 0x358]
mov byte [ebp - 7], al
movsx ecx, word [ebp - 0x20]
imul edx, ecx, 0x28a233c4
movsx eax, byte [ebp - 1]
add eax, edx
mov byte [ebp - 1], al
mov ecx, dword [ebp - 0x28]
sar ecx, 7
mov dword [ebp - 0x40], ecx
movsx eax, byte [ebp - 1]
not eax
cdq
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
add ecx, eax
adc esi, edx
movsx eax, byte [0x1009b0ba]
and eax, 0xf1cd
cdq
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov word [ebp - 0x10], ax
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
push 0x7d4fb
push 0x941e7d67
push eax
push edx
call fcn.1006c090
mov dword [0x1009b1b0], eax
jmp 0x10048ca9
movzx ecx, byte [0x1009b0ee]
movzx edx, byte [ebp - 4]
add ecx, edx
je 0x10048c69
mov eax, dword [0x1009b140]
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov eax, dword [0x1009b150]
mov ecx, dword [0x1009b154]
add eax, 1
adc ecx, 0
mov dword [0x1009b150], eax
mov dword [0x1009b154], ecx
movsx edx, byte [ebp - 3]
add edx, dword [0x1009b190]
jne 0x10048c03
mov dword [ebp - 0x35c], 1
jmp 0x10048c0d
mov dword [ebp - 0x35c], 0
mov eax, dword [ebp - 0x28]
not eax
movsx ecx, byte [ebp - 7]
xor eax, ecx
imul eax, dword [ebp - 0x35c]
xor eax, dword [0x1009b190]
xor edx, edx
mov dword [0x1009b130], eax
mov dword [0x1009b134], edx
movzx eax, word [0x1009b158]
add eax, 0x1a5d0fe3
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x2c]
cdq
mov ecx, 8
imul ecx, ecx, 0x383a
mov dword [ecx + 0x10270080], eax
mov dword [ecx + 0x10270084], edx
mov dx, word [0x1009bc7c]
mov word [ebp - 0x10], dx
jmp 0x10048ca9
mov eax, dword [0x1009b198]
mov ecx, dword [0x1009b19c]
mov dword [ebp - 0x1260], eax
mov dword [ebp - 0x125c], ecx
mov edx, dword [ebp - 0x1260]
or edx, dword [ebp - 0x125c]
je 0x10048ca9
movsx eax, word [0x1009b180]
shl eax, 2
mov word [ebp - 0x1c], ax
imul ecx, dword [ebp - 0x44], 0xcc27
mov dword [0x1009b144], ecx
mov edx, dword [0x1009bc7c]
mov dword [ebp - 0x15c], edx
mov eax, dword [0x1009b178]
or eax, dword [0x1009b17c]
jne 0x10048cce
mov dword [ebp - 0x360], 1
jmp 0x10048cd8
mov dword [ebp - 0x360], 0
movsx ecx, word [ebp - 0x10]
add ecx, dword [ebp - 0x360]
movsx edx, byte [ebp - 7]
cmp ecx, edx
jl 0x10048cf6
mov dword [ebp - 0x364], 1
jmp 0x10048d00
mov dword [ebp - 0x364], 0
cmp dword [0x1009b190], 0
je 0x10048d24
mov eax, 0xeb396881
test eax, eax
je 0x10048d24
cmp dword [ebp - 0x44], 0
je 0x10048d24
mov dword [ebp - 0x368], 1
jmp 0x10048d2e
mov dword [ebp - 0x368], 0
mov ecx, dword [ebp - 0x364]
not ecx
cmp ecx, dword [ebp - 0x368]
jl 0x10048dbc
movsx edx, byte [0x1009b0a7]
test edx, edx
je 0x10048dba
mov eax, dword [0x1009bc7c]
xor ecx, ecx
mov dword [0x1009b130], eax
mov dword [0x1009b134], ecx
mov edx, 1
imul eax, edx, 6
movzx ecx, byte [eax + 0x102f2188]
movsx edx, word [ebp - 0x10]
add edx, ecx
mov word [ebp - 0x10], dx
push 0
push 0x358e
mov eax, dword [ebp - 0x50]
push eax
mov ecx, dword [ebp - 0x54]
push ecx
call fcn.1006c090
mov ecx, eax
movzx eax, byte [0x1009b033]
cdq
add eax, ecx
mov byte [0x1009b033], al
mov edx, dword [ebp - 0x30]
add edx, dword [0x1009b160]
mov eax, dword [ebp - 0x30]
or eax, edx
mov dword [ebp - 0x30], eax
movsx ecx, word [ebp - 0x20]
sub ecx, 0x7edf
mov byte [0x1009b033], cl
jmp 0x10048e2a
mov byte [ebp - 7], 0x1b
mov eax, dword [0x1009b198]
mov edx, dword [0x1009b19c]
mov cl, 8
call fcn.1006c1a0
mov word [ebp - 0x10], ax
mov edx, dword [0x1009b198]
mov eax, dword [0x1009b19c]
push 0
push 0
push eax
push edx
call fcn.1006c090
mov ecx, eax
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x20c0], eax
sub edx, 0xee22cf1e
not edx
sub ecx, edx
not ecx
movzx eax, byte [0x1009b07f]
not eax
cdq
xor ecx, eax
not ecx
mov byte [ebp - 3], cl
movsx ecx, byte [ebp - 6]
movzx edx, byte [ebp - 2]
and ecx, edx
movsx eax, byte [ebp - 6]
sub eax, ecx
mov byte [ebp - 6], al
mov ecx, dword [ebp - 0x15c]
add ecx, 0x132
mov dword [ebp - 0x434], ecx
movsx edx, byte [ebp - 5]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov word [ebp - 0x20], ax
mov eax, dword [ebp - 0x15c]
add eax, 0x390
mov dword [ebp - 0xe4], eax
mov byte [0x1009b033], 0x58
movzx eax, byte [0x1009b07e]
movzx ecx, byte [0x1009b07e]
sub eax, ecx
cdq
mov ecx, eax
mov esi, edx
movzx eax, word [ebp - 0x18]
movzx edx, byte [0x1009b07e]
sub eax, edx
cdq
add eax, dword [0x1009b178]
adc edx, dword [0x1009b17c]
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov dword [0x1009b144], eax
mov byte [0x1009b033], 0xb4
mov eax, dword [ebp - 0x15c]
add eax, 0x33d
mov dword [ebp - 0x20c4], eax
movzx ecx, byte [0x1009b01f]
movzx edx, byte [ebp - 4]
cmp ecx, edx
jle 0x10048f0e
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov byte [0x1009b01f], 0xeb
mov cx, word [0x1009bc7c]
mov word [ebp - 0x1c], cx
movsx edx, byte [0x1009b0bb]
and edx, dword [0x1009b170]
mov byte [0x1009b0bb], dl
mov eax, dword [ebp - 0x30]
add eax, 0x3b
mov ecx, dword [0x1009b144]
or ecx, eax
mov dword [0x1009b144], ecx
jmp 0x10048f39
movsx edx, byte [ebp - 3]
test edx, edx
jne 0x10048f39
mov eax, dword [ebp - 0x34]
add eax, 0xcd02a6ba
mov word [ebp - 0x10], ax
movsx eax, byte [0x1009b0a7]
sub eax, 0x15e98c01
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov byte [ebp - 1], 0xea
mov ecx, dword [0x1009bc7c]
mov dword [ebp - 0x160], ecx
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov byte [0x1009b07e], al
mov edx, dword [ebp - 0x160]
add edx, 0x243
mov dword [ebp - 0x20c8], edx
mov eax, dword [ebp - 0x40]
shl eax, 1
mov dword [0x1009b148], eax
movzx ecx, byte [0x1009b07f]
sub ecx, 0x27
mov byte [ebp - 6], cl
movzx eax, word [ebp - 0x14]
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 dword [ebp - 0x44], 1
mov eax, dword [ebp - 0x28]
cdq
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
movsx eax, byte [ebp - 5]
cdq
sub eax, 0x6e4f3623
mov word [ebp - 0x14], ax
mov edx, dword [ebp - 0x160]
add edx, 0x288
mov dword [ebp - 0x188], edx
movzx eax, byte [0x1009b0ef]
test eax, eax
je 0x1004906d
movsx ecx, byte [ebp - 1]
add ecx, 0x53
mov word [ebp - 0x24], cx
movzx edx, byte [ebp - 4]
test edx, edx
jne 0x10049016
mov dword [ebp - 0x36c], 1
jmp 0x10049020
mov dword [ebp - 0x36c], 0
movzx eax, byte [0x1009b0a6]
mov ecx, dword [0x1009b1a0]
add ecx, dword [ebp - 0x36c]
sub eax, ecx
mov dword [0x1009b14c], eax
movsx eax, byte [ebp - 3]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x20cc], eax
add ecx, edx
movsx eax, byte [ebp - 3]
cdq
sub eax, ecx
mov byte [ebp - 3], al
mov ecx, dword [0x1009b14c]
xor ecx, dword [0x1009b18c]
mov dword [0x1009b18c], ecx
jmp 0x1004909d
movsx edx, word [ebp - 0x10]
mov eax, dword [ebp - 0x28]
lea ecx, [eax + edx - 0xe4]
mov dword [ebp - 0x28], ecx
movsx eax, word [ebp - 0x20]
cdq
add eax, 0xe55f23f1
mov byte [0x1009b0a6], al
movsx edx, word [ebp - 0x10]
sub edx, 0x2c58affe
mov dword [0x1009b170], edx
mov eax, dword [ebp - 0x160]
add eax, 0x3d1
mov dword [ebp - 0x20d0], eax
mov ecx, dword [0x1009b170]
push ecx
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
mov word [ebp - 0x14], ax
mov edx, dword [0x1009bc7c]
mov dword [ebp - 0x168], edx
mov eax, dword [0x1009b130]
mov ecx, dword [0x1009b134]
mov dword [ebp - 0x20d4], ecx
sub eax, 0x28a5a740
mov dword [0x1009b1b0], eax
mov edx, dword [0x1009b148]
add edx, 0x236d7ebb
mov byte [0x1009b0a7], dl
movzx eax, byte [0x1009b07e]
add eax, 0x7c
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov ax, word [0x1009b180]
mov word [ebp - 0x14], ax
movsx eax, byte [ebp - 1]
cdq
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
sub edx, ecx
sbb eax, esi
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], eax
mov byte [ebp - 6], 0x96
mov ecx, dword [ebp - 0x168]
add ecx, 0x3ef
mov dword [ebp - 0x504], ecx
movzx eax, byte [0x1009b0a6]
cdq
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
mov dword [ebp - 0x1268], eax
mov dword [ebp - 0x1264], edx
mov dword [ebp - 0x1270], ecx
mov dword [ebp - 0x126c], esi
mov edx, dword [ebp - 0x1268]
cmp edx, dword [ebp - 0x1270]
jne 0x1004919c
mov eax, dword [ebp - 0x1264]
cmp eax, dword [ebp - 0x126c]
jne 0x1004919c
mov dword [ebp - 0x370], 1
jmp 0x100491a6
mov dword [ebp - 0x370], 0
movzx ecx, byte [0x1009b0a6]
cmp ecx, 0x39
jne 0x100491be
mov dword [ebp - 0x374], 1
jmp 0x100491c8
mov dword [ebp - 0x374], 0
mov edx, dword [ebp - 0x370]
cmp edx, dword [ebp - 0x374]
jg 0x1004930f
mov dword [ebp - 0x164], 0x3a2
mov eax, dword [ebp - 0x2c]
cdq
push 0x9f7dd
push 0xb3432503
push edx
push eax
call fcn.1006c090
mov dword [ebp - 0x44], eax
movsx eax, word [ebp - 0x1c]
imul ecx, eax, 0x3721c4c9
mov dword [ebp - 0x44], ecx
movzx edx, byte [0x1009b0ee]
test edx, edx
jne 0x10049228
xor eax, eax
mov dword [ebp - 0xd68], 1
mov dword [ebp - 0xd64], eax
jmp 0x10049233
xorps xmm0, xmm0
movlpd qword [ebp - 0xd68], xmm0
mov ecx, dword [0x1009b134]
mov edx, 0xc7
sub edx, dword [0x1009b130]
mov eax, 0
sbb eax, ecx
mov ecx, dword [ebp - 0xd64]
push ecx
mov ecx, dword [ebp - 0xd68]
push ecx
push eax
push edx
call fcn.1006c090
mov ecx, eax
movsx eax, word [ebp - 0x1c]
movsx edx, byte [ebp - 5]
not edx
imul eax, edx
movzx edx, byte [0x1009b07e]
sub eax, edx
cdq
sub ecx, eax
mov dword [0x1009b190], ecx
cmp dword [0x1009b14c], 0
jne 0x10049296
mov dword [ebp - 0x378], 1
jmp 0x100492a0
mov dword [ebp - 0x378], 0
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x1278], eax
mov dword [ebp - 0x1274], ecx
mov edx, dword [ebp - 0x1278]
or edx, dword [ebp - 0x1274]
jne 0x100492cc
mov dword [ebp - 0x37c], 1
jmp 0x100492d6
mov dword [ebp - 0x37c], 0
mov eax, dword [ebp - 0x378]
sub eax, dword [ebp - 0x30]
movzx ecx, byte [0x1009b0ef]
xor ecx, dword [ebp - 0x37c]
and eax, ecx
mov word [ebp - 0x18], ax
cmp dword [ebp - 0x164], 0x236
jle 0x1004930f
mov edx, dword [ebp - 0x164]
sub edx, 1
mov dword [ebp - 0x164], edx
jmp 0x100492f2
mov eax, dword [ebp - 0x168]
add eax, 0x289
mov dword [ebp - 0x20d8], eax
movsx eax, word [ebp - 0x10]
cdq
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x1280], eax
mov dword [ebp - 0x127c], edx
mov dword [ebp - 0x1288], ecx
mov dword [ebp - 0x1284], esi
mov edx, dword [ebp - 0x127c]
cmp edx, dword [ebp - 0x1284]
ja 0x1004936d
jb 0x10049361
mov eax, dword [ebp - 0x1280]
cmp eax, dword [ebp - 0x1288]
ja 0x1004936d
mov dword [ebp - 0x380], 1
jmp 0x10049377
mov dword [ebp - 0x380], 0
movsx ecx, word [ebp - 0x10]
cmp ecx, 0x5d
jg 0x1004938c
mov dword [ebp - 0x384], 1
jmp 0x10049396
mov dword [ebp - 0x384], 0
mov edx, dword [ebp - 0x380]
cmp edx, dword [ebp - 0x384]
jg 0x100494bc
mov eax, dword [0x1009b1a0]
xor ecx, ecx
mov dword [ebp - 0x1290], eax
mov dword [ebp - 0x128c], ecx
mov edx, dword [0x1009b13c]
cmp edx, dword [ebp - 0x128c]
jb 0x100493e4
ja 0x100493d8
mov eax, dword [0x1009b138]
cmp eax, dword [ebp - 0x1290]
jbe 0x100493e4
mov dword [ebp - 0x388], 1
jmp 0x100493ee
mov dword [ebp - 0x388], 0
cmp dword [0x1009b13c], 0
ja 0x10049400
cmp dword [0x1009b138], 0x5d
jbe 0x1004940c
mov dword [ebp - 0x38c], 1
jmp 0x10049416
mov dword [ebp - 0x38c], 0
mov ecx, dword [ebp - 0x388]
cmp ecx, dword [ebp - 0x38c]
jl 0x1004946f
mov edx, dword [0x1009b144]
add edx, dword [0x1009b138]
mov eax, dword [0x1009b144]
add eax, edx
mov dword [0x1009b144], eax
movsx eax, byte [0x1009b0ba]
shl eax, 3
cdq
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
sub ecx, 1
sbb edx, 0
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], edx
movsx eax, byte [ebp - 5]
mov dword [0x1009b1a0], eax
jmp 0x100494bc
movzx ecx, word [ebp - 0x14]
test ecx, ecx
je 0x100494bc
mov edx, dword [ebp - 0x2c]
sar edx, 5
mov word [0x1009b184], dx
movsx eax, byte [ebp - 6]
sub eax, dword [ebp - 0x34]
movsx ecx, byte [ebp - 6]
add ecx, eax
mov byte [ebp - 6], cl
mov edx, dword [0x1009b190]
add edx, dword [ebp - 0x44]
mov dword [ebp - 0x44], edx
imul eax, dword [ebp - 0x2c], 0xceff
mov word [0x1009b158], ax
movsx eax, word [ebp - 0x10]
cdq
add eax, 0xb05e8c69
mov byte [0x1009b0ef], al
mov ecx, dword [ebp - 0x168]
add ecx, 0x122
mov dword [ebp - 0x10c4], ecx
movsx edx, word [0x1009b180]
test edx, edx
jne 0x100494e5
mov dword [ebp - 0x390], 1
jmp 0x100494ef
mov dword [ebp - 0x390], 0
movsx eax, word [ebp - 0x20]
add eax, dword [ebp - 0x390]
movsx ecx, word [ebp - 0x24]
add ecx, 0xb
sub eax, ecx
movzx edx, byte [0x1009b07e]
add edx, dword [0x1009b188]
add eax, dword [ebp - 0x30]
add edx, eax
mov dword [0x1009b170], edx
mov eax, dword [0x1009bc7c]
mov dword [0x1009b170], eax
movsx ecx, byte [ebp - 5]
movsx edx, word [ebp - 0x20]
add ecx, edx
mov byte [ebp - 5], cl
mov eax, dword [0x1009bc7c]
mov dword [ebp - 0x16c], eax
mov ecx, 4
mov word [ebp - 0x1c], cx
mov eax, dword [ebp - 0x2c]
cdq
sub eax, 0x71a2f374
sbb edx, 0x78652
mov dword [ebp - 0x1298], eax
mov dword [ebp - 0x1294], edx
mov edx, dword [ebp - 0x1298]
or edx, dword [ebp - 0x1294]
jne 0x10049582
xor eax, eax
mov dword [ebp - 0x12a0], 1
mov dword [ebp - 0x129c], eax
jmp 0x1004958d
xorps xmm0, xmm0
movlpd qword [ebp - 0x12a0], xmm0
mov ecx, dword [0x1009b144]
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x20dc], eax
xor ecx, edx
add ecx, dword [ebp - 0x12a0]
mov byte [0x1009b07f], cl
movzx ecx, byte [0x1009b0ee]
add ecx, dword [0x1009b140]
movzx edx, byte [0x1009b0ee]
add edx, ecx
mov byte [0x1009b0ee], dl
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov cl, 3
call fcn.1006c1a0
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x28]
add eax, 0x7e389b35
mov word [0x1009b158], ax
movsx ecx, word [ebp - 0x1c]
mov dword [ebp - 0x394], ecx
cmp dword [ebp - 0x394], 4
ja case.default.0x10049604
mov edx, dword [ebp - 0x394]
jmp dword [edx*4 + 0x10069ff0]
movzx eax, word [ebp - 0xc]
movzx ecx, word [ebp - 0xc]
sub eax, ecx
mov word [ebp - 0xc], ax
movzx eax, word [ebp - 0x18]
cdq
add eax, 0x1e210d52
adc edx, 0x4ef89
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
mov edx, dword [ebp - 0x30]
xor eax, eax
mov ecx, 8
imul ecx, ecx, 5
mov dword [ecx + 0x101c0bc0], edx
mov dword [ecx + 0x101c0bc4], eax
movsx edx, byte [ebp - 7]
add edx, 0x4dbcba76
mov dword [0x1009b14c], edx
mov eax, dword [0x1009b1a8]
mov ecx, dword [0x1009b1ac]
push 0
push 0x6c
push ecx
push eax
call fcn.1006c090
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
jmp case.default.0x10049604
movzx edx, word [ebp - 0x14]
imul edx, dword [ebp - 0x30]
movzx eax, word [ebp - 0x14]
sub eax, edx
mov word [ebp - 0x14], ax
movzx ecx, byte [ebp - 2]
imul ecx, dword [0x1009b1a0]
movzx edx, byte [ebp - 2]
sub edx, ecx
mov byte [ebp - 2], dl
mov eax, 4
mov word [ebp - 0xc], ax
movsx ecx, byte [ebp - 6]
sar ecx, 6
mov word [ebp - 0x24], cx
mov ecx, dword [ebp - 0x54]
add ecx, 0xce
movsx eax, byte [ebp - 3]
cdq
add eax, ecx
mov byte [ebp - 3], al
movzx eax, word [ebp - 0x14]
cdq
mov edx, dword [0x1009b198]
mov ecx, dword [0x1009b19c]
mov dword [ebp - 0x20e0], ecx
add edx, eax
mov word [ebp - 0x18], dx
jmp case.default.0x10049604
movsx edx, byte [ebp - 5]
imul eax, edx, 0xd0c5
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movzx eax, byte [ebp - 2]
cdq
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], esi
jmp case.default.0x10049604
mov edx, 1
imul eax, edx, 0x6be3
movzx ecx, byte [eax + 0x10153d68]
mov dword [0x1009b170], ecx
mov dl, byte [0x1009b01f]
mov byte [0x1009b0ba], dl
mov byte [0x1009b033], 0x4e
mov eax, dword [0x1009b170]
xor ecx, ecx
mov edx, 8
imul edx, edx, 0x11
mov dword [edx + 0x10153c28], eax
mov dword [edx + 0x10153c2c], ecx
jmp case.default.0x10049604
movzx eax, word [ebp - 0xc]
test eax, eax
je 0x10049786
movzx ecx, byte [0x1009b07e]
mov dword [ebp - 0x398], ecx
jmp 0x10049792
mov edx, dword [0x1009b188]
mov dword [ebp - 0x398], edx
mov eax, dword [ebp - 0x398]
mov dword [ebp - 0x2c], eax
mov ecx, 1
imul edx, ecx, 0x9d
movzx ax, byte [edx + 0x101c09f0]
mov word [ebp - 0x14], ax
mov ecx, 0x5fde
mov word [ebp - 0x10], cx
mov edx, dword [ebp - 0x16c]
add edx, 0xc6
mov dword [ebp - 0x20e4], edx
mov eax, dword [ebp - 0x54]
or eax, dword [ebp - 0x50]
je 0x10049bed
mov dword [0x1009b14c], 4
movsx ecx, byte [ebp - 5]
test ecx, ecx
jne 0x100497f7
mov dword [ebp - 0x39c], 1
jmp 0x10049801
mov dword [ebp - 0x39c], 0
movzx edx, word [ebp - 0x14]
test edx, edx
jne 0x10049815
mov dword [ebp - 0x3a0], 1
jmp 0x1004981f
mov dword [ebp - 0x3a0], 0
mov eax, dword [ebp - 0x39c]
imul eax, dword [ebp - 0x3a0]
test eax, eax
jne 0x1004983c
mov dword [ebp - 0x3a4], 1
jmp 0x10049846
mov dword [ebp - 0x3a4], 0
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x12a8], ecx
mov dword [ebp - 0x12a4], edx
mov eax, dword [ebp - 0x12a8]
or eax, dword [ebp - 0x12a4]
jne 0x1004987a
xor ecx, ecx
mov dword [ebp - 0x12b0], 1
mov dword [ebp - 0x12ac], ecx
jmp 0x10049885
xorps xmm0, xmm0
movlpd qword [ebp - 0x12b0], xmm0
mov edx, dword [0x1009b190]
not edx
add edx, dword [ebp - 0x3a4]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x20e8], ecx
mov ecx, 0x4bb47ad9
sub ecx, eax
mov eax, dword [ebp - 0x12b0]
xor eax, dword [ebp - 0x54]
add ecx, eax
sub edx, ecx
mov byte [ebp - 1], dl
mov eax, dword [0x1009b188]
cdq
push 0x982a1
push 0x116bb279
push edx
push eax
call fcn.1006c090
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x12b8], ecx
mov dword [ebp - 0x12b4], edx
mov eax, dword [ebp - 0x12b8]
or eax, dword [ebp - 0x12b4]
je 0x100498f8
mov cl, byte [ebp - 4]
mov byte [ebp - 0x72], cl
jmp 0x10049901
mov dl, byte [0x1009b0a6]
mov byte [ebp - 0x72], dl
movzx eax, byte [ebp - 0x72]
cdq
mov dword [0x1009b130], eax
mov dword [0x1009b134], edx
mov al, byte [ebp - 2]
sub al, 1
mov byte [ebp - 2], al
mov ecx, dword [0x1009b14c]
mov dword [ebp - 0x3a8], ecx
cmp dword [ebp - 0x3a8], 4
ja case.default.0x10049938
mov edx, dword [ebp - 0x3a8]
jmp dword [edx*4 + 0x1006a004]
mov eax, dword [0x1009b14c]
sar eax, 3
cdq
mov dword [0x1009b198], eax
mov dword [0x1009b19c], edx
movsx eax, byte [0x1009b0bb]
test eax, eax
jne 0x1004996a
mov dword [ebp - 0x3ac], 1
jmp 0x10049974
mov dword [ebp - 0x3ac], 0
movzx ecx, byte [ebp - 2]
movsx edx, byte [0x1009b0bb]
sub ecx, edx
movzx eax, word [ebp - 0x18]
add eax, dword [ebp - 0x3ac]
sub ecx, eax
mov edx, dword [0x1009b188]
imul edx, dword [ebp - 0x2c]
movzx eax, byte [0x1009b0ef]
not eax
mov esi, dword [0x1009b144]
sub esi, eax
imul edx, esi
add ecx, edx
mov byte [ebp - 4], cl
mov ecx, dword [ebp - 0x30]
not ecx
add ecx, 0xd4
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
mov dword [ebp - 0x20ec], eax
and ecx, edx
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x40]
cdq
mov ecx, dword [0x1009b130]
mov edx, dword [0x1009b134]
mov dword [ebp - 0x20f0], edx
sub eax, ecx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x2c]
add eax, 0xe5
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movzx eax, byte [0x1009b0a6]
movzx ecx, byte [0x1009b07f]
xor eax, ecx
jne 0x10049a19
mov dword [ebp - 0x3b0], 1
jmp 0x10049a23
mov dword [ebp - 0x3b0], 0
movsx eax, byte [0x1009b0ba]
or eax, dword [ebp - 0x40]
not eax
sub eax, dword [ebp - 0x3b0]
movzx edx, byte [ebp - 4]
imul eax, edx
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
jmp case.default.0x10049938
mov eax, dword [ebp - 0x54]
add eax, 1
mov ecx, dword [ebp - 0x50]
adc ecx, 0
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], ecx
movzx edx, byte [0x1009b0ee]
mov dword [ebp - 0x34], edx
jmp case.default.0x10049938
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov cl, 8
call fcn.1006c1a0
mov dword [0x1009b1b0], eax
mov eax, dword [0x1009b178]
mov edx, dword [0x1009b17c]
mov cl, 5
call fcn.1006c0d0
mov byte [ebp - 2], al
movzx eax, byte [0x1009b0ee]
cdq
mov ecx, eax
mov esi, edx
movsx eax, byte [ebp - 1]
cdq
mov edi, dword [0x1009b150]
mov ebx, dword [0x1009b154]
and edi, eax
and ebx, edx
push ebx
push edi
push esi
push ecx
call fcn.1006c090
mov byte [0x1009b0ba], al
mov edx, 1
imul eax, edx, 0x2a
movzx eax, byte [eax + 0x1034cfc8]
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movzx ecx, byte [0x1009b07f]
movsx edx, word [ebp - 0x10]
xor ecx, edx
jne 0x10049af0
mov dword [ebp - 0x3b4], 1
jmp 0x10049afa
mov dword [ebp - 0x3b4], 0
mov eax, dword [ebp - 0x3b4]
add eax, dword [ebp - 0x28]
jne 0x10049b19
xor ecx, ecx
mov dword [ebp - 0xd70], 1
mov dword [ebp - 0xd6c], ecx
jmp 0x10049b24
xorps xmm0, xmm0
movlpd qword [ebp - 0xd70], xmm0
mov edx, dword [ebp - 0xd70]
mov eax, dword [ebp - 0xd6c]
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], eax
movzx ecx, byte [0x1009b033]
imul edx, ecx, 0xd2
movzx eax, byte [0x1009b07e]
add eax, edx
mov byte [0x1009b07e], al
jmp case.default.0x10049938
movsx ecx, word [ebp - 0x1c]
movsx edx, word [0x1009b180]
add ecx, edx
mov word [ebp - 0x1c], cx
imul eax, dword [ebp - 0x34], 0x2d30a89f
mov dword [0x1009b14c], eax
mov ecx, dword [ebp - 0x54]
sub ecx, 0xd3869d2a
mov word [ebp - 0x10], cx
imul edx, dword [ebp - 0x28], 0x83205658
mov byte [0x1009b0a7], dl
movsx eax, word [ebp - 0x1c]
add eax, 0x294de3
mov word [ebp - 0x20], ax
jmp case.default.0x10049938
mov ecx, dword [0x1009b188]
sub ecx, 0x33cb5a50
mov byte [0x1009b07e], cl
mov edx, dword [0x1009b188]
mov byte [0x1009b0ba], dl
mov dword [ebp - 0x30], 0xca5c428b
mov al, byte [0x1009b0a6]
mov byte [ebp - 5], al
mov ecx, dword [0x1009b170]
sub ecx, dword [0x1009b138]
mov dword [0x1009b170], ecx
movsx edx, word [0x1009b180]
add edx, 0x129bbc20
mov dword [ebp - 0x40], edx
jmp 0x10049c2c
mov eax, 1
shl eax, 2
movzx ecx, byte [eax + 0x102f2188]
movsx edx, byte [ebp - 1]
sub edx, ecx
mov byte [ebp - 1], dl
movsx eax, word [ebp - 0x24]
movsx ecx, word [ebp - 0x1c]
add eax, ecx
mov byte [0x1009b033], al
movzx edx, byte [0x1009b01f]
add edx, dword [ebp - 0x44]
movzx eax, byte [0x1009b01f]
add eax, edx
mov byte [0x1009b01f], al
mov ecx, dword [ebp - 0x16c]
add ecx, 0x315
mov dword [ebp - 0x10c8], ecx
movsx edx, word [ebp - 0x24]
cmp edx, dword [0x1009b18c]
je 0x10049c56
mov dword [ebp - 0x3b8], 1
jmp 0x10049c60
mov dword [ebp - 0x3b8], 0
movsx eax, word [ebp - 0x24]
cmp eax, 3
je 0x10049c75
mov dword [ebp - 0x3bc], 1
jmp 0x10049c7f
mov dword [ebp - 0x3bc], 0
mov ecx, dword [ebp - 0x3b8]
cmp ecx, dword [ebp - 0x3bc]
jge 0x10049eab
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
mov dword [ebp - 0x12c0], edx
mov dword [ebp - 0x12bc], eax
mov ecx, dword [ebp - 0x12c0]
or ecx, dword [ebp - 0x12bc]
je 0x10049e4b
mov ecx, dword [0x1009b130]
mov esi, dword [0x1009b134]
movsx eax, word [ebp - 0x20]
cdq
mov dword [ebp - 0x12c8], ecx
mov dword [ebp - 0x12c4], esi
mov dword [ebp - 0x12d0], eax
mov dword [ebp - 0x12cc], edx
mov edx, dword [ebp - 0x12c4]
cmp edx, dword [ebp - 0x12cc]
jg 0x10049d21
jl 0x10049d01
mov eax, dword [ebp - 0x12c8]
cmp eax, dword [ebp - 0x12d0]
jae 0x10049d21
movsx ecx, byte [ebp - 1]
sar ecx, 1
mov byte [ebp - 6], cl
imul edx, dword [ebp - 0x40], 0x44c3
mov byte [ebp - 2], dl
mov al, byte [0x1009b0bb]
mov byte [ebp - 1], al
jmp 0x10049e49
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x12d8], ecx
mov dword [ebp - 0x12d4], edx
mov eax, dword [ebp - 0x12d8]
or eax, dword [ebp - 0x12d4]
jne 0x10049e49
movzx ecx, word [ebp - 0x18]
imul edx, ecx, 0x271c
mov word [ebp - 0xc], dx
mov eax, dword [0x1009bc7c]
xor ecx, ecx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
cmp dword [ebp - 0x2c], 0
je 0x10049d7a
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0xd78], edx
mov dword [ebp - 0xd74], eax
jmp 0x10049d92
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
mov dword [ebp - 0xd78], ecx
mov dword [ebp - 0xd74], edx
mov eax, dword [ebp - 0xd78]
mov dword [ebp - 0x28], eax
movsx ecx, byte [0x1009b0ba]
test ecx, ecx
jne 0x10049db2
mov dword [ebp - 0x3c0], 1
jmp 0x10049dbc
mov dword [ebp - 0x3c0], 0
movsx eax, word [ebp - 0x1c]
not eax
cdq
mov esi, eax
mov edi, edx
mov eax, dword [ebp - 0x44]
cdq
push 0xb7734
push 0x7c18da4
push edx
push eax
call fcn.1006c090
sub esi, eax
sbb edi, edx
mov dword [ebp - 0x12e0], esi
mov dword [ebp - 0x12dc], edi
mov edx, dword [ebp - 0x12e0]
or edx, dword [ebp - 0x12dc]
jne 0x10049e06
mov dword [ebp - 0x3c4], 1
jmp 0x10049e10
mov dword [ebp - 0x3c4], 0
movsx eax, byte [ebp - 6]
xor eax, dword [ebp - 0x3c0]
xor eax, 0x1b0a
add eax, dword [ebp - 0x3c4]
jne 0x10049e33
mov dword [ebp - 0x3c8], 1
jmp 0x10049e3d
mov dword [ebp - 0x3c8], 0
mov ecx, dword [ebp - 0x3c8]
mov dword [0x1009b144], ecx
jmp 0x10049ea6
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
push 0xec0dd
push 0xfd4ac8ac
push eax
push edx
call fcn.1006c090
mov dword [0x1009b18c], eax
mov ecx, dword [0x1009b190]
xor edx, edx
mov eax, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
push edx
push ecx
push esi
push eax
call fcn.1006c090
mov ecx, eax
movzx eax, byte [0x1009b033]
add eax, 0x11535146
cdq
xor ecx, eax
mov dword [ebp - 0x44], ecx
mov byte [0x1009b07f], 0x15
movzx edx, byte [0x1009b033]
shl edx, 6
mov dword [ebp - 0x28], edx
jmp 0x10049f72
movzx eax, byte [0x1009b0ef]
cdq
push 0xad163
push 0x1c9c67aa
push edx
push eax
call fcn.1006c090
mov word [ebp - 0x18], ax
cmp dword [0x1009b18c], 0
jne 0x10049edd
mov dword [ebp - 0x3cc], 1
jmp 0x10049ee7
mov dword [ebp - 0x3cc], 0
mov ecx, dword [0x1009b18c]
add ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x44]
cdq
mov edx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x20f4], esi
add eax, edx
xor ecx, eax
movsx eax, byte [0x1009b0a7]
mov edx, dword [ebp - 0x3cc]
sub edx, eax
mov eax, edx
cdq
sub ecx, eax
mov byte [0x1009b0ba], cl
movzx eax, word [ebp - 0x18]
movzx ecx, byte [0x1009b033]
xor eax, ecx
movsx edx, word [ebp - 0x20]
movsx ecx, word [ebp - 0x24]
imul edx, ecx
sub eax, edx
cdq
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
movzx eax, byte [ebp - 2]
sub eax, 0xe6
cdq
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
mov edx, 2
imul eax, edx, 0x2f89
mov cx, word [eax + 0x1021a340]
mov word [0x1009b184], cx
mov edx, dword [ebp - 0x16c]
add edx, 0x29
mov dword [ebp - 0x10cc], edx
movsx eax, word [ebp - 0x24]
cmp dword [ebp - 0x2c], eax
jl 0x10049fd2
movsx ecx, word [ebp - 0x20]
imul edx, ecx, 0xd593
add edx, dword [ebp - 0x44]
mov dword [ebp - 0x44], edx
mov eax, dword [0x1009bc7c]
mov dword [0x1009b140], eax
movzx eax, byte [ebp - 4]
cdq
push edx
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 byte [0x1009b0bb], 0xf1
jmp 0x10049fee
mov eax, dword [ebp - 0x28]
sub eax, 1
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
add ecx, dword [ebp - 0x34]
and ecx, dword [ebp - 0x28]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x28], 0xc081
mov edx, dword [0x1009bc7c]
mov dword [ebp - 0x178], edx
mov dword [ebp - 0x170], 0x8a
jmp 0x1004a015
mov eax, dword [ebp - 0x170]
sub eax, 1
mov dword [ebp - 0x170], eax
cmp dword [ebp - 0x170], 0
jle 0x1004a0c9
movzx ecx, word [0x1009b184]
movsx edx, word [ebp - 0x24]
imul ecx, edx
movsx eax, word [ebp - 0x10]
not eax
sub eax, dword [ebp - 0x44]
add ecx, eax
not ecx
mov byte [ebp - 1], cl
movsx ecx, byte [0x1009b0ba]
imul edx, ecx, 0x7ced
mov word [0x1009b184], dx
movsx eax, byte [ebp - 7]
imul eax, dword [0x1009b144]
xor ecx, ecx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
mov edx, dword [0x1009b18c]
sub edx, 1
mov dword [0x1009b18c], edx
movsx eax, byte [ebp - 5]
movsx ecx, word [0x1009b180]
imul eax, ecx
mov edx, dword [0x1009b140]
add eax, edx
cdq
mov ecx, eax
movzx edx, word [ebp - 0xc]
mov eax, dword [ebp - 0x2c]
add eax, edx
cdq
mov edx, 0x7a9f5a90
sub edx, eax
add ecx, edx
mov dword [ebp - 0x44], ecx
mov ecx, 8
shl ecx, 1
movzx eax, word [ebp - 0x18]
cdq
and eax, dword [ecx + 0x10153c28]
mov word [ebp - 0x18], ax
mov dl, byte [ebp - 6]
add dl, 1
mov byte [ebp - 6], dl
jmp 0x1004a006
mov eax, dword [ebp - 0x178]
add eax, 0x31d
mov dword [ebp - 0x110], eax
call dword [sym.imp.USER32.dll_GetCapture]
mov word [ebp - 0x18], ax
mov ecx, dword [ebp - 0x178]
add ecx, 0x360
mov dword [ebp - 0x10d0], ecx
movzx edx, word [ebp - 0x18]
test edx, edx
je 0x1004a1a7
mov dword [ebp - 0x174], 0
jmp 0x1004a11d
mov eax, dword [ebp - 0x174]
add eax, 2
mov dword [ebp - 0x174], eax
cmp dword [ebp - 0x174], 0x3a0
jge 0x1004a1a7
mov eax, dword [0x1009b140]
cdq
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov dword [0x1009b140], eax
movsx edx, byte [0x1009b0a7]
imul edx, dword [ebp - 0x30]
not edx
movzx eax, word [0x1009b158]
imul eax, dword [ebp - 0x30]
and edx, eax
mov byte [ebp - 3], dl
mov ecx, dword [ebp - 0x28]
xor ecx, 0x876f94e3
mov dword [ebp - 0x28], ecx
movsx eax, byte [ebp - 5]
cdq
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
add ecx, eax
adc esi, edx
mov dword [0x1009b168], ecx
mov dword [0x1009b16c], esi
mov dl, byte [0x1009b0ba]
add dl, 1
mov byte [0x1009b0ba], dl
jmp 0x1004a10e
mov eax, dword [ebp - 0x178]
add eax, 0x21b
mov dword [ebp - 0x10d4], eax
mov ecx, 0xc8
mov word [ebp - 0x104], cx
xor edx, edx
mov word [ebp - 0x102], dx
mov eax, dword [0x1009b1a8]
mov ecx, dword [0x1009b1ac]
mov dword [ebp - 0x12e8], eax
mov dword [ebp - 0x12e4], ecx
mov edx, dword [ebp - 0x12e8]
or edx, dword [ebp - 0x12e4]
je 0x1004a1fe
movsx eax, word [ebp - 0x1c]
mov dword [ebp - 0x3d0], eax
jmp 0x1004a207
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x3d0], ecx
mov dx, word [ebp - 0x3d0]
mov word [ebp - 0x24], dx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x20f8], eax
and ecx, 0x9185
mov edx, dword [ebp - 0x28]
sar edx, cl
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
push 0
push 0x52
push ecx
push eax
call fcn.1006c090
mov dword [0x1009b168], eax
mov dword [0x1009b16c], edx
mov eax, dword [ebp - 0x44]
sar eax, 8
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x84], 0
jmp 0x1004a27a
mov edx, dword [ebp - 0x9c]
add edx, 1
mov dword [ebp - 0x9c], edx
cmp dword [ebp - 0x9c], 1
jae 0x1004ae0e
mov byte [0x1009b0bb], 1
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
push 0
push 0xfd
push ecx
push eax
call fcn.1006c090
mov ecx, eax
movsx eax, word [ebp - 0x1c]
cdq
xor eax, ecx
mov word [ebp - 0x1c], ax
imul edx, dword [0x1009b1b0], 0x432a0395
mov dword [0x1009b148], edx
movsx eax, byte [ebp - 6]
cdq
add eax, 0xa715d847
adc edx, 0x4178e
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
mov eax, dword [0x1009b190]
imul eax, dword [0x1009b140]
mov ecx, dword [0x1009b190]
add ecx, eax
mov dword [0x1009b190], ecx
mov edx, dword [0x1009b190]
add edx, 1
mov dword [0x1009b190], edx
movsx eax, word [ebp - 0x10]
add eax, dword [0x1009b144]
jne 0x1004a323
xor ecx, ecx
mov dword [ebp - 0xd80], 1
mov dword [ebp - 0xd7c], ecx
jmp 0x1004a32e
xorps xmm0, xmm0
movlpd qword [ebp - 0xd80], xmm0
movsx eax, byte [ebp - 1]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x1009b154]
add ecx, dword [0x1009b150]
adc esi, edx
add ecx, dword [ebp - 0xd80]
adc esi, dword [ebp - 0xd7c]
movzx eax, word [ebp - 0xc]
movzx edx, byte [0x1009b0ee]
sub eax, edx
movsx edx, byte [ebp - 1]
not edx
movsx edi, byte [ebp - 3]
sub edx, edi
xor eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov byte [0x1009b0a6], al
mov al, byte [0x1009b0bb]
mov byte [ebp - 0x3d4], al
cmp byte [ebp - 0x3d4], 0
je 0x1004a39d
cmp byte [ebp - 0x3d4], 1
je 0x1004a40c
jmp 0x1004a4ad
movzx ecx, byte [0x1009b0ef]
test ecx, ecx
je 0x1004a3be
movzx eax, byte [0x1009b07e]
cdq
mov dword [ebp - 0xcf0], eax
mov dword [ebp - 0xcec], edx
jmp 0x1004a3d5
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
mov dword [ebp - 0xcf0], edx
mov dword [ebp - 0xcec], eax
mov ecx, dword [ebp - 0xcf0]
mov edx, dword [ebp - 0xcec]
mov dword [0x1009b160], ecx
mov dword [0x1009b164], edx
mov eax, dword [ebp - 0x30]
shr eax, 6
mov word [ebp - 0xc], ax
movzx ecx, word [ebp - 0xc]
add ecx, 0xe0a6
mov byte [0x1009b0ba], cl
jmp 0x1004a4ad
mov edx, dword [0x1009b170]
shr edx, 2
mov word [ebp - 0xc], dx
movzx eax, byte [0x1009b0ee]
xor eax, 0x8e74635b
mov byte [ebp - 2], al
movsx ecx, word [ebp - 0x24]
test ecx, ecx
jne 0x1004a43c
mov dword [ebp - 0x3d8], 1
jmp 0x1004a446
mov dword [ebp - 0x3d8], 0
movsx edx, word [ebp - 0x20]
xor edx, dword [ebp - 0x3d8]
jne 0x1004a45e
mov dword [ebp - 0x3dc], 1
jmp 0x1004a468
mov dword [ebp - 0x3dc], 0
movzx eax, byte [0x1009b01f]
test eax, eax
jne 0x1004a47f
mov dword [ebp - 0x3e0], 1
jmp 0x1004a489
mov dword [ebp - 0x3e0], 0
movsx eax, word [ebp - 0x1c]
imul eax, dword [ebp - 0x3dc]
movzx ecx, word [ebp - 0x18]
mov edx, dword [ebp - 0x3e0]
add edx, dword [ebp - 0x44]
imul ecx, edx
sub eax, ecx
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
xor eax, eax
mov dword [0x1009b150], 0x8349
mov dword [0x1009b154], eax
movzx ecx, word [0x1009b184]
movsx edx, byte [ebp - 1]
xor ecx, edx
movzx eax, word [0x1009b184]
sub eax, ecx
mov word [0x1009b184], ax
movsx eax, byte [ebp - 5]
cdq
xor eax, 0x68217e1
mov dword [0x1009b170], eax
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
not ecx
not edx
mov eax, dword [ebp - 0x54]
not eax
mov esi, dword [ebp - 0x50]
not esi
push esi
push eax
push edx
push ecx
call fcn.1006c090
sub eax, 0x4b
mov byte [0x1009b07f], al
mov eax, dword [0x1009b168]
mov edx, dword [0x1009b16c]
mov cl, 8
call fcn.1006c0f0
mov dword [ebp - 0x40], eax
movsx eax, byte [0x1009b0a7]
cdq
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x20fc], edx
add eax, ecx
not eax
mov ecx, dword [0x1009b130]
mov edx, dword [0x1009b134]
mov dword [ebp - 0x2100], edx
add ecx, 0x92935ca7
xor eax, ecx
mov byte [ebp - 3], al
mov ecx, dword [0x1009b150]
mov esi, dword [0x1009b154]
movsx eax, byte [ebp - 3]
add eax, 0x8349
cdq
mov dword [ebp - 0x12f0], ecx
mov dword [ebp - 0x12ec], esi
mov dword [ebp - 0x12f8], eax
mov dword [ebp - 0x12f4], edx
mov edx, dword [ebp - 0x12f0]
cmp edx, dword [ebp - 0x12f8]
jne 0x1004a748
mov eax, dword [ebp - 0x12ec]
cmp eax, dword [ebp - 0x12f4]
jne 0x1004a748
movsx ecx, word [0x1009b180]
mov edx, dword [ebp - 0x2c]
sub edx, 0x16a45e56
cmp ecx, edx
jne 0x1004a748
mov eax, dword [0x1009b1a0]
xor ecx, ecx
and eax, dword [0x1009b130]
and ecx, dword [0x1009b134]
mov dword [ebp - 0x1300], eax
mov dword [ebp - 0x12fc], ecx
mov edx, dword [ebp - 0x1300]
or edx, dword [ebp - 0x12fc]
je 0x1004a64e
mov eax, 4
imul ecx, eax, 0x8b9c
mov eax, dword [0x1009b160]
mov edx, dword [0x1009b164]
mov ecx, dword [ecx + 0x102b4bf0]
call fcn.1006c1a0
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
mov ecx, dword [0x1009b178]
add ecx, 0x13094ae
movzx eax, byte [ebp - 2]
cdq
sub eax, ecx
mov byte [ebp - 2], al
mov edx, dword [ebp - 0x54]
sub edx, 1
mov eax, dword [ebp - 0x50]
sbb eax, 0
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], eax
jmp 0x1004a71b
cmp dword [0x1009b1a0], 0
je 0x1004a688
movsx cx, byte [ebp - 1]
mov word [0x1009b184], cx
movzx edx, byte [0x1009b07e]
mov dword [ebp - 0x34], edx
mov eax, dword [0x1009b170]
add eax, 1
mov dword [0x1009b170], eax
mov ecx, dword [0x1009bc7c]
mov dword [ebp - 0x34], ecx
jmp 0x1004a71b
mov edx, 0x6efb
test edx, edx
je 0x1004a71b
mov eax, dword [0x1009b1a8]
mov ecx, dword [0x1009b1ac]
add eax, 0xf9f4424b
adc ecx, 0
mov dword [0x1009b138], eax
mov dword [0x1009b13c], ecx
mov eax, dword [0x1009b188]
cdq
sub eax, 0x108635a4
sbb edx, 0x9fc63
mov ecx, dword [0x1009b138]
sub ecx, eax
mov eax, dword [0x1009b13c]
sbb eax, edx
mov dword [0x1009b138], ecx
mov dword [0x1009b13c], eax
movzx ecx, word [0x1009b158]
sub ecx, 0x2cc5938
mov byte [ebp - 6], cl
movsx edx, word [ebp - 0x1c]
not edx
movsx eax, word [ebp - 0x20]
sub edx, eax
movzx ecx, byte [0x1009b07e]
sub ecx, dword [0x1009b18c]
sub edx, ecx
mov dword [0x1009b18c], edx
mov edx, dword [0x1009bc7c]
mov dword [0x1009b190], edx
jmp 0x1004a748
xor edx, edx
mov dword [0x1009b150], 0x8349
mov dword [0x1009b154], edx
cmp dword [ebp - 0x34], 0
je 0x1004a774
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0xd88], eax
mov dword [ebp - 0xd84], ecx
jmp 0x1004a785
movsx eax, byte [ebp - 5]
cdq
mov dword [ebp - 0xd88], eax
mov dword [ebp - 0xd84], edx
mov edx, dword [ebp - 0xd88]
mov dword [0x1009b170], edx
movsx eax, word [ebp - 0x1c]
movzx ecx, byte [ebp - 2]
add eax, ecx
mov byte [ebp - 7], al
movsx edx, byte [0x1009b0ba]
and edx, 0xee
mov word [ebp - 0x24], dx
imul eax, dword [ebp - 0x40], 0xced21a44
xor ecx, ecx
mov edx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
sub edx, eax
sbb esi, ecx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], esi
movzx eax, word [ebp - 0x18]
imul ecx, eax, 0x5722e64
mov dword [ebp - 0x28], ecx
mov edx, dword [str.._AV___Ref_count_o]
mov dword [ebp - 0x1dc0], edx
mov eax, dword [0x1007e9a4]
mov dword [ebp - 0x1dbc], eax
mov ecx, dword [0x1007e9a8]
mov dword [ebp - 0x1db8], ecx
mov edx, dword [0x1007e9ac]
mov dword [ebp - 0x1db4], edx
mov ax, word [0x1007e9b0]
mov word [ebp - 0x1db0], ax
mov cl, byte [0x1007e9b2]
mov byte [ebp - 0x1dae], cl
lea edx, [ebp - 0x1dc0]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x9c]
movzx ecx, word [ebp + eax*2 - 0x104]
mov dword [ebp - 0x84], ecx
movsx edx, word [ebp - 0x24]
test edx, edx
jne 0x1004a855
mov dword [ebp - 0x3e4], 1
jmp 0x1004a85f
mov dword [ebp - 0x3e4], 0
movzx eax, word [ebp - 0x18]
imul eax, dword [ebp - 0x3e4]
cdq
mov ecx, eax
add ecx, dword [0x1009b138]
movsx eax, word [ebp - 0x10]
cdq
mov esi, eax
mov eax, dword [ebp - 0x28]
cdq
mov edx, dword [0x1009b1a8]
mov edi, dword [0x1009b1ac]
mov dword [ebp - 0x2104], edi
sub eax, edx
add esi, eax
add ecx, esi
mov word [ebp - 0x10], cx
mov al, byte [0x1009bc7c]
mov byte [0x1009b033], al
mov cl, byte [0x1009bc7c]
mov byte [ebp - 6], cl
movzx edx, byte [0x1009b0ef]
sar edx, 8
mov dword [ebp - 0x40], edx
movsx eax, word [ebp - 0x10]
add eax, 0x3402daeb
movsx ecx, byte [ebp - 3]
sub ecx, eax
mov byte [ebp - 3], cl
mov edx, dword [ebp - 0x84]
xor edx, 0xf8
mov dword [ebp - 0x84], edx
mov eax, dword [0x1009b160]
sub eax, 0x6005
mov ecx, dword [0x1009b164]
sbb ecx, 0
mov edx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
add edx, eax
adc esi, ecx
mov dword [0x1009b198], edx
mov dword [0x1009b19c], esi
xor eax, eax
mov dword [ebp - 0x54], 0xa
mov dword [ebp - 0x50], eax
mov cx, word [ebp - 0x1c]
mov byte [0x1009b0ee], cl
movsx eax, word [0x1009b180]
cdq
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
add ecx, eax
adc esi, edx
not ecx
not esi
movsx eax, word [ebp - 0x1c]
movsx edx, word [ebp - 0x1c]
not edx
xor eax, edx
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x1308], ecx
mov dword [ebp - 0x1304], esi
mov eax, dword [ebp - 0x1308]
or eax, dword [ebp - 0x1304]
jne 0x1004a970
mov dword [ebp - 0x3f0], 1
jmp 0x1004a97a
mov dword [ebp - 0x3f0], 0
movzx ecx, byte [0x1009b07e]
imul edx, ecx, 0
test edx, edx
jne 0x1004a994
mov dword [ebp - 0x3e8], 1
jmp 0x1004a99e
mov dword [ebp - 0x3e8], 0
mov eax, 0x43
sub eax, dword [0x1009b178]
mov ecx, 0
sbb ecx, dword [0x1009b17c]
mov dword [ebp - 0x1310], eax
mov dword [ebp - 0x130c], ecx
mov edx, dword [ebp - 0x1310]
or edx, dword [ebp - 0x130c]
jne 0x1004a9da
mov dword [ebp - 0x3ec], 1
jmp 0x1004a9e4
mov dword [ebp - 0x3ec], 0
mov eax, dword [ebp - 0x3e8]
xor eax, dword [ebp - 0x3ec]
xor eax, dword [ebp - 0x3f0]
mov byte [0x1009b0bb], al
mov ecx, dword [ebp - 0x84]
add ecx, dword [ebp - 0x9c]
mov dword [ebp - 0x84], ecx
mov dword [0x1009b18c], 0xe4466ba6
mov eax, dword [0x1009b188]
cdq
add eax, 0x67433ccc
mov word [ebp - 0xc], ax
movzx eax, byte [0x1009b033]
cdq
add eax, dword [ebp - 0x54]
adc edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x54]
sub ecx, eax
mov eax, dword [ebp - 0x50]
sbb eax, edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x30]
sub ecx, 0x1bb9945a
cmp dword [0x1009b18c], ecx
jne 0x1004ab1e
movzx eax, word [0x1009b158]
cdq
mov ecx, dword [ebp - 0x30]
xor esi, esi
add ecx, 0x751a04b5
adc esi, 0x3957c
mov dword [ebp - 0x1318], eax
mov dword [ebp - 0x1314], edx
mov dword [ebp - 0x1320], ecx
mov dword [ebp - 0x131c], esi
mov edx, dword [ebp - 0x1318]
cmp edx, dword [ebp - 0x1320]
jne 0x1004ab1e
mov eax, dword [ebp - 0x1314]
cmp eax, dword [ebp - 0x131c]
jne 0x1004ab1e
movsx ecx, byte [ebp - 5]
push ecx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [0x1009b1a0], eax
jmp 0x1004ab1e
mov dword [0x1009b18c], 0xe4466ba6
movzx eax, byte [0x1009b0ef]
add eax, 0xcea43f5
xor ecx, ecx
mov edx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
sub edx, eax
sbb esi, ecx
mov dword [0x1009b198], edx
mov dword [0x1009b19c], esi
mov eax, dword [0x1009b1a0]
and eax, 0x636c78e6
mov word [ebp - 0x20], ax
cmp dword [ebp - 0x2c], 0
jne 0x1004ab7a
xor ecx, ecx
mov dword [ebp - 0xd90], 1
mov dword [ebp - 0xd8c], ecx
jmp 0x1004ab85
xorps xmm0, xmm0
movlpd qword [ebp - 0xd90], xmm0
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
sub edx, dword [ebp - 0xd90]
sbb eax, dword [ebp - 0xd8c]
mov dword [ebp - 0x1328], edx
mov dword [ebp - 0x1324], eax
mov ecx, dword [ebp - 0x1328]
or ecx, dword [ebp - 0x1324]
je 0x1004ac03
movsx edx, word [ebp - 0x1c]
test edx, edx
je 0x1004ac03
imul eax, dword [ebp - 0x40], 0x9643
mov byte [ebp - 4], al
movsx ecx, word [ebp - 0x20]
imul edx, ecx, 0x9a
mov byte [ebp - 3], dl
movzx eax, byte [0x1009b033]
imul ecx, eax, 0x77
mov word [ebp - 0x18], cx
movsx eax, word [ebp - 0x24]
cdq
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov dword [0x1009b198], eax
mov dword [0x1009b19c], edx
mov edx, dword [ebp - 0x84]
add edx, 1
mov dword [ebp - 0x84], edx
mov dword [0x1009b140], 0x94
movzx eax, byte [ebp - 2]
movzx ecx, word [ebp - 0x14]
add eax, ecx
mov dword [ebp - 0x30], eax
movsx edx, byte [ebp - 5]
test edx, edx
je 0x1004ac3e
mov eax, dword [0x1009b14c]
mov dword [ebp - 0x3f8], eax
jmp 0x1004ac4a
mov ecx, dword [0x1009b148]
mov dword [ebp - 0x3f8], ecx
mov edx, dword [ebp - 0x3f8]
mov dword [ebp - 0x44], edx
movzx eax, byte [0x1009b033]
add eax, dword [ebp - 0x40]
mov byte [0x1009b033], al
movsx ecx, word [ebp - 0x10]
add ecx, 0x94
cmp dword [0x1009b140], ecx
jne 0x1004ad1c
movzx edx, byte [0x1009b0a6]
movsx eax, byte [ebp - 3]
add eax, 0xce
cmp edx, eax
jne 0x1004ad1c
movzx eax, byte [0x1009b07e]
cdq
mov ecx, eax
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
mov dword [ebp - 0x2108], eax
add ecx, edx
movzx eax, byte [0x1009b07e]
cdq
add eax, ecx
mov byte [0x1009b07e], al
mov ecx, dword [0x1009b170]
sub ecx, dword [0x1009b178]
mov edx, dword [0x1009b170]
add edx, ecx
mov dword [0x1009b170], edx
movsx eax, byte [ebp - 1]
movzx ecx, byte [ebp - 2]
add eax, ecx
movsx edx, byte [ebp - 1]
imul edx, eax
mov byte [ebp - 1], dl
jmp 0x1004ad1c
mov dword [0x1009b140], 0x94
movsx ecx, byte [0x1009b0bb]
add ecx, 0xc77f
mov byte [ebp - 3], cl
movsx edx, word [ebp - 0x10]
push edx
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov byte [0x1009b07e], al
movzx eax, byte [0x1009b07e]
test eax, eax
jle 0x1004ad5d
mov dword [ebp - 0x3fc], 1
jmp 0x1004ad67
mov dword [ebp - 0x3fc], 0
movzx ecx, byte [0x1009b07e]
cmp ecx, 0x29
jle 0x1004ad7f
mov dword [ebp - 0x400], 1
jmp 0x1004ad89
mov dword [ebp - 0x400], 0
mov edx, dword [ebp - 0x3fc]
cmp edx, dword [ebp - 0x400]
je 0x1004adf4
mov dword [ebp - 0x17c], 0x288
jmp 0x1004adb2
mov eax, dword [ebp - 0x17c]
sub eax, 1
mov dword [ebp - 0x17c], eax
cmp dword [ebp - 0x17c], 0
jle 0x1004adf4
movsx ecx, byte [ebp - 3]
movzx edx, byte [0x1009b0ef]
add ecx, edx
movsx eax, byte [ebp - 3]
xor eax, ecx
mov byte [ebp - 3], al
mov cx, word [0x1009bc7c]
mov word [ebp - 0x10], cx
mov edx, dword [ebp - 0x34]
imul edx, dword [0x1009b170]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
jmp 0x1004ada3
mov ecx, dword [ebp - 0x9c]
mov dx, word [ebp - 0x84]
mov word [ebp + ecx*2 - 0x104], dx
jmp 0x1004a26b
movsx eax, word [ebp - 0x10]
sub eax, dword [0x1009b148]
jne 0x1004ae2e
xor ecx, ecx
mov dword [ebp - 0x1330], 1
mov dword [ebp - 0x132c], ecx
jmp 0x1004ae39
xorps xmm0, xmm0
movlpd qword [ebp - 0x1330], xmm0
movzx eax, word [0x1009b184]
cdq
mov edx, dword [0x1009b168]
mov ecx, dword [0x1009b16c]
mov dword [ebp - 0x210c], ecx
not edx
sub eax, edx
add eax, dword [ebp - 0x1330]
mov dword [0x1009b188], eax
movzx edx, word [ebp - 0x18]
movsx eax, byte [ebp - 3]
xor edx, eax
mov dword [ebp - 0x40], edx
mov ecx, 2
shl ecx, 0
xor edx, edx
mov word [ebp + ecx - 0x104], dx
movsx eax, word [ebp - 0x10]
not eax
sub eax, dword [0x1009b144]
je 0x1004af4e
movzx ecx, byte [0x1009b0ef]
test ecx, ecx
je 0x1004aeb7
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
mov dword [ebp - 0xd98], edx
mov dword [ebp - 0xd94], eax
jmp 0x1004aecf
mov ecx, dword [0x1009b160]
mov edx, dword [0x1009b164]
mov dword [ebp - 0xd98], ecx
mov dword [ebp - 0xd94], edx
mov eax, dword [ebp - 0xd98]
mov dword [ebp - 0x2c], eax
movsx eax, word [ebp - 0x1c]
cdq
xor eax, 0x3b4d9ced
mov byte [ebp - 6], al
movsx eax, word [ebp - 0x20]
cdq
sub eax, 0x8129a8fb
sbb edx, 0x96441
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
movzx ecx, byte [ebp - 2]
mov edx, dword [ebp - 0x28]
imul edx, dword [ebp - 0x34]
not edx
add ecx, edx
xor eax, eax
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], eax
movzx eax, byte [ebp - 4]
cdq
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov dword [ebp - 0x2110], edx
add ecx, eax
mov word [ebp - 0x1c], cx
mov eax, dword [0x1009b198]
mov edx, dword [0x1009b19c]
mov cl, 2
call fcn.1006c0d0
mov byte [ebp - 5], al
jmp 0x1004b0c7
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x1338], eax
mov dword [ebp - 0x1334], ecx
mov edx, dword [ebp - 0x1338]
or edx, dword [ebp - 0x1334]
je 0x1004af83
cmp dword [0x1009b1a0], 0
jne 0x1004af83
mov dword [ebp - 0x404], 0
jmp 0x1004af8d
mov dword [ebp - 0x404], 1
movzx eax, byte [0x1009b0ee]
movsx ecx, word [ebp - 0x1c]
cmp eax, ecx
jne 0x1004afa8
mov dword [ebp - 0x408], 1
jmp 0x1004afb2
mov dword [ebp - 0x408], 0
mov edx, dword [ebp - 0x404]
cmp edx, dword [ebp - 0x408]
jge 0x1004b030
mov eax, dword [ebp - 0x34]
add eax, 0x59
mov word [0x1009b184], ax
movsx ecx, byte [ebp - 6]
sar ecx, 3
mov byte [0x1009b07f], cl
mov byte [0x1009b0bb], 0xbc
movsx edx, word [ebp - 0x20]
test edx, edx
je 0x1004affa
mov eax, dword [ebp - 0x28]
cdq
mov dword [ebp - 0xda0], eax
mov dword [ebp - 0xd9c], edx
jmp 0x1004b00c
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0xda0], eax
mov dword [ebp - 0xd9c], ecx
mov edx, dword [ebp - 0xda0]
mov dword [ebp - 0x40], edx
movsx eax, byte [ebp - 1]
imul eax, eax, 0xa137
cdq
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
jmp 0x1004b0c7
cmp dword [0x1009b14c], 0
je 0x1004b0c7
movzx ecx, byte [0x1009b0ef]
movsx edx, byte [0x1009b0ba]
add ecx, edx
jne 0x1004b05d
mov eax, 1
mov word [ebp - 0xd6], ax
jmp 0x1004b066
xor ecx, ecx
mov word [ebp - 0xd6], cx
mov dx, word [ebp - 0xd6]
mov word [0x1009b184], dx
imul eax, dword [ebp - 0x34], 0xf4ea
movzx ecx, word [ebp - 0x18]
add ecx, eax
mov word [ebp - 0x18], cx
mov edx, dword [0x1009b198]
mov eax, dword [0x1009b19c]
push 0xcf69c
push 0x12a9ef5b
push eax
push edx
call fcn.1006c090
mov ecx, eax
movzx eax, byte [ebp - 4]
cdq
sub eax, ecx
mov byte [ebp - 4], al
push 0
push 0xba6e
mov edx, dword [ebp - 0x50]
push edx
mov eax, dword [ebp - 0x54]
push eax
call fcn.1006c090
mov word [0x1009b180], ax
mov ecx, 0x31
mov word [ebp - 0x108], cx
xor edx, edx
mov word [ebp - 0x106], dx
movzx eax, byte [0x1009b0ee]
imul ecx, eax, 0x1b
mov byte [0x1009b0bb], cl
movsx eax, word [ebp - 0x24]
cdq
push 0xff04c
push 0xa92be9d4
push edx
push eax
call fcn.1006c090
mov byte [0x1009b0ba], al
movzx eax, word [0x1009b158]
cdq
mov ecx, 0x7de05f9b
sub ecx, eax
mov eax, 0xb6041
sbb eax, edx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], eax
imul ecx, dword [0x1009b18c], 0x6dd8
mov dword [0x1009b18c], ecx
mov dword [ebp - 0x98], 0
mov dword [ebp - 0xa0], 0
jmp 0x1004b158
mov edx, dword [ebp - 0x98]
add edx, 1
mov dword [ebp - 0x98], edx
cmp dword [ebp - 0x98], 1
jae 0x1004c79b
mov eax, dword [0x1009b190]
xor ecx, ecx
mov edx, dword [0x1009b150]
mov esi, dword [0x1009b154]
push esi
push edx
push ecx
push eax
call fcn.1006c090
imul ecx, dword [0x1009b144], 0x759f7112
xor esi, esi
sub eax, ecx
sbb edx, esi
mov dword [ebp - 0x1340], eax
mov dword [ebp - 0x133c], edx
mov edx, dword [ebp - 0x1340]
or edx, dword [ebp - 0x133c]
jne 0x1004b1b7
mov dword [ebp - 0x414], 1
jmp 0x1004b1c1
mov dword [ebp - 0x414], 0
movsx eax, byte [0x1009b0bb]
test eax, eax
jne 0x1004b1d8
mov dword [ebp - 0x40c], 1
jmp 0x1004b1e2
mov dword [ebp - 0x40c], 0
mov ecx, dword [0x1009b188]
add ecx, dword [ebp - 0x40c]
jne 0x1004b1fc
mov dword [ebp - 0x410], 1
jmp 0x1004b206
mov dword [ebp - 0x410], 0
movsx edx, word [0x1009b180]
movzx eax, byte [ebp - 2]
not eax
and edx, eax
mov ecx, dword [ebp - 0x410]
sub ecx, edx
add ecx, dword [ebp - 0x414]
mov byte [0x1009b01f], cl
mov byte [ebp - 2], 0x9b
movsx edx, word [ebp - 0x24]
test edx, edx
je 0x1004b23d
mov al, byte [ebp - 1]
mov byte [ebp - 0x73], al
jmp 0x1004b243
mov cl, byte [ebp - 6]
mov byte [ebp - 0x73], cl
mov dl, byte [ebp - 0x73]
mov byte [0x1009b0ef], dl
movsx eax, byte [0x1009b0bb]
imul eax, dword [ebp - 0x2c]
movsx ecx, byte [0x1009b0bb]
add ecx, eax
mov byte [0x1009b0bb], cl
mov edx, dword [ebp - 0x30]
xor eax, eax
xor edx, 0x3705510e
xor eax, 0x85be2
mov dword [0x1009b138], edx
mov dword [0x1009b13c], eax
cmp dword [0x1009b1a0], 0
jne 0x1004b296
mov dword [ebp - 0x418], 1
jmp 0x1004b2a0
mov dword [ebp - 0x418], 0
mov eax, dword [ebp - 0x40]
imul eax, dword [ebp - 0x418]
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov ecx, 0x3957c
mov dword [0x1009b150], 0x751a04b5
mov dword [0x1009b154], ecx
mov edx, dword [ebp - 0x30]
and edx, 0x411acbc
mov byte [0x1009b033], dl
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
sub eax, 0xdac0
sbb ecx, 0
mov edx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
and edx, eax
and esi, ecx
mov dword [0x1009b1a8], edx
mov dword [0x1009b1ac], esi
movsx eax, word [ebp - 0x1c]
movzx ecx, word [0x1009b184]
add eax, ecx
movsx edx, word [ebp - 0x1c]
sub edx, eax
mov word [ebp - 0x1c], dx
mov ax, word [ebp - 0x1c]
mov byte [0x1009b0bb], al
mov ecx, dword [0x1009b150]
mov esi, dword [0x1009b154]
movsx eax, word [ebp - 0x10]
add eax, 1
cdq
mov dword [ebp - 0x1348], ecx
mov dword [ebp - 0x1344], esi
mov dword [ebp - 0x1350], eax
mov dword [ebp - 0x134c], edx
mov edx, dword [ebp - 0x1348]
cmp edx, dword [ebp - 0x1350]
jne 0x1004b72a
mov eax, dword [ebp - 0x1344]
cmp eax, dword [ebp - 0x134c]
jne 0x1004b72a
mov dword [ebp - 0x40], 1
mov ecx, dword [0x1009b1b0]
sub ecx, 3
xor edx, edx
mov eax, dword [0x1009b178]
sub eax, ecx
mov ecx, dword [0x1009b17c]
sbb ecx, edx
mov dword [0x1009b178], eax
mov dword [0x1009b17c], ecx
mov edx, dword [0x1009b188]
shl edx, 8
mov byte [0x1009b0ef], dl
movzx eax, byte [0x1009b07f]
cdq
sub eax, 0xd7478dd5
mov byte [ebp - 5], al
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x41c], eax
cmp dword [ebp - 0x41c], 0
je 0x1004b3de
cmp dword [ebp - 0x41c], 1
je 0x1004b475
jmp 0x1004b527
mov ecx, dword [0x1009b144]
imul ecx, dword [ebp - 0x34]
test ecx, ecx
jne 0x1004b3f2
mov byte [ebp - 0x74], 1
jmp 0x1004b3f6
mov byte [ebp - 0x74], 0
mov dl, byte [ebp - 0x74]
mov byte [ebp - 4], dl
movzx eax, word [0x1009b184]
imul ecx, eax, 0xffffff7d
sub ecx, dword [ebp - 0x28]
movzx edx, byte [0x1009b0a6]
movzx eax, byte [0x1009b0ee]
not eax
lea edx, [edx + eax + 0x62]
imul ecx, edx
mov dword [0x1009b148], ecx
movsx eax, word [ebp - 0x10]
cdq
mov ecx, 8
imul ecx, ecx, 3
mov dword [ecx + 0x101c0bc0], eax
mov dword [ecx + 0x101c0bc4], edx
movsx edx, word [ebp - 0x20]
movsx eax, byte [0x1009b0ba]
add edx, eax
movsx ecx, word [ebp - 0x20]
add ecx, edx
mov word [ebp - 0x20], cx
mov edx, 0xf145
mov word [ebp - 0x18], dx
movsx eax, byte [ebp - 5]
imul ecx, eax, 0xcd5f4b82
mov word [ebp - 0x20], cx
jmp 0x1004b527
movzx eax, byte [0x1009b0a6]
not eax
movsx edx, byte [0x1009b0bb]
sub eax, edx
cdq
mov ecx, eax
movzx eax, byte [0x1009b07e]
cdq
mov edx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
mov dword [ebp - 0x2114], esi
add eax, edx
sub ecx, eax
mov byte [ebp - 5], cl
mov eax, dword [0x1009b138]
add eax, 0xd3f2
mov ecx, dword [0x1009b13c]
adc ecx, 0
mov dword [0x1009b168], eax
mov dword [0x1009b16c], ecx
movsx eax, byte [ebp - 7]
cdq
push 0x1e708
push 0xaa7af353
push edx
push eax
call fcn.1006c090
mov dword [0x1009b14c], eax
mov edx, dword [0x1009b1b0]
imul edx, dword [ebp - 0x34]
mov eax, dword [0x1009b1b0]
sub eax, edx
mov dword [0x1009b1b0], eax
movsx ecx, byte [ebp - 5]
imul eax, ecx, 0x4baf1d97
cdq
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
movzx eax, byte [ebp - 4]
cdq
mov ecx, eax
add ecx, dword [0x1009b160]
movzx eax, byte [ebp - 4]
cdq
xor eax, ecx
mov byte [ebp - 4], al
mov edx, dword [ebp - 0x54]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov byte [0x1009b07e], al
mov eax, dword [0x1009b150]
mov ecx, dword [0x1009b154]
mov dword [ebp - 0x1358], eax
mov dword [ebp - 0x1354], ecx
cmp dword [ebp - 0x1358], 1
jne 0x1004b72a
cmp dword [ebp - 0x1354], 0
jne 0x1004b72a
movsx edx, byte [ebp - 1]
cmp edx, 0x45c9
jl 0x1004b5c9
mov ecx, dword [0x1009b150]
mov esi, dword [0x1009b154]
movzx eax, word [0x1009b184]
cdq
mov dword [ebp - 0x1360], ecx
mov dword [ebp - 0x135c], esi
mov dword [ebp - 0x1368], eax
mov dword [ebp - 0x1364], edx
mov edx, dword [ebp - 0x135c]
cmp edx, dword [ebp - 0x1364]
jb 0x1004b5c9
ja 0x1004b5bd
mov eax, dword [ebp - 0x1360]
cmp eax, dword [ebp - 0x1368]
jb 0x1004b5c9
mov dword [ebp - 0x420], 1
jmp 0x1004b5d3
mov dword [ebp - 0x420], 0
mov ecx, dword [ebp - 0x420]
not ecx
cmp dword [0x1009b1a0], ecx
je 0x1004b6b4
movsx edx, word [ebp - 0x10]
test edx, edx
jne 0x1004b620
mov eax, dword [0x1009b168]
mov ecx, dword [0x1009b16c]
mov dword [ebp - 0x1370], eax
mov dword [ebp - 0x136c], ecx
mov edx, dword [ebp - 0x1370]
or edx, dword [ebp - 0x136c]
jne 0x1004b620
mov dword [ebp - 0x424], 1
jmp 0x1004b62a
mov dword [ebp - 0x424], 0
mov eax, dword [0x1009b188]
cmp dword [ebp - 0x424], eax
jne 0x1004b639
jmp 0x1004b6b2
mov eax, dword [0x1009b198]
mov edx, dword [0x1009b19c]
mov cl, 6
call fcn.1006c1a0
mov byte [0x1009b0bb], al
mov ecx, dword [ebp - 0x40]
and ecx, 0xc0d7
mov byte [ebp - 2], cl
movzx edx, word [0x1009b158]
test edx, edx
jne 0x1004b673
mov dword [ebp - 0x428], 1
jmp 0x1004b67d
mov dword [ebp - 0x428], 0
movsx eax, byte [ebp - 3]
xor eax, dword [ebp - 0x428]
mov dword [ebp - 0x30], eax
mov ecx, dword [0x1009b18c]
xor edx, edx
push 0xbbacb
push 0x5e2b9b67
push edx
push ecx
call fcn.1006c090
mov ecx, eax
movsx eax, word [ebp - 0x10]
sub eax, dword [ebp - 0x28]
cdq
and ecx, eax
mov dword [ebp - 0x44], ecx
jmp 0x1004b6f9
mov byte [0x1009b07e], 0xbe
cmp dword [0x1009b148], 0
je 0x1004b6d2
mov edx, dword [0x1009b170]
mov dword [ebp - 0x42c], edx
jmp 0x1004b6db
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x42c], eax
mov cx, word [ebp - 0x42c]
mov word [ebp - 0x20], cx
movzx edx, byte [0x1009b0a6]
sub edx, 0xe917
mov byte [0x1009b07e], dl
jmp 0x1004b72a
mov edx, 0x3957c
mov dword [0x1009b150], 0x751a04b5
mov dword [0x1009b154], edx
movsx eax, word [ebp - 0x10]
add eax, 0x75a1407b
imul eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
mov ecx, 4
imul edx, ecx, 0x18
mov ax, word [edx + 0x1015e318]
mov word [ebp - 0x10], ax
movzx ecx, word [0x1009b184]
mov edx, dword [ebp - 0x2c]
sub edx, ecx
mov dword [ebp - 0x2c], edx
movzx eax, word [0x1009b184]
sar eax, 3
mov dword [0x1009b148], eax
xor ecx, ecx
mov dword [0x1009b198], 0x74cb
mov dword [0x1009b19c], ecx
mov edx, dword [ebp - 0x30]
xor eax, eax
push eax
push edx
mov ecx, dword [0x1009b13c]
push ecx
mov edx, dword [0x1009b138]
push edx
call fcn.1006c090
add eax, dword [0x1009b138]
adc edx, dword [0x1009b13c]
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
movzx eax, byte [0x1009b0a6]
add eax, 0xd457
movzx ecx, word [ebp - 0x14]
sub ecx, eax
mov word [ebp - 0x14], cx
imul edx, dword [0x1009b190], 0xad
xor eax, eax
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
sub ecx, edx
sbb esi, eax
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], esi
movzx eax, byte [0x1009b07e]
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
movzx eax, word [ebp - 0x14]
cdq
push 0xeed9e
push 0x7ff9b891
push edx
push eax
call fcn.1006c090
mov dword [0x1009b130], eax
mov dword [0x1009b134], edx
movsx ecx, byte [0x1009b0bb]
test ecx, ecx
je 0x1004b862
movzx edx, word [0x1009b184]
mov dword [ebp - 0x430], edx
jmp 0x1004b86c
movsx eax, byte [ebp - 3]
mov dword [ebp - 0x430], eax
mov eax, dword [ebp - 0x430]
cdq
mov dword [0x1009b198], eax
mov dword [0x1009b19c], edx
mov ecx, dword [ebp - 0x98]
movzx edx, word [ebp + ecx*2 - 0x108]
mov dword [ebp - 0xa0], edx
movsx eax, byte [0x1009b0a7]
cdq
sub eax, 0xe0534283
sbb edx, 0x9ebcd
mov dword [0x1009b130], eax
mov dword [0x1009b134], edx
movzx eax, byte [0x1009b0a6]
imul eax, dword [ebp - 0x30]
movzx ecx, byte [0x1009b0a6]
sub ecx, eax
mov byte [0x1009b0a6], cl
mov dl, byte [0x1009b1a0]
mov byte [ebp - 3], dl
mov eax, dword [ebp - 0xe4]
xor eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe4]
add ecx, dword [ebp - 0x434]
xor eax, ecx
imul edx, dword [ebp - 0x434], 0x73
mov ecx, dword [ebp - 0xe4]
xor ecx, dword [ebp - 0xe4]
imul edx, ecx
imul eax, edx
add eax, dword [ebp - 0x98]
xor eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa0], eax
cmp dword [0x1009b140], 0
je 0x1004ba36
movsx edx, byte [ebp - 3]
test edx, edx
je 0x1004b98c
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
push 0
push 0x18bb2af
push ecx
push eax
call fcn.1006c090
mov dword [ebp - 0x34], eax
mov byte [0x1009b0a7], 0xf0
mov edx, dword [ebp - 0x34]
sub edx, 0x45bdbfd7
mov byte [0x1009b07e], dl
movzx eax, byte [0x1009b0a6]
sub eax, 0x9ff8a63
mov dword [0x1009b188], eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x2118], edx
add ecx, 0x55
mov eax, dword [ebp - 0x28]
cdq
add eax, ecx
mov dword [ebp - 0x28], eax
mov byte [ebp - 5], 0xdc
jmp 0x1004ba36
movzx eax, word [ebp - 0xc]
movzx ecx, word [ebp - 0xc]
cmp eax, ecx
jle 0x1004ba36
movzx eax, word [ebp - 0xc]
cdq
add eax, 0x9be89d78
adc edx, 0x31c17
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
movzx edx, byte [0x1009b033]
mov dword [0x1009b148], edx
cmp dword [0x1009b140], 0
je 0x1004b9e6
mov eax, dword [0x1009b150]
mov ecx, dword [0x1009b154]
mov dword [ebp - 0xda8], eax
mov dword [ebp - 0xda4], ecx
jmp 0x1004b9f7
movzx eax, byte [ebp - 2]
cdq
mov dword [ebp - 0xda8], eax
mov dword [ebp - 0xda4], edx
mov dl, byte [ebp - 0xda8]
mov byte [ebp - 6], dl
mov eax, dword [0x1009b1a8]
mov ecx, dword [0x1009b1ac]
mov dword [ebp - 0x211c], ecx
add eax, 0x6cd0
mov word [ebp - 0x10], ax
movsx edx, word [ebp - 0x10]
imul edx, dword [0x1009b1b0]
mov word [ebp - 0x10], dx
mov eax, dword [0x1009b148]
and eax, 0x65
mov byte [0x1009b033], al
mov ecx, dword [ebp - 0xa0]
add ecx, dword [ebp - 0x98]
mov dword [ebp - 0xa0], ecx
mov edx, 0x2fb9
mov word [0x1009b184], dx
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
movzx eax, word [ebp - 0x18]
cdq
mov dword [ebp - 0x1378], ecx
mov dword [ebp - 0x1374], esi
mov dword [ebp - 0x1380], eax
mov dword [ebp - 0x137c], edx
mov edx, dword [ebp - 0x1378]
cmp edx, dword [ebp - 0x1380]
jne 0x1004bb36
mov eax, dword [ebp - 0x1374]
cmp eax, dword [ebp - 0x137c]
jne 0x1004bb36
movzx ecx, word [ebp - 0x18]
xor ecx, 0x64
movsx edx, word [ebp - 0x10]
sub edx, ecx
mov word [ebp - 0x10], dx
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov edx, dword [ebp - 0x48]
add eax, dword [ebp - 0x4c]
adc ecx, edx
mov edx, dword [ebp - 0x34]
xor esi, esi
push ecx
push eax
push esi
push edx
call fcn.1006c090
mov dword [ebp - 0x34], eax
mov eax, 1
imul ecx, eax, 0x3f
mov dl, byte [ebp - 0x24]
mov byte [ecx + 0x101c0aa8], dl
mov eax, dword [0x1009b150]
mov ecx, dword [0x1009b154]
push 0
push 0xf28f
push ecx
push eax
call fcn.1006c090
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movsx edx, word [ebp - 0x10]
movzx eax, byte [0x1009b0ef]
imul edx, eax
movsx ecx, word [ebp - 0x10]
add ecx, edx
mov word [ebp - 0x10], cx
mov edx, 4
imul eax, edx, 0x367
movzx ecx, byte [0x1009b0ee]
sub ecx, dword [eax + 0x102fea60]
mov byte [0x1009b0ee], cl
movzx edx, word [0x1009b184]
mov eax, dword [ebp - 0x2c]
add eax, 1
cmp edx, eax
jne 0x1004c50e
push str.comdlg32
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov word [0x1009b184], ax
movzx ecx, word [0x1009b184]
test ecx, ecx
jge 0x1004bbcc
movzx edx, byte [0x1009b0ee]
movzx eax, byte [0x1009b07e]
add edx, eax
mov byte [0x1009b0ee], dl
push 0
push 0x8bdb0a04
mov ecx, dword [0x1009b17c]
push ecx
mov edx, dword [0x1009b178]
push edx
call fcn.1006c090
mov dword [ebp - 0x28], eax
movsx eax, word [ebp - 0x20]
shl eax, 6
mov byte [0x1009b0bb], al
movzx ecx, byte [0x1009b0ee]
shl ecx, 6
mov dword [0x1009b18c], ecx
movsx edx, word [ebp - 0x10]
sub edx, dword [0x1009b148]
movsx eax, word [ebp - 0x10]
add eax, edx
mov word [ebp - 0x10], ax
jmp 0x1004bc3f
mov ecx, dword [0x1009b130]
mov edx, dword [0x1009b134]
mov dword [ebp - 0x1388], ecx
mov dword [ebp - 0x1384], edx
mov eax, dword [ebp - 0x1388]
or eax, dword [ebp - 0x1384]
je 0x1004bc3f
push 0
push 0xe0
mov ecx, dword [0x1009b164]
push ecx
mov edx, dword [0x1009b160]
push edx
call fcn.1006c090
mov byte [ebp - 1], al
xor eax, eax
mov dword [0x1009b198], 0x45cc
mov dword [0x1009b19c], eax
movzx ecx, byte [0x1009b07e]
imul edx, ecx, 0x3c
movsx eax, word [ebp - 0x1c]
and eax, edx
mov word [ebp - 0x1c], ax
mov cx, word [0x1009bc7c]
mov word [ebp - 0x20], cx
call dword [sym.imp.USER32.dll_GetDialogBaseUnits]
mov dword [0x1009b190], eax
cmp dword [0x1009b190], 0
je 0x1004be08
mov edx, 2
mov word [ebp - 0x14], dx
mov ax, word [0x1009bc7c]
mov word [0x1009b180], ax
cmp dword [ebp - 0x30], 0
je 0x1004bc7e
movsx ecx, word [ebp - 0x1c]
mov dword [ebp - 0x438], ecx
jmp 0x1004bc87
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x438], edx
mov eax, dword [ebp - 0x438]
mov dword [0x1009b170], eax
mov byte [ebp - 3], 0x8b
movzx ecx, word [ebp - 0x14]
mov dword [ebp - 0x180], ecx
cmp dword [ebp - 0x180], 0
je 0x1004bcc4
cmp dword [ebp - 0x180], 1
je 0x1004bd1c
cmp dword [ebp - 0x180], 2
je 0x1004bd6b
jmp 0x1004be03
mov eax, dword [ebp - 0x2c]
cdq
mov ecx, eax
mov edx, dword [0x1009b198]
mov eax, dword [0x1009b19c]
mov dword [ebp - 0x2120], eax
sub ecx, edx
mov eax, dword [ebp - 0x2c]
cdq
add eax, ecx
mov dword [ebp - 0x2c], eax
movzx eax, byte [0x1009b07e]
sub eax, 0x8475
cdq
mov dword [0x1009b150], eax
mov dword [0x1009b154], edx
mov ecx, dword [0x1009b148]
mov byte [ebp - 2], cl
movzx edx, word [ebp - 0xc]
add edx, 0x3be1cceb
mov dword [0x1009b188], edx
jmp 0x1004be03
mov eax, dword [0x1009b14c]
cdq
mov ecx, eax
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
mov dword [ebp - 0x2124], eax
sub ecx, edx
mov eax, dword [0x1009b14c]
cdq
add eax, ecx
mov dword [0x1009b14c], eax
mov ecx, 4
imul edx, ecx, 0x5276
movsx eax, word [ebp - 0x24]
sub eax, dword [edx + 0x102fea60]
mov word [ebp - 0x24], ax
mov ecx, dword [0x1009bc7c]
mov dword [ebp - 0x40], ecx
jmp 0x1004be03
mov dx, word [0x1009bc7c]
mov word [ebp - 0x14], dx
movzx eax, word [0x1009b158]
test eax, eax
je 0x1004bd8d
movzx ecx, word [ebp - 0x18]
mov dword [ebp - 0x43c], ecx
jmp 0x1004bd99
mov edx, dword [0x1009b140]
mov dword [ebp - 0x43c], edx
mov ax, word [ebp - 0x43c]
mov word [0x1009b158], ax
mov dword [ebp - 0x34], 0xe4
cmp dword [ebp - 0x34], 0
jne 0x1004bdc7
xor ecx, ecx
mov dword [ebp - 0x1390], 1
mov dword [ebp - 0x138c], ecx
jmp 0x1004bdd2
xorps xmm0, xmm0
movlpd qword [ebp - 0x1390], xmm0
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x2128], eax
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x212c], eax
and edx, ecx
mov ecx, dword [0x1009b178]
not ecx
add ecx, dword [ebp - 0x1390]
or edx, ecx
mov word [0x1009b158], dx
jmp 0x1004c038
movzx eax, word [ebp - 0xc]
not eax
cdq
mov dword [ebp - 0x1398], eax
mov dword [ebp - 0x1394], edx
mov edx, dword [ebp - 0x1394]
cmp edx, dword [ebp - 0x50]
ja 0x1004bea1
jb 0x1004be33
mov eax, dword [ebp - 0x1398]
cmp eax, dword [ebp - 0x54]
ja 0x1004bea1
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
mov dword [ebp - 0x13a0], ecx
mov dword [ebp - 0x139c], edx
mov eax, dword [ebp - 0x13a0]
or eax, dword [ebp - 0x139c]
jne 0x1004be65
mov dword [ebp - 0x440], 1
jmp 0x1004be6f
mov dword [ebp - 0x440], 0
movsx ecx, word [ebp - 0x1c]
cmp ecx, dword [ebp - 0x440]
jl 0x1004be87
mov dword [ebp - 0x444], 1
jmp 0x1004be91
mov dword [ebp - 0x444], 0
mov edx, dword [ebp - 0x444]
not edx
test edx, edx
je 0x1004bf2c
movzx eax, word [ebp - 0x18]
cdq
mov ecx, dword [0x1009b138]
sub ecx, eax
xor ecx, 0xe730a46b
mov word [0x1009b158], cx
movzx edx, byte [0x1009b07e]
add edx, 0xfc
mov byte [0x1009b0bb], dl
mov eax, dword [0x1009b138]
or eax, dword [0x1009b13c]
je 0x1004beea
movsx ecx, byte [0x1009b0bb]
mov dword [ebp - 0x448], ecx
jmp 0x1004bef6
mov edx, dword [0x1009b170]
mov dword [ebp - 0x448], edx
mov ax, word [ebp - 0x448]
mov word [ebp - 0xc], ax
movsx ecx, byte [0x1009b0bb]
movzx edx, word [0x1009b184]
add ecx, edx
mov byte [0x1009b0bb], cl
mov eax, dword [0x1009b170]
sub eax, dword [0x1009b18c]
mov dword [0x1009b140], eax
jmp 0x1004c038
movsx eax, byte [ebp - 3]
cdq
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov dword [ebp - 0x13a8], eax
mov dword [ebp - 0x13a4], edx
mov edx, dword [ebp - 0x13a8]
or edx, dword [ebp - 0x13a4]
je 0x1004bfb8
imul eax, dword [0x1009b140], 0xbd
mov word [ebp - 0x18], ax
cmp dword [0x1009b1a0], 0
je 0x1004bf82
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x44c], ecx
jmp 0x1004bf8e
mov edx, dword [0x1009b140]
mov dword [ebp - 0x44c], edx
mov eax, dword [ebp - 0x44c]
xor ecx, ecx
mov dword [0x1009b198], eax
mov dword [0x1009b19c], ecx
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov cl, 6
call fcn.1006c0d0
mov byte [0x1009b07e], al
jmp 0x1004c038
movsx edx, word [ebp - 0x10]
imul eax, edx, 0x2dc435f1
test eax, eax
jne 0x1004c038
movsx ecx, byte [ebp - 7]
test ecx, ecx
je 0x1004c038
movsx eax, byte [0x1009b0bb]
cdq
sub eax, 0xda68732e
mov byte [0x1009b0ba], al
movzx eax, byte [0x1009b0a6]
shl eax, 4
cdq
mov dword [0x1009b168], eax
mov dword [0x1009b16c], edx
mov edx, 4
imul eax, edx, 0x7a00
mov ecx, dword [eax + 0x1015e570]
mov dword [0x1009b148], ecx
mov edx, 8
imul eax, edx, 0x3d
mov cl, byte [eax + 0x102592e0]
mov byte [ebp - 5], cl
mov edx, dword [ebp - 0x54]
xor edx, 0xc18a
mov eax, dword [ebp - 0x50]
xor eax, 0
mov dword [0x1009b130], edx
mov dword [0x1009b134], eax
cmp dword [0x1009b178], 1
jne 0x1004c50e
cmp dword [0x1009b17c], 0
jne 0x1004c50e
movzx ecx, byte [0x1009b033]
movsx edx, byte [0x1009b0bb]
sub ecx, edx
je 0x1004c2da
xor eax, eax
mov dword [0x1009b168], 3
mov dword [0x1009b16c], eax
mov ecx, dword [0x1009b198]
mov edx, dword [0x1009b19c]
mov eax, dword [0x1009b16c]
add ecx, dword [0x1009b168]
adc edx, eax
mov dword [0x1009b198], ecx
mov dword [0x1009b19c], edx
cmp dword [0x1009b140], 0
je 0x1004c0b5
mov ecx, dword [0x1009b188]
mov dword [ebp - 0x450], ecx
jmp 0x1004c0c2
movzx edx, byte [0x1009b07f]
mov dword [ebp - 0x450], edx
mov eax, dword [ebp - 0x450]
mov dword [0x1009b190], eax
movzx ecx, byte [0x1009b0ef]
sub ecx, 0xe8
mov dword [ebp - 0x2c], ecx
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
mov dword [ebp - 0x2c4], edx
mov dword [ebp - 0x2c0], eax
cmp dword [ebp - 0x2c0], 0
jl 0x1004c2d5
jg 0x1004c110
cmp dword [ebp - 0x2c4], 0
jb 0x1004c2d5
cmp dword [ebp - 0x2c0], 0
jg 0x1004c2d5
jl 0x1004c12c
cmp dword [ebp - 0x2c4], 3
ja 0x1004c2d5
mov ecx, dword [ebp - 0x2c4]
mov dword [ebp - 0x2354], ecx
mov edx, dword [ebp - 0x2354]
jmp dword [edx*4 + 0x1006a018]
jmp 0x1004c4bb
movzx ecx, word [ebp - 0x18]
test ecx, ecx
jne 0x1004c302
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x13b8], edx
mov dword [ebp - 0x13b4], eax
mov ecx, dword [ebp - 0x13b8]
or ecx, dword [ebp - 0x13b4]
je 0x1004c351
mov edx, dword [0x1009bc7c]
mov dword [ebp - 0x34], edx
mov eax, dword [0x1009b148]
sub eax, 1
mov dword [0x1009b148], eax
mov ecx, dword [ebp - 0x54]
sub ecx, 0x89
mov dword [0x1009b1b0], ecx
mov eax, dword [ebp - 0x2c]
add eax, 0xb0
cdq
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
add ecx, eax
adc esi, edx
mov dword [0x1009b1a8], ecx
mov dword [0x1009b1ac], esi
jmp 0x1004c4bb
movsx edx, byte [ebp - 5]
test edx, edx
jne 0x1004c365
mov dword [ebp - 0x454], 1
jmp 0x1004c36f
mov dword [ebp - 0x454], 0
movzx eax, word [ebp - 0x14]
not eax
imul eax, dword [ebp - 0x454]
cdq
mov dword [ebp - 0x13c0], eax
mov dword [ebp - 0x13bc], edx
mov eax, dword [0x1009b178]
cmp eax, dword [ebp - 0x13c0]
jne 0x1004c41d
mov ecx, dword [0x1009b17c]
cmp ecx, dword [ebp - 0x13bc]
jne 0x1004c41d
movzx eax, word [ebp - 0x18]
cdq
add eax, 0x2ad7f6f2
mov dx, word [ebp - 0x20]
mov ecx, eax
shl dx, cl
mov word [ebp - 0x20], dx
movzx eax, byte [0x1009b07f]
cdq
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov dword [0x1009b168], eax
mov dword [0x1009b16c], edx
imul edx, dword [ebp - 0x28], 0x22ee5e46
movzx eax, word [0x1009b184]
sub eax, edx
mov word [0x1009b184], ax
movsx ecx, byte [ebp - 5]
imul edx, ecx, 0x21cb
mov byte [0x1009b07e], dl
mov eax, 0xd40a
mov word [0x1009b158], ax
jmp 0x1004c4bb
movsx ecx, byte [0x1009b0ba]
or ecx, dword [ebp - 0x40]
movsx edx, word [0x1009b180]
cmp ecx, edx
jge 0x1004c4bb
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
push esi
push edx
push ecx
push eax
call fcn.1006c090
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movsx eax, byte [ebp - 3]
test eax, eax
jne 0x1004c46d
xor ecx, ecx
mov dword [ebp - 0x13c8], 1
mov dword [ebp - 0x13c4], ecx
jmp 0x1004c478
xorps xmm0, xmm0
movlpd qword [ebp - 0x13c8], xmm0
mov eax, dword [ebp - 0x40]
cdq
mov edx, dword [0x1009b168]
mov ecx, dword [0x1009b16c]
mov dword [ebp - 0x213c], ecx
sub eax, edx
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x2140], ecx
mov ecx, dword [ebp - 0x13c8]
sub ecx, edx
sub eax, ecx
not eax
mov dword [ebp - 0x44], eax
movsx edx, word [ebp - 0x20]
sub edx, 0x64d3
mov dword [0x1009b188], edx
jmp 0x1004c50e
mov edx, 0x2fb9
mov word [0x1009b184], dx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
add eax, 0x7a
adc ecx, 0
mov dword [0x1009b160], eax
mov dword [0x1009b164], ecx
mov edx, dword [0x1009b160]
sub edx, 0xf9b6
mov eax, dword [0x1009b164]
sbb eax, 0
mov dword [0x1009b178], edx
mov dword [0x1009b17c], eax
movsx eax, byte [0x1009b0bb]
cdq
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
mov byte [ebp - 7], 3
movzx ecx, word [0x1009b158]
imul eax, ecx, 0x1a305a67
cdq
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
movzx edx, byte [0x1009b07f]
movzx eax, byte [0x1009b0ee]
xor edx, eax
mov byte [0x1009b07f], dl
movsx ecx, byte [0x1009b0a7]
movsx edx, word [ebp - 0x24]
add ecx, edx
movsx eax, byte [0x1009b0a7]
imul eax, ecx
mov byte [0x1009b0a7], al
movsx eax, byte [ebp - 6]
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov cx, word [0x1009b158]
sub cx, 1
mov word [0x1009b158], cx
movsx edx, byte [ebp - 7]
mov dword [ebp - 0x458], edx
cmp dword [ebp - 0x458], 3
ja case.default.0x1004c5ec
mov eax, dword [ebp - 0x458]
jmp dword [eax*4 + 0x1006a028]
movzx eax, word [ebp - 0xc]
cdq
push 0x1e126
push 0xd51bb05e
push edx
push eax
call fcn.1006c090
mov byte [ebp - 7], al
mov cx, word [ebp - 0xc]
mov edx, 2
imul eax, edx, 0xd68
mov word [eax + 0x1021a340], cx
cmp dword [ebp - 0x34], 0
je 0x1004c636
mov ecx, dword [0x1009b188]
mov dword [ebp - 0x45c], ecx
jmp 0x1004c640
movsx edx, byte [ebp - 3]
mov dword [ebp - 0x45c], edx
mov eax, dword [ebp - 0x45c]
cdq
mov dword [0x1009b130], eax
mov dword [0x1009b134], edx
movsx eax, byte [ebp - 7]
cdq
mov dword [0x1009b150], eax
mov dword [0x1009b154], edx
movzx eax, word [ebp - 0x18]
cdq
add eax, 0x3aee628d
mov word [0x1009b158], ax
jmp case.default.0x1004c5ec
movsx eax, word [ebp - 0x24]
cdq
push 0x5a998
push 0xdc96a976
push edx
push eax
call fcn.1006c090
mov byte [ebp - 2], al
mov ax, word [ebp - 0x54]
mov word [ebp - 0xc], ax
push 0
push 0xd8cd
mov ecx, dword [ebp - 0x50]
push ecx
mov edx, dword [ebp - 0x54]
push edx
call fcn.1006c090
mov ecx, eax
mov esi, edx
movzx eax, word [ebp - 0x18]
cdq
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov word [ebp - 0x18], ax
movzx eax, byte [0x1009b01f]
cdq
push 0x25408
push 0x3067ec11
push edx
push eax
call fcn.1006c090
mov ecx, eax
movzx eax, byte [0x1009b0ef]
cdq
add eax, ecx
mov byte [0x1009b0ef], al
movsx edx, word [0x1009b180]
movsx eax, byte [ebp - 3]
and edx, eax
mov word [0x1009b180], dx
jmp case.default.0x1004c5ec
movzx ecx, byte [0x1009b0a6]
movsx edx, word [ebp - 0x1c]
imul ecx, edx
imul ecx, dword [0x1009b1a0]
mov eax, dword [0x1009b190]
imul eax, ecx
mov word [ebp - 0x14], ax
movsx ecx, byte [ebp - 7]
imul edx, ecx, 0x8522
mov byte [ebp - 3], dl
movzx eax, byte [0x1009b0a6]
cdq
mov ecx, eax
sub ecx, dword [0x1009b178]
movzx eax, byte [0x1009b0a6]
cdq
sub eax, ecx
mov byte [0x1009b0a6], al
jmp case.default.0x1004c5ec
movsx edx, byte [ebp - 3]
movsx eax, byte [ebp - 5]
sub edx, eax
movsx ecx, byte [ebp - 3]
imul ecx, edx
mov byte [ebp - 3], cl
movzx edx, byte [0x1009b033]
sar edx, 7
mov dword [ebp - 0x44], edx
movzx eax, byte [0x1009b033]
sub eax, dword [ebp - 0x34]
mov byte [0x1009b033], al
mov ecx, dword [ebp - 0x98]
mov dx, word [ebp - 0xa0]
mov word [ebp + ecx*2 - 0x108], dx
jmp 0x1004b149
mov dword [0x1009b14c], 0xf9686bb
movzx eax, word [0x1009b184]
test eax, eax
jne 0x1004c7bc
mov dword [ebp - 0x460], 1
jmp 0x1004c7c6
mov dword [ebp - 0x460], 0
xor ecx, ecx
sub ecx, dword [ebp - 0x460]
jne 0x1004c7de
mov edx, 1
mov word [ebp - 0xd8], dx
jmp 0x1004c7e7
xor eax, eax
mov word [ebp - 0xd8], ax
mov cx, word [ebp - 0xd8]
mov word [ebp - 0x1c], cx
movzx edx, byte [ebp - 4]
and edx, 0x61
mov dword [0x1009b14c], edx
movsx eax, byte [0x1009b0bb]
movzx ecx, word [ebp - 0xc]
add eax, ecx
mov byte [0x1009b0bb], al
mov dl, byte [0x1009bc7c]
mov byte [0x1009b07f], dl
mov eax, dword [0x1009b188]
imul eax, dword [ebp - 0x44]
mov word [ebp - 0x20], ax
movzx ecx, byte [0x1009b0ee]
mov edx, dword [0x1009b14c]
add edx, dword [ebp - 0x30]
cmp ecx, edx
jne 0x1004ccb6
mov eax, dword [0x1009b168]
mov ecx, dword [0x1009b16c]
mov dword [ebp - 0x2144], ecx
mov word [ebp - 0x18], ax
movzx edx, word [ebp - 0x18]
movsx eax, byte [ebp - 1]
imul edx, eax
movzx ecx, word [ebp - 0x18]
sub ecx, edx
mov word [ebp - 0x18], cx
movsx edx, byte [0x1009b0a7]
imul eax, edx, 0x62e0
mov dword [0x1009b190], eax
mov ecx, dword [ebp - 0x54]
sub ecx, 0x7028
mov word [ebp - 0xc], cx
movsx edx, byte [0x1009b0a7]
test edx, edx
je 0x1004c8a1
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x464], eax
jmp 0x1004c8ab
movsx ecx, byte [ebp - 5]
mov dword [ebp - 0x464], ecx
mov dl, byte [ebp - 0x464]
mov byte [0x1009b01f], dl
mov eax, dword [ebp - 0x28]
cdq
mov ecx, dword [0x1009b198]
mov edx, dword [0x1009b19c]
mov dword [ebp - 0x2148], edx
add ecx, eax
movzx eax, byte [0x1009b0a6]
imul eax, dword [0x1009b170]
add ecx, eax
sub ecx, dword [0x1009b170]
mov word [ebp - 0xc], cx
movzx eax, byte [0x1009b0ee]
movzx ecx, word [ebp - 0x14]
sub eax, ecx
cdq
mov esi, eax
movsx eax, byte [ebp - 7]
cdq
mov ecx, dword [0x1009b17c]
push ecx
mov ecx, dword [0x1009b178]
push ecx
push edx
push eax
call fcn.1006c090
not eax
add esi, eax
sub esi, dword [0x1009b1b0]
mov word [ebp - 0x20], si
movsx edx, word [ebp - 0x10]
xor edx, 0xe092b30e
mov byte [0x1009b033], dl
mov eax, dword [ebp - 0x2c]
add eax, 0x2fb9
cmp dword [0x1009b148], eax
jne 0x1004ccb6
movsx ecx, byte [ebp - 6]
cmp dword [ebp - 0x30], ecx
ja 0x1004c95a
mov dword [ebp - 0x468], 1
jmp 0x1004c964
mov dword [ebp - 0x468], 0
cmp dword [ebp - 0x30], 0xa
ja 0x1004c976
mov dword [ebp - 0x46c], 1
jmp 0x1004c980
mov dword [ebp - 0x46c], 0
mov edx, dword [ebp - 0x468]
cmp edx, dword [ebp - 0x46c]
je 0x1004ca6a
movsx eax, byte [0x1009b0ba]
cmp eax, dword [0x1009b188]
jg 0x1004ca65
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessorNumber]
mov byte [ebp - 1], al
movsx ecx, byte [ebp - 1]
test ecx, ecx
jl 0x1004ca19
mov dword [0x1009b1a0], 0x7abc7fdb
mov edx, dword [0x1009b140]
imul edx, dword [ebp - 0x34]
mov eax, dword [0x1009b140]
add eax, edx
mov dword [0x1009b140], eax
mov cl, byte [0x1009bc7c]
mov byte [0x1009b0ef], cl
movsx eax, word [ebp - 0x24]
cdq
mov ecx, 8
imul ecx, ecx, 0x1b29
mov dword [ecx + 0x1012a9d0], eax
mov dword [ecx + 0x1012a9d4], edx
mov edx, dword [ebp - 0x28]
sar edx, 6
mov dword [ebp - 0x28], edx
mov ax, word [0x1009b158]
add ax, 1
mov word [0x1009b158], ax
jmp 0x1004ca65
movsx ecx, byte [ebp - 7]
test ecx, ecx
jne 0x1004ca65
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
add ecx, 0x2e5f1587
adc esi, 0
mov eax, dword [0x1009b188]
cdq
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov dword [0x1009b188], eax
movzx edx, byte [0x1009b07e]
imul eax, edx, 0x8f
mov byte [0x1009b0ba], al
mov cl, byte [ebp - 1]
add cl, 1
mov byte [ebp - 1], cl
jmp 0x1004cc6e
movzx edx, byte [0x1009b0ee]
test edx, edx
je 0x1004cb01
movzx eax, byte [0x1009b0a6]
cdq
xor eax, dword [0x1009b138]
mov dword [0x1009b190], eax
movsx eax, word [ebp - 0x10]
sub eax, 0x95
cdq
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
movsx eax, byte [ebp - 5]
sar eax, 7
mov dword [0x1009b140], eax
mov eax, dword [0x1009b178]
mov edx, dword [0x1009b17c]
mov cl, 4
call fcn.1006c0f0
mov byte [0x1009b07f], al
movsx eax, word [ebp - 0x20]
shl eax, 3
cdq
mov dword [0x1009b198], eax
mov dword [0x1009b19c], edx
movsx eax, byte [ebp - 7]
cdq
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov dword [0x1009b198], eax
mov dword [0x1009b19c], edx
jmp 0x1004cc6e
cmp dword [ebp - 0x2c], 0
je 0x1004cb84
mov byte [0x1009b0a7], 0xde
mov edx, dword [0x1009b190]
mov eax, 4
imul ecx, eax, 0x19
mov dword [ecx + 0x1015e318], edx
movsx eax, word [ebp - 0x24]
cdq
mov ecx, dword [0x1009b130]
mov esi, dword [0x1009b134]
add ecx, eax
adc esi, edx
mov dword [0x1009b130], ecx
mov dword [0x1009b134], esi
movzx eax, byte [ebp - 4]
cdq
mov ecx, dword [0x1009b130]
mov esi, dword [0x1009b134]
push esi
push ecx
push edx
push eax
call fcn.1006c090
movzx edx, byte [ebp - 4]
not edx
add edx, 0x4d3a519b
add eax, edx
mov byte [0x1009b033], al
movzx eax, byte [ebp - 4]
cdq
xor eax, dword [0x1009b178]
mov word [ebp - 0x10], ax
jmp 0x1004cc6e
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
movsx eax, byte [ebp - 3]
cdq
mov dword [ebp - 0x13d0], ecx
mov dword [ebp - 0x13cc], esi
mov dword [ebp - 0x13d8], eax
mov dword [ebp - 0x13d4], edx
mov edx, dword [ebp - 0x13cc]
cmp edx, dword [ebp - 0x13d4]
jg 0x1004cbd1
jl 0x1004cbc5
mov eax, dword [ebp - 0x13d0]
cmp eax, dword [ebp - 0x13d8]
ja 0x1004cbd1
mov dword [ebp - 0x470], 1
jmp 0x1004cbdb
mov dword [ebp - 0x470], 0
mov ecx, 0xf418ebf6
test ecx, ecx
je 0x1004cbf6
cmp dword [ebp - 0x28], 0
je 0x1004cbf6
mov dword [ebp - 0x474], 1
jmp 0x1004cc00
mov dword [ebp - 0x474], 0
mov edx, dword [ebp - 0x470]
cmp edx, dword [ebp - 0x474]
jle 0x1004cc6e
movzx eax, byte [0x1009b07e]
movsx ecx, byte [0x1009b0bb]
not ecx
add ecx, dword [ebp - 0x28]
add ecx, eax
mov dword [0x1009b190], ecx
movzx edx, byte [ebp - 4]
add edx, dword [0x1009b14c]
movzx eax, byte [ebp - 4]
sub eax, edx
mov byte [ebp - 4], al
movsx ecx, word [ebp - 0x20]
sar ecx, 2
mov word [ebp - 0x20], cx
movsx eax, word [ebp - 0x10]
cdq
mov ecx, dword [0x1009b17c]
push ecx
mov ecx, dword [0x1009b178]
push ecx
push edx
push eax
call fcn.1006c090
mov ecx, eax
movsx eax, word [ebp - 0x10]
cdq
xor eax, ecx
mov word [ebp - 0x10], ax
jmp 0x1004c79b
movzx eax, byte [ebp - 2]
test eax, eax
je 0x1004ccd8
mov ecx, dword [0x1009b138]
mov edx, dword [0x1009b13c]
mov dword [ebp - 0xdb0], ecx
mov dword [ebp - 0xdac], edx
jmp 0x1004cce9
movzx eax, word [ebp - 0xc]
cdq
mov dword [ebp - 0xdb0], eax
mov dword [ebp - 0xdac], edx
mov al, byte [ebp - 0xdb0]
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov cl, 6
call fcn.1006c0d0
mov word [0x1009b158], ax
movsx ecx, byte [ebp - 7]
movsx edx, byte [ebp - 6]
xor ecx, edx
mov byte [ebp - 7], cl
movsx eax, word [0x1009b180]
movsx ecx, byte [ebp - 3]
sub eax, ecx
movzx edx, word [ebp - 0x18]
movsx ecx, byte [0x1009b0ba]
not ecx
sub edx, ecx
sub eax, edx
not eax
mov byte [ebp - 6], al
movzx edx, byte [0x1009b0a6]
imul edx, dword [ebp - 0x34]
movzx eax, byte [0x1009b0a6]
add eax, edx
mov byte [0x1009b0a6], al
mov ecx, 2
shl ecx, 0
xor edx, edx
mov word [ebp + ecx - 0x108], dx
mov eax, dword [0x1009b140]
cdq
mov ecx, 8
imul ecx, ecx, 0xe
mov dword [ecx + 0x102592e0], eax
mov dword [ecx + 0x102592e4], edx
movsx edx, byte [0x1009b0a7]
sub edx, dword [ebp - 0x28]
mov byte [0x1009b0a7], dl
mov eax, dword [0x1009b178]
mov ecx, dword [0x1009b17c]
mov dword [0x1009b138], eax
mov dword [0x1009b13c], ecx
mov edx, dword [0x1009b188]
add edx, dword [ebp - 0x30]
mov eax, dword [0x1009b188]
add eax, edx
mov dword [0x1009b188], eax
movsx eax, word [ebp - 0x10]
xor eax, 0x1e
cdq
mov dword [0x1009b168], eax
mov dword [0x1009b16c], edx
mov ecx, 0x5f
mov word [ebp - 0x10c], cx
xor edx, edx
mov word [ebp - 0x10a], dx
mov dword [0x1009b14c], 0x64
xor eax, eax
mov dword [0x1009b160], 3
mov dword [0x1009b164], eax
movzx eax, byte [0x1009b01f]
cdq
push 0xeaca2
push 0xcc51380e
push edx
push eax
call fcn.1006c090
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
mov eax, dword [0x1009b14c]
cdq
add eax, 0x7a800a21
movsx ecx, byte [ebp - 5]
movsx edx, byte [0x1009b0a7]
sub ecx, edx
mov edx, dword [0x1009b148]
add edx, ecx
xor eax, edx
mov dword [0x1009b190], eax
mov ecx, dword [0x1009b170]
xor esi, esi
xor ecx, dword [0x1009b198]
xor esi, dword [0x1009b19c]
mov eax, dword [0x1009b188]
cdq
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov esi, eax
mov edx, dword [ebp - 0x38]
mov ecx, 0x38580ec5
sub ecx, dword [ebp - 0x3c]
mov edi, 0
sbb edi, edx
movsx eax, word [0x1009b180]
cdq
push edx
push eax
push edi
push ecx
call fcn.1006c090
add esi, eax
mov word [ebp - 0x10], si
movsx edx, word [ebp - 0x24]
add edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
sub eax, edx
mov dword [ebp - 0x40], eax
movsx ecx, byte [0x1009b0bb]
mov dword [0x1009b148], ecx
mov edx, dword [0x1009b160]
mov eax, dword [0x1009b164]
mov dword [ebp - 0xdb8], edx
mov dword [ebp - 0xdb4], eax
cmp dword [ebp - 0xdb4], 0
ja 0x1004d0a7
jb 0x1004cee0
cmp dword [ebp - 0xdb8], 3
ja 0x1004d0a7
mov ecx, dword [ebp - 0xdb8]
mov dword [ebp - 0x235c], ecx
mov edx, dword [ebp - 0x235c]
jmp dword [edx*4 + 0x1006a038]
movsx ecx, word [ebp - 0x10]
add ecx, 1
cmp dword [0x1009b14c], ecx
jne 0x1004d721
mov edx, 3
mov word [0x1009b158], dx
movsx eax, byte [ebp - 6]
test eax, eax
jne 0x1004d0e2
xor ecx, ecx
mov dword [ebp - 0xdc0], 1
mov dword [ebp - 0xdbc], ecx
jmp 0x1004d0ed
xorps xmm0, xmm0
movlpd qword [ebp - 0xdc0], xmm0
movzx eax, word [0x1009b158]
cdq
mov ecx, dword [ebp - 0x48]
sub eax, dword [ebp - 0x4c]
sbb edx, ecx
sub eax, dword [ebp - 0xdc0]
sbb edx, dword [ebp - 0xdbc]
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
mov edx, 2
imul eax, edx, 0x4558
mov cx, word [0x1009b184]
mov word [eax + 0x1021a340], cx
imul edx, dword [ebp - 0x28], 0xa1c7738b
mov dword [ebp - 0x44], edx
movzx eax, word [0x1009b158]
mov dword [ebp - 0x47c], eax
cmp dword [ebp - 0x47c], 3
ja case.default.0x1004d157
mov ecx, dword [ebp - 0x47c]
jmp dword [ecx*4 + 0x1006a048]
movzx eax, word [ebp - 0xc]
sub eax, 0x79183c3b
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
xor edx, edx
mov dword [ebp - 0x3c], 0xfe
mov dword [ebp - 0x38], edx
cmp dword [0x1009b188], 0
jne 0x1004d18f
mov dword [ebp - 0x480], 1
jmp 0x1004d199
mov dword [ebp - 0x480], 0
movzx eax, word [ebp - 0x18]
imul eax, dword [0x1009b148]
movzx ecx, byte [0x1009b07e]
imul ecx, dword [ebp - 0x480]
imul eax, ecx
mov dword [0x1009b170], eax
movsx edx, word [ebp - 0x10]
imul eax, dword [ebp - 0x2c], 0x8014d8c
and edx, eax
mov word [ebp - 0x20], dx
xor ecx, ecx
mov dword [0x1009b138], 2
mov dword [0x1009b13c], ecx
jmp case.default.0x1004d157
movzx eax, word [0x1009b158]
cdq
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov ecx, eax
movzx eax, word [0x1009b158]
cdq
sub eax, ecx
mov word [0x1009b158], ax
mov dl, byte [ebp - 0x10]
mov byte [0x1009b0bb], dl
movsx eax, byte [0x1009b0ba]
imul ecx, eax, 0x4d
movzx edx, word [ebp - 0x18]
add ecx, edx
mov byte [ebp - 1], cl
mov al, byte [0x1009b138]
mov byte [0x1009b01f], al
movzx ecx, word [ebp - 0xc]
imul ecx, dword [0x1009b1a0]
movzx edx, word [ebp - 0xc]
add edx, ecx
mov word [ebp - 0xc], dx
jmp case.default.0x1004d157
movzx eax, byte [ebp - 4]
sub eax, 0x4a
mov byte [0x1009b01f], al
mov ecx, dword [0x1009b148]
mov edx, dword [0x1009b198]
mov eax, dword [0x1009b19c]
mov dword [ebp - 0x214c], eax
add ecx, edx
mov dword [0x1009b148], ecx
mov ecx, 4
mov word [0x1009b180], cx
jmp case.default.0x1004d157
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov cl, 2
call fcn.1006c0d0
mov dword [ebp - 0x44], eax
mov eax, dword [0x1009b188]
cdq
mov ecx, dword [ebp - 0x30]
xor esi, esi
mov edi, dword [0x1009b1ac]
add ecx, dword [0x1009b1a8]
adc esi, edi
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov ecx, eax
movzx eax, word [0x1009b158]
movsx edx, byte [ebp - 5]
sub eax, edx
movzx edx, byte [ebp - 2]
add edx, dword [ebp - 0x2c]
add eax, edx
cdq
xor ecx, eax
mov dword [ebp - 0x40], ecx
movsx eax, byte [ebp - 7]
not eax
mov ecx, dword [0x1009b190]
add ecx, eax
mov edx, dword [0x1009b140]
imul edx, ecx
mov word [0x1009b184], dx
movzx eax, byte [0x1009b07e]
movsx ecx, word [0x1009b180]
imul eax, ecx
mov byte [0x1009b07e], al
cmp dword [ebp - 0x2c], 0
jne 0x1004d323
mov dword [ebp - 0x484], 1
jmp 0x1004d32d
mov dword [ebp - 0x484], 0
mov edx, dword [0x1009b160]
or edx, dword [0x1009b164]
jne 0x1004d347
mov dword [ebp - 0x488], 1
jmp 0x1004d351
mov dword [ebp - 0x488], 0
mov eax, dword [0x1009b18c]
not eax
add eax, dword [ebp - 0x484]
movzx ecx, byte [0x1009b0a6]
not ecx
mov edx, dword [0x1009b18c]
sub edx, ecx
not edx
imul eax, edx
movzx ecx, word [0x1009b184]
imul ecx, dword [ebp - 0x488]
not ecx
xor ecx, 0xffffffca
sub eax, ecx
jne 0x1004d391
mov byte [ebp - 0x76], 1
jmp 0x1004d395
mov byte [ebp - 0x76], 0
mov dl, byte [ebp - 0x76]
mov byte [0x1009b0bb], dl
movsx eax, word [ebp - 0x10]
cdq
mov ecx, eax
movsx eax, byte [0x1009b0a7]
not eax
cdq
mov edx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
mov dword [ebp - 0x2150], esi
sub edx, eax
sub ecx, edx
mov byte [0x1009b0a7], cl
xor eax, eax
mov dword [ebp - 0x3c], 0x96
mov dword [ebp - 0x38], eax
movsx ecx, word [ebp - 0x24]
movsx edx, byte [ebp - 6]
add ecx, edx
movsx eax, word [ebp - 0x24]
or eax, ecx
mov word [ebp - 0x24], ax
movsx ecx, byte [ebp - 1]
test ecx, ecx
jne 0x1004d3ff
mov dword [ebp - 0x48c], 1
jmp 0x1004d409
mov dword [ebp - 0x48c], 0
movzx edx, word [0x1009b184]
test edx, edx
jne 0x1004d420
mov dword [ebp - 0x490], 1
jmp 0x1004d42a
mov dword [ebp - 0x490], 0
mov eax, dword [ebp - 0x48c]
xor eax, dword [ebp - 0x490]
mov byte [ebp - 5], al
movsx eax, byte [ebp - 5]
cdq
add eax, 0x30e99734
mov word [0x1009b184], ax
movsx ecx, byte [0x1009b0ba]
imul edx, ecx, 0x30
movsx eax, byte [0x1009b0ba]
sub eax, edx
mov byte [0x1009b0ba], al
cmp dword [0x1009b148], 1
jne 0x1004d721
xor ecx, ecx
mov dword [ebp - 0x4c], 2
mov dword [ebp - 0x48], ecx
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
push 0
push 0x257d
push eax
push edx
call fcn.1006c090
mov dword [ebp - 0x30], eax
movzx ecx, byte [0x1009b033]
sub ecx, 0x8c
mov edx, dword [0x1009b1b0]
sub edx, ecx
mov dword [0x1009b1b0], edx
movzx eax, byte [0x1009b01f]
cdq
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 [0x1009b0a6]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x2154], eax
sub ecx, edx
movzx eax, byte [0x1009b0a6]
cdq
sub eax, ecx
mov byte [0x1009b0a6], al
movsx ecx, byte [ebp - 6]
test ecx, ecx
je 0x1004d513
mov dl, byte [0x1009b033]
mov byte [ebp - 0x77], dl
jmp 0x1004d519
mov al, byte [ebp - 2]
mov byte [ebp - 0x77], al
movzx cx, byte [ebp - 0x77]
mov word [0x1009b180], cx
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x2b4], edx
mov dword [ebp - 0x2b0], eax
mov ecx, dword [ebp - 0x2b4]
or ecx, dword [ebp - 0x2b0]
je 0x1004d576
cmp dword [ebp - 0x2b4], 1
jne 0x1004d55b
cmp dword [ebp - 0x2b0], 0
je 0x1004d5eb
cmp dword [ebp - 0x2b4], 2
jne 0x1004d571
cmp dword [ebp - 0x2b0], 0
je 0x1004d64d
jmp 0x1004d685
movzx edx, byte [0x1009b07e]
imul eax, edx, 0x5bed
mov dword [0x1009b148], eax
mov ecx, dword [0x1009b130]
mov edx, dword [0x1009b134]
mov dword [ebp - 0x2158], edx
add ecx, 0xfaa6
mov dword [0x1009b1b0], ecx
movsx eax, byte [ebp - 5]
cdq
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
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
xor edx, edx
mov eax, dword [0x1009b1a8]
mov ecx, dword [0x1009b1ac]
sub eax, dword [0x1009b1b0]
sbb ecx, edx
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], ecx
jmp 0x1004d685
movsx edx, word [ebp - 0x10]
add edx, 0xbea7
mov dword [0x1009b190], edx
movsx eax, byte [ebp - 1]
cdq
mov ecx, dword [0x1009b13c]
push ecx
mov ecx, dword [0x1009b138]
push ecx
push edx
push eax
call fcn.1006c090
mov byte [ebp - 1], al
mov eax, dword [ebp - 0x44]
cdq
mov ecx, eax
sub ecx, 0xacd55d18
movzx eax, word [ebp - 0x18]
cdq
sub eax, ecx
mov word [ebp - 0x18], ax
movzx edx, byte [0x1009b033]
mov eax, dword [0x1009b144]
sub eax, edx
mov ecx, dword [0x1009b144]
add ecx, eax
mov dword [0x1009b144], ecx
jmp 0x1004d685
xor edx, edx
mov dword [ebp - 0x4c], 0x73e
mov dword [ebp - 0x48], edx
movzx eax, byte [0x1009b07f]
imul eax, dword [0x1009b170]
movzx ecx, byte [0x1009b07f]
sub ecx, eax
mov byte [0x1009b07f], cl
mov edx, dword [ebp - 0x54]
add edx, 0x1d7f5521
mov byte [0x1009b01f], dl
jmp 0x1004d721
mov dword [0x1009b14c], 0x64
movzx edx, word [0x1009b184]
sub edx, 0x7022b028
mov byte [ebp - 5], dl
mov eax, dword [ebp - 0x40]
cdq
mov dword [0x1009b150], eax
mov dword [0x1009b154], edx
mov al, byte [0x1009bc7c]
mov byte [0x1009b07f], al
movsx ecx, byte [0x1009b0ba]
movzx edx, word [ebp - 0xc]
add ecx, edx
movsx eax, byte [0x1009b0ba]
imul eax, ecx
mov byte [0x1009b0ba], al
movzx eax, word [0x1009b158]
sub eax, 0x936d
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x28]
cdq
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
mov dword [ebp - 0x13e8], eax
mov dword [ebp - 0x13e4], edx
mov dword [ebp - 0x13f0], ecx
mov dword [ebp - 0x13ec], esi
mov edx, dword [ebp - 0x13e4]
cmp edx, dword [ebp - 0x13ec]
jl 0x1004d99d
jg 0x1004d7cb
mov eax, dword [ebp - 0x13e8]
cmp eax, dword [ebp - 0x13f0]
jbe 0x1004d99d
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, 0xc70d8ddf
sub ecx, eax
mov eax, 0xdc2a8
sbb eax, edx
mov dword [ebp - 0x13f8], ecx
mov dword [ebp - 0x13f4], eax
mov ecx, dword [ebp - 0x13f8]
or ecx, dword [ebp - 0x13f4]
jne 0x1004d804
mov dword [ebp - 0x494], 1
jmp 0x1004d80e
mov dword [ebp - 0x494], 0
mov ecx, dword [0x1009b190]
xor esi, esi
mov edx, dword [ebp - 0x38]
add ecx, dword [ebp - 0x3c]
adc esi, edx
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
sub eax, 0x8d4b41e2
sbb edx, 0
add ecx, eax
adc esi, edx
movsx eax, byte [ebp - 1]
add eax, dword [ebp - 0x494]
cdq
add ecx, eax
adc esi, edx
mov dword [ebp - 0x1400], ecx
mov dword [ebp - 0x13fc], esi
mov eax, dword [ebp - 0x1400]
or eax, dword [ebp - 0x13fc]
jne 0x1004d85f
mov byte [ebp - 0x59], 1
jmp 0x1004d863
mov byte [ebp - 0x59], 0
mov cl, byte [ebp - 0x59]
mov byte [ebp - 1], cl
mov edx, dword [0x1009b148]
mov dword [0x1009b148], edx
movsx eax, byte [ebp - 7]
sub eax, 0x71c9
jne 0x1004d88c
mov dword [ebp - 0x49c], 1
jmp 0x1004d896
mov dword [ebp - 0x49c], 0
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov dword [ebp - 0x1408], ecx
mov dword [ebp - 0x1404], edx
mov eax, dword [ebp - 0x1408]
or eax, dword [ebp - 0x1404]
jne 0x1004d8c8
mov dword [ebp - 0x498], 1
jmp 0x1004d8d2
mov dword [ebp - 0x498], 0
mov ecx, dword [ebp - 0x54]
not ecx
mov edx, dword [0x1009b188]
not edx
imul edx, dword [ebp - 0x498]
mov eax, edx
imul eax, dword [ebp - 0x49c]
cdq
add ecx, eax
not ecx
mov byte [ebp - 7], cl
mov ecx, dword [ebp - 0x30]
xor esi, esi
movzx eax, byte [0x1009b07e]
cdq
mov edi, dword [0x1009b130]
mov ebx, dword [0x1009b134]
xor edi, eax
xor ebx, edx
sub ecx, edi
sbb esi, ebx
mov dword [ebp - 0x1410], ecx
mov dword [ebp - 0x140c], esi
mov edx, dword [ebp - 0x1410]
or edx, dword [ebp - 0x140c]
jne 0x1004d946
xor eax, eax
mov dword [ebp - 0x1418], 1
mov dword [ebp - 0x1414], eax
jmp 0x1004d951
xorps xmm0, xmm0
movlpd qword [ebp - 0x1418], xmm0
mov esi, dword [0x1009b190]
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
mov dword [ebp - 0x2164], edx
add esi, ecx
mov eax, dword [0x1009b130]
mov ecx, dword [0x1009b134]
not eax
not ecx
push 0
push 0xaa
push ecx
push eax
call fcn.1006c090
xor esi, eax
add esi, dword [ebp - 0x1418]
not esi
mov dword [0x1009b144], esi
jmp 0x1004db0e
cmp dword [0x1009b188], 0
je 0x1004d9d9
movsx edx, byte [ebp - 6]
test edx, edx
jne 0x1004d9d9
movzx eax, word [ebp - 0xc]
cdq
push 0xdbc0a
push 0x89023c51
push edx
push eax
call fcn.1006c090
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
movsx eax, byte [ebp - 6]
add eax, 0x2b
mov dword [ebp - 0x44], eax
jmp 0x1004db0e
movzx ecx, word [0x1009b184]
test ecx, ecx
jne 0x1004da36
mov edx, dword [ebp - 0x54]
add edx, dword [0x1009b178]
mov eax, dword [ebp - 0x50]
adc eax, dword [0x1009b17c]
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], eax
mov ecx, dword [0x1009b14c]
mov edx, 1
imul eax, edx, 0x9187
mov byte [eax + 0x10153d68], cl
movzx ecx, byte [0x1009b0ef]
movzx edx, byte [0x1009b0ef]
add ecx, edx
movzx eax, byte [0x1009b0ef]
add eax, ecx
mov byte [0x1009b0ef], al
jmp 0x1004db0e
cmp dword [ebp - 0x40], 0
je 0x1004db0e
mov ecx, dword [0x1009b160]
add ecx, 0x10
mov word [ebp - 0x1c], cx
movzx edx, byte [0x1009b07f]
movzx eax, word [ebp - 0x14]
imul edx, eax
mov byte [0x1009b07f], dl
movsx eax, word [ebp - 0x1c]
movzx ecx, byte [ebp - 4]
xor eax, ecx
cdq
mov edx, dword [0x1009b18c]
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
mov dword [ebp - 0x2168], esi
add edx, ecx
sub eax, edx
mov byte [0x1009b033], al
xor edx, edx
mov dword [0x1009b178], 0x6707836e
mov dword [0x1009b17c], edx
mov eax, dword [0x1009b198]
mov ecx, dword [0x1009b19c]
push 0
push 0x2e
push ecx
push eax
call fcn.1006c090
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
movsx edx, byte [0x1009b0a7]
xor edx, dword [ebp - 0x40]
jne 0x1004dad3
mov dword [ebp - 0x4a0], 1
jmp 0x1004dadd
mov dword [ebp - 0x4a0], 0
movzx eax, word [0x1009b158]
test eax, eax
jne 0x1004daf4
mov dword [ebp - 0x4a4], 1
jmp 0x1004dafe
mov dword [ebp - 0x4a4], 0
mov ecx, dword [ebp - 0x4a0]
add ecx, dword [ebp - 0x4a4]
mov word [ebp - 0x10], cx
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x88], 0
jmp 0x1004db33
mov edx, dword [ebp - 0xa4]
add edx, 1
mov dword [ebp - 0xa4], edx
cmp dword [ebp - 0xa4], 1
jae 0x1004ec10
mov eax, dword [0x1009b140]
cdq
mov ecx, eax
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
mov dword [ebp - 0x216c], eax
add ecx, edx
mov eax, dword [0x1009b140]
cdq
sub eax, ecx
mov dword [0x1009b140], eax
movsx ecx, byte [ebp - 7]
movzx edx, word [ebp - 0xc]
imul ecx, edx
mov byte [ebp - 7], cl
mov byte [ebp - 1], 0xb1
mov byte [0x1009b0ba], 0xbb
xor eax, eax
mov dword [ebp - 0x54], 1
mov dword [ebp - 0x50], eax
movsx ecx, word [ebp - 0x20]
mov edx, dword [0x1009b144]
add edx, ecx
xor eax, eax
mov ecx, dword [0x1009b134]
sub edx, dword [0x1009b130]
sbb eax, ecx
mov dword [ebp - 0x1420], edx
mov dword [ebp - 0x141c], eax
mov edx, dword [ebp - 0x1420]
or edx, dword [ebp - 0x141c]
jne 0x1004dbcf
mov dword [ebp - 0x4a8], 1
jmp 0x1004dbd9
mov dword [ebp - 0x4a8], 0
movzx eax, byte [0x1009b07e]
movzx ecx, byte [0x1009b0ee]
xor eax, ecx
movzx edx, byte [0x1009b07f]
not edx
movsx ecx, byte [0x1009b0ba]
xor edx, ecx
add edx, dword [ebp - 0x4a8]
add edx, eax
mov byte [0x1009b0ef], dl
movsx eax, byte [ebp - 7]
cdq
add eax, 0x94833ce5
mov word [ebp - 0x18], ax
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
mov dword [ebp - 0x2170], eax
add edx, 0xbd29e25b
mov word [ebp - 0x14], dx
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0xcf8], ecx
mov dword [ebp - 0xcf4], edx
mov eax, dword [ebp - 0xcf8]
or eax, dword [ebp - 0xcf4]
je 0x1004dc66
cmp dword [ebp - 0xcf8], 1
jne 0x1004dc64
cmp dword [ebp - 0xcf4], 0
je 0x1004dca3
jmp 0x1004dcd7
mov cl, byte [0x1009bc7c]
mov byte [0x1009b0a6], cl
movzx edx, word [0x1009b158]
not edx
and edx, dword [0x1009b144]
imul edx, dword [0x1009b140]
movsx eax, byte [ebp - 1]
sub eax, 0x3f
sub edx, eax
mov byte [ebp - 1], dl
movsx ecx, byte [ebp - 6]
add ecx, dword [ebp - 0x30]
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x30], ecx
jmp 0x1004dcd7
movzx edx, word [ebp - 0xc]
imul eax, edx, 0x9e0d6915
xor ecx, ecx
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], ecx
mov edx, dword [ebp - 0x30]
sub edx, 0xf3
mov dword [ebp - 0x34], edx
movzx eax, word [ebp - 0x14]
movzx ecx, byte [0x1009b07f]
add eax, ecx
mov word [ebp - 0x14], ax
movsx edx, byte [0x1009b0ba]
mov eax, dword [ebp - 0x30]
add eax, 0xf9686bb
cmp edx, eax
jne 0x1004e01a
movsx ecx, byte [ebp - 3]
sub ecx, 0x16a45e56
cmp dword [0x1009b144], ecx
jne 0x1004e01a
mov dword [ebp - 0x184], 0
jmp 0x1004dd1f
mov edx, dword [ebp - 0x184]
add edx, 2
mov dword [ebp - 0x184], edx
cmp dword [ebp - 0x184], 0x16a
jge 0x1004df9e
mov eax, dword [0x1009b130]
mov ecx, dword [0x1009b134]
mov edx, dword [0x1009b130]
mov esi, dword [0x1009b134]
mov dword [ebp - 0x1428], eax
mov dword [ebp - 0x1424], ecx
mov dword [ebp - 0x1430], edx
mov dword [ebp - 0x142c], esi
mov eax, dword [ebp - 0x1428]
cmp eax, dword [ebp - 0x1430]
jne 0x1004dd86
mov ecx, dword [ebp - 0x1424]
cmp ecx, dword [ebp - 0x142c]
jne 0x1004dd86
mov dword [ebp - 0x4ac], 1
jmp 0x1004dd90
mov dword [ebp - 0x4ac], 0
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
mov dword [ebp - 0x1438], edx
mov dword [ebp - 0x1434], eax
cmp dword [ebp - 0x1438], 0x10
jne 0x1004ddc5
cmp dword [ebp - 0x1434], 0
jne 0x1004ddc5
mov dword [ebp - 0x4b0], 1
jmp 0x1004ddcf
mov dword [ebp - 0x4b0], 0
mov ecx, dword [ebp - 0x4ac]
cmp ecx, dword [ebp - 0x4b0]
jg 0x1004dde2
jmp 0x1004df90
mov edx, dword [ebp - 0x2c]
cmp dword [0x1009b188], edx
jle 0x1004dea5
movsx eax, word [ebp - 0x24]
movsx ecx, byte [0x1009b0ba]
cmp eax, ecx
jge 0x1004dea5
cmp dword [0x1009b170], 0
je 0x1004de26
mov edx, dword [0x1009b160]
mov eax, dword [0x1009b164]
mov dword [ebp - 0xd00], edx
mov dword [ebp - 0xcfc], eax
jmp 0x1004de3a
mov ecx, dword [0x1009b144]
xor edx, edx
mov dword [ebp - 0xd00], ecx
mov dword [ebp - 0xcfc], edx
mov eax, dword [ebp - 0xd00]
mov ecx, dword [ebp - 0xcfc]
mov dword [0x1009b178], eax
mov dword [0x1009b17c], ecx
imul edx, dword [ebp - 0x2c], 0x1cc5
mov word [ebp - 0x20], dx
movsx eax, byte [0x1009b0bb]
cdq
mov ecx, eax
xor ecx, dword [0x1009b138]
movsx eax, byte [0x1009b0bb]
cdq
add eax, ecx
mov byte [0x1009b0bb], al
movzx edx, byte [0x1009b0ee]
add edx, 0x93
mov byte [0x1009b0ba], dl
mov ax, word [ebp - 0x18]
mov ecx, 1
imul edx, ecx, 0x57
mov byte [edx + 0x1034cfc8], al
jmp 0x1004df90
movzx eax, word [ebp - 0x18]
cmp eax, 0xafb
jge 0x1004def7
mov ecx, dword [0x1009bc7c]
xor edx, edx
mov dword [0x1009b178], ecx
mov dword [0x1009b17c], edx
movsx eax, byte [0x1009b0a7]
shl eax, 3
mov dword [ebp - 0x2c], eax
movsx eax, word [ebp - 0x10]
cdq
mov ecx, eax
sub ecx, 0x84b8648a
mov eax, dword [ebp - 0x44]
cdq
sub eax, ecx
mov dword [ebp - 0x44], eax
imul edx, dword [ebp - 0x30], 0xd668
mov word [ebp - 0x20], dx
jmp 0x1004df90
cmp dword [ebp - 0x28], 0
je 0x1004df90
movzx eax, byte [0x1009b07e]
imul eax, dword [0x1009b190]
movzx ecx, byte [0x1009b07e]
sub ecx, eax
mov byte [0x1009b07e], cl
movzx edx, byte [ebp - 4]
imul edx, dword [0x1009b14c]
movzx eax, byte [ebp - 4]
add eax, edx
mov byte [ebp - 4], al
mov eax, dword [0x1009b140]
cdq
push edx
push eax
mov ecx, dword [0x1009b164]
push ecx
mov edx, dword [0x1009b160]
push edx
call fcn.1006c090
add eax, dword [0x1009b160]
adc edx, dword [0x1009b164]
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
movsx eax, byte [ebp - 6]
sub eax, dword [0x1009b144]
mov word [0x1009b158], ax
movsx ecx, word [ebp - 0x24]
movsx edx, byte [ebp - 5]
sub ecx, edx
mov word [ebp - 0x24], cx
movsx eax, byte [ebp - 5]
add eax, 0xfa8
mov dword [0x1009b170], eax
mov cl, byte [ebp - 5]
add cl, 1
mov byte [ebp - 5], cl
jmp 0x1004dd10
jmp 0x1004e01a
mov byte [0x1009b0ba], 0xbb
mov eax, dword [0x1009b188]
cdq
push 0x1fa9a
push 0x5e98f131
push edx
push eax
call fcn.1006c090
mov ecx, eax
movzx eax, byte [0x1009b0ee]
cdq
sub eax, ecx
mov byte [0x1009b0ee], al
movsx edx, byte [ebp - 1]
mov eax, dword [ebp - 0x28]
sub eax, edx
mov dword [ebp - 0x28], eax
xor ecx, ecx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
sub edx, dword [0x1009b144]
sbb eax, ecx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], eax
movsx ecx, byte [ebp - 5]
cmp dword [0x1009b188], ecx
jle 0x1004e083
mov dword [ebp - 0x4b8], 1
jmp 0x1004e08d
mov dword [ebp - 0x4b8], 0
cmp dword [0x1009b188], 7
jle 0x1004e0a2
mov dword [ebp - 0x4bc], 1
jmp 0x1004e0ac
mov dword [ebp - 0x4bc], 0
mov edx, dword [ebp - 0x4b8]
cmp edx, dword [ebp - 0x4bc]
jne 0x1004e171
movzx eax, word [ebp - 0x18]
test eax, eax
je 0x1004e0e0
mov ecx, dword [0x1009b198]
mov edx, dword [0x1009b19c]
mov dword [ebp - 0xdc8], ecx
mov dword [ebp - 0xdc4], edx
jmp 0x1004e0f7
mov eax, dword [0x1009b130]
mov ecx, dword [0x1009b134]
mov dword [ebp - 0xdc8], eax
mov dword [ebp - 0xdc4], ecx
mov edx, dword [ebp - 0xdc8]
mov dword [0x1009b188], edx
cmp dword [0x1009b18c], 0
jne 0x1004e118
mov dword [ebp - 0x4c0], 1
jmp 0x1004e122
mov dword [ebp - 0x4c0], 0
movsx eax, word [ebp - 0x24]
imul eax, dword [ebp - 0x4c0]
not eax
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [0x1009b0ef]
cdq
xor eax, 0xa8edc381
xor edx, 0x6378d
not eax
not edx
sub ecx, eax
sbb esi, edx
mov dword [0x1009b1a8], ecx
mov dword [0x1009b1ac], esi
mov byte [ebp - 5], 0x4b
movzx eax, word [ebp - 0x18]
cdq
sub eax, 0x9216a4ca
mov byte [ebp - 1], al
jmp 0x1004e2bb
movzx edx, word [ebp - 0x14]
cmp dword [0x1009b148], edx
jne 0x1004e189
mov dword [ebp - 0x4c4], 1
jmp 0x1004e193
mov dword [ebp - 0x4c4], 0
movsx eax, word [0x1009b180]
not eax
cmp dword [ebp - 0x4c4], eax
jl 0x1004e204
movzx ecx, byte [ebp - 4]
not ecx
mov edx, dword [0x1009b1a0]
not edx
add ecx, edx
not ecx
mov word [ebp - 0x10], cx
mov eax, dword [0x1009b198]
mov ecx, dword [0x1009b19c]
mov dword [ebp - 0x2174], ecx
add eax, 0xeb
mov byte [ebp - 1], al
mov edx, 8
imul ecx, edx, 9
movsx eax, word [0x1009b180]
cdq
xor eax, dword [ecx + 0x102592e0]
mov word [0x1009b180], ax
movsx edx, byte [ebp - 3]
movsx eax, word [0x1009b180]
add edx, eax
mov byte [ebp - 3], dl
jmp 0x1004e2bb
movsx ecx, byte [ebp - 3]
test ecx, ecx
jne 0x1004e274
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
add edx, 1
adc eax, 0
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
movzx ecx, byte [0x1009b01f]
sub ecx, dword [0x1009b140]
movzx edx, byte [0x1009b01f]
xor edx, ecx
mov byte [0x1009b01f], dl
movsx eax, word [ebp - 0x20]
add eax, dword [ebp - 0x44]
cdq
mov ecx, dword [0x1009b130]
mov esi, dword [0x1009b134]
and ecx, eax
and esi, edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], esi
movzx edx, byte [0x1009b033]
imul edx, dword [ebp - 0x34]
mov byte [0x1009b033], dl
mov eax, dword [ebp - 0x28]
sub eax, 1
mov dword [ebp - 0x28], eax
jmp 0x1004e2bb
xor ecx, ecx
je 0x1004e2bb
mov eax, dword [ebp - 0x40]
cdq
sub eax, 0xeabc8fba
mov byte [ebp - 5], al
movsx edx, byte [ebp - 5]
and edx, dword [0x1009b170]
mov byte [ebp - 5], dl
imul eax, dword [ebp - 0x30], 0xb1a3792c
mov word [ebp - 0x18], ax
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
mov dl, byte [ebp - 0x34]
mov byte [0x1009b0ba], dl
mov eax, dword [0x1009b140]
sub eax, 1
mov dword [0x1009b140], eax
mov ecx, dword [ebp - 0xa4]
movzx edx, word [ebp + ecx*2 - 0x10c]
imul eax, dword [ebp - 0x188], 0x2f6
mov ecx, dword [ebp - 0x188]
xor ecx, dword [ebp - 0x188]
imul eax, ecx
sub edx, eax
mov dword [ebp - 0x88], edx
cmp dword [ebp - 0x44], 0
jne 0x1004e2fc
mov dword [ebp - 0x4d4], 1
jmp 0x1004e306
mov dword [ebp - 0x4d4], 0
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x1440], edx
mov dword [ebp - 0x143c], eax
mov ecx, dword [ebp - 0x143c]
cmp ecx, dword [0x1009b17c]
jg 0x1004e342
jl 0x1004e336
mov edx, dword [ebp - 0x1440]
cmp edx, dword [0x1009b178]
ja 0x1004e342
mov dword [ebp - 0x4c8], 1
jmp 0x1004e34c
mov dword [ebp - 0x4c8], 0
movsx eax, byte [0x1009b0ba]
test eax, eax
jne 0x1004e369
cmp dword [ebp - 0x34], 0
jne 0x1004e369
mov dword [ebp - 0x4cc], 0
jmp 0x1004e373
mov dword [ebp - 0x4cc], 1
mov ecx, dword [ebp - 0x4c8]
cmp ecx, dword [ebp - 0x4cc]
je 0x1004e38d
mov dword [ebp - 0x4d0], 1
jmp 0x1004e397
mov dword [ebp - 0x4d0], 0
mov edx, dword [ebp - 0x4d0]
not edx
imul edx, dword [ebp - 0x4d4]
test edx, edx
je 0x1004e414
mov ax, word [0x1009bc7c]
mov word [ebp - 0x20], ax
mov ecx, dword [0x1009b1a0]
xor edx, edx
mov eax, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
push edx
push ecx
push esi
push eax
call fcn.1006c090
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
sub ecx, eax
sbb esi, edx
mov dword [0x1009b1a8], ecx
mov dword [0x1009b1ac], esi
movsx eax, byte [ebp - 5]
imul eax, dword [0x1009b140]
cdq
mov dword [0x1009b168], eax
mov dword [0x1009b16c], edx
mov dx, word [ebp - 0x18]
sub dx, 1
mov word [ebp - 0x18], dx
jmp 0x1004e572
movzx eax, byte [ebp - 2]
test eax, eax
jne 0x1004e4aa
imul ecx, dword [0x1009b1a0], 0xbb
movsx edx, byte [ebp - 5]
sub edx, ecx
mov byte [ebp - 5], dl
movzx eax, word [0x1009b158]
cdq
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov ecx, eax
movzx eax, word [0x1009b158]
cdq
add eax, ecx
mov word [0x1009b158], ax
movzx edx, byte [0x1009b0ee]
test edx, edx
je 0x1004e479
movsx eax, word [ebp - 0x1c]
mov dword [ebp - 0x4d8], eax
jmp 0x1004e486
movsx ecx, byte [0x1009b0bb]
mov dword [ebp - 0x4d8], ecx
mov dx, word [ebp - 0x4d8]
mov word [0x1009b184], dx
movzx eax, word [0x1009b184]
xor eax, 0x53f3
mov dword [0x1009b148], eax
jmp 0x1004e572
mov eax, dword [0x1009b140]
cdq
mov dword [ebp - 0x1448], eax
mov dword [ebp - 0x1444], edx
cmp dword [ebp - 0x1448], 0x4c074a0a
jne 0x1004e4d8
cmp dword [ebp - 0x1444], 0xfffbdb74
je 0x1004e572
movsx ecx, byte [ebp - 3]
sub ecx, 0xa462
mov word [ebp - 0x20], cx
movzx edx, word [ebp - 0x14]
imul eax, edx, 0xf7
cdq
mov dword [0x1009b198], eax
mov dword [0x1009b19c], edx
movsx eax, word [ebp - 0x10]
movzx ecx, byte [0x1009b033]
sub eax, ecx
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov byte [ebp - 2], 0x7f
mov edx, dword [0x1009b140]
add edx, 0x3945b4b7
xor eax, eax
mov dword [0x1009b168], edx
mov dword [0x1009b16c], eax
movsx ecx, byte [0x1009b0bb]
movzx edx, word [ebp - 0x18]
sub ecx, edx
jne 0x1004e548
mov dword [ebp - 0x4dc], 1
jmp 0x1004e552
mov dword [ebp - 0x4dc], 0
movzx eax, word [ebp - 0x14]
add eax, dword [ebp - 0x30]
movsx ecx, word [ebp - 0x24]
movzx edx, word [ebp - 0x14]
imul ecx, edx
add eax, dword [ebp - 0x4dc]
add ecx, eax
mov byte [0x1009b0a6], cl
mov eax, dword [ebp - 0x88]
sub eax, dword [ebp - 0xa4]
mov dword [ebp - 0x88], eax
movzx eax, byte [0x1009b0a6]
cdq
sub eax, 0x47ecd730
sbb edx, 0x5a7f
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
add ecx, 0x68
adc esi, 0
movsx eax, byte [0x1009b0a7]
cdq
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov byte [0x1009b0a7], al
mov dl, byte [0x1009bc7c]
mov byte [ebp - 1], dl
mov ax, word [ebp - 0xc]
mov byte [ebp - 1], al
mov ecx, dword [ebp - 0x88]
xor ecx, 0x6c
mov dword [ebp - 0x88], ecx
xor edx, edx
mov dword [0x1009b198], 0xce
mov dword [0x1009b19c], edx
movsx esi, byte [ebp - 5]
sub esi, dword [ebp - 0x34]
movzx eax, word [ebp - 0x14]
sub esi, eax
xor edi, edi
mov ecx, dword [0x1009b160]
not ecx
mov ebx, dword [0x1009b164]
not ebx
mov eax, dword [ebp - 0x40]
cdq
sub ecx, eax
sbb ebx, edx
mov eax, dword [ebp - 0x44]
not eax
add eax, dword [ebp - 0x44]
cdq
push edx
push eax
push ebx
push ecx
call fcn.1006c090
push edx
push eax
push edi
push esi
call fcn.1006c090
mov byte [ebp - 7], al
movsx edx, byte [0x1009b0ba]
imul eax, edx, 0x2eca
mov word [ebp - 0x1c], ax
movzx eax, word [ebp - 0x14]
add eax, 0x42
cdq
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
add ecx, eax
adc esi, edx
mov dword [0x1009b198], ecx
mov dword [0x1009b19c], esi
mov byte [0x1009b0a6], 1
mov edx, dword [ebp - 0x54]
sub edx, 0xc035
mov byte [0x1009b01f], dl
movsx eax, word [ebp - 0x10]
add eax, 0x6aae135e
cmp dword [0x1009b148], eax
jne 0x1004e712
movsx ecx, byte [ebp - 3]
add ecx, dword [0x1009b18c]
cmp ecx, 1
jne 0x1004e712
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
mov word [ebp - 0x18], ax
jmp 0x1004e5e9
mov ecx, dword [0x1009b150]
mov esi, dword [0x1009b154]
movsx eax, word [ebp - 0x1c]
cdq
mov dword [ebp - 0x1450], ecx
mov dword [ebp - 0x144c], esi
mov dword [ebp - 0x1458], eax
mov dword [ebp - 0x1454], edx
mov edx, dword [ebp - 0x144c]
cmp edx, dword [ebp - 0x1454]
ja 0x1004e75e
jb 0x1004e759
mov eax, dword [ebp - 0x1450]
cmp eax, dword [ebp - 0x1458]
jae 0x1004e75e
jmp 0x1004e825
mov ecx, dword [0x1009b1a0]
xor edx, edx
push 0xb816e
push 0x2f9d109
push edx
push ecx
call fcn.1006c090
mov word [0x1009b180], ax
movsx eax, word [ebp - 0x10]
cdq
mov ecx, eax
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
mov dword [ebp - 0x217c], eax
add ecx, edx
movsx eax, word [ebp - 0x10]
cdq
add eax, ecx
mov word [ebp - 0x10], ax
movzx ecx, byte [ebp - 4]
sub ecx, dword [ebp - 0x28]
mov byte [ebp - 4], cl
movsx edx, byte [ebp - 1]
test edx, edx
jne 0x1004e7c0
mov dword [ebp - 0x4e0], 1
jmp 0x1004e7ca
mov dword [ebp - 0x4e0], 0
cmp dword [ebp - 0x40], 0
jne 0x1004e7dc
mov dword [ebp - 0x4e4], 1
jmp 0x1004e7e6
mov dword [ebp - 0x4e4], 0
movsx eax, word [0x1009b180]
test eax, eax
jne 0x1004e7fd
mov dword [ebp - 0x4e8], 1
jmp 0x1004e807
mov dword [ebp - 0x4e8], 0
mov eax, dword [ebp - 0x4e0]
add eax, dword [ebp - 0x4e4]
add eax, dword [ebp - 0x4e8]
cdq
mov dword [0x1009b130], eax
mov dword [0x1009b134], edx
mov ecx, dword [ebp - 0x88]
sub ecx, 1
mov dword [ebp - 0x88], ecx
mov dword [0x1009b170], 0x80ce
mov edx, dword [0x1009b188]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x1004e8f8
movsx eax, byte [ebp - 7]
test eax, eax
je 0x1004e8c5
movzx eax, byte [0x1009b07f]
cdq
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], esi
movsx eax, byte [0x1009b0a7]
cdq
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov byte [0x1009b0a7], 0x70
mov edx, dword [0x1009b148]
sub edx, dword [0x1009b188]
mov eax, dword [0x1009b148]
sub eax, edx
mov dword [0x1009b148], eax
jmp 0x1004e8f6
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov dword [ebp - 0x2180], edx
add ecx, 0xffc45e11
mov dword [ebp - 0x44], ecx
mov byte [ebp - 7], 0x7e
movsx eax, byte [ebp - 1]
sub eax, dword [ebp - 0x40]
mov word [ebp - 0x24], ax
mov byte [0x1009b01f], 0x14
jmp 0x1004e959
movzx ecx, byte [0x1009b0ee]
test ecx, ecx
je 0x1004e959
mov edx, dword [0x1009b178]
add edx, dword [ebp - 0x54]
mov eax, dword [0x1009b130]
mov ecx, dword [0x1009b134]
mov dword [ebp - 0x2184], ecx
xor edx, eax
add edx, dword [0x1009b170]
mov byte [0x1009b0ef], dl
mov dword [ebp - 0x44], 0x9ad5
movsx edx, byte [0x1009b0bb]
not edx
imul edx, dword [ebp - 0x2c]
mov eax, dword [0x1009b1b0]
not eax
imul edx, eax
xor edx, dword [0x1009b188]
not edx
xor ecx, ecx
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
movsx edx, byte [ebp - 3]
add edx, 0x80ce
cmp dword [0x1009b170], edx
jne 0x1004eaf6
movsx eax, byte [0x1009b0ba]
movsx ecx, word [ebp - 0x10]
add ecx, 0x56ace54b
cmp eax, ecx
jne 0x1004eaf6
movsx edx, byte [0x1009b0bb]
cmp edx, dword [ebp - 0x44]
jl 0x1004ea5f
call dword [sym.imp.USER32.dll_IsWow64Message]
xor ecx, ecx
mov dword [0x1009b150], eax
mov dword [0x1009b154], ecx
mov edx, dword [ebp - 0x54]
or edx, dword [ebp - 0x50]
je 0x1004ea5f
movsx eax, byte [ebp - 7]
movsx ecx, byte [ebp - 7]
sub eax, ecx
mov byte [0x1009b07f], al
mov edx, dword [ebp - 0x40]
sub edx, 0x724b
mov byte [ebp - 1], dl
mov eax, dword [ebp - 0x30]
xor ecx, ecx
add eax, dword [ebp - 0x54]
adc ecx, dword [ebp - 0x50]
mov dword [ebp - 0x1460], eax
mov dword [ebp - 0x145c], ecx
mov edx, dword [ebp - 0x1460]
or edx, dword [ebp - 0x145c]
jne 0x1004ea03
jmp 0x1004eaf6
mov dword [0x1009b170], 0x80ce
movzx ecx, word [ebp - 0x18]
add ecx, dword [0x1009b170]
xor ecx, dword [0x1009b170]
mov dword [0x1009b170], ecx
imul edx, dword [ebp - 0x44], 0xc1c1
test edx, edx
jne 0x1004eb35
xor eax, eax
mov dword [ebp - 0xdd0], 1
mov dword [ebp - 0xdcc], eax
jmp 0x1004eb40
xorps xmm0, xmm0
movlpd qword [ebp - 0xdd0], xmm0
movzx eax, word [0x1009b184]
not eax
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [0x1009b138]
adc esi, dword [0x1009b13c]
not ecx
not esi
sub ecx, dword [ebp - 0xdd0]
sbb esi, dword [ebp - 0xdcc]
not ecx
not esi
movzx eax, byte [0x1009b033]
not eax
movzx edx, word [0x1009b184]
sub eax, edx
movsx edx, byte [ebp - 7]
movsx edi, byte [ebp - 3]
xor edx, edi
not edx
xor eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov word [ebp - 0x10], ax
movsx eax, word [ebp - 0x20]
movzx ecx, word [ebp - 0xc]
sub eax, ecx
mov word [ebp - 0x20], ax
mov edx, 0x27b1
mov word [ebp - 0xc], dx
movsx eax, byte [ebp - 6]
test eax, eax
je 0x1004ebf6
movsx ecx, byte [ebp - 7]
add ecx, 0xc1bc
mov byte [0x1009b0a7], cl
movsx eax, word [ebp - 0x24]
movsx edx, byte [ebp - 5]
and eax, edx
cdq
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
movzx eax, word [0x1009b158]
mov ecx, dword [0x1009b144]
sub ecx, eax
mov dword [0x1009b144], ecx
mov edx, dword [ebp - 0xa4]
mov ax, word [ebp - 0x88]
mov word [ebp + edx*2 - 0x10c], ax
jmp 0x1004db24
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
movzx eax, word [ebp - 0x18]
cdq
mov dword [ebp - 0x1468], ecx
mov dword [ebp - 0x1464], esi
mov dword [ebp - 0x1470], eax
mov dword [ebp - 0x146c], edx
mov edx, dword [ebp - 0x1464]
cmp edx, dword [ebp - 0x146c]
jg 0x1004ecb5
jl 0x1004ec51
mov eax, dword [ebp - 0x1468]
cmp eax, dword [ebp - 0x1470]
jae 0x1004ecb5
mov ecx, dword [0x1009b160]
add ecx, 0x633
mov word [ebp - 0x24], cx
cmp dword [ebp - 0x34], 0
je 0x1004ec75
mov edx, dword [0x1009b190]
mov dword [ebp - 0x4f0], edx
jmp 0x1004ec7e
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x4f0], eax
mov cl, byte [ebp - 0x4f0]
mov byte [0x1009b0a6], cl
movzx edx, word [ebp - 0x18]
imul eax, edx, 0x4e6ce12d
mov word [0x1009b158], ax
mov ecx, 8
imul edx, ecx, 0x50c2
mov eax, dword [0x1009b144]
sub eax, dword [edx + 0x10317600]
mov dword [0x1009b144], eax
mov ecx, dword [ebp - 0x10bc]
imul ecx, dword [ebp - 0x10c0]
mov edx, dword [ebp - 0x4f4]
xor edx, dword [ebp - 0x4f4]
imul ecx, edx
xor eax, eax
sub eax, ecx
mov ecx, 2
shl ecx, 0
mov word [ebp + ecx - 0x10c], ax
mov edx, dword [ebp - 0x34]
sub edx, 0xa897
xor eax, eax
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], eax
movzx ecx, byte [0x1009b01f]
imul ecx, dword [0x1009b18c]
mov edx, dword [0x1009b18c]
sub edx, ecx
mov dword [0x1009b18c], edx
imul eax, dword [ebp - 0x2c], 0x84
mov dword [0x1009b144], eax
mov ecx, 0x95
mov word [ebp - 0x114], cx
xor edx, edx
mov word [ebp - 0x112], dx
mov byte [0x1009b0bb], 0x5e
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x30]
jne 0x1004ed56
xor ecx, ecx
mov dword [ebp - 0xde0], 1
mov dword [ebp - 0xddc], ecx
jmp 0x1004ed61
xorps xmm0, xmm0
movlpd qword [ebp - 0xde0], xmm0
cmp dword [ebp - 0x40], 0
jne 0x1004ed7b
xor edx, edx
mov dword [ebp - 0xdd8], 1
mov dword [ebp - 0xdd4], edx
jmp 0x1004ed86
xorps xmm0, xmm0
movlpd qword [ebp - 0xdd8], xmm0
mov eax, dword [0x1009b178]
xor eax, dword [ebp - 0xdd8]
mov ecx, dword [0x1009b17c]
xor ecx, dword [ebp - 0xdd4]
push ecx
push eax
mov edx, dword [ebp - 0xddc]
push edx
mov eax, dword [ebp - 0xde0]
push eax
call fcn.1006c090
mov ecx, dword [0x1009b150]
mov esi, dword [0x1009b154]
mov edi, dword [ebp - 0x38]
add ecx, dword [ebp - 0x3c]
adc esi, edi
sub eax, ecx
sbb edx, esi
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
mov edx, dword [0x1009b1a0]
add edx, 0x22
mov dword [0x1009b18c], edx
mov eax, dword [0x1009b148]
xor ecx, ecx
push 0xbbb86
push 0x45e905c0
push ecx
push eax
call fcn.1006c090
mov dword [ebp - 0x2c], eax
movsx edx, byte [0x1009b0bb]
movsx eax, byte [ebp - 3]
add eax, 0x6aae135e
cmp edx, eax
jne 0x1004eedc
movzx ecx, byte [0x1009b07e]
mov edx, dword [ebp - 0x28]
add edx, 0x2fb9
cmp ecx, edx
jne 0x1004eedc
movsx eax, byte [ebp - 3]
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 - 3]
cdq
add eax, ecx
mov byte [ebp - 3], al
mov edx, dword [0x1009b18c]
imul edx, dword [0x1009b18c]
imul edx, dword [0x1009b18c]
mov dword [0x1009b18c], edx
mov dword [ebp - 0x30], 0x48b077ae
jmp 0x1004eedc
mov byte [0x1009b0bb], 0x5e
movsx eax, word [ebp - 0x24]
cdq
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
sub edx, ecx
sbb eax, esi
mov dword [0x1009b168], edx
mov dword [0x1009b16c], eax
movsx eax, word [ebp - 0x10]
cdq
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
movzx ecx, byte [ebp - 4]
movzx edx, word [ebp - 0x14]
add ecx, edx
movzx eax, byte [ebp - 4]
imul eax, ecx
mov byte [ebp - 4], al
movsx ecx, byte [ebp - 3]
test ecx, ecx
je 0x1004ef51
movsx eax, byte [ebp - 6]
cdq
mov dword [ebp - 0xde8], eax
mov dword [ebp - 0xde4], edx
jmp 0x1004ef68
mov edx, dword [0x1009b160]
mov eax, dword [0x1009b164]
mov dword [ebp - 0xde8], edx
mov dword [ebp - 0xde4], eax
mov ecx, dword [ebp - 0xde8]
mov dword [0x1009b1a0], ecx
movsx edx, byte [ebp - 1]
imul edx, dword [0x1009b18c]
movsx eax, byte [ebp - 1]
imul eax, edx
mov byte [ebp - 1], al
movzx ecx, word [ebp - 0x14]
mov dword [0x1009b18c], ecx
movsx eax, word [ebp - 0x20]
sub eax, 1
cdq
mov dword [0x1009b150], eax
mov dword [0x1009b154], edx
imul edx, dword [0x1009b14c], 0x53127d05
mov byte [ebp - 6], dl
mov eax, dword [0x1009b18c]
xor eax, 0xe5a5c442
mov byte [0x1009b01f], al
mov cl, byte [0x1009b184]
mov byte [0x1009b01f], cl
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0x8c], 0
jmp 0x1004eff3
mov edx, dword [ebp - 0xe8]
add edx, 1
mov dword [ebp - 0xe8], edx
cmp dword [ebp - 0xe8], 1
jae 0x1004f9ef
mov eax, dword [0x1009b178]
or eax, dword [0x1009b17c]
je 0x1004f17f
mov dword [ebp - 0x18c], 0x36
mov ecx, dword [ebp - 0x30]
not ecx
and ecx, dword [0x1009b140]
movzx edx, word [ebp - 0xc]
movzx eax, byte [ebp - 4]
sub edx, eax
not edx
sub ecx, edx
mov byte [ebp - 2], cl
movsx ecx, byte [0x1009b0ba]
sub ecx, 0xd35a
mov dword [0x1009b1a0], ecx
movzx eax, word [ebp - 0x18]
cdq
push 0x1670e
push 0x20b26bf2
push edx
push eax
call fcn.1006c090
mov dword [0x1009b140], eax
mov dword [0x1009b14c], 4
mov eax, dword [0x1009b140]
cdq
mov dword [0x1009b150], eax
mov dword [0x1009b154], edx
mov edx, dword [0x1009b160]
not edx
mov eax, dword [0x1009b164]
not eax
sub edx, 0xd5a4
sbb eax, 0
mov dword [ebp - 0x1478], edx
mov dword [ebp - 0x1474], eax
mov ecx, dword [ebp - 0x1478]
or ecx, dword [ebp - 0x1474]
jne 0x1004f0be
mov dword [ebp - 0x4f8], 1
jmp 0x1004f0c8
mov dword [ebp - 0x4f8], 0
movzx edx, byte [ebp - 4]
mov eax, dword [0x1009b190]
add eax, edx
mov ecx, eax
movzx eax, byte [0x1009b0ee]
cdq
mov edx, dword [0x1009b150]
mov esi, dword [0x1009b154]
mov dword [ebp - 0x2188], esi
sub eax, edx
not eax
add ecx, eax
movsx eax, byte [ebp - 5]
mov edx, dword [ebp - 0x34]
sub edx, eax
mov eax, dword [ebp - 0x4f8]
sub eax, edx
xor ecx, eax
mov dword [ebp - 0x28], ecx
mov byte [0x1009b0ee], 1
mov cl, byte [0x1009bc7c]
mov byte [ebp - 4], cl
movsx edx, word [ebp - 0x20]
add edx, 0xf107
mov word [0x1009b158], dx
movsx eax, word [ebp - 0x20]
movzx ecx, byte [0x1009b033]
lea edx, [ecx + eax - 0xad1f]
mov byte [0x1009b033], dl
movsx eax, byte [ebp - 3]
cdq
mov ecx, 8
imul ecx, ecx, 0x9397
mov dword [ecx + 0x1009bd48], eax
mov dword [ecx + 0x1009bd4c], edx
mov edx, dword [ebp - 0x18c]
add edx, 1
mov dword [ebp - 0x18c], edx
cmp dword [ebp - 0x18c], 0x1cbf
jl 0x1004f080
xor eax, eax
mov dword [0x1009b178], 0x64
mov dword [0x1009b17c], eax
movzx eax, word [ebp - 0xc]
cdq
mov ecx, dword [0x1009b130]
mov esi, dword [0x1009b134]
mov dword [ebp - 0x1480], eax
mov dword [ebp - 0x147c], edx
mov dword [ebp - 0x1488], ecx
mov dword [ebp - 0x1484], esi
mov edx, dword [ebp - 0x147c]
cmp edx, dword [ebp - 0x1484]
jl 0x1004f1e2
jg 0x1004f1d7
mov eax, dword [ebp - 0x1480]
cmp eax, dword [ebp - 0x1488]
jb 0x1004f1e2
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [0x1009b148], eax
mov ecx, dword [ebp - 0x30]
add ecx, 1
xor edx, edx
mov dword [ebp - 0x1490], ecx
mov dword [ebp - 0x148c], edx
mov eax, dword [0x1009b178]
cmp eax, dword [ebp - 0x1490]
jne 0x1004f2be
mov ecx, dword [0x1009b17c]
cmp ecx, dword [ebp - 0x148c]
jne 0x1004f2be
movsx edx, byte [ebp - 1]
test edx, edx
je 0x1004f25a
mov eax, dword [0x1009b144]
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
mov dword [ebp - 0x218c], edx
add eax, ecx
mov ecx, dword [0x1009b144]
add ecx, eax
mov dword [0x1009b144], ecx
mov edx, dword [0x1009b138]
add edx, 0xa598
mov byte [0x1009b01f], dl
movzx eax, byte [0x1009b033]
cmp eax, 1
jne 0x1004f2be
movsx ecx, byte [ebp - 1]
push ecx
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x1004f2be
xor ecx, ecx
mov dword [0x1009b178], 0x64
mov dword [0x1009b17c], ecx
mov edx, dword [0x1009b170]
not edx
add edx, dword [ebp - 0x44]
not edx
movsx eax, word [ebp - 0x1c]
add eax, dword [ebp - 0x44]
xor edx, eax
mov byte [ebp - 4], dl
mov byte [0x1009b07e], 2
cmp dword [0x1009b144], 0
jne 0x1004f305
mov dword [ebp - 0x4fc], 1
jmp 0x1004f30f
mov dword [ebp - 0x4fc], 0
mov ecx, dword [ebp - 0x40]
add ecx, dword [ebp - 0x4fc]
jne 0x1004f326
mov dword [ebp - 0x500], 1
jmp 0x1004f330
mov dword [ebp - 0x500], 0
movzx edx, word [ebp - 0x14]
xor edx, dword [ebp - 0x500]
mov dword [0x1009b190], edx
movsx eax, byte [ebp - 1]
movsx ecx, word [0x1009b180]
not ecx
add eax, ecx
mov dword [ebp - 0x34], eax
mov dx, word [ebp - 0x1c]
mov byte [0x1009b0a6], dl
movzx eax, word [ebp - 0x14]
cdq
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
add ecx, eax
adc esi, edx
mov dword [0x1009b168], ecx
mov dword [0x1009b16c], esi
mov dl, byte [ebp - 1]
sub dl, 1
mov byte [ebp - 1], dl
mov eax, dword [ebp - 0xe8]
movzx ecx, word [ebp + eax*2 - 0x114]
mov edx, dword [ebp - 0x10c4]
xor edx, 0x113
mov eax, dword [ebp - 0x504]
xor eax, dword [ebp - 0x504]
imul edx, eax
sub ecx, edx
mov dword [ebp - 0x8c], ecx
mov ecx, dword [ebp - 0x30]
not ecx
xor esi, esi
movzx eax, word [ebp - 0xc]
cdq
xor eax, dword [0x1009b160]
xor edx, dword [0x1009b164]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x1498], ecx
mov dword [ebp - 0x1494], esi
mov edx, dword [ebp - 0x1498]
or edx, dword [ebp - 0x1494]
jne 0x1004f3f9
mov dword [ebp - 0x508], 1
jmp 0x1004f403
mov dword [ebp - 0x508], 0
movzx eax, byte [0x1009b033]
movsx ecx, byte [0x1009b0bb]
imul ecx, dword [0x1009b140]
imul eax, ecx
imul eax, dword [ebp - 0x508]
mov dword [0x1009b190], eax
movzx edx, byte [ebp - 4]
movsx eax, byte [ebp - 3]
sub edx, eax
movzx ecx, byte [ebp - 4]
add ecx, edx
mov byte [ebp - 4], cl
movzx edx, word [0x1009b184]
mov eax, dword [ebp - 0x2c]
xor eax, edx
mov ecx, dword [ebp - 0x2c]
add ecx, eax
mov dword [ebp - 0x2c], ecx
mov byte [0x1009b0ee], 0x72
mov edx, dword [0x1009b188]
mov dword [0x1009b140], edx
mov eax, dword [ebp - 0x10c8]
add eax, dword [ebp - 0x10cc]
imul ecx, eax, 0
mov edx, 0x30
sub edx, ecx
add edx, dword [ebp - 0x8c]
mov dword [ebp - 0x8c], edx
mov byte [0x1009b0ba], 0xce
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [0x1009b1a0], eax
movsx eax, byte [0x1009b0ba]
mov ecx, dword [ebp - 0x30]
add ecx, 1
cmp eax, ecx
jne 0x1004f760
movsx edx, word [ebp - 0x20]
not edx
test edx, edx
je 0x1004f541
mov eax, dword [0x1009b150]
mov ecx, dword [0x1009b154]
mov dword [ebp - 0x2190], ecx
add eax, 0xc8c0
mov byte [0x1009b0ee], al
movzx edx, byte [0x1009b0ee]
add edx, 0xedd
movsx eax, word [ebp - 0x1c]
sub eax, edx
mov word [ebp - 0x1c], ax
imul ecx, dword [0x1009b14c], 0xd5
mov dword [0x1009b188], ecx
movzx eax, byte [0x1009b07e]
sub eax, 0x6362dfdb
cdq
mov dword [0x1009b168], eax
mov dword [0x1009b16c], edx
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x2194], eax
add edx, 0xc31cffb
mov word [ebp - 0x18], dx
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
mov dword [ebp - 0x2198], edx
mov word [0x1009b158], cx
movzx eax, word [ebp - 0x18]
cdq
mov ecx, dword [0x1009b13c]
push ecx
mov ecx, dword [0x1009b138]
push ecx
push edx
push eax
call fcn.1006c090
mov ecx, eax
movzx eax, word [ebp - 0x18]
cdq
add eax, ecx
mov word [ebp - 0x18], ax
movzx edx, byte [0x1009b07e]
sub edx, 0xe2
mov byte [0x1009b0ee], dl
movsx eax, byte [ebp - 6]
test eax, eax
jne 0x1004f58f
mov dword [ebp - 0x50c], 1
jmp 0x1004f599
mov dword [ebp - 0x50c], 0
movsx ecx, word [ebp - 0x20]
mov edx, dword [ebp - 0x50c]
sub edx, ecx
mov eax, dword [ebp - 0x44]
not eax
add edx, eax
mov byte [ebp - 1], dl
movzx ecx, word [ebp - 0xc]
movsx edx, byte [ebp - 7]
add ecx, edx
movzx eax, word [ebp - 0xc]
add eax, ecx
mov word [ebp - 0xc], ax
mov ecx, dword [0x1009b130]
mov edx, dword [0x1009b134]
mov dword [ebp - 0x14a0], ecx
mov dword [ebp - 0x149c], edx
cmp dword [ebp - 0x14a0], 1
jne 0x1004f760
cmp dword [ebp - 0x149c], 0
jne 0x1004f760
mov eax, dword [0x1009b144]
cmp eax, dword [ebp - 0x28]
je 0x1004f6e0
movsx ecx, byte [ebp - 6]
test ecx, ecx
jne 0x1004f61f
movsx edx, byte [ebp - 7]
test edx, edx
jne 0x1004f61f
mov dword [ebp - 0x510], 0
jmp 0x1004f629
mov dword [ebp - 0x510], 1
mov eax, dword [0x1009b1a0]
cmp eax, dword [ebp - 0x510]
jae 0x1004f693
push 0
push 0xb8
mov ecx, dword [0x1009b17c]
push ecx
mov edx, dword [0x1009b178]
push edx
call fcn.1006c090
mov byte [0x1009b07f], al
xor eax, eax
mov dword [0x1009b150], 0xc012
mov dword [0x1009b154], eax
movsx ecx, word [ebp - 0x24]
mov edx, dword [0x1009b148]
add edx, ecx
mov eax, dword [0x1009b148]
sub eax, edx
mov dword [0x1009b148], eax
mov ecx, dword [ebp - 0x28]
sub ecx, 1
mov dword [ebp - 0x28], ecx
movzx edx, word [ebp - 0x18]
sar edx, 3
mov dword [ebp - 0x44], edx
jmp 0x1004f6e0
cmp dword [0x1009b18c], 0
je 0x1004f6a9
mov eax, dword [0x1009b148]
mov dword [ebp - 0x514], eax
jmp 0x1004f6b3
movsx ecx, byte [ebp - 5]
mov dword [ebp - 0x514], ecx
mov dx, word [ebp - 0x514]
mov word [0x1009b180], dx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
push 0
push 0x8288
push ecx
push eax
call fcn.1006c090
mov dword [0x1009b168], eax
mov dword [0x1009b16c], edx
jmp 0x1004f760
mov byte [0x1009b0ba], 0xce
xor ecx, ecx
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
sub edx, dword [0x1009b170]
sbb eax, ecx
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
sub ecx, edx
sbb esi, eax
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], esi
mov dx, word [ebp - 0x28]
mov word [0x1009b184], dx
mov eax, dword [ebp - 0x28]
cdq
mov ecx, dword [0x1009b130]
mov edx, dword [0x1009b134]
mov dword [ebp - 0x219c], edx
sub eax, ecx
mov dword [ebp - 0x28], eax
push 0
push 0x7f
mov eax, dword [0x1009b164]
push eax
mov ecx, dword [0x1009b160]
push ecx
call fcn.1006c090
mov dword [ebp - 0x34], eax
movsx edx, byte [0x1009b0ba]
add edx, 0x4a
movsx eax, byte [0x1009b0a7]
imul eax, edx
mov byte [0x1009b0a7], al
movsx ecx, byte [ebp - 6]
sar ecx, 4
mov word [ebp - 0x24], cx
mov edx, dword [ebp - 0x8c]
sub edx, 1
mov dword [ebp - 0x8c], edx
mov eax, dword [ebp - 0x8c]
sub eax, 0x92
mov dword [ebp - 0x8c], eax
movzx ecx, byte [ebp - 2]
cmp ecx, dword [ebp - 0x28]
jne 0x1004f81f
mov dword [ebp - 0x518], 1
jmp 0x1004f829
mov dword [ebp - 0x518], 0
movzx edx, byte [ebp - 2]
cmp edx, 0x2c
jne 0x1004f83e
mov dword [ebp - 0x51c], 1
jmp 0x1004f848
mov dword [ebp - 0x51c], 0
mov eax, dword [ebp - 0x518]
cmp eax, dword [ebp - 0x51c]
jne 0x1004f8e4
mov ecx, dword [ebp - 0x30]
add ecx, 0x6e32c04c
mov byte [0x1009b0ee], cl
movzx eax, byte [0x1009b0ee]
cdq
mov ecx, eax
mov esi, edx
xor ecx, dword [0x1009b178]
xor esi, dword [0x1009b17c]
mov eax, dword [ebp - 0x44]
cdq
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
push esi
push ecx
push eax
push edx
call fcn.1006c090
mov byte [0x1009b0bb], al
mov ecx, dword [0x1009b18c]
add ecx, 0x5996e43b
movzx eax, byte [0x1009b0ef]
movzx edx, byte [0x1009b033]
add eax, edx
not eax
cdq
sub ecx, eax
mov word [ebp - 0x20], cx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x21a0], ecx
and eax, 0x4b34d0a9
mov byte [ebp - 5], al
mov edx, dword [0x1009bc7c]
mov dword [ebp - 0x44], edx
jmp 0x1004f9ab
movsx eax, byte [ebp - 7]
test eax, eax
je 0x1004f9ab
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x21a4], edx
mov dword [0x1009b190], ecx
movsx eax, byte [0x1009b0a7]
test eax, eax
jne 0x1004f913
mov byte [ebp - 0x5a], 1
jmp 0x1004f917
mov byte [ebp - 0x5a], 0
mov cl, byte [ebp - 0x5a]
mov byte [0x1009b033], cl
cmp dword [0x1009b188], 0
je 0x1004f935
movzx edx, word [ebp - 0x14]
mov dword [ebp - 0x520], edx
jmp 0x1004f93f
movsx eax, byte [ebp - 3]
mov dword [ebp - 0x520], eax
mov eax, dword [ebp - 0x520]
cdq
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
mov eax, dword [ebp - 0x28]
cdq
push 0x8b7e3
push 0x94a6b2d0
push edx
push eax
call fcn.1006c090
mov ecx, eax
movzx eax, byte [0x1009b0a6]
cdq
add eax, ecx
mov byte [0x1009b0a6], al
mov edx, dword [ebp - 0x34]
xor eax, eax
push 0xd828c
push 0x431bbe8a
push eax
push edx
call fcn.1006c090
mov byte [ebp - 7], al
movsx ecx, word [0x1009b180]
imul ecx, dword [ebp - 0x30]
not ecx
xor edx, edx
mov dword [0x1009b178], ecx
mov dword [0x1009b17c], edx
mov eax, dword [ebp - 0x110]
sub eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x10d0]
add ecx, dword [ebp - 0x10d4]
imul eax, ecx
mov edx, dword [ebp - 0x110]
xor edx, dword [ebp - 0x110]
sub eax, edx
mov ecx, dword [ebp - 0x8c]
sub ecx, eax
mov edx, dword [ebp - 0xe8]
mov word [ebp + edx*2 - 0x114], cx
jmp 0x1004efe4
mov byte [0x1009b07f], 0xbb
movsx eax, byte [0x1009b0a7]
movzx ecx, byte [ebp - 4]
cmp eax, ecx
jge 0x1004fa11
mov dword [ebp - 0x524], 1
jmp 0x1004fa1b
mov dword [ebp - 0x524], 0
movsx edx, byte [0x1009b0a7]
cmp edx, 0x3a
jge 0x1004fa33
mov dword [ebp - 0x528], 1
jmp 0x1004fa3d
mov dword [ebp - 0x528], 0
mov eax, dword [ebp - 0x524]
cmp eax, dword [ebp - 0x528]
je 0x1004fa4d
jmp 0x1004facb
movsx eax, word [0x1009b180]
cdq
mov dword [ebp - 0x14a8], eax
mov dword [ebp - 0x14a4], edx
mov ecx, dword [ebp - 0x50]
cmp ecx, dword [ebp - 0x14a4]
jb 0x1004fa85
ja 0x1004fa79
mov edx, dword [ebp - 0x54]
cmp edx, dword [ebp - 0x14a8]
jbe 0x1004fa85
mov dword [ebp - 0x52c], 1
jmp 0x1004fa8f
mov dword [ebp - 0x52c], 0
movzx eax, byte [ebp - 4]
cmp eax, dword [ebp - 0x52c]
jne 0x1004facb
movzx eax, byte [0x1009b033]
cdq
sub eax, 0x4cec086f
mov byte [0x1009b0ba], al
movsx ecx, word [0x1009b180]
add ecx, 0x581f
mov word [ebp - 0xc], cx
mov eax, dword [ebp - 0x40]
cdq
sub eax, dword [0x1009b160]
mov dword [ebp - 0x40], eax
movzx edx, byte [0x1009b07f]
mov eax, dword [ebp - 0x28]
add eax, 0xf9686bb
cmp edx, eax
jne 0x1004fc07
movzx eax, byte [0x1009b0ee]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x2c]
cdq
add eax, 0x475448f6
adc edx, 0xc5786
mov dword [ebp - 0x14b0], ecx
mov dword [ebp - 0x14ac], esi
mov dword [ebp - 0x14b8], eax
mov dword [ebp - 0x14b4], edx
mov edx, dword [ebp - 0x14b0]
cmp edx, dword [ebp - 0x14b8]
jne 0x1004fc07
mov eax, dword [ebp - 0x14ac]
cmp eax, dword [ebp - 0x14b4]
jne 0x1004fc07
mov ecx, dword [ebp - 0x34]
sub ecx, 0x3c70
mov word [ebp - 0x10], cx
movzx edx, word [ebp - 0x14]
movsx eax, byte [0x1009b0a7]
add edx, eax
movzx ecx, word [ebp - 0x14]
add ecx, edx
mov word [ebp - 0x14], cx
mov edx, 0xb3377
mov dword [0x1009b198], 0xed4c5092
mov dword [0x1009b19c], edx
jmp 0x1004fc07
mov byte [0x1009b07f], 0xbb
mov edx, dword [0x1009b14c]
mov eax, 1
imul ecx, eax, 0x18
mov byte [ecx + 0x102237a0], dl
movsx edx, word [ebp - 0x1c]
sub edx, 0x1aeb7239
xor eax, eax
mov dword [0x1009b198], edx
mov dword [0x1009b19c], eax
mov ecx, dword [0x1009b18c]
push ecx
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov edx, 2
shl edx, 0
xor eax, eax
mov word [ebp + edx - 0x114], ax
mov ecx, dword [ebp - 0x30]
xor edx, edx
mov dword [ebp - 0x14c0], ecx
mov dword [ebp - 0x14bc], edx
mov eax, dword [0x1009b160]
cmp eax, dword [ebp - 0x14c0]
jne 0x1004fdf1
mov ecx, dword [0x1009b164]
cmp ecx, dword [ebp - 0x14bc]
jne 0x1004fdf1
movsx eax, word [0x1009b180]
cdq
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
mov dword [ebp - 0x14c8], eax
mov dword [ebp - 0x14c4], edx
mov dword [ebp - 0x14d0], ecx
mov dword [ebp - 0x14cc], esi
mov edx, dword [ebp - 0x14c4]
cmp edx, dword [ebp - 0x14cc]
jg 0x1004fcd5
jl 0x1004fcd0
mov eax, dword [ebp - 0x14c8]
cmp eax, dword [ebp - 0x14d0]
ja 0x1004fcd5
jmp 0x1004fdf1
movzx ecx, byte [0x1009b033]
movsx edx, byte [ebp - 5]
cmp ecx, edx
jne 0x1004fcf0
mov dword [ebp - 0x534], 1
jmp 0x1004fcfa
mov dword [ebp - 0x534], 0
movsx eax, byte [ebp - 5]
imul eax, dword [ebp - 0x534]
test eax, eax
je 0x1004fd73
movzx eax, byte [0x1009b033]
sub eax, 0x1cef3676
cdq
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
movsx ecx, byte [ebp - 7]
movzx edx, byte [ebp - 4]
add ecx, edx
mov byte [ebp - 7], cl
mov eax, dword [0x1009b168]
mov ecx, dword [0x1009b16c]
mov dword [ebp - 0x21a8], ecx
sub eax, 0x1873525a
mov byte [0x1009b0a7], al
imul edx, dword [0x1009b140], 0x54bb8190
mov word [ebp - 0x24], dx
mov eax, dword [ebp - 0x2c]
sub eax, dword [0x1009b188]
mov dword [ebp - 0x2c], eax
imul ecx, dword [ebp - 0x28], 0x3f2a
mov word [0x1009b184], cx
jmp 0x1004fdf1
movzx edx, byte [ebp - 4]
test edx, edx
je 0x1004fda5
movsx eax, byte [ebp - 6]
shl eax, 5
mov word [ebp - 0x24], ax
mov ecx, dword [ebp - 0x34]
add ecx, 0x31f3494c
mov dword [ebp - 0x2c], ecx
movsx edx, word [ebp - 0x24]
movzx eax, byte [0x1009b033]
add edx, eax
mov word [ebp - 0x24], dx
jmp 0x1004fdf1
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x14d8], ecx
mov dword [ebp - 0x14d4], edx
mov eax, dword [ebp - 0x14d8]
or eax, dword [ebp - 0x14d4]
je 0x1004fdf1
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
and ecx, 0x468693ef
and edx, 0xd1954
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], edx
movzx eax, byte [0x1009b0a6]
add eax, 0x40
mov word [ebp - 0xc], ax
mov ecx, dword [0x1009bc7c]
mov dword [ebp - 0x194], ecx
mov edx, dword [ebp - 0x194]
add edx, 0x170
mov dword [ebp - 0x21ac], edx
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
mov word [ebp - 0x14], ax
cmp dword [0x1009b140], 0
jne 0x1004fe2e
mov dword [ebp - 0x538], 1
jmp 0x1004fe38
mov dword [ebp - 0x538], 0
movsx eax, word [ebp - 0x1c]
cmp dword [ebp - 0x538], eax
jg 0x10050208
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
mov dword [ebp - 0x14e0], ecx
mov dword [ebp - 0x14dc], edx
mov eax, dword [ebp - 0x14e0]
or eax, dword [ebp - 0x14dc]
je 0x1005000f
movsx eax, byte [0x1009b0a7]
cdq
mov ecx, dword [0x1009b168]
mov edx, dword [0x1009b16c]
mov dword [ebp - 0x21b0], edx
sub eax, ecx
mov byte [0x1009b0a7], al
cmp dword [0x1009b18c], 0
je 0x1004fea8
movsx eax, byte [ebp - 7]
mov dword [ebp - 0x53c], eax
jmp 0x1004feb4
mov ecx, dword [0x1009b1b0]
mov dword [ebp - 0x53c], ecx
mov edx, dword [ebp - 0x53c]
mov dword [0x1009b144], edx
cmp dword [ebp - 0x44], 0
je 0x1004fed1
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x540], eax
jmp 0x1004fedb
movsx ecx, word [ebp - 0x1c]
mov dword [ebp - 0x540], ecx
mov dx, word [ebp - 0x540]
mov word [0x1009b184], dx
cmp dword [0x1009b170], 0
jne 0x1004fefe
mov dword [ebp - 0x544], 1
jmp 0x1004ff08
mov dword [ebp - 0x544], 0
mov eax, dword [0x1009b170]
not eax
imul eax, dword [ebp - 0x544]
mov ecx, dword [0x1009b170]
xor ecx, dword [0x1009b170]
not ecx
sub eax, ecx
mov esi, eax
xor edi, edi
movsx eax, byte [ebp - 3]
cdq
mov ebx, eax
mov eax, edx
add ebx, dword [0x1009b178]
adc eax, dword [0x1009b17c]
movsx edx, word [ebp - 0x1c]
mov dword [ebp - 0x10d8], eax
mov eax, edx
cdq
mov ecx, dword [0x1009b168]
mov dword [ebp - 0x10dc], edi
mov edi, dword [0x1009b16c]
not ecx
not edi
push edi
push ecx
push edx
push eax
call fcn.1006c090
add ebx, eax
mov edi, dword [ebp - 0x10d8]
adc edi, edx
sub esi, ebx
mov ebx, dword [ebp - 0x10dc]
sbb ebx, edi
mov dword [ebp - 0x14e8], esi
mov dword [ebp - 0x14e4], ebx
mov edx, dword [ebp - 0x14e8]
or edx, dword [ebp - 0x14e4]
jne 0x1004ffa5
mov dword [ebp - 0x548], 1
jmp 0x1004ffaf
mov dword [ebp - 0x548], 0
mov eax, dword [ebp - 0x548]
mov dword [0x1009b170], eax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x14f0], ecx
mov dword [ebp - 0x14ec], edx
mov eax, dword [ebp - 0x14f0]
or eax, dword [ebp - 0x14ec]
je 0x1004ffed
movzx eax, word [ebp - 0x18]
cdq
mov dword [ebp - 0xdf0], eax
mov dword [ebp - 0xdec], edx
jmp 0x1004ffff
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0xdf0], ecx
mov dword [ebp - 0xdec], edx
mov ax, word [ebp - 0xdf0]
mov word [ebp - 0x14], ax
jmp 0x10050203
cmp dword [0x1009b144], 0
je 0x100500e3
mov ecx, dword [0x1009b148]
and ecx, 0xb7
xor edx, edx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], edx
mov ax, word [ebp - 0x54]
mov word [ebp - 0x18], ax
mov eax, dword [ebp - 0x40]
not eax
cdq
push 0xb29a3bd9
push 0xc3dd8fde
push edx
push eax
call fcn.1006c090
not eax
movzx ecx, byte [0x1009b0ef]
not ecx
imul ecx, dword [0x1009b170]
mov edx, dword [ebp - 0x28]
not edx
add edx, dword [ebp - 0x28]
not edx
add ecx, edx
not ecx
xor eax, ecx
mov dword [ebp - 0x28], eax
movsx eax, byte [ebp - 7]
cdq
add eax, 0x52f5b1eb
mov word [ebp - 0x24], ax
movsx eax, byte [0x1009b0ba]
test eax, eax
jne 0x10050099
mov dword [ebp - 0x54c], 1
jmp 0x100500a3
mov dword [ebp - 0x54c], 0
movzx ecx, word [ebp - 0x14]
sub ecx, dword [ebp - 0x54c]
mov word [ebp - 0x1c], cx
movsx eax, byte [ebp - 1]
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [0x1009b0a6]
cdq
or eax, dword [0x1009b168]
or edx, dword [0x1009b16c]
add ecx, eax
adc esi, edx
mov dword [0x1009b138], ecx
mov dword [0x1009b13c], esi
jmp 0x10050203
movsx edx, byte [ebp - 5]
test edx, edx
je 0x1005011f
push 0
push 0x4c
mov eax, dword [0x1009b17c]
push eax
mov ecx, dword [0x1009b178]
push ecx
call fcn.1006c090
mov ecx, eax
movzx eax, word [ebp - 0xc]
cdq
and eax, ecx
mov word [ebp - 0xc], ax
movzx dx, byte [0x1009b033]
mov word [ebp - 0x10], dx
jmp 0x10050203
mov eax, dword [0x1009b198]
mov ecx, dword [0x1009b19c]
mov dword [ebp - 0x14f8], eax
mov dword [ebp - 0x14f4], ecx
mov edx, dword [ebp - 0x14f8]
or edx, dword [ebp - 0x14f4]
jne 0x1005016d
mov eax, dword [0x1009b1a8]
mov ecx, dword [0x1009b1ac]
mov dword [ebp - 0x1500], eax
mov dword [ebp - 0x14fc], ecx
mov edx, dword [ebp - 0x1500]
or edx, dword [ebp - 0x14fc]
jne 0x10050203
mov eax, dword [0x1009b18c]
not eax
xor ecx, ecx
mov edx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
mov dword [ebp - 0x1508], eax
mov dword [ebp - 0x1504], ecx
mov dword [ebp - 0x1510], edx
mov dword [ebp - 0x150c], esi
mov eax, dword [ebp - 0x1504]
cmp eax, dword [ebp - 0x150c]
jl 0x10050203
jg 0x100501b8
mov ecx, dword [ebp - 0x1508]
cmp ecx, dword [ebp - 0x1510]
jb 0x10050203
mov edx, dword [ebp - 0x34]
sub edx, dword [0x1009b14c]
mov eax, dword [0x1009b144]
add eax, dword [0x1009b144]
sub edx, eax
mov byte [ebp - 6], dl
mov ecx, 4
imul edx, ecx, 0x7f3
movzx eax, byte [0x1009b0a6]
add eax, dword [edx + 0x1014e400]
mov byte [0x1009b0a6], al
movsx ecx, word [ebp - 0x20]
sub ecx, 0x5d
mov dword [0x1009b190], ecx
mov dx, word [ebp - 0x34]
mov word [ebp - 0x14], dx
jmp 0x10050473
mov eax, dword [ebp - 0x54]
or eax, dword [ebp - 0x50]
jne 0x1005021c
mov dword [ebp - 0x550], 1
jmp 0x10050226
mov dword [ebp - 0x550], 0
movzx ecx, byte [0x1009b0a6]
test ecx, ecx
je 0x10050245
movsx edx, byte [ebp - 7]
test edx, edx
je 0x10050245
mov dword [ebp - 0x554], 1
jmp 0x1005024f
mov dword [ebp - 0x554], 0
mov eax, dword [ebp - 0x550]
cmp eax, dword [ebp - 0x554]
jg 0x1005035f
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
push 0
push 0xd0
push edx
push ecx
call fcn.1006c090
mov ecx, eax
movsx eax, byte [ebp - 6]
movsx edx, byte [0x1009b0bb]
xor eax, edx
cdq
xor ecx, eax
not ecx
movsx eax, byte [ebp - 3]
movzx edx, word [0x1009b184]
and eax, edx
cdq
add ecx, eax
mov byte [ebp - 4], cl
mov eax, dword [0x1009b150]
mov ecx, dword [0x1009b154]
mov edx, 8
imul edx, edx, 0x7bca
mov dword [edx + 0x101c0cd0], eax
mov dword [edx + 0x101c0cd4], ecx
movzx eax, byte [0x1009b0a6]
xor eax, 0xfeec37ec
mov ebx, eax
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
push edx
push eax
push esi
push ecx
call fcn.1006c090
not eax
xor ebx, eax
mov byte [0x1009b0ef], bl
movzx edx, byte [0x1009b07f]
sub edx, 0xa1
mov byte [0x1009b0a7], dl
movzx eax, word [ebp - 0x14]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
not edx
not eax
and ecx, edx
and esi, eax
movzx eax, word [ebp - 0x14]
movzx edx, byte [0x1009b07e]
xor eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.1006c090
not eax
mov byte [0x1009b07e], al
movsx eax, byte [ebp - 1]
cdq
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov byte [ebp - 1], al
jmp 0x10050473
mov edx, dword [0x1009b178]
or edx, dword [0x1009b17c]
jne 0x10050381
movsx eax, word [ebp - 0x24]
test eax, eax
jne 0x10050381
mov dword [ebp - 0x558], 0
jmp 0x1005038b
mov dword [ebp - 0x558], 1
movzx ecx, byte [0x1009b01f]
movzx edx, byte [0x1009b0a6]
cmp ecx, edx
jl 0x100503a9
mov dword [ebp - 0x55c], 1
jmp 0x100503b3
mov dword [ebp - 0x55c], 0
mov eax, dword [ebp - 0x558]
cmp eax, dword [ebp - 0x55c]
jle 0x100503f6
movsx ecx, word [ebp - 0x10]
mov dword [0x1009b1a0], ecx
movsx edx, word [ebp - 0x1c]
movsx eax, byte [0x1009b0a7]
sub edx, eax
movsx ecx, word [ebp - 0x1c]
sub ecx, edx
mov word [ebp - 0x1c], cx
mov edx, dword [0x1009b1b0]
imul edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
sub eax, edx
mov dword [ebp - 0x28], eax
jmp 0x10050473
movzx ecx, byte [0x1009b0a6]
test ecx, ecx
je 0x10050473
movzx edx, byte [0x1009b033]
test edx, edx
je 0x10050417
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x560], eax
jmp 0x10050421
movzx ecx, word [ebp - 0xc]
mov dword [ebp - 0x560], ecx
mov dl, byte [ebp - 0x560]
mov byte [ebp - 2], dl
mov eax, dword [ebp - 0x30]
sub eax, 0x50bf809
mov byte [ebp - 2], al
mov eax, dword [ebp - 0x40]
cdq
add eax, 0x285f471b
mov dword [ebp - 0x34], eax
mov ecx, dword [0x1009b1b0]
xor edx, edx
push 0x4a57b
push 0x94b170c2
push edx
push ecx
call fcn.1006c090
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x194]
add edx, 0x1bd
mov dword [ebp - 0x1134], edx
mov dword [ebp - 0x190], 0x18
movsx eax, byte [ebp - 7]
cdq
and eax, dword [ebp - 0x54]
and edx, dword [ebp - 0x50]
or eax, dword [ebp - 0x54]
or edx, dword [ebp - 0x50]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movzx eax, byte [ebp - 4]
not eax
cdq
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x21b4], edx
not ecx
add eax, ecx
mov dword [0x1009b148], eax
mov al, byte [0x1009b0ba]
sub al, 1
mov byte [0x1009b0ba], al
cmp dword [ebp - 0x34], 0
je 0x1005053d
mov ecx, dword [0x1009b190]
add ecx, dword [0x1009b148]
mov dword [0x1009b190], ecx
movsx edx, byte [ebp - 3]
imul eax, edx, 0x25
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movzx eax, word [0x1009b184]
movzx ecx, word [0x1009b184]
imul eax, ecx
cdq
mov ecx, dword [0x1009b170]
xor esi, esi
sub ecx, 0x7956ea48
sbb esi, 0xc1a7d
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov word [ebp - 0x24], ax
movsx edx, word [ebp - 0x24]
xor edx, dword [ebp - 0x2c]
movsx eax, word [ebp - 0x24]
sub eax, edx
mov word [ebp - 0x24], ax
jmp 0x1005087f
mov ecx, dword [0x1009b138]
or ecx, dword [0x1009b13c]
je 0x1005068c
movzx eax, word [ebp - 0x18]
cdq
add eax, dword [0x1009b138]
adc edx, dword [0x1009b13c]
mov dword [ebp - 0x1518], eax
mov dword [ebp - 0x1514], edx
mov edx, dword [ebp - 0x1518]
or edx, dword [ebp - 0x1514]
jne 0x10050586
mov dword [ebp - 0x564], 1
jmp 0x10050590
mov dword [ebp - 0x564], 0
movzx eax, word [ebp - 0x14]
mov ecx, dword [ebp - 0x564]
sub ecx, eax
not ecx
mov byte [ebp - 3], cl
movsx eax, byte [0x1009b0ba]
cdq
add eax, dword [0x1009b160]
adc edx, dword [0x1009b164]
mov ecx, dword [0x1009b160]
sub ecx, eax
mov eax, dword [0x1009b164]
sbb eax, edx
mov dword [0x1009b160], ecx
mov dword [0x1009b164], eax
movsx ecx, byte [ebp - 1]
imul edx, ecx, 0xfe
mov word [ebp - 0x20], dx
movsx eax, byte [ebp - 6]
xor eax, dword [0x1009b18c]
xor ecx, ecx
mov edx, dword [0x1009b178]
xor edx, 0xa207782b
mov esi, dword [0x1009b17c]
xor esi, 0x417da
not edx
not esi
add eax, edx
adc ecx, esi
mov dword [ebp - 0x1520], eax
mov dword [ebp - 0x151c], ecx
mov eax, dword [ebp - 0x1520]
or eax, dword [ebp - 0x151c]
jne 0x10050637
xor ecx, ecx
mov dword [ebp - 0x1528], 1
mov dword [ebp - 0x1524], ecx
jmp 0x10050642
xorps xmm0, xmm0
movlpd qword [ebp - 0x1528], xmm0
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
mov dword [ebp - 0x21b8], eax
mov ecx, 0x453ab81f
sub ecx, edx
add ecx, dword [ebp - 0x1528]
mov byte [0x1009b0ba], cl
movsx eax, byte [ebp - 5]
cdq
mov ecx, dword [0x1009b130]
mov esi, dword [0x1009b134]
and ecx, eax
and esi, edx
mov dword [0x1009b130], ecx
mov dword [0x1009b134], esi
jmp 0x1005087f
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov ecx, dword [0x1009b170]
xor esi, esi
mov dword [ebp - 0x1530], edx
mov dword [ebp - 0x152c], eax
mov dword [ebp - 0x1538], ecx
mov dword [ebp - 0x1534], esi
mov edx, dword [ebp - 0x152c]
cmp edx, dword [ebp - 0x1534]
ja 0x100506dc
jb 0x100506d0
mov eax, dword [ebp - 0x1530]
cmp eax, dword [ebp - 0x1538]
ja 0x100506dc
mov dword [ebp - 0x568], 1
jmp 0x100506e6
mov dword [ebp - 0x568], 0
mov ecx, dword [ebp - 0x568]
sub ecx, 0x4d
je 0x100507f3
movsx edx, byte [0x1009b0bb]
movzx eax, byte [0x1009b07e]
imul edx, eax
movsx ecx, byte [0x1009b0bb]
imul ecx, edx
mov byte [0x1009b0bb], cl
imul edx, dword [0x1009b188], 0xc5
mov word [ebp - 0x20], dx
movsx eax, byte [0x1009b0ba]
mov ecx, dword [ebp - 0x2c]
sub ecx, eax
movsx edx, byte [ebp - 3]
movsx eax, word [ebp - 0x24]
xor edx, eax
not edx
xor ecx, edx
mov eax, ecx
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x1009b14c]
add edx, 0x668a6f7
mov edi, edx
xor ebx, ebx
movsx eax, word [ebp - 0x1c]
not eax
cdq
mov dword [ebp - 0x10e0], esi
mov esi, dword [0x1009b16c]
sub eax, dword [0x1009b168]
sbb edx, esi
and edi, eax
and ebx, edx
sub ecx, edi
mov esi, dword [ebp - 0x10e0]
sbb esi, ebx
mov dword [ebp - 0x1540], ecx
mov dword [ebp - 0x153c], esi
mov eax, dword [ebp - 0x1540]
or eax, dword [ebp - 0x153c]
jne 0x100507a4
mov dword [ebp - 0x56c], 1
jmp 0x100507ae
mov dword [ebp - 0x56c], 0
mov ecx, dword [ebp - 0x56c]
mov dword [ebp - 0x30], ecx
movsx edx, word [ebp - 0x20]
mov eax, 4
imul ecx, eax, 0x552
mov dword [ecx + 0x1015e570], edx
mov edx, dword [ebp - 0x34]
add edx, 0xad89f060
mov word [ebp - 0x24], dx
movzx eax, byte [ebp - 4]
sub eax, 0xe0
cdq
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
jmp 0x1005087f
movsx eax, word [ebp - 0x20]
cmp dword [ebp - 0x28], eax
jne 0x10050808
mov dword [ebp - 0x570], 1
jmp 0x10050812
mov dword [ebp - 0x570], 0
movsx ecx, byte [ebp - 1]
cmp ecx, dword [ebp - 0x570]
jg 0x1005087f
movsx edx, word [ebp - 0x1c]
add edx, 0x82
mov byte [ebp - 6], dl
movzx eax, byte [ebp - 2]
test eax, eax
jne 0x1005083f
mov dword [ebp - 0x574], 1
jmp 0x10050849
mov dword [ebp - 0x574], 0
mov ecx, 0xc734
sub ecx, dword [ebp - 0x574]
mov byte [ebp - 7], cl
movsx eax, byte [ebp - 3]
cdq
push 0xbea6c
push 0x8bfdcff7
push edx
push eax
call fcn.1006c090
mov byte [ebp - 2], al
movzx edx, word [0x1009b158]
mov eax, dword [ebp - 0x28]
sub eax, edx
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x190]
add ecx, 1
mov dword [ebp - 0x190], ecx
cmp dword [ebp - 0x190], 0xef5
jl 0x100504ce
mov edx, dword [ebp - 0x194]
add edx, 0xd5
mov dword [ebp - 0x8ec], edx
movsx eax, word [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov word [ebp - 0x14], ax
mov dword [0x1009b1b0], 1
cmp dword [0x1009b1a0], 0
jne 0x100508de
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret