Function at 0x10019da0
Capabilities:
Authenticate hmac
Check for unmoving mouse cursor
Encode data using base64
Encrypt data using speck
Parse credit card information
Parse pe header
Query environment variable

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x19bc
call fcn.1007a9d0
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x1720], 0x57
mov dword [ebp - 0x171c], eax
movsx ecx, word [0x100ad0b0]
mov dword [ebp - 0x24], ecx
movsx edx, word [0x100ad0c4]
mov dword [ebp - 0x28], edx
mov eax, dword [0x100ad148]
mov ecx, dword [0x100ad14c]
mov dword [ebp - 0x1774], ecx
mov dword [ebp - 0x18], eax
mov edx, dword [0x100ad108]
mov eax, dword [0x100ad10c]
mov dword [ebp - 0x1484], eax
mov word [ebp - 0x10], dx
mov byte [ebp - 1], 6
mov ecx, 0x8eb0
mov word [ebp - 0x14], cx
movzx edx, word [0x100ad0b8]
mov dword [ebp - 0x2c], edx
movsx eax, word [0x100ad130]
mov dword [ebp - 0x34], eax
movzx eax, byte [0x100ad00f]
cdq
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
mov ecx, dword [0x100ad160]
mov dword [ebp - 0x44], ecx
movsx dx, byte [0x100ad00e]
mov word [ebp - 8], dx
mov al, byte [0x100ad110]
mov byte [ebp - 3], al
mov cx, word [0x100ad120]
mov byte [ebp - 2], cl
movsx edx, word [0x100ad130]
mov dword [ebp - 0x40], edx
mov eax, dword [0x100ad0e0]
xor ecx, ecx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], ecx
mov byte [ebp - 4], 0xe4
mov edx, dword [0x100ad0e8]
mov eax, dword [0x100ad0ec]
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], eax
movsx ecx, byte [0x100ad037]
mov dword [ebp - 0x30], ecx
mov edx, 0x5aa7
mov word [ebp - 0xc], dx
mov eax, 0xf0da9
mov dword [ebp - 0x4c], 0x836ac248
mov dword [ebp - 0x48], eax
mov byte [ebp - 0xb5], 0xdd
movsx ecx, byte [0x100ad00d]
mov dword [ebp - 0x1488], ecx
mov edx, dword [0x100ad0d8]
mov eax, dword [0x100ad0dc]
mov dword [ebp - 0x148c], eax
mov word [ebp - 0xbec], dx
mov cx, word [0x100ad100]
mov word [ebp - 0xbf0], cx
mov edx, 0x968
mov word [ebp - 0xbf4], dx
mov dword [ebp - 0x1490], 0xc68a
mov eax, dword [0x100ad15c]
cdq
mov dword [ebp - 0x1728], eax
mov dword [ebp - 0x1724], edx
mov eax, dword [0x100ad140]
xor ecx, ecx
mov dword [ebp - 0x1730], eax
mov dword [ebp - 0x172c], ecx
movzx eax, word [0x100ad0b8]
cdq
mov dword [ebp - 0x1738], eax
mov dword [ebp - 0x1734], edx
mov dword [ebp - 0x1494], 0xca9eab6c
mov edx, 0xc349
mov word [ebp - 0xbf8], dx
movsx eax, byte [0x100ad00d]
mov dword [ebp - 0x1498], eax
mov dword [ebp - 0x149c], 0x8450
mov dword [ebp - 0x14a0], 0xfbd78ce1
mov ecx, dword [0x100ad0a8]
mov byte [ebp - 0xb6], cl
mov dx, word [0x100ad0bc]
mov byte [ebp - 0xb7], dl
mov eax, dword [0x100ad0e0]
mov dword [ebp - 0x14a4], eax
mov ecx, dword [0x100ad140]
mov dword [ebp - 0x14a8], ecx
mov dx, word [0x100ad130]
mov word [ebp - 0xbfc], dx
mov byte [ebp - 1], 4
xor eax, eax
mov dword [ebp - 0x4c], 4
mov dword [ebp - 0x48], eax
mov ecx, dword [0x100ad100]
not ecx
mov edx, 0xfffee2d5
sub edx, ecx
mov byte [ebp - 4], dl
movzx eax, word [ebp - 8]
mov ecx, dword [0x100ad140]
add ecx, eax
mov dword [0x100ad140], ecx
movzx edx, byte [ebp - 1]
mov dword [ebp - 0x8c4], edx
cmp dword [ebp - 0x8c4], 4
ja case.default.0x10019ff2
mov eax, dword [ebp - 0x8c4]
jmp dword [eax*4 + 0x10031368]
movzx ecx, byte [ebp - 1]
imul edx, ecx, 0xa9e76c73
mov word [0x100ad120], dx
movzx eax, byte [str.px_04X_]
test eax, eax
jne 0x1001a021
mov dword [ebp - 0x8c8], 1
jmp 0x1001a02b
mov dword [ebp - 0x8c8], 0
mov eax, 0x5241
sub eax, dword [ebp - 0x8c8]
cdq
mov ecx, eax
mov esi, edx
movsx eax, word [0x100ad0cc]
cdq
xor eax, dword [0x100ad108]
xor edx, dword [0x100ad10c]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
movsx ecx, word [0x100ad11c]
mov esi, dword [ebp - 0x30]
not esi
add esi, 0xae55
sub ecx, esi
not ecx
xor esi, esi
add eax, ecx
adc edx, esi
mov dword [ebp - 0xcac], eax
mov dword [ebp - 0xca8], edx
mov edx, dword [ebp - 0xcac]
or edx, dword [ebp - 0xca8]
jne 0x1001a094
mov byte [ebp - 0x5d], 1
jmp 0x1001a098
mov byte [ebp - 0x5d], 0
mov al, byte [ebp - 0x5d]
mov byte [str.px_04X_], al
mov ecx, dword [0x100ad0d8]
mov edx, dword [0x100ad0dc]
mov dword [ebp - 0x14ac], edx
sub ecx, 0x9c01a9b0
mov word [ebp - 0x10], cx
mov eax, dword [ebp - 0x44]
sub eax, 0x2a07e016
mov dword [ebp - 0x40], eax
jmp case.default.0x10019ff2
mov eax, dword [0x100ad118]
cdq
mov ecx, dword [ebp - 0x50]
push ecx
mov ecx, dword [ebp - 0x54]
push ecx
push edx
push eax
call fcn.1007a8a0
mov word [0x100ad0f0], ax
imul edx, dword [0x100ad0a8], 0x7640
mov dword [0x100ad0b4], edx
movzx eax, word [ebp - 0x14]
movsx ecx, byte [0x100ad073]
sub eax, ecx
mov word [ebp - 0x14], ax
movsx edx, word [0x100ad0b0]
imul eax, edx, 0xa384
mov byte [0x100ad00e], al
jmp case.default.0x10019ff2
mov ecx, dword [0x100ad0d8]
mov edx, dword [0x100ad0dc]
mov eax, dword [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x4c]
push eax
push edx
push ecx
call fcn.1007a8a0
mov ecx, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
sub ecx, eax
sbb esi, edx
mov dword [0x100ad0d8], ecx
mov dword [0x100ad0dc], esi
mov edx, dword [ebp - 0x18]
imul edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x18]
sub eax, edx
mov dword [ebp - 0x18], eax
movzx ecx, byte [ebp - 1]
movsx edx, word [0x100ad0d0]
xor ecx, edx
mov byte [0x100ad00f], cl
mov byte [0x100ad043], 2
movzx eax, byte [ebp - 4]
cdq
push 0xdc9cf
push 0x4d550b9a
push edx
push eax
call fcn.1007a8a0
mov dword [ebp - 0x44], eax
jmp case.default.0x10019ff2
movzx eax, word [ebp - 8]
add eax, 0x1e4d
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov eax, dword [0x100ad0c8]
cdq
sub eax, 0x43fcb168
sbb edx, 0x59c0f
mov ecx, dword [0x100ad128]
mov esi, dword [0x100ad12c]
sub ecx, eax
sbb esi, edx
mov dword [0x100ad128], ecx
mov dword [0x100ad12c], esi
movzx eax, byte [ebp - 3]
cdq
mov ecx, dword [ebp - 0x54]
sub ecx, eax
mov eax, dword [ebp - 0x50]
sbb eax, edx
mov edx, dword [ebp - 0x54]
sub edx, ecx
mov ecx, dword [ebp - 0x50]
sbb ecx, eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
xor edx, edx
mov dword [ebp - 0x20], 0x704338b4
mov dword [ebp - 0x1c], edx
jmp case.default.0x10019ff2
mov eax, dword [0x100ad0e8]
xor eax, 0x1532
mov ecx, dword [0x100ad0ec]
xor ecx, 0
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
cmp dword [0x100ad0e0], 0
jne 0x1001a235
mov dword [ebp - 0x8cc], 1
jmp 0x1001a23f
mov dword [ebp - 0x8cc], 0
mov edx, dword [ebp - 0x8cc]
sub edx, 0xc3b6ed2
mov byte [0x100ad00f], dl
movsx eax, word [ebp - 0x10]
sub eax, 0x67
mov byte [0x100ad037], al
mov ecx, dword [0x100adbec]
mov dword [ebp - 0xc8], ecx
xor edx, edx
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x34]
cdq
sub eax, 0xd4f8d9fd
mov word [0x100ad130], ax
movzx eax, byte [ebp - 1]
add eax, 0x12e36292
mov dword [ebp - 0x24], eax
movzx eax, byte [ebp - 4]
cdq
sub eax, 0x13c35b7e
mov dword [0x100ad158], eax
movzx ecx, byte [0x100ad072]
add ecx, 0x6550
mov word [0x100ad130], cx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x8d4], edx
mov dword [ebp - 0x8d0], eax
mov ecx, dword [ebp - 0x8d4]
or ecx, dword [ebp - 0x8d0]
je 0x1001a2ee
cmp dword [ebp - 0x8d4], 1
jne 0x1001a2e9
cmp dword [ebp - 0x8d0], 0
je 0x1001a3a4
jmp 0x1001a3ed
mov eax, dword [0x100ad15c]
cdq
push 0x2aad0
push 0x60462cc1
push edx
push eax
call fcn.1007a8a0
mov word [ebp - 8], ax
movzx eax, byte [ebp - 3]
cdq
sub eax, 0xbe5beddf
sbb edx, 0x62780
mov dword [0x100ad150], eax
mov dword [0x100ad154], edx
cmp dword [ebp - 0x24], 0
je 0x1001a340
mov edx, dword [0x100ad140]
xor eax, eax
mov dword [ebp - 0x94c], edx
mov dword [ebp - 0x948], eax
jmp 0x1001a358
mov ecx, dword [0x100ad148]
mov edx, dword [0x100ad14c]
mov dword [ebp - 0x94c], ecx
mov dword [ebp - 0x948], edx
mov eax, dword [ebp - 0x94c]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x44]
imul ecx, dword [0x100ad0c8]
movsx edx, word [ebp - 0xc]
sub edx, dword [ebp - 0x24]
not edx
xor ecx, edx
not ecx
movzx eax, byte [ebp - 4]
movsx edx, word [0x100ad0c0]
imul eax, edx
movsx edx, byte [0x100ad00d]
imul eax, edx
add ecx, eax
mov dword [0x100ad0a8], ecx
movzx eax, byte [ebp - 1]
sub eax, 0x18
mov dword [ebp - 0x2c], eax
jmp 0x1001a3ed
movsx eax, byte [0x100ad037]
sub eax, 0xf25e
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov ecx, dword [0x100ad158]
add ecx, 0xcbf8
mov word [ebp - 0x14], cx
mov dword [ebp - 0x2c], 1
movsx eax, byte [0x100ad00d]
shl eax, 8
cdq
mov dword [0x100ad150], eax
mov dword [0x100ad154], edx
mov edx, 0x79
mov word [ebp - 0x10], dx
mov eax, dword [ebp - 0xc8]
add eax, 0x26c
mov dword [ebp - 0x14b0], eax
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
mov eax, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0xcb4], ecx
mov dword [ebp - 0xcb0], edx
mov dword [ebp - 0xcbc], eax
mov dword [ebp - 0xcb8], esi
mov ecx, dword [ebp - 0xcb4]
cmp ecx, dword [ebp - 0xcbc]
jne 0x1001a444
mov edx, dword [ebp - 0xcb0]
cmp edx, dword [ebp - 0xcb8]
je 0x1001a450
mov dword [ebp - 0x1e0], 1
jmp 0x1001a45a
mov dword [ebp - 0x1e0], 0
mov eax, dword [0x100ad128]
mov ecx, dword [0x100ad12c]
mov dword [ebp - 0xcc4], eax
mov dword [ebp - 0xcc0], ecx
cmp dword [ebp - 0xcc4], 0x61
jne 0x1001a483
cmp dword [ebp - 0xcc0], 0
je 0x1001a48f
mov dword [ebp - 0x1e4], 1
jmp 0x1001a499
mov dword [ebp - 0x1e4], 0
mov edx, dword [ebp - 0x1e0]
cmp edx, dword [ebp - 0x1e4]
jne 0x1001a622
call dword [sym.imp.USER32.dll_GetActiveWindow]
xor ecx, ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
mov edx, 0x5bec56a8
test edx, edx
je 0x1001a4d9
movsx eax, byte [0x100ad00d]
test eax, eax
je 0x1001a4d9
mov dword [ebp - 0x1e8], 1
jmp 0x1001a4e3
mov dword [ebp - 0x1e8], 0
movzx ecx, word [ebp - 0x14]
cmp ecx, dword [ebp - 0x1e8]
jl 0x1001a503
xor edx, edx
mov dword [ebp - 0x954], 1
mov dword [ebp - 0x950], edx
jmp 0x1001a50e
xorps xmm0, xmm0
movlpd qword [ebp - 0x954], xmm0
movsx eax, byte [0x100ad043]
cdq
mov ecx, dword [0x100ad0f8]
sub ecx, eax
mov eax, dword [0x100ad0fc]
sbb eax, edx
push 0
push 0xf590
push eax
push ecx
call fcn.1007a8a0
mov dword [ebp - 0xccc], eax
mov dword [ebp - 0xcc8], edx
mov ecx, dword [ebp - 0x954]
cmp ecx, dword [ebp - 0xccc]
jne 0x1001a55f
mov edx, dword [ebp - 0x950]
cmp edx, dword [ebp - 0xcc8]
je 0x1001a61d
movsx eax, word [0x100ad130]
cdq
push 0xbd60d
push 0x86b7e933
push edx
push eax
call fcn.1007a8a0
mov ecx, dword [0x100ad108]
mov esi, dword [0x100ad10c]
add ecx, eax
adc esi, edx
mov dword [0x100ad108], ecx
mov dword [0x100ad10c], esi
movzx edx, word [ebp - 0x14]
test edx, edx
je 0x1001a5af
movzx eax, byte [ebp - 4]
cdq
mov dword [ebp - 0x95c], eax
mov dword [ebp - 0x958], edx
jmp 0x1001a5c6
mov eax, dword [0x100ad0f8]
mov ecx, dword [0x100ad0fc]
mov dword [ebp - 0x95c], eax
mov dword [ebp - 0x958], ecx
mov dx, word [ebp - 0x95c]
mov word [0x100ad0e4], dx
mov dword [0x100ad0b4], 0xd2
cmp dword [ebp - 0x44], 0
je 0x1001a5fa
movsx eax, word [0x100ad0c4]
cdq
mov dword [ebp - 0x964], eax
mov dword [ebp - 0x960], edx
jmp 0x1001a611
mov eax, dword [0x100ad138]
mov ecx, dword [0x100ad13c]
mov dword [ebp - 0x964], eax
mov dword [ebp - 0x960], ecx
mov edx, dword [ebp - 0x964]
mov dword [0x100ad140], edx
jmp 0x1001a797
movzx eax, word [0x100ad120]
cdq
mov ecx, dword [0x100ad128]
mov esi, dword [0x100ad12c]
mov dword [ebp - 0xcd4], eax
mov dword [ebp - 0xcd0], edx
mov dword [ebp - 0xcdc], ecx
mov dword [ebp - 0xcd8], esi
mov edx, dword [ebp - 0xcd0]
cmp edx, dword [ebp - 0xcd8]
ja 0x1001a6a4
jb 0x1001a66c
mov eax, dword [ebp - 0xcd4]
cmp eax, dword [ebp - 0xcdc]
ja 0x1001a6a4
movzx ecx, byte [ebp - 4]
imul edx, ecx, 0xf0de3ef9
mov dword [0x100ad0b4], edx
mov eax, dword [ebp - 0x44]
sub eax, 0x5c1d
cdq
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
movsx eax, word [0x100ad0d0]
add eax, 0x8c
mov byte [ebp - 4], al
jmp 0x1001a797
cmp dword [ebp - 0x2c], 0
je 0x1001a797
xor ecx, ecx
mov dword [ebp - 0x54], 0x1b72
mov dword [ebp - 0x50], ecx
movsx edx, word [0x100ad0bc]
sub edx, 0x31396a4e
mov word [0x100ad0c0], dx
mov eax, dword [0x100ad0e8]
and eax, 0x76a0d502
mov ecx, dword [0x100ad0ec]
and ecx, 0x5a33b
mov dword [0x100ad138], eax
mov dword [0x100ad13c], ecx
movsx edx, word [0x100ad11c]
sub edx, 0x7a98
mov word [ebp - 0xc], dx
movsx eax, word [ebp - 0xc]
movzx ecx, byte [ebp - 3]
imul eax, ecx
movsx edx, word [ebp - 0xc]
add edx, eax
mov word [ebp - 0xc], dx
movsx eax, word [0x100ad0e4]
cdq
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0xce4], ecx
mov dword [ebp - 0xce0], esi
mov edx, dword [ebp - 0xce4]
or edx, dword [ebp - 0xce0]
jne 0x1001a74d
mov dword [ebp - 0x1ec], 1
jmp 0x1001a757
mov dword [ebp - 0x1ec], 0
cmp dword [0x100ad0a8], 0
jne 0x1001a76c
mov dword [ebp - 0x1f0], 1
jmp 0x1001a776
mov dword [ebp - 0x1f0], 0
mov eax, dword [ebp - 0x1ec]
xor eax, dword [ebp - 0x1f0]
jne 0x1001a78a
mov byte [ebp - 0x5e], 1
jmp 0x1001a78e
mov byte [ebp - 0x5e], 0
mov cl, byte [ebp - 0x5e]
mov byte [0x100ad00f], cl
mov edx, dword [ebp - 0xc8]
add edx, 0x532
mov dword [ebp - 0xc18], edx
movzx eax, byte [ebp - 4]
movsx ecx, word [0x100ad0cc]
cmp eax, ecx
jne 0x1001a809
mov edx, dword [ebp - 0x40]
sub edx, 0x1fa
mov word [0x100ad0c0], dx
movsx eax, word [0x100ad0cc]
add eax, 0x6723
mov byte [0x100ad072], al
mov esi, dword [ebp - 0x18]
movsx eax, word [ebp - 0xc]
cdq
mov ecx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x1c]
push edi
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
mov eax, dword [ebp - 0x34]
add eax, 0x6cbd
not eax
cdq
sub ecx, eax
sub esi, ecx
not esi
mov dword [0x100ad118], esi
mov edx, dword [ebp - 0xc8]
add edx, 0x539
mov dword [ebp - 0xc14], edx
xor eax, eax
mov dword [0x100ad148], 2
mov dword [0x100ad14c], eax
movsx ecx, word [ebp - 0xc]
add ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x2c]
sub edx, ecx
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x40]
imul eax, dword [0x100ad158]
add eax, dword [0x100ad158]
mov dword [0x100ad158], eax
mov cx, word [0x100adbec]
mov word [ebp - 8], cx
movsx edx, byte [str.E2_wcsrchr]
movzx eax, word [ebp - 8]
imul edx, eax
xor edx, dword [0x100ad0a8]
movsx ecx, word [ebp - 0x10]
add ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x44]
add eax, ecx
xor edx, eax
mov word [ebp - 0xc], dx
mov ecx, dword [0x100ad148]
mov edx, dword [0x100ad14c]
mov dword [ebp - 0x1c4], ecx
mov dword [ebp - 0x1c0], edx
mov eax, dword [ebp - 0x1c4]
or eax, dword [ebp - 0x1c0]
je 0x1001a8d8
cmp dword [ebp - 0x1c4], 1
jne 0x1001a8bd
cmp dword [ebp - 0x1c0], 0
je 0x1001a93f
cmp dword [ebp - 0x1c4], 2
jne 0x1001a8d3
cmp dword [ebp - 0x1c0], 0
je 0x1001a958
jmp 0x1001a9c9
movzx ecx, byte [ebp - 1]
add ecx, 0x6d704ab3
mov word [0x100ad0f0], cx
mov edx, dword [0x100ad110]
add edx, 0x79
mov eax, dword [0x100ad114]
adc eax, 0
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], eax
mov ecx, 0x23c8
mov word [ebp - 0xc], cx
mov eax, dword [0x100ad0c8]
cdq
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov dword [0x100ad0c8], eax
movzx edx, word [ebp - 0x14]
movsx eax, byte [0x100ad042]
sub edx, eax
movzx ecx, word [ebp - 0x14]
sub ecx, edx
mov word [ebp - 0x14], cx
jmp 0x1001a9c9
mov edx, dword [ebp - 0x24]
add edx, dword [ebp - 0x2c]
mov byte [0x100ad043], dl
mov eax, dword [ebp - 0x24]
shl eax, 2
mov byte [0x100ad043], al
jmp 0x1001a9c9
movzx ecx, byte [ebp - 1]
imul edx, ecx, 0x46c44b79
mov byte [str.E2_wcsrchr], dl
mov eax, dword [ebp - 0x28]
cdq
add eax, 0x22ca32bc
mov dword [0x100ad158], eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
push 0
push 0xc2f1
push ecx
push eax
call fcn.1007a8a0
add eax, dword [ebp - 0x4c]
adc edx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movsx eax, word [0x100ad0cc]
cdq
mov ecx, 8
imul ecx, ecx, 0x92
mov dword [ecx + 0x100e6a58], eax
mov dword [ecx + 0x100e6a5c], edx
mov edx, dword [ebp - 0x40]
add edx, 0x13
movzx eax, byte [0x100ad072]
or eax, edx
mov byte [0x100ad072], al
mov ecx, dword [0x100adbec]
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14b4], eax
add edx, 0x12
mov word [0x100ad120], dx
mov dword [ebp - 0x34], 8
mov ecx, dword [ebp - 0xcc]
add ecx, 0x4c8
mov dword [ebp - 0xf0], ecx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov word [0x100ad0d0], ax
mov edx, dword [ebp - 0xcc]
add edx, 0x25c
mov dword [ebp - 0x14b8], edx
movzx eax, byte [ebp - 2]
cdq
add eax, dword [ebp - 0x4c]
adc edx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x30]
shr eax, 6
mov word [0x100ad0f0], ax
mov cl, byte [0x100adbec]
mov byte [ebp - 4], cl
movzx eax, word [ebp - 0x14]
shl eax, 7
cdq
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
movzx edx, byte [str.px_04X_]
test edx, edx
jne 0x1001aa6d
mov dword [ebp - 0x1f4], 1
jmp 0x1001aa77
mov dword [ebp - 0x1f4], 0
movsx eax, word [0x100ad0b0]
not eax
movsx ecx, byte [0x100ad073]
xor edx, edx
sub edx, ecx
mov ecx, dword [ebp - 0x1f4]
sub ecx, edx
xor eax, ecx
not eax
mov byte [0x100ad00d], al
mov edx, dword [0x100ad128]
mov eax, dword [0x100ad12c]
mov dword [ebp - 0xcec], edx
mov dword [ebp - 0xce8], eax
mov ecx, dword [ebp - 0xcec]
or ecx, dword [ebp - 0xce8]
je 0x1001aacc
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1f8], edx
jmp 0x1001aad6
movzx eax, word [ebp - 0x14]
mov dword [ebp - 0x1f8], eax
mov cx, word [ebp - 0x1f8]
mov word [0x100ad0f0], cx
mov edx, dword [ebp - 0xcc]
add edx, 0x4e5
mov dword [ebp - 0xc38], edx
mov eax, dword [0x100adbec]
mov dword [ebp - 0xd4], eax
mov byte [ebp - 4], 0x3a
mov byte [ebp - 1], 2
mov ecx, 0xdd
mov word [ebp - 0xc], cx
movsx edx, byte [0x100ad00d]
imul eax, edx, 0x2c5a1447
movzx ecx, byte [ebp - 3]
imul ecx, eax
mov byte [ebp - 3], cl
mov edx, dword [ebp - 0xd4]
add edx, 0x4af
mov dword [ebp - 0x420], edx
movsx eax, byte [0x100ad037]
cdq
mov dword [ebp - 0xcf4], eax
mov dword [ebp - 0xcf0], edx
mov eax, dword [0x100ad154]
cmp eax, dword [ebp - 0xcf0]
jg 0x1001ab78
jl 0x1001ab6c
mov ecx, dword [0x100ad150]
cmp ecx, dword [ebp - 0xcf4]
jae 0x1001ab78
mov dword [ebp - 0x1fc], 1
jmp 0x1001ab82
mov dword [ebp - 0x1fc], 0
cmp dword [0x100ad154], 0
jg 0x1001aba2
jl 0x1001ab96
cmp dword [0x100ad150], 7
jae 0x1001aba2
mov dword [ebp - 0x200], 1
jmp 0x1001abac
mov dword [ebp - 0x200], 0
mov edx, dword [ebp - 0x1fc]
cmp edx, dword [ebp - 0x200]
jl 0x1001abc8
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov dword [ebp - 0x2c], eax
jmp 0x1001adb7
mov eax, dword [0x100ad160]
or eax, dword [0x100ad164]
je 0x1001ac02
mov eax, dword [ebp - 0x34]
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x34]
cdq
mov ecx, eax
xor ecx, dword [0x100ad0e8]
mov eax, dword [ebp - 0x34]
cdq
sub eax, ecx
mov dword [ebp - 0x34], eax
mov edx, 0x3faf
mov word [ebp - 8], dx
jmp 0x1001adb7
mov ecx, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
movsx eax, word [0x100ad0c0]
cdq
mov dword [ebp - 0xcfc], ecx
mov dword [ebp - 0xcf8], esi
mov dword [ebp - 0xd04], eax
mov dword [ebp - 0xd00], edx
mov edx, dword [ebp - 0xcf8]
cmp edx, dword [ebp - 0xd00]
ja 0x1001ac58
jb 0x1001ac4c
mov eax, dword [ebp - 0xcfc]
cmp eax, dword [ebp - 0xd04]
ja 0x1001ac58
mov dword [ebp - 0x204], 1
jmp 0x1001ac62
mov dword [ebp - 0x204], 0
movsx ecx, word [0x100ad0c0]
cmp ecx, dword [ebp - 0x34]
jle 0x1001ac7a
mov dword [ebp - 0x208], 1
jmp 0x1001ac84
mov dword [ebp - 0x208], 0
mov edx, dword [ebp - 0x204]
not edx
cmp edx, dword [ebp - 0x208]
jne 0x1001ad1e
mov dword [ebp - 0x30], 0x1fea7b7f
movsx eax, byte [0x100ad042]
imul ecx, eax, 0xed3
movzx edx, word [0x100ad120]
add edx, ecx
mov word [0x100ad120], dx
mov eax, dword [0x100ad0c8]
cdq
mov ecx, dword [0x100ad108]
mov edx, dword [0x100ad10c]
mov dword [ebp - 0x14bc], edx
add eax, ecx
mov dword [ebp - 0x44], eax
movzx eax, word [0x100ad120]
movsx ecx, word [ebp - 0xc]
add ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x34]
not edx
lea ecx, [ecx + edx - 0x7f]
add eax, ecx
jne 0x1001ad02
mov edx, 1
mov word [ebp - 0x8e], dx
jmp 0x1001ad0b
xor eax, eax
mov word [ebp - 0x8e], ax
mov cx, word [ebp - 0x8e]
mov word [0x100ad0d0], cx
jmp 0x1001adb7
cmp dword [ebp - 0x2c], 0x3a
jl 0x1001ad30
mov dword [ebp - 0x20c], 1
jmp 0x1001ad3a
mov dword [ebp - 0x20c], 0
movzx edx, byte [0x100ad00f]
cmp edx, 0x4eaf2b89
jne 0x1001ad55
mov dword [ebp - 0x210], 1
jmp 0x1001ad5f
mov dword [ebp - 0x210], 0
mov eax, dword [ebp - 0x20c]
cmp eax, dword [ebp - 0x210]
jge 0x1001adb7
movzx ecx, byte [0x100ad072]
movsx edx, byte [0x100ad00d]
not edx
imul ecx, edx
mov word [0x100ad0c0], cx
mov ax, word [0x100adbec]
mov word [0x100ad11c], ax
movzx eax, byte [ebp - 4]
movzx ecx, word [0x100ad0b8]
sub eax, ecx
cdq
xor eax, 0x12f55be9
xor edx, 0x5887b
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
mov edx, dword [ebp - 0xd4]
add edx, 0x4b1
mov dword [ebp - 0x41c], edx
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStrings]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jg 0x1001ae80
mov dword [ebp - 0xd0], 0
jmp 0x1001adf7
mov eax, dword [ebp - 0xd0]
add eax, 2
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0x307
jge 0x1001ae7e
movzx ecx, word [0x100ad0ac]
imul ecx, dword [ebp - 0x18]
mov dx, word [0x100ad0ac]
shl dx, cl
mov word [0x100ad0ac], dx
cmp dword [ebp - 0x24], 0
jne 0x1001ae31
mov dword [ebp - 0x214], 1
jmp 0x1001ae3b
mov dword [ebp - 0x214], 0
mov eax, dword [0x100ad100]
add eax, dword [ebp - 0x214]
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
push esi
push edx
push ecx
push eax
call fcn.1007a8a0
mov dword [ebp - 0x30], eax
movsx eax, byte [0x100ad073]
sub eax, 0xc4
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov ax, word [ebp - 0x14]
add ax, 1
mov word [ebp - 0x14], ax
jmp 0x1001ade8
jmp 0x1001aeba
mov ecx, dword [ebp - 0x4c]
or ecx, dword [ebp - 0x48]
jne 0x1001aeba
mov eax, dword [0x100ad158]
and eax, 0x61
cdq
mov dword [0x100ad108], eax
mov dword [0x100ad10c], edx
movzx edx, byte [str.px_04X_]
add edx, 0x6a9b1ae6
mov dword [0x100ad140], edx
mov eax, dword [ebp - 0x34]
xor eax, 0xca
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0xd4]
add ecx, 0x4a6
mov dword [ebp - 0x14c0], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xd0c], edx
mov dword [ebp - 0xd08], eax
mov ecx, dword [ebp - 0xd0c]
or ecx, dword [ebp - 0xd08]
je 0x1001b105
mov edx, dword [0x100ad0e8]
or edx, dword [0x100ad0ec]
je 0x1001b103
xor eax, eax
mov dword [0x100ad148], 1
mov dword [0x100ad14c], eax
movsx ecx, word [0x100ad0d0]
imul ecx, dword [ebp - 0x18]
movsx edx, word [0x100ad0d0]
add edx, ecx
mov word [0x100ad0d0], dx
mov dword [ebp - 0x18], 0xc37d
movzx eax, byte [ebp - 3]
add eax, 0xe543
mov dword [0x100ad140], eax
cmp dword [ebp - 0x28], 0
jne 0x1001af55
mov dword [ebp - 0x218], 1
jmp 0x1001af5f
mov dword [ebp - 0x218], 0
movsx eax, byte [0x100ad09a]
add eax, dword [ebp - 0x218]
cdq
mov esi, eax
mov edi, edx
movzx eax, byte [str.px_04X_]
cdq
mov ecx, dword [ebp - 0x48]
push ecx
mov ecx, dword [ebp - 0x4c]
push ecx
push edx
push eax
call fcn.1007a8a0
add esi, eax
adc edi, edx
mov dword [ebp - 0xd14], esi
mov dword [ebp - 0xd10], edi
mov edx, dword [ebp - 0xd14]
or edx, dword [ebp - 0xd10]
jne 0x1001afb2
mov dword [ebp - 0x21c], 1
jmp 0x1001afbc
mov dword [ebp - 0x21c], 0
mov eax, dword [ebp - 0x21c]
mov dword [0x100ad158], eax
mov ecx, dword [0x100ad148]
mov edx, dword [0x100ad14c]
mov dword [ebp - 0x8dc], ecx
mov dword [ebp - 0x8d8], edx
mov eax, dword [ebp - 0x8dc]
or eax, dword [ebp - 0x8d8]
je 0x1001b004
cmp dword [ebp - 0x8dc], 1
jne 0x1001afff
cmp dword [ebp - 0x8d8], 0
je 0x1001b06d
jmp 0x1001b103
mov ecx, dword [0x100ad118]
sub ecx, 0x8f6a70a
xor edx, edx
mov dword [0x100ad0f8], ecx
mov dword [0x100ad0fc], edx
movsx eax, byte [0x100ad037]
add eax, 0xdccc
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov eax, dword [0x100ad148]
mov ecx, dword [0x100ad14c]
sub eax, 0x38
sbb ecx, 0
mov dword [0x100ad138], eax
mov dword [0x100ad13c], ecx
movsx edx, word [0x100ad0c0]
test edx, edx
jne 0x1001b05e
mov byte [ebp - 0x5c], 1
jmp 0x1001b062
mov byte [ebp - 0x5c], 0
mov al, byte [ebp - 0x5c]
mov byte [ebp - 1], al
jmp 0x1001b103
movzx ecx, byte [ebp - 2]
add ecx, 0x40
mov byte [0x100ad00d], cl
movzx eax, byte [ebp - 1]
movzx edx, byte [ebp - 3]
sub eax, edx
not eax
cdq
mov dword [0x100ad148], eax
mov dword [0x100ad14c], edx
movsx eax, word [0x100ad11c]
test eax, eax
je 0x1001b0aa
mov cx, word [ebp - 0x10]
mov word [ebp - 0x90], cx
jmp 0x1001b0b8
mov dx, word [0x100ad0bc]
mov word [ebp - 0x90], dx
movsx eax, word [ebp - 0x90]
mov dword [0x100ad0a8], eax
mov ecx, dword [0x100ad150]
not ecx
mov edx, dword [0x100ad154]
not edx
mov eax, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
push edx
push ecx
push esi
push eax
call fcn.1007a8a0
mov ecx, dword [0x100ad164]
push ecx
mov ecx, dword [0x100ad160]
push ecx
push edx
push eax
call fcn.1007a8a0
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
jmp 0x1001b17c
mov edx, 0x2f
test edx, edx
je 0x1001b17c
movsx eax, byte [0x100ad00e]
movsx ecx, word [0x100ad0bc]
imul eax, ecx
mov dword [ebp - 0x24], eax
movzx edx, word [0x100ad0ac]
and edx, 0x7295
mov word [ebp - 8], dx
mov eax, dword [0x100adbec]
mov dword [ebp - 0x24], eax
movzx ecx, byte [ebp - 3]
test ecx, ecx
je 0x1001b159
movsx eax, word [0x100ad0e4]
cdq
mov dword [ebp - 0x96c], eax
mov dword [ebp - 0x968], edx
jmp 0x1001b170
mov edx, dword [0x100ad108]
mov eax, dword [0x100ad10c]
mov dword [ebp - 0x96c], edx
mov dword [ebp - 0x968], eax
mov ecx, dword [ebp - 0x96c]
mov dword [0x100ad0e0], ecx
movzx edx, byte [ebp - 3]
movzx eax, word [0x100ad0ac]
cmp edx, eax
jge 0x1001b197
mov dword [ebp - 0x220], 1
jmp 0x1001b1a1
mov dword [ebp - 0x220], 0
movzx ecx, byte [ebp - 3]
cmp ecx, 0x49
jge 0x1001b1b6
mov dword [ebp - 0x224], 1
jmp 0x1001b1c0
mov dword [ebp - 0x224], 0
mov edx, dword [ebp - 0x220]
cmp edx, dword [ebp - 0x224]
jle 0x1001b21c
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0
je 0x1001b21c
mov eax, dword [ebp - 0xa4]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp - 0x14c4], eax
mov ecx, dword [ebp - 0xa4]
push ecx
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov dword [ebp - 0x14c8], eax
mov edx, dword [ebp - 0xa4]
push edx
call dword [sym.imp.USER32.dll_IsWindowUnicode]
mov dword [ebp - 0x14cc], eax
movzx eax, byte [str.px_04X_]
cmp dword [ebp - 0x28], eax
jne 0x1001b234
mov dword [ebp - 0x228], 1
jmp 0x1001b23e
mov dword [ebp - 0x228], 0
cmp dword [ebp - 0x28], 0x16
jne 0x1001b250
mov dword [ebp - 0x22c], 1
jmp 0x1001b25a
mov dword [ebp - 0x22c], 0
mov ecx, dword [ebp - 0x228]
cmp ecx, dword [ebp - 0x22c]
jg 0x1001b308
mov dword [ebp - 0xd8], 0
jmp 0x1001b287
mov edx, dword [ebp - 0xd8]
add edx, 1
mov dword [ebp - 0xd8], edx
cmp dword [ebp - 0xd8], 0x2a0
jge 0x1001b303
mov dword [ebp - 0xdc], 0
jmp 0x1001b2ae
mov eax, dword [ebp - 0xdc]
add eax, 1
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0x189
jge 0x1001b2ef
mov ecx, dword [ebp - 0x4c]
sub ecx, 0xa61e5e60
mov edx, dword [ebp - 0x48]
sbb edx, 0
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
movsx eax, word [0x100ad0d0]
imul ecx, eax, 0x19ab810b
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x24], edx
mov al, byte [ebp - 2]
add al, 1
mov byte [ebp - 2], al
jmp 0x1001b29f
mov cl, byte [str.ZFreeSid]
add cl, 1
mov byte [str.ZFreeSid], cl
jmp 0x1001b278
jmp 0x1001b40f
cmp dword [0x100ad100], 0
je 0x1001b40f
mov edx, dword [ebp - 0x30]
xor eax, eax
push 0xfb983
push 0x217506e4
push eax
push edx
call fcn.1007a8a0
mov byte [0x100ad037], al
mov ecx, 8
imul edx, ecx, 0x8cff
mov al, byte [edx + 0x10100490]
mov byte [str.ZFreeSid], al
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
mov dword [ebp - 0xd1c], ecx
mov dword [ebp - 0xd18], edx
mov eax, dword [ebp - 0xd1c]
or eax, dword [ebp - 0xd18]
je 0x1001b386
mov ecx, dword [0x100ad110]
mov edx, dword [0x100ad114]
mov dword [ebp - 0x974], ecx
mov dword [ebp - 0x970], edx
jmp 0x1001b39a
movsx eax, word [0x100ad0b0]
cdq
mov dword [ebp - 0x974], eax
mov dword [ebp - 0x970], edx
mov ax, word [ebp - 0x974]
mov word [0x100ad0ac], ax
mov byte [ebp - 4], 0xdb
cmp dword [0x100ad140], 0
jne 0x1001b3c0
mov dword [ebp - 0x230], 1
jmp 0x1001b3ca
mov dword [ebp - 0x230], 0
movzx eax, byte [str.px_04X_]
xor eax, dword [ebp - 0x2c]
cdq
mov ecx, eax
mov esi, edx
xor ecx, 0xa8c2ddaf
xor esi, 0x6103c
imul eax, dword [ebp - 0x230], 0x7875
movzx edx, byte [ebp - 2]
movsx edi, word [0x100ad0b0]
sub edx, edi
imul eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x268], 0
mov dword [0x100ad0c8], 0xb606
imul eax, dword [0x100ad0c8], 0x86cf4ea9
movsx ecx, word [ebp - 0x10]
imul ecx, eax
mov word [ebp - 0x10], cx
mov dword [ebp - 0x510], 0
mov edx, dword [0x100ad150]
or edx, dword [0x100ad154]
jne 0x1001b45c
mov dword [ebp - 0x234], 1
jmp 0x1001b466
mov dword [ebp - 0x234], 0
mov eax, dword [ebp - 0x234]
cmp eax, dword [0x100ad0b4]
jge 0x1001b480
mov dword [ebp - 0x238], 1
jmp 0x1001b48a
mov dword [ebp - 0x238], 0
movsx ecx, word [0x100ad11c]
cmp ecx, 0x5843cb81
jle 0x1001b4a5
mov dword [ebp - 0x23c], 1
jmp 0x1001b4af
mov dword [ebp - 0x23c], 0
mov edx, dword [ebp - 0x238]
cmp edx, dword [ebp - 0x23c]
jne 0x1001b4c9
mov dword [ebp - 0x244], 1
jmp 0x1001b4d3
mov dword [ebp - 0x244], 0
movzx eax, byte [ebp - 2]
test eax, eax
jne 0x1001b4ed
cmp dword [ebp - 0x34], 0
jne 0x1001b4ed
mov dword [ebp - 0x240], 0
jmp 0x1001b4f7
mov dword [ebp - 0x240], 1
movsx ecx, byte [str.ZFreeSid]
cmp ecx, dword [ebp - 0x240]
jge 0x1001b512
mov dword [ebp - 0x248], 1
jmp 0x1001b51c
mov dword [ebp - 0x248], 0
mov edx, dword [ebp - 0x244]
cmp edx, dword [ebp - 0x248]
jne 0x1001b538
push 0x100908b4
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov byte [ebp - 4], al
mov dword [ebp - 0x700], 0
movzx eax, word [ebp - 8]
cdq
add eax, dword [ebp - 0x4c]
adc edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov word [0x100ad0f0], ax
mov edx, dword [0x100ad158]
sub edx, dword [ebp - 0x30]
mov dword [0x100ad158], edx
mov eax, dword [0x100ad128]
mov ecx, dword [0x100ad12c]
mov dword [ebp - 0x14d0], ecx
sub eax, 0x2c7a06a7
mov dword [ebp - 0x40], eax
movsx edx, byte [str.E2_wcsrchr]
cmp dword [ebp - 0x2c], edx
jne 0x1001b5e8
mov eax, dword [0x100ad0c8]
cdq
push 0x4a786
push 0x5651c872
push edx
push eax
call fcn.1007a8a0
mov word [0x100ad0e4], ax
movzx eax, byte [ebp - 3]
sub eax, 0x6682
mov word [ebp - 0x10], ax
mov cx, word [0x100adbec]
mov word [ebp - 0xc], cx
mov edx, dword [ebp - 0x40]
sub edx, dword [ebp - 0x30]
mov dword [ebp - 0x40], edx
movzx eax, byte [str.px_04X_]
imul eax, eax, 0x374ccd37
cdq
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x264], 0
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
sub ecx, 0x7cff
sbb edx, 0
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], edx
mov eax, dword [0x100ad0b4]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x14d4], eax
and ecx, edx
mov eax, dword [0x100ad0b4]
cdq
add eax, ecx
mov dword [0x100ad0b4], eax
imul ecx, dword [ebp - 0x40], 0xbd5357bc
mov byte [ebp - 3], cl
mov byte [0x100ad00f], 8
cmp dword [ebp - 0x40], 0
jne 0x1001b653
mov dword [ebp - 0x24c], 1
jmp 0x1001b65d
mov dword [ebp - 0x24c], 0
movzx edx, byte [ebp - 4]
and edx, dword [ebp - 0x24c]
jne 0x1001b675
mov dword [ebp - 0x250], 1
jmp 0x1001b67f
mov dword [ebp - 0x250], 0
movsx eax, word [0x100ad0e4]
xor eax, dword [0x100ad158]
mov ecx, dword [ebp - 0x250]
sub ecx, eax
mov byte [0x100ad00d], cl
mov byte [0x100ad00d], 0x2a
mov dword [ebp - 0xc0c], 0
mov dword [ebp - 0x50c], 0
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
mov byte [0x100ad00e], al
mov dword [ebp - 0xc5c], 0
mov edx, dword [0x100ad15c]
push edx
call dword [sym.imp.USER32.dll_GetDlgCtrlID]
mov byte [ebp - 4], al
mov dword [ebp - 0x6fc], 0
mov eax, dword [0x100ad140]
xor eax, dword [ebp - 0x34]
mov dword [0x100ad140], eax
mov ecx, 0x798f
mov word [ebp - 0x10], cx
movsx edx, word [0x100ad0d0]
movzx eax, byte [ebp - 1]
add edx, eax
movsx ecx, word [0x100ad0d0]
sub ecx, edx
mov word [0x100ad0d0], cx
movzx edx, byte [0x100ad00f]
sub edx, 0xeb
mov eax, dword [ebp - 0x44]
sub eax, edx
mov dword [ebp - 0x44], eax
mov ecx, 2
imul edx, ecx, 0x349a
mov ax, word [edx + 0x101e2818]
mov word [0x100ad11c], ax
mov dword [ebp - 0xbc8], 0
xor ecx, ecx
mov byte [ebp - 0x64], cl
lea edx, [ebp - 0x197a]
push edx
lea ecx, [ebp - 0x64]
call fcn.100027d0
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x9c], 0
jmp 0x1001b783
mov eax, dword [ebp - 0x9c]
add eax, 1
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0x1e
jae 0x1001b7e5
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x8c]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0xc00], eax
mov ecx, dword [ebp - 0xc00]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x8c]
movsx ecx, byte [eax]
xor edx, ecx
mov word [ebp - 0xba], dx
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x8c]
lea ecx, [eax + edx*2 + 2]
mov dword [ebp - 0xc04], ecx
mov edx, dword [ebp - 0xc04]
mov ax, word [ebp - 0xba]
mov word [edx], ax
jmp 0x1001b774
mov ecx, 0x1e
shl ecx, 1
mov edx, dword [ebp - 0x8c]
lea eax, [edx + ecx + 2]
mov dword [ebp - 0xc08], eax
xor ecx, ecx
mov edx, dword [ebp - 0xc08]
mov word [edx], cx
mov eax, dword [ebp - 0x8c]
add eax, 2
mov dword [ebp - 0xc10], eax
lea ecx, [ebp - 0xc0c]
push ecx
lea edx, [ebp - 0x264]
push edx
mov eax, dword [ebp - 0xc10]
push eax
call fcn.10006b30
mov ecx, dword [0x100ad108]
mov edx, dword [0x100ad10c]
mov dword [ebp - 0xd24], ecx
mov dword [ebp - 0xd20], edx
mov eax, dword [ebp - 0xd24]
or eax, dword [ebp - 0xd20]
je 0x1001b9f0
movzx eax, word [0x100ad120]
cdq
mov dword [ebp - 0xd2c], eax
mov dword [ebp - 0xd28], edx
mov ecx, dword [ebp - 0xd28]
cmp ecx, dword [0x100ad164]
jb 0x1001b898
ja 0x1001b88c
mov edx, dword [ebp - 0xd2c]
cmp edx, dword [0x100ad160]
jb 0x1001b898
mov dword [ebp - 0x254], 1
jmp 0x1001b8a2
mov dword [ebp - 0x254], 0
movzx eax, word [0x100ad120]
cmp eax, 0x50
jl 0x1001b8ba
mov dword [ebp - 0x258], 1
jmp 0x1001b8c4
mov dword [ebp - 0x258], 0
mov ecx, dword [ebp - 0x254]
cmp ecx, dword [ebp - 0x258]
jne 0x1001b9eb
mov edx, dword [ebp - 0x30]
not edx
xor edx, 0x5a
jne 0x1001b8ec
mov dword [ebp - 0x25c], 1
jmp 0x1001b8f6
mov dword [ebp - 0x25c], 0
movzx eax, word [ebp - 8]
cdq
xor eax, dword [0x100ad108]
xor edx, dword [0x100ad10c]
mov dword [ebp - 0xd34], eax
mov dword [ebp - 0xd30], edx
mov eax, dword [ebp - 0xd34]
or eax, dword [ebp - 0xd30]
jne 0x1001b92d
mov dword [ebp - 0x260], 1
jmp 0x1001b937
mov dword [ebp - 0x260], 0
movsx eax, byte [0x100ad00d]
cdq
mov ecx, eax
mov esi, edx
sub ecx, dword [0x100ad150]
sbb esi, dword [0x100ad154]
movzx eax, word [ebp - 0x14]
cdq
add eax, dword [0x100ad0e8]
adc edx, dword [0x100ad0ec]
add ecx, eax
adc esi, edx
mov eax, dword [ebp - 0x25c]
xor eax, dword [ebp - 0x260]
cdq
and ecx, eax
and esi, edx
mov dword [ebp - 0xd3c], ecx
mov dword [ebp - 0xd38], esi
mov edx, dword [ebp - 0xd3c]
or edx, dword [ebp - 0xd38]
jne 0x1001b995
mov byte [ebp - 0x5f], 1
jmp 0x1001b999
mov byte [ebp - 0x5f], 0
mov al, byte [ebp - 0x5f]
mov byte [0x100ad037], al
mov ecx, 2
imul edx, ecx, 0x555a
movsx eax, word [edx + 0x100c0320]
cdq
and eax, dword [0x100ad110]
and edx, dword [0x100ad114]
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
mov eax, dword [0x100ad0a8]
sub eax, 0x7311e570
mov word [0x100ad130], ax
mov byte [ebp - 2], 0x38
mov ecx, 1
mov word [0x100ad130], cx
jmp 0x1001bace
mov edx, 8
imul eax, edx, 0x9d
mov edx, dword [ebp - 0x18]
mov cl, byte [eax + 0x100d4fe8]
shr edx, cl
mov dword [ebp - 0x18], edx
movzx eax, byte [ebp - 4]
movzx ecx, word [0x100ad120]
add eax, ecx
imul eax, dword [0x100ad0b4]
mov byte [0x100ad073], al
mov dx, word [0x100ad0cc]
sub dx, 1
mov word [0x100ad0cc], dx
movsx eax, word [0x100ad0bc]
add eax, dword [ebp - 0x18]
movsx ecx, word [0x100ad0bc]
add ecx, eax
mov word [0x100ad0bc], cx
movsx edx, word [0x100ad0c4]
xor edx, dword [ebp - 0x30]
mov dword [ebp - 0x30], edx
mov ecx, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
not ecx
not esi
xor edx, edx
sub ecx, dword [ebp - 0x18]
sbb esi, edx
mov eax, dword [ebp - 0x18]
xor edx, edx
mov edi, dword [ebp - 0x1c]
add eax, dword [ebp - 0x20]
adc edx, edi
not eax
not edx
sub ecx, eax
sbb esi, edx
movsx eax, word [0x100ad0c4]
and eax, dword [0x100ad0c8]
add eax, dword [0x100ad118]
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [ebp - 0xd44], eax
mov dword [ebp - 0xd40], edx
mov eax, dword [ebp - 0xd44]
or eax, dword [ebp - 0xd40]
jne 0x1001bac4
mov byte [ebp - 0x60], 1
jmp 0x1001bac8
mov byte [ebp - 0x60], 0
mov cl, byte [ebp - 0x60]
mov byte [ebp - 1], cl
lea edx, [ebp - 0x268]
push edx
mov eax, dword [ebp - 0x264]
push eax
call fcn.1003b910
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0x268]
push ecx
mov edx, dword [ebp - 0xe0]
push edx
push 0x27
push 0x100908c0
call fcn.100316c0
push 0x40
mov eax, dword [ebp - 0xe0]
push eax
lea ecx, [ebp - 0x187c]
push ecx
call fcn.10032110
mov byte [0x100ad043], 0x6f
mov edx, dword [str.User_is_logged_in]
mov dword [ebp - 0x1444], edx
mov eax, dword [0x100908ec]
mov dword [ebp - 0x1440], eax
mov ecx, dword [0x100908f0]
mov dword [ebp - 0x143c], ecx
mov edx, dword [0x100908f4]
mov dword [ebp - 0x1438], edx
mov ax, word [0x100908f8]
mov word [ebp - 0x1434], ax
mov cl, byte [0x100908fa]
mov byte [ebp - 0x1432], cl
lea edx, [ebp - 0x1444]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov word [0x100ad0f0], ax
movsx eax, word [0x100ad0c4]
cdq
mov ecx, eax
mov esi, edx
movsx eax, word [ebp - 0x10]
cdq
add eax, 0xac3e1428
adc edx, 0x34520
mov dword [ebp - 0xd4c], ecx
mov dword [ebp - 0xd48], esi
mov dword [ebp - 0xd54], eax
mov dword [ebp - 0xd50], edx
mov edx, dword [ebp - 0xd4c]
cmp edx, dword [ebp - 0xd54]
jne 0x1001bd22
mov eax, dword [ebp - 0xd48]
cmp eax, dword [ebp - 0xd50]
jne 0x1001bd22
mov eax, dword [ebp - 0x28]
cdq
mov ecx, dword [0x100ad148]
mov esi, dword [0x100ad14c]
add ecx, eax
adc esi, edx
mov dword [ebp - 0xd5c], ecx
mov dword [ebp - 0xd58], esi
cmp dword [ebp - 0xd5c], 1
jne 0x1001bd22
cmp dword [ebp - 0xd58], 0
jne 0x1001bd22
mov edx, dword [0x100ad0d8]
mov eax, dword [0x100ad0dc]
mov dword [ebp - 0x14d8], eax
add edx, 0xa006
mov byte [ebp - 1], dl
movsx ecx, word [ebp - 0x10]
movzx edx, word [ebp - 0x14]
not edx
imul ecx, edx
movzx eax, byte [ebp - 2]
sub ecx, eax
not ecx
mov byte [ebp - 3], cl
movzx ecx, word [ebp - 0x14]
not ecx
movzx edx, byte [str.px_04X_]
imul ecx, edx
mov byte [0x100ad073], cl
movzx eax, byte [ebp - 3]
sub eax, 0x5260
mov dword [0x100ad158], eax
movzx ecx, byte [str.px_04X_]
test ecx, ecx
jne 0x1001bc7f
xor edx, edx
mov dword [ebp - 0x97c], 1
mov dword [ebp - 0x978], edx
jmp 0x1001bc8a
xorps xmm0, xmm0
movlpd qword [ebp - 0x97c], xmm0
mov eax, dword [0x100ad10c]
mov ecx, dword [0x100ad0f8]
sub ecx, dword [0x100ad108]
mov esi, dword [0x100ad0fc]
sbb esi, eax
mov edi, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x38]
add edi, dword [ebp - 0x97c]
adc ebx, dword [ebp - 0x978]
not edi
not ebx
movsx eax, byte [0x100ad073]
cdq
sub edi, eax
sbb ebx, edx
push ebx
push edi
push esi
push ecx
call fcn.1007a8a0
mov byte [ebp - 2], al
jmp 0x1001bb16
cmp dword [ebp - 0x30], 0
jne 0x1001bd34
mov dword [ebp - 0x274], 1
jmp 0x1001bd3e
mov dword [ebp - 0x274], 0
movzx eax, word [ebp - 0x14]
cmp dword [ebp - 0x44], eax
jle 0x1001bd53
mov dword [ebp - 0x278], 1
jmp 0x1001bd5d
mov dword [ebp - 0x278], 0
movzx ecx, byte [0x100ad00f]
not ecx
test ecx, ecx
je 0x1001bd7e
movzx edx, byte [ebp - 2]
test edx, edx
je 0x1001bd7e
mov dword [ebp - 0x26c], 1
jmp 0x1001bd88
mov dword [ebp - 0x26c], 0
mov eax, dword [ebp - 0x54]
not eax
mov ecx, dword [ebp - 0x50]
not ecx
mov edx, dword [ebp - 0x18]
xor esi, esi
mov dword [ebp - 0xd64], eax
mov dword [ebp - 0xd60], ecx
mov dword [ebp - 0xd6c], edx
mov dword [ebp - 0xd68], esi
mov eax, dword [ebp - 0xd60]
cmp eax, dword [ebp - 0xd68]
ja 0x1001bdd9
jb 0x1001bdcd
mov ecx, dword [ebp - 0xd64]
cmp ecx, dword [ebp - 0xd6c]
jae 0x1001bdd9
mov dword [ebp - 0x270], 1
jmp 0x1001bde3
mov dword [ebp - 0x270], 0
mov edx, dword [ebp - 0x26c]
cmp edx, dword [ebp - 0x270]
jl 0x1001bdfd
mov dword [ebp - 0x27c], 1
jmp 0x1001be07
mov dword [ebp - 0x27c], 0
movzx eax, byte [ebp - 4]
xor eax, dword [ebp - 0x274]
imul eax, dword [ebp - 0x278]
sub eax, dword [ebp - 0x27c]
je 0x1001be5e
mov ecx, dword [ebp - 0x34]
add ecx, 0xb80c910
xor edx, edx
mov dword [0x100ad138], ecx
mov dword [0x100ad13c], edx
movsx eax, byte [0x100ad042]
add eax, 0x51276e85
movzx ecx, word [ebp - 0x14]
sub ecx, eax
mov word [ebp - 0x14], cx
xor edx, edx
mov dword [ebp - 0x4c], 0x58a1
mov dword [ebp - 0x48], edx
jmp 0x1001bf00
movsx eax, word [0x100ad0d0]
test eax, eax
je 0x1001bf00
movzx ecx, word [0x100ad0b8]
add ecx, dword [ebp - 0x34]
mov word [0x100ad130], cx
push 0
push 0xe1
mov edx, dword [ebp - 0x50]
push edx
mov eax, dword [ebp - 0x54]
push eax
call fcn.1007a8a0
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
mov eax, dword [ebp - 0x24]
not eax
cdq
mov ecx, eax
mov esi, edx
movsx eax, word [ebp - 0xc]
cdq
sub eax, dword [ebp - 0x4c]
sbb edx, dword [ebp - 0x48]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0xd74], ecx
mov dword [ebp - 0xd70], esi
mov edx, dword [ebp - 0xd74]
or edx, dword [ebp - 0xd70]
jne 0x1001bedc
mov dword [ebp - 0x280], 1
jmp 0x1001bee6
mov dword [ebp - 0x280], 0
mov eax, dword [ebp - 0x18]
not eax
mov ecx, dword [ebp - 0x280]
sub ecx, eax
mov dword [0x100ad0e0], ecx
movzx edx, word [ebp - 0x14]
mov dword [ebp - 0x40], edx
movzx eax, word [ebp - 0x187c]
cmp eax, 0x5a4d
jne 0x10020c89
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0xd7c], ecx
mov dword [ebp - 0xd78], edx
mov eax, dword [ebp - 0xd78]
cmp eax, dword [0x100ad0ec]
ja 0x1001bf47
jb 0x1001bf42
mov ecx, dword [ebp - 0xd7c]
cmp ecx, dword [0x100ad0e8]
ja 0x1001bf47
jmp 0x1001bfd7
mov edx, dword [ebp - 0x4c]
or edx, dword [ebp - 0x48]
je 0x1001bfd7
mov eax, dword [0x100ad114]
push eax
mov ecx, dword [0x100ad110]
push ecx
mov edx, dword [0x100ad154]
push edx
mov eax, dword [0x100ad150]
push eax
call fcn.1007a8a0
mov dword [ebp - 0xd84], eax
mov dword [ebp - 0xd80], edx
mov ecx, dword [ebp - 0xd84]
or ecx, dword [ebp - 0xd80]
jne 0x1001bf98
mov dword [ebp - 0x284], 1
jmp 0x1001bfa2
mov dword [ebp - 0x284], 0
movsx edx, word [0x100ad0b0]
movzx eax, byte [ebp - 2]
add edx, eax
imul edx, dword [ebp - 0x284]
mov dword [0x100ad0a8], edx
movzx ecx, byte [ebp - 3]
add ecx, dword [ebp - 0x34]
mov dword [ebp - 0x34], ecx
movsx eax, word [0x100ad0d0]
sub eax, 0x19
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movzx edx, byte [ebp - 1]
imul edx, dword [0x100ad0b4]
movzx eax, byte [ebp - 1]
add eax, edx
mov byte [ebp - 1], al
mov dword [ebp - 0x30], 0xef
movzx ecx, byte [ebp - 2]
movzx edx, byte [0x100ad00f]
sub ecx, edx
mov byte [ebp - 2], cl
mov eax, dword [ebp - 0xe0]
push eax
call fcn.10019b40
mov dword [ebp - 0xac], eax
movzx ecx, byte [0x100ad0a6]
add ecx, dword [ebp - 0x30]
movzx edx, byte [0x100ad0a6]
sub edx, ecx
mov byte [0x100ad0a6], dl
movsx eax, byte [0x100ad043]
movsx ecx, word [0x100ad0bc]
sub ecx, dword [ebp - 0x30]
not ecx
add eax, ecx
not eax
mov ecx, eax
mov esi, dword [ebp - 0x30]
mov edx, dword [0x100ad0f8]
not edx
sub esi, edx
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
xor esi, eax
add ecx, esi
not ecx
mov dword [0x100ad158], ecx
movsx eax, byte [str.ZFreeSid]
cdq
sub eax, 0x8ca2c795
sbb edx, 0xf3287
mov dword [0x100ad128], eax
mov dword [0x100ad12c], edx
mov eax, dword [ebp - 0x34]
sub eax, 0x259c
cdq
mov dword [0x100ad0f8], eax
mov dword [0x100ad0fc], edx
mov eax, dword [ebp - 0xc14]
or eax, dword [ebp - 0xc18]
cmp eax, 0xd2
je 0x1001e360
cmp dword [0x100ad0b4], 0
je 0x1001c11f
movzx ecx, word [0x100ad0b8]
sub ecx, 0x44a06987
mov dword [0x100ad0e0], ecx
cmp dword [ebp - 0x24], 0
je 0x1001c0dd
movzx edx, byte [ebp - 4]
mov dword [ebp - 0x288], edx
jmp 0x1001c0e7
movzx eax, word [ebp - 8]
mov dword [ebp - 0x288], eax
mov ecx, dword [ebp - 0x288]
mov dword [ebp - 0x18], ecx
mov dl, byte [0x100ad00d]
sub dl, 1
mov byte [0x100ad00d], dl
imul eax, dword [ebp - 0x24], 0x1c
cdq
xor eax, dword [ebp - 0x4c]
xor edx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x24]
add eax, 0x44671936
mov byte [0x100ad042], al
jmp 0x1001c156
movzx ecx, byte [0x100ad0a6]
test ecx, ecx
je 0x1001c156
movsx eax, byte [str.E2_wcsrchr]
cdq
add eax, 0xf41ce58e
mov byte [ebp - 1], al
movzx eax, byte [0x100ad072]
cdq
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov byte [0x100ad0a6], al
xor edx, edx
mov dword [0x100ad160], 0x32
mov dword [0x100ad164], edx
movsx eax, byte [0x100ad043]
cdq
mov dword [ebp - 0xd8c], eax
mov dword [ebp - 0xd88], edx
mov eax, dword [ebp - 0xd88]
cmp eax, dword [ebp - 0x50]
jb 0x1001c1a0
ja 0x1001c194
mov ecx, dword [ebp - 0xd8c]
cmp ecx, dword [ebp - 0x54]
jbe 0x1001c1a0
mov dword [ebp - 0x28c], 1
jmp 0x1001c1aa
mov dword [ebp - 0x28c], 0
movsx edx, byte [0x100ad043]
cmp edx, 0x3f
jle 0x1001c1c2
mov dword [ebp - 0x290], 1
jmp 0x1001c1cc
mov dword [ebp - 0x290], 0
mov eax, dword [ebp - 0x28c]
cmp eax, dword [ebp - 0x290]
jne 0x1001c224
push 0
push 0xae
mov ecx, dword [0x100ad0fc]
push ecx
mov edx, dword [0x100ad0f8]
push edx
call fcn.1007a8a0
mov word [0x100ad0e4], ax
movzx eax, word [0x100ad120]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14dc], eax
add ecx, edx
movzx eax, word [0x100ad120]
cdq
and eax, ecx
mov word [0x100ad120], ax
jmp 0x1001c273
movsx ecx, word [0x100ad0cc]
mov edx, dword [ebp - 0x44]
not edx
add ecx, edx
je 0x1001c273
mov eax, dword [0x100ad15c]
sub eax, 0xa535
mov byte [0x100ad037], al
mov eax, dword [ebp - 0x40]
cdq
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
mov dword [ebp - 0x14e0], edx
add eax, ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], 1
mov al, byte [0x100adbec]
mov byte [str.px_04X_], al
mov byte [ebp - 3], 0xed
mov eax, dword [ebp - 0x24]
add eax, 1
cdq
mov dword [ebp - 0xd94], eax
mov dword [ebp - 0xd90], edx
mov ecx, dword [0x100ad160]
cmp ecx, dword [ebp - 0xd94]
jne 0x1001c80c
mov edx, dword [0x100ad164]
cmp edx, dword [ebp - 0xd90]
jne 0x1001c80c
movsx eax, byte [0x100ad00e]
movzx ecx, word [ebp - 0x14]
lea edx, [ecx + eax - 0x59]
mov word [ebp - 0x14], dx
mov eax, dword [0x100ad15c]
add eax, dword [0x100ad0c8]
mov dword [0x100ad15c], eax
movzx ecx, byte [0x100ad072]
movzx edx, word [0x100ad120]
add ecx, edx
mov byte [0x100ad072], cl
mov eax, dword [ebp - 0x18]
add eax, 0x3f8853a8
mov byte [str.E2_wcsrchr], al
movzx ecx, word [ebp - 8]
mov dword [0x100ad100], ecx
movsx edx, word [ebp - 0xc]
test edx, edx
je 0x1001c603
mov eax, dword [0x100ad160]
or eax, dword [0x100ad164]
je 0x1001c5aa
call dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [0x100ad15c], eax
cmp dword [0x100ad15c], 0
je 0x1001c42e
mov ecx, dword [0x100ad0d8]
mov edx, dword [0x100ad0dc]
push edx
push ecx
mov eax, dword [ebp - 0x50]
push eax
mov ecx, dword [ebp - 0x54]
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x2c]
sub eax, 0x21926598
cdq
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x54]
or edx, dword [ebp - 0x50]
jne 0x1001c37b
xor eax, eax
mov dword [ebp - 0x98c], 1
mov dword [ebp - 0x988], eax
jmp 0x1001c386
xorps xmm0, xmm0
movlpd qword [ebp - 0x98c], xmm0
mov ecx, dword [0x100ad160]
or ecx, dword [0x100ad164]
jne 0x1001c3a8
xor edx, edx
mov dword [ebp - 0x984], 1
mov dword [ebp - 0x980], edx
jmp 0x1001c3b3
xorps xmm0, xmm0
movlpd qword [ebp - 0x984], xmm0
movzx eax, byte [ebp - 4]
not eax
movsx ecx, byte [str.E2_wcsrchr]
sub eax, ecx
movzx edx, byte [ebp - 1]
add eax, edx
cdq
mov ecx, dword [ebp - 0x4c]
xor ecx, dword [ebp - 0x984]
mov esi, dword [ebp - 0x48]
xor esi, dword [ebp - 0x980]
add ecx, dword [ebp - 0x98c]
adc esi, dword [ebp - 0x988]
xor eax, ecx
xor edx, esi
not eax
not edx
mov dword [0x100ad108], eax
mov dword [0x100ad10c], edx
mov edx, dword [ebp - 0x2c]
sub edx, 1
mov dword [ebp - 0x2c], edx
imul eax, dword [0x100ad0e0], 0x6e31
xor ecx, ecx
mov edx, dword [0x100ad110]
sub edx, eax
mov eax, dword [0x100ad114]
sbb eax, ecx
mov dword [0x100ad110], edx
mov dword [0x100ad114], eax
jmp 0x1001c5a8
movzx ecx, byte [str.px_04X_]
imul ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x1001c514
mov edx, dword [0x100ad0a8]
mov eax, dword [ebp - 0x28]
lea ecx, [eax + edx - 0xc9af]
mov dword [ebp - 0x28], ecx
mov byte [0x100ad072], 2
movzx eax, byte [0x100ad0a6]
cdq
mov edx, dword [0x100ad128]
mov ecx, dword [0x100ad12c]
mov dword [ebp - 0x14e4], ecx
xor eax, edx
mov byte [0x100ad0a6], al
movsx edx, word [0x100ad0c0]
test edx, edx
je 0x1001c49b
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x994], eax
mov dword [ebp - 0x990], ecx
jmp 0x1001c4ac
movzx eax, byte [ebp - 3]
cdq
mov dword [ebp - 0x994], eax
mov dword [ebp - 0x990], edx
mov dx, word [ebp - 0x994]
mov word [ebp - 8], dx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0xd9c], eax
mov dword [ebp - 0xd98], ecx
mov edx, dword [ebp - 0xd9c]
or edx, dword [ebp - 0xd98]
jne 0x1001c4e3
mov dword [ebp - 0x294], 1
jmp 0x1001c4ed
mov dword [ebp - 0x294], 0
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x294]
mov dword [0x100ad15c], eax
mov ecx, dword [ebp - 0x2c]
not ecx
movsx edx, byte [str.E2_wcsrchr]
imul ecx, edx
not ecx
mov byte [ebp - 2], cl
jmp 0x1001c5a8
movzx eax, word [0x100ad0ac]
test eax, eax
je 0x1001c5a8
mov ecx, 0xa5583
mov dword [0x100ad138], 0x92880dee
mov dword [0x100ad13c], ecx
movsx edx, word [ebp - 0x10]
movzx eax, word [0x100ad0f0]
movzx ecx, word [ebp - 0x14]
imul eax, ecx
add edx, eax
mov word [0x100ad0b8], dx
mov byte [str.E2_wcsrchr], 0x57
movzx edx, byte [ebp - 4]
test edx, edx
je 0x1001c578
movsx eax, word [0x100ad0d0]
cdq
mov dword [ebp - 0x99c], eax
mov dword [ebp - 0x998], edx
jmp 0x1001c58f
mov eax, dword [0x100ad0e8]
mov ecx, dword [0x100ad0ec]
mov dword [ebp - 0x99c], eax
mov dword [ebp - 0x998], ecx
mov edx, dword [ebp - 0x99c]
mov dword [0x100ad158], edx
mov eax, dword [ebp - 0x30]
imul eax, dword [0x100ad15c]
mov dword [ebp - 0x30], eax
jmp 0x1001c5fe
cmp dword [ebp - 0x40], 0
je 0x1001c5fe
mov ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x2c]
sub edx, ecx
mov dword [ebp - 0x2c], edx
movzx eax, byte [0x100ad00f]
test eax, eax
jne 0x1001c5d5
mov dword [ebp - 0x298], 1
jmp 0x1001c5df
mov dword [ebp - 0x298], 0
movsx ecx, byte [0x100ad043]
imul edx, ecx, 0
movsx eax, word [0x100ad0c0]
and eax, dword [ebp - 0x298]
add edx, eax
mov byte [0x100ad073], dl
jmp 0x1001c683
movzx eax, byte [str.px_04X_]
cdq
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 [0x100ad150]
or ecx, dword [0x100ad154]
je 0x1001c63d
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x9a4], edx
mov dword [ebp - 0x9a0], eax
jmp 0x1001c651
movsx eax, word [0x100ad11c]
cdq
mov dword [ebp - 0x9a4], eax
mov dword [ebp - 0x9a0], edx
mov cl, byte [ebp - 0x9a4]
mov byte [ebp - 2], cl
movzx eax, byte [ebp - 1]
cdq
add eax, 0x3c4aef7
mov edx, dword [0x100ad0e0]
add edx, eax
mov dword [0x100ad0e0], edx
movzx eax, word [ebp - 8]
sub eax, dword [ebp - 0x18]
movzx ecx, word [ebp - 8]
sub ecx, eax
mov word [ebp - 8], cx
movzx edx, byte [str.px_04X_]
cmp edx, 1
jne 0x1001c80c
movzx eax, word [0x100ad0b8]
sub eax, 0x3a6b2bd6
mov word [ebp - 0x10], ax
mov ecx, dword [0x100ad0d8]
mov edx, dword [0x100ad0dc]
mov dword [ebp - 0xda4], ecx
mov dword [ebp - 0xda0], edx
mov eax, dword [ebp - 0xda4]
or eax, dword [ebp - 0xda0]
jne 0x1001c6d5
mov dword [ebp - 0x29c], 1
jmp 0x1001c6df
mov dword [ebp - 0x29c], 0
mov eax, dword [0x100ad118]
sub eax, dword [ebp - 0x29c]
cdq
mov dword [0x100ad0f8], eax
mov dword [0x100ad0fc], edx
movzx eax, byte [0x100ad072]
cdq
sub eax, 0x93cbbad
sbb edx, 0x1b504
mov dword [ebp - 0xdac], eax
mov dword [ebp - 0xda8], edx
mov ecx, dword [ebp - 0xdac]
or ecx, dword [ebp - 0xda8]
jne 0x1001c72f
mov dword [ebp - 0x2a0], 1
jmp 0x1001c739
mov dword [ebp - 0x2a0], 0
movsx edx, word [0x100ad0c4]
movsx eax, word [0x100ad0cc]
add edx, eax
imul edx, dword [ebp - 0x2a0]
test edx, edx
jne 0x1001c760
mov dword [ebp - 0x2a4], 1
jmp 0x1001c76a
mov dword [ebp - 0x2a4], 0
mov ecx, dword [ebp - 0x2a4]
mov dword [0x100ad0b4], ecx
mov eax, dword [0x100ad0b4]
cdq
add eax, 0x12ee714
mov byte [ebp - 2], al
imul edx, dword [ebp - 0x34], 0xe6
mov byte [0x100ad00e], dl
movsx eax, word [0x100ad0c0]
imul ecx, eax, 0x2b6
movzx edx, byte [ebp - 1]
sub edx, ecx
mov byte [ebp - 1], dl
jmp 0x1001c80c
xor eax, eax
mov dword [0x100ad160], 0x32
mov dword [0x100ad164], eax
mov ecx, dword [0x100adbec]
mov dword [ebp - 0x18], ecx
movsx edx, word [ebp - 0xc]
imul eax, edx, 0x4781
cdq
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], edx
mov eax, 0xf5
mov word [0x100ad11c], ax
movsx eax, word [0x100ad0e4]
cdq
sub eax, 0x220f5350
mov dword [0x100ad0b4], eax
mov cx, word [0x100ad0e4]
add cx, 1
mov word [0x100ad0e4], cx
imul edx, dword [ebp - 0x18], 0xec69c0d3
movzx eax, byte [ebp - 1]
add eax, edx
mov byte [ebp - 1], al
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x30]
xor eax, ecx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], eax
movsx ecx, byte [0x100ad037]
mov edx, dword [ebp - 0x44]
xor edx, ecx
mov eax, dword [ebp - 0x44]
imul eax, edx
mov dword [ebp - 0x44], eax
movsx eax, word [0x100ad0bc]
cdq
push 0x7f195
push 0x5bc8f0df
push edx
push eax
call fcn.1007a8a0
mov byte [ebp - 4], al
cmp dword [ebp - 0xac], 0
jne 0x1001e2fa
movsx ecx, byte [0x100ad037]
test ecx, ecx
je 0x1001c8f0
movzx edx, word [0x100ad0ac]
not edx
test edx, edx
je 0x1001c8f0
mov dword [ebp - 0x2b4], 1
jmp 0x1001c8fa
mov dword [ebp - 0x2b4], 0
movsx eax, word [0x100ad0b0]
mov ecx, dword [ebp - 0x24]
sub ecx, eax
jne 0x1001c914
mov dword [ebp - 0x2b8], 1
jmp 0x1001c91e
mov dword [ebp - 0x2b8], 0
movsx edx, word [0x100ad0bc]
cmp edx, 0xfffff003
jg 0x1001c939
mov dword [ebp - 0x2b0], 1
jmp 0x1001c943
mov dword [ebp - 0x2b0], 0
mov eax, dword [0x100ad0e0]
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0xdb4], eax
mov dword [ebp - 0xdb0], ecx
mov dword [ebp - 0xdbc], edx
mov dword [ebp - 0xdb8], esi
mov eax, dword [ebp - 0xdb0]
cmp eax, dword [ebp - 0xdb8]
jb 0x1001c992
ja 0x1001c986
mov ecx, dword [ebp - 0xdb4]
cmp ecx, dword [ebp - 0xdbc]
jbe 0x1001c992
mov dword [ebp - 0x2ac], 1
jmp 0x1001c99c
mov dword [ebp - 0x2ac], 0
mov edx, dword [ebp - 0x2ac]
not edx
cmp dword [ebp - 0x2b0], edx
je 0x1001c9b8
mov dword [ebp - 0x2bc], 1
jmp 0x1001c9c2
mov dword [ebp - 0x2bc], 0
mov eax, dword [ebp - 0x2b4]
add eax, dword [ebp - 0x2b8]
add eax, dword [ebp - 0x2bc]
je 0x1001cb63
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
je 0x1001ca28
mov ecx, dword [ebp - 0xa8]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp - 0x14e8], eax
mov edx, dword [ebp - 0xa8]
push edx
call dword [sym.imp.USER32.dll_IsWindowEnabled]
mov dword [ebp - 0x14ec], eax
mov eax, dword [ebp - 0xa8]
push eax
call dword [sym.imp.USER32.dll_IsWindowUnicode]
mov dword [ebp - 0x14f0], eax
cmp dword [0x100ad100], 0
je 0x1001ca6b
mov ecx, dword [str.ibm00924]
mov dword [ebp - 0x1424], ecx
mov edx, dword [0x10090900]
mov dword [ebp - 0x1420], edx
mov al, byte [0x10090904]
mov byte [ebp - 0x141c], al
lea ecx, [ebp - 0x1424]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [0x100ad0a6], al
jmp 0x1001cb5e
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xdc4], edx
mov dword [ebp - 0xdc0], eax
cmp dword [ebp - 0xdc0], 0
ja 0x1001caa0
jb 0x1001ca94
cmp dword [ebp - 0xdc4], 0x7653
jae 0x1001caa0
mov dword [ebp - 0x2c0], 1
jmp 0x1001caaa
mov dword [ebp - 0x2c0], 0
mov eax, dword [ebp - 0x2c0]
not eax
cdq
mov ecx, dword [ebp - 0x4c]
not ecx
mov esi, dword [ebp - 0x48]
not esi
mov dword [ebp - 0xdcc], eax
mov dword [ebp - 0xdc8], edx
mov dword [ebp - 0xdd4], ecx
mov dword [ebp - 0xdd0], esi
mov edx, dword [ebp - 0xdcc]
cmp edx, dword [ebp - 0xdd4]
jne 0x1001cafd
mov eax, dword [ebp - 0xdc8]
cmp eax, dword [ebp - 0xdd0]
jne 0x1001cafd
mov dword [ebp - 0x2c4], 1
jmp 0x1001cb07
mov dword [ebp - 0x2c4], 0
mov ecx, dword [ebp - 0x2c4]
not ecx
test ecx, ecx
je 0x1001cb5e
movzx edx, byte [ebp - 1]
test edx, edx
je 0x1001cb28
mov eax, dword [0x100ad118]
mov dword [ebp - 0x2c8], eax
jmp 0x1001cb35
movzx ecx, byte [0x100ad0a6]
mov dword [ebp - 0x2c8], ecx
mov edx, dword [ebp - 0x2c8]
mov dword [ebp - 0x30], edx
mov al, byte [0x100adbec]
mov byte [str.px_04X_], al
movzx ecx, byte [0x100ad0a6]
movsx edx, word [0x100ad0b0]
and ecx, edx
mov byte [0x100ad0a6], cl
jmp 0x1001cd33
cmp dword [ebp - 0x18], 0
jne 0x1001cbad
movzx eax, word [0x100ad120]
cdq
xor eax, 0x2e9d50e0
mov byte [ebp - 3], al
mov ax, word [0x100ad11c]
sub ax, 1
mov word [0x100ad11c], ax
movzx ecx, byte [0x100ad00f]
imul edx, ecx, 0x13935a93
movzx eax, byte [ebp - 4]
sub eax, edx
mov byte [ebp - 4], al
mov cl, byte [ebp - 2]
sub cl, 1
mov byte [ebp - 2], cl
jmp 0x1001cd33
mov edx, dword [0x100ad15c]
not edx
test edx, edx
je 0x1001cc22
mov dword [ebp - 0x2c], 1
mov eax, dword [0x100ad140]
add eax, 0x8c
xor ecx, ecx
mov dword [0x100ad110], eax
mov dword [0x100ad114], ecx
movzx eax, byte [ebp - 4]
cdq
xor eax, 0x1630af9e
mov dword [0x100ad118], eax
movzx eax, word [ebp - 8]
cdq
add eax, 0x1072a2f6
mov dword [ebp - 0x40], eax
mov edx, dword [0x100ad128]
mov eax, dword [0x100ad12c]
mov dword [ebp - 0x14f4], eax
add edx, 0xac
mov word [ebp - 0xc], dx
mov cl, byte [str.E2_wcsrchr]
add cl, 1
mov byte [str.E2_wcsrchr], cl
jmp 0x1001cd33
mov edx, dword [ebp - 0x4c]
or edx, dword [ebp - 0x48]
jne 0x1001cd33
mov ax, word [0x100ad0e4]
mov byte [ebp - 3], al
movzx ecx, byte [ebp - 3]
add ecx, dword [0x100ad15c]
movzx edx, byte [ebp - 3]
sub edx, ecx
mov byte [ebp - 3], dl
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
sub eax, 0x72
sbb ecx, 0
mov dword [0x100ad138], eax
mov dword [0x100ad13c], ecx
mov edx, dword [0x100ad0e8]
or edx, dword [0x100ad0ec]
jne 0x1001cc7b
mov dword [ebp - 0x2cc], 1
jmp 0x1001cc85
mov dword [ebp - 0x2cc], 0
cmp dword [0x100ad118], 0
jne 0x1001cc9a
mov dword [ebp - 0x2d0], 1
jmp 0x1001cca4
mov dword [ebp - 0x2d0], 0
movsx eax, word [0x100ad0cc]
mov ecx, dword [ebp - 0x44]
add ecx, eax
jne 0x1001ccbe
mov dword [ebp - 0x2d4], 1
jmp 0x1001ccc8
mov dword [ebp - 0x2d4], 0
mov edx, dword [ebp - 0x2cc]
sub edx, dword [ebp - 0x18]
not edx
sub edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2d0]
imul eax, dword [ebp - 0x2d4]
sub edx, eax
mov word [0x100ad11c], dx
movsx eax, word [0x100ad0d0]
cdq
add eax, dword [ebp - 0x4c]
adc edx, dword [ebp - 0x48]
mov dword [ebp - 0xddc], eax
mov dword [ebp - 0xdd8], edx
mov ecx, dword [ebp - 0xddc]
or ecx, dword [ebp - 0xdd8]
jne 0x1001cd20
mov dword [ebp - 0x2d8], 1
jmp 0x1001cd2a
mov dword [ebp - 0x2d8], 0
mov edx, dword [ebp - 0x2d8]
mov dword [ebp - 0x24], edx
mov dword [0x100ad0c8], 0x4d
mov byte [ebp - 4], 4
movzx eax, word [0x100ad0ac]
xor eax, 0xc6c4
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov eax, 2
imul ecx, eax, 0x7d7
movsx edx, word [ecx + 0x101f0f48]
movzx eax, byte [ebp - 2]
imul eax, edx
mov byte [ebp - 2], al
mov byte [ebp - 4], 0x2d
movzx ecx, byte [ebp - 4]
mov dword [ebp - 0x2dc], ecx
cmp dword [ebp - 0x2dc], 4
ja case.default.0x1001cd91
mov edx, dword [ebp - 0x2dc]
jmp dword [edx*4 + 0x1003137c]
movsx eax, byte [str.ZFreeSid]
imul eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x18]
test eax, eax
jne 0x1001cdbf
xor ecx, ecx
mov dword [ebp - 0x9ac], 1
mov dword [ebp - 0x9a8], ecx
jmp 0x1001cdca
xorps xmm0, xmm0
movlpd qword [ebp - 0x9ac], xmm0
mov edx, dword [ebp - 0x9ac]
mov eax, dword [ebp - 0x9a8]
mov dword [0x100ad0e8], edx
mov dword [0x100ad0ec], eax
mov ecx, dword [0x100adbec]
mov dword [ebp - 0x40], ecx
mov dx, word [ebp - 8]
sub dx, 1
mov word [ebp - 8], dx
movsx eax, byte [str.E2_wcsrchr]
cdq
sub eax, 0x21b906fe
sbb edx, 0x196b9
or eax, dword [ebp - 0x54]
or edx, dword [ebp - 0x50]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
jmp case.default.0x1001cd91
mov al, byte [0x100adbec]
mov byte [0x100ad042], al
mov ecx, dword [0x100ad100]
sub ecx, 0xaa0d6090
mov dword [ebp - 0x18], ecx
cmp dword [0x100ad140], 0
jne 0x1001ce48
mov dword [ebp - 0x2e0], 1
jmp 0x1001ce52
mov dword [ebp - 0x2e0], 0
movsx edx, byte [0x100ad043]
mov eax, dword [ebp - 0x2e0]
sub eax, edx
mov dword [0x100ad0b4], eax
jmp case.default.0x1001cd91
mov eax, dword [0x100ad160]
mov edx, dword [0x100ad164]
mov cl, 5
call fcn.1007a8e0
mov dword [ebp - 0x40], eax
movsx ecx, byte [0x100ad037]
movsx edx, word [0x100ad0d0]
sub ecx, edx
movsx eax, byte [0x100ad037]
sub eax, ecx
mov byte [0x100ad037], al
movzx ecx, byte [ebp - 4]
imul edx, ecx, 0x48
movsx eax, word [0x100ad0bc]
sub eax, edx
mov word [0x100ad0bc], ax
movsx ecx, word [0x100ad0bc]
test ecx, ecx
je 0x1001cece
movzx edx, word [0x100ad120]
mov dword [ebp - 0x2e4], edx
jmp 0x1001cedb
movsx eax, word [0x100ad11c]
mov dword [ebp - 0x2e4], eax
mov cl, byte [ebp - 0x2e4]
mov byte [0x100ad072], cl
jmp case.default.0x1001cd91
movzx eax, word [0x100ad0f0]
movsx edx, word [0x100ad0c4]
or eax, edx
not eax
cdq
push edx
push eax
mov eax, dword [0x100ad13c]
push eax
mov ecx, dword [0x100ad138]
push ecx
call fcn.1007a8a0
mov word [ebp - 0x10], ax
mov edx, dword [ebp - 0x24]
and edx, dword [ebp - 0x28]
mov eax, 0x5b
sub eax, edx
mov byte [0x100ad00f], al
mov eax, dword [ebp - 0x34]
cdq
sub eax, 0xd2563406
mov dword [0x100ad0c8], eax
movzx ecx, byte [ebp - 2]
mov dword [ebp - 0x30], ecx
mov dx, word [0x100adbec]
mov word [0x100ad0e4], dx
movsx eax, word [0x100ad11c]
cdq
push 0xeb15f
push 0x58194c4d
push edx
push eax
call fcn.1007a8a0
mov dword [0x100ad0a8], eax
jmp case.default.0x1001cd91
mov eax, 4
imul ecx, eax, 0x2a4c
mov edx, dword [ecx + 0x10165c90]
xor eax, eax
push eax
push edx
mov ecx, dword [ebp - 0x48]
push ecx
mov edx, dword [ebp - 0x4c]
push edx
call fcn.1007a8a0
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movzx eax, word [0x100ad0b8]
xor eax, dword [0x100ad140]
movzx ecx, word [0x100ad0b8]
add ecx, eax
mov word [0x100ad0b8], cx
mov dx, word [0x100ad0c8]
mov word [ebp - 0xc], dx
mov eax, dword [ebp - 0x40]
sub eax, 0xf8d1
mov word [ebp - 0x10], ax
movsx ecx, byte [0x100ad073]
movsx edx, word [ebp - 0x10]
sub edx, 0x14e0c1bb
cmp ecx, edx
jne 0x1001d277
movsx eax, byte [0x100ad00d]
add eax, dword [ebp - 0x24]
cmp eax, 1
jne 0x1001d277
movsx ecx, word [0x100ad11c]
movsx edx, word [0x100ad0b0]
cmp ecx, edx
jne 0x1001d17c
movsx eax, word [0x100ad0c0]
movzx ecx, byte [0x100ad0a6]
cmp eax, ecx
jg 0x1001d0ea
mov dword [ebp - 0xe4], 0
jmp 0x1001d03b
mov edx, dword [ebp - 0xe4]
add edx, 2
mov dword [ebp - 0xe4], edx
cmp dword [ebp - 0xe4], 0xdb
jge 0x1001d0e5
mov eax, dword [ebp - 0x40]
cdq
add eax, 0x18e0eac1
adc edx, 0x7f108
mov ecx, dword [0x100ad128]
mov esi, dword [0x100ad12c]
or ecx, eax
or esi, edx
mov dword [0x100ad128], ecx
mov dword [0x100ad12c], esi
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
mov dword [ebp - 0x14f8], edx
sub ecx, 0xb978a1a
movsx eax, word [0x100ad0d0]
cdq
or eax, ecx
mov word [0x100ad0d0], ax
movzx eax, byte [0x100ad0a6]
cdq
add eax, dword [0x100ad0f8]
mov byte [0x100ad0a6], al
movsx eax, byte [0x100ad09a]
add eax, 0x58fad254
mov byte [0x100ad042], al
mov ecx, dword [0x100ad0d8]
mov edx, dword [0x100ad0dc]
add ecx, 1
adc edx, 0
mov dword [0x100ad0d8], ecx
mov dword [0x100ad0dc], edx
jmp 0x1001d02c
jmp 0x1001d177
mov eax, 0x7ce
test eax, eax
je 0x1001d177
movsx ecx, byte [str.ZFreeSid]
imul edx, ecx, 0xd5f2bc4c
not edx
mov eax, dword [0x100ad158]
sub eax, edx
not eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x14fc], esi
sub edx, ecx
movsx ecx, byte [0x100ad00d]
mov esi, dword [0x100ad140]
sub esi, ecx
add edx, esi
add eax, edx
mov dword [ebp - 0x18], eax
mov ecx, dword [0x100ad0d8]
mov edx, dword [0x100ad0dc]
mov dword [ebp - 0x1500], edx
and ecx, 0
movsx eax, byte [0x100ad043]
cdq
add eax, 0xb125171d
add ecx, eax
mov word [0x100ad0cc], cx
movsx eax, byte [0x100ad09a]
shl eax, 8
cdq
mov dword [0x100ad150], eax
mov dword [0x100ad154], edx
jmp 0x1001d208
movzx eax, byte [ebp - 3]
movzx ecx, word [0x100ad0f0]
cmp eax, ecx
jg 0x1001d208
movsx edx, word [0x100ad0c0]
xor edx, dword [ebp - 0x2c]
mov byte [0x100ad00d], dl
mov eax, dword [0x100adbec]
xor ecx, ecx
mov dword [0x100ad148], eax
mov dword [0x100ad14c], ecx
movsx eax, word [ebp - 0xc]
cdq
add eax, dword [0x100ad0f8]
adc edx, dword [0x100ad0fc]
mov dword [ebp - 0xde4], eax
mov dword [ebp - 0xde0], edx
mov edx, dword [ebp - 0xde4]
or edx, dword [ebp - 0xde0]
jne 0x1001d1e4
mov dword [ebp - 0x2e8], 1
jmp 0x1001d1ee
mov dword [ebp - 0x2e8], 0
movzx eax, byte [ebp - 3]
not eax
add eax, dword [ebp - 0x2e8]
movsx ecx, byte [0x100ad073]
sub eax, ecx
mov byte [0x100ad0a6], al
jmp 0x1001cd33
mov dword [0x100ad0b4], 1
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1504], eax
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x40], 0
jne 0x1001d2a2
mov dword [ebp - 0x2ec], 1
jmp 0x1001d2ac
mov dword [ebp - 0x2ec], 0
mov ecx, dword [0x100ad0a8]
xor ecx, dword [0x100ad100]
mov edx, dword [ebp - 0x2ec]
sub edx, ecx
jne 0x1001d2ce
mov dword [ebp - 0x2f0], 1
jmp 0x1001d2d8
mov dword [ebp - 0x2f0], 0
movzx eax, byte [ebp - 2]
add eax, dword [ebp - 0x2f0]
not eax
mov word [0x100ad0d0], ax
mov ecx, dword [0x100ad0b4]
mov dword [ebp - 0x2f4], ecx
cmp dword [ebp - 0x2f4], 0
je 0x1001d311
cmp dword [ebp - 0x2f4], 1
je 0x1001d3e3
jmp 0x1001d413
mov edx, dword [ebp - 0x18]
xor eax, eax
push 0x53286
push 0x846c6b7a
push eax
push edx
call fcn.1007a8a0
mov dword [0x100ad0f8], eax
mov dword [0x100ad0fc], edx
movzx ecx, byte [ebp - 4]
mov dword [ebp - 0x40], ecx
mov dl, byte [ebp - 4]
add dl, 1
mov byte [ebp - 4], dl
movsx eax, word [0x100ad0b0]
sub eax, 0x98b3
mov byte [0x100ad037], al
imul ecx, dword [0x100ad100], 0xd2d21bc9
xor edx, edx
mov dword [0x100ad0f8], ecx
mov dword [0x100ad0fc], edx
cmp dword [0x100ad0c8], 0
jne 0x1001d380
mov dword [ebp - 0x2f8], 1
jmp 0x1001d38a
mov dword [ebp - 0x2f8], 0
xor eax, eax
sub eax, dword [ebp - 0x34]
not eax
movzx ecx, byte [ebp - 4]
add ecx, dword [ebp - 0x28]
sub eax, ecx
mov edx, dword [ebp - 0x2f8]
add edx, 0xed
sub eax, edx
jne 0x1001d3be
xor eax, eax
mov dword [ebp - 0x9b4], 1
mov dword [ebp - 0x9b0], eax
jmp 0x1001d3c9
xorps xmm0, xmm0
movlpd qword [ebp - 0x9b4], xmm0
mov ecx, dword [ebp - 0x9b4]
mov edx, dword [ebp - 0x9b0]
mov dword [0x100ad110], ecx
mov dword [0x100ad114], edx
jmp 0x1001d413
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x1508], ecx
sub eax, 0x2ac90dcf
mov dword [ebp - 0x40], eax
mov dl, byte [0x100adbec]
mov byte [0x100ad00d], dl
movsx eax, byte [str.E2_wcsrchr]
mov ecx, dword [ebp - 0x18]
imul ecx, eax
mov dword [ebp - 0x18], ecx
mov edx, dword [0x100adbec]
mov dword [ebp - 0xe8], edx
mov al, byte [str.E2_wcsrchr]
sub al, 1
mov byte [str.E2_wcsrchr], al
movsx ecx, word [0x100ad0cc]
not ecx
sub ecx, dword [ebp - 0x44]
jne 0x1001d44d
xor edx, edx
mov dword [ebp - 0xdec], 1
mov dword [ebp - 0xde8], edx
jmp 0x1001d458
xorps xmm0, xmm0
movlpd qword [ebp - 0xdec], xmm0
mov eax, dword [0x100ad108]
mov ecx, dword [0x100ad10c]
mov dword [ebp - 0x150c], ecx
and eax, 0x5d
xor eax, dword [ebp - 0xdec]
not eax
mov word [ebp - 0xc], ax
mov edx, dword [ebp - 0x24]
add edx, 0x116d
mov word [0x100ad0cc], dx
movzx eax, word [ebp - 8]
mov ecx, dword [0x100ad0c8]
sub ecx, eax
jne 0x1001d49c
mov byte [ebp - 0x61], 1
jmp 0x1001d4a0
mov byte [ebp - 0x61], 0
mov dl, byte [ebp - 0x61]
mov byte [ebp - 2], dl
mov eax, dword [0x100ad100]
shl eax, 1
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0xe8]
add ecx, 0x3e3
mov dword [ebp - 0xc1c], ecx
mov eax, dword [ebp - 0x44]
cdq
mov dword [ebp - 0xdf4], eax
mov dword [ebp - 0xdf0], edx
mov edx, dword [0x100ad0ec]
cmp edx, dword [ebp - 0xdf0]
jb 0x1001d4fb
ja 0x1001d4ef
mov eax, dword [0x100ad0e8]
cmp eax, dword [ebp - 0xdf4]
jbe 0x1001d4fb
mov dword [ebp - 0x2fc], 1
jmp 0x1001d505
mov dword [ebp - 0x2fc], 0
cmp dword [0x100ad0ec], 0
ja 0x1001d517
cmp dword [0x100ad0e8], 0x4f
jbe 0x1001d523
mov dword [ebp - 0x300], 1
jmp 0x1001d52d
mov dword [ebp - 0x300], 0
mov ecx, dword [ebp - 0x2fc]
cmp ecx, dword [ebp - 0x300]
jg 0x1001d57b
mov edx, dword [ebp - 0x18]
xor eax, eax
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
push esi
push ecx
push eax
push edx
call fcn.1007a8a0
mov edx, dword [ebp - 0x18]
add edx, eax
mov dword [ebp - 0x18], edx
imul eax, dword [ebp - 0x18], 0x39fe
mov word [ebp - 0x14], ax
movsx ecx, word [ebp - 0xc]
sub ecx, 0x992b
mov dword [ebp - 0x2c], ecx
xor edx, edx
mov dword [ebp - 0x3c], 0xa600
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0xe8]
add eax, 0x4a6
mov dword [ebp - 0x30c], eax
movzx ecx, word [ebp - 0x14]
movsx edx, byte [0x100ad073]
add ecx, edx
movzx eax, word [ebp - 0x14]
imul eax, ecx
mov word [ebp - 0x14], ax
movsx eax, word [ebp - 0x10]
cdq
mov dword [0x100ad0d8], eax
mov dword [0x100ad0dc], edx
mov byte [0x100ad09a], 0xfa
mov eax, dword [ebp - 0x28]
cdq
and eax, 0x33fd1a31
mov dword [0x100ad100], eax
movzx eax, byte [ebp - 2]
cdq
mov ecx, dword [0x100ad148]
mov edx, dword [0x100ad14c]
mov dword [ebp - 0x1510], edx
add eax, ecx
mov byte [ebp - 2], al
mov eax, dword [ebp - 0xe8]
add eax, 0x480
mov dword [ebp - 0x1514], eax
xor ecx, ecx
mov dword [0x100ad160], 0xbf
mov dword [0x100ad164], ecx
mov edx, dword [ebp - 0x30]
add edx, 0x73b1
mov byte [ebp - 3], dl
xor eax, eax
mov dword [ebp - 0x4c], 0x74
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x28]
sar eax, 5
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov cx, word [ebp - 0x2c]
mov word [0x100ad0c0], cx
mov eax, dword [ebp - 0x28]
add eax, 0xbf
cdq
mov dword [ebp - 0xdfc], eax
mov dword [ebp - 0xdf8], edx
mov edx, dword [0x100ad160]
cmp edx, dword [ebp - 0xdfc]
jne 0x1001d72e
mov eax, dword [0x100ad164]
cmp eax, dword [ebp - 0xdf8]
jne 0x1001d72e
movzx ecx, word [0x100ad0f0]
mov edx, dword [ebp - 0x18]
add edx, 0x298a
cmp ecx, edx
jne 0x1001d72e
mov dword [ebp - 0xec], 9
movzx eax, word [0x100ad120]
mov dword [0x100ad140], eax
movsx ecx, word [0x100ad0e4]
imul ecx, dword [0x100ad140]
movsx edx, word [0x100ad0e4]
add edx, ecx
mov word [0x100ad0e4], dx
mov eax, dword [ebp - 0xec]
add eax, 1
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0x1cc3
jl 0x1001d6bc
jmp 0x1001d72e
xor edx, edx
mov dword [0x100ad160], 0xbf
mov dword [0x100ad164], edx
movsx eax, word [0x100ad11c]
cdq
mov ecx, eax
sub ecx, dword [0x100ad110]
movsx eax, word [0x100ad11c]
cdq
sub eax, ecx
mov word [0x100ad11c], ax
mov eax, dword [0x100ad148]
mov edx, dword [0x100ad14c]
mov cl, 5
call fcn.1007a8e0
mov word [0x100ad130], ax
mov dword [0x100ad0a8], 3
mov edx, dword [ebp - 0x40]
sub edx, 0xa5
imul edx, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x30]
xor ecx, ecx
xor eax, 0x3bd3b638
xor ecx, 0x7c2dc
mov dword [0x100ad148], eax
mov dword [0x100ad14c], ecx
mov edx, dword [ebp - 0x18]
sub edx, 0x6eb47d50
xor eax, eax
mov dword [0x100ad110], edx
mov dword [0x100ad114], eax
mov ecx, 2
imul edx, ecx, 0x30ac
movsx eax, word [edx + 0x100c0320]
movzx ecx, byte [str.px_04X_]
add ecx, eax
mov byte [str.px_04X_], cl
mov edx, dword [0x100ad0c8]
mov dword [ebp - 0x44], edx
mov eax, dword [0x100ad0a8]
mov dword [ebp - 0x304], eax
cmp dword [ebp - 0x304], 3
ja case.default.0x1001d80b
mov ecx, dword [ebp - 0x304]
jmp dword [ecx*4 + 0x10031390]
mov edx, dword [ebp - 0x30]
xor eax, eax
add edx, dword [ebp - 0x4c]
adc eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
push edx
push ecx
push esi
push eax
call fcn.1007a8a0
mov ecx, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
add ecx, eax
adc esi, edx
mov dword [0x100ad0d8], ecx
mov dword [0x100ad0dc], esi
mov eax, dword [ebp - 0x24]
cdq
push 0x94c14
push 0xda827d1c
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
mov eax, dword [ebp - 0x28]
cdq
add eax, ecx
mov dword [ebp - 0x28], eax
movzx edx, byte [0x100ad0a6]
movzx eax, byte [ebp - 2]
imul edx, eax
mov byte [0x100ad0a6], dl
jmp case.default.0x1001d80b
mov ecx, 1
imul edx, ecx, 0x7114
movzx eax, byte [edx + 0x100df658]
movsx ecx, word [0x100ad0e4]
or ecx, eax
mov word [0x100ad0e4], cx
movzx eax, word [ebp - 8]
cdq
push edx
push eax
mov edx, dword [0x100ad13c]
push edx
mov eax, dword [0x100ad138]
push eax
call fcn.1007a8a0
mov dword [ebp - 0xe04], eax
mov dword [ebp - 0xe00], edx
mov ecx, dword [ebp - 0xe04]
or ecx, dword [ebp - 0xe00]
jne 0x1001d8fa
xor edx, edx
mov dword [ebp - 0xe0c], 1
mov dword [ebp - 0xe08], edx
jmp 0x1001d905
xorps xmm0, xmm0
movlpd qword [ebp - 0xe0c], xmm0
mov eax, dword [ebp - 0x44]
add eax, dword [0x100ad15c]
cdq
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x1518], ecx
sub esi, eax
movsx eax, byte [0x100ad073]
cdq
mov ecx, dword [0x100ad0d8]
mov edi, dword [0x100ad0dc]
push edi
push ecx
push edx
push eax
call fcn.1007a8a0
xor eax, dword [ebp - 0xe0c]
add esi, eax
not esi
mov dword [ebp - 0x24], esi
mov edx, dword [0x100ad0e8]
add edx, dword [ebp - 0x54]
mov eax, dword [0x100ad0ec]
adc eax, dword [ebp - 0x50]
mov dword [0x100ad0e8], edx
mov dword [0x100ad0ec], eax
cmp dword [ebp - 0x30], 0
je 0x1001d977
mov ecx, dword [0x100ad118]
mov dword [ebp - 0x308], ecx
jmp 0x1001d981
movzx edx, byte [ebp - 2]
mov dword [ebp - 0x308], edx
mov al, byte [ebp - 0x308]
mov byte [ebp - 4], al
movzx ecx, word [ebp - 8]
shl ecx, 2
mov dword [ebp - 0x18], ecx
mov edx, dword [0x100adbec]
mov dword [ebp - 0x24], edx
jmp case.default.0x1001d80b
movsx eax, word [0x100ad0c0]
movzx ecx, word [ebp - 8]
not ecx
add eax, ecx
mov word [0x100ad0b0], ax
imul edx, dword [0x100ad15c], 0x82a264d3
mov byte [0x100ad073], dl
movsx eax, word [0x100ad0d0]
movsx ecx, word [0x100ad0b0]
xor eax, ecx
movsx edx, word [0x100ad0d0]
add edx, eax
mov word [0x100ad0d0], dx
movzx eax, byte [0x100ad00f]
add eax, 0xb25c
cdq
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
movsx eax, word [ebp - 0xc]
add eax, 0xd87e
mov dword [0x100ad158], eax
jmp case.default.0x1001d80b
movsx eax, byte [0x100ad00d]
movsx ecx, word [0x100ad0c4]
imul eax, ecx
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov edx, 4
imul eax, edx, 0x1122
mov ecx, dword [eax + 0x10170bc0]
mov dword [ebp - 0x2c], ecx
movsx eax, word [ebp - 0x10]
mov edx, dword [0x100ad0a8]
not edx
add eax, edx
cdq
mov ecx, eax
movzx eax, word [ebp - 8]
cdq
mov edx, dword [0x100ad0e8]
not edx
add eax, edx
or ecx, eax
mov byte [ebp - 1], cl
movsx eax, word [0x100ad0bc]
movzx ecx, byte [ebp - 3]
imul eax, ecx
cdq
mov dword [0x100ad108], eax
mov dword [0x100ad10c], edx
mov dx, word [ebp - 0xc]
sub dx, 1
mov word [ebp - 0xc], dx
movzx eax, byte [ebp - 1]
xor eax, 0xf768
mov word [0x100ad0bc], ax
mov ecx, dword [ebp - 0x30c]
add ecx, dword [ebp - 0x30c]
cmp ecx, dword [ebp - 0xc1c]
je 0x1001e2f8
mov dword [ebp - 0x34], 4
mov byte [ebp - 3], 0x72
mov edx, dword [ebp - 0x18]
xor eax, eax
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
mov dword [ebp - 0x151c], edx
add ecx, 0xe4935e5a
mov byte [0x100ad037], cl
mov eax, dword [ebp - 0x30]
add eax, 0x423610cb
mov byte [str.E2_wcsrchr], al
mov dword [ebp - 0x30], 2
mov ecx, dword [0x100ad0f8]
and ecx, 0xbb
mov edx, dword [0x100ad0fc]
and edx, 0
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x310], eax
cmp dword [ebp - 0x310], 4
ja case.default.0x1001db2f
mov ecx, dword [ebp - 0x310]
jmp dword [ecx*4 + 0x100313a0]
mov dx, word [ebp - 0x54]
mov eax, 2
imul ecx, eax, 0x21
mov word [ecx + 0x100df228], dx
movsx eax, byte [0x100ad043]
cdq
mov ecx, eax
add ecx, dword [ebp - 0x54]
movsx eax, byte [0x100ad043]
cdq
add eax, ecx
mov byte [0x100ad043], al
movzx eax, word [0x100ad120]
cdq
mov ecx, dword [0x100ad128]
mov esi, dword [0x100ad12c]
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
movzx eax, word [0x100ad120]
cdq
sub eax, ecx
mov word [0x100ad120], ax
jmp case.default.0x1001db2f
mov edx, dword [ebp - 0x34]
sub edx, 0x48f0f697
mov word [ebp - 0x14], dx
movsx eax, word [0x100ad11c]
sub eax, 0x98b4
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
cdq
add eax, 0x2d375b85
mov dword [0x100ad15c], eax
jmp case.default.0x1001db2f
movsx ecx, byte [0x100ad042]
not ecx
sub ecx, 5
movzx edx, byte [0x100ad00f]
movzx eax, byte [ebp - 3]
add edx, eax
and ecx, edx
mov word [0x100ad0d0], cx
cmp dword [ebp - 0x28], 0
je 0x1001dbfb
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x314], ecx
jmp 0x1001dc05
movsx edx, word [ebp - 0xc]
mov dword [ebp - 0x314], edx
mov al, byte [ebp - 0x314]
mov byte [ebp - 1], al
movsx ecx, byte [0x100ad042]
test ecx, ecx
jne 0x1001dc25
mov dword [ebp - 0x318], 1
jmp 0x1001dc2f
mov dword [ebp - 0x318], 0
mov edx, dword [ebp - 0x318]
add edx, dword [ebp - 0x34]
not edx
mov dword [ebp - 0x2c], edx
movsx eax, byte [str.E2_wcsrchr]
cdq
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
mov dword [ebp - 0x1520], edx
sub eax, ecx
mov dword [0x100ad140], eax
mov eax, dword [ebp - 0x24]
mov ecx, 2
shl ecx, 0
mov word [ecx + 0x101af408], ax
jmp case.default.0x1001db2f
mov edx, dword [0x100ad0e0]
xor eax, eax
mov ecx, dword [ebp - 0x50]
push ecx
mov ecx, dword [ebp - 0x54]
push ecx
push eax
push edx
call fcn.1007a8a0
mov edx, dword [0x100ad0e0]
sub edx, eax
mov dword [0x100ad0e0], edx
movzx eax, word [ebp - 8]
movsx ecx, word [0x100ad0e4]
add eax, ecx
movzx edx, word [ebp - 8]
add edx, eax
mov word [ebp - 8], dx
movsx eax, byte [0x100ad037]
test eax, eax
jne 0x1001dcc8
mov dword [ebp - 0x31c], 1
jmp 0x1001dcd2
mov dword [ebp - 0x31c], 0
movzx ecx, word [ebp - 8]
mov edx, dword [ebp - 0x31c]
sub edx, dword [ebp - 0x18]
add ecx, edx
jne 0x1001dce9
mov byte [ebp - 0x55], 1
jmp 0x1001dced
mov byte [ebp - 0x55], 0
mov al, byte [ebp - 0x55]
mov byte [ebp - 4], al
jmp case.default.0x1001db2f
movzx ecx, byte [str.px_04X_]
test ecx, ecx
jne 0x1001dd0f
mov dword [ebp - 0x320], 1
jmp 0x1001dd19
mov dword [ebp - 0x320], 0
movzx eax, word [ebp - 8]
not eax
add eax, dword [ebp - 0x2c]
xor eax, dword [ebp - 0x320]
cdq
sub eax, dword [0x100ad0f8]
mov byte [ebp - 2], al
movzx edx, byte [ebp - 1]
test edx, edx
je 0x1001dd4d
movzx eax, byte [ebp - 1]
cdq
mov dword [ebp - 0x9bc], eax
mov dword [ebp - 0x9b8], edx
jmp 0x1001dd5f
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x9bc], eax
mov dword [ebp - 0x9b8], ecx
mov dx, word [ebp - 0x9bc]
mov word [0x100ad0bc], dx
movzx eax, byte [ebp - 2]
mov ecx, dword [ebp - 0x30]
imul ecx, eax
mov edx, dword [ebp - 0x30]
add edx, ecx
mov dword [ebp - 0x30], edx
movzx eax, byte [ebp - 1]
cdq
mov ecx, dword [0x100ad154]
push ecx
mov ecx, dword [0x100ad150]
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
movzx eax, byte [ebp - 1]
cdq
sub eax, ecx
mov byte [ebp - 1], al
mov edx, dword [0x100ad118]
sub edx, 0xb2
movzx eax, word [0x100ad120]
imul eax, edx
mov word [0x100ad120], ax
xor ecx, ecx
mov dword [0x100ad110], 0xb7
mov dword [0x100ad114], ecx
movzx edx, word [ebp - 0x14]
sar edx, 4
mov word [ebp - 0x10], dx
movsx eax, byte [0x100ad00d]
movzx ecx, byte [ebp - 4]
add eax, ecx
mov byte [0x100ad00d], al
mov dl, byte [str.px_04X_]
add dl, 1
mov byte [str.px_04X_], dl
mov ax, word [0x100ad0e4]
sub ax, 1
mov word [0x100ad0e4], ax
mov byte [0x100ad0a6], 0x67
movzx ecx, byte [ebp - 2]
mov edx, 4
imul eax, edx, 0x25
mov dword [eax + 0x101ebbf8], ecx
mov ecx, dword [ebp - 0x24]
add ecx, 0x59dc75bf
cmp dword [0x100ad140], ecx
jne 0x1001df1a
movsx edx, word [0x100ad130]
add edx, dword [ebp - 0x28]
cmp edx, 1
jne 0x1001df1a
mov dword [ebp - 0xc20], 1
mov eax, dword [ebp - 0xc20]
push eax
call dword [sym.imp.USER32.dll_BeginDeferWindowPos]
mov dword [ebp - 0xc24], eax
mov ecx, dword [ebp - 0xc24]
push ecx
call dword [sym.imp.USER32.dll_EndDeferWindowPos]
mov dword [ebp - 0x1524], eax
jmp case.default.0x1001db2f
mov dword [0x100ad15c], 0x59dc75bf
mov ecx, dword [ebp - 0x18]
add ecx, 0x5e175fdf
mov word [0x100ad0b0], cx
mov edx, dword [ebp - 0x28]
sub edx, 0xf21
mov word [ebp - 0xc], dx
mov eax, 4
imul ecx, eax, 0x16da
movzx edx, word [0x100ad0f0]
add edx, dword [ecx + 0x10170bc0]
mov word [0x100ad0f0], dx
mov eax, dword [ebp - 0x40]
cdq
push 0x2df89
push 0x47adf83a
push edx
push eax
call fcn.1007a8a0
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
movsx eax, byte [0x100ad00e]
test eax, eax
je 0x1001df92
movsx ecx, word [ebp - 0xc]
mov dword [ebp - 0x328], ecx
jmp 0x1001df9c
movzx edx, byte [ebp - 4]
mov dword [ebp - 0x328], edx
mov eax, dword [ebp - 0x328]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
cdq
sub eax, 0x4d0add21
sbb edx, 0x82328
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
mov ecx, dword [ebp - 0x28]
add ecx, 1
cmp dword [0x100ad15c], ecx
jne 0x1001e1fe
mov edx, dword [ebp - 0x30]
movsx eax, word [ebp - 0x10]
lea ecx, [eax + edx - 0x7f40e7e]
mov word [ebp - 0x10], cx
mov eax, dword [ebp - 0x24]
cdq
mov ecx, dword [0x100ad128]
mov esi, dword [0x100ad12c]
xor ecx, eax
xor esi, edx
mov dword [ebp - 0xe1c], ecx
mov dword [ebp - 0xe18], esi
mov edx, dword [ebp - 0xe1c]
or edx, dword [ebp - 0xe18]
jne 0x1001e020
xor eax, eax
mov dword [ebp - 0x9c4], 1
mov dword [ebp - 0x9c0], eax
jmp 0x1001e02b
xorps xmm0, xmm0
movlpd qword [ebp - 0x9c4], xmm0
mov ecx, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
not ecx
not esi
movsx eax, word [0x100ad11c]
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov ecx, dword [ebp - 0x9c0]
push ecx
mov ecx, dword [ebp - 0x9c4]
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
mov esi, edx
mov eax, dword [0x100ad0a8]
cdq
and eax, dword [0x100ad138]
and edx, dword [0x100ad13c]
mov edi, dword [ebp - 0x38]
sub eax, dword [ebp - 0x3c]
sbb edx, edi
not eax
not edx
add ecx, eax
adc esi, edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], esi
movsx edx, byte [0x100ad00e]
sub edx, 0x57531468
mov word [0x100ad0e4], dx
mov eax, 4
imul ecx, eax, 0xea77
mov edx, dword [ecx + 0x10170bc0]
xor eax, eax
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
xor ecx, ecx
mov dword [ebp - 0x54], 2
mov dword [ebp - 0x50], ecx
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x32c], eax
cmp dword [ebp - 0x32c], 0
je 0x1001e101
mov edx, dword [ebp - 0x32c]
push edx
call dword [sym.imp.USER32.dll_GetMenu]
mov dword [ebp - 0xc28], eax
mov eax, dword [ebp - 0xc28]
push eax
call dword [sym.imp.USER32.dll_DestroyMenu]
mov dword [ebp - 0x1528], eax
cmp dword [0x100ad158], 1
jne 0x1001e1fe
mov dword [ebp - 0xc30], 0
call dword [sym.imp.USER32.dll_GetCursor]
mov dword [ebp - 0xc2c], eax
cmp dword [ebp - 0xc2c], 0
je 0x1001e140
mov ecx, dword [ebp - 0xc30]
push ecx
call dword [sym.imp.USER32.dll_GetCaretPos]
mov dword [ebp - 0x152c], eax
jmp 0x1001e1fe
mov dword [0x100ad15c], 0x59dc75bf
mov dword [ebp - 0x40], 0x4241ab2d
movzx eax, byte [ebp - 2]
shl eax, 8
cdq
mov dword [0x100ad148], eax
mov dword [0x100ad14c], edx
movzx eax, byte [ebp - 4]
movsx ecx, byte [0x100ad037]
sub eax, ecx
mov byte [ebp - 4], al
movzx eax, word [0x100ad120]
cdq
mov dword [ebp - 0xe24], eax
mov dword [ebp - 0xe20], edx
cmp dword [ebp - 0xe20], 0xf2f5c
jl 0x1001e26c
jg 0x1001e260
cmp dword [ebp - 0xe24], 0x728ead0b
jbe 0x1001e26c
mov dword [ebp - 0x338], 1
jmp 0x1001e276
mov dword [ebp - 0x338], 0
mov edx, dword [0x100ad160]
cmp edx, dword [ebp - 0x54]
jne 0x1001e297
mov eax, dword [0x100ad164]
cmp eax, dword [ebp - 0x50]
jne 0x1001e297
mov dword [ebp - 0x33c], 1
jmp 0x1001e2a1
mov dword [ebp - 0x33c], 0
mov ecx, dword [ebp - 0x338]
cmp ecx, dword [ebp - 0x33c]
je 0x1001e2bb
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov word [ebp - 0x10], ax
jmp 0x1001e2f1
xor edx, edx
mov dword [ebp - 0x54], 0x57
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x28]
add eax, 0x42d53b64
mov dword [ebp - 0x2c], eax
movzx ecx, word [0x100ad0b8]
movsx edx, byte [0x100ad073]
xor ecx, edx
movzx eax, word [0x100ad0b8]
add eax, ecx
mov word [0x100ad0b8], ax
mov dword [ebp - 0x78], 0
jmp 0x1001e360
mov ecx, dword [0x100ad160]
add ecx, 0xb6d1
mov word [ebp - 0xc], cx
mov edx, dword [0x100ad0a8]
sub edx, dword [ebp - 0x24]
mov dword [0x100ad0a8], edx
movzx eax, byte [ebp - 1]
cdq
mov ecx, dword [0x100ad108]
mov esi, dword [0x100ad10c]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x100ad108]
mov eax, dword [0x100ad10c]
and edx, ecx
and eax, esi
mov dword [0x100ad108], edx
mov dword [0x100ad10c], eax
mov ecx, dword [0x101fb594]
push ecx
mov edx, dword [ebp - 0xac]
push edx
call fcn.10006e50
mov dword [0x101fb598], eax
xor eax, eax
mov dword [0x100ad0f8], 0x6235
mov dword [0x100ad0fc], eax
cmp dword [ebp - 0x28], 0
je 0x1001e38b
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x9cc], ecx
mov dword [ebp - 0x9c8], edx
jmp 0x1001e39d
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x9cc], eax
mov dword [ebp - 0x9c8], ecx
mov dl, byte [ebp - 0x9cc]
mov byte [0x100ad00f], dl
movzx eax, byte [ebp - 1]
imul ecx, eax, 0xd2
mov byte [0x100ad00e], cl
movzx edx, byte [ebp - 2]
imul eax, edx, 0x83
mov byte [0x100ad00f], al
movzx eax, word [0x100ad0b8]
cdq
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], esi
mov edx, dword [0x100adbec]
mov dword [ebp - 0x30], edx
mov ecx, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
movsx eax, word [ebp - 0x10]
add eax, 0x49
cdq
mov dword [ebp - 0xe2c], ecx
mov dword [ebp - 0xe28], esi
mov dword [ebp - 0xe34], eax
mov dword [ebp - 0xe30], edx
mov edx, dword [ebp - 0xe2c]
cmp edx, dword [ebp - 0xe34]
jne 0x1001e5e5
mov eax, dword [ebp - 0xe28]
cmp eax, dword [ebp - 0xe30]
jne 0x1001e5e5
mov eax, dword [ebp - 0x24]
cdq
add eax, dword [0x100ad110]
adc edx, dword [0x100ad114]
mov dword [ebp - 0xe3c], eax
mov dword [ebp - 0xe38], edx
cmp dword [ebp - 0xe3c], 1
jne 0x1001e5e5
cmp dword [ebp - 0xe38], 0
jne 0x1001e5e5
movzx ecx, byte [ebp - 3]
movsx edx, word [0x100ad0c0]
cmp ecx, edx
je 0x1001e48a
mov dword [ebp - 0x340], 1
jmp 0x1001e494
mov dword [ebp - 0x340], 0
movzx eax, byte [ebp - 3]
cmp eax, 0x10
je 0x1001e4a9
mov dword [ebp - 0x344], 1
jmp 0x1001e4b3
mov dword [ebp - 0x344], 0
mov ecx, dword [ebp - 0x340]
cmp ecx, dword [ebp - 0x344]
je 0x1001e526
movsx edx, word [0x100ad0cc]
add edx, 0x8d
mov word [0x100ad0ac], dx
movsx eax, byte [0x100ad042]
sub eax, 0xd5
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x1530], edx
mov eax, 4
imul edx, eax, 0x6026
mov dword [edx + 0x10170bc0], ecx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x1534], ecx
add eax, 0xa535b95d
mov byte [ebp - 1], al
mov eax, dword [ebp - 0x40]
cdq
sub eax, 0xc09943ec
mov byte [ebp - 3], al
jmp 0x1001e5ad
movzx edx, byte [str.px_04X_]
movsx eax, word [0x100ad11c]
cmp edx, eax
jle 0x1001e5ad
movzx ecx, byte [ebp - 2]
add ecx, 0x681d78e9
mov dword [ebp - 0x44], ecx
movsx edx, word [0x100ad0c4]
not edx
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x54]
sub eax, 0xf4
mov ecx, dword [ebp - 0x50]
sbb ecx, 0
mov edx, dword [ebp - 0x30]
xor esi, esi
push ecx
push eax
push esi
push edx
call fcn.1007a8a0
mov dword [ebp - 0x30], eax
movsx eax, word [0x100ad130]
cdq
sub eax, dword [0x100ad0e8]
mov word [0x100ad130], ax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
add eax, dword [0x100ad150]
adc ecx, dword [0x100ad154]
mov edx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
or edx, eax
or esi, ecx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], esi
mov byte [0x100ad042], 8
jmp 0x1001e360
movzx eax, word [ebp - 0x14]
cdq
mov dword [ebp - 0xe44], eax
mov dword [ebp - 0xe40], edx
mov edx, dword [ebp - 0x50]
cmp edx, dword [ebp - 0xe40]
ja 0x1001e665
jb 0x1001e60e
mov eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0xe44]
ja 0x1001e665
movzx eax, byte [ebp - 2]
add eax, 0xc67a
cdq
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], esi
movzx eax, byte [ebp - 3]
cdq
add eax, 0x1cec3d0
adc edx, 0x8d687
mov ecx, dword [0x100ad108]
mov esi, dword [0x100ad10c]
add ecx, eax
adc esi, edx
mov dword [0x100ad108], ecx
mov dword [0x100ad10c], esi
mov edx, dword [ebp - 0x18]
sub edx, 0x78
mov byte [0x100ad09a], dl
jmp 0x1001e70a
movsx eax, byte [str.ZFreeSid]
test eax, eax
jne 0x1001e70a
movzx ecx, byte [0x100ad00f]
imul edx, ecx, 0xb4
mov word [0x100ad0f0], dx
movsx eax, byte [0x100ad042]
imul ecx, eax, 0x837d66a1
mov word [0x100ad11c], cx
movzx edx, byte [ebp - 1]
mov eax, dword [ebp - 0x40]
add eax, edx
add eax, dword [ebp - 0x24]
cdq
mov esi, eax
mov edi, edx
movsx eax, word [ebp - 0xc]
cdq
mov ebx, eax
mov eax, edx
movsx ecx, word [0x100ad0cc]
mov dword [ebp - 0xc34], eax
mov eax, ecx
cdq
push 0xb53ba
push 0x4e5cad9e
push edx
push eax
call fcn.1007a8a0
add ebx, eax
mov eax, dword [ebp - 0xc34]
adc eax, edx
push eax
push ebx
push edi
push esi
call fcn.1007a8a0
not eax
mov word [0x100ad0bc], ax
movsx edx, word [ebp - 0xc]
movzx eax, byte [ebp - 1]
movzx ecx, byte [ebp - 1]
not ecx
add eax, ecx
add edx, eax
mov byte [str.E2_wcsrchr], dl
mov edx, dword [ebp - 0xf0]
imul edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xc38]
imul eax, dword [ebp - 0xf0]
cmp edx, eax
je 0x10020c89
movsx eax, byte [0x100ad00e]
sub eax, dword [ebp - 0x34]
cdq
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x40], 0xbdcf
movsx ecx, byte [str.ZFreeSid]
movzx edx, byte [0x100ad072]
imul ecx, edx
mov word [0x100ad0cc], cx
movsx eax, word [0x100ad0d0]
test eax, eax
jne 0x1001e773
mov dword [ebp - 0x348], 1
jmp 0x1001e77d
mov dword [ebp - 0x348], 0
movsx ecx, byte [0x100ad09a]
imul edx, ecx, 0x40c4
mov eax, dword [ebp - 0x44]
xor eax, edx
mov ecx, dword [ebp - 0x348]
sub ecx, eax
mov word [ebp - 8], cx
movzx eax, byte [ebp - 2]
cdq
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0xe4c], eax
mov dword [ebp - 0xe48], edx
mov dword [ebp - 0xe54], ecx
mov dword [ebp - 0xe50], esi
mov edx, dword [ebp - 0xe4c]
cmp edx, dword [ebp - 0xe54]
jne 0x1001e859
mov eax, dword [ebp - 0xe48]
cmp eax, dword [ebp - 0xe50]
jne 0x1001e859
mov eax, dword [ebp - 0x2c]
not eax
cdq
mov ecx, eax
sub ecx, dword [0x100ad0e8]
movzx eax, word [0x100ad0ac]
cdq
add ecx, eax
movsx edx, word [ebp - 0x10]
sub edx, 0x79bb2861
mov eax, dword [ebp - 0x30]
mov esi, dword [0x100ad108]
mov edi, dword [0x100ad10c]
mov dword [ebp - 0x1538], edi
add esi, eax
add edx, esi
xor ecx, edx
not ecx
mov byte [ebp - 4], cl
movsx ecx, byte [str.ZFreeSid]
movzx edx, byte [0x100ad00f]
imul ecx, edx
movsx eax, byte [str.ZFreeSid]
add eax, ecx
mov byte [str.ZFreeSid], al
mov dword [0x100ad118], 4
mov eax, dword [0x100ad15c]
cdq
xor eax, 0x99de689a
mov dword [ebp - 0x30], eax
jmp 0x1001e8bd
mov byte [ebp - 2], 0xbe
mov ecx, dword [0x100ad150]
add ecx, 0x3304d656
movzx eax, byte [str.px_04X_]
cdq
sub eax, ecx
mov byte [str.px_04X_], al
movsx edx, word [ebp - 0x10]
imul eax, edx, 0x420de0f3
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movzx eax, word [ebp - 8]
add eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov ecx, dword [0x100ad0f8]
add ecx, 1
mov edx, dword [0x100ad0fc]
adc edx, 0
mov dword [0x100ad0f8], ecx
mov dword [0x100ad0fc], edx
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x40]
mov dword [ebp - 0x40], eax
mov ecx, dword [0x100adbec]
mov dword [ebp - 0xf8], ecx
mov edx, dword [0x100ad110]
or edx, dword [0x100ad114]
je 0x1001eb0f
mov byte [ebp - 3], 2
movsx eax, word [0x100ad0cc]
xor eax, 0xffffff70
movsx ecx, word [0x100ad0b0]
movsx edx, word [0x100ad0bc]
sub ecx, edx
xor eax, ecx
mov dword [ebp - 0x24], eax
mov eax, dword [0x100ad0e8]
mov edx, dword [0x100ad0ec]
mov cl, 3
call fcn.1007a9b0
mov dword [0x100ad148], eax
mov dword [0x100ad14c], edx
mov eax, dword [0x100ad100]
sub eax, 0xfbb5874
mov dword [ebp - 0x40], eax
mov ecx, 0xffffe088
mov word [ebp - 0x10], cx
mov byte [ebp - 2], 0xcc
movzx edx, word [0x100ad0ac]
mov eax, dword [ebp - 0x30]
and eax, dword [ebp - 0x24]
xor edx, eax
mov ecx, edx
movsx edx, byte [0x100ad037]
imul eax, edx, 0xfc
cdq
sub eax, dword [ebp - 0x4c]
sub ecx, eax
mov word [ebp - 8], cx
mov al, byte [ebp - 3]
mov byte [ebp - 0xf4], al
cmp byte [ebp - 0xf4], 0
je 0x1001e990
cmp byte [ebp - 0xf4], 1
je 0x1001ea49
cmp byte [ebp - 0xf4], 2
je 0x1001eac9
jmp 0x1001eb0f
movsx ecx, word [0x100ad0cc]
movsx edx, word [0x100ad11c]
sub ecx, edx
movsx eax, word [0x100ad0cc]
sub eax, ecx
mov word [0x100ad0cc], ax
movzx ecx, word [0x100ad0f0]
sub ecx, 0xfa47
movsx edx, word [0x100ad0c4]
sub edx, ecx
mov word [0x100ad0c4], dx
movsx eax, byte [0x100ad043]
cdq
and eax, dword [0x100ad0e8]
and edx, dword [0x100ad0ec]
push edx
push eax
mov eax, dword [0x100ad0ec]
push eax
mov ecx, dword [0x100ad0e8]
push ecx
call fcn.1007a8a0
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], edx
movzx edx, byte [ebp - 3]
movzx eax, byte [0x100ad00f]
add edx, eax
mov byte [ebp - 3], dl
mov eax, dword [0x100ad0c8]
cdq
push edx
push eax
mov ecx, dword [0x100ad0ec]
push ecx
mov edx, dword [0x100ad0e8]
push edx
call fcn.1007a8a0
mov ecx, dword [0x100ad0e8]
sub ecx, eax
mov eax, dword [0x100ad0ec]
sbb eax, edx
mov dword [0x100ad0e8], ecx
mov dword [0x100ad0ec], eax
jmp 0x1001eb0f
movzx ecx, byte [ebp - 3]
imul edx, ecx, 0x5f60
movsx eax, byte [0x100ad00e]
imul eax, edx
mov byte [0x100ad00e], al
mov cl, byte [0x100adbec]
mov byte [ebp - 3], cl
mov edx, dword [ebp - 0x54]
or edx, dword [ebp - 0x50]
je 0x1001ea80
mov eax, dword [0x100ad15c]
mov dword [ebp - 0x34c], eax
jmp 0x1001ea8a
movzx ecx, word [ebp - 8]
mov dword [ebp - 0x34c], ecx
mov dl, byte [ebp - 0x34c]
mov byte [0x100ad042], dl
movsx eax, byte [0x100ad09a]
imul ecx, eax, 0xd283
mov word [0x100ad0bc], cx
mov dl, byte [0x100ad0c0]
mov byte [0x100ad037], dl
mov eax, 4
shl eax, 2
mov cl, byte [eax + 0x101ebbf8]
mov byte [ebp - 3], cl
jmp 0x1001eb0f
movsx edx, word [ebp - 0xc]
imul eax, edx, 0x8355
mov byte [ebp - 4], al
movzx ecx, word [0x100ad120]
movsx edx, word [0x100ad0cc]
add ecx, edx
movzx eax, word [0x100ad120]
sub eax, ecx
mov word [0x100ad120], ax
movsx eax, word [0x100ad0d0]
cdq
add eax, dword [0x100ad160]
adc edx, dword [0x100ad164]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 0xf8]
add ecx, 0x58a
mov dword [ebp - 0x153c], ecx
movsx edx, word [0x100ad130]
add edx, 0x91
mov dword [0x100ad118], edx
cmp dword [ebp - 0x30], 0
jne 0x1001eb46
mov dword [ebp - 0x350], 1
jmp 0x1001eb50
mov dword [ebp - 0x350], 0
movzx eax, byte [ebp - 3]
movzx ecx, word [ebp - 0x14]
not ecx
sub eax, ecx
jne 0x1001eb6a
mov dword [ebp - 0x354], 1
jmp 0x1001eb74
mov dword [ebp - 0x354], 0
movsx edx, byte [0x100ad043]
xor edx, dword [ebp - 0x350]
not edx
mov eax, dword [ebp - 0x24]
sub eax, edx
mov ecx, dword [0x100ad140]
not ecx
sub ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x354]
sub edx, ecx
add eax, edx
jne 0x1001ebad
mov eax, 1
mov word [ebp - 0x92], ax
jmp 0x1001ebb6
xor ecx, ecx
mov word [ebp - 0x92], cx
mov dx, word [ebp - 0x92]
mov word [0x100ad0ac], dx
movzx eax, byte [ebp - 2]
sub eax, 0x58
mov dword [0x100ad118], eax
mov ecx, dword [ebp - 0xf8]
add ecx, 0x57e
mov dword [ebp - 0x1540], ecx
movzx edx, byte [ebp - 2]
add edx, 0x9ce1
mov dword [ebp - 0x2c], edx
movsx eax, word [0x100ad130]
imul ecx, eax, 0x9845
mov word [ebp - 0x10], cx
cmp dword [ebp - 0x24], 0
je 0x1001ec1a
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x9d4], edx
mov dword [ebp - 0x9d0], eax
jmp 0x1001ec2a
mov eax, dword [ebp - 0x44]
cdq
mov dword [ebp - 0x9d4], eax
mov dword [ebp - 0x9d0], edx
mov cx, word [ebp - 0x9d4]
mov word [ebp - 0x14], cx
mov edx, 1
imul eax, edx, 0x58ad
movzx eax, byte [eax + 0x100d57e0]
cdq
mov ecx, dword [0x100ad128]
mov esi, dword [0x100ad12c]
xor ecx, eax
xor esi, edx
mov dword [0x100ad128], ecx
mov dword [0x100ad12c], esi
mov edx, dword [0x100ad0e8]
xor edx, 0xb246
mov word [0x100ad0e4], dx
mov eax, dword [ebp - 0xf8]
add eax, 0x38c
mov dword [ebp - 0x3dc], eax
mov ecx, 0x9270
mov word [0x100ad0f0], cx
mov ecx, dword [0x100ad148]
mov esi, dword [0x100ad14c]
mov eax, dword [ebp - 0x24]
cdq
mov dword [ebp - 0xe5c], ecx
mov dword [ebp - 0xe58], esi
mov dword [ebp - 0xe64], eax
mov dword [ebp - 0xe60], edx
mov edx, dword [ebp - 0xe58]
cmp edx, dword [ebp - 0xe60]
jg 0x1001ed15
jl 0x1001ecda
mov eax, dword [ebp - 0xe5c]
cmp eax, dword [ebp - 0xe64]
jae 0x1001ed15
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 0
je 0x1001ed15
mov ecx, dword [ebp - 0xfc]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp - 0x1544], eax
mov edx, dword [ebp - 0xfc]
push edx
call dword [sym.imp.USER32.dll_ArrangeIconicWindows]
mov dword [ebp - 0x1548], eax
movzx eax, byte [str.px_04X_]
movzx ecx, word [0x100ad0f0]
add ecx, dword [ebp - 0x18]
cmp eax, ecx
jne 0x1001f72a
mov ecx, dword [0x100ad108]
mov esi, dword [0x100ad10c]
movzx eax, byte [ebp - 1]
cdq
mov dword [ebp - 0xe6c], ecx
mov dword [ebp - 0xe68], esi
mov dword [ebp - 0xe74], eax
mov dword [ebp - 0xe70], edx
mov edx, dword [ebp - 0xe68]
cmp edx, dword [ebp - 0xe70]
ja 0x1001ed81
jb 0x1001ed75
mov eax, dword [ebp - 0xe6c]
cmp eax, dword [ebp - 0xe74]
ja 0x1001ed81
mov dword [ebp - 0x358], 1
jmp 0x1001ed8b
mov dword [ebp - 0x358], 0
mov ecx, dword [0x100ad108]
mov edx, dword [0x100ad10c]
mov dword [ebp - 0xe7c], ecx
mov dword [ebp - 0xe78], edx
cmp dword [ebp - 0xe78], 0
ja 0x1001edc3
jb 0x1001edb7
cmp dword [ebp - 0xe7c], 0x32
ja 0x1001edc3
mov dword [ebp - 0x35c], 1
jmp 0x1001edcd
mov dword [ebp - 0x35c], 0
mov eax, dword [ebp - 0x358]
cmp eax, dword [ebp - 0x35c]
jl 0x1001efc6
movsx ecx, byte [0x100ad042]
cmp dword [ebp - 0x44], ecx
jne 0x1001efc4
mov byte [ebp - 1], 2
mov edx, 0xffffd3d5
mov word [ebp - 0xc], dx
mov eax, dword [ebp - 0x18]
mov ecx, dword [0x100ad108]
mov edx, dword [0x100ad10c]
mov dword [ebp - 0x154c], edx
add eax, ecx
mov ecx, dword [ebp - 0x18]
add ecx, eax
mov dword [ebp - 0x18], ecx
movsx edx, word [0x100ad0cc]
sub edx, dword [ebp - 0x24]
movsx eax, word [0x100ad0cc]
sub eax, edx
mov word [0x100ad0cc], ax
movsx ecx, byte [0x100ad00d]
add ecx, 0xddc6
mov byte [ebp - 4], cl
movsx edx, word [ebp - 0x10]
test edx, edx
jne 0x1001ee60
xor eax, eax
mov dword [ebp - 0x9dc], 1
mov dword [ebp - 0x9d8], eax
jmp 0x1001ee6b
xorps xmm0, xmm0
movlpd qword [ebp - 0x9dc], xmm0
mov ecx, dword [ebp - 0x9dc]
mov edx, dword [ebp - 0x9d8]
mov dword [0x100ad138], ecx
mov dword [0x100ad13c], edx
movsx eax, word [0x100ad130]
imul ecx, eax, 0x9f
mov dword [ebp - 0x44], ecx
mov dl, byte [ebp - 1]
mov byte [ebp - 0x100], dl
cmp byte [ebp - 0x100], 0
je 0x1001eec4
cmp byte [ebp - 0x100], 1
je 0x1001ef4a
cmp byte [ebp - 0x100], 2
je 0x1001ef79
jmp 0x1001efc4
mov dword [0x100ad100], 0x9a19878e
mov eax, 1
imul ecx, eax, 0x2b
movsx edx, byte [ecx + 0x100d5750]
mov dword [ebp - 0x34], edx
movsx eax, word [0x100ad0c4]
add eax, 0xedda
mov dword [0x100ad118], eax
mov ecx, dword [0x100ad138]
or ecx, dword [0x100ad13c]
jne 0x1001ef0b
mov dword [ebp - 0x360], 1
jmp 0x1001ef15
mov dword [ebp - 0x360], 0
movzx eax, word [0x100ad0ac]
cdq
mov ecx, eax
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x360]
cdq
mov esi, eax
mov eax, dword [ebp - 0x2c]
cdq
mov edx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x1550], edi
add edx, eax
sub esi, edx
add ecx, esi
mov word [0x100ad0bc], cx
jmp 0x1001efc4
mov eax, dword [0x100ad0f8]
xor eax, 0xf49f
mov dword [ebp - 0x44], eax
xor ecx, ecx
mov dword [0x100ad148], 0x30a6a3b8
mov dword [0x100ad14c], ecx
mov eax, dword [0x100ad0c8]
not eax
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
jmp 0x1001efc4
mov edx, dword [ebp - 0x30]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x30], edx
movzx eax, byte [ebp - 2]
add eax, 0x14e58afe
mov word [0x100ad0c0], ax
movsx eax, word [0x100ad0e4]
cdq
push 0xe5b72
push 0x7d255ea2
push edx
push eax
call fcn.1007a8a0
mov word [ebp - 0xc], ax
movzx eax, byte [ebp - 3]
movsx ecx, word [ebp - 0xc]
sub eax, ecx
cdq
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
jmp 0x1001f044
movsx edx, word [0x100ad0cc]
shl edx, 8
mov byte [0x100ad00f], dl
imul eax, dword [0x100ad0c8], 0x126b
movsx ecx, word [0x100ad130]
imul ecx, eax
mov word [0x100ad130], cx
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
add edx, 0x96
adc eax, 0
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x2c]
cdq
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
add edx, ecx
adc eax, esi
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], eax
mov ecx, 4
imul edx, ecx, 0x6d
mov eax, dword [edx + 0x100c0050]
xor ecx, ecx
mov dword [0x100ad0f8], eax
mov dword [0x100ad0fc], ecx
mov edx, 4
mov word [0x100ad0c4], dx
movzx eax, byte [0x100ad00f]
mov ecx, dword [ebp - 0x30]
sub ecx, eax
mov edx, dword [ebp - 0x30]
imul edx, ecx
mov dword [ebp - 0x30], edx
mov ax, word [0x100adbec]
mov word [0x100ad130], ax
movzx eax, byte [0x100ad0a6]
movzx ecx, byte [ebp - 1]
imul eax, ecx
cdq
mov esi, eax
movsx eax, byte [0x100ad00e]
cdq
mov ecx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x1c]
push edi
push ecx
push edx
push eax
call fcn.1007a8a0
xor esi, eax
mov word [0x100ad0bc], si
mov edx, dword [0x100ad0e0]
sub edx, 0x66f27c8b
jne 0x1001f0bc
mov dword [ebp - 0x364], 1
jmp 0x1001f0c6
mov dword [ebp - 0x364], 0
movsx eax, byte [str.ZFreeSid]
not eax
sub eax, 0x3cc06ab7
jne 0x1001f0e2
mov dword [ebp - 0x368], 1
jmp 0x1001f0ec
mov dword [ebp - 0x368], 0
mov ecx, dword [ebp - 0x364]
sub ecx, dword [ebp - 0x368]
jne 0x1001f106
mov dword [ebp - 0x370], 1
jmp 0x1001f110
mov dword [ebp - 0x370], 0
mov edx, dword [0x100ad138]
or edx, dword [0x100ad13c]
jne 0x1001f12a
mov dword [ebp - 0x36c], 1
jmp 0x1001f134
mov dword [ebp - 0x36c], 0
movsx eax, byte [str.E2_wcsrchr]
add eax, dword [ebp - 0x36c]
movzx ecx, word [0x100ad0f0]
or eax, ecx
jne 0x1001f158
mov dword [ebp - 0x374], 1
jmp 0x1001f162
mov dword [ebp - 0x374], 0
mov edx, dword [ebp - 0x370]
imul edx, dword [ebp - 0x374]
not edx
mov dword [ebp - 0x34], edx
mov al, byte [0x100ad00d]
sub al, 1
mov byte [0x100ad00d], al
movzx ecx, byte [ebp - 3]
mov edx, 0xe5
sub edx, ecx
jne 0x1001f1a1
xor eax, eax
mov dword [ebp - 0x9e4], 1
mov dword [ebp - 0x9e0], eax
jmp 0x1001f1ac
xorps xmm0, xmm0
movlpd qword [ebp - 0x9e4], xmm0
movsx ecx, word [0x100ad0b0]
add ecx, 0x61ac56cc
movzx edx, byte [0x100ad0a6]
sub ecx, edx
not ecx
xor esi, esi
movsx eax, word [ebp - 0x10]
cdq
mov edi, dword [0x100ad0d8]
mov ebx, dword [0x100ad0dc]
sub edi, eax
sbb ebx, edx
add edi, dword [ebp - 0x9e4]
adc ebx, dword [ebp - 0x9e0]
not edi
not ebx
add ecx, edi
adc esi, ebx
mov dword [ebp - 0xe84], ecx
mov dword [ebp - 0xe80], esi
mov eax, dword [ebp - 0xe84]
or eax, dword [ebp - 0xe80]
jne 0x1001f215
mov dword [ebp - 0x378], 1
jmp 0x1001f21f
mov dword [ebp - 0x378], 0
mov ecx, dword [ebp - 0x378]
mov dword [0x100ad158], ecx
movsx edx, word [0x100ad0c4]
mov dword [ebp - 0x37c], edx
cmp dword [ebp - 0x37c], 4
ja case.default.0x1001f24b
mov eax, dword [ebp - 0x37c]
jmp dword [eax*4 + 0x100313b4]
movzx ecx, byte [ebp - 2]
imul edx, ecx, 0x16ce60d6
mov dword [ebp - 0x24], edx
mov eax, dword [0x100ad0a8]
add eax, 0x99
mov dword [0x100ad100], eax
movsx eax, byte [0x100ad00e]
cdq
mov ecx, eax
xor ecx, 0xb404432e
mov eax, dword [0x100ad0c8]
cdq
sub eax, ecx
mov dword [0x100ad0c8], eax
mov edx, dword [0x100adbec]
xor eax, eax
mov dword [0x100ad0d8], edx
mov dword [0x100ad0dc], eax
mov ecx, dword [ebp - 0x40]
sub ecx, dword [0x100ad0e0]
jne 0x1001f2b5
mov dword [ebp - 0x380], 1
jmp 0x1001f2bf
mov dword [ebp - 0x380], 0
mov edx, dword [ebp - 0x380]
and edx, 0
jne 0x1001f2d8
mov eax, 1
mov word [ebp - 0x94], ax
jmp 0x1001f2e1
xor ecx, ecx
mov word [ebp - 0x94], cx
mov dx, word [ebp - 0x94]
mov word [0x100ad0b8], dx
movsx eax, word [0x100ad11c]
mov ecx, dword [ebp - 0x44]
and ecx, eax
mov dword [ebp - 0x44], ecx
jmp case.default.0x1001f24b
movsx eax, word [0x100ad0d0]
cdq
mov ecx, eax
sub ecx, dword [0x100ad160]
movsx eax, word [0x100ad0d0]
cdq
and eax, ecx
mov word [0x100ad0d0], ax
xor edx, edx
mov eax, dword [ebp - 0x4c]
sub eax, dword [0x100ad100]
mov ecx, dword [ebp - 0x48]
sbb ecx, edx
or eax, dword [ebp - 0x4c]
or ecx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
movzx eax, byte [0x100ad0a6]
cdq
add eax, 0x6218499f
mov byte [ebp - 2], al
jmp case.default.0x1001f24b
movzx eax, word [ebp - 8]
cdq
mov ecx, eax
sub ecx, dword [0x100ad150]
movzx eax, word [ebp - 8]
cdq
sub eax, ecx
mov word [ebp - 8], ax
movzx eax, word [ebp - 0x14]
cdq
mov ecx, eax
xor ecx, dword [ebp - 0x54]
movzx eax, word [ebp - 0x14]
cdq
add eax, ecx
mov word [ebp - 0x14], ax
movzx eax, word [0x100ad0f0]
cdq
add eax, 0x6e70ff21
adc edx, 0xb4403
mov dword [ebp - 0xe8c], eax
mov dword [ebp - 0xe88], edx
mov edx, dword [ebp - 0xe8c]
or edx, dword [ebp - 0xe88]
jne 0x1001f3ba
mov dword [ebp - 0x384], 1
jmp 0x1001f3c4
mov dword [ebp - 0x384], 0
movsx eax, byte [str.E2_wcsrchr]
movzx ecx, byte [ebp - 2]
sub eax, ecx
mov edx, dword [ebp - 0x384]
sub edx, eax
mov eax, edx
cdq
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
movzx eax, word [ebp - 8]
sub eax, 0x4f
mov dword [ebp - 0x24], eax
movsx ecx, word [ebp - 0x10]
test ecx, ecx
jne 0x1001f400
mov dword [ebp - 0x388], 1
jmp 0x1001f40a
mov dword [ebp - 0x388], 0
movsx eax, byte [0x100ad00d]
add eax, dword [ebp - 0x388]
cdq
mov ecx, eax
movzx eax, byte [ebp - 1]
cdq
mov edx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x1554], esi
sub edx, eax
sub ecx, edx
mov word [0x100ad0b0], cx
mov eax, dword [0x100ad0a8]
add eax, dword [ebp - 0x34]
mov ecx, dword [0x100ad0a8]
add ecx, eax
mov dword [0x100ad0a8], ecx
jmp case.default.0x1001f24b
mov edx, dword [ebp - 0x34]
add edx, 0x2b79
mov eax, dword [ebp - 0x30]
imul eax, dword [ebp - 0x34]
not eax
imul edx, eax
test edx, edx
jne 0x1001f476
mov dword [ebp - 0x390], 1
jmp 0x1001f480
mov dword [ebp - 0x390], 0
movzx ecx, word [ebp - 8]
test ecx, ecx
jne 0x1001f494
mov dword [ebp - 0x38c], 1
jmp 0x1001f49e
mov dword [ebp - 0x38c], 0
movsx edx, word [0x100ad130]
imul edx, dword [0x100ad158]
sub edx, dword [ebp - 0x38c]
xor edx, dword [ebp - 0x390]
jne 0x1001f4c8
mov eax, 1
mov word [ebp - 0x96], ax
jmp 0x1001f4d1
xor ecx, ecx
mov word [ebp - 0x96], cx
mov dx, word [ebp - 0x96]
mov word [0x100ad0ac], dx
movzx eax, word [0x100ad0b8]
imul ecx, eax, 0xcd
mov edx, dword [0x100ad118]
add edx, ecx
mov dword [0x100ad118], edx
movsx eax, word [0x100ad0cc]
sub eax, 0x6c0c57b1
mov word [0x100ad11c], ax
cmp dword [ebp - 0x34], 0
jne 0x1001f51e
mov dword [ebp - 0x394], 1
jmp 0x1001f528
mov dword [ebp - 0x394], 0
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
sub ecx, dword [0x100ad0e8]
sbb edx, dword [0x100ad0ec]
mov eax, dword [ebp - 0x394]
sub eax, dword [0x100ad0e0]
xor esi, esi
add ecx, eax
adc edx, esi
push 0
push 0xfd
push edx
push ecx
call fcn.1007a8a0
not eax
not edx
mov dword [0x100ad0f8], eax
mov dword [0x100ad0fc], edx
jmp case.default.0x1001f24b
mov ecx, dword [0x100adbec]
xor edx, edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], edx
mov ax, word [0x100adbec]
mov word [0x100ad0cc], ax
movzx eax, word [0x100ad0b8]
cdq
sub eax, dword [0x100ad0e8]
mov word [0x100ad0b8], ax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x1558], edx
sub ecx, 0x75
mov word [ebp - 0x14], cx
mov eax, dword [0x100adbec]
xor ecx, ecx
mov dword [0x100ad128], eax
mov dword [0x100ad12c], ecx
mov ecx, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
mov eax, dword [ebp - 0x24]
cdq
add eax, 0x9cac729b
adc edx, 0x5ed5e
mov dword [ebp - 0xe94], ecx
mov dword [ebp - 0xe90], esi
mov dword [ebp - 0xe9c], eax
mov dword [ebp - 0xe98], edx
mov edx, dword [ebp - 0xe94]
cmp edx, dword [ebp - 0xe9c]
jne 0x1001f72a
mov eax, dword [ebp - 0xe90]
cmp eax, dword [ebp - 0xe98]
jne 0x1001f72a
movzx ecx, word [0x100ad0ac]
test ecx, ecx
je 0x1001f639
mov edx, dword [0x100ad128]
mov eax, dword [0x100ad12c]
mov dword [ebp - 0x9ec], edx
mov dword [ebp - 0x9e8], eax
jmp 0x1001f64a
mov ecx, dword [ebp - 0x30]
xor edx, edx
mov dword [ebp - 0x9ec], ecx
mov dword [ebp - 0x9e8], edx
mov ax, word [ebp - 0x9ec]
mov word [0x100ad0f0], ax
mov ecx, dword [0x100ad118]
imul ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x28]
sub edx, ecx
mov dword [ebp - 0x28], edx
jmp 0x1001ec88
mov byte [str.px_04X_], 0x9b
mov ecx, 2
imul edx, ecx, 0x88
movzx eax, word [edx + 0x101ebdf8]
movzx ecx, byte [ebp - 1]
add ecx, eax
mov byte [ebp - 1], cl
mov dword [ebp - 0x28], 0xb2639571
mov dword [ebp - 0x18], 0x4b
movzx edx, word [0x100ad0f0]
movzx eax, byte [str.px_04X_]
add eax, dword [ebp - 0x24]
cmp edx, eax
jne 0x1001fad7
mov ecx, dword [0x100adbec]
mov dword [0x100ad0c8], ecx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x155c], eax
add edx, 0xdb
mov byte [0x100ad00d], dl
imul ecx, dword [0x100ad0e0], 0x1bd681dd
mov dword [ebp - 0x2c], ecx
movzx eax, byte [ebp - 3]
sar eax, 2
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov edx, 0xc9167
mov dword [ebp - 0x54], 0x371fc1f9
mov dword [ebp - 0x50], edx
movsx eax, word [0x100ad11c]
cmp eax, dword [ebp - 0x2c]
jle 0x1001f814
mov ecx, dword [0x100adbec]
mov dword [ebp - 0x34], ecx
mov byte [ebp - 2], 0x38
movzx edx, byte [0x100ad0a6]
sub edx, 0xbd45148
xor eax, eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], eax
movzx eax, byte [ebp - 3]
cdq
add eax, dword [ebp - 0x4c]
adc edx, dword [ebp - 0x48]
push edx
push eax
mov ecx, dword [ebp - 0x48]
push ecx
mov edx, dword [ebp - 0x4c]
push edx
call fcn.1007a8a0
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
jmp 0x1001f952
movsx eax, byte [0x100ad09a]
test eax, eax
je 0x1001f915
movzx ecx, byte [0x100ad072]
test ecx, ecx
jne 0x1001f83a
mov dword [ebp - 0x39c], 1
jmp 0x1001f844
mov dword [ebp - 0x39c], 0
movzx edx, byte [0x100ad00f]
test edx, edx
jne 0x1001f85b
mov dword [ebp - 0x398], 1
jmp 0x1001f865
mov dword [ebp - 0x398], 0
movsx eax, word [ebp - 0xc]
mov ecx, dword [ebp - 0x398]
sub ecx, eax
jne 0x1001f87f
mov dword [ebp - 0x3a0], 1
jmp 0x1001f889
mov dword [ebp - 0x3a0], 0
movzx edx, byte [ebp - 4]
imul edx, dword [ebp - 0x39c]
not edx
sub edx, dword [ebp - 0x3a0]
movzx eax, word [0x100ad0b8]
movsx ecx, byte [0x100ad073]
xor eax, ecx
add eax, dword [0x100ad0b4]
imul edx, eax
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x30], 0x8c
mov eax, dword [ebp - 0x34]
cdq
mov ecx, dword [ebp - 0x48]
push ecx
mov ecx, dword [ebp - 0x4c]
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
mov eax, dword [ebp - 0x34]
cdq
add eax, ecx
mov dword [ebp - 0x34], eax
mov edx, 2
imul eax, edx, 0x54
movsx ecx, word [eax + 0x100df3a0]
mov edx, dword [ebp - 0x40]
imul edx, ecx
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x28]
cdq
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
mov eax, dword [ebp - 0x28]
cdq
sub eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x1001f952
movzx edx, byte [ebp - 2]
test edx, edx
je 0x1001f952
mov eax, dword [ebp - 0x30]
sub eax, 0x479078a8
mov byte [0x100ad073], al
mov eax, dword [0x100ad150]
mov edx, dword [0x100ad154]
mov cl, 4
call fcn.1007a900
mov dword [ebp - 0x28], eax
movzx ecx, word [ebp - 0x14]
movzx edx, word [ebp - 8]
lea eax, [edx + ecx + 0x3ed4381d]
mov word [ebp - 8], ax
movsx ecx, byte [0x100ad042]
mov edx, dword [ebp - 0x18]
add edx, 0x416d9270
cmp ecx, edx
jne 0x1001fad7
cmp dword [ebp - 0x18], 0
jne 0x1001f97c
mov dword [ebp - 0x3a8], 1
jmp 0x1001f986
mov dword [ebp - 0x3a8], 0
mov eax, dword [0x100ad0e8]
or eax, dword [0x100ad0ec]
jne 0x1001f99f
mov dword [ebp - 0x3a4], 1
jmp 0x1001f9a9
mov dword [ebp - 0x3a4], 0
movsx ecx, word [0x100ad0c0]
mov edx, dword [ebp - 0x3a4]
sub edx, ecx
jne 0x1001f9c6
mov dword [ebp - 0x3ac], 1
jmp 0x1001f9d0
mov dword [ebp - 0x3ac], 0
mov ecx, dword [0x100ad108]
mov edx, dword [0x100ad10c]
mov dword [ebp - 0x1560], edx
not ecx
movsx eax, byte [0x100ad00d]
cdq
or ecx, eax
not ecx
movzx eax, byte [ebp - 3]
imul eax, dword [ebp - 0x28]
cdq
xor ecx, eax
mov eax, dword [ebp - 0x3a8]
sub eax, dword [ebp - 0x3ac]
cdq
sub ecx, eax
not ecx
mov word [0x100ad0f0], cx
mov byte [ebp - 1], 0x77
movzx ecx, word [0x100ad0ac]
imul ecx, dword [ebp - 0x34]
mov word [0x100ad0ac], cx
mov edx, dword [0x100ad140]
add edx, 0x55
mov word [0x100ad0d0], dx
jmp 0x1001f72a
mov dword [ebp - 0x24], 1
mov eax, dword [0x100adbec]
xor ecx, ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ecx
mov edx, dword [0x100ad0e0]
add edx, 0xf84f8699
mov byte [str.px_04X_], dl
movsx eax, byte [0x100ad037]
movsx ecx, word [0x100ad0b0]
or eax, ecx
jne 0x1001fb1b
mov dword [ebp - 0x3b4], 1
jmp 0x1001fb25
mov dword [ebp - 0x3b4], 0
movsx edx, word [0x100ad0b0]
movsx eax, byte [str.ZFreeSid]
not eax
sub edx, eax
add edx, dword [0x100ad100]
movzx ecx, byte [ebp - 2]
add ecx, dword [ebp - 0x3b4]
xor edx, ecx
mov word [ebp - 0x10], dx
movsx edx, byte [str.E2_wcsrchr]
sar edx, 2
mov byte [0x100ad037], dl
movsx eax, byte [0x100ad042]
not eax
imul eax, dword [0x100ad158]
movzx ecx, byte [ebp - 1]
add eax, ecx
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x3b8], edx
cmp dword [ebp - 0x3b8], 0
je 0x1001fb9a
cmp dword [ebp - 0x3b8], 1
je 0x1001fbc8
jmp 0x1001fc20
mov byte [0x100ad043], 4
movzx eax, byte [ebp - 2]
cdq
mov ecx, eax
movsx eax, word [0x100ad0c4]
not eax
cdq
add eax, dword [0x100ad0e8]
add ecx, eax
mov byte [ebp - 4], cl
mov edx, 0x330b
mov word [ebp - 8], dx
jmp 0x1001fc20
mov dword [0x100ad118], 8
movzx eax, byte [ebp - 1]
add eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x2c]
sub ecx, eax
mov dword [ebp - 0x2c], ecx
mov byte [ebp - 3], 0x21
movsx edx, word [0x100ad0b0]
movzx eax, byte [ebp - 2]
sub edx, eax
movsx ecx, word [0x100ad0b0]
or ecx, edx
mov word [0x100ad0b0], cx
mov edx, 2
imul eax, edx, 0x12
movzx ecx, word [eax + 0x101af408]
movzx edx, byte [0x100ad0a6]
or edx, ecx
mov byte [0x100ad0a6], dl
cmp dword [0x101fb598], 0
jne 0x100202c3
mov dword [ebp - 0x104], 0
jmp 0x1001fc48
mov eax, dword [ebp - 0x104]
add eax, 1
mov dword [ebp - 0x104], eax
cmp dword [ebp - 0x104], 0x365
jge 0x1001fc98
mov cx, word [ebp - 0x2c]
mov word [0x100ad0b8], cx
mov edx, 4
imul eax, edx, 0x353
mov ecx, dword [eax + 0x10165c90]
xor edx, edx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], edx
movzx eax, byte [ebp - 4]
cdq
add eax, 0xf2d563da
mov word [ebp - 0xc], ax
mov ax, word [0x100ad120]
add ax, 1
mov word [0x100ad120], ax
jmp 0x1001fc39
mov ecx, dword [ebp - 0xac]
push ecx
call fcn.10006de0
xor edx, edx
mov dword [0x100ad160], 0x8297
mov dword [0x100ad164], edx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov edx, dword [0x100ad140]
xor esi, esi
mov dword [ebp - 0xebc], eax
mov dword [ebp - 0xeb8], ecx
mov dword [ebp - 0xec4], edx
mov dword [ebp - 0xec0], esi
mov eax, dword [ebp - 0xebc]
cmp eax, dword [ebp - 0xec4]
jne 0x1001fcf8
mov ecx, dword [ebp - 0xeb8]
cmp ecx, dword [ebp - 0xec0]
je 0x1001fd04
mov dword [ebp - 0x3bc], 1
jmp 0x1001fd0e
mov dword [ebp - 0x3bc], 0
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0xecc], edx
mov dword [ebp - 0xec8], eax
cmp dword [ebp - 0xecc], 0x3f
jne 0x1001fd32
cmp dword [ebp - 0xec8], 0
je 0x1001fd3e
mov dword [ebp - 0x3c0], 1
jmp 0x1001fd48
mov dword [ebp - 0x3c0], 0
mov ecx, dword [ebp - 0x3bc]
cmp ecx, dword [ebp - 0x3c0]
jg 0x1001ff50
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x3c4], eax
cmp dword [ebp - 0x3c4], 0
je 0x1001fd95
mov edx, dword [ebp - 0x3c4]
push edx
call dword [sym.imp.USER32.dll_GetMenu]
mov dword [ebp - 0xc3c], eax
mov eax, dword [ebp - 0xc3c]
push eax
call dword [sym.imp.USER32.dll_DestroyMenu]
mov dword [ebp - 0x1564], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0xed4], ecx
mov dword [ebp - 0xed0], edx
mov eax, dword [ebp - 0xed4]
or eax, dword [ebp - 0xed0]
je 0x1001fdc1
mov dword [ebp - 0x3c8], 1
jmp 0x1001fdcb
mov dword [ebp - 0x3c8], 0
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0xedc], ecx
mov dword [ebp - 0xed8], edx
cmp dword [ebp - 0xedc], 0x17
jne 0x1001fdef
cmp dword [ebp - 0xed8], 0
je 0x1001fdfb
mov dword [ebp - 0x3cc], 1
jmp 0x1001fe05
mov dword [ebp - 0x3cc], 0
mov eax, dword [ebp - 0x3c8]
cmp eax, dword [ebp - 0x3cc]
jg 0x1001fee2
mov dword [ebp - 0x108], 0
jmp 0x1001fe32
mov ecx, dword [ebp - 0x108]
add ecx, 2
mov dword [ebp - 0x108], ecx
cmp dword [ebp - 0x108], 4
jge 0x1001fee0
mov eax, dword [ebp - 0x44]
cdq
add eax, dword [0x100ad160]
adc edx, dword [0x100ad164]
or eax, dword [0x100ad160]
or edx, dword [0x100ad164]
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
movsx edx, word [0x100ad0d0]
shl edx, 5
mov dword [ebp - 0x18], edx
mov eax, 0xa
mov word [0x100ad0c4], ax
movsx eax, byte [str.ZFreeSid]
cdq
push 0xe0185
push 0xd15ec562
push edx
push eax
call fcn.1007a8a0
mov byte [0x100ad09a], al
movsx ecx, byte [str.E2_wcsrchr]
test ecx, ecx
je 0x1001feb6
movsx edx, word [0x100ad0c0]
mov dword [ebp - 0x3d0], edx
jmp 0x1001fec3
movsx eax, byte [0x100ad073]
mov dword [ebp - 0x3d0], eax
mov ecx, dword [ebp - 0x3d0]
mov dword [0x100ad0a8], ecx
mov dx, word [ebp - 0x10]
add dx, 1
mov word [ebp - 0x10], dx
jmp 0x1001fe23
jmp 0x1001ff4e
movsx eax, word [ebp - 0xc]
sub eax, 0xcc
cdq
add eax, dword [0x100ad0f8]
adc edx, dword [0x100ad0fc]
mov dword [0x100ad0f8], eax
mov dword [0x100ad0fc], edx
movzx eax, byte [ebp - 1]
cdq
push edx
push eax
mov eax, dword [ebp - 0x50]
push eax
mov ecx, dword [ebp - 0x54]
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov edx, dword [ebp - 0x18]
xor eax, eax
push eax
push edx
mov ecx, dword [0x100ad154]
push ecx
mov edx, dword [0x100ad150]
push edx
call fcn.1007a8a0
and eax, dword [0x100ad150]
and edx, dword [0x100ad154]
mov dword [0x100ad150], eax
mov dword [0x100ad154], edx
jmp 0x1001ffa5
mov eax, dword [0x100ad108]
mov ecx, dword [0x100ad10c]
mov dword [ebp - 0x1568], ecx
add eax, 0x30f9249d
mov word [ebp - 0x14], ax
mov edx, 2
imul eax, edx, 0xae
movsx ecx, word [eax + 0x100df228]
mov dword [ebp - 0x30], ecx
mov edx, dword [0x100ad128]
mov eax, dword [0x100ad12c]
mov dword [ebp - 0x156c], eax
mov byte [ebp - 3], dl
movsx ecx, word [ebp - 0xc]
mov dword [ebp - 0x30], ecx
mov dx, word [0x100ad0c0]
mov word [ebp - 0x10], dx
movzx eax, byte [ebp - 1]
add eax, 0x8297
cdq
mov dword [ebp - 0xee4], eax
mov dword [ebp - 0xee0], edx
mov eax, dword [0x100ad160]
cmp eax, dword [ebp - 0xee4]
jne 0x1002018b
mov ecx, dword [0x100ad164]
cmp ecx, dword [ebp - 0xee0]
jne 0x1002018b
movsx eax, word [0x100ad0b0]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x24]
cdq
add eax, 0x42abaf77
adc edx, 0xed72e
mov dword [ebp - 0xeec], ecx
mov dword [ebp - 0xee8], esi
mov dword [ebp - 0xef4], eax
mov dword [ebp - 0xef0], edx
mov edx, dword [ebp - 0xeec]
cmp edx, dword [ebp - 0xef4]
jne 0x1002018b
mov eax, dword [ebp - 0xee8]
cmp eax, dword [ebp - 0xef0]
jne 0x1002018b
mov dword [ebp - 0x34], 0
imul ecx, dword [0x100ad140], 0x2a38a2ee
mov word [0x100ad0b0], cx
movzx eax, word [0x100ad120]
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
movsx eax, word [ebp - 0x10]
add eax, 0x30
cdq
mov dword [0x100ad108], eax
mov dword [0x100ad10c], edx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0xc40], ecx
cmp dword [ebp - 0xc40], 0
je 0x10020096
jmp 0x100200af
mov dl, byte [0x100adbec]
mov byte [0x100ad09a], dl
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
mov byte [ebp - 2], 4
jmp 0x1002018b
xor edx, edx
mov dword [0x100ad160], 0x8297
mov dword [0x100ad164], edx
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
add ecx, eax
mov dword [ebp - 0x30], ecx
movsx edx, word [0x100ad0bc]
sub edx, dword [ebp - 0x28]
mov word [0x100ad0bc], dx
movzx eax, word [0x100ad0ac]
movsx ecx, word [0x100ad0d0]
imul eax, ecx
movzx edx, word [0x100ad0ac]
or edx, eax
mov word [0x100ad0ac], dx
cmp dword [ebp - 0x18], 0
jne 0x100201ef
mov dword [ebp - 0x3d4], 1
jmp 0x100201f9
mov dword [ebp - 0x3d4], 0
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
cdq
mov esi, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x1574], edx
sub esi, eax
not esi
movzx eax, byte [ebp - 1]
or eax, dword [ebp - 0x3d4]
cdq
add esi, eax
sub ecx, esi
not ecx
mov byte [ebp - 4], cl
mov eax, dword [ebp - 0x2c]
cdq
mov ecx, dword [0x100ad128]
mov esi, dword [0x100ad12c]
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x2c]
cdq
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov dword [ebp - 0x2c], eax
xor edx, edx
mov dword [ebp - 0x20], 4
mov dword [ebp - 0x1c], edx
movzx eax, word [ebp - 8]
test eax, eax
jne 0x10020271
mov dword [ebp - 0x3d8], 1
jmp 0x1002027b
mov dword [ebp - 0x3d8], 0
movsx ecx, word [ebp - 0x10]
movzx edx, word [0x100ad120]
sub ecx, edx
and ecx, dword [ebp - 0x3d8]
mov dword [0x100ad0b4], ecx
movsx eax, word [0x100ad0cc]
cdq
mov dword [0x100ad150], eax
mov dword [0x100ad154], edx
mov eax, dword [ebp - 0x3dc]
sub eax, dword [ebp - 0x3dc]
xor ecx, ecx
sub ecx, eax
xor edx, edx
sub edx, ecx
mov dword [ebp - 0x78], edx
jmp 0x10020c89
movsx eax, word [0x100ad0cc]
test eax, eax
je 0x10020569
xor ecx, ecx
mov dword [0x100ad110], 2
mov dword [0x100ad114], ecx
movsx edx, word [ebp - 0x10]
imul eax, edx, 0xf8c94e24
xor ecx, ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
mov edx, dword [0x100adbec]
mov dword [ebp - 0x2c], edx
movzx eax, word [0x100ad120]
add eax, dword [0x100ad0c8]
mov dword [0x100ad0c8], eax
movzx ecx, word [0x100ad0b8]
movsx edx, word [0x100ad0c4]
imul ecx, edx
mov word [0x100ad0b8], cx
movzx eax, word [ebp - 0x14]
cdq
add eax, 0x47c4db55
mov byte [ebp - 2], al
mov eax, dword [0x100ad110]
mov ecx, dword [0x100ad114]
mov dword [ebp - 0x1cc], eax
mov dword [ebp - 0x1c8], ecx
mov edx, dword [ebp - 0x1cc]
or edx, dword [ebp - 0x1c8]
je 0x1002038c
cmp dword [ebp - 0x1cc], 1
jne 0x10020371
cmp dword [ebp - 0x1c8], 0
je 0x10020440
cmp dword [ebp - 0x1cc], 2
jne 0x10020387
cmp dword [ebp - 0x1c8], 0
je 0x10020480
jmp 0x10020569
mov dword [ebp - 0x2c], 0xa875
mov ax, word [ebp - 0x2c]
mov word [0x100ad0bc], ax
mov ecx, 4
imul edx, ecx, 0x22
movzx eax, word [0x100ad0b8]
sub eax, dword [edx + 0x101af448]
mov word [0x100ad0b8], ax
movzx eax, word [ebp - 0x14]
cdq
mov ecx, dword [0x100ad14c]
add eax, dword [0x100ad148]
adc edx, ecx
mov dword [ebp - 0xf04], eax
mov dword [ebp - 0xf00], edx
mov edx, dword [ebp - 0xf04]
or edx, dword [ebp - 0xf00]
jne 0x100203f1
mov dword [ebp - 0x3e0], 1
jmp 0x100203fb
mov dword [ebp - 0x3e0], 0
movzx eax, byte [ebp - 2]
imul eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x3e0]
add eax, dword [ebp - 0x18]
xor ecx, ecx
mov dword [0x100ad108], eax
mov dword [0x100ad10c], ecx
movzx eax, byte [ebp - 2]
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov eax, dword [0x100ad0d8]
mov edx, dword [0x100ad0dc]
mov cl, 3
call fcn.1007a9b0
mov dword [0x100ad118], eax
jmp 0x10020569
mov edx, dword [0x100ad100]
xor eax, eax
add edx, dword [0x100ad0e8]
adc eax, dword [0x100ad0ec]
mov dword [0x100ad0e8], edx
mov dword [0x100ad0ec], eax
movzx ecx, word [ebp - 0x14]
imul edx, ecx, 0x7d
mov byte [0x100ad042], dl
mov eax, dword [0x100ad150]
add eax, 0xcc
mov dword [0x100ad15c], eax
jmp 0x10020569
movsx eax, byte [0x100ad00d]
imul eax, dword [0x100ad0a8]
xor eax, dword [0x100ad158]
cdq
mov esi, eax
mov edi, edx
movsx eax, byte [str.E2_wcsrchr]
cdq
mov ecx, eax
mov ebx, edx
sub ecx, 0xa987b3e5
sbb ebx, 0x6c649
not ecx
not ebx
movsx eax, byte [0x100ad00e]
cdq
push edx
push eax
push ebx
push ecx
call fcn.1007a8a0
sub esi, eax
sbb edi, edx
mov dword [0x100ad0d8], esi
mov dword [0x100ad0dc], edi
movzx eax, byte [ebp - 4]
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov edx, dword [ebp - 0x18]
sub edx, 1
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x24]
sub eax, 0x5ea0
movsx ecx, word [0x100ad11c]
sub ecx, eax
mov word [0x100ad11c], cx
movzx edx, byte [ebp - 1]
add edx, 0x2caa
movsx eax, word [0x100ad0d0]
sub eax, edx
mov word [0x100ad0d0], ax
mov eax, dword [0x100ad158]
cdq
add eax, dword [0x100ad138]
adc edx, dword [0x100ad13c]
mov dword [ebp - 0xf0c], eax
mov dword [ebp - 0xf08], edx
mov ecx, dword [ebp - 0xf0c]
or ecx, dword [ebp - 0xf08]
jne 0x10020553
mov dword [ebp - 0x3e4], 1
jmp 0x1002055d
mov dword [ebp - 0x3e4], 0
mov edx, dword [ebp - 0x3e4]
mov dword [0x100ad100], edx
movzx eax, word [0x100ad0ac]
cdq
mov dword [ebp - 0xf14], eax
mov dword [ebp - 0xf10], edx
mov eax, dword [0x100ad0fc]
cmp eax, dword [ebp - 0xf10]
jg 0x10020668
jl 0x100205a2
mov ecx, dword [0x100ad0f8]
cmp ecx, dword [ebp - 0xf14]
ja 0x10020668
movsx edx, word [ebp - 0x10]
add edx, 0x7ae6
mov eax, dword [ebp - 0x18]
sub eax, edx
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov eax, 8
imul eax, eax, 0x50
mov dword [eax + 0x100e6a58], ecx
mov dword [eax + 0x100e6a5c], edx
cmp dword [ebp - 0x34], 0
jne 0x100205e8
xor ecx, ecx
mov dword [ebp - 0x9fc], 1
mov dword [ebp - 0x9f8], ecx
jmp 0x100205f3
xorps xmm0, xmm0
movlpd qword [ebp - 0x9fc], xmm0
movzx edx, byte [ebp - 2]
test edx, edx
jne 0x10020607
mov dword [ebp - 0x3e8], 1
jmp 0x10020611
mov dword [ebp - 0x3e8], 0
mov ecx, dword [0x100ad110]
sub ecx, dword [ebp - 0x9fc]
mov esi, dword [0x100ad114]
sbb esi, dword [ebp - 0x9f8]
movsx eax, byte [0x100ad00e]
movzx edx, word [0x100ad0f0]
not edx
imul eax, edx
cdq
sub ecx, eax
sbb esi, edx
mov eax, dword [0x100ad0a8]
imul eax, dword [0x100ad118]
imul eax, dword [ebp - 0x3e8]
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [0x100ad140], eax
jmp 0x100206fc
mov eax, dword [0x100ad0d8]
mov ecx, dword [0x100ad0dc]
not eax
not ecx
mov dword [ebp - 0xf1c], eax
mov dword [ebp - 0xf18], ecx
mov edx, dword [ebp - 0xf1c]
or edx, dword [ebp - 0xf18]
je 0x100206fc
movsx eax, byte [0x100ad00e]
sar eax, 2
cdq
mov dword [0x100ad108], eax
mov dword [0x100ad10c], edx
mov eax, dword [0x100ad118]
sub eax, 1
mov dword [0x100ad118], eax
mov ecx, dword [0x100ad108]
mov edx, dword [0x100ad10c]
mov dword [ebp - 0x1578], edx
sub ecx, 0x8b5cb51b
mov byte [0x100ad072], cl
movsx eax, word [0x100ad0cc]
test eax, eax
je 0x100206e8
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x3ec], ecx
jmp 0x100206f1
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x3ec], edx
mov eax, dword [ebp - 0x3ec]
mov dword [0x100ad140], eax
mov ecx, dword [0x100adbec]
mov dword [ebp - 0x10c], ecx
movsx edx, word [0x100ad0cc]
test edx, edx
jne 0x1002071f
mov dword [ebp - 0x3f4], 1
jmp 0x10020729
mov dword [ebp - 0x3f4], 0
movzx eax, byte [ebp - 4]
test eax, eax
jne 0x1002073d
mov dword [ebp - 0x3f0], 1
jmp 0x10020747
mov dword [ebp - 0x3f0], 0
mov ecx, dword [ebp - 0x40]
not ecx
imul ecx, dword [ebp - 0x3f0]
test ecx, ecx
jne 0x10020763
mov dword [ebp - 0x3f8], 1
jmp 0x1002076d
mov dword [ebp - 0x3f8], 0
mov eax, dword [ebp - 0x3f4]
sub eax, dword [ebp - 0x3f8]
cdq
mov esi, eax
mov edi, edx
movsx eax, word [0x100ad0bc]
cdq
mov ecx, dword [0x100ad154]
push ecx
mov ecx, dword [0x100ad150]
push ecx
push edx
push eax
call fcn.1007a8a0
not eax
not edx
movsx ecx, word [0x100ad130]
mov ebx, dword [ebp - 0x30]
xor ebx, ecx
xor ecx, ecx
xor eax, ebx
xor edx, ecx
push edx
push eax
push edi
push esi
call fcn.1007a8a0
mov byte [ebp - 2], al
movzx edx, word [ebp - 0x14]
movsx eax, word [0x100ad0b0]
add edx, eax
mov word [ebp - 0x14], dx
movzx ecx, byte [ebp - 1]
movsx edx, word [0x100ad0d0]
sub ecx, edx
movzx eax, byte [ebp - 1]
imul eax, ecx
mov byte [ebp - 1], al
mov eax, dword [ebp - 0x44]
cdq
mov ecx, dword [0x100ad148]
mov esi, dword [0x100ad14c]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
not eax
mov word [0x100ad0e4], ax
movzx edx, byte [ebp - 4]
imul eax, edx, 0x9381
cdq
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], edx
mov eax, dword [ebp - 0x10c]
add eax, 0x420
mov dword [ebp - 0x157c], eax
mov ecx, dword [0x100ad150]
push ecx
call dword [sym.imp.USER32.dll_GetTopWindow]
xor edx, edx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x10c]
add eax, 0x28e
mov dword [ebp - 0x110], eax
xor ecx, ecx
mov dword [0x100ad128], 2
mov dword [0x100ad12c], ecx
mov dword [ebp - 0x44], 1
movzx eax, word [ebp - 8]
cdq
sub eax, dword [0x100ad0f8]
mov word [ebp - 8], ax
movsx edx, word [0x100ad0b0]
add edx, dword [ebp - 0x18]
movsx eax, word [0x100ad0b0]
sub eax, edx
mov word [0x100ad0b0], ax
mov eax, dword [ebp - 0x2c]
sub eax, 0x82
cdq
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
mov dword [ebp - 0x1d4], ecx
mov dword [ebp - 0x1d0], edx
mov eax, dword [ebp - 0x1d4]
or eax, dword [ebp - 0x1d0]
je 0x100208fa
cmp dword [ebp - 0x1d4], 1
jne 0x100208df
cmp dword [ebp - 0x1d0], 0
je 0x1002099b
cmp dword [ebp - 0x1d4], 2
jne 0x100208f5
cmp dword [ebp - 0x1d0], 0
je 0x10020a82
jmp 0x10020aeb
movzx ecx, word [0x100ad0f0]
imul eax, ecx, 0x6092
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
movsx edx, word [0x100ad0b0]
add edx, dword [0x100ad0b4]
add edx, dword [0x100ad0b4]
mov dword [0x100ad0b4], edx
mov al, byte [0x100ad043]
mov byte [str.px_04X_], al
mov cx, word [0x100adbec]
mov word [0x100ad0b8], cx
mov eax, dword [ebp - 0x40]
cdq
sub eax, 0xc0a55138
mov dword [ebp - 0x24], eax
movsx eax, word [ebp - 0x10]
movsx edx, word [0x100ad0d0]
add eax, edx
cdq
mov esi, eax
mov edi, edx
movzx eax, word [ebp - 0x14]
cdq
mov ecx, dword [ebp - 0x50]
push ecx
mov ecx, dword [ebp - 0x54]
push ecx
push edx
push eax
call fcn.1007a8a0
add esi, eax
adc edi, edx
not esi
not edi
mov eax, dword [0x100ad15c]
or eax, 0x2860
cdq
xor eax, dword [ebp - 0x4c]
xor edx, dword [ebp - 0x48]
push edx
push eax
push edi
push esi
call fcn.1007a8a0
mov dword [ebp - 0x34], eax
jmp 0x10020aeb
movsx eax, byte [0x100ad09a]
cdq
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
movzx edx, byte [ebp - 1]
mov eax, dword [ebp - 0x40]
add eax, edx
jne 0x100209c0
mov dword [ebp - 0x3fc], 1
jmp 0x100209ca
mov dword [ebp - 0x3fc], 0
movsx eax, word [0x100ad0c0]
cdq
mov ecx, dword [0x100ad154]
push ecx
mov ecx, dword [0x100ad150]
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x24]
add eax, dword [0x100ad0c8]
cdq
sub ecx, eax
sbb esi, edx
movzx edx, byte [ebp - 4]
mov eax, dword [ebp - 0x24]
sub eax, edx
mov edx, dword [ebp - 0x3fc]
sub edx, eax
mov eax, edx
cdq
xor ecx, eax
xor esi, edx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], esi
mov ecx, dword [0x100ad0e8]
not ecx
mov esi, dword [0x100ad0ec]
not esi
movsx eax, byte [0x100ad043]
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov ecx, eax
mov esi, edx
movzx eax, byte [ebp - 3]
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [0x100ad0b4], eax
mov dx, word [0x100adbec]
mov word [ebp - 0x14], dx
imul eax, dword [ebp - 0x24], 0xb
movsx ecx, word [0x100ad0bc]
xor ecx, eax
mov word [0x100ad0bc], cx
mov edx, dword [0x100ad160]
add edx, 0x15a2034c
mov byte [str.E2_wcsrchr], dl
jmp 0x10020aeb
movsx eax, byte [0x100ad042]
mov dword [0x100ad0a8], eax
movzx eax, byte [ebp - 2]
cdq
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
sub edx, ecx
sbb eax, esi
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], eax
mov ecx, dword [0x100ad0f8]
sub ecx, 0x3915
mov dword [0x100ad158], ecx
movzx edx, byte [ebp - 3]
test edx, edx
je 0x10020ad2
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x400], eax
jmp 0x10020adf
movsx ecx, word [0x100ad0b0]
mov dword [ebp - 0x400], ecx
mov dl, byte [ebp - 0x400]
mov byte [0x100ad00d], dl
mov eax, dword [ebp - 0x10c]
add eax, 0x5b7
mov dword [ebp - 0xc44], eax
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x18]
xor eax, eax
add edx, dword [ebp - 0x4c]
adc eax, dword [ebp - 0x48]
not edx
not eax
mov dword [0x100ad138], edx
mov dword [0x100ad13c], eax
movzx eax, byte [ebp - 2]
cdq
mov ecx, eax
xor ecx, 0x270fd8bf
mov eax, dword [ebp - 0x28]
cdq
add eax, ecx
mov dword [ebp - 0x28], eax
movsx edx, word [ebp - 0xc]
test edx, edx
je 0x10020b45
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x404], eax
jmp 0x10020b52
movsx ecx, word [0x100ad0d0]
mov dword [ebp - 0x404], ecx
mov eax, dword [ebp - 0x404]
cdq
mov dword [0x100ad138], eax
mov dword [0x100ad13c], edx
xor edx, edx
mov dword [0x100ad160], 0xb1
mov dword [0x100ad164], edx
mov eax, dword [ebp - 0x110]
sub eax, dword [ebp - 0x110]
add eax, dword [ebp - 0x110]
cmp eax, dword [ebp - 0xc44]
je 0x10020c89
movsx ecx, word [ebp - 0x10]
test ecx, ecx
jne 0x10020ba8
mov dword [ebp - 0x408], 1
jmp 0x10020bb2
mov dword [ebp - 0x408], 0
movzx edx, word [ebp - 8]
movsx eax, word [ebp - 0xc]
not eax
imul eax, dword [ebp - 0x408]
not eax
lea eax, [edx + eax + 0xd2c0]
cdq
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
mov ecx, dword [0x100ad0e0]
add ecx, 0x740998f5
mov byte [str.px_04X_], cl
movzx edx, byte [str.px_04X_]
sub edx, 0xda
mov dword [ebp - 0x44], edx
movzx eax, byte [ebp - 2]
imul eax, dword [ebp - 0x34]
mov byte [ebp - 2], al
call dword [0x101fb598]
mov ecx, dword [ebp - 0xac]
push ecx
call fcn.10006de0
movsx edx, byte [str.ZFreeSid]
xor edx, dword [ebp - 0x34]
movsx eax, byte [str.ZFreeSid]
sub eax, edx
mov byte [str.ZFreeSid], al
push 0
push 0xdd591b7c
mov ecx, dword [0x100ad13c]
push ecx
mov edx, dword [0x100ad138]
push edx
call fcn.1007a8a0
mov dx, word [ebp - 8]
mov ecx, eax
shr dx, cl
mov word [ebp - 8], dx
movsx eax, byte [0x100ad073]
test eax, eax
je 0x10020c6d
movzx ecx, byte [ebp - 4]
mov dword [ebp - 0x40c], ecx
jmp 0x10020c76
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x40c], edx
mov eax, dword [ebp - 0x40c]
mov dword [ebp - 0x18], eax
mov eax, 1
jmp 0x10031360
mov ecx, 0x4caf6
mov dword [0x100ad0d8], 0x867821b0
mov dword [0x100ad0dc], ecx
movsx edx, byte [0x100ad042]
add edx, dword [0x100ad0c8]
mov eax, dword [0x100ad0c8]
sub eax, edx
mov dword [0x100ad0c8], eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
push 0
push 0x79
push edx
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movsx eax, word [0x100ad0e4]
sar eax, 8
cdq
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
movzx eax, byte [ebp - 1]
test eax, eax
jne 0x10020cf3
mov dword [ebp - 0x410], 1
jmp 0x10020cfd
mov dword [ebp - 0x410], 0
movsx ecx, word [0x100ad0b0]
add ecx, dword [ebp - 0x30]
movsx edx, word [0x100ad0c0]
add edx, dword [ebp - 0x410]
and ecx, edx
xor eax, eax
mov dword [0x100ad160], ecx
mov dword [0x100ad164], eax
movzx eax, word [0x100ad120]
cdq
xor ecx, ecx
mov esi, dword [0x100ad0d8]
mov edi, dword [0x100ad0dc]
add esi, dword [ebp - 0x18]
adc edi, ecx
mov dword [ebp - 0xf24], eax
mov dword [ebp - 0xf20], edx
mov dword [ebp - 0xf2c], esi
mov dword [ebp - 0xf28], edi
mov edx, dword [ebp - 0xf24]
cmp edx, dword [ebp - 0xf2c]
jne 0x100210e0
mov eax, dword [ebp - 0xf20]
cmp eax, dword [ebp - 0xf28]
jne 0x100210e0
movsx ecx, byte [0x100ad043]
add ecx, 0x8502
mov byte [0x100ad00d], cl
mov byte [ebp - 2], 0xbe
movsx edx, byte [0x100ad037]
add edx, dword [ebp - 0x18]
movsx eax, byte [0x100ad037]
add eax, edx
mov byte [0x100ad037], al
movsx ecx, word [ebp - 0xc]
imul edx, ecx, 0xf9
mov dword [ebp - 0x40], edx
xor eax, eax
mov word [ebp - 0x10], ax
movsx ecx, byte [0x100ad00e]
movsx edx, word [ebp - 0xc]
xor ecx, edx
mov byte [0x100ad00e], cl
movzx eax, byte [ebp - 3]
test eax, eax
jne 0x10020deb
xor ecx, ecx
mov dword [ebp - 0xa04], 1
mov dword [ebp - 0xa00], ecx
jmp 0x10020df6
xorps xmm0, xmm0
movlpd qword [ebp - 0xa04], xmm0
mov ecx, dword [0x100ad128]
mov esi, dword [0x100ad12c]
not ecx
not esi
movzx eax, word [ebp - 8]
cdq
add ecx, eax
adc esi, edx
mov edi, dword [0x100ad138]
sub edi, ecx
mov ecx, dword [0x100ad13c]
sbb ecx, esi
mov esi, dword [ebp - 0xa04]
xor esi, 0x502e937e
mov ebx, dword [ebp - 0xa00]
xor ebx, 0xfff4cca5
not esi
not ebx
movsx eax, word [ebp - 0xc]
cdq
add esi, eax
adc ebx, edx
push ebx
push esi
push ecx
push edi
call fcn.1007a8a0
mov word [ebp - 0x14], ax
movzx edx, byte [ebp - 3]
test edx, edx
je 0x10020e6c
movzx eax, byte [ebp - 1]
cdq
mov dword [ebp - 0xa0c], eax
mov dword [ebp - 0xa08], edx
jmp 0x10020e7e
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0xa0c], eax
mov dword [ebp - 0xa08], ecx
mov dl, byte [ebp - 0xa0c]
mov byte [0x100ad09a], dl
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov cl, 2
call fcn.1007a900
mov word [0x100ad120], ax
movsx eax, word [ebp - 0x10]
mov dword [ebp - 0xc48], eax
cmp dword [ebp - 0xc48], 0
je 0x10020eb2
jmp 0x10020f0d
mov ecx, dword [0x100adbec]
xor edx, edx
mov dword [0x100ad160], ecx
mov dword [0x100ad164], edx
mov eax, dword [ebp - 0x30]
sub eax, 0xa3
xor ecx, ecx
mov dword [0x100ad150], eax
mov dword [0x100ad154], ecx
mov edx, 2
imul eax, edx, 3
movsx eax, word [eax + 0x101e98d8]
cdq
mov dword [0x100ad128], eax
mov dword [0x100ad12c], edx
mov eax, dword [0x100ad15c]
cdq
add eax, 0xe6817823
adc edx, 0x21c4b
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movzx ecx, word [0x100ad120]
movsx edx, word [ebp - 0x10]
add edx, 0x6235
cmp ecx, edx
jne 0x100210e0
imul eax, dword [ebp - 0x24], 0x4d
mov word [0x100ad0c0], ax
mov ecx, 4
mov word [ebp - 0xc], cx
mov edx, dword [0x100ad140]
mov eax, 1
imul ecx, eax, 0x2be8
mov byte [ecx + 0x100e7138], dl
mov eax, dword [ebp - 0x40]
cdq
mov ecx, dword [0x100ad148]
mov esi, dword [0x100ad14c]
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
mov eax, dword [ebp - 0x40]
cdq
add eax, ecx
mov dword [ebp - 0x40], eax
mov byte [ebp - 4], 0xcf
movsx eax, byte [0x100ad00d]
cdq
add eax, dword [ebp - 0x54]
adc edx, dword [ebp - 0x50]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
jmp 0x10020c89
movsx edx, word [0x100ad0c4]
cmp dword [ebp - 0x34], edx
jne 0x100210f8
mov eax, dword [0x100ad0a8]
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, dword [ebp - 0x420]
sub ecx, dword [ebp - 0x41c]
xor ecx, 0x21c
mov edx, dword [ebp - 0x41c]
add edx, dword [ebp - 0x420]
cmp ecx, edx
je 0x10031360
mov dword [ebp - 0x118], 0x1590
mov eax, dword [ebp - 0x2c]
cdq
mov ecx, 8
imul ecx, ecx, 0xa
mov dword [ecx + 0x100e6a58], eax
mov dword [ecx + 0x100e6a5c], edx
movzx edx, word [0x100ad0f0]
movzx eax, byte [ebp - 1]
sub edx, eax
movzx ecx, word [0x100ad0f0]
add ecx, edx
mov word [0x100ad0f0], cx
mov edx, dword [0x100ad0d8]
mov eax, dword [0x100ad0dc]
mov dword [ebp - 0x1580], eax
add edx, 0x8639957
mov dword [ebp - 0x24], edx
mov ecx, 0x54b5
mov word [0x100ad0b8], cx
cmp dword [ebp - 0x118], 0x14af
jle 0x100211e1
mov dword [ebp - 0x114], 0
jmp 0x100211aa
mov edx, dword [ebp - 0x114]
add edx, 2
mov dword [ebp - 0x114], edx
cmp dword [ebp - 0x114], 0x101
jge 0x100211d0
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
movzx eax, ax
mov dword [ebp - 0x34], eax
mov cx, word [ebp - 0x10]
add cx, 1
mov word [ebp - 0x10], cx
jmp 0x1002119b
mov edx, dword [ebp - 0x118]
sub edx, 1
mov dword [ebp - 0x118], edx
jmp 0x10021183
mov byte [0x100ad037], 0xf2
movzx eax, byte [ebp - 4]
cdq
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x1584], edx
add eax, ecx
mov byte [ebp - 4], al
movzx eax, word [0x100ad120]
movsx ecx, word [0x100ad0e4]
imul eax, ecx
movzx edx, word [0x100ad120]
sub edx, eax
mov word [0x100ad120], dx
mov ecx, dword [0x100ad140]
add ecx, 0x4530292
movsx eax, word [0x100ad0e4]
cdq
add eax, ecx
mov word [0x100ad0e4], ax
mov dword [ebp - 0x40], 0xa6f7
mov edx, dword [ebp - 0x24]
sub edx, 0x16a7e7d6
cmp dword [0x100ad0b4], edx
jne 0x1002137a
movsx eax, word [0x100ad0d0]
add eax, dword [ebp - 0x24]
cmp eax, 1
jne 0x1002137a
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [0x100ad100]
jae 0x10021281
mov dword [ebp - 0x424], 1
jmp 0x1002128b
mov dword [ebp - 0x424], 0
cmp dword [ebp - 0x2c], 0x4c
jge 0x1002129d
mov dword [ebp - 0x428], 1
jmp 0x100212a7
mov dword [ebp - 0x428], 0
mov edx, dword [ebp - 0x424]
cmp edx, dword [ebp - 0x428]
jl 0x10021320
xor eax, eax
mov dword [0x100ad138], 0x1e
mov dword [0x100ad13c], eax
mov ecx, 2
imul edx, ecx, 0x49
movsx eax, word [edx + 0x100df228]
cdq
add eax, dword [ebp - 0x4c]
adc edx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movzx eax, byte [0x100ad0a6]
movzx ecx, word [ebp - 8]
xor ecx, 0xf268
add eax, ecx
mov byte [str.px_04X_], al
movsx edx, word [0x100ad11c]
movsx eax, word [ebp - 0x10]
sub edx, eax
movsx ecx, word [0x100ad11c]
or ecx, edx
mov word [0x100ad11c], cx
mov dword [ebp - 0x24], 0x36
jmp 0x10021341
movsx edx, word [0x100ad0e4]
sub edx, 0x2d
mov byte [0x100ad0a6], dl
mov al, byte [0x100adbec]
mov byte [0x100ad043], al
movzx ecx, word [ebp - 8]
mov dword [ebp - 0x40], ecx
jmp 0x100211e1
mov ecx, 0xb0
mov word [0x100ad0c4], cx
movzx edx, word [0x100ad120]
movsx eax, word [0x100ad0c4]
cmp edx, eax
jge 0x1002146f
movsx ecx, byte [0x100ad00e]
cmp ecx, dword [0x100ad15c]
jl 0x100213d7
mov ecx, 9
mov esi, str.The_value_specifie
lea edi, [ebp - 0x179c]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x179c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [0x100ad0b8], ax
jmp 0x1002146a
movzx eax, word [ebp - 8]
movsx ecx, word [ebp - 0x10]
cmp eax, ecx
je 0x100213ef
mov dword [ebp - 0x42c], 1
jmp 0x100213f9
mov dword [ebp - 0x42c], 0
mov edx, dword [ebp - 0x42c]
not edx
test edx, edx
je 0x1002146a
cmp dword [ebp - 0x30], 0
je 0x10021424
mov eax, dword [0x100ad0e8]
mov ecx, dword [0x100ad0ec]
mov dword [ebp - 0xa14], eax
mov dword [ebp - 0xa10], ecx
jmp 0x10021438
movsx eax, byte [0x100ad042]
cdq
mov dword [ebp - 0xa14], eax
mov dword [ebp - 0xa10], edx
mov edx, dword [ebp - 0xa14]
mov dword [ebp - 0x34], edx
movsx eax, byte [0x100ad073]
xor eax, 0xed954ad1
mov byte [ebp - 1], al
movsx cx, byte [0x100ad00e]
mov edx, 2
imul eax, edx, 0x1602
mov word [eax + 0x101ec310], cx
jmp 0x1002158c
movsx ecx, byte [0x100ad09a]
test ecx, ecx
je 0x100214bc
mov eax, dword [ebp - 0x34]
not eax
movsx edx, word [0x100ad0cc]
not edx
imul eax, edx
movsx ecx, word [ebp - 0xc]
imul eax, ecx
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
movsx edx, word [0x100ad0d0]
sub edx, 0x26
mov byte [0x100ad0a6], dl
movsx eax, word [ebp - 0x10]
sar eax, 2
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
jmp 0x1002158c
cmp dword [ebp - 0x44], 0
je 0x10021506
movsx eax, byte [str.E2_wcsrchr]
xor eax, 0x98
mov dword [ebp - 0x30], eax
movsx eax, byte [0x100ad00d]
sub eax, 0xf875
cdq
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], esi
mov byte [ebp - 3], 0xdb
mov edx, dword [0x100ad138]
xor edx, 0xf4
mov byte [ebp - 1], dl
jmp 0x1002158c
movsx eax, word [0x100ad0cc]
movsx ecx, byte [str.ZFreeSid]
sub eax, ecx
je 0x1002158c
mov edx, dword [0x100ad118]
imul edx, dword [0x100ad100]
add edx, dword [0x100ad100]
mov dword [0x100ad100], edx
movzx eax, byte [0x100ad0a6]
mov ecx, dword [0x100ad118]
sub ecx, eax
mov edx, dword [0x100ad118]
add edx, ecx
mov dword [0x100ad118], edx
mov eax, dword [0x100ad0f8]
sub eax, dword [ebp - 0x4c]
mov ecx, dword [0x100ad0fc]
sbb ecx, dword [ebp - 0x48]
mov edx, dword [0x100ad0f8]
sub edx, eax
mov eax, dword [0x100ad0fc]
sbb eax, ecx
mov dword [0x100ad0f8], edx
mov dword [0x100ad0fc], eax
movzx ecx, word [ebp - 8]
xor ecx, dword [0x100ad0c8]
movsx edx, word [ebp - 0x10]
add ecx, edx
mov byte [ebp - 1], cl
movsx eax, word [0x100ad0c4]
mov ecx, dword [ebp - 0x28]
add ecx, 1
cmp eax, ecx
jne 0x100219ac
movsx edx, word [ebp - 0x10]
add edx, 0x2c
mov byte [0x100ad0a6], dl
movsx eax, word [0x100ad130]
test eax, eax
jne 0x100215c5
mov dword [ebp - 0x430], 1
jmp 0x100215cf
mov dword [ebp - 0x430], 0
mov ecx, dword [ebp - 0x430]
sub ecx, dword [ebp - 0x28]
movzx edx, word [ebp - 8]
not edx
sub ecx, edx
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
sub eax, 0xce47
sbb ecx, 0
mov edx, dword [0x100ad128]
mov esi, dword [0x100ad12c]
push ecx
push eax
push esi
push edx
call fcn.1007a8a0
mov dword [0x100ad128], eax
mov dword [0x100ad12c], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
xor ecx, ecx
mov dword [0x100ad108], eax
mov dword [0x100ad10c], ecx
movsx edx, word [0x100ad130]
cmp edx, 1
jne 0x100219ac
mov dword [ebp - 0x11c], 0x1676
mov eax, dword [0x100ad0b4]
cdq
add eax, dword [ebp - 0x54]
adc edx, dword [ebp - 0x50]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movzx eax, byte [ebp - 2]
movsx ecx, word [0x100ad0e4]
sub eax, ecx
movzx edx, byte [ebp - 2]
add edx, eax
mov byte [ebp - 2], dl
mov eax, dword [0x100ad15c]
add eax, 0xf8
mov byte [0x100ad00d], al
movzx eax, word [0x100ad120]
cdq
mov ecx, dword [0x100ad154]
push ecx
mov ecx, dword [0x100ad150]
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
movsx eax, byte [0x100ad00e]
not eax
movzx edx, byte [ebp - 1]
add eax, edx
not eax
cdq
add ecx, eax
not ecx
mov dword [ebp - 0x40], ecx
cmp dword [ebp - 0x11c], 0x15bb
jle 0x10021937
cmp dword [ebp - 0x44], 0
je 0x10021720
movzx eax, byte [ebp - 3]
test eax, eax
je 0x10021720
cmp dword [ebp - 0x18], 0
jne 0x100216dd
mov dword [ebp - 0x434], 1
jmp 0x100216e7
mov dword [ebp - 0x434], 0
movzx ecx, word [0x100ad120]
cmp dword [ebp - 0x434], ecx
jge 0x10021720
mov ecx, 9
mov esi, str.Platform.__WriteOn
lea edi, [ebp - 0x17c4]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x17c4]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [ebp - 0xc], ax
jmp 0x10021923
movzx eax, word [0x100ad120]
test eax, eax
je 0x100217e8
movsx eax, byte [0x100ad00d]
add eax, 0x1b
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movzx eax, byte [ebp - 3]
cdq
mov ecx, eax
sub ecx, dword [ebp - 0x54]
movzx eax, byte [ebp - 3]
cdq
add eax, ecx
mov byte [ebp - 3], al
movsx eax, byte [0x100ad073]
cdq
xor eax, dword [0x100ad0f8]
mov word [0x100ad0c4], ax
movsx edx, word [0x100ad0cc]
movsx eax, word [ebp - 0x10]
not eax
or edx, eax
jne 0x10021785
mov dword [ebp - 0x438], 1
jmp 0x1002178f
mov dword [ebp - 0x438], 0
movsx ecx, byte [0x100ad073]
mov edx, dword [0x100ad0e0]
add edx, ecx
mov eax, dword [0x100ad0c8]
add eax, 0x6261371a
or edx, eax
movzx ecx, word [0x100ad0f0]
movsx eax, word [ebp - 0xc]
add ecx, eax
or ecx, dword [ebp - 0x438]
imul edx, ecx
test edx, edx
jne 0x100217d0
mov dword [ebp - 0x43c], 1
jmp 0x100217da
mov dword [ebp - 0x43c], 0
mov ecx, dword [ebp - 0x43c]
mov dword [ebp - 0x2c], ecx
jmp 0x10021923
movzx edx, byte [0x100ad072]
not edx
test edx, edx
je 0x1002185a
movsx eax, word [0x100ad0c0]
cdq
sub eax, dword [0x100ad0f8]
mov word [0x100ad0c0], ax
movsx eax, byte [0x100ad00e]
add eax, dword [ebp - 0x28]
movsx ecx, byte [0x100ad00e]
sub ecx, eax
mov byte [0x100ad00e], cl
mov edx, dword [ebp - 0x54]
sub edx, 0x2bbf
mov dword [ebp - 0x24], edx
movzx eax, byte [ebp - 2]
sub eax, 0x57c3
sub eax, dword [ebp - 0x34]
movsx ecx, word [ebp - 0xc]
sub ecx, 0x4be4
mov edx, 0xbd
sub edx, ecx
imul eax, edx
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
jmp 0x10021923
movzx eax, word [0x100ad120]
movzx ecx, word [0x100ad0b8]
imul eax, ecx
cdq
mov dword [ebp - 0xf3c], eax
mov dword [ebp - 0xf38], edx
mov edx, dword [0x100ad0e8]
cmp edx, dword [ebp - 0xf3c]
jne 0x10021897
mov eax, dword [0x100ad0ec]
cmp eax, dword [ebp - 0xf38]
je 0x10021923
movzx ecx, word [0x100ad0ac]
test ecx, ecx
jne 0x100218ae
mov dword [ebp - 0x440], 1
jmp 0x100218b8
mov dword [ebp - 0x440], 0
movsx edx, byte [0x100ad00d]
test edx, edx
jne 0x100218cf
mov dword [ebp - 0x444], 1
jmp 0x100218d9
mov dword [ebp - 0x444], 0
movsx eax, byte [0x100ad037]
mov ecx, dword [ebp - 0x18]
add ecx, eax
mov edx, dword [ebp - 0x440]
sub edx, dword [ebp - 0x444]
add ecx, edx
mov dword [ebp - 0x34], ecx
movzx eax, byte [0x100ad0a6]
sub eax, 0x488a366a
mov byte [str.ZFreeSid], al
movzx ecx, byte [ebp - 1]
sub ecx, 0xf250
mov dword [ebp - 0x24], ecx
mov edx, dword [0x100ad0a8]
sub edx, 0x4150
mov byte [ebp - 1], dl
mov eax, dword [ebp - 0x11c]
sub eax, 1
mov dword [ebp - 0x11c], eax
jmp 0x100216ad
jmp 0x100219ac
mov edx, 0xb0
mov word [0x100ad0c4], dx
mov eax, dword [0x100adbec]
xor ecx, ecx
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], ecx
movsx edx, word [ebp - 0xc]
add edx, 0x4c168f1
mov word [0x100ad0f0], dx
mov ecx, dword [0x100ad138]
add ecx, 0x1409a6f8
mov esi, dword [0x100ad13c]
adc esi, 0
movzx eax, word [0x100ad0f0]
cdq
add ecx, eax
adc esi, edx
mov dword [0x100ad150], ecx
mov dword [0x100ad154], esi
movzx eax, word [0x100ad0ac]
cdq
mov ecx, eax
add ecx, 0x3842956f
movzx eax, byte [ebp - 3]
cdq
and eax, ecx
mov byte [ebp - 3], al
movsx edx, byte [0x100ad073]
shl edx, 2
mov word [ebp - 0xc], dx
movzx eax, word [ebp - 8]
test eax, eax
je 0x10021a43
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x448], ecx
jmp 0x10021a4d
movsx edx, word [ebp - 0xc]
mov dword [ebp - 0x448], edx
mov eax, dword [ebp - 0x448]
mov dword [0x100ad0a8], eax
mov cx, word [0x100adbec]
mov word [0x100ad0c4], cx
movzx edx, word [ebp - 0x187c]
cmp edx, 0x5a4d
jne 0x10021a7f
cmp dword [ebp - 0x78], 0
jne 0x10031360
mov eax, 1
mov word [0x100ad0d0], ax
mov ecx, dword [ebp - 0x18]
add ecx, dword [0x100ad0e0]
mov edx, dword [ebp - 0x18]
add edx, ecx
mov dword [ebp - 0x18], edx
movzx eax, word [0x100ad120]
test eax, eax
jne 0x10021ab2
mov dword [ebp - 0x450], 1
jmp 0x10021abc
mov dword [ebp - 0x450], 0
cmp dword [ebp - 0x40], 0
jne 0x10021ace
mov dword [ebp - 0x44c], 1
jmp 0x10021ad8
mov dword [ebp - 0x44c], 0
movzx ecx, word [0x100ad0ac]
mov eax, ecx
imul eax, dword [ebp - 0x44c]
not eax
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [ebp - 2]
cdq
mov edi, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x38]
sub edi, eax
sbb ebx, edx
xor ecx, edi
xor esi, ebx
mov dword [ebp - 0xf44], ecx
mov dword [ebp - 0xf40], esi
mov edx, dword [ebp - 0xf44]
or edx, dword [ebp - 0xf40]
jne 0x10021b28
mov dword [ebp - 0x454], 1
jmp 0x10021b32
mov dword [ebp - 0x454], 0
movzx eax, word [ebp - 8]
imul eax, dword [ebp - 0x450]
movsx ecx, word [0x100ad0c0]
or ecx, dword [0x100ad0e0]
and eax, ecx
imul eax, dword [ebp - 0x454]
mov byte [str.E2_wcsrchr], al
mov eax, dword [ebp - 0x44]
cdq
sub eax, dword [0x100ad160]
mov dword [ebp - 0x44], eax
movsx edx, word [0x100ad0d0]
mov dword [ebp - 0x458], edx
cmp dword [ebp - 0x458], 0
je 0x10021b8d
cmp dword [ebp - 0x458], 1
je 0x10021c18
jmp 0x10021c9e
mov eax, dword [0x100ad150]
or eax, dword [0x100ad154]
jne 0x10021ba6
mov dword [ebp - 0x45c], 1
jmp 0x10021bb0
mov dword [ebp - 0x45c], 0
movsx ecx, word [0x100ad0e4]
mov edx, dword [ebp - 0x45c]
sub edx, ecx
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x44]
add eax, 0x77fc9ddc
mov word [0x100ad0cc], ax
mov byte [0x100ad00d], 0x21
mov ecx, dword [ebp - 0x28]
sub ecx, 0x5fb6
mov dword [ebp - 0x2c], ecx
movsx edx, word [ebp - 0x10]
mov eax, dword [ebp - 0x40]
xor eax, edx
movzx ecx, byte [0x100ad072]
movsx edx, word [0x100ad0c0]
sub ecx, edx
imul eax, ecx
not eax
cdq
mov dword [0x100ad108], eax
mov dword [0x100ad10c], edx
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x28], eax
jmp 0x10021c9e
cmp dword [ebp - 0x44], 0
je 0x10021c2c
mov ecx, dword [0x100ad0a8]
mov dword [ebp - 0x460], ecx
jmp 0x10021c35
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x460], edx
mov al, byte [ebp - 0x460]
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x2c]
sub eax, 0x51f7e5f3
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
movsx eax, byte [0x100ad00d]
cdq
mov ecx, eax
add ecx, dword [0x100ad160]
mov edx, dword [ebp - 0x30]
not edx
and edx, dword [0x100ad0f8]
sub ecx, edx
movzx eax, byte [str.px_04X_]
not eax
and eax, dword [ebp - 0x40]
movsx edx, word [0x100ad0e4]
mov esi, dword [ebp - 0x28]
not esi
sub edx, esi
or eax, edx
cdq
add ecx, eax
mov word [0x100ad130], cx
movsx eax, word [0x100ad11c]
sar eax, 7
mov word [ebp - 0x14], ax
mov dword [ebp - 0x120], 0x18f
jmp 0x10021cb9
mov ecx, dword [ebp - 0x120]
sub ecx, 1
mov dword [ebp - 0x120], ecx
cmp dword [ebp - 0x120], 0
jle 0x10021d88
movsx edx, word [0x100ad0b0]
add edx, 0xc113
mov dword [ebp - 0x2c], edx
movsx eax, byte [0x100ad037]
cdq
mov ecx, dword [0x100ad108]
mov esi, dword [0x100ad10c]
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov byte [0x100ad037], al
mov dword [ebp - 0x28], 0xb9c7
movzx edx, byte [ebp - 2]
test edx, edx
jne 0x10021d13
mov dword [ebp - 0x464], 1
jmp 0x10021d1d
mov dword [ebp - 0x464], 0
mov esi, dword [ebp - 0x18]
add esi, dword [0x100ad138]
mov eax, dword [0x100ad15c]
xor eax, dword [ebp - 0x464]
cdq
mov ecx, eax
mov edi, edx
mov eax, dword [0x100ad118]
cdq
and eax, dword [0x100ad160]
and edx, dword [0x100ad164]
push edx
push eax
push edi
push ecx
call fcn.1007a8a0
sub esi, eax
mov word [0x100ad0c4], si
mov ecx, dword [ebp - 0x18]
movzx eax, byte [ebp - 1]
cdq
xor eax, dword [ebp - 0x4c]
not eax
add ecx, eax
not ecx
mov dword [0x100ad100], ecx
mov dx, word [0x100ad0c0]
add dx, 1
mov word [0x100ad0c0], dx
jmp 0x10021caa
mov eax, dword [0x100adbec]
mov dword [ebp - 0x128], eax
mov ecx, dword [ebp - 0x44]
sub ecx, 0x22f69649
mov byte [0x100ad00e], cl
movsx eax, word [ebp - 0xc]
cdq
mov ecx, dword [ebp - 0x4c]
sub ecx, eax
mov esi, dword [ebp - 0x48]
sbb esi, edx
movzx eax, byte [ebp - 4]
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov ecx, eax
mov esi, edx
movsx eax, word [0x100ad11c]
cdq
xor ecx, eax
xor esi, edx
mov dword [0x100ad138], ecx
mov dword [0x100ad13c], esi
movsx eax, byte [0x100ad037]
cdq
mov ecx, dword [0x100ad148]
mov esi, dword [0x100ad14c]
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov dword [ebp - 0xf4c], eax
mov dword [ebp - 0xf48], edx
mov edx, dword [ebp - 0xf4c]
or edx, dword [ebp - 0xf48]
jne 0x10021e1e
mov dword [ebp - 0x46c], 1
jmp 0x10021e28
mov dword [ebp - 0x46c], 0
movsx eax, byte [0x100ad073]
test eax, eax
jne 0x10021e3f
mov dword [ebp - 0x468], 1
jmp 0x10021e49
mov dword [ebp - 0x468], 0
movzx ecx, byte [0x100ad0a6]
xor ecx, dword [ebp - 0x468]
mov edx, dword [ebp - 0x46c]
sub edx, ecx
jne 0x10021e6e
mov eax, 1
mov word [ebp - 0x98], ax
jmp 0x10021e77
xor ecx, ecx
mov word [ebp - 0x98], cx
mov dx, word [ebp - 0x98]
mov word [0x100ad0b0], dx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x1588], ecx
mov dword [0x100ad0c8], eax
mov dl, byte [0x100ad100]
mov byte [0x100ad042], dl
mov eax, dword [ebp - 0x128]
add eax, 0x36d
mov dword [ebp - 0x490], eax
mov ecx, 2
mov word [0x100ad0c4], cx
cmp dword [0x100ad0e0], 0
je 0x10021ede
movsx eax, byte [0x100ad073]
cdq
mov dword [ebp - 0xa1c], eax
mov dword [ebp - 0xa18], edx
jmp 0x10021ef5
mov edx, dword [0x100ad108]
mov eax, dword [0x100ad10c]
mov dword [ebp - 0xa1c], edx
mov dword [ebp - 0xa18], eax
mov cx, word [ebp - 0xa1c]
mov word [0x100ad0e4], cx
movsx edx, word [ebp - 0x10]
imul edx, dword [ebp - 0x44]
movsx eax, word [ebp - 0x10]
imul eax, edx
mov word [ebp - 0x10], ax
mov ecx, dword [ebp - 0x4c]
or ecx, dword [ebp - 0x48]
jne 0x10021f2a
mov dword [ebp - 0x470], 1
jmp 0x10021f34
mov dword [ebp - 0x470], 0
movzx edx, byte [str.px_04X_]
movsx eax, word [ebp - 0xc]
xor edx, eax
movzx ecx, byte [ebp - 3]
add ecx, dword [ebp - 0x470]
sub edx, ecx
not edx
test edx, edx
jne 0x10021f5f
mov dword [ebp - 0x474], 1
jmp 0x10021f69
mov dword [ebp - 0x474], 0
mov edx, dword [ebp - 0x474]
mov dword [ebp - 0x34], edx
mov eax, 4
mov word [0x100ad0e4], ax
movzx ecx, byte [ebp - 3]
test ecx, ecx
je 0x10021f98
mov edx, dword [ebp - 0x30]
xor eax, eax
mov dword [ebp - 0x8e4], edx
mov dword [ebp - 0x8e0], eax
jmp 0x10021faa
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x8e4], ecx
mov dword [ebp - 0x8e0], edx
mov eax, dword [ebp - 0x8e4]
mov ecx, dword [ebp - 0x8e0]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x2c]
add edx, 0x19d5d9d9
mov dword [ebp - 0x28], edx
movsx eax, word [0x100ad0c4]
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0x124], 0
je 0x10021ff9
cmp dword [ebp - 0x124], 1
je 0x10022033
cmp dword [ebp - 0x124], 2
je 0x10022107
jmp 0x10022144
movzx ecx, word [0x100ad0ac]
sub ecx, dword [ebp - 0x24]
movzx edx, word [0x100ad0ac]
sub edx, ecx
mov word [0x100ad0ac], dx
mov eax, dword [ebp - 0x18]
sub eax, dword [0x100ad100]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x44]
xor ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x44]
imul edx, ecx
mov dword [ebp - 0x44], edx
jmp 0x10022144
cmp dword [ebp - 0x30], 0
je 0x10022045
movzx eax, word [ebp - 0x14]
mov dword [ebp - 0x478], eax
jmp 0x10022052
movsx ecx, word [0x100ad0d0]
mov dword [ebp - 0x478], ecx
mov eax, dword [ebp - 0x478]
cdq
mov dword [0x100ad148], eax
mov dword [0x100ad14c], edx
movzx dx, byte [ebp - 4]
mov word [0x100ad0e4], dx
movsx eax, word [ebp - 0xc]
add eax, dword [0x100ad0b4]
cdq
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
mov dword [ebp - 0x158c], edx
and ecx, eax
mov word [ebp - 8], cx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
push 0
push 0x32b4
push ecx
push eax
call fcn.1007a8a0
mov ecx, eax
mov esi, edx
movzx eax, word [0x100ad0f0]
cdq
add eax, dword [0x100ad138]
adc edx, dword [0x100ad13c]
add ecx, eax
adc esi, edx
mov dword [ebp - 0xf54], ecx
mov dword [ebp - 0xf50], esi
mov edx, dword [ebp - 0xf54]
or edx, dword [ebp - 0xf50]
jne 0x100220e9
mov dword [ebp - 0x47c], 1
jmp 0x100220f3
mov dword [ebp - 0x47c], 0
mov eax, dword [ebp - 0x47c]
mov dword [0x100ad15c], eax
mov dword [ebp - 0x34], 4
jmp 0x10022144
mov ecx, dword [0x100adbec]
mov dword [ebp - 0x18], ecx
movzx edx, word [0x100ad120]
sub edx, 0x5898dde0
mov eax, dword [ebp - 0x30]
add eax, edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x28], 0x12b2ff5c
movsx ecx, word [0x100ad0bc]
mov eax, dword [ebp - 0x2c]
sub eax, ecx
cdq
mov dword [0x100ad138], eax
mov dword [0x100ad13c], edx
mov edx, dword [ebp - 0x128]
add edx, 0x3fb
mov dword [ebp - 0xc4c], edx
mov eax, dword [ebp - 0x54]
add eax, 0xaffd57a
mov ecx, dword [ebp - 0x50]
adc ecx, 0
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], ecx
movsx edx, word [ebp - 0xc]
not edx
mov byte [0x100ad042], dl
cmp dword [ebp - 0x40], 0
je 0x10022192
movsx eax, word [0x100ad130]
cdq
mov dword [ebp - 0x8ec], eax
mov dword [ebp - 0x8e8], edx
jmp 0x100221a4
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x8ec], eax
mov dword [ebp - 0x8e8], ecx
mov edx, dword [ebp - 0x8ec]
mov eax, dword [ebp - 0x8e8]
mov dword [0x100ad150], edx
mov dword [0x100ad154], eax
movsx eax, byte [str.E2_wcsrchr]
cdq
push edx
push eax
mov ecx, dword [0x100ad0ec]
push ecx
mov edx, dword [0x100ad0e8]
push edx
call fcn.1007a8a0
mov ecx, dword [0x100ad0e8]
sub ecx, eax
mov eax, dword [0x100ad0ec]
sbb eax, edx
mov dword [0x100ad0e8], ecx
mov dword [0x100ad0ec], eax
mov eax, dword [0x100ad158]
cdq
add eax, 0x89ae40db
mov byte [0x100ad042], al
mov byte [ebp - 2], 4
mov ecx, dword [ebp - 0x128]
add ecx, 0x459
mov dword [ebp - 0x494], ecx
mov dword [0x100ad15c], 0x59dc75bf
mov edx, dword [ebp - 0x40]
sub edx, dword [ebp - 0x28]
mov word [0x100ad0bc], dx
mov dword [0x100ad0c8], 0x19844c
movsx eax, byte [str.ZFreeSid]
sub eax, dword [ebp - 0x24]
movsx ecx, byte [str.ZFreeSid]
add ecx, eax
mov byte [str.ZFreeSid], cl
movsx edx, word [0x100ad0c0]
movsx eax, word [0x100ad0cc]
sub edx, eax
mov byte [0x100ad09a], dl
movzx ecx, word [0x100ad120]
movzx edx, word [ebp - 8]
lea eax, [edx + ecx - 0x4835a7ea]
mov word [ebp - 8], ax
mov eax, dword [0x100ad15c]
add eax, dword [ebp - 0x24]
cdq
mov dword [ebp - 0xf5c], eax
mov dword [ebp - 0xf58], edx
mov ecx, dword [0x100ad110]
cmp ecx, dword [ebp - 0xf5c]
jne 0x10022454
mov edx, dword [0x100ad114]
cmp edx, dword [ebp - 0xf58]
jne 0x10022454
movzx eax, byte [ebp - 3]
sar eax, 5
cdq
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
movsx eax, word [0x100ad130]
movzx ecx, word [0x100ad120]
add eax, ecx
movsx edx, word [0x100ad130]
sub edx, eax
mov word [0x100ad130], dx
movsx eax, byte [0x100ad00e]
test eax, eax
jne 0x10022301
mov dword [ebp - 0x480], 1
jmp 0x1002230b
mov dword [ebp - 0x480], 0
movzx ecx, byte [ebp - 3]
imul ecx, dword [ebp - 0x480]
test ecx, ecx
jne 0x1002232e
xor edx, edx
mov dword [ebp - 0xa24], 1
mov dword [ebp - 0xa20], edx
jmp 0x10022339
xorps xmm0, xmm0
movlpd qword [ebp - 0xa24], xmm0
mov eax, dword [0x100ad100]
xor ecx, ecx
xor eax, dword [0x100ad160]
xor ecx, dword [0x100ad164]
not eax
not ecx
push ecx
push eax
mov edx, dword [ebp - 0xa20]
push edx
mov eax, dword [ebp - 0xa24]
push eax
call fcn.1007a8a0
mov byte [ebp - 4], al
movsx ecx, word [ebp - 0x10]
sub ecx, dword [0x100ad0b4]
movsx edx, word [ebp - 0x10]
add edx, ecx
mov word [ebp - 0x10], dx
movzx eax, word [0x100ad0b8]
cdq
mov ecx, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x100ad0d8]
mov eax, dword [0x100ad0dc]
add edx, ecx
adc eax, esi
mov dword [0x100ad0d8], edx
mov dword [0x100ad0dc], eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x25
cmp dword [0x100ad0e0], ecx
jne 0x10022454
call dword [sym.imp.USER32.dll_GetCapture]
mov word [0x100ad0bc], ax
jmp 0x10022218
cmp dword [ebp - 0x18], 0
je 0x100224cc
movzx eax, byte [ebp - 4]
sub eax, 0x348d2449
cdq
mov dword [0x100ad0d8], eax
mov dword [0x100ad0dc], edx
movzx ecx, byte [ebp - 3]
add ecx, 0xe368
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x34]
sub edx, 0x89b5e10
mov word [0x100ad0cc], dx
movsx eax, byte [str.E2_wcsrchr]
imul eax, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov cl, 3
call fcn.1007a8e0
mov word [0x100ad0ac], ax
push 0x167ee
push 0x8afbda86
mov ecx, dword [ebp - 0x48]
push ecx
mov edx, dword [ebp - 0x4c]
push edx
call fcn.1007a8a0
mov dword [ebp - 0x40], eax
jmp 0x100226f6
movsx eax, word [0x100ad11c]
not eax
movsx ecx, byte [0x100ad00e]
cmp eax, ecx
jge 0x100224ec
mov dword [ebp - 0x488], 1
jmp 0x100224f6
mov dword [ebp - 0x488], 0
mov edx, dword [0x100ad0f8]
or edx, dword [0x100ad0fc]
jne 0x10022510
mov dword [ebp - 0x484], 1
jmp 0x1002251a
mov dword [ebp - 0x484], 0
movzx eax, word [0x100ad120]
cmp eax, dword [ebp - 0x484]
jge 0x10022535
mov dword [ebp - 0x48c], 1
jmp 0x1002253f
mov dword [ebp - 0x48c], 0
mov ecx, dword [ebp - 0x488]
not ecx
or ecx, dword [ebp - 0x48c]
je 0x100225f9
mov edx, dword [ebp - 0x24]
movsx eax, word [0x100ad0d0]
lea ecx, [eax + edx + 0x6614]
mov word [0x100ad0d0], cx
mov eax, dword [ebp - 0x34]
cdq
mov ecx, dword [0x100ad150]
sub ecx, eax
mov eax, dword [0x100ad154]
sbb eax, edx
mov edx, dword [0x100ad150]
sub edx, ecx
mov ecx, dword [0x100ad154]
sbb ecx, eax
mov dword [0x100ad150], edx
mov dword [0x100ad154], ecx
mov dword [ebp - 0x44], 0xb83ec8ff
mov edx, dword [0x100ad128]
mov eax, dword [0x100ad12c]
mov dword [ebp - 0x1598], eax
xor edx, 0x2a74930d
mov word [0x100ad0b8], dx
cmp dword [ebp - 0x28], 0
jne 0x100225d9
xor ecx, ecx
mov dword [ebp - 0xf64], 1
mov dword [ebp - 0xf60], ecx
jmp 0x100225e4
xorps xmm0, xmm0
movlpd qword [ebp - 0xf64], xmm0
mov edx, dword [ebp - 0x4c]
add edx, dword [ebp - 0xf64]
mov word [0x100ad0b0], dx
jmp 0x100226f6
movzx eax, word [ebp - 8]
movzx ecx, byte [str.px_04X_]
imul eax, ecx
test eax, eax
je 0x1002267e
movsx edx, byte [0x100ad00d]
movsx eax, word [ebp - 0x10]
and edx, eax
movsx ecx, byte [0x100ad00d]
sub ecx, edx
mov byte [0x100ad00d], cl
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
sub edx, 0x14b7
sbb eax, 0
mov dword [0x100ad148], edx
mov dword [0x100ad14c], eax
mov ecx, dword [ebp - 0x44]
sub ecx, 0x30
mov word [0x100ad0c0], cx
mov eax, dword [ebp - 0x44]
not eax
movzx edx, byte [ebp - 4]
imul eax, edx
cdq
mov ecx, dword [ebp - 0x4c]
sub ecx, eax
not ecx
mov byte [ebp - 2], cl
movzx edx, byte [ebp - 2]
mov eax, 0xd0ef
sub eax, edx
cdq
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], edx
jmp 0x100226f6
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0xf6c], eax
mov dword [ebp - 0xf68], ecx
mov edx, dword [ebp - 0xf6c]
or edx, dword [ebp - 0xf68]
jne 0x100226f6
mov ax, word [0x100adbec]
mov word [0x100ad130], ax
movzx eax, byte [ebp - 4]
cdq
xor eax, 0x14c5d699
mov dword [0x100ad0b4], eax
movsx eax, byte [0x100ad073]
cdq
mov ecx, eax
xor ecx, dword [0x100ad138]
movsx eax, byte [0x100ad073]
cdq
add eax, ecx
mov byte [0x100ad073], al
movzx eax, byte [0x100ad072]
cdq
push 0xd5eb8
push 0xfb28422
push edx
push eax
call fcn.1007a8a0
mov byte [str.ZFreeSid], al
mov edx, dword [ebp - 0x490]
xor edx, dword [ebp - 0xc4c]
mov eax, dword [ebp - 0x494]
imul eax, dword [ebp - 0x490]
and edx, eax
cmp dword [ebp - 0x494], edx
je 0x10031360
mov byte [0x100ad072], 0xb0
movsx ecx, byte [0x100ad043]
xor ecx, 0x730f
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x34]
sub edx, 0x4d278d76
movzx eax, word [ebp - 0x14]
or eax, edx
mov word [ebp - 0x14], ax
mov eax, dword [ebp - 0x28]
cdq
add eax, 0x789a6248
adc edx, 0xecea1
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
movzx ecx, byte [0x100ad072]
mov edx, dword [ebp - 0x28]
add edx, 1
cmp ecx, edx
jne 0x100228ba
mov ecx, dword [0x100ad138]
and ecx, 0xfdad
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
call fcn.1007a9b0
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
movzx eax, byte [0x100ad0a6]
shl eax, 2
mov byte [ebp - 1], al
mov ecx, dword [0x100ad15c]
sub ecx, dword [0x100ad100]
mov dword [0x100ad15c], ecx
mov edx, dword [0x100ad15c]
sar edx, 4
mov word [0x100ad0cc], dx
movsx eax, byte [str.E2_wcsrchr]
cmp eax, 1
jne 0x100228ba
mov dword [ebp - 0x12c], 0x20e
jmp 0x100227ed
mov ecx, dword [ebp - 0x12c]
sub ecx, 1
mov dword [ebp - 0x12c], ecx
cmp dword [ebp - 0x12c], 0
jle 0x1002286f
movzx edx, word [0x100ad0f0]
movsx eax, word [0x100ad11c]
cmp edx, eax
jg 0x10022814
mov dword [ebp - 0x498], 1
jmp 0x1002281e
mov dword [ebp - 0x498], 0
movzx ecx, word [0x100ad0f0]
cmp ecx, 0xa
jg 0x10022836
mov dword [ebp - 0x49c], 1
jmp 0x10022840
mov dword [ebp - 0x49c], 0
mov edx, dword [ebp - 0x498]
cmp edx, dword [ebp - 0x49c]
jl 0x10022861
movsx eax, word [0x100ad0c4]
push eax
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov byte [0x100ad00f], al
mov cl, byte [ebp - 1]
add cl, 1
mov byte [ebp - 1], cl
jmp 0x100227de
jmp 0x100228ba
mov byte [0x100ad072], 0xb0
mov eax, dword [ebp - 0x24]
cdq
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x159c], edx
xor ecx, eax
movsx eax, word [0x100ad0bc]
not eax
cdq
mov edx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x15a0], esi
add edx, eax
sub ecx, edx
mov dword [0x100ad0a8], ecx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
sub eax, 0x3b
sbb ecx, 0
mov dword [0x100ad150], eax
mov dword [0x100ad154], ecx
mov edx, dword [ebp - 0x44]
sar edx, 4
mov byte [str.ZFreeSid], dl
movzx eax, word [ebp - 8]
cmp eax, dword [ebp - 0x24]
jne 0x1002292b
mov dword [ebp - 0x4a0], 1
jmp 0x10022935
mov dword [ebp - 0x4a0], 0
movzx ecx, word [ebp - 8]
cmp ecx, 0x5b
jne 0x1002294a
mov dword [ebp - 0x4a4], 1
jmp 0x10022954
mov dword [ebp - 0x4a4], 0
mov edx, dword [ebp - 0x4a0]
cmp edx, dword [ebp - 0x4a4]
jl 0x100229c0
mov eax, dword [0x10090958]
mov dword [ebp - 0x1458], eax
mov ecx, dword [0x1009095c]
mov dword [ebp - 0x1454], ecx
mov edx, dword [0x10090960]
mov dword [ebp - 0x1450], edx
mov eax, dword [0x10090964]
mov dword [ebp - 0x144c], eax
mov cx, word [0x10090968]
mov word [ebp - 0x1448], cx
mov dl, byte [0x1009096a]
mov byte [ebp - 0x1446], dl
lea eax, [ebp - 0x1458]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
jmp 0x10022a3b
movsx ecx, byte [0x100ad043]
test ecx, ecx
je 0x10022a3b
mov edx, dword [ebp - 0x30]
add edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x30]
add eax, edx
mov dword [ebp - 0x30], eax
mov cx, word [0x100adbec]
mov word [ebp - 0x14], cx
push 0
push 0x788d
mov edx, dword [ebp - 0x48]
push edx
mov eax, dword [ebp - 0x4c]
push eax
call fcn.1007a8a0
push edx
push eax
mov ecx, dword [0x100ad0ec]
push ecx
mov edx, dword [0x100ad0e8]
push edx
call fcn.1007a8a0
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], edx
movzx eax, byte [ebp - 2]
xor eax, 0x6d12b064
cdq
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
movzx eax, word [ebp - 8]
imul ecx, eax, 0x6da3
movzx edx, byte [ebp - 1]
sub edx, ecx
mov byte [ebp - 1], dl
mov eax, dword [0x100adbec]
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x34], 1
movzx eax, byte [ebp - 3]
cdq
sub eax, 0x11fd6022
mov dword [0x100ad0e0], eax
mov ecx, dword [0x100ad158]
add ecx, 0x96
mov dword [ebp - 0x2c], ecx
mov dl, byte [0x100adbec]
mov byte [ebp - 4], dl
mov eax, dword [ebp - 0x130]
add eax, 0x224b
mov dword [ebp - 0x4f0], eax
call dword [sym.imp.KERNEL32.dll_GetLargePageMinimum]
xor ecx, ecx
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], ecx
mov edx, dword [0x100ad0e8]
or edx, dword [0x100ad0ec]
jne 0x10022ab2
mov dword [ebp - 0x4a8], 1
jmp 0x10022abc
mov dword [ebp - 0x4a8], 0
cmp dword [0x100ad0e8], 0x35
jne 0x10022ada
cmp dword [0x100ad0ec], 0
jne 0x10022ada
mov dword [ebp - 0x4ac], 1
jmp 0x10022ae4
mov dword [ebp - 0x4ac], 0
mov eax, dword [ebp - 0x4a8]
cmp eax, dword [ebp - 0x4ac]
jne 0x10022b66
mov ecx, dword [0x100ad0f8]
not ecx
movsx eax, byte [str.ZFreeSid]
movzx edx, byte [ebp - 4]
and eax, edx
cdq
sub ecx, eax
mov byte [0x100ad073], cl
movsx eax, byte [0x100ad073]
movzx ecx, byte [ebp - 1]
sub eax, ecx
mov word [0x100ad0b8], ax
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
xor edx, 0x4b
xor eax, 0
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
sub ecx, edx
sbb esi, eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], esi
movzx edx, byte [ebp - 3]
imul eax, edx, 0xdb04
mov word [0x100ad0d0], ax
movzx ecx, byte [ebp - 4]
add ecx, dword [0x100ad15c]
mov byte [ebp - 4], cl
jmp 0x10022be6
cmp dword [ebp - 0x34], 0
je 0x10022be6
movzx edx, byte [ebp - 3]
mov eax, dword [ebp - 0x30]
imul eax, edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x28], 0xcdee4f11
movsx ecx, word [0x100ad130]
imul ecx, dword [ebp - 0x24]
and ecx, dword [0x100ad0e0]
not ecx
mov esi, ecx
xor edi, edi
movsx eax, word [0x100ad0b0]
cdq
push edx
push eax
mov edx, dword [ebp - 0x48]
push edx
mov eax, dword [ebp - 0x4c]
push eax
call fcn.1007a8a0
mov ecx, dword [0x100ad0d8]
mov ebx, dword [0x100ad0dc]
add ecx, 0x82346839
adc ebx, 0xd7318
add eax, ecx
adc edx, ebx
add esi, eax
adc edi, edx
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x48], edi
movzx edx, word [0x100ad120]
add edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
sub eax, edx
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x130]
add ecx, 0x3d0a
mov dword [ebp - 0x15a4], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xf74], edx
mov dword [ebp - 0xf70], eax
mov ecx, dword [ebp - 0xf70]
cmp ecx, dword [0x100ad0ec]
jb 0x10022c34
ja 0x10022c28
mov edx, dword [ebp - 0xf74]
cmp edx, dword [0x100ad0e8]
jb 0x10022c34
mov dword [ebp - 0x4b0], 1
jmp 0x10022c3e
mov dword [ebp - 0x4b0], 0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0xf7c], eax
mov dword [ebp - 0xf78], ecx
cmp dword [ebp - 0xf78], 0
ja 0x10022c62
cmp dword [ebp - 0xf7c], 0x1f
jb 0x10022c6e
mov dword [ebp - 0x4b4], 1
jmp 0x10022c78
mov dword [ebp - 0x4b4], 0
mov edx, dword [ebp - 0x4b0]
cmp edx, dword [ebp - 0x4b4]
jl 0x10022f09
mov eax, 4
mov word [ebp - 8], ax
mov ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x2c]
or ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], ecx
movzx edx, byte [ebp - 1]
movzx eax, word [0x100ad0ac]
sub edx, eax
movzx ecx, byte [ebp - 1]
add ecx, edx
mov byte [ebp - 1], cl
mov edx, dword [ebp - 0x54]
add edx, 0x234537d4
mov eax, dword [ebp - 0x50]
adc eax, 0x3b2f4
mov ecx, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
push eax
push edx
push esi
push ecx
call fcn.1007a8a0
mov dword [0x100ad0d8], eax
mov dword [0x100ad0dc], edx
movsx edx, word [ebp - 0x10]
imul eax, edx, 0x4f
cdq
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], esi
mov edx, dword [ebp - 0x34]
imul edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
sub eax, edx
mov dword [ebp - 0x34], eax
movzx ecx, word [0x100ad0ac]
and ecx, dword [ebp - 0x2c]
mov word [0x100ad0ac], cx
movzx edx, word [ebp - 8]
mov dword [ebp - 0x4b8], edx
cmp dword [ebp - 0x4b8], 4
ja case.default.0x10022d3b
mov eax, dword [ebp - 0x4b8]
jmp dword [eax*4 + 0x100313c8]
movzx ecx, byte [ebp - 3]
add ecx, 0xf5c6299
mov byte [ebp - 2], cl
mov esi, dword [ebp - 0x54]
sub esi, 0x6362264f
movsx eax, word [0x100ad0c4]
cdq
mov ecx, dword [ebp - 0x48]
push ecx
mov ecx, dword [ebp - 0x4c]
push ecx
push edx
push eax
call fcn.1007a8a0
add esi, eax
movsx eax, word [0x100ad0c4]
cdq
and esi, eax
mov dword [0x100ad0e0], esi
movsx eax, byte [0x100ad00e]
imul eax, dword [ebp - 0x44]
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
movzx edx, word [0x100ad0b8]
imul eax, edx, 0xe930309e
mov word [0x100ad0f0], ax
jmp case.default.0x10022d3b
movzx ecx, byte [ebp - 3]
test ecx, ecx
je 0x10022dbe
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x4bc], edx
jmp 0x10022dc8
movzx eax, word [ebp - 0x14]
mov dword [ebp - 0x4bc], eax
mov ecx, dword [ebp - 0x4bc]
mov dword [ebp - 0x18], ecx
movsx edx, byte [0x100ad073]
movsx eax, byte [0x100ad09a]
xor edx, eax
mov byte [0x100ad073], dl
mov ecx, 2
imul edx, ecx, 0x3a9a
movsx eax, word [edx + 0x101f0f48]
movzx ecx, word [ebp - 8]
imul ecx, eax
mov word [ebp - 8], cx
mov eax, dword [ebp - 0x28]
cdq
xor eax, 0x80374445
mov dword [ebp - 0x2c], eax
jmp case.default.0x10022d3b
mov dword [0x100ad118], 0xb5e18ab0
movzx eax, word [0x100ad0f0]
cdq
mov edx, dword [0x100ad0d8]
mov ecx, dword [0x100ad0dc]
mov dword [ebp - 0x15a8], ecx
add eax, edx
mov word [0x100ad0f0], ax
movzx eax, byte [str.px_04X_]
cdq
mov ecx, eax
mov esi, edx
sub ecx, 0x992e9b90
sbb esi, 0x6fdda
mov eax, dword [0x100ad0c8]
cdq
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov dword [0x100ad0c8], eax
jmp case.default.0x10022d3b
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov cl, 3
call fcn.1007a8e0
mov byte [ebp - 3], al
mov byte [ebp - 1], 3
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x15ac], eax
sub edx, 0x7c
mov word [ebp - 0xc], dx
jmp case.default.0x10022d3b
mov ecx, dword [0x100adbec]
mov dword [ebp - 0x34], ecx
mov eax, dword [0x100ad0e8]
mov edx, dword [0x100ad0ec]
mov cl, 7
call fcn.1007a9b0
mov dword [ebp - 0x18], eax
push 0
push 0xf220
mov edx, dword [0x100ad13c]
push edx
mov eax, dword [0x100ad138]
push eax
call fcn.1007a8a0
mov word [0x100ad0f0], ax
mov ecx, 0x6b51
mov word [ebp - 8], cx
movzx eax, byte [ebp - 1]
cdq
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
imul ecx, dword [ebp - 0x44], 0x3bdb496e
mov word [0x100ad11c], cx
jmp 0x1002305d
movsx edx, word [ebp - 0xc]
movsx eax, byte [str.E2_wcsrchr]
cmp edx, eax
jne 0x10022f24
mov dword [ebp - 0x4c4], 1
jmp 0x10022f2e
mov dword [ebp - 0x4c4], 0
cmp dword [0x100ad158], 0
jne 0x10022f43
mov dword [ebp - 0x4c0], 1
jmp 0x10022f4d
mov dword [ebp - 0x4c0], 0
mov ecx, dword [ebp - 0x4c0]
sub ecx, dword [ebp - 0x24]
cmp dword [ebp - 0x4c4], ecx
jge 0x1002305d
movsx eax, word [0x100ad0c0]
cdq
mov dword [0x100ad128], eax
mov dword [0x100ad12c], edx
mov byte [str.E2_wcsrchr], 0x54
mov eax, dword [ebp - 0x44]
cdq
mov ecx, dword [ebp - 0x4c]
not ecx
mov esi, dword [ebp - 0x48]
not esi
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
not ecx
movzx eax, word [ebp - 0x14]
cdq
sub eax, dword [0x100ad160]
sub ecx, eax
mov word [0x100ad0d0], cx
mov edx, dword [0x100ad110]
add edx, 0x49b82901
mov byte [0x100ad043], dl
cmp dword [0x100ad0c8], 0
jne 0x10022fd2
mov dword [ebp - 0x4c8], 1
jmp 0x10022fdc
mov dword [ebp - 0x4c8], 0
cmp dword [0x100ad158], 0
jne 0x10022ff1
mov dword [ebp - 0x4cc], 1
jmp 0x10022ffb
mov dword [ebp - 0x4cc], 0
movzx eax, byte [ebp - 3]
imul eax, dword [ebp - 0x34]
movzx ecx, word [ebp - 0x14]
sub ecx, dword [ebp - 0x4c8]
add eax, ecx
movzx edx, byte [ebp - 4]
mov ecx, dword [ebp - 0x30]
and ecx, edx
mov edx, dword [ebp - 0x18]
xor edx, dword [ebp - 0x4cc]
add ecx, edx
add eax, ecx
xor ecx, ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x4c]
or edx, dword [ebp - 0x48]
je 0x10023040
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x4d0], eax
jmp 0x1002304a
movzx ecx, byte [ebp - 4]
mov dword [ebp - 0x4d0], ecx
mov edx, dword [ebp - 0x4d0]
xor eax, eax
mov dword [0x100ad128], edx
mov dword [0x100ad12c], eax
mov ecx, dword [ebp - 0x130]
add ecx, 0x101fc
mov dword [ebp - 0x4f4], ecx
movsx edx, byte [str.E2_wcsrchr]
cmp dword [ebp - 0x24], edx
jge 0x100230b9
movzx eax, byte [str.px_04X_]
not eax
movsx ecx, byte [0x100ad09a]
mov edx, dword [ebp - 0x34]
not edx
mov esi, dword [ebp - 0x24]
not esi
xor edx, esi
xor ecx, edx
add eax, ecx
mov byte [ebp - 3], al
mov dword [0x100ad0e0], 2
movzx eax, byte [ebp - 1]
sar eax, 8
mov dword [0x100ad140], eax
jmp 0x100232ed
cmp dword [ebp - 0x30], 0
je 0x100230d3
movzx ecx, byte [ebp - 4]
test ecx, ecx
je 0x100230d3
mov dword [ebp - 0x4d4], 1
jmp 0x100230dd
mov dword [ebp - 0x4d4], 0
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jb 0x100230f1
mov dword [ebp - 0x4d8], 1
jmp 0x100230fb
mov dword [ebp - 0x4d8], 0
mov eax, dword [ebp - 0x4d4]
cmp eax, dword [ebp - 0x4d8]
je 0x100231e1
movsx ecx, byte [str.ZFreeSid]
imul ecx, dword [ebp - 0x28]
test ecx, ecx
jne 0x10023128
mov dword [ebp - 0x4dc], 1
jmp 0x10023132
mov dword [ebp - 0x4dc], 0
mov edx, dword [ebp - 0x30]
xor eax, eax
sub edx, dword [ebp - 0x54]
sbb eax, dword [ebp - 0x50]
mov dword [ebp - 0xf84], edx
mov dword [ebp - 0xf80], eax
mov ecx, dword [ebp - 0xf84]
or ecx, dword [ebp - 0xf80]
jne 0x10023163
mov dword [ebp - 0x4e0], 1
jmp 0x1002316d
mov dword [ebp - 0x4e0], 0
movsx edx, byte [0x100ad00e]
not edx
movsx eax, word [0x100ad0d0]
sub edx, eax
mov ecx, dword [ebp - 0x4dc]
sub ecx, edx
movsx edx, byte [0x100ad043]
mov eax, 0xb8
sub eax, edx
add ecx, dword [ebp - 0x4e0]
add eax, ecx
mov byte [ebp - 4], al
imul ecx, dword [ebp - 0x18], 0x43a069b7
mov word [0x100ad0cc], cx
cmp dword [ebp - 0x40], 0
jne 0x100231c0
mov dword [ebp - 0x4e4], 1
jmp 0x100231ca
mov dword [ebp - 0x4e4], 0
movsx edx, word [0x100ad0cc]
add edx, dword [ebp - 0x4e4]
not edx
mov byte [ebp - 3], dl
jmp 0x100232ed
movsx eax, word [0x100ad11c]
test eax, eax
je 0x100232ed
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0xf8c], ecx
mov dword [ebp - 0xf88], edx
mov eax, dword [ebp - 0xf8c]
or eax, dword [ebp - 0xf88]
jne 0x1002321c
mov dword [ebp - 0x4e8], 1
jmp 0x10023226
mov dword [ebp - 0x4e8], 0
mov eax, dword [ebp - 0x24]
cdq
add eax, dword [0x100ad138]
adc edx, dword [0x100ad13c]
mov dword [ebp - 0xf94], eax
mov dword [ebp - 0xf90], edx
mov ecx, dword [ebp - 0xf94]
or ecx, dword [ebp - 0xf90]
jne 0x1002325c
mov dword [ebp - 0x4ec], 1
jmp 0x10023266
mov dword [ebp - 0x4ec], 0
movzx eax, byte [ebp - 4]
and eax, dword [ebp - 0x4e8]
add eax, dword [ebp - 0x4ec]
cdq
mov esi, eax
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x38]
add edx, dword [ebp - 0x3c]
adc eax, ecx
mov ecx, dword [ebp - 0x18]
xor edi, edi
xor ecx, dword [0x100ad150]
xor edi, dword [0x100ad154]
push edi
push ecx
push eax
push edx
call fcn.1007a8a0
add esi, eax
mov dword [ebp - 0x28], esi
imul edx, dword [0x100ad0a8], 0x8e
mov eax, dword [0x100ad15c]
sub eax, edx
mov dword [0x100ad15c], eax
mov ecx, dword [0x100ad100]
mov edx, dword [0x100ad128]
mov eax, dword [0x100ad12c]
mov dword [ebp - 0x15b0], eax
not edx
add ecx, edx
movzx eax, byte [ebp - 1]
movzx edx, word [0x100ad0f0]
xor eax, edx
cdq
add ecx, eax
mov dword [0x100ad0e0], ecx
mov eax, dword [ebp - 0x54]
sub eax, 0xa4
mov dword [ebp - 0x2c], eax
movsx ecx, byte [0x100ad042]
test ecx, ecx
je 0x10023319
movsx eax, word [0x100ad0cc]
cdq
mov dword [ebp - 0x8f4], eax
mov dword [ebp - 0x8f0], edx
jmp 0x1002332b
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x8f4], edx
mov dword [ebp - 0x8f0], eax
mov ecx, dword [ebp - 0x8f4]
mov edx, dword [ebp - 0x8f0]
mov dword [0x100ad0d8], ecx
mov dword [0x100ad0dc], edx
movsx eax, word [0x100ad130]
cdq
sub eax, dword [0x100ad0e8]
mov word [0x100ad130], ax
movsx eax, byte [0x100ad00e]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x4f0]
xor ecx, dword [ebp - 0x4f0]
mov edx, dword [ebp - 0x4f4]
sub edx, dword [ebp - 0x4f4]
xor ecx, edx
mov eax, 0xaf
sub eax, ecx
mov dword [ebp - 0xc94], eax
mov dword [ebp - 0x134], 0xe5
jmp 0x100233a3
mov ecx, dword [ebp - 0x134]
sub ecx, 1
mov dword [ebp - 0x134], ecx
cmp dword [ebp - 0x134], 0
jle 0x10023411
mov edx, 2
imul eax, edx, 0x6c1
mov cx, word [ebp - 0xc]
mov word [eax + 0x101f0f48], cx
movsx eax, byte [str.ZFreeSid]
cdq
add eax, 0xe99c7ba8
adc edx, 0x59260
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], edx
mov dword [ebp - 0x44], 0xcc872eb6
movsx edx, byte [0x100ad042]
not edx
movzx eax, byte [str.px_04X_]
add eax, dword [ebp - 0x24]
imul edx, eax
mov dword [0x100ad118], edx
mov cx, word [ebp - 0x10]
add cx, 1
mov word [ebp - 0x10], cx
jmp 0x10023394
mov edx, dword [0x100adbec]
mov dword [ebp - 0x138], edx
movsx eax, word [ebp - 0xc]
movsx ecx, byte [0x100ad00e]
imul eax, ecx
movsx edx, word [ebp - 0xc]
imul edx, eax
mov word [ebp - 0xc], dx
mov eax, dword [0x100ad160]
add eax, 0x9daef9fd
mov dword [ebp - 0x40], eax
movsx eax, word [ebp - 0xc]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x100ad0dc]
add ecx, dword [0x100ad0d8]
adc esi, edx
movsx eax, word [ebp - 0xc]
cdq
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov word [ebp - 0xc], ax
mov eax, dword [ebp - 0x138]
add eax, 0x481
mov dword [ebp - 0x160], eax
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
mov dword [0x100ad148], ecx
mov dword [0x100ad14c], edx
movsx eax, word [ebp - 0x10]
add eax, dword [0x100ad0b4]
movsx ecx, word [ebp - 0x10]
add ecx, eax
mov word [ebp - 0x10], cx
movsx edx, byte [0x100ad00d]
mov eax, dword [ebp - 0x44]
imul eax, edx
mov ecx, dword [ebp - 0x44]
sub ecx, eax
mov dword [ebp - 0x44], ecx
mov byte [ebp - 2], 4
movzx edx, byte [ebp - 1]
movzx eax, byte [ebp - 1]
sub edx, eax
mov byte [ebp - 1], dl
movsx eax, word [0x100ad0cc]
cdq
push 0x15330
push 0xa6ab8d2d
push edx
push eax
call fcn.1007a8a0
mov byte [0x100ad073], al
mov ecx, dword [ebp - 0x138]
add ecx, 0x42e
mov dword [ebp - 0xc7c], ecx
movsx edx, word [ebp - 0xc]
cmp dword [0x100ad118], edx
jne 0x100237cd
mov eax, 4
mov word [0x100ad0f0], ax
movsx ecx, word [ebp - 0xc]
sub ecx, dword [0x100ad158]
mov word [ebp - 0xc], cx
mov byte [str.E2_wcsrchr], 0xe8
movzx edx, word [0x100ad0f0]
mov dword [ebp - 0x4f8], edx
cmp dword [ebp - 0x4f8], 4
ja case.default.0x1002354f
mov eax, dword [ebp - 0x4f8]
jmp dword [eax*4 + 0x100313dc]
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov cl, 7
call fcn.1007a8e0
mov word [ebp - 0x14], ax
movzx eax, byte [ebp - 4]
cdq
mov ecx, eax
mov esi, edx
xor ecx, dword [0x100ad150]
xor esi, dword [0x100ad154]
not ecx
not esi
movsx eax, word [0x100ad0bc]
cdq
and ecx, eax
and esi, edx
mov dword [ebp - 0xf9c], ecx
mov dword [ebp - 0xf98], esi
mov edx, dword [ebp - 0xf9c]
or edx, dword [ebp - 0xf98]
jne 0x100235b2
movzx eax, byte [str.px_04X_]
imul eax, dword [ebp - 0x44]
cdq
mov ecx, eax
mov eax, dword [0x100ad158]
cdq
mov edx, dword [0x100ad138]
sub edx, eax
add ecx, edx
not ecx
mov dword [0x100ad0a8], ecx
mov eax, 2
imul ecx, eax, 0x55
mov dx, word [ecx + 0x100df3a0]
mov word [0x100ad0f0], dx
mov eax, dword [0x100adbec]
xor ecx, ecx
mov dword [0x100ad108], eax
mov dword [0x100ad10c], ecx
mov edx, dword [0x100ad108]
mov eax, dword [0x100ad10c]
mov dword [ebp - 0xfa4], edx
mov dword [ebp - 0xfa0], eax
mov ecx, dword [ebp - 0xfa4]
or ecx, dword [ebp - 0xfa0]
je 0x10023691
mov edx, dword [0x100ad0b4]
add edx, 0x15ca
movsx eax, byte [0x100ad073]
mov ecx, dword [ebp - 0x44]
add ecx, eax
not ecx
imul edx, ecx
test edx, edx
jne 0x100236e3
movzx eax, word [0x100ad0f0]
sub eax, 0x6265009a
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov dx, word [0x100adbec]
mov word [ebp - 0xc], dx
mov al, byte [0x100ad00f]
mov byte [ebp - 1], al
jmp case.default.0x1002354f
mov ecx, dword [ebp - 0x4c]
add ecx, 0x7b29
mov edx, dword [ebp - 0x30]
sub edx, ecx
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0x30]
sub ecx, 0xe7e20a23
movzx eax, byte [0x100ad0a6]
cdq
sub eax, ecx
mov byte [0x100ad0a6], al
mov edx, dword [ebp - 0x4c]
add edx, 0x22816e0e
mov dword [ebp - 0x30], edx
jmp 0x1002386a
movsx eax, byte [0x100ad00d]
cdq
mov dword [ebp - 0xfac], eax
mov dword [ebp - 0xfa8], edx
mov eax, dword [ebp - 0xfa8]
cmp eax, dword [0x100ad13c]
jb 0x1002386a
ja 0x100237ff
mov ecx, dword [ebp - 0xfac]
cmp ecx, dword [0x100ad138]
jb 0x1002386a
movsx edx, word [ebp - 0xc]
imul edx, dword [0x100ad140]
mov ecx, edx
movzx eax, byte [0x100ad0a6]
cdq
mov edx, dword [0x100ad138]
sub edx, eax
add ecx, edx
mov eax, dword [ebp - 0x28]
cdq
xor ecx, eax
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x40]
cdq
mov ecx, eax
sub ecx, 0x19063be5
mov eax, dword [0x100ad0a8]
cdq
sub eax, ecx
mov dword [0x100ad0a8], eax
mov edx, dword [0x100ad0d8]
mov eax, dword [0x100ad0dc]
mov dword [ebp - 0x15b4], eax
add edx, 0x663
mov byte [ebp - 1], dl
mov ecx, dword [ebp - 0x40]
sub ecx, 0x82
mov word [0x100ad0cc], cx
mov edx, dword [ebp - 0x138]
add edx, 0x3af
mov dword [ebp - 0xc80], edx
xor eax, eax
mov byte [ebp - 0x63], al
lea ecx, [ebp - 0x193a]
push ecx
lea ecx, [ebp - 0x63]
call fcn.100033e0
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x88], 0
jmp 0x100238b1
cmp dword [ebp - 0x88], 0x1d
jae 0x10023913
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x84]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0xc50], edx
mov eax, dword [ebp - 0xc50]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x84]
movsx eax, byte [edx]
xor ecx, eax
mov word [ebp - 0xbc], cx
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x84]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0xc54], eax
mov ecx, dword [ebp - 0xc54]
mov dx, word [ebp - 0xbc]
mov word [ecx], dx
jmp fcn.100238a2
mov eax, 0x1d
shl eax, 1
mov ecx, dword [ebp - 0x84]
lea edx, [ecx + eax + 2]
mov dword [ebp - 0xc58], edx
xor eax, eax
mov ecx, dword [ebp - 0xc58]
mov word [ecx], ax
mov edx, dword [ebp - 0x84]
add edx, 2
mov dword [ebp - 0xc60], edx
lea eax, [ebp - 0xc5c]
push eax
lea ecx, [ebp - 0x50c]
push ecx
mov edx, dword [ebp - 0xc60]
push edx
call fcn.10006b30
movzx eax, byte [ebp - 4]
cmp eax, dword [0x100ad0b4]
jge 0x10023976
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret