Function at 0x100071e0
Capabilities:
Encode data using base64
Encrypt data using speck
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x13b4
call fcn.1007a9d0
push ebx
push esi
push edi
movzx eax, byte [0x100ad072]
mov dword [ebp - 0x1264], eax
mov ecx, 0x56f7
mov word [ebp - 0x10], cx
movzx eax, byte [0x100ad00f]
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
movsx edx, byte [0x100ad00d]
mov dword [ebp - 0x28], edx
movsx eax, byte [0x100ad00d]
mov dword [ebp - 0x20], eax
movzx eax, word [0x100ad0f0]
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
mov ecx, 0xbeb1
mov word [ebp - 0x18], cx
mov dword [ebp - 0x24], 0x4b52ffe0
mov dl, byte [0x100ad11c]
mov byte [ebp - 2], dl
mov eax, 0x67
mov word [ebp - 0xc], ax
movsx eax, byte [0x100ad00e]
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov cl, byte [0x100ad0b4]
mov byte [ebp - 1], cl
movzx dx, byte [0x100ad0a6]
mov word [ebp - 0x1c], dx
mov eax, dword [0x100ad110]
mov ecx, dword [0x100ad114]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
mov edx, dword [0x100ad0e8]
mov eax, dword [0x100ad0ec]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
mov ecx, 0xe1df
mov word [ebp - 0x14], cx
movsx eax, word [0x100ad0bc]
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov byte [ebp - 5], 0xea
mov byte [ebp - 4], 0x65
mov byte [ebp - 3], 0xe1
mov dl, byte [str.px_04X_]
mov byte [ebp - 6], dl
movzx eax, byte [0x100ad0a6]
mov dword [ebp - 0x1268], eax
movsx ecx, byte [0x100ad037]
mov dword [ebp - 0x126c], ecx
movsx edx, byte [0x100ad042]
mov dword [ebp - 0x1270], edx
mov eax, dword [0x100ad0d8]
mov ecx, dword [0x100ad0dc]
mov dword [ebp - 0x1274], ecx
mov word [ebp - 0x98c], ax
mov edx, 0x6325
mov word [ebp - 0x990], dx
movzx ax, byte [str.px_04X_]
mov word [ebp - 0x994], ax
mov dword [ebp - 0x1278], 0xd6379b4b
mov byte [ebp - 0x173], 0x9f
mov cx, word [0x100ad0bc]
mov word [ebp - 0x998], cx
mov dword [ebp - 0x127c], 0xbb
mov edx, 0x40
mov word [ebp - 0x99c], dx
mov eax, 0x2c28
mov word [ebp - 0x9a0], ax
mov dword [ebp - 0x1280], 0x347c5243
mov byte [ebp - 0x172], 0xb5
mov ecx, 0x24a26
mov dword [ebp - 0x137c], 0xc0a9070a
mov dword [ebp - 0x1378], ecx
xor edx, edx
mov dword [ebp - 0x1384], 0x6d
mov dword [ebp - 0x1380], edx
mov eax, dword [0x100ad118]
cdq
mov dword [ebp - 0x138c], eax
mov dword [ebp - 0x1388], edx
mov dword [ebp - 0x1284], 0xc72329d5
mov byte [ebp - 0x171], 0xf2
movzx eax, byte [str.px_04X_]
push eax
call dword [sym.imp.USER32.dll_GetDlgCtrlID]
xor ecx, ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
mov edx, dword [0x100adbec]
mov dword [ebp - 0xf8], edx
cmp dword [ebp - 0x20], 0
je 0x10007655
movsx eax, word [0x100ad0d0]
movzx ecx, byte [0x100ad00f]
cmp eax, ecx
jge 0x10007409
mov dword [ebp - 0x6c0], 1
jmp 0x10007413
mov dword [ebp - 0x6c0], 0
movsx edx, word [0x100ad0d0]
cmp edx, 0x53
jge 0x1000742b
mov dword [ebp - 0x188], 1
jmp 0x10007435
mov dword [ebp - 0x188], 0
mov eax, dword [ebp - 0x6c0]
cmp eax, dword [ebp - 0x188]
jge 0x10007554
mov ecx, dword [0x100ad108]
mov edx, dword [0x100ad10c]
mov dword [ebp - 0x1288], edx
mov byte [0x100ad042], cl
movsx eax, byte [0x100ad09a]
cdq
mov ecx, dword [0x100ad0e8]
sub ecx, eax
mov eax, dword [0x100ad0ec]
sbb eax, edx
mov edx, dword [0x100ad0e8]
sub edx, ecx
mov ecx, dword [0x100ad0ec]
sbb ecx, eax
mov dword [0x100ad0e8], edx
mov dword [0x100ad0ec], ecx
cmp dword [0x100ad100], 0
jne 0x100074a7
mov dword [ebp - 0x18c], 1
jmp 0x100074b1
mov dword [ebp - 0x18c], 0
movsx edx, word [ebp - 0xc]
sub edx, dword [ebp - 0x18c]
jne 0x100074c9
mov dword [ebp - 0x190], 1
jmp 0x100074d3
mov dword [ebp - 0x190], 0
movsx eax, byte [0x100ad09a]
sub eax, dword [ebp - 0x190]
imul eax, dword [0x100ad140]
xor ecx, ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
mov edx, dword [0x100ad138]
or edx, dword [0x100ad13c]
je 0x10007516
mov eax, dword [0x100ad0d8]
mov ecx, dword [0x100ad0dc]
mov dword [ebp - 0x6c8], eax
mov dword [ebp - 0x6c4], ecx
jmp 0x10007528
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x6c8], edx
mov dword [ebp - 0x6c4], eax
mov ecx, dword [ebp - 0x6c8]
mov edx, dword [ebp - 0x6c4]
mov dword [0x100ad138], ecx
mov dword [0x100ad13c], edx
movzx eax, byte [str.px_04X_]
xor eax, 0xc7f
mov byte [ebp - 3], al
jmp 0x10007655
cmp dword [0x100ad158], 0
je 0x10007655
movsx eax, byte [0x100ad00d]
cdq
mov ecx, eax
add ecx, 0xb462b473
movsx eax, byte [ebp - 2]
cdq
add eax, ecx
mov byte [ebp - 2], al
mov dl, byte [ebp - 5]
mov byte [0x100ad043], dl
movzx eax, word [ebp - 0x14]
test eax, eax
jne 0x100075a0
xor ecx, ecx
mov dword [ebp - 0x708], 1
mov dword [ebp - 0x704], ecx
jmp 0x100075ab
xorps xmm0, xmm0
movlpd qword [ebp - 0x708], xmm0
mov edx, dword [ebp - 0x30]
not edx
mov eax, dword [ebp - 0x2c]
not eax
and edx, dword [ebp - 0x708]
and eax, dword [ebp - 0x704]
mov ecx, dword [0x100ad14c]
sub edx, dword [0x100ad148]
sbb eax, ecx
mov dword [ebp - 0xa08], edx
mov dword [ebp - 0xa04], eax
mov edx, dword [ebp - 0xa08]
or edx, dword [ebp - 0xa04]
jne 0x100075f7
mov eax, 1
mov word [ebp - 0x90], ax
jmp 0x10007600
xor ecx, ecx
mov word [ebp - 0x90], cx
mov dx, word [ebp - 0x90]
mov word [0x100ad130], dx
mov eax, dword [0x100ad158]
cdq
add eax, dword [ebp - 0x48]
mov dword [0x100ad158], eax
mov eax, dword [ebp - 0x20]
imul eax, dword [0x100ad0c8]
add eax, dword [0x100ad0c8]
mov dword [0x100ad0c8], eax
movzx eax, byte [ebp - 3]
cdq
mov ecx, eax
mov esi, edx
movzx eax, word [ebp - 0x1c]
cdq
or eax, dword [ebp - 0x48]
or edx, dword [ebp - 0x44]
sub ecx, eax
sbb esi, edx
mov dword [0x100ad138], ecx
mov dword [0x100ad13c], esi
mov edx, dword [ebp - 0xf8]
add edx, 0x290
mov dword [ebp - 0x128c], edx
mov eax, 4
imul ecx, eax, 0x29
mov dx, word [ecx + 0x101af448]
mov word [ebp - 0x14], dx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
add eax, dword [ebp - 0x58]
adc ecx, dword [ebp - 0x54]
mov dword [ebp - 0xa10], eax
mov dword [ebp - 0xa0c], ecx
mov edx, dword [ebp - 0xa10]
or edx, dword [ebp - 0xa0c]
jne 0x100076b4
xor eax, eax
mov dword [ebp - 0xa18], 1
mov dword [ebp - 0xa14], eax
jmp 0x100076bf
xorps xmm0, xmm0
movlpd qword [ebp - 0xa18], xmm0
mov eax, dword [0x100ad158]
not eax
cdq
mov ecx, dword [0x100ad110]
add ecx, dword [ebp - 0xa18]
add eax, ecx
mov dword [0x100ad140], eax
mov edx, dword [0x100adbec]
xor eax, eax
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
movsx ecx, word [0x100ad0b0]
test ecx, ecx
je 0x10007707
mov eax, dword [0x100ad0b4]
cdq
mov dword [ebp - 0x710], eax
mov dword [ebp - 0x70c], edx
jmp 0x10007719
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x710], edx
mov dword [ebp - 0x70c], eax
mov ecx, dword [ebp - 0x710]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x50]
sub edx, 0x3085
mov eax, dword [ebp - 0x4c]
sbb eax, 0
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x24]
sub ecx, 0xb4
mov byte [0x100ad072], cl
mov edx, dword [ebp - 0xf8]
add edx, 0x305
mov dword [ebp - 0x9a8], edx
movsx eax, word [ebp - 0xc]
cdq
mov dword [ebp - 0xa20], eax
mov dword [ebp - 0xa1c], edx
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0xa20]
jne 0x1000777f
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0xa1c]
je 0x1000778b
mov dword [ebp - 0x194], 1
jmp 0x10007795
mov dword [ebp - 0x194], 0
movzx edx, byte [ebp - 6]
cmp edx, dword [ebp - 0x194]
je 0x100078f6
movzx eax, byte [ebp - 3]
test eax, eax
je 0x100077bc
movsx ecx, word [0x100ad0d0]
mov dword [ebp - 0x198], ecx
jmp 0x100077c8
mov edx, dword [0x100ad0c8]
mov dword [ebp - 0x198], edx
mov eax, dword [ebp - 0x198]
mov dword [0x100ad158], eax
mov eax, dword [0x100ad108]
mov edx, dword [0x100ad10c]
mov cl, 3
call fcn.1007a8e0
mov byte [0x100ad042], al
mov ecx, dword [0x100ad0d8]
mov edx, dword [0x100ad0dc]
sub ecx, dword [ebp - 0x50]
sbb edx, dword [ebp - 0x4c]
mov eax, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
add eax, ecx
adc esi, edx
mov dword [0x100ad0d8], eax
mov dword [0x100ad0dc], esi
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
mov dword [ebp - 0x1290], edx
add ecx, 0x6241ae68
mov byte [ebp - 6], cl
mov eax, dword [0x100ad10c]
mov ecx, dword [ebp - 0x48]
sub ecx, dword [0x100ad108]
mov edx, dword [ebp - 0x44]
sbb edx, eax
mov eax, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
sub eax, ecx
sbb esi, edx
mov dword [ebp - 0xa28], eax
mov dword [ebp - 0xa24], esi
mov ecx, dword [ebp - 0xa28]
or ecx, dword [ebp - 0xa24]
jne 0x1000787c
xor edx, edx
mov dword [ebp - 0x718], 1
mov dword [ebp - 0x714], edx
jmp 0x10007887
xorps xmm0, xmm0
movlpd qword [ebp - 0x718], xmm0
movsx eax, word [0x100ad0b0]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
sub ecx, eax
sbb esi, edx
movzx eax, byte [ebp - 1]
cdq
sub ecx, eax
sbb esi, edx
xor ecx, dword [ebp - 0x718]
xor esi, dword [ebp - 0x714]
mov dword [0x100ad0f8], ecx
mov dword [0x100ad0fc], esi
mov edx, dword [0x100ad140]
xor eax, eax
push eax
push edx
mov ecx, dword [0x100ad164]
push ecx
mov edx, dword [0x100ad160]
push edx
call fcn.1007a8a0
mov ecx, dword [0x100ad160]
sub ecx, eax
mov eax, dword [0x100ad164]
sbb eax, edx
mov dword [0x100ad160], ecx
mov dword [0x100ad164], eax
jmp 0x1000799d
movsx ecx, byte [ebp - 4]
cmp ecx, 0x8275
jg 0x1000790e
mov dword [ebp - 0x19c], 1
jmp 0x10007918
mov dword [ebp - 0x19c], 0
movzx edx, word [ebp - 0x14]
sub edx, dword [ebp - 0x19c]
je 0x1000799d
mov al, byte [0x100ad0e8]
mov byte [0x100ad09a], al
mov ecx, dword [ebp - 0x30]
add ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x2c]
adc edx, dword [ebp - 0x44]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov cl, 4
call fcn.1007a8e0
mov byte [0x100ad037], al
movsx eax, byte [0x100ad043]
movsx ecx, byte [ebp - 2]
sub eax, ecx
movsx edx, byte [0x100ad043]
add edx, eax
mov byte [0x100ad043], dl
movzx eax, word [0x100ad0b8]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [0x100ad0f8]
adc esi, dword [0x100ad0fc]
movzx eax, word [0x100ad0b8]
cdq
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov word [0x100ad0b8], ax
mov edx, dword [ebp - 0xf8]
add edx, 0xcc88
mov dword [ebp - 0x1294], edx
xor eax, eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
xor ecx, dword [ebp - 0x20]
xor edx, eax
mov dword [ebp - 0xa30], ecx
mov dword [ebp - 0xa2c], edx
mov eax, dword [ebp - 0xa30]
or eax, dword [ebp - 0xa2c]
jne 0x100079e4
mov ecx, 1
mov word [ebp - 0x8a], cx
jmp 0x100079ed
xor edx, edx
mov word [ebp - 0x8a], dx
mov ax, word [ebp - 0x8a]
mov word [0x100ad130], ax
movzx ecx, byte [ebp - 1]
imul eax, ecx, 0x70c6
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
movsx edx, byte [0x100ad042]
add edx, dword [0x100ad0c8]
mov eax, dword [0x100ad0c8]
sub eax, edx
mov dword [0x100ad0c8], eax
movsx ecx, byte [0x100ad043]
imul edx, ecx, 0xc45bf12
mov dword [ebp - 0x24], edx
movsx eax, byte [ebp - 2]
sub eax, 0xe1d3
mov byte [0x100ad073], al
movzx eax, byte [0x100ad00f]
cdq
mov ecx, eax
xor ecx, dword [0x100ad0f8]
movzx eax, byte [0x100ad00f]
cdq
and eax, ecx
mov byte [0x100ad00f], al
mov edx, 0x68ef
mov word [0x100ad0b0], dx
movzx eax, word [0x100ad0ac]
sub eax, dword [0x100ad0c8]
movzx ecx, word [0x100ad0ac]
add ecx, eax
mov word [0x100ad0ac], cx
mov edx, dword [0x100ad0a8]
shl edx, 7
mov byte [0x100ad043], dl
mov eax, dword [0x100ad148]
mov ecx, dword [0x100ad14c]
mov dword [ebp - 0x1298], ecx
add eax, 0xbc
mov dword [ebp - 0x24], eax
movsx edx, byte [0x100ad00e]
imul eax, edx, 0xb5513556
mov byte [0x100ad09a], al
mov cx, word [0x100ad0cc]
mov edx, 1
imul eax, edx, 0x655
mov byte [eax + 0x100d57e0], cl
movzx ecx, byte [0x100ad0a6]
add ecx, 0x5423ca4a
xor edx, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], edx
movsx eax, word [0x100ad0b0]
mov ecx, dword [ebp - 0x20]
add ecx, 1
cmp eax, ecx
jne 0x10007c65
mov edx, dword [0x100ad118]
cmp dword [0x100ad100], edx
jbe 0x10007b5d
push 0xc7797
push 0x783901b0
mov eax, dword [ebp - 0x4c]
push eax
mov ecx, dword [ebp - 0x50]
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov byte [str.ZFreeSid], 0x92
mov edx, 0x8c327
mov dword [0x100ad160], 0x2ac08ffa
mov dword [0x100ad164], edx
movzx eax, byte [str.px_04X_]
cdq
sub eax, dword [ebp - 0x48]
mov byte [str.px_04X_], al
movsx eax, byte [0x100ad00d]
add eax, 0x5994
mov byte [ebp - 4], al
movzx ecx, word [ebp - 0x18]
test ecx, ecx
je 0x10007b82
mov edx, dword [0x100ad140]
mov dword [ebp - 0x1a0], edx
jmp 0x10007b8f
movzx eax, word [0x100ad0b8]
mov dword [ebp - 0x1a0], eax
mov cl, byte [ebp - 0x1a0]
mov byte [0x100ad042], cl
movsx edx, byte [0x100ad042]
cmp edx, 1
jne 0x10007c65
movzx eax, word [ebp - 0x14]
imul eax, eax, 0x22
cdq
mov dword [0x100ad128], eax
mov dword [0x100ad12c], edx
movsx ecx, word [ebp - 0xc]
movsx edx, word [0x100ad0bc]
sub ecx, edx
mov word [ebp - 0xc], cx
movzx eax, byte [ebp - 3]
movzx ecx, word [0x100ad0f0]
imul eax, ecx
mov byte [ebp - 3], al
movzx edx, word [0x100ad0f0]
shl edx, 8
mov byte [0x100ad00f], dl
push 0
push 0x6a77
mov eax, dword [ebp - 0x4c]
push eax
mov ecx, dword [ebp - 0x50]
push ecx
call fcn.1007a8a0
mov word [ebp - 0x1c], ax
jmp 0x10007c65
mov eax, 0x68ef
mov word [0x100ad0b0], ax
movsx eax, byte [ebp - 4]
add eax, 0x73ec
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movzx ecx, byte [0x100ad072]
imul edx, ecx, 0x25
mov word [ebp - 0x18], dx
movzx eax, byte [0x100ad072]
cdq
push 0x761da
push 0x248a1bd6
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
movzx eax, byte [ebp - 6]
cdq
xor eax, ecx
mov byte [ebp - 6], al
movsx eax, word [0x100ad130]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
movsx eax, word [0x100ad130]
cdq
add eax, ecx
mov word [0x100ad130], ax
movsx edx, byte [ebp - 2]
movzx eax, byte [0x100ad00f]
imul edx, eax
movsx ecx, byte [ebp - 2]
and ecx, edx
mov byte [ebp - 2], cl
xor edx, edx
mov word [ebp - 0xc], dx
movzx eax, word [0x100ad0ac]
imul ecx, eax, 0x3164
movzx edx, byte [ebp - 5]
add edx, ecx
mov byte [ebp - 5], dl
movzx eax, byte [ebp - 6]
add eax, dword [ebp - 0x24]
not eax
mov esi, eax
xor edi, edi
mov eax, dword [0x100ad158]
cdq
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov eax, dword [ebp - 0x4c]
sbb eax, edx
add esi, ecx
adc edi, eax
movzx eax, byte [0x100ad072]
not eax
cdq
mov ecx, dword [0x100ad0d8]
mov ebx, dword [0x100ad0dc]
push edx
push eax
push ebx
push ecx
call fcn.1007a8a0
mov ecx, eax
mov ebx, edx
movsx eax, word [0x100ad0b0]
imul eax, dword [0x100ad0b4]
not eax
cdq
push edx
push eax
push ebx
push ecx
call fcn.1007a8a0
push edx
push eax
push edi
push esi
call fcn.1007a8a0
mov dword [ebp - 0x24], eax
movzx eax, byte [ebp - 3]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x12a0], eax
add ecx, edx
movzx eax, byte [ebp - 3]
cdq
sub eax, ecx
mov byte [ebp - 3], al
movsx ecx, word [ebp - 0xc]
mov dword [ebp - 0x9a4], ecx
cmp dword [ebp - 0x9a4], 0
je 0x10007db0
jmp 0x10007e5a
movzx eax, byte [str.px_04X_]
sub eax, 0x574df5f8
cdq
mov esi, eax
movsx eax, word [0x100ad0c4]
cdq
add eax, dword [0x100ad150]
add esi, eax
mov eax, dword [0x100ad118]
not eax
cdq
mov ecx, dword [ebp - 0x48]
not ecx
mov edi, dword [ebp - 0x44]
not edi
push edi
push ecx
push edx
push eax
call fcn.1007a8a0
mov edx, 0xfffffff9
sub edx, eax
not edx
sub esi, edx
mov word [ebp - 0x1c], si
movzx eax, word [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
imul ecx, eax
mov edx, dword [ebp - 0x20]
add edx, ecx
mov dword [ebp - 0x20], edx
movzx eax, byte [ebp - 6]
add eax, 0xd1
mov byte [ebp - 1], al
movzx ecx, word [ebp - 0x10]
sub ecx, 0x562e
mov byte [ebp - 4], cl
movsx edx, byte [str.ZFreeSid]
mov eax, dword [ebp - 0x24]
sub eax, edx
mov ecx, dword [ebp - 0x24]
sub ecx, eax
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
sub edx, dword [0x100ad160]
sbb eax, dword [0x100ad164]
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
sub ecx, edx
sbb esi, eax
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], esi
mov edx, dword [ebp - 0x9a8]
xor edx, 0x3dd8
sub edx, 0x3ab8
mov dword [ebp - 0x978], edx
mov byte [0x100ad072], 3
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x12a4], ecx
xor eax, 0x2e6aee12
mov byte [ebp - 6], al
movzx edx, word [ebp - 0x14]
movsx eax, word [0x100ad0bc]
add edx, eax
mov word [ebp - 0x14], dx
movzx ecx, byte [0x100ad072]
mov dword [ebp - 0x1a4], ecx
cmp dword [ebp - 0x1a4], 3
ja case.default.0x10007ebe
mov edx, dword [ebp - 0x1a4]
jmp dword [edx*4 + 0x10019a88]
mov eax, 0x4f69
mov word [0x100ad0c4], ax
mov ecx, dword [0x100ad140]
xor edx, edx
mov eax, 8
imul eax, eax, 0x23
mov dword [eax + 0x100e6a58], ecx
mov dword [eax + 0x100e6a5c], edx
movsx ecx, word [0x100ad0d0]
movsx edx, word [ebp - 0xc]
sub ecx, edx
movsx eax, word [0x100ad0d0]
add eax, ecx
mov word [0x100ad0d0], ax
jmp case.default.0x10007ebe
movzx ecx, word [ebp - 0x10]
imul ecx, dword [ebp - 0x24]
mov word [ebp - 0x10], cx
mov edx, dword [0x100ad140]
sub edx, dword [ebp - 0x50]
mov dword [0x100ad140], edx
movzx eax, word [0x100ad0ac]
mov ecx, dword [0x100ad140]
add ecx, eax
mov edx, dword [0x100ad140]
xor edx, ecx
mov dword [0x100ad140], edx
jmp case.default.0x10007ebe
mov eax, 0x40ef
mov word [0x100ad130], ax
movsx ecx, byte [0x100ad037]
movsx edx, word [0x100ad11c]
imul ecx, edx
movsx eax, byte [0x100ad037]
sub eax, ecx
mov byte [0x100ad037], al
mov eax, dword [ebp - 0x28]
cdq
mov ecx, dword [0x100ad0f8]
sub ecx, eax
mov eax, dword [0x100ad0fc]
sbb eax, edx
mov dword [0x100ad0f8], ecx
mov dword [0x100ad0fc], eax
movzx ecx, byte [ebp - 3]
test ecx, ecx
jne 0x10007fa6
mov dword [ebp - 0x1a8], 1
jmp 0x10007fb0
mov dword [ebp - 0x1a8], 0
movzx edx, byte [ebp - 6]
imul edx, dword [ebp - 0x1a8]
movsx eax, byte [ebp - 4]
movzx ecx, word [ebp - 0x1c]
imul eax, ecx
add edx, eax
not edx
mov byte [0x100ad0a6], dl
jmp case.default.0x10007ebe
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x12a8], edx
and ecx, 0x9fa2b3c1
mov eax, dword [0x100ad15c]
cdq
add eax, dword [0x100ad0e8]
sub ecx, eax
mov word [0x100ad0cc], cx
mov eax, 1
imul ecx, eax, 0x3008
movzx edx, byte [ecx + 0x100df658]
movzx eax, byte [0x100ad072]
sub eax, edx
mov byte [0x100ad072], al
mov ecx, dword [0x100adbec]
mov dword [ebp - 0x100], ecx
movzx edx, word [ebp - 0x18]
cmp dword [ebp - 0x24], edx
jbe 0x1000803a
mov dword [ebp - 0x1ac], 1
jmp 0x10008044
mov dword [ebp - 0x1ac], 0
cmp dword [ebp - 0x24], 0x28
jbe 0x10008056
mov dword [ebp - 0x1b0], 1
jmp 0x10008060
mov dword [ebp - 0x1b0], 0
mov eax, dword [ebp - 0x1ac]
cmp eax, dword [ebp - 0x1b0]
jne 0x100085ac
movsx ecx, word [0x100ad0d0]
cmp ecx, dword [0x100ad100]
jbe 0x1000808d
mov dword [ebp - 0x1b4], 1
jmp 0x10008097
mov dword [ebp - 0x1b4], 0
movsx edx, word [0x100ad0d0]
cmp edx, 0x48
jle 0x100080af
mov dword [ebp - 0x1b8], 1
jmp 0x100080b9
mov dword [ebp - 0x1b8], 0
mov eax, dword [ebp - 0x1b4]
cmp eax, dword [ebp - 0x1b8]
je 0x1000843b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov word [ebp - 0x10], ax
movzx ecx, word [ebp - 0x10]
test ecx, ecx
jg 0x10008436
mov edx, 2
mov word [0x100ad0c4], dx
movzx eax, byte [ebp - 3]
test eax, eax
je 0x10008101
movzx ecx, byte [ebp - 1]
mov dword [ebp - 0x1bc], ecx
jmp 0x1000810e
movzx edx, word [0x100ad0ac]
mov dword [ebp - 0x1bc], edx
mov al, byte [ebp - 0x1bc]
mov byte [0x100ad00f], al
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov cl, 5
call fcn.1007a9b0
mov word [0x100ad0bc], ax
xor ecx, ecx
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x2c], ecx
movsx edx, word [0x100ad0c4]
mov dword [ebp - 0xfc], edx
cmp dword [ebp - 0xfc], 0
je 0x1000816d
cmp dword [ebp - 0xfc], 1
je 0x10008243
cmp dword [ebp - 0xfc], 2
je 0x1000832a
jmp 0x10008436
movzx eax, word [ebp - 0x1c]
test eax, eax
jne 0x10008181
mov dword [ebp - 0x1c0], 1
jmp 0x1000818b
mov dword [ebp - 0x1c0], 0
movsx eax, byte [ebp - 2]
movsx ecx, byte [0x100ad00e]
movzx edx, byte [ebp - 3]
xor ecx, edx
sub eax, ecx
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [0x100ad118]
add eax, dword [ebp - 0x1c0]
cdq
sub eax, dword [ebp - 0x30]
sbb edx, dword [ebp - 0x2c]
add ecx, eax
adc esi, edx
mov dword [0x100ad150], ecx
mov dword [0x100ad154], esi
movzx eax, word [ebp - 0x14]
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx edx, word [0x100ad11c]
imul eax, edx, 0xb9ca6887
mov word [ebp - 0xc], ax
movsx ecx, word [0x100ad0d0]
test ecx, ecx
jne 0x100081f8
mov dword [ebp - 0x1c4], 1
jmp 0x10008202
mov dword [ebp - 0x1c4], 0
movzx edx, byte [ebp - 1]
mov eax, dword [ebp - 0x1c4]
sub eax, edx
movzx ecx, byte [ebp - 1]
not ecx
mov edx, dword [0x100ad0e0]
sub edx, ecx
imul eax, edx
mov dword [0x100ad140], eax
mov eax, dword [ebp - 0x30]
sub eax, 0x9056
mov dword [0x100ad158], eax
mov ecx, dword [0x100ad0e0]
add ecx, 0x43
mov word [ebp - 0xc], cx
jmp 0x10008436
movsx edx, byte [0x100ad042]
imul eax, edx, 0xaba7
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
movsx eax, word [0x100ad0c0]
cdq
mov ecx, dword [0x100ad128]
mov esi, dword [0x100ad12c]
add ecx, eax
adc esi, edx
mov dword [ebp - 0xa38], ecx
mov dword [ebp - 0xa34], esi
mov edx, dword [ebp - 0xa38]
or edx, dword [ebp - 0xa34]
jne 0x10008297
mov eax, 1
mov word [ebp - 0x8c], ax
jmp 0x100082a0
xor ecx, ecx
mov word [ebp - 0x8c], cx
mov dx, word [ebp - 0x8c]
mov word [ebp - 0x14], dx
movsx eax, word [0x100ad130]
not eax
movzx ecx, word [0x100ad0f0]
not ecx
add eax, ecx
jne 0x100082cd
mov dword [ebp - 0x1c8], 1
jmp 0x100082d7
mov dword [ebp - 0x1c8], 0
movsx edx, word [0x100ad0b0]
movsx eax, word [0x100ad0cc]
movsx ecx, byte [str.E2_wcsrchr]
sub eax, ecx
sub edx, eax
movzx eax, byte [ebp - 3]
add edx, dword [ebp - 0x1c8]
add eax, edx
mov dword [0x100ad158], eax
mov ecx, dword [0x100ad108]
mov edx, dword [0x100ad10c]
add ecx, 0xec6fd5c9
adc edx, 0x37d26
mov dword [0x100ad160], ecx
mov dword [0x100ad164], edx
jmp 0x10008436
mov eax, dword [ebp - 0x50]
or eax, dword [ebp - 0x4c]
jne 0x10008346
xor ecx, ecx
mov dword [ebp - 0x720], 1
mov dword [ebp - 0x71c], ecx
jmp 0x10008351
xorps xmm0, xmm0
movlpd qword [ebp - 0x720], xmm0
mov edx, dword [ebp - 0x48]
and edx, dword [ebp - 0x720]
mov eax, dword [ebp - 0x44]
and eax, dword [ebp - 0x71c]
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
or ecx, edx
or esi, eax
mov dword [ebp - 0xa40], ecx
mov dword [ebp - 0xa3c], esi
mov edx, dword [ebp - 0xa40]
or edx, dword [ebp - 0xa3c]
jne 0x10008393
mov dword [ebp - 0x1cc], 1
jmp 0x1000839d
mov dword [ebp - 0x1cc], 0
mov ax, word [ebp - 0x1cc]
mov word [0x100ad0e4], ax
movzx ecx, byte [0x100ad0a6]
movsx edx, byte [0x100ad00e]
sub ecx, edx
jne 0x100083d0
xor eax, eax
mov dword [ebp - 0x728], 1
mov dword [ebp - 0x724], eax
jmp 0x100083db
xorps xmm0, xmm0
movlpd qword [ebp - 0x728], xmm0
movzx eax, byte [ebp - 3]
cdq
push edx
push eax
mov ecx, dword [ebp - 0x54]
push ecx
mov edx, dword [ebp - 0x58]
push edx
call fcn.1007a8a0
push edx
push eax
mov eax, dword [ebp - 0x724]
push eax
mov ecx, dword [ebp - 0x728]
push ecx
call fcn.1007a8a0
mov dword [0x100ad150], eax
mov dword [0x100ad154], edx
mov dl, byte [0x100ad09a]
sub dl, 1
mov byte [0x100ad09a], dl
mov eax, dword [ebp - 0x24]
add eax, 0x2d
mov byte [0x100ad00e], al
movsx ecx, byte [ebp - 4]
add ecx, 0x2befbbaf
mov dword [ebp - 0x20], ecx
jmp 0x100085aa
mov edx, dword [0x100ad150]
or edx, dword [0x100ad154]
je 0x100084e7
movsx eax, byte [0x100ad037]
imul eax, dword [0x100ad0b4]
movsx ecx, byte [0x100ad037]
sub ecx, eax
mov byte [0x100ad037], cl
movzx edx, byte [ebp - 6]
test edx, edx
je 0x10008481
movsx eax, word [0x100ad0d0]
mov dword [ebp - 0x1d0], eax
jmp 0x1000848b
movzx ecx, word [ebp - 0x18]
mov dword [ebp - 0x1d0], ecx
mov dx, word [ebp - 0x1d0]
mov word [ebp - 0x1c], dx
mov eax, dword [0x100ad110]
add eax, 0x1876dffd
mov ecx, dword [0x100ad114]
adc ecx, 0xdc636
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
movzx edx, word [0x100ad0ac]
xor edx, dword [0x100ad158]
movzx eax, word [0x100ad0ac]
add eax, edx
mov word [0x100ad0ac], ax
mov ecx, dword [0x100adbec]
xor edx, edx
mov dword [0x100ad150], ecx
mov dword [0x100ad154], edx
jmp 0x100085aa
movsx eax, byte [str.ZFreeSid]
test eax, eax
je 0x10008557
movzx eax, word [ebp - 0x10]
add eax, 0x2d3f
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movzx eax, byte [ebp - 3]
cdq
push 0x8aad8
push 0x7f67fa30
push edx
push eax
call fcn.1007a8a0
mov word [0x100ad0cc], ax
mov cx, word [0x100adbec]
mov word [0x100ad11c], cx
movzx edx, word [ebp - 0x14]
sar edx, 5
mov word [0x100ad130], dx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
sub eax, 1
sbb ecx, 0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
movzx edx, word [ebp - 0x1c]
shl edx, 1
mov dword [ebp - 0x20], edx
jmp 0x100085aa
mov eax, dword [0x100ad150]
or eax, dword [0x100ad154]
je 0x100085aa
movzx ecx, byte [0x100ad072]
movsx edx, byte [0x100ad00d]
lea eax, [edx + ecx - 0x17a]
mov byte [0x100ad00d], al
mov ecx, 2
imul edx, ecx, 0x12
movsx eax, word [edx + 0x101e98d8]
movsx ecx, word [ebp - 0xc]
sub ecx, eax
mov word [ebp - 0xc], cx
mov edx, dword [0x100adbec]
xor eax, eax
mov dword [0x100ad0f8], edx
mov dword [0x100ad0fc], eax
jmp 0x10008628
mov cl, byte [ebp - 4]
mov byte [ebp - 6], cl
movzx edx, byte [ebp - 3]
test edx, edx
je 0x100085c6
movzx eax, word [ebp - 0x14]
mov dword [ebp - 0x1d4], eax
jmp 0x100085d3
movsx ecx, word [0x100ad130]
mov dword [ebp - 0x1d4], ecx
mov dx, word [ebp - 0x1d4]
mov word [ebp - 0xc], dx
movsx eax, byte [0x100ad042]
imul ecx, eax, 0x88
mov word [ebp - 0x1c], cx
movzx edx, byte [ebp - 1]
mov eax, dword [ebp - 0x28]
sub eax, edx
movsx ecx, word [0x100ad0b0]
movsx edx, word [0x100ad0e4]
and ecx, edx
sub eax, ecx
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx eax, byte [0x100ad073]
movsx ecx, byte [str.ZFreeSid]
not ecx
sub eax, ecx
mov dword [0x100ad0c8], eax
mov edx, dword [ebp - 0x100]
add edx, 0x27f
mov dword [ebp - 0x9b4], edx
mov eax, dword [0x100ad15c]
cdq
sub eax, 0x731fdcf3
mov word [0x100ad0e4], ax
movzx eax, word [ebp - 0x10]
test eax, eax
je 0x10008667
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x6d0], ecx
mov dword [ebp - 0x6cc], edx
jmp 0x10008678
movzx eax, word [ebp - 0x14]
cdq
mov dword [ebp - 0x6d0], eax
mov dword [ebp - 0x6cc], edx
mov eax, dword [ebp - 0x6d0]
mov ecx, dword [ebp - 0x6cc]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp - 0x24]
add ecx, dword [0x100ad0f8]
not ecx
movzx eax, word [ebp - 0x10]
imul eax, dword [0x100ad0b4]
cdq
add ecx, eax
not ecx
mov byte [ebp - 2], cl
movsx eax, byte [str.ZFreeSid]
cdq
add eax, dword [ebp - 0x58]
adc edx, dword [ebp - 0x54]
push edx
push eax
mov edx, dword [ebp - 0x54]
push edx
mov eax, dword [ebp - 0x58]
push eax
call fcn.1007a8a0
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov ecx, dword [ebp - 0x100]
add ecx, 0x26a
mov dword [ebp - 0x12ac], ecx
movzx eax, byte [ebp - 5]
movsx edx, byte [0x100ad00e]
or eax, edx
cdq
mov ecx, dword [0x100ad0e0]
xor esi, esi
or ecx, dword [ebp - 0x58]
or esi, dword [ebp - 0x54]
sub eax, ecx
sbb edx, esi
mov dword [ebp - 0xa48], eax
mov dword [ebp - 0xa44], edx
mov edx, dword [ebp - 0xa48]
or edx, dword [ebp - 0xa44]
jne 0x1000872b
xor eax, eax
mov dword [ebp - 0x738], 1
mov dword [ebp - 0x734], eax
jmp 0x10008736
xorps xmm0, xmm0
movlpd qword [ebp - 0x738], xmm0
cmp dword [ebp - 0x28], 0
jne 0x10008750
xor ecx, ecx
mov dword [ebp - 0x730], 1
mov dword [ebp - 0x72c], ecx
jmp 0x1000875b
xorps xmm0, xmm0
movlpd qword [ebp - 0x730], xmm0
movzx eax, byte [0x100ad00f]
cdq
mov ecx, dword [ebp - 0x730]
sub ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x72c]
sbb esi, dword [ebp - 0x44]
add eax, ecx
adc edx, esi
not eax
not edx
add eax, dword [ebp - 0x738]
adc edx, dword [ebp - 0x734]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
movzx edx, byte [ebp - 1]
add edx, 0x1997
mov word [ebp - 0x18], dx
movzx eax, word [0x100ad120]
cdq
sub eax, dword [ebp - 0x58]
not eax
movzx ecx, word [ebp - 0x10]
add ecx, dword [0x100ad140]
sub eax, ecx
not eax
mov byte [ebp - 1], al
mov edx, dword [ebp - 0x100]
add edx, 0x476
mov dword [ebp - 0x9b8], edx
movzx eax, word [ebp - 0x1c]
movzx ecx, word [0x100ad0ac]
sub eax, ecx
mov word [ebp - 0x1c], ax
mov edx, dword [ebp - 0x24]
xor eax, eax
mov ecx, dword [ebp - 0x44]
push ecx
mov ecx, dword [ebp - 0x48]
push ecx
push eax
push edx
call fcn.1007a8a0
mov ecx, dword [ebp - 0x24]
xor esi, esi
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x24], eax
mov edx, dword [0x100adbec]
xor eax, eax
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], eax
movsx eax, word [0x100ad0c4]
sub eax, 7
cdq
or eax, dword [ebp - 0x48]
or edx, dword [ebp - 0x44]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
movzx ecx, word [ebp - 0x18]
imul edx, ecx, 0x6083
mov byte [ebp - 3], dl
mov eax, dword [0x100ad108]
mov ecx, dword [0x100ad10c]
mov dword [ebp - 0x12b0], ecx
sub eax, 0x7de3
mov word [ebp - 0x18], ax
mov edx, dword [0x100adbec]
mov dword [ebp - 0x104], edx
xorps xmm0, xmm0
movlpd qword [0x100ad0d8], xmm0
imul eax, dword [ebp - 0x24], 0xb69308d0
mov word [0x100ad0d0], ax
mov ecx, dword [ebp - 0x24]
sub ecx, dword [ebp - 0x58]
movzx eax, byte [ebp - 3]
not eax
movzx edx, byte [0x100ad00f]
xor eax, edx
not eax
cdq
add ecx, eax
mov word [ebp - 0x10], cx
movzx eax, byte [ebp - 5]
movzx ecx, byte [ebp - 3]
add eax, ecx
movzx edx, byte [ebp - 5]
sub edx, eax
mov byte [ebp - 5], dl
mov byte [str.ZFreeSid], 0xdb
mov eax, dword [0x100adbec]
xor ecx, ecx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], ecx
mov edx, dword [0x100ad0d8]
mov eax, dword [0x100ad0dc]
mov dword [ebp - 0xa50], edx
mov dword [ebp - 0xa4c], eax
mov ecx, dword [ebp - 0xa50]
or ecx, dword [ebp - 0xa4c]
je 0x100088df
jmp 0x100088f4
mov dl, byte [0x100adbec]
mov byte [ebp - 6], dl
xor eax, eax
mov dword [ebp - 0x38], 2
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x104]
add ecx, 0x3ef
mov dword [ebp - 0x380], ecx
push 0x100909bc
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov word [0x100ad0d0], ax
mov edx, dword [ebp - 0x104]
add edx, 0x4e0
mov dword [ebp - 0x9ec], edx
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, dword [0x100ad160]
or ecx, dword [0x100ad164]
je 0x10008998
mov dword [0x100ad0a8], 1
movzx edx, word [ebp - 0x1c]
movsx eax, word [0x100ad0bc]
xor edx, eax
movzx ecx, word [ebp - 0x1c]
sub ecx, edx
mov word [ebp - 0x1c], cx
movsx ecx, byte [str.E2_wcsrchr]
movzx edx, word [0x100ad120]
imul ecx, edx
mov al, byte [str.E2_wcsrchr]
shl al, cl
mov byte [str.E2_wcsrchr], al
movzx ecx, word [ebp - 0x1c]
movzx edx, byte [ebp - 5]
sub ecx, edx
movzx eax, word [ebp - 0x1c]
add eax, ecx
mov word [ebp - 0x1c], ax
jmp 0x10008a3c
mov ecx, dword [ebp - 0x48]
not ecx
mov esi, dword [ebp - 0x44]
not esi
movzx eax, word [ebp - 0x14]
not eax
cdq
mov dword [ebp - 0xa58], ecx
mov dword [ebp - 0xa54], esi
mov dword [ebp - 0xa60], eax
mov dword [ebp - 0xa5c], edx
mov edx, dword [ebp - 0xa54]
cmp edx, dword [ebp - 0xa5c]
jl 0x10008a3c
jg 0x100089df
mov eax, dword [ebp - 0xa58]
cmp eax, dword [ebp - 0xa60]
jbe 0x10008a3c
movsx ecx, byte [ebp - 4]
shl ecx, 5
mov word [ebp - 0x10], cx
movzx edx, word [ebp - 0x18]
movsx eax, byte [0x100ad00e]
add edx, eax
mov word [ebp - 0x18], dx
movzx ecx, byte [ebp - 5]
sar ecx, 3
mov byte [ebp - 2], cl
movsx eax, word [0x100ad0b0]
cdq
push 0xbf91e
push 0x7b7b74c
push edx
push eax
call fcn.1007a8a0
mov dword [ebp - 0x24], eax
mov dx, word [0x100adbec]
mov word [0x100ad0bc], dx
imul eax, dword [0x100ad100], 0xb140
mov byte [ebp - 2], al
mov ecx, dword [ebp - 0x104]
add ecx, 0x557
mov dword [ebp - 0x9f0], ecx
movzx edx, word [ebp - 0x14]
test edx, edx
je 0x10008b63
cmp dword [0x100ad158], 0
je 0x10008b0c
mov eax, dword [0x100ad0e8]
or eax, dword [0x100ad0ec]
je 0x10008abb
movsx ecx, byte [0x100ad037]
add ecx, 0x526834f3
mov byte [0x100ad00f], cl
movzx eax, byte [ebp - 5]
cdq
mov ecx, eax
xor ecx, 0xb1485499
movsx eax, byte [str.ZFreeSid]
cdq
sub eax, ecx
mov byte [str.ZFreeSid], al
mov edx, dword [ebp - 0x24]
add edx, 0xd9
xor eax, eax
mov dword [0x100ad108], edx
mov dword [0x100ad10c], eax
jmp 0x10008b0a
movzx ecx, word [ebp - 0x14]
test ecx, ecx
je 0x10008b0a
movsx eax, byte [0x100ad037]
xor eax, 0x8c
cdq
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
movzx eax, byte [ebp - 1]
cdq
sub eax, 0xb0de5a2f
mov byte [ebp - 2], al
movsx edx, byte [0x100ad073]
imul edx, dword [ebp - 0x20]
movsx eax, byte [0x100ad073]
add eax, edx
mov byte [0x100ad073], al
mov ecx, 0xa65f
mov word [ebp - 0x14], cx
jmp 0x10008b63
movsx edx, byte [0x100ad09a]
imul eax, edx, 0x63
test eax, eax
je 0x10008b63
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x12b4], edx
mov word [ebp - 0x14], cx
mov eax, 2
imul ecx, eax, 5
mov dx, word [0x100ad130]
mov word [ecx + 0x101e98d8], dx
mov eax, 0x486a
mov word [0x100ad11c], ax
movzx ecx, word [ebp - 0x10]
mov edx, dword [0x100ad15c]
add edx, ecx
mov eax, dword [0x100ad15c]
and eax, edx
mov dword [0x100ad15c], eax
mov ecx, dword [0x100adbec]
mov dword [ebp - 0x108], ecx
movsx edx, byte [0x100ad043]
test edx, edx
je 0x10008b93
mov eax, dword [0x100ad148]
mov ecx, dword [0x100ad14c]
mov dword [ebp - 0x6d8], eax
mov dword [ebp - 0x6d4], ecx
jmp 0x10008ba4
movzx eax, byte [ebp - 6]
cdq
mov dword [ebp - 0x6d8], eax
mov dword [ebp - 0x6d4], edx
mov edx, dword [ebp - 0x6d8]
mov eax, dword [ebp - 0x6d4]
mov dword [0x100ad0f8], edx
mov dword [0x100ad0fc], eax
mov ecx, dword [ebp - 0x30]
add ecx, 0x7137cac3
mov eax, dword [ebp - 0x28]
cdq
add eax, ecx
mov dword [ebp - 0x28], eax
mov edx, dword [0x100ad138]
or edx, dword [0x100ad13c]
jne 0x10008be7
mov dword [ebp - 0x1d8], 1
jmp 0x10008bf1
mov dword [ebp - 0x1d8], 0
movsx eax, byte [0x100ad043]
movsx ecx, word [0x100ad0d0]
not ecx
movzx edx, byte [ebp - 1]
xor edx, dword [ebp - 0x1d8]
or ecx, edx
imul eax, ecx
cdq
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
mov ecx, dword [0x100ad160]
add ecx, 0x7d2c6c42
movzx eax, byte [ebp - 3]
cdq
add eax, ecx
mov byte [ebp - 3], al
mov edx, dword [0x100ad0f8]
add edx, 0x8f3d3bb2
mov eax, dword [0x100ad0fc]
adc eax, 0
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x108]
add ecx, 0x3de
mov dword [ebp - 0x424], ecx
movzx edx, byte [ebp - 5]
test edx, edx
je 0x10008d13
movzx eax, byte [ebp - 5]
cdq
mov dword [ebp - 0xa68], eax
mov dword [ebp - 0xa64], edx
mov eax, dword [0x100ad0e8]
cmp eax, dword [ebp - 0xa68]
jne 0x10008c96
mov ecx, dword [0x100ad0ec]
cmp ecx, dword [ebp - 0xa64]
je 0x10008c98
jmp 0x10008d0e
movzx eax, word [ebp - 0x14]
cdq
add eax, 0xb80bc748
mov byte [ebp - 4], al
movsx edx, byte [ebp - 2]
sub edx, 0x6b294d8f
mov byte [ebp - 3], dl
movzx eax, word [ebp - 0x1c]
sub eax, 0x8d9d
mov dword [0x100ad118], eax
xor ecx, ecx
mov dword [ebp - 0x50], 4
mov dword [ebp - 0x4c], ecx
movzx edx, word [ebp - 0x14]
test edx, edx
je 0x10008ce0
movzx eax, byte [ebp - 3]
mov dword [ebp - 0x1dc], eax
jmp 0x10008ced
movsx ecx, byte [0x100ad042]
mov dword [ebp - 0x1dc], ecx
mov dx, word [ebp - 0x1dc]
mov word [0x100ad130], dx
movzx eax, byte [ebp - 1]
movzx ecx, word [ebp - 0x1c]
sub eax, ecx
movzx edx, byte [ebp - 1]
sub edx, eax
mov byte [ebp - 1], dl
jmp 0x10008df8
movzx eax, byte [ebp - 3]
test eax, eax
jne 0x10008d25
movzx ecx, byte [ebp - 6]
not ecx
test ecx, ecx
je 0x10008d57
movzx edx, word [ebp - 0x18]
shl edx, 1
mov byte [ebp - 5], dl
movzx eax, byte [0x100ad072]
sub eax, 0xd968
mov dword [0x100ad15c], eax
movsx ecx, word [0x100ad130]
imul edx, ecx, 0x1d
movsx eax, byte [ebp - 4]
add eax, edx
mov byte [ebp - 4], al
jmp 0x10008df8
movzx ecx, byte [str.px_04X_]
test ecx, ecx
je 0x10008db0
movzx edx, word [ebp - 0x1c]
movsx eax, byte [0x100ad09a]
add edx, eax
movzx ecx, word [ebp - 0x1c]
imul ecx, edx
mov word [ebp - 0x1c], cx
mov byte [0x100ad037], 0xc1
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov cl, 2
call fcn.1007a8e0
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
movzx edx, word [0x100ad0f0]
add edx, 0x4810bf9d
xor eax, eax
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], eax
jmp 0x10008df8
movzx ecx, byte [0x100ad00f]
test ecx, ecx
je 0x10008df8
mov dl, byte [0x100ad043]
mov byte [str.E2_wcsrchr], dl
movsx eax, word [0x100ad0bc]
test eax, eax
jne 0x10008de0
mov ecx, 1
mov word [ebp - 0x8e], cx
jmp 0x10008de9
xor edx, edx
mov word [ebp - 0x8e], dx
mov ax, word [ebp - 0x8e]
mov word [ebp - 0x10], ax
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x108]
add ecx, 0x54a
mov dword [ebp - 0x12b8], ecx
mov dword [ebp - 0x9ac], 1
mov edx, dword [ebp - 0x9ac]
push edx
call dword [sym.imp.USER32.dll_BeginDeferWindowPos]
mov dword [ebp - 0x9b0], eax
mov eax, dword [ebp - 0x9b0]
push eax
call dword [sym.imp.USER32.dll_EndDeferWindowPos]
mov dword [ebp - 0x12bc], eax
mov ecx, dword [ebp - 0x108]
add ecx, 0x3c1
mov dword [ebp - 0x93c], ecx
movzx edx, byte [ebp - 3]
cmp dword [ebp - 0x20], edx
ja 0x10008fd8
xorps xmm0, xmm0
movlpd qword [0x100ad0d8], xmm0
movsx eax, byte [0x100ad042]
not eax
movsx ecx, byte [0x100ad00d]
add eax, ecx
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
add ecx, eax
adc esi, edx
not ecx
not esi
movzx eax, word [0x100ad0ac]
cdq
and eax, 0xeaba1cc0
and edx, 0xad157
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [ebp - 0xa70], eax
mov dword [ebp - 0xa6c], edx
mov edx, dword [ebp - 0xa70]
or edx, dword [ebp - 0xa6c]
jne 0x10008ec7
mov dword [ebp - 0x1e0], 1
jmp 0x10008ed1
mov dword [ebp - 0x1e0], 0
mov eax, dword [ebp - 0x1e0]
mov dword [0x100ad118], eax
movzx ecx, word [ebp - 0x18]
shl ecx, 2
mov word [ebp - 0xc], cx
movsx edx, byte [0x100ad09a]
mov eax, dword [0x100ad0a8]
imul eax, edx
mov ecx, dword [0x100ad0a8]
and ecx, eax
mov dword [0x100ad0a8], ecx
movsx eax, byte [0x100ad042]
cdq
mov ecx, eax
mov esi, edx
and ecx, dword [ebp - 0x58]
and esi, dword [ebp - 0x54]
movzx eax, byte [str.px_04X_]
movsx edx, word [0x100ad11c]
imul eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov ecx, eax
movsx eax, byte [ebp - 2]
movzx edx, word [ebp - 0x14]
add eax, edx
movsx edx, byte [ebp - 2]
add eax, edx
cdq
sub ecx, eax
mov word [0x100ad0b0], cx
mov eax, dword [ebp - 0x48]
sub eax, 1
mov ecx, dword [ebp - 0x44]
sbb ecx, 0
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
mov edx, dword [0x100ad0d8]
mov eax, dword [0x100ad0dc]
mov dword [ebp - 0xa78], edx
mov dword [ebp - 0xa74], eax
mov ecx, dword [ebp - 0xa78]
or ecx, dword [ebp - 0xa74]
je 0x10008f86
jmp 0x10008fd3
movsx eax, byte [ebp - 4]
movsx edx, word [0x100ad0bc]
add eax, edx
cdq
mov ecx, dword [0x100ad160]
add ecx, 0xdb862d8
sub eax, ecx
mov byte [0x100ad072], al
movsx edx, byte [ebp - 2]
imul eax, edx, 3
cdq
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], edx
movsx eax, byte [0x100ad073]
imul eax, eax, 0x85
cdq
mov dword [0x100ad0d8], eax
mov dword [0x100ad0dc], edx
jmp 0x100091ca
movsx ecx, byte [str.E2_wcsrchr]
test ecx, ecx
je 0x10009024
mov dl, byte [0x100adbec]
mov byte [0x100ad037], dl
mov dword [0x100ad0e0], 2
imul eax, dword [ebp - 0x20], 0xf66f
movzx ecx, byte [0x100ad0a6]
sub ecx, eax
mov byte [0x100ad0a6], cl
movsx edx, word [0x100ad0bc]
sub edx, 0xd
mov dword [0x100ad15c], edx
jmp 0x100091ca
movsx eax, word [0x100ad0e4]
test eax, eax
jne 0x10009044
mov ecx, 0xa5756e60
test ecx, ecx
jne 0x10009044
mov dword [ebp - 0x1e4], 0
jmp 0x1000904e
mov dword [ebp - 0x1e4], 1
movsx eax, word [0x100ad0e4]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
not ecx
not esi
mov dword [ebp - 0xa80], eax
mov dword [ebp - 0xa7c], edx
mov dword [ebp - 0xa88], ecx
mov dword [ebp - 0xa84], esi
mov edx, dword [ebp - 0xa7c]
cmp edx, dword [ebp - 0xa84]
ja 0x100090a2
jb 0x10009096
mov eax, dword [ebp - 0xa80]
cmp eax, dword [ebp - 0xa88]
jae 0x100090a2
mov dword [ebp - 0x1e8], 1
jmp 0x100090ac
mov dword [ebp - 0x1e8], 0
mov ecx, dword [ebp - 0x1e4]
sub ecx, dword [ebp - 0x1e8]
je 0x10009115
movzx edx, word [ebp - 0x10]
movsx eax, byte [ebp - 4]
imul edx, eax
mov word [ebp - 0x10], dx
mov ecx, dword [0x100adbec]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x20]
add edx, 0x7c37f8df
mov word [ebp - 0x10], dx
mov ax, word [0x100ad0c4]
mov ecx, 1
imul edx, ecx, 0x3f17
mov byte [edx + 0x100e7138], al
movzx eax, byte [ebp - 6]
mov ecx, dword [0x100ad15c]
add ecx, eax
mov edx, dword [0x100ad15c]
and edx, ecx
mov dword [0x100ad15c], edx
jmp 0x100091ca
movsx eax, byte [ebp - 4]
test eax, eax
je 0x100091ca
movsx ecx, byte [0x100ad073]
sub ecx, 0xc0f1
mov word [ebp - 0xc], cx
mov edx, dword [ebp - 0x28]
sub edx, dword [0x100ad118]
mov eax, dword [ebp - 0x28]
sub eax, edx
mov dword [ebp - 0x28], eax
cmp dword [0x100ad15c], 0
jne 0x10009158
mov dword [ebp - 0x1ec], 1
jmp 0x10009162
mov dword [ebp - 0x1ec], 0
movzx ecx, byte [ebp - 1]
add ecx, 0x778b
mov eax, dword [ebp - 0x1ec]
sub eax, ecx
cdq
mov ecx, eax
mov esi, edx
mov edi, dword [ebp - 0x30]
or edi, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x2c]
or ebx, dword [ebp - 0x2c]
mov eax, dword [0x100ad158]
cdq
and eax, dword [ebp - 0x50]
and edx, dword [ebp - 0x4c]
add edi, eax
adc ebx, edx
push ebx
push edi
push esi
push ecx
call fcn.1007a8a0
mov dword [ebp - 0xa90], eax
mov dword [ebp - 0xa8c], edx
mov edx, dword [ebp - 0xa90]
or edx, dword [ebp - 0xa8c]
jne 0x100091be
mov byte [ebp - 0x59], 1
jmp 0x100091c2
mov byte [ebp - 0x59], 0
mov al, byte [ebp - 0x59]
mov byte [str.ZFreeSid], al
mov ecx, dword [0x100adbec]
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x10c], 0
jmp 0x100091f1
mov edx, dword [ebp - 0x10c]
add edx, 2
mov dword [ebp - 0x10c], edx
cmp dword [ebp - 0x10c], 0xd
jge 0x10009271
movzx eax, byte [ebp - 1]
not eax
cdq
push 0xaa380
push 0x49cca1b9
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
movzx eax, word [ebp - 0x18]
movzx edx, byte [ebp - 5]
add eax, edx
not eax
cdq
add ecx, eax
movzx eax, byte [ebp - 6]
mov edx, dword [0x100ad140]
sub edx, eax
add ecx, edx
mov byte [str.ZFreeSid], cl
mov eax, dword [0x100ad138]
xor eax, 0x4763c5f0
mov byte [ebp - 4], al
mov byte [ebp - 6], 0xaa
movzx ecx, word [ebp - 0x14]
imul edx, ecx, 0x5e
mov dword [ebp - 0x28], edx
mov dword [0x100ad0e0], 2
mov ax, word [0x100ad0d0]
add ax, 1
mov word [0x100ad0d0], ax
jmp 0x100091e2
mov ecx, dword [ebp - 0x110]
add ecx, 0x26b
mov dword [ebp - 0x4a4], ecx
movzx edx, byte [ebp - 1]
cmp edx, dword [ebp - 0x24]
je 0x100092bf
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x12c0], ecx
add eax, 0x779b
mov byte [0x100ad072], al
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
mov dword [ebp - 0x12c4], eax
add edx, 0x2e
mov word [ebp - 0x14], dx
jmp 0x10009479
movsx ecx, word [0x100ad0b0]
test ecx, ecx
jne 0x100092d6
mov dword [ebp - 0x1f0], 1
jmp 0x100092e0
mov dword [ebp - 0x1f0], 0
movzx edx, byte [ebp - 6]
cmp dword [ebp - 0x1f0], edx
jl 0x10009364
movsx eax, word [0x100ad0b0]
sub eax, 0x454d
mov byte [ebp - 2], al
mov ecx, dword [0x100ad118]
imul ecx, dword [0x100ad100]
imul ecx, dword [0x100ad100]
mov dword [0x100ad100], ecx
imul edx, dword [0x100ad100], 0xa0a28e7c
xor eax, eax
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], eax
mov ecx, dword [0x100ad0e0]
shr ecx, 3
mov dword [ebp - 0x28], ecx
movzx edx, byte [0x100ad0a6]
add edx, dword [0x100ad0c8]
mov dword [0x100ad0c8], edx
mov eax, dword [0x100ad110]
sub eax, 0x8712635a
mov ecx, dword [0x100ad114]
sbb ecx, 0
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
jmp 0x10009479
movzx edx, word [ebp - 0x18]
movsx eax, byte [ebp - 4]
cmp edx, eax
jge 0x10009479
mov ecx, 0x42d276ab
test ecx, ecx
je 0x10009479
mov edx, dword [ebp - 0x58]
and edx, 0xac9654ef
mov word [0x100ad0e4], dx
movsx eax, word [0x100ad11c]
cdq
mov ecx, eax
mov esi, edx
sub ecx, dword [ebp - 0x48]
sbb esi, dword [ebp - 0x44]
movsx eax, byte [0x100ad073]
movsx edx, byte [ebp - 2]
add eax, edx
cdq
add ecx, eax
adc esi, edx
movsx eax, byte [ebp - 4]
not eax
movzx edx, word [ebp - 0x1c]
add eax, edx
movzx edx, word [ebp - 0x10]
movzx edi, word [ebp - 0x10]
add edx, edi
imul eax, edx
cdq
or ecx, eax
or esi, edx
mov dword [ebp - 0xa98], ecx
mov dword [ebp - 0xa94], esi
mov eax, dword [ebp - 0xa98]
or eax, dword [ebp - 0xa94]
jne 0x100093fb
mov ecx, 1
mov word [ebp - 0x84], cx
jmp 0x10009404
xor edx, edx
mov word [ebp - 0x84], dx
mov ax, word [ebp - 0x84]
mov word [ebp - 0x1c], ax
movsx ecx, byte [ebp - 4]
movzx edx, word [0x100ad0b8]
imul ecx, edx
movsx eax, byte [ebp - 4]
and eax, ecx
mov byte [ebp - 4], al
movsx ecx, word [ebp - 0xc]
test ecx, ecx
jne 0x1000943a
mov dword [ebp - 0x1f4], 1
jmp 0x10009444
mov dword [ebp - 0x1f4], 0
mov edx, dword [ebp - 0x1f4]
xor edx, 0xd57d1052
mov esi, edx
push 0
push 0x472fc945
mov eax, dword [0x100ad13c]
push eax
mov ecx, dword [0x100ad138]
push ecx
call fcn.1007a8a0
xor esi, eax
mov dword [ebp - 0x20], esi
mov edx, 0xb2
mov word [ebp - 0x18], dx
mov eax, dword [ebp - 0x110]
add eax, 0x4b9
mov dword [ebp - 0x95c], eax
mov ecx, dword [0x100ad0ec]
cmp ecx, dword [ebp - 0x4c]
jb 0x100094ae
ja 0x100094a2
mov edx, dword [0x100ad0e8]
cmp edx, dword [ebp - 0x50]
jb 0x100094ae
mov dword [ebp - 0x1f8], 1
jmp 0x100094b8
mov dword [ebp - 0x1f8], 0
cmp dword [0x100ad0ec], 0
ja 0x100094ca
cmp dword [0x100ad0e8], 0x10
jb 0x100094d6
mov dword [ebp - 0x1fc], 1
jmp 0x100094e0
mov dword [ebp - 0x1fc], 0
mov eax, dword [ebp - 0x1f8]
cmp eax, dword [ebp - 0x1fc]
je 0x100095a4
movsx ecx, byte [str.E2_wcsrchr]
mov edx, dword [0x100ad140]
add edx, ecx
jne 0x1000950f
mov dword [ebp - 0x200], 1
jmp 0x10009519
mov dword [ebp - 0x200], 0
movzx eax, word [ebp - 0x14]
add eax, dword [ebp - 0x200]
mov word [ebp - 0x10], ax
imul ecx, dword [ebp - 0x20], 0xa7
mov byte [0x100ad042], cl
movsx edx, byte [0x100ad042]
add edx, 0x384472fd
xor eax, eax
mov dword [0x100ad160], edx
mov dword [0x100ad164], eax
mov ecx, dword [ebp - 0x30]
add ecx, 0x4d1f
mov edx, dword [ebp - 0x2c]
adc edx, 0
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
movsx eax, byte [0x100ad042]
cdq
push edx
push eax
mov eax, dword [0x100ad154]
push eax
mov ecx, dword [0x100ad150]
push ecx
call fcn.1007a8a0
mov dword [0x100ad150], eax
mov dword [0x100ad154], edx
mov eax, dword [0x100ad0f8]
mov edx, dword [0x100ad0fc]
mov cl, 6
call fcn.1007a8e0
mov byte [ebp - 2], al
jmp 0x10009681
mov edx, dword [0x100ad0d8]
mov eax, dword [0x100ad0dc]
sub edx, 0xad11e8a6
sbb eax, 0x8013a
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], eax
movzx ecx, word [0x100ad120]
test ecx, ecx
jne 0x100095d7
mov dword [ebp - 0x204], 1
jmp 0x100095e1
mov dword [ebp - 0x204], 0
movsx edx, byte [ebp - 2]
add edx, dword [ebp - 0x204]
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x28]
add edx, eax
movsx ecx, byte [ebp - 2]
movsx eax, word [0x100ad0c0]
not eax
movzx esi, word [ebp - 0x10]
not esi
add eax, esi
add ecx, eax
sub edx, ecx
jne 0x1000961a
mov dword [ebp - 0x208], 1
jmp 0x10009624
mov dword [ebp - 0x208], 0
mov ecx, dword [ebp - 0x208]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov ecx, dword [0x100ad10c]
add edx, dword [0x100ad108]
adc eax, ecx
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
add ecx, edx
adc esi, eax
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], esi
mov edx, dword [ebp - 0x20]
mov eax, dword [0x100ad108]
mov ecx, dword [0x100ad10c]
mov dword [ebp - 0x12c8], ecx
not eax
sub edx, eax
add edx, dword [ebp - 0x58]
mov byte [ebp - 6], dl
mov edx, dword [0x100ad138]
add edx, 0xe4fff95d
mov dword [0x100ad158], edx
mov eax, dword [ebp - 0x110]
add eax, 0x53d
mov dword [ebp - 0x958], eax
movsx ecx, byte [0x100ad00e]
mov edx, dword [0x100ad0e0]
sub edx, ecx
mov dword [0x100ad0e0], edx
mov dword [0x100ad0a8], 0x26
movzx eax, word [ebp - 0x14]
movsx ecx, byte [ebp - 4]
sub eax, ecx
mov word [ebp - 0x14], ax
movsx edx, byte [0x100ad037]
imul eax, edx, 0xaa8a
mov byte [ebp - 2], al
movsx ecx, word [0x100ad0bc]
sub ecx, dword [0x100ad0c8]
not ecx
add ecx, dword [ebp - 0x28]
not ecx
mov dword [ebp - 0x28], ecx
mov edx, dword [0x100adbec]
mov dword [ebp - 0x118], edx
mov dword [ebp - 0x114], 0xcac
movsx eax, byte [0x100ad073]
sub eax, 0x87
mov ecx, dword [ebp - 0x20]
imul ecx, eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x28], 0xd96fdd1b
xor edx, edx
mov dword [ebp - 0x50], 0x6fdc
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x50]
add eax, 0x33859d33
mov dword [0x100ad0a8], eax
cmp dword [ebp - 0x114], 0xc0a
jle 0x10009778
mov cx, word [0x100adbec]
mov word [0x100ad130], cx
imul edx, dword [ebp - 0x28], 0x67
mov word [0x100ad0d0], dx
xor eax, eax
mov dword [0x100ad148], 0xf908
mov dword [0x100ad14c], eax
mov ecx, dword [ebp - 0x114]
sub ecx, 1
mov dword [ebp - 0x114], ecx
jmp 0x10009731
mov edx, dword [ebp - 0x118]
add edx, 0x514
mov dword [ebp - 0x12cc], edx
movzx eax, byte [ebp - 3]
movzx ecx, byte [ebp - 3]
cmp eax, ecx
jle 0x100097ab
movzx edx, word [ebp - 0x10]
cmp dword [ebp - 0x20], edx
jb 0x100097ab
mov dword [ebp - 0x20c], 1
jmp 0x100097b5
mov dword [ebp - 0x20c], 0
movsx eax, byte [str.ZFreeSid]
test eax, eax
jge 0x100097cc
mov dword [ebp - 0x210], 1
jmp 0x100097d6
mov dword [ebp - 0x210], 0
mov ecx, dword [ebp - 0x20c]
cmp ecx, dword [ebp - 0x210]
je 0x100098e7
movzx edx, byte [ebp - 1]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov byte [0x100ad043], al
movsx eax, byte [0x100ad043]
test eax, eax
je 0x100098e5
movsx ecx, byte [0x100ad073]
test ecx, ecx
je 0x10009821
movsx edx, word [0x100ad0d0]
mov dword [ebp - 0x214], edx
jmp 0x1000982e
movzx eax, byte [0x100ad0a6]
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0x214]
mov dword [0x100ad0a8], ecx
movsx eax, byte [0x100ad042]
cdq
mov ecx, dword [0x100ad150]
sub ecx, eax
mov eax, dword [0x100ad154]
sbb eax, edx
add ecx, dword [0x100ad150]
adc eax, dword [0x100ad154]
mov dword [0x100ad150], ecx
mov dword [0x100ad154], eax
movsx ecx, word [0x100ad0cc]
mov edx, dword [0x100ad0e0]
sub edx, ecx
mov dword [0x100ad0e0], edx
mov eax, dword [ebp - 0x48]
or eax, dword [ebp - 0x44]
jne 0x10009891
mov dword [ebp - 0x218], 1
jmp 0x1000989b
mov dword [ebp - 0x218], 0
mov eax, dword [0x100ad15c]
cdq
mov ecx, eax
mov esi, edx
or ecx, 0xb12758fb
or esi, 0xd1da
sub ecx, dword [0x100ad138]
sbb esi, dword [0x100ad13c]
mov edx, dword [0x100ad0c8]
not edx
mov eax, edx
imul eax, dword [ebp - 0x218]
xor eax, dword [0x100ad0c8]
cdq
xor ecx, eax
xor esi, edx
mov dword [0x100ad0e8], ecx
mov dword [0x100ad0ec], esi
jmp 0x10009919
imul eax, dword [0x100ad0b4], 0x7340
mov word [ebp - 0x18], ax
movzx ecx, byte [ebp - 3]
movzx edx, word [ebp - 0x18]
sub ecx, edx
mov byte [ebp - 3], cl
mov eax, 8
imul ecx, eax, 0x7593
mov dl, byte [ecx + 0x10100490]
mov byte [0x100ad072], dl
mov eax, dword [ebp - 0x118]
add eax, 0x4e7
mov dword [ebp - 0x164], eax
movzx ecx, byte [ebp - 1]
cmp dword [ebp - 0x28], ecx
jg 0x1000993f
mov dword [ebp - 0x21c], 1
jmp 0x10009949
mov dword [ebp - 0x21c], 0
cmp dword [ebp - 0x28], 0x4b
jg 0x1000995b
mov dword [ebp - 0x220], 1
jmp 0x10009965
mov dword [ebp - 0x220], 0
mov edx, dword [ebp - 0x21c]
cmp edx, dword [ebp - 0x220]
jne 0x100099a2
mov ecx, 8
shl ecx, 3
movsx eax, byte [0x100ad042]
cdq
and eax, dword [ecx + 0x101ebf30]
mov byte [0x100ad042], al
mov edx, 1
imul eax, edx, 0x29
mov cl, byte [0x100ad00e]
mov byte [eax + 0x100df598], cl
mov edx, dword [ebp - 0x118]
add edx, 0x46e
mov dword [ebp - 0x53c], edx
mov eax, dword [ebp - 0x50]
or eax, dword [ebp - 0x4c]
jne 0x100099c8
mov dword [ebp - 0x224], 1
jmp 0x100099d2
mov dword [ebp - 0x224], 0
movsx ecx, word [0x100ad0c0]
cmp ecx, dword [ebp - 0x224]
jle 0x100099ed
mov dword [ebp - 0x228], 1
jmp 0x100099f7
mov dword [ebp - 0x228], 0
movsx edx, word [0x100ad0c4]
movsx eax, word [0x100ad0b0]
cmp edx, eax
jge 0x10009a15
mov dword [ebp - 0x22c], 1
jmp 0x10009a1f
mov dword [ebp - 0x22c], 0
mov ecx, dword [ebp - 0x228]
cmp ecx, dword [ebp - 0x22c]
jne 0x10009b06
mov edx, dword [0x100ad0f8]
or edx, dword [ebp - 0x50]
mov eax, dword [0x100ad0fc]
or eax, dword [ebp - 0x4c]
mov ecx, dword [0x100ad148]
mov esi, dword [0x100ad14c]
push eax
push edx
push esi
push ecx
call fcn.1007a8a0
mov dword [ebp - 0xaa0], eax
mov dword [ebp - 0xa9c], edx
mov edx, dword [ebp - 0xaa0]
or edx, dword [ebp - 0xa9c]
jne 0x10009a7f
mov eax, 1
mov word [ebp - 0x92], ax
jmp 0x10009a88
xor ecx, ecx
mov word [ebp - 0x92], cx
mov dx, word [ebp - 0x92]
mov word [0x100ad11c], dx
movzx eax, word [ebp - 0x1c]
test eax, eax
je 0x10009aac
mov ecx, dword [0x100ad158]
mov dword [ebp - 0x230], ecx
jmp 0x10009ab9
movsx edx, byte [0x100ad09a]
mov dword [ebp - 0x230], edx
mov eax, dword [ebp - 0x230]
cdq
mov dword [0x100ad150], eax
mov dword [0x100ad154], edx
push 0x47374
push 0x3ab19a64
mov eax, dword [0x100ad164]
push eax
mov ecx, dword [0x100ad160]
push ecx
call fcn.1007a8a0
mov edx, dword [ebp - 0x20]
add edx, eax
mov dword [ebp - 0x20], edx
mov eax, 2
imul ecx, eax, 0x3e
movzx edx, word [ecx + 0x101ebdf8]
mov eax, dword [ebp - 0x28]
sub eax, edx
mov dword [ebp - 0x28], eax
mov ecx, dword [0x100adbec]
mov dword [ebp - 0x11c], ecx
mov edx, 0x2d20
mov word [0x100ad130], dx
mov eax, dword [0x100ad160]
mov edx, dword [0x100ad164]
mov cl, 8
call fcn.1007a8e0
mov byte [0x100ad073], al
mov byte [ebp - 5], 0xdd
mov eax, dword [0x100ad138]
sub eax, 0x17a1
mov word [ebp - 0xc], ax
movzx ecx, byte [ebp - 5]
movsx edx, byte [0x100ad037]
imul ecx, edx
mov byte [ebp - 5], cl
movzx eax, byte [ebp - 5]
movzx ecx, byte [ebp - 6]
imul eax, ecx
mov dword [0x100ad0b4], eax
mov edx, dword [ebp - 0x11c]
add edx, 0x3d0
mov dword [ebp - 0x5f4], edx
mov eax, dword [ebp - 0x48]
or eax, dword [ebp - 0x44]
jne 0x10009b8e
mov dword [ebp - 0x234], 1
jmp 0x10009b98
mov dword [ebp - 0x234], 0
mov ecx, dword [ebp - 0x50]
or ecx, dword [ebp - 0x4c]
jne 0x10009bac
mov dword [ebp - 0x238], 1
jmp 0x10009bb6
mov dword [ebp - 0x238], 0
mov edx, dword [ebp - 0x234]
cmp edx, dword [ebp - 0x238]
je 0x10009bd3
movzx eax, byte [0x100ad072]
test eax, eax
je 0x10009ed9
mov byte [str.ZFreeSid], 4
mov ecx, dword [0x100adbec]
mov dword [0x100ad118], ecx
movsx edx, word [0x100ad0c4]
mov dword [ebp - 0x28], edx
mov al, byte [0x100ad0a6]
mov byte [ebp - 6], al
movsx eax, byte [ebp - 2]
sub eax, 0xf9
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x24], 0x46ae
movsx ecx, byte [str.ZFreeSid]
mov dword [ebp - 0x23c], ecx
cmp dword [ebp - 0x23c], 4
ja case.default.0x10009c2f
mov edx, dword [ebp - 0x23c]
jmp dword [edx*4 + 0x10019a98]
mov ecx, dword [ebp - 0x30]
add ecx, 0x5596
movsx eax, byte [0x100ad00d]
cdq
sub eax, ecx
mov byte [0x100ad00d], al
movsx edx, word [0x100ad0d0]
sub edx, 0xcf
mov word [ebp - 0x18], dx
mov eax, dword [0x100ad148]
mov ecx, dword [0x100ad14c]
push 0
push 0xac
push ecx
push eax
call fcn.1007a8a0
mov word [ebp - 0x14], ax
movzx eax, word [ebp - 0x14]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
push esi
push ecx
push eax
push edx
call fcn.1007a8a0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movzx eax, word [ebp - 0x1c]
cdq
and eax, 0x4d07eea9
mov byte [ebp - 2], al
jmp case.default.0x10009c2f
mov eax, dword [0x100ad0c8]
add eax, 0x8ee2
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov eax, dword [0x100ad0b4]
add eax, 0x97
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
movsx ecx, byte [0x100ad00e]
xor ecx, 0xcacafa26
mov word [0x100ad0ac], cx
movsx edx, byte [0x100ad043]
sub edx, 0x51
mov word [ebp - 0x1c], dx
jmp case.default.0x10009c2f
movsx eax, byte [0x100ad073]
add eax, 0x52a21b92
mov dword [0x100ad158], eax
movsx ecx, byte [ebp - 4]
add ecx, 0x77c0
mov word [0x100ad0b8], cx
mov edx, dword [ebp - 0x48]
sub edx, 0x1acbb670
mov dword [0x100ad15c], edx
movzx eax, word [ebp - 0x14]
movsx ecx, byte [ebp - 4]
imul eax, ecx
movzx edx, word [ebp - 0x14]
sub edx, eax
mov word [ebp - 0x14], dx
movzx eax, byte [ebp - 5]
shl eax, 2
cdq
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
jmp case.default.0x10009c2f
mov eax, dword [0x100ad150]
add eax, 0xf44bd04e
mov word [0x100ad0bc], ax
mov byte [0x100ad037], 0xa2
movsx eax, word [0x100ad0bc]
cdq
mov ecx, eax
add ecx, 0x9d516f27
movzx eax, byte [0x100ad00f]
cdq
sub eax, ecx
mov byte [0x100ad00f], al
jmp case.default.0x10009c2f
movzx edx, byte [0x100ad072]
movzx eax, word [ebp - 0x14]
imul edx, eax
movzx ecx, byte [0x100ad072]
and ecx, edx
mov byte [0x100ad072], cl
movzx eax, word [0x100ad0ac]
cdq
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x12d0], ecx
add eax, edx
mov dx, word [0x100ad0ac]
mov ecx, eax
shr dx, cl
mov word [0x100ad0ac], dx
movzx eax, word [ebp - 0x1c]
sub eax, dword [ebp - 0x28]
jne 0x10009df7
xor ecx, ecx
mov dword [ebp - 0x740], 1
mov dword [ebp - 0x73c], ecx
jmp 0x10009e02
xorps xmm0, xmm0
movlpd qword [ebp - 0x740], xmm0
mov edx, dword [0x100ad12c]
mov eax, dword [0x100ad0f8]
sub eax, dword [0x100ad128]
mov ecx, dword [0x100ad0fc]
sbb ecx, edx
add eax, dword [ebp - 0x740]
adc ecx, dword [ebp - 0x73c]
mov dword [ebp - 0xaa8], eax
mov dword [ebp - 0xaa4], ecx
mov edx, dword [ebp - 0xaa8]
or edx, dword [ebp - 0xaa4]
jne 0x10009e55
xor eax, eax
mov dword [ebp - 0x748], 1
mov dword [ebp - 0x744], eax
jmp 0x10009e60
xorps xmm0, xmm0
movlpd qword [ebp - 0x748], xmm0
movsx eax, byte [str.E2_wcsrchr]
not eax
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
and ecx, dword [0x100ad110]
and esi, dword [0x100ad114]
add eax, ecx
adc edx, esi
add eax, dword [ebp - 0x748]
adc edx, dword [ebp - 0x744]
mov dword [ebp - 0xab0], eax
mov dword [ebp - 0xaac], edx
mov edx, dword [ebp - 0xab0]
or edx, dword [ebp - 0xaac]
jne 0x10009eba
xor eax, eax
mov dword [ebp - 0x750], 1
mov dword [ebp - 0x74c], eax
jmp 0x10009ec5
xorps xmm0, xmm0
movlpd qword [ebp - 0x750], xmm0
mov ecx, dword [ebp - 0x750]
mov edx, dword [ebp - 0x74c]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], edx
jmp 0x10009f38
movzx eax, word [0x100ad0b8]
not eax
mov byte [ebp - 2], al
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
mov dword [ebp - 0x12d4], edx
add ecx, 0x91
movsx eax, word [ebp - 0xc]
cdq
add eax, ecx
mov word [ebp - 0xc], ax
movsx eax, byte [0x100ad00e]
imul ecx, eax, 0xbfff5a08
mov word [ebp - 0x1c], cx
mov edx, dword [0x100ad138]
add edx, 0x1b95f504
mov eax, dword [0x100ad13c]
adc eax, 0
mov dword [0x100ad160], edx
mov dword [0x100ad164], eax
mov ecx, dword [ebp - 0x11c]
add ecx, 0x449
mov dword [ebp - 0x5f0], ecx
movsx edx, byte [str.E2_wcsrchr]
movzx eax, byte [ebp - 5]
add edx, eax
mov byte [str.E2_wcsrchr], dl
movzx ecx, word [0x100ad0f0]
imul edx, ecx, 0x97e0b5b5
xor eax, eax
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], eax
mov ecx, dword [0x100ad158]
sar ecx, 5
mov byte [ebp - 4], cl
mov dx, word [0x100ad0c4]
mov word [ebp - 0x10], dx
movsx eax, word [ebp - 0xc]
test eax, eax
je 0x10009f9c
mov cl, byte [0x100ad073]
mov byte [ebp - 0x5a], cl
jmp 0x10009fa5
mov dl, byte [0x100ad00d]
mov byte [ebp - 0x5a], dl
mov al, byte [ebp - 0x5a]
mov byte [ebp - 3], al
mov ecx, dword [ebp - 0x11c]
add ecx, 0x5df
mov dword [ebp - 0x12d8], ecx
xor edx, edx
mov byte [ebp - 0x68], dl
lea ecx, [ebp - 0x68]
call fcn.100026e0
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe8]
movzx ecx, byte [eax + 0xc]
test ecx, ecx
je 0x1000a002
push 0x1010101
push 0x7f411731
push 0
push 0xc
mov edx, dword [ebp - 0xe8]
push edx
call fcn.10040e80
mov eax, dword [ebp - 0xe8]
mov byte [eax + 0xc], 0
mov ecx, dword [ebp - 0xe8]
push ecx
push 0
push 0
call fcn.10001650
call eax
mov dword [ebp - 0x9c0], eax
mov edx, 0xb9dc
mov word [0x100ad0f0], dx
mov dword [ebp - 0x120], 0xd0d
mov eax, 0x209c
mov word [0x100ad120], ax
mov cx, word [0x100adbec]
mov word [0x100ad0ac], cx
movsx edx, byte [0x100ad00d]
sub edx, 0x81
mov byte [0x100ad0a6], dl
movsx eax, word [0x100ad0c4]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov word [0x100ad0c4], ax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x12dc], eax
add edx, 0xd7
mov word [0x100ad130], dx
cmp dword [ebp - 0x120], 0xc03
jle 0x1000a200
mov eax, dword [0x100ad15c]
cdq
xor eax, 0x5483cad9
xor edx, 0x991a6
mov dword [ebp - 0xab8], eax
mov dword [ebp - 0xab4], edx
mov ecx, dword [ebp - 0xab8]
or ecx, dword [ebp - 0xab4]
jne 0x1000a0e1
xor edx, edx
mov dword [ebp - 0x760], 1
mov dword [ebp - 0x75c], edx
jmp 0x1000a0ec
xorps xmm0, xmm0
movlpd qword [ebp - 0x760], xmm0
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xac0], eax
mov dword [ebp - 0xabc], ecx
mov edx, dword [ebp - 0xac0]
or edx, dword [ebp - 0xabc]
jne 0x1000a120
xor eax, eax
mov dword [ebp - 0x758], 1
mov dword [ebp - 0x754], eax
jmp 0x1000a12b
xorps xmm0, xmm0
movlpd qword [ebp - 0x758], xmm0
mov ecx, dword [ebp - 0x24]
not ecx
xor edx, edx
mov eax, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
xor eax, dword [ebp - 0x758]
xor esi, dword [ebp - 0x754]
add eax, dword [ebp - 0x760]
adc esi, dword [ebp - 0x75c]
sub ecx, eax
sbb edx, esi
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
movsx ecx, word [0x100ad11c]
movsx edx, byte [ebp - 4]
imul ecx, edx
movsx eax, word [0x100ad11c]
imul eax, ecx
mov word [0x100ad11c], ax
movzx ecx, word [ebp - 0x10]
imul edx, ecx, 0x5848
mov word [0x100ad0b0], dx
movzx eax, word [ebp - 0x18]
cdq
mov esi, eax
movzx eax, byte [str.px_04X_]
add eax, dword [ebp - 0x20]
not eax
xor ecx, ecx
mov edx, dword [0x100ad164]
push edx
mov edx, dword [0x100ad160]
push edx
push ecx
push eax
call fcn.1007a8a0
add esi, eax
mov dword [0x100ad0c8], esi
mov eax, dword [0x100ad118]
cdq
xor eax, dword [0x100ad0f8]
xor edx, dword [0x100ad0fc]
push edx
push eax
mov eax, dword [0x100ad0fc]
push eax
mov ecx, dword [0x100ad0f8]
push ecx
call fcn.1007a8a0
mov dword [0x100ad0f8], eax
mov dword [0x100ad0fc], edx
mov edx, dword [ebp - 0x120]
sub edx, 1
mov dword [ebp - 0x120], edx
jmp 0x1000a092
movzx eax, word [0x100ad0f0]
cdq
mov ecx, dword [ebp - 0x48]
add ecx, 0xb9dc
mov esi, dword [ebp - 0x44]
adc esi, 0
mov dword [ebp - 0xac8], eax
mov dword [ebp - 0xac4], edx
mov dword [ebp - 0xad0], ecx
mov dword [ebp - 0xacc], esi
mov edx, dword [ebp - 0xac8]
cmp edx, dword [ebp - 0xad0]
jne 0x1000a524
mov eax, dword [ebp - 0xac4]
cmp eax, dword [ebp - 0xacc]
jne 0x1000a524
mov ecx, dword [ebp - 0x28]
sub ecx, 0x14e0c1bb
cmp dword [0x100ad118], ecx
jne 0x1000a524
mov byte [ebp - 2], 3
movzx edx, word [0x100ad0ac]
test edx, edx
je 0x1000a290
mov eax, dword [0x100ad150]
mov ecx, dword [0x100ad154]
mov dword [ebp - 0x768], eax
mov dword [ebp - 0x764], ecx
jmp 0x1000a2a2
mov eax, dword [0x100ad15c]
cdq
mov dword [ebp - 0x768], eax
mov dword [ebp - 0x764], edx
mov dl, byte [ebp - 0x768]
mov byte [ebp - 3], dl
mov eax, dword [0x100adbec]
mov dword [ebp - 0x28], eax
movsx ecx, byte [0x100ad073]
imul edx, ecx, 0xd6
movsx eax, word [ebp - 0xc]
sub eax, edx
mov word [ebp - 0xc], ax
movsx ecx, byte [ebp - 2]
mov dword [ebp - 0x240], ecx
cmp dword [ebp - 0x240], 3
ja case.default.0x1000a2e7
mov edx, dword [ebp - 0x240]
jmp dword [edx*4 + 0x10019aac]
movzx eax, word [ebp - 0x10]
imul ecx, eax, 0x5929b949
mov word [ebp - 0x1c], cx
mov edx, 2
imul eax, edx, 0x1dd1
movsx ecx, word [eax + 0x101f0f48]
movzx edx, byte [ebp - 5]
sub edx, ecx
mov byte [ebp - 5], dl
movsx eax, word [0x100ad0cc]
cdq
mov ecx, eax
sub ecx, 0x4a089a6a
movzx eax, byte [ebp - 1]
cdq
or eax, ecx
mov byte [ebp - 1], al
movzx edx, word [ebp - 0x18]
imul eax, edx, 0xc66a
mov dword [0x100ad118], eax
mov ecx, dword [ebp - 0x2c]
push ecx
mov edx, dword [ebp - 0x30]
push edx
mov eax, dword [ebp - 0x4c]
push eax
mov ecx, dword [ebp - 0x50]
push ecx
call fcn.1007a8a0
mov ecx, eax
mov esi, edx
movsx eax, byte [str.ZFreeSid]
not eax
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov byte [0x100ad00e], al
jmp case.default.0x1000a2e7
mov dword [0x100ad0e0], 0xe2310c88
mov edx, dword [0x100ad118]
add edx, 0xf34be12
mov byte [0x100ad00e], dl
push 0
push 0x98b8f6d8
mov eax, dword [ebp - 0x4c]
push eax
mov ecx, dword [ebp - 0x50]
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movsx eax, word [0x100ad11c]
cdq
mov dword [0x100ad138], eax
mov dword [0x100ad13c], edx
jmp case.default.0x1000a2e7
movzx edx, byte [0x100ad072]
mov eax, dword [0x100ad118]
sub eax, edx
mov ecx, dword [0x100ad118]
add ecx, eax
mov dword [0x100ad118], ecx
movzx edx, byte [ebp - 3]
imul eax, edx, 0x2586
movzx ecx, word [0x100ad0f0]
sub ecx, eax
mov word [0x100ad0f0], cx
movsx edx, word [0x100ad0c4]
test edx, edx
jne 0x1000a419
xor eax, eax
mov dword [ebp - 0xad8], 1
mov dword [ebp - 0xad4], eax
jmp 0x1000a424
xorps xmm0, xmm0
movlpd qword [ebp - 0xad8], xmm0
mov ecx, dword [0x100ad138]
add ecx, dword [ebp - 0xad8]
mov word [0x100ad11c], cx
imul edx, dword [0x100ad100], 0x5b41
mov byte [str.E2_wcsrchr], dl
mov eax, dword [0x100ad108]
mov ecx, dword [0x100ad10c]
mov dword [ebp - 0xae0], eax
mov dword [ebp - 0xadc], ecx
mov edx, dword [ebp - 0xae0]
or edx, dword [ebp - 0xadc]
jne 0x1000a478
mov dword [ebp - 0x244], 1
jmp 0x1000a482
mov dword [ebp - 0x244], 0
mov eax, dword [ebp - 0x28]
not eax
movzx ecx, word [0x100ad0b8]
not ecx
sub ecx, dword [0x100ad0c8]
add eax, ecx
mov edx, dword [ebp - 0x244]
sub edx, eax
mov word [ebp - 0xc], dx
jmp case.default.0x1000a2e7
movzx eax, byte [ebp - 5]
shl eax, 6
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov byte [0x100ad00e], 0x83
mov al, byte [ebp - 3]
add al, 1
mov byte [ebp - 3], al
jmp 0x1000a524
mov edx, 0xb9dc
mov word [0x100ad0f0], dx
movzx eax, word [ebp - 0x1c]
cdq
push edx
push eax
mov eax, dword [ebp - 0x54]
push eax
mov ecx, dword [ebp - 0x58]
push ecx
call fcn.1007a8a0
add eax, dword [ebp - 0x58]
adc edx, dword [ebp - 0x54]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
movzx edx, word [ebp - 0x14]
sub edx, 0x1592881a
mov byte [0x100ad09a], dl
movzx eax, byte [ebp - 3]
sub eax, 0x3e5826a0
mov word [0x100ad120], ax
mov cl, byte [0x100adbec]
mov byte [str.px_04X_], cl
mov edx, dword [ebp - 0x20]
shl edx, 5
mov byte [0x100ad043], dl
movzx eax, byte [ebp - 1]
cdq
mov dword [ebp - 0xae8], eax
mov dword [ebp - 0xae4], edx
mov eax, dword [ebp - 0xae4]
cmp eax, dword [ebp - 0x2c]
jb 0x1000a628
ja 0x1000a5b4
mov ecx, dword [ebp - 0xae8]
cmp ecx, dword [ebp - 0x30]
jbe 0x1000a628
movsx eax, byte [0x100ad043]
movzx edx, word [ebp - 0x18]
and eax, edx
movsx ecx, byte [0x100ad043]
add eax, ecx
cdq
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], edx
movzx eax, word [ebp - 0x10]
cdq
mov ecx, eax
xor ecx, dword [ebp - 0x48]
movzx eax, word [ebp - 0x10]
cdq
and eax, ecx
mov word [ebp - 0x10], ax
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
mov dword [ebp - 0x12e0], eax
sub edx, 0x36
mov word [ebp - 0x18], dx
push 0
push 0x82
mov ecx, dword [0x100ad154]
push ecx
mov edx, dword [0x100ad150]
push edx
call fcn.1007a8a0
mov word [0x100ad0b0], ax
jmp 0x1000a74a
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0xaf0], eax
mov dword [ebp - 0xaec], ecx
mov edx, dword [ebp - 0xaf0]
or edx, dword [ebp - 0xaec]
je 0x1000a69b
movzx eax, word [0x100ad120]
add eax, 0x3f7c11a2
mov byte [ebp - 4], al
movsx ecx, byte [0x100ad073]
add ecx, 0x35
imul ecx, dword [0x100ad158]
mov dword [0x100ad158], ecx
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
mov dword [ebp - 0x12e4], edx
xor ecx, 0x953d
movsx eax, word [0x100ad0d0]
cdq
sub eax, ecx
mov word [0x100ad0d0], ax
jmp 0x1000a74a
movzx eax, word [0x100ad0b8]
cdq
sub eax, dword [ebp - 0x58]
sbb edx, dword [ebp - 0x54]
mov dword [ebp - 0xaf8], eax
mov dword [ebp - 0xaf4], edx
mov eax, dword [ebp - 0xaf8]
or eax, dword [ebp - 0xaf4]
je 0x1000a74a
mov ecx, dword [ebp - 0x30]
sub ecx, 0x505eb4f3
mov edx, dword [ebp - 0x2c]
sbb edx, 0
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
mov eax, dword [0x100ad140]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x12e8], edx
sub eax, ecx
mov dword [0x100ad140], eax
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x12ec], ecx
add eax, 0x3ae
mov dword [ebp - 0x24], eax
movsx edx, byte [0x100ad042]
test edx, edx
je 0x1000a71f
movzx eax, byte [ebp - 5]
mov dword [ebp - 0x248], eax
jmp 0x1000a72c
movsx ecx, word [0x100ad130]
mov dword [ebp - 0x248], ecx
mov dx, word [ebp - 0x248]
mov word [0x100ad120], dx
movsx eax, byte [str.E2_wcsrchr]
cdq
sub eax, 0x68934c5e
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x9b4]
cmp dword [ebp - 0x9b8], eax
je 0x1000b7d7
mov ecx, 4
imul edx, ecx, 0x2e25
movsx eax, byte [0x100ad00d]
sub eax, dword [edx + 0x101af548]
mov byte [0x100ad00d], al
movzx eax, word [0x100ad0ac]
cdq
add eax, 0xed72b3a6
mov byte [ebp - 1], al
movzx ecx, byte [ebp - 5]
movzx edx, byte [ebp - 1]
add ecx, edx
movzx eax, byte [ebp - 5]
add eax, ecx
mov byte [ebp - 5], al
xor ecx, ecx
mov dword [0x100ad110], 0x6235
mov dword [0x100ad114], ecx
movsx edx, byte [0x100ad043]
not edx
movsx eax, byte [0x100ad09a]
cmp edx, eax
jle 0x1000a931
cmp dword [ebp - 0x50], 1
jne 0x1000a8aa
cmp dword [ebp - 0x4c], 0
jne 0x1000a8aa
movzx ecx, word [0x100ad0ac]
movzx edx, byte [str.px_04X_]
lea eax, [edx + ecx + 0x78db]
mov byte [str.px_04X_], al
mov ecx, dword [0x100ad100]
xor edx, edx
push edx
push ecx
mov eax, dword [0x100ad114]
push eax
mov ecx, dword [0x100ad110]
push ecx
call fcn.1007a8a0
mov dword [ebp - 0xb00], eax
mov dword [ebp - 0xafc], edx
mov edx, dword [ebp - 0xb00]
or edx, dword [ebp - 0xafc]
jne 0x1000a836
mov dword [ebp - 0x24c], 1
jmp 0x1000a840
mov dword [ebp - 0x24c], 0
movzx eax, byte [str.px_04X_]
mov ecx, dword [ebp - 0x24c]
sub ecx, eax
movzx edx, byte [0x100ad072]
movsx eax, byte [ebp - 4]
movzx esi, byte [ebp - 1]
imul eax, esi
add edx, eax
imul ecx, edx
mov dword [0x100ad0c8], ecx
mov byte [0x100ad09a], 0x5f
mov ecx, dword [0x100ad0f8]
sub ecx, 0xd89e
mov byte [str.ZFreeSid], cl
movsx edx, word [0x100ad0c0]
movsx eax, word [0x100ad0cc]
sub edx, eax
movsx ecx, word [0x100ad0c0]
and ecx, edx
mov word [0x100ad0c0], cx
jmp 0x1000a92c
movzx edx, word [0x100ad0f0]
test edx, edx
jne 0x1000a8bd
movzx eax, word [ebp - 0x18]
test eax, eax
je 0x1000a92c
mov ecx, dword [0x100ad140]
sub ecx, 0x18
mov byte [0x100ad037], cl
push 0
push 0x6661
mov edx, dword [0x100ad0fc]
push edx
mov eax, dword [0x100ad0f8]
push eax
call fcn.1007a8a0
mov word [0x100ad0ac], ax
cmp dword [ebp - 0x20], 0
jne 0x1000a8fd
mov dword [ebp - 0x250], 1
jmp 0x1000a907
mov dword [ebp - 0x250], 0
mov ecx, 0xc6bb48e3
sub ecx, dword [ebp - 0x250]
mov byte [0x100ad0a6], cl
movsx edx, byte [0x100ad043]
add edx, 0x4d
movzx eax, word [ebp - 0x18]
sub eax, edx
mov word [ebp - 0x18], ax
jmp 0x1000a9d9
movzx ecx, word [ebp - 0x1c]
movsx edx, byte [ebp - 4]
cmp ecx, edx
jne 0x1000a949
mov dword [ebp - 0x254], 1
jmp 0x1000a953
mov dword [ebp - 0x254], 0
movzx eax, byte [ebp - 6]
sub eax, dword [0x100ad158]
cmp dword [ebp - 0x254], eax
jl 0x1000a9d9
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x12f0], edx
add ecx, 0x92a6
mov word [ebp - 0xc], cx
movzx eax, byte [0x100ad072]
movsx ecx, byte [ebp - 4]
sub eax, ecx
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xb08], edx
mov dword [ebp - 0xb04], eax
mov ecx, dword [ebp - 0xb08]
or ecx, dword [ebp - 0xb04]
jne 0x1000a9bb
mov dword [ebp - 0x258], 1
jmp 0x1000a9c5
mov dword [ebp - 0x258], 0
movsx edx, byte [0x100ad00e]
sub edx, dword [ebp - 0x258]
mov word [0x100ad0ac], dx
mov eax, dword [0x100ad0d8]
mov ecx, dword [0x100ad0dc]
mov edx, dword [ebp - 0x50]
add edx, 0x59dc75bf
mov esi, dword [ebp - 0x4c]
adc esi, 0
mov dword [ebp - 0xb10], eax
mov dword [ebp - 0xb0c], ecx
mov dword [ebp - 0xb18], edx
mov dword [ebp - 0xb14], esi
mov eax, dword [ebp - 0xb10]
cmp eax, dword [ebp - 0xb18]
jne 0x1000acde
mov ecx, dword [ebp - 0xb0c]
cmp ecx, dword [ebp - 0xb14]
jne 0x1000acde
movzx eax, byte [0x100ad072]
cdq
add eax, dword [ebp - 0x48]
adc edx, dword [ebp - 0x44]
mov dword [ebp - 0xb20], eax
mov dword [ebp - 0xb1c], edx
cmp dword [ebp - 0xb20], 1
jne 0x1000acde
cmp dword [ebp - 0xb1c], 0
jne 0x1000acde
mov edx, 2
mov word [ebp - 0xc], dx
mov eax, 0x42c24
mov dword [ebp - 0x30], 0x7d4df069
mov dword [ebp - 0x2c], eax
mov ecx, dword [0x100ad160]
add ecx, 0xe237
mov word [ebp - 0x1c], cx
movsx edx, word [0x100ad0bc]
movzx eax, byte [ebp - 6]
add edx, eax
movsx ecx, word [0x100ad0bc]
xor ecx, edx
mov word [0x100ad0bc], cx
xor edx, edx
mov dword [0x100ad0f8], 0x5cf7f580
mov dword [0x100ad0fc], edx
movsx eax, word [ebp - 0xc]
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0x124], 0
je 0x1000aaec
cmp dword [ebp - 0x124], 1
je 0x1000ab6e
cmp dword [ebp - 0x124], 2
je 0x1000abc7
jmp 0x1000ac3d
movzx ecx, word [0x100ad120]
test ecx, ecx
jne 0x1000ab0b
xor edx, edx
mov dword [ebp - 0xb28], 1
mov dword [ebp - 0xb24], edx
jmp 0x1000ab16
xorps xmm0, xmm0
movlpd qword [ebp - 0xb28], xmm0
mov eax, dword [ebp - 0x48]
not eax
mov ecx, dword [ebp - 0x44]
not ecx
mov edx, dword [0x100ad148]
mov esi, dword [0x100ad14c]
push ecx
push eax
push esi
push edx
call fcn.1007a8a0
xor eax, dword [ebp - 0xb28]
mov word [0x100ad130], ax
movzx eax, word [ebp - 0x10]
imul eax, dword [0x100ad158]
mov dword [0x100ad158], eax
movsx eax, byte [0x100ad043]
cdq
mov ecx, dword [ebp - 0x48]
sub ecx, eax
mov eax, dword [ebp - 0x44]
sbb eax, edx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], eax
jmp 0x1000ac3d
movzx ecx, word [0x100ad0f0]
movsx edx, byte [ebp - 2]
add ecx, edx
mov byte [ebp - 4], cl
movsx eax, byte [0x100ad09a]
and eax, 0x77
movzx ecx, word [ebp - 0x1c]
and ecx, eax
mov word [ebp - 0x1c], cx
mov edx, 0x86e5
mov word [ebp - 0x14], dx
mov eax, dword [ebp - 0x20]
add eax, 0x54f0
mov dword [0x100ad0e0], eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x398c3a62
mov dword [ebp - 0x20], ecx
movzx edx, byte [0x100ad00f]
and edx, 0x653
mov word [ebp - 0x10], dx
jmp 0x1000ac3d
mov eax, dword [0x100ad118]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov dword [0x100ad118], eax
movzx edx, byte [0x100ad072]
test edx, edx
je 0x1000abf8
movzx eax, byte [ebp - 5]
mov dword [ebp - 0x25c], eax
jmp 0x1000ac05
movsx ecx, byte [0x100ad042]
mov dword [ebp - 0x25c], ecx
mov eax, dword [ebp - 0x25c]
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
movsx edx, byte [ebp - 2]
movzx eax, byte [ebp - 3]
imul edx, eax
mov byte [ebp - 2], dl
movsx ecx, byte [ebp - 4]
sub ecx, 0x63
mov word [0x100ad0f0], cx
movzx eax, byte [ebp - 6]
cdq
sub eax, 0xcacb414b
mov dword [0x100ad0a8], eax
jmp 0x1000a79c
mov byte [0x100ad00e], 0xbb
movsx eax, word [0x100ad11c]
sub eax, 0xb9
mov word [0x100ad0e4], ax
movsx ecx, byte [ebp - 4]
movsx edx, byte [ebp - 4]
sub ecx, edx
movsx eax, byte [ebp - 4]
xor eax, ecx
mov byte [ebp - 4], al
movzx ecx, byte [ebp - 5]
imul ecx, dword [0x100ad0a8]
mov byte [ebp - 5], cl
movsx eax, byte [0x100ad00d]
cdq
mov ecx, eax
mov esi, edx
movsx eax, byte [0x100ad00e]
cdq
add eax, dword [ebp - 0x50]
adc edx, dword [ebp - 0x4c]
mov dword [ebp - 0xb30], ecx
mov dword [ebp - 0xb2c], esi
mov dword [ebp - 0xb38], eax
mov dword [ebp - 0xb34], edx
mov edx, dword [ebp - 0xb30]
cmp edx, dword [ebp - 0xb38]
jne 0x1000ae65
mov eax, dword [ebp - 0xb2c]
cmp eax, dword [ebp - 0xb34]
jne 0x1000ae65
call dword [sym.imp.USER32.dll_GetDoubleClickTime]
mov byte [0x100ad072], al
push 0
push 0xcfc92b06
mov ecx, dword [0x100ad0ec]
push ecx
mov edx, dword [0x100ad0e8]
push edx
call fcn.1007a8a0
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov cl, 6
call fcn.1007a9b0
mov dword [ebp - 0x28], eax
movsx eax, word [0x100ad0cc]
movzx ecx, word [ebp - 0x14]
xor eax, ecx
mov word [0x100ad0cc], ax
movsx eax, word [0x100ad0e4]
add eax, 0xaf
cdq
push edx
push eax
mov edx, dword [0x100ad13c]
push edx
mov eax, dword [0x100ad138]
push eax
call fcn.1007a8a0
mov dword [0x100ad138], eax
mov dword [0x100ad13c], edx
mov ecx, dword [ebp - 0x20]
add ecx, 0x18d58dd8
cmp dword [0x100ad140], ecx
jne 0x1000ae65
jmp 0x1000acde
movzx eax, byte [ebp - 5]
cmp eax, dword [ebp - 0x20]
jb 0x1000ae7a
mov dword [ebp - 0x260], 1
jmp 0x1000ae84
mov dword [ebp - 0x260], 0
movzx ecx, byte [ebp - 5]
cmp ecx, 0x50
jl 0x1000ae99
mov dword [ebp - 0x264], 1
jmp 0x1000aea3
mov dword [ebp - 0x264], 0
mov edx, dword [ebp - 0x260]
cmp edx, dword [ebp - 0x264]
jge 0x1000aef0
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x268], eax
cmp dword [ebp - 0x268], 0
je 0x1000aeee
mov eax, dword [ebp - 0x268]
push eax
call dword [sym.imp.USER32.dll_GetMenu]
mov dword [ebp - 0x9bc], eax
push 1
mov ecx, dword [ebp - 0x9bc]
push ecx
call dword [sym.imp.USER32.dll_GetSubMenu]
mov dword [ebp - 0x12f4], eax
jmp 0x1000af53
movzx edx, byte [ebp - 5]
imul eax, edx, 0x22cc27f2
mov dword [ebp - 0x20], eax
mov cl, byte [0x100ad0f8]
mov byte [ebp - 5], cl
movsx eax, byte [ebp - 2]
cdq
push 0x19ea2
push 0xa78174fa
push edx
push eax
call fcn.1007a8a0
mov dword [0x100ad0a8], eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
push 0x4e923
push 0x82b121d1
push eax
push edx
call fcn.1007a8a0
mov ecx, eax
movzx eax, word [0x100ad0ac]
cdq
sub eax, ecx
mov word [0x100ad0ac], ax
mov dl, byte [ebp - 0x24]
mov byte [0x100ad042], dl
cmp dword [ebp - 0x9c0], 0
jne 0x1000b7d7
xor eax, eax
mov word [ebp - 0x14], ax
movzx ecx, byte [0x100ad0a6]
test ecx, ecx
je 0x1000af83
mov eax, dword [ebp - 0x28]
cdq
mov dword [ebp - 0x770], eax
mov dword [ebp - 0x76c], edx
jmp 0x1000af95
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x770], edx
mov dword [ebp - 0x76c], eax
mov cl, byte [ebp - 0x770]
mov byte [ebp - 1], cl
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
mov ecx, dword [0x100ad118]
add ecx, 0xf394
mov byte [ebp - 2], cl
movsx eax, byte [ebp - 2]
movzx edx, word [ebp - 0x14]
sub eax, edx
cdq
mov ecx, eax
movsx eax, word [0x100ad11c]
cdq
mov edx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0x12f8], esi
and edx, eax
add ecx, edx
mov byte [0x100ad00f], cl
movzx eax, word [ebp - 0x14]
mov dword [ebp - 0x9c4], eax
cmp dword [ebp - 0x9c4], 0
je 0x1000aff9
jmp 0x1000b045
movsx ecx, byte [0x100ad042]
add ecx, dword [0x100ad15c]
movsx edx, byte [0x100ad042]
and edx, ecx
mov byte [0x100ad042], dl
movzx eax, word [0x100ad0f0]
movzx ecx, word [0x100ad120]
lea edx, [eax + ecx + 0x41005f02]
mov word [ebp - 0x10], dx
movsx eax, byte [0x100ad043]
add eax, dword [0x100ad100]
not eax
mov ecx, dword [ebp - 0x28]
sub ecx, eax
mov byte [ebp - 2], cl
mov dword [0x100ad0b4], 0xac3e1428
mov edx, dword [ebp - 0x24]
add edx, 0x9d9d
mov dword [ebp - 0x24], edx
mov eax, 8
imul ecx, eax, 0x90
mov edx, dword [ecx + 0x100d4fe8]
mov eax, dword [ecx + 0x100d4fec]
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], eax
movsx ecx, word [0x100ad11c]
sar ecx, 2
mov byte [str.E2_wcsrchr], cl
mov edx, dword [0x100ad0e8]
add edx, 0x3108
mov byte [0x100ad0a6], dl
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x24], eax
movsx ecx, byte [0x100ad043]
movzx edx, word [ebp - 0x10]
add edx, dword [0x100ad0b4]
cmp ecx, edx
jne 0x1000b780
movsx eax, word [0x100ad0c4]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0xb40], eax
mov dword [ebp - 0xb3c], edx
mov dword [ebp - 0xb48], ecx
mov dword [ebp - 0xb44], esi
mov edx, dword [ebp - 0xb3c]
cmp edx, dword [ebp - 0xb44]
jb 0x1000b2e2
ja 0x1000b105
mov eax, dword [ebp - 0xb40]
cmp eax, dword [ebp - 0xb48]
jbe 0x1000b2e2
movsx eax, word [0x100ad0bc]
cdq
mov dword [ebp - 0xb50], eax
mov dword [ebp - 0xb4c], edx
mov ecx, dword [ebp - 0xb4c]
cmp ecx, dword [ebp - 0x2c]
ja 0x1000b1f9
jb 0x1000b139
mov edx, dword [ebp - 0xb50]
cmp edx, dword [ebp - 0x30]
jae 0x1000b1f9
xor eax, eax
mov ecx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x4c]
sbb edx, eax
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], edx
movsx eax, word [0x100ad0b0]
movzx ecx, word [0x100ad120]
add eax, ecx
mov word [0x100ad0b0], ax
movzx edx, byte [ebp - 6]
test edx, edx
jne 0x1000b17e
xor eax, eax
mov dword [ebp - 0xb58], 1
mov dword [ebp - 0xb54], eax
jmp 0x1000b189
xorps xmm0, xmm0
movlpd qword [ebp - 0xb58], xmm0
movsx ecx, byte [0x100ad09a]
test ecx, ecx
jne 0x1000b1a8
xor edx, edx
mov dword [ebp - 0xb60], 1
mov dword [ebp - 0xb5c], edx
jmp 0x1000b1b3
xorps xmm0, xmm0
movlpd qword [ebp - 0xb60], xmm0
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x12fc], ecx
add eax, dword [ebp - 0xb58]
add eax, dword [ebp - 0xb60]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov cl, 1
call fcn.1007a9b0
mov dword [0x100ad148], eax
mov dword [0x100ad14c], edx
mov edx, dword [ebp - 0x24]
shr edx, 2
xor eax, eax
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
jmp 0x1000b2e0
movsx ecx, word [0x100ad0d0]
movsx edx, byte [ebp - 4]
not edx
cmp ecx, edx
je 0x1000b216
mov dword [ebp - 0x26c], 1
jmp 0x1000b220
mov dword [ebp - 0x26c], 0
movsx eax, byte [0x100ad042]
cmp eax, 0x6cc8
jg 0x1000b23a
mov dword [ebp - 0x270], 1
jmp 0x1000b244
mov dword [ebp - 0x270], 0
mov ecx, dword [ebp - 0x26c]
cmp ecx, dword [ebp - 0x270]
je 0x1000b25e
mov dword [ebp - 0x274], 1
jmp 0x1000b268
mov dword [ebp - 0x274], 0
mov edx, dword [ebp - 0x274]
not edx
test edx, edx
je 0x1000b2e0
xor eax, eax
mov dword [0x100ad108], 0x70a072df
mov dword [0x100ad10c], eax
movzx ecx, byte [ebp - 1]
imul eax, ecx, 0xf3
cdq
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
movzx eax, word [ebp - 0x18]
cdq
push edx
push eax
mov edx, dword [0x100ad0fc]
push edx
mov eax, dword [0x100ad0f8]
push eax
call fcn.1007a8a0
push edx
push eax
mov ecx, dword [0x100ad0fc]
push ecx
mov edx, dword [0x100ad0f8]
push edx
call fcn.1007a8a0
mov dword [0x100ad0f8], eax
mov dword [0x100ad0fc], edx
mov ax, word [0x100adbec]
mov word [0x100ad0b0], ax
jmp 0x1000b312
mov cl, byte [ebp - 4]
mov byte [0x100ad042], cl
movzx eax, byte [0x100ad00f]
sub eax, 0x5104
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
movsx edx, byte [0x100ad073]
sub edx, 0xcd
mov word [0x100ad0b0], dx
movsx eax, word [ebp - 0xc]
test eax, eax
jne 0x1000b32e
xor ecx, ecx
mov dword [ebp - 0x778], 1
mov dword [ebp - 0x774], ecx
jmp 0x1000b339
xorps xmm0, xmm0
movlpd qword [ebp - 0x778], xmm0
mov edx, dword [ebp - 0x58]
sub edx, dword [ebp - 0x778]
mov eax, dword [ebp - 0x54]
sbb eax, dword [ebp - 0x774]
mov ecx, dword [ebp - 0x34]
add edx, dword [ebp - 0x38]
adc eax, ecx
not edx
not eax
add edx, dword [0x100ad160]
adc eax, dword [0x100ad164]
mov dword [0x100ad128], edx
mov dword [0x100ad12c], eax
mov edx, dword [0x100adbec]
xor eax, eax
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
movsx ecx, byte [0x100ad00e]
movsx edx, word [0x100ad0c0]
imul ecx, edx
movsx eax, byte [0x100ad00e]
add eax, ecx
mov byte [0x100ad00e], al
movzx eax, byte [0x100ad0a6]
cdq
push edx
push eax
mov ecx, dword [0x100ad114]
push ecx
mov edx, dword [0x100ad110]
push edx
call fcn.1007a8a0
add eax, dword [0x100ad110]
adc edx, dword [0x100ad114]
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
movsx eax, byte [0x100ad09a]
cdq
mov ecx, dword [0x100ad0e8]
sub ecx, eax
mov eax, dword [0x100ad0ec]
sbb eax, edx
mov dword [0x100ad0e8], ecx
mov dword [0x100ad0ec], eax
mov ecx, dword [ebp - 0x48]
add ecx, 0xc03284f2
mov edx, dword [ebp - 0x44]
adc edx, 0
mov dword [ebp - 0xb68], ecx
mov dword [ebp - 0xb64], edx
mov eax, dword [0x100ad110]
cmp eax, dword [ebp - 0xb68]
jne 0x1000b780
mov ecx, dword [0x100ad114]
cmp ecx, dword [ebp - 0xb64]
jne 0x1000b780
movsx edx, word [0x100ad11c]
cmp dword [ebp - 0x24], edx
je 0x1000b695
movzx eax, word [ebp - 0x18]
not eax
cmp eax, dword [0x100ad118]
jne 0x1000b459
mov dword [ebp - 0x27c], 1
jmp 0x1000b463
mov dword [ebp - 0x27c], 0
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [0x100ad0b4]
jb 0x1000b47a
mov dword [ebp - 0x278], 1
jmp 0x1000b484
mov dword [ebp - 0x278], 0
mov edx, dword [ebp - 0x278]
not edx
cmp dword [ebp - 0x27c], edx
je 0x1000b4a0
mov dword [ebp - 0x284], 1
jmp 0x1000b4aa
mov dword [ebp - 0x284], 0
movzx eax, word [ebp - 0x18]
test eax, eax
jne 0x1000b4be
mov dword [ebp - 0x280], 1
jmp 0x1000b4c8
mov dword [ebp - 0x280], 0
movsx ecx, word [0x100ad11c]
xor ecx, 0xf8
and ecx, dword [ebp - 0x280]
jne 0x1000b4e9
mov dword [ebp - 0x288], 1
jmp 0x1000b4f3
mov dword [ebp - 0x288], 0
mov edx, dword [ebp - 0x284]
cmp edx, dword [ebp - 0x288]
je 0x1000b550
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x9cc], 0
cmp dword [ebp - 0x28c], 0
je 0x1000b54b
mov dword [ebp - 0x9c8], 1
mov eax, dword [ebp - 0x9c8]
push eax
mov ecx, dword [ebp - 0x9cc]
push ecx
mov edx, dword [ebp - 0x28c]
push edx
call dword [sym.imp.USER32.dll_GetUpdateRect]
mov dword [ebp - 0x1300], eax
jmp 0x1000b693
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xb70], eax
mov dword [ebp - 0xb6c], ecx
mov edx, dword [ebp - 0xb70]
or edx, dword [ebp - 0xb6c]
jne 0x1000b57c
mov dword [ebp - 0x290], 1
jmp 0x1000b586
mov dword [ebp - 0x290], 0
movzx eax, byte [ebp - 3]
cmp dword [ebp - 0x290], eax
jge 0x1000b59e
mov dword [ebp - 0x294], 1
jmp 0x1000b5a8
mov dword [ebp - 0x294], 0
movsx ecx, word [ebp - 0xc]
not ecx
cmp dword [ebp - 0x294], ecx
jl 0x1000b605
mov ecx, dword [0x100ad110]
add ecx, 0x2a
movsx eax, byte [ebp - 2]
cdq
add eax, ecx
mov byte [ebp - 2], al
mov edx, dword [ebp - 0x30]
or edx, dword [ebp - 0x2c]
je 0x1000b5dd
mov ax, word [0x100ad0e4]
mov word [ebp - 0x78], ax
jmp 0x1000b5e8
mov cx, word [0x100ad0c0]
mov word [ebp - 0x78], cx
mov dl, byte [ebp - 0x78]
mov byte [str.ZFreeSid], dl
movsx eax, word [ebp - 0xc]
xor eax, dword [0x100ad0b4]
mov dword [0x100ad0b4], eax
jmp 0x1000b693
movzx eax, word [ebp - 0x10]
cdq
mov dword [ebp - 0xb78], eax
mov dword [ebp - 0xb74], edx
mov ecx, dword [0x100ad13c]
cmp ecx, dword [ebp - 0xb74]
jb 0x1000b693
ja 0x1000b634
mov edx, dword [0x100ad138]
cmp edx, dword [ebp - 0xb78]
jb 0x1000b693
mov dword [0x100ad100], 8
movzx eax, byte [ebp - 5]
movzx ecx, byte [ebp - 1]
sub eax, ecx
movzx edx, byte [str.px_04X_]
xor edx, dword [0x100ad0b4]
add eax, edx
not eax
mov word [0x100ad120], ax
movsx eax, word [0x100ad130]
imul ecx, eax, 0x693
movsx edx, byte [0x100ad00e]
add edx, ecx
mov byte [0x100ad00e], dl
movzx eax, byte [0x100ad00f]
and eax, 0x79c8
mov word [ebp - 0xc], ax
mov ecx, dword [ebp - 0x28]
sar ecx, 1
mov byte [ebp - 6], cl
jmp 0x1000b710
movsx edx, byte [0x100ad037]
test edx, edx
je 0x1000b710
movsx eax, word [0x100ad130]
cdq
sub eax, 0xbcdd2437
mov word [ebp - 0x1c], ax
movzx eax, byte [str.px_04X_]
movsx ecx, byte [0x100ad073]
add eax, ecx
movzx edx, byte [str.px_04X_]
add edx, eax
mov byte [str.px_04X_], dl
movsx eax, byte [0x100ad037]
cdq
add eax, 0xcab5ffd0
mov dword [ebp - 0x28], eax
movzx eax, byte [ebp - 1]
mov ecx, 4
imul edx, ecx, 0x54cd
mov dword [edx + 0x101af548], eax
mov eax, 4
imul ecx, eax, 0x6e
movsx edx, byte [0x100ad073]
add edx, dword [ecx + 0x100c0050]
mov byte [0x100ad073], dl
jmp 0x1000b045
xor ecx, ecx
mov byte [ebp - 0x69], cl
lea ecx, [ebp - 0x69]
call fcn.10003570
mov dword [ebp - 0x98], eax
mov edx, dword [ebp - 0x98]
movzx eax, byte [edx + 0xc]
test eax, eax
je 0x1000b7c5
push 0x1010101
push 0x7df7ebdb
push 0
push 0xc
mov ecx, dword [ebp - 0x98]
push ecx
call fcn.10040e80
mov edx, dword [ebp - 0x98]
mov byte [edx + 0xc], 0
mov eax, dword [ebp - 0x98]
push eax
push 0
push 0
call fcn.100013b0
call eax
movzx ecx, byte [ebp - 5]
test ecx, ecx
je 0x1000baf5
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0xb80], edx
mov dword [ebp - 0xb7c], eax
mov ecx, dword [ebp - 0xb80]
or ecx, dword [ebp - 0xb7c]
jne 0x1000b80f
mov dword [ebp - 0x298], 1
jmp 0x1000b819
mov dword [ebp - 0x298], 0
movzx edx, word [ebp - 0x10]
cmp dword [ebp - 0x298], edx
jne 0x1000b831
mov dword [ebp - 0x2a0], 1
jmp 0x1000b83b
mov dword [ebp - 0x2a0], 0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0xb88], eax
mov dword [ebp - 0xb84], ecx
cmp dword [ebp - 0xb84], 0
ja 0x1000b870
jb 0x1000b864
cmp dword [ebp - 0xb88], 0xf8
ja 0x1000b870
mov dword [ebp - 0x29c], 1
jmp 0x1000b87a
mov dword [ebp - 0x29c], 0
cmp dword [ebp - 0x29c], 0xe20fe89a
ja 0x1000b892
mov dword [ebp - 0x2a4], 1
jmp 0x1000b89c
mov dword [ebp - 0x2a4], 0
mov edx, dword [ebp - 0x2a0]
cmp edx, dword [ebp - 0x2a4]
jne 0x1000b911
xor eax, eax
mov dword [0x100ad148], 0x7f
mov dword [0x100ad14c], eax
mov byte [ebp - 4], 2
mov ecx, dword [0x100ad150]
or ecx, dword [0x100ad154]
je 0x1000b8e3
movsx eax, byte [str.E2_wcsrchr]
cdq
mov dword [ebp - 0x6e8], eax
mov dword [ebp - 0x6e4], edx
jmp 0x1000b8fa
mov edx, dword [0x100ad128]
mov eax, dword [0x100ad12c]
mov dword [ebp - 0x6e8], edx
mov dword [ebp - 0x6e4], eax
mov ecx, dword [ebp - 0x6e8]
mov edx, dword [ebp - 0x6e4]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
jmp 0x1000baf0
mov eax, dword [0x100ad140]
xor ecx, ecx
mov dword [ebp - 0xb90], eax
mov dword [ebp - 0xb8c], ecx
mov edx, dword [ebp - 0xb90]
cmp edx, dword [0x100ad150]
jne 0x1000b940
mov eax, dword [ebp - 0xb8c]
cmp eax, dword [0x100ad154]
je 0x1000b94c
mov dword [ebp - 0x2a8], 1
jmp 0x1000b956
mov dword [ebp - 0x2a8], 0
movsx ecx, word [ebp - 0xc]
movsx edx, byte [0x100ad037]
cmp ecx, edx
jg 0x1000b971
mov dword [ebp - 0x2ac], 1
jmp 0x1000b97b
mov dword [ebp - 0x2ac], 0
mov eax, dword [ebp - 0x2a8]
add eax, dword [ebp - 0x2ac]
je 0x1000b9e5
movsx ecx, byte [ebp - 2]
imul edx, ecx, 0x8333
or edx, dword [0x100ad0b4]
mov dword [0x100ad0b4], edx
imul eax, dword [0x100ad158], 0xc20d0c46
xor ecx, ecx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], ecx
movzx edx, byte [0x100ad00f]
movsx eax, word [0x100ad0bc]
sub eax, dword [ebp - 0x20]
or edx, eax
mov word [0x100ad0c0], dx
mov cx, word [0x100ad0b8]
mov edx, 1
imul eax, edx, 0x5e
mov byte [eax + 0x100df598], cl
jmp 0x1000baf0
cmp dword [0x100ad100], 0
jne 0x1000b9fa
mov dword [ebp - 0x2b0], 1
jmp 0x1000ba04
mov dword [ebp - 0x2b0], 0
movzx ecx, word [ebp - 0x1c]
add ecx, dword [ebp - 0x2b0]
jne 0x1000baf0
mov ecx, dword [ebp - 0x58]
not ecx
mov esi, dword [ebp - 0x54]
not esi
movzx eax, word [ebp - 0x14]
cdq
mov dword [ebp - 0xb98], ecx
mov dword [ebp - 0xb94], esi
mov dword [ebp - 0xba0], eax
mov dword [ebp - 0xb9c], edx
mov edx, dword [ebp - 0xb94]
cmp edx, dword [ebp - 0xb9c]
jb 0x1000baf0
ja 0x1000ba61
mov eax, dword [ebp - 0xb98]
cmp eax, dword [ebp - 0xba0]
jbe 0x1000baf0
push 0
push 0x59
mov ecx, dword [0x100ad13c]
push ecx
mov edx, dword [0x100ad138]
push edx
call fcn.1007a8a0
mov ecx, eax
mov esi, edx
movsx eax, word [0x100ad11c]
cdq
mov edi, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x34]
sub edi, eax
sbb ebx, edx
push ebx
push edi
push esi
push ecx
call fcn.1007a8a0
mov ecx, eax
movzx eax, byte [ebp - 5]
movzx edx, byte [ebp - 5]
movzx esi, byte [0x100ad00f]
imul edx, esi
imul eax, edx
cdq
sub ecx, eax
mov byte [0x100ad042], cl
movsx eax, word [0x100ad0cc]
cdq
mov ecx, eax
and ecx, 0x6a9521db
movsx eax, byte [0x100ad00d]
cdq
sub eax, ecx
mov byte [0x100ad00d], al
movsx edx, byte [ebp - 2]
imul eax, edx, 0x5d74da94
movzx ecx, word [0x100ad0b8]
sub ecx, eax
mov word [0x100ad0b8], cx
jmp 0x1000bb8b
movsx edx, byte [0x100ad00e]
movzx eax, byte [ebp - 3]
cmp edx, eax
jle 0x1000bb10
mov dword [ebp - 0x2b4], 1
jmp 0x1000bb1a
mov dword [ebp - 0x2b4], 0
movsx ecx, byte [ebp - 4]
movsx edx, word [0x100ad0e4]
not edx
cmp ecx, edx
je 0x1000bb37
mov dword [ebp - 0x2b8], 1
jmp 0x1000bb41
mov dword [ebp - 0x2b8], 0
mov eax, dword [ebp - 0x2b4]
cmp eax, dword [ebp - 0x2b8]
je 0x1000bb8b
movsx ecx, word [0x100ad0cc]
movsx edx, byte [0x100ad043]
lea eax, [edx + ecx - 0x50b]
mov byte [0x100ad043], al
mov byte [0x100ad072], 4
mov ecx, dword [ebp - 0x30]
sub ecx, 0xce
mov edx, dword [ebp - 0x2c]
sbb edx, 0
mov dword [0x100ad108], ecx
mov dword [0x100ad10c], edx
xor eax, eax
mov byte [ebp - 0x6a], al
lea ecx, [ebp - 0x6a]
call fcn.100036e0
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0x9c]
movzx edx, byte [ecx + 0xc]
test edx, edx
je 0x1000bbd0
push 0x1010101
push 0x7dd7115b
push 0
push 0xc
mov eax, dword [ebp - 0x9c]
push eax
call fcn.10040e80
mov ecx, dword [ebp - 0x9c]
mov byte [ecx + 0xc], 0
mov edx, dword [ebp - 0x9c]
push edx
push 0
push 0
call fcn.10001650
call eax
mov dword [ebp - 0x9d0], eax
mov eax, 0x3e45
mov word [0x100ad130], ax
movzx ecx, word [ebp - 0x1c]
test ecx, ecx
je 0x1000bc59
movzx edx, byte [ebp - 6]
sub edx, 0x2e
mov word [0x100ad0e4], dx
movzx eax, word [ebp - 0x10]
movzx ecx, word [0x100ad0b8]
add eax, ecx
mov word [ebp - 0x10], ax
movzx eax, byte [ebp - 3]
xor eax, 0x64
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movzx edx, word [ebp - 0x1c]
imul eax, edx, 0x71b6
mov word [ebp - 0x1c], ax
movsx ecx, byte [0x100ad073]
sub ecx, dword [0x100ad158]
mov byte [0x100ad073], cl
movsx edx, word [ebp - 0xc]
sar edx, 4
mov word [ebp - 0x10], dx
jmp 0x1000beb1
movzx eax, byte [ebp - 6]
test eax, eax
je 0x1000bd76
movsx eax, byte [0x100ad042]
cdq
mov esi, dword [0x100ad150]
sub esi, eax
mov edi, dword [0x100ad154]
sbb edi, edx
movzx eax, word [ebp - 0x14]
cdq
mov ecx, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x3c]
push ebx
push ecx
push edx
push eax
call fcn.1007a8a0
add esi, eax
adc edi, edx
mov dword [ebp - 0xba8], esi
mov dword [ebp - 0xba4], edi
mov edx, dword [ebp - 0xba8]
or edx, dword [ebp - 0xba4]
jne 0x1000bcbb
mov dword [ebp - 0x2bc], 1
jmp 0x1000bcc5
mov dword [ebp - 0x2bc], 0
movzx eax, word [0x100ad0f0]
movsx ecx, word [0x100ad11c]
xor ecx, 0x685b
add eax, ecx
jne 0x1000bce9
mov dword [ebp - 0x2c0], 1
jmp 0x1000bcf3
mov dword [ebp - 0x2c0], 0
mov edx, dword [ebp - 0x2bc]
xor edx, dword [ebp - 0x2c0]
mov word [ebp - 0x18], dx
mov eax, 8
imul ecx, eax, 0x57
mov edx, dword [0x100ad138]
mov eax, dword [0x100ad13c]
mov dword [ecx + 0x101ebf30], edx
mov dword [ecx + 0x101ebf34], eax
movzx ecx, byte [ebp - 6]
mov edx, dword [ebp - 0x20]
sub edx, ecx
mov eax, 0xcf80093e
sub eax, edx
mov dword [0x100ad158], eax
mov ecx, 4
imul edx, ecx, 0x3e60
xor eax, eax
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
and ecx, dword [edx + 0x101af548]
and esi, eax
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], esi
movsx edx, word [0x100ad0c4]
sub edx, 0xbe70
or edx, dword [0x100ad100]
mov dword [0x100ad100], edx
jmp 0x1000beb1
movsx eax, byte [str.E2_wcsrchr]
test eax, eax
je 0x1000bdff
movsx eax, byte [0x100ad09a]
cdq
mov ecx, dword [0x100ad148]
mov edx, dword [0x100ad14c]
mov dword [ebp - 0x1304], edx
sub eax, ecx
mov dl, byte [0x100ad09a]
mov ecx, eax
sar dl, cl
mov byte [0x100ad09a], dl
xor eax, eax
mov dword [ebp - 0x50], 0x4f49
mov dword [ebp - 0x4c], eax
movsx eax, word [0x100ad0e4]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], esi
mov edx, dword [ebp - 0x48]
sub edx, 0x119d
mov eax, dword [ebp - 0x44]
sbb eax, 0
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
movzx eax, word [0x100ad120]
cdq
add eax, dword [0x100ad150]
mov word [0x100ad120], ax
jmp 0x1000beb1
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0xbb0], ecx
mov dword [ebp - 0xbac], edx
mov eax, dword [ebp - 0xbb0]
or eax, dword [ebp - 0xbac]
je 0x1000beb1
movzx ecx, word [ebp - 0x14]
add ecx, dword [0x100ad158]
movsx edx, byte [ebp - 4]
movzx eax, word [ebp - 0x14]
add edx, eax
add ecx, edx
not ecx
mov edx, dword [ebp - 0x28]
sub edx, ecx
mov word [ebp - 0x10], dx
mov eax, dword [0x100ad0b4]
add eax, 0x7871ff15
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov ecx, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
not ecx
not esi
movzx eax, byte [ebp - 5]
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov ecx, eax
mov esi, edx
movsx eax, word [ebp - 0xc]
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], esi
movzx eax, word [ebp - 0x14]
cdq
mov ecx, dword [ebp - 0x30]
sub ecx, eax
mov eax, dword [ebp - 0x2c]
sbb eax, edx
add ecx, dword [ebp - 0x30]
adc eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov cl, 4
call fcn.1007a9b0
mov dword [ebp - 0x20], eax
movsx eax, word [0x100ad130]
cdq
mov ecx, dword [ebp - 0x48]
add ecx, 0xeb1f3e45
mov esi, dword [ebp - 0x44]
adc esi, 0
mov dword [ebp - 0xbb8], eax
mov dword [ebp - 0xbb4], edx
mov dword [ebp - 0xbc0], ecx
mov dword [ebp - 0xbbc], esi
mov edx, dword [ebp - 0xbb8]
cmp edx, dword [ebp - 0xbc0]
jne 0x1000c19d
mov eax, dword [ebp - 0xbb4]
cmp eax, dword [ebp - 0xbbc]
jne 0x1000c19d
movsx eax, word [0x100ad0c0]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x28]
cdq
add eax, 0x4ebb725a
adc edx, 0xd81fd
mov dword [ebp - 0xbc8], ecx
mov dword [ebp - 0xbc4], esi
mov dword [ebp - 0xbd0], eax
mov dword [ebp - 0xbcc], edx
mov edx, dword [ebp - 0xbc8]
cmp edx, dword [ebp - 0xbd0]
jne 0x1000c19d
mov eax, dword [ebp - 0xbc4]
cmp eax, dword [ebp - 0xbcc]
jne 0x1000c19d
movsx ecx, word [0x100ad0e4]
push ecx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [0x100ad0a8], eax
movsx edx, word [0x100ad0c4]
movzx eax, word [ebp - 0x10]
cmp edx, eax
jle 0x1000bf89
mov dword [ebp - 0x2c4], 1
jmp 0x1000bf93
mov dword [ebp - 0x2c4], 0
mov ecx, dword [0x100ad148]
mov edx, dword [0x100ad14c]
mov dword [ebp - 0xbd8], ecx
mov dword [ebp - 0xbd4], edx
mov eax, dword [ebp - 0xbd8]
or eax, dword [ebp - 0xbd4]
jne 0x1000bfcd
xor ecx, ecx
mov dword [ebp - 0x780], 1
mov dword [ebp - 0x77c], ecx
jmp 0x1000bfd8
xorps xmm0, xmm0
movlpd qword [ebp - 0x780], xmm0
mov edx, dword [0x100ad128]
mov eax, dword [0x100ad12c]
mov dword [ebp - 0xbe0], edx
mov dword [ebp - 0xbdc], eax
mov ecx, dword [ebp - 0xbe0]
cmp ecx, dword [ebp - 0x780]
jne 0x1000c017
mov edx, dword [ebp - 0xbdc]
cmp edx, dword [ebp - 0x77c]
jne 0x1000c017
mov dword [ebp - 0x2c8], 1
jmp 0x1000c021
mov dword [ebp - 0x2c8], 0
mov eax, dword [ebp - 0x2c4]
cmp eax, dword [ebp - 0x2c8]
jg 0x1000c087
mov ecx, 0x928e1
mov dword [0x100ad138], 0x9dcf4e27
mov dword [0x100ad13c], ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [0x100ad108]
mov ecx, dword [0x100ad10c]
mov dword [ebp - 0x1308], ecx
sub edx, eax
mov dword [ebp - 0x24], edx
mov dword [0x100ad0c8], 0x1bef38a0
mov edx, dword [0x100ad0e0]
not edx
xor eax, eax
mov dword [0x100ad138], edx
mov dword [0x100ad13c], eax
mov ecx, 0x2773
mov word [ebp - 0x18], cx
jmp 0x1000c0bd
cmp dword [0x100ad0e0], 0
je 0x1000c0bd
mov edx, dword [ebp - 0x24]
shl edx, 4
mov word [0x100ad0e4], dx
movsx eax, word [0x100ad11c]
imul ecx, eax, 0xb5aa74b9
mov word [ebp - 0x14], cx
movsx eax, byte [ebp - 2]
cdq
add eax, 0x54fa3aca
mov byte [0x100ad043], al
jmp 0x1000c19d
mov ecx, 0x3e45
mov word [0x100ad130], cx
movsx eax, byte [0x100ad042]
movsx edx, byte [0x100ad042]
add eax, edx
cdq
mov ebx, eax
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x58]
sub ebx, eax
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
not ecx
not edx
push 0
push 0x5f468a73
push edx
push ecx
call fcn.1007a8a0
add ebx, eax
mov byte [ebp - 5], bl
mov byte [str.ZFreeSid], 8
movsx eax, byte [ebp - 4]
test eax, eax
jne 0x1000c1fc
mov dword [ebp - 0x2d4], 1
jmp 0x1000c206
mov dword [ebp - 0x2d4], 0
mov ecx, dword [ebp - 0x24]
add ecx, dword [ebp - 0x50]
movsx eax, word [0x100ad11c]
not eax
xor eax, dword [ebp - 0x2d4]
cdq
sub ecx, eax
mov byte [ebp - 3], cl
movzx edx, byte [ebp - 1]
movzx eax, byte [ebp - 3]
sub edx, eax
mov byte [ebp - 1], dl
cmp dword [ebp - 0x28], 0
jne 0x1000c240
mov dword [ebp - 0x2d8], 1
jmp 0x1000c24a
mov dword [ebp - 0x2d8], 0
movsx ecx, word [0x100ad0c4]
mov eax, ecx
imul eax, dword [ebp - 0x2d8]
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
movzx edx, byte [ebp - 1]
push edx
call dword [sym.imp.USER32.dll_GetDlgCtrlID]
mov word [ebp - 0x1c], ax
cmp dword [ebp - 0x9d0], 0
jne 0x1000d2c8
movsx eax, word [0x100ad0e4]
cmp dword [0x100ad15c], eax
jge 0x1000c298
mov dword [ebp - 0x2dc], 1
jmp 0x1000c2a2
mov dword [ebp - 0x2dc], 0
cmp dword [0x100ad15c], 0x1a
jge 0x1000c2b7
mov dword [ebp - 0x2e0], 1
jmp 0x1000c2c1
mov dword [ebp - 0x2e0], 0
mov ecx, dword [ebp - 0x2dc]
cmp ecx, dword [ebp - 0x2e0]
jle 0x1000c33e
movsx edx, byte [ebp - 4]
imul eax, edx, 0x168a
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
add ecx, dword [0x100ad160]
adc edx, dword [0x100ad164]
mov eax, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
add eax, ecx
adc esi, edx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], esi
movsx eax, word [ebp - 0xc]
cdq
sub eax, dword [ebp - 0x48]
mov word [ebp - 0xc], ax
push 0
push 0xef
mov ecx, dword [ebp - 0x44]
push ecx
mov edx, dword [ebp - 0x48]
push edx
call fcn.1007a8a0
mov word [ebp - 0x14], ax
mov eax, dword [ebp - 0x28]
cdq
push 0x788b6
push 0x36269ead
push edx
push eax
call fcn.1007a8a0
mov byte [0x100ad037], al
jmp 0x1000c397
movsx eax, byte [ebp - 2]
cdq
mov ecx, eax
add ecx, dword [ebp - 0x30]
movsx eax, byte [ebp - 2]
cdq
sub eax, ecx
mov byte [ebp - 2], al
xor edx, edx
mov dword [ebp - 0x48], 1
mov dword [ebp - 0x44], edx
mov eax, dword [0x100adbec]
mov dword [ebp - 0x28], eax
mov cx, word [ebp - 0x18]
mov word [ebp - 0x18], cx
movzx eax, word [ebp - 0x14]
xor eax, dword [0x100ad158]
cdq
and eax, dword [ebp - 0x50]
mov word [ebp - 0x18], ax
movzx edx, byte [ebp - 1]
imul edx, dword [0x100ad158]
mov eax, dword [0x100ad158]
sub eax, edx
mov dword [0x100ad158], eax
movzx ecx, byte [ebp - 6]
movsx edx, word [ebp - 0xc]
cmp ecx, edx
jne 0x1000c3af
mov dword [ebp - 0x2e4], 1
jmp 0x1000c3b9
mov dword [ebp - 0x2e4], 0
movzx eax, byte [ebp - 6]
cmp eax, 0x41
jne 0x1000c3ce
mov dword [ebp - 0x2e8], 1
jmp 0x1000c3d8
mov dword [ebp - 0x2e8], 0
mov ecx, dword [ebp - 0x2e4]
cmp ecx, dword [ebp - 0x2e8]
jle 0x1000c42d
mov ecx, dword [ebp - 0x20]
xor esi, esi
sub ecx, dword [ebp - 0x50]
sbb esi, dword [ebp - 0x4c]
movsx eax, byte [0x100ad037]
cdq
add eax, dword [0x100ad160]
adc edx, dword [0x100ad164]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov byte [0x100ad00d], al
movzx edx, byte [ebp - 1]
sub edx, 0x7176
mov byte [ebp - 6], dl
mov ax, word [ebp - 0x50]
mov word [ebp - 0xc], ax
jmp 0x1000c4ff
mov ecx, dword [ebp - 0x50]
or ecx, dword [ebp - 0x4c]
jne 0x1000c441
mov dword [ebp - 0x2ec], 1
jmp 0x1000c44b
mov dword [ebp - 0x2ec], 0
mov eax, dword [ebp - 0x28]
not eax
cdq
mov ecx, eax
mov esi, edx
movsx eax, word [0x100ad0cc]
cdq
mov edi, dword [0x100ad108]
mov ebx, dword [0x100ad10c]
sub edi, eax
sbb ebx, edx
push ebx
push edi
push esi
push ecx
call fcn.1007a8a0
mov dword [ebp - 0xbf0], eax
mov dword [ebp - 0xbec], edx
mov edx, dword [ebp - 0xbf0]
or edx, dword [ebp - 0xbec]
jne 0x1000c49c
mov dword [ebp - 0x2f0], 1
jmp 0x1000c4a6
mov dword [ebp - 0x2f0], 0
movzx eax, byte [0x100ad072]
mov ecx, dword [ebp - 0x2ec]
lea eax, [ecx + eax + 0x766e]
not eax
add eax, dword [ebp - 0x2f0]
cdq
mov dword [0x100ad150], eax
mov dword [0x100ad154], edx
movzx eax, word [ebp - 0x18]
sar eax, 7
cdq
mov dword [0x100ad0f8], eax
mov dword [0x100ad0fc], edx
movzx edx, byte [0x100ad0a6]
sub edx, 0xd3
mov byte [ebp - 1], dl
movzx eax, word [ebp - 0x1c]
movzx ecx, word [ebp - 0x1c]
sub eax, ecx
mov word [ebp - 0x1c], ax
mov edx, dword [0x100adbec]
mov dword [ebp - 0x12c], edx
call dword [sym.imp.USER32.dll_GetActiveWindow]
mov byte [str.ZFreeSid], al
mov eax, dword [ebp - 0x12c]
add eax, 0x5cf
mov dword [ebp - 0x2f4], eax
movsx ecx, word [0x100ad0c4]
add ecx, 0x9c
mov dword [0x100ad0a8], ecx
movsx edx, byte [ebp - 2]
movsx eax, byte [0x100ad037]
imul edx, eax
movsx ecx, byte [ebp - 2]
xor ecx, edx
mov byte [ebp - 2], cl
mov edx, 4
shl edx, 0
mov ax, word [edx + 0x101af448]
mov word [0x100ad0bc], ax
movzx eax, word [ebp - 0x10]
movsx ecx, byte [ebp - 4]
imul eax, ecx
movsx edx, byte [ebp - 4]
imul eax, edx
cdq
mov ecx, eax
mov esi, edx
movsx eax, word [0x100ad130]
not eax
sub eax, 0xdb62
cdq
mov edi, eax
mov ebx, edx
movsx eax, byte [0x100ad09a]
not eax
cdq
mov dword [ebp - 0x9d4], ecx
mov ecx, dword [ebp - 0x48]
sub ecx, eax
mov eax, dword [ebp - 0x44]
sbb eax, edx
add edi, ecx
adc ebx, eax
push ebx
push edi
push esi
mov ecx, dword [ebp - 0x9d4]
push ecx
call fcn.1007a8a0
mov dword [0x100ad0a8], eax
mov edx, dword [ebp - 0x12c]
add edx, 0x274
mov dword [ebp - 0x130c], edx
mov eax, 2
mov word [0x100ad0e4], ax
mov ecx, dword [ebp - 0x30]
add ecx, 0x6fe4
mov word [0x100ad0b0], cx
movsx edx, byte [0x100ad00d]
mov eax, dword [0x100ad0e0]
xor eax, edx
mov dword [0x100ad0e0], eax
movzx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov word [ebp - 0x1c], ax
movsx eax, word [0x100ad0cc]
cdq
push 0x89ec8
push 0xee69f3fa
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
movzx eax, word [ebp - 0x1c]
cdq
sub eax, ecx
mov word [ebp - 0x1c], ax
movsx edx, word [0x100ad0e4]
mov dword [ebp - 0x128], edx
cmp dword [ebp - 0x128], 0
je 0x1000c675
cmp dword [ebp - 0x128], 1
je 0x1000c72b
cmp dword [ebp - 0x128], 2
je 0x1000c807
jmp 0x1000c83a
movsx eax, word [ebp - 0xc]
movsx ecx, byte [0x100ad00e]
sub eax, ecx
movsx edx, word [ebp - 0xc]
add edx, eax
mov word [ebp - 0xc], dx
movsx eax, byte [ebp - 4]
cdq
push 0x4ac2e
push 0x2e669e39
push edx
push eax
call fcn.1007a8a0
mov byte [0x100ad042], al
movzx eax, byte [0x100ad0a6]
movzx ecx, byte [ebp - 1]
add eax, ecx
jne 0x1000c6ca
xor edx, edx
mov dword [ebp - 0x790], 1
mov dword [ebp - 0x78c], edx
jmp 0x1000c6d5
xorps xmm0, xmm0
movlpd qword [ebp - 0x790], xmm0
mov ecx, dword [ebp - 0x30]
not ecx
mov esi, dword [ebp - 0x2c]
not esi
movsx eax, byte [0x100ad043]
cdq
sub ecx, eax
sbb esi, edx
mov edi, dword [ebp - 0x790]
sub edi, ecx
mov ebx, dword [ebp - 0x78c]
sbb ebx, esi
movsx eax, byte [0x100ad00e]
add eax, dword [ebp - 0x28]
cdq
push 0x75ca4
push 0x100c697e
push edx
push eax
call fcn.1007a8a0
push edx
push eax
push ebx
push edi
call fcn.1007a8a0
mov word [0x100ad0ac], ax
jmp 0x1000c83a
movzx eax, word [0x100ad120]
movzx edx, byte [ebp - 5]
sub eax, edx
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [0x100ad110]
adc esi, dword [0x100ad114]
movzx eax, byte [str.px_04X_]
cdq
mov edi, dword [0x100ad128]
mov ebx, dword [0x100ad12c]
add edi, eax
adc ebx, edx
movzx eax, byte [ebp - 5]
cdq
add eax, dword [ebp - 0x58]
adc edx, dword [ebp - 0x54]
sub edi, eax
sbb ebx, edx
push ebx
push edi
push esi
push ecx
call fcn.1007a8a0
not eax
mov dword [0x100ad0b4], eax
cmp dword [0x100ad140], 0
je 0x1000c79f
movzx eax, byte [0x100ad072]
cdq
mov dword [ebp - 0x798], eax
mov dword [ebp - 0x794], edx
jmp 0x1000c7b6
mov edx, dword [0x100ad108]
mov eax, dword [0x100ad10c]
mov dword [ebp - 0x798], edx
mov dword [ebp - 0x794], eax
mov cl, byte [ebp - 0x798]
mov byte [ebp - 5], cl
movsx edx, word [0x100ad0c4]
test edx, edx
je 0x1000c7e3
mov eax, dword [0x100ad0f8]
mov ecx, dword [0x100ad0fc]
mov dword [ebp - 0x7a0], eax
mov dword [ebp - 0x79c], ecx
jmp 0x1000c7f7
movsx eax, byte [0x100ad042]
cdq
mov dword [ebp - 0x7a0], eax
mov dword [ebp - 0x79c], edx
mov dx, word [ebp - 0x7a0]
mov word [0x100ad11c], dx
jmp 0x1000c83a
mov eax, dword [0x100ad148]
mov ecx, dword [0x100ad14c]
push 0x1d50c
push 0x7608cd75
push ecx
push eax
call fcn.1007a8a0
mov word [0x100ad0cc], ax
movsx edx, word [0x100ad11c]
imul eax, edx, 0xd200310e
mov word [ebp - 0x10], ax
mov ecx, dword [ebp - 0x12c]
add ecx, 0x5a2
mov dword [ebp - 0x9d8], ecx
movsx edx, byte [ebp - 2]
mov ecx, edx
imul ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
sar eax, cl
mov dword [ebp - 0x28], eax
xor ecx, ecx
mov dword [ebp - 0x30], 0x5a
mov dword [ebp - 0x2c], ecx
push 0
push 0x9aeff6be
mov edx, dword [ebp - 0x54]
push edx
mov eax, dword [ebp - 0x58]
push eax
call fcn.1007a8a0
mov byte [0x100ad00f], al
mov ecx, dword [ebp - 0x9d8]
imul ecx, dword [ebp - 0x2f4]
mov edx, dword [ebp - 0x2f4]
imul edx, ecx
cmp edx, 0x26a
je 0x1000d2c8
mov byte [ebp - 4], 1
movsx eax, word [0x100ad0d0]
shl eax, 4
cdq
mov dword [0x100ad138], eax
mov dword [0x100ad13c], edx
mov eax, dword [0x100ad100]
add eax, 0x5d
mov byte [0x100ad00e], al
movsx ecx, byte [0x100ad00e]
add ecx, 0x1294
mov byte [ebp - 5], cl
mov dl, byte [ebp - 4]
mov byte [ebp - 0x2f8], dl
cmp byte [ebp - 0x2f8], 0
je 0x1000c8fc
cmp byte [ebp - 0x2f8], 1
je 0x1000c971
jmp 0x1000ca6b
mov eax, 2
imul ecx, eax, 0x56dc
movsx eax, word [ecx + 0x100eb7f8]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], esi
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x58]
add eax, 0x5b
mov byte [ebp - 4], al
movzx ecx, byte [ebp - 5]
imul ecx, dword [0x100ad140]
movzx edx, byte [ebp - 5]
sub edx, ecx
mov byte [ebp - 5], dl
xor eax, eax
mov dword [ebp - 0x38], 0x92da5247
mov dword [ebp - 0x34], eax
mov ecx, 4
imul edx, ecx, 0x2a44
mov eax, dword [0x100ad15c]
and eax, dword [edx + 0x10165c90]
mov dword [0x100ad15c], eax
jmp 0x1000ca6b
mov ecx, 1
imul edx, ecx, 0x18
mov al, byte [0x100ad130]
mov byte [edx + 0x100d5750], al
cmp dword [0x100ad15c], 0
je 0x1000c99b
mov ecx, dword [0x100ad158]
mov dword [ebp - 0x2fc], ecx
jmp 0x1000c9a7
mov edx, dword [0x100ad0e0]
mov dword [ebp - 0x2fc], edx
mov eax, dword [ebp - 0x2fc]
mov dword [ebp - 0x28], eax
movsx eax, word [0x100ad11c]
cdq
mov ecx, dword [ebp - 0x54]
push ecx
mov ecx, dword [ebp - 0x58]
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
mov esi, edx
movzx eax, byte [ebp - 3]
cdq
xor eax, 0xbb275a1e
xor edx, 0xb2042
add ecx, eax
adc esi, edx
mov dword [ebp - 0xbf8], ecx
mov dword [ebp - 0xbf4], esi
mov edx, dword [ebp - 0xbf8]
or edx, dword [ebp - 0xbf4]
jne 0x1000ca0d
xor eax, eax
mov dword [ebp - 0x7a8], 1
mov dword [ebp - 0x7a4], eax
jmp 0x1000ca18
xorps xmm0, xmm0
movlpd qword [ebp - 0x7a8], xmm0
movsx eax, byte [0x100ad037]
movsx ecx, byte [ebp - 4]
imul eax, ecx
cdq
mov esi, eax
mov edi, edx
movsx eax, byte [0x100ad09a]
cdq
push edx
push eax
mov edx, dword [0x100ad154]
push edx
mov eax, dword [0x100ad150]
push eax
call fcn.1007a8a0
add esi, eax
adc edi, edx
not esi
not edi
sub esi, dword [ebp - 0x7a8]
sbb edi, dword [ebp - 0x7a4]
not esi
not edi
mov dword [0x100ad150], esi
mov dword [0x100ad154], edi
mov ecx, 0x6e8b
mov word [0x100ad0f0], cx
mov edx, dword [ebp - 0x50]
or edx, dword [ebp - 0x4c]
je 0x1000caec
movzx eax, byte [0x100ad00f]
test eax, eax
je 0x1000caec
movsx eax, word [ebp - 0xc]
cdq
sub eax, dword [0x100ad0e8]
mov word [ebp - 0xc], ax
movsx eax, word [0x100ad11c]
cdq
mov ecx, dword [ebp - 0x30]
sub ecx, eax
mov eax, dword [ebp - 0x2c]
sbb eax, edx
mov edx, dword [ebp - 0x30]
sub edx, ecx
mov ecx, dword [ebp - 0x2c]
sbb ecx, eax
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ecx
xor edx, edx
mov eax, dword [0x100ad0e8]
sub eax, dword [0x100ad100]
mov ecx, dword [0x100ad0ec]
sbb ecx, edx
mov edx, dword [0x100ad0e8]
sub edx, eax
mov eax, dword [0x100ad0ec]
sbb eax, ecx
mov dword [0x100ad0e8], edx
mov dword [0x100ad0ec], eax
jmp 0x1000cb68
movsx ecx, byte [0x100ad00d]
test ecx, ecx
je 0x1000cb68
movsx eax, word [0x100ad0b0]
cdq
mov dword [0x100ad148], eax
mov dword [0x100ad14c], edx
imul edx, dword [0x100ad158], 0x774a
movzx eax, word [0x100ad0f0]
add eax, edx
mov word [0x100ad0f0], ax
movsx ecx, word [0x100ad130]
movsx edx, byte [ebp - 2]
sub ecx, edx
movsx eax, word [0x100ad130]
add eax, ecx
mov word [0x100ad130], ax
movzx ecx, word [ebp - 0x10]
not ecx
movzx edx, byte [0x100ad072]
imul ecx, edx
mov word [0x100ad0b8], cx
mov eax, dword [ebp - 0x20]
imul eax, dword [0x100ad100]
mov ecx, dword [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x20], ecx
mov eax, dword [0x100ad0a8]
cdq
mov ecx, eax
mov esi, edx
movzx eax, word [0x100ad0f0]
cdq
add eax, dword [ebp - 0x50]
adc edx, dword [ebp - 0x4c]
mov dword [ebp - 0xc00], ecx
mov dword [ebp - 0xbfc], esi
mov dword [ebp - 0xc08], eax
mov dword [ebp - 0xc04], edx
mov edx, dword [ebp - 0xc00]
cmp edx, dword [ebp - 0xc08]
jne 0x1000d271
mov eax, dword [ebp - 0xbfc]
cmp eax, dword [ebp - 0xc04]
jne 0x1000d271
movsx eax, word [0x100ad0b0]
cdq
mov ecx, dword [0x100ad160]
not ecx
add eax, ecx
mov byte [ebp - 5], al
imul edx, dword [0x100ad140], 0xe2a27d30
mov word [0x100ad0b0], dx
movzx eax, byte [ebp - 5]
shl eax, 6
mov word [ebp - 0x10], ax
imul ecx, dword [0x100ad140], 0x829d4056
xor edx, edx
mov eax, dword [0x100ad0f8]
sub eax, ecx
mov ecx, dword [0x100ad0fc]
sbb ecx, edx
mov dword [0x100ad0f8], eax
mov dword [0x100ad0fc], ecx
mov edx, dword [ebp - 0x30]
sub edx, 0x3786f74b
mov byte [ebp - 3], dl
mov byte [ebp - 6], 1
xor eax, eax
mov dword [ebp - 0x40], 3
mov dword [ebp - 0x3c], eax
movsx ecx, byte [0x100ad00d]
imul eax, ecx, 0x8ca1
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movsx edx, byte [0x100ad09a]
sub edx, 0x2b298406
mov byte [ebp - 6], dl
movsx eax, word [0x100ad0b0]
cdq
mov ecx, dword [0x100ad10c]
sub eax, dword [0x100ad108]
sbb edx, ecx
mov dword [ebp - 0xc10], eax
mov dword [ebp - 0xc0c], edx
mov edx, dword [ebp - 0xc10]
or edx, dword [ebp - 0xc0c]
jne 0x1000cc89
mov byte [ebp - 0x5b], 1
jmp 0x1000cc8d
mov byte [ebp - 0x5b], 0
mov al, byte [ebp - 0x5b]
mov byte [str.E2_wcsrchr], al
movsx eax, word [ebp - 0xc]
cdq
add eax, dword [ebp - 0x58]
adc edx, dword [ebp - 0x54]
add eax, dword [ebp - 0x58]
adc edx, dword [ebp - 0x54]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
movzx cx, byte [ebp - 6]
mov edx, 2
imul eax, edx, 0xbf
mov word [eax + 0x101e9930], cx
mov ecx, dword [0x100ad0e8]
or ecx, dword [0x100ad0ec]
je 0x1000cce4
movsx eax, word [ebp - 0xc]
cdq
mov dword [ebp - 0x7b0], eax
mov dword [ebp - 0x7ac], edx
jmp 0x1000ccf6
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x7b0], edx
mov dword [ebp - 0x7ac], eax
mov cl, byte [ebp - 0x7b0]
mov byte [ebp - 6], cl
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x7b8], edx
mov dword [ebp - 0x7b4], eax
cmp dword [ebp - 0x7b4], 0
ja 0x1000cf82
jb 0x1000cd2d
cmp dword [ebp - 0x7b8], 3
ja 0x1000cf82
mov ecx, dword [ebp - 0x7b8]
mov dword [ebp - 0x1394], ecx
mov edx, dword [ebp - 0x1394]
jmp dword [edx*4 + 0x10019abc]
mov ecx, dword [0x100ad0e0]
xor esi, esi
movzx eax, word [ebp - 0x10]
cdq
add eax, 0x9cac729b
adc edx, 0x5ed5e
mov dword [ebp - 0xc28], ecx
mov dword [ebp - 0xc24], esi
mov dword [ebp - 0xc30], eax
mov dword [ebp - 0xc2c], edx
mov edx, dword [ebp - 0xc28]
cmp edx, dword [ebp - 0xc30]
jne 0x1000d271
mov eax, dword [ebp - 0xc24]
cmp eax, dword [ebp - 0xc2c]
jne 0x1000d271
mov byte [str.px_04X_], 1
movsx ecx, byte [ebp - 2]
test ecx, ecx
jne 0x1000cff1
mov dword [ebp - 0x308], 1
jmp 0x1000cffb
mov dword [ebp - 0x308], 0
movsx edx, word [0x100ad0d0]
imul edx, dword [ebp - 0x308]
test edx, edx
jne 0x1000d018
mov eax, 1
mov word [ebp - 0x7c], ax
jmp 0x1000d01e
xor ecx, ecx
mov word [ebp - 0x7c], cx
mov dx, word [ebp - 0x7c]
mov word [0x100ad130], dx
movsx eax, word [0x100ad0d0]
cdq
push edx
push eax
mov eax, dword [ebp - 0x44]
push eax
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.1007a8a0
mov dword [ebp - 0xc38], eax
mov dword [ebp - 0xc34], edx
mov edx, dword [ebp - 0xc38]
or edx, dword [ebp - 0xc34]
jne 0x1000d066
mov dword [ebp - 0x30c], 1
jmp 0x1000d070
mov dword [ebp - 0x30c], 0
mov eax, dword [0x100ad0a8]
xor eax, dword [ebp - 0x30c]
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
movzx ax, byte [ebp - 1]
mov word [ebp - 0xc], ax
mov byte [0x100ad00f], 0xd0
movzx ecx, word [0x100ad0ac]
movsx edx, word [0x100ad0cc]
xor ecx, edx
movzx eax, word [0x100ad0ac]
sub eax, ecx
mov word [0x100ad0ac], ax
movzx ecx, word [ebp - 0x1c]
imul ecx, dword [0x100ad100]
mov word [ebp - 0x1c], cx
mov dl, byte [str.px_04X_]
mov byte [ebp - 0x310], dl
cmp byte [ebp - 0x310], 0
je 0x1000d0e7
cmp byte [ebp - 0x310], 1
je 0x1000d1cb
jmp 0x1000d204
xor eax, eax
mov dword [ebp - 0x38], 4
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x58]
add ecx, 0xcf377f61
mov dword [0x100ad15c], ecx
movsx eax, byte [0x100ad043]
cdq
mov ecx, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov ecx, eax
mov esi, edx
movsx eax, word [0x100ad0cc]
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov byte [ebp - 1], al
mov edx, dword [ebp - 0x24]
sub edx, 0x57
jne 0x1000d14b
mov dword [ebp - 0x318], 1
jmp 0x1000d155
mov dword [ebp - 0x318], 0
movzx eax, word [ebp - 0x14]
test eax, eax
jne 0x1000d169
mov dword [ebp - 0x314], 1
jmp 0x1000d173
mov dword [ebp - 0x314], 0
movzx eax, byte [ebp - 6]
not eax
add eax, dword [ebp - 0x314]
movzx ecx, word [ebp - 0x18]
movsx edx, byte [ebp - 4]
imul ecx, edx
sub eax, ecx
not eax
add eax, dword [ebp - 0x318]
not eax
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
sub eax, 0xc
sbb ecx, 0
mov edx, dword [0x100ad108]
mov esi, dword [0x100ad10c]
push ecx
push eax
push esi
push edx
call fcn.1007a8a0
mov dword [0x100ad108], eax
mov dword [0x100ad10c], edx
jmp 0x1000d204
movzx eax, word [ebp - 0x10]
movsx ecx, word [0x100ad0cc]
imul eax, ecx
movzx edx, word [ebp - 0x10]
xor edx, eax
mov word [ebp - 0x10], dx
mov ax, word [0x100ad0e4]
mov byte [0x100ad043], al
mov byte [0x100ad00f], 3
mov ecx, dword [0x100ad0b4]
add ecx, 1
mov dword [0x100ad0b4], ecx
jmp 0x1000ca6b
xor eax, eax
mov byte [ebp - 0x6b], al
lea ecx, [ebp - 0x6b]
call fcn.10004020
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xa0]
movzx edx, byte [ecx + 0xc]
test edx, edx
je 0x1000d2b6
push 0x1010101
push 0x7dcd83b9
push 0
push 0xc
mov eax, dword [ebp - 0xa0]
push eax
call fcn.10040e80
mov ecx, dword [ebp - 0xa0]
mov byte [ecx + 0xc], 0
mov edx, dword [ebp - 0xa0]
push edx
push 0
push 0
call fcn.100013b0
call eax
mov dword [ebp - 0x20], 4
movsx eax, word [0x100ad11c]
movsx ecx, byte [0x100ad00d]
not ecx
add eax, ecx
imul edx, eax, 0x1be8
mov byte [0x100ad00f], dl
movsx eax, byte [str.E2_wcsrchr]
test eax, eax
jne 0x1000d30c
xor ecx, ecx
mov dword [ebp - 0x7c0], 1
mov dword [ebp - 0x7bc], ecx
jmp 0x1000d317
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c0], xmm0
mov ecx, dword [0x100ad0e8]
add ecx, dword [ebp - 0x7c0]
mov esi, dword [0x100ad0ec]
adc esi, dword [ebp - 0x7bc]
movzx eax, word [0x100ad120]
movzx edx, word [ebp - 0x10]
not edx
add eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov word [0x100ad120], ax
movsx eax, byte [0x100ad09a]
not eax
cdq
add eax, dword [0x100ad0f8]
add eax, 0x46
mov word [0x100ad120], ax
mov ax, word [0x100adbec]
mov word [ebp - 0xc], ax
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x31c], ecx
cmp dword [ebp - 0x31c], 4
ja case.default.0x1000d38d
mov edx, dword [ebp - 0x31c]
jmp dword [edx*4 + 0x10019acc]
movzx eax, word [ebp - 0x1c]
cdq
push 0xfff43737
push 0xa5151770
push edx
push eax
call fcn.1007a8a0
mov dword [0x100ad0a8], eax
movzx eax, byte [ebp - 1]
test eax, eax
jne 0x1000d3cb
xor ecx, ecx
mov dword [ebp - 0x7c8], 1
mov dword [ebp - 0x7c4], ecx
jmp 0x1000d3d6
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c8], xmm0
movzx eax, byte [ebp - 5]
not eax
movsx edx, byte [str.ZFreeSid]
not edx
xor eax, edx
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [ebp - 5]
not eax
cdq
mov edi, dword [ebp - 0x34]
sub eax, dword [ebp - 0x38]
sbb edx, edi
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov ecx, eax
mov esi, edx
movzx eax, word [ebp - 0x14]
cdq
add eax, 0x8c289bdf
adc edx, 0xc858d
not eax
not edx
mov edi, dword [0x100ad0f8]
add edi, dword [ebp - 0x7c8]
mov ebx, dword [0x100ad0fc]
adc ebx, dword [ebp - 0x7c4]
add eax, edi
adc edx, ebx
not eax
not edx
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
not eax
not edx
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
cmp dword [ebp - 0x20], 0
je 0x1000d473
mov edx, dword [0x100ad0e8]
mov eax, dword [0x100ad0ec]
mov dword [ebp - 0x7d0], edx
mov dword [ebp - 0x7cc], eax
jmp 0x1000d484
movzx eax, byte [ebp - 3]
cdq
mov dword [ebp - 0x7d0], eax
mov dword [ebp - 0x7cc], edx
mov ecx, dword [ebp - 0x7d0]
mov dword [0x100ad158], ecx
jmp case.default.0x1000d38d
movzx edx, byte [ebp - 3]
movsx eax, byte [ebp - 2]
movsx ecx, byte [str.ZFreeSid]
mov esi, dword [ebp - 0x20]
sub esi, ecx
sub eax, esi
imul edx, eax
xor eax, eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x100ad15c]
movsx edx, word [ebp - 0xc]
lea eax, [edx + ecx - 0x1fcd763e]
mov word [ebp - 0xc], ax
mov cx, word [ebp - 0x48]
mov word [0x100ad0cc], cx
movzx edx, byte [ebp - 1]
test edx, edx
je 0x1000d4eb
mov eax, dword [0x100ad0a8]
mov dword [ebp - 0x320], eax
jmp 0x1000d4f5
movzx ecx, word [ebp - 0x18]
mov dword [ebp - 0x320], ecx
mov dl, byte [ebp - 0x320]
mov byte [0x100ad0a6], dl
movsx eax, byte [0x100ad073]
cdq
push 0x4d346
push 0x4b08035e
push edx
push eax
call fcn.1007a8a0
mov byte [ebp - 2], al
jmp case.default.0x1000d38d
push 0
push 0xec
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.1007a8a0
mov dword [0x100ad138], eax
mov dword [0x100ad13c], edx
movsx eax, word [0x100ad0cc]
cdq
sub eax, dword [ebp - 0x58]
mov word [0x100ad0cc], ax
mov dl, byte [ebp - 2]
mov byte [0x100ad00f], dl
mov eax, dword [0x100ad158]
add eax, 0x39a65ef8
mov byte [str.E2_wcsrchr], al
movsx eax, byte [str.ZFreeSid]
cdq
push 0x6a031
push 0xb47e1253
push edx
push eax
call fcn.1007a8a0
mov word [ebp - 0xc], ax
jmp case.default.0x1000d38d
movzx ecx, word [ebp - 0x14]
imul eax, ecx, 0x29bbc995
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
mov edx, dword [ebp - 0x30]
add edx, 1
mov eax, dword [ebp - 0x2c]
adc eax, 0
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
mov byte [ebp - 2], 8
jmp case.default.0x1000d38d
movsx cx, byte [ebp - 2]
mov word [0x100ad0ac], cx
mov eax, dword [0x100ad0a8]
sub eax, 0x8a53
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov edx, 0x36
mov word [0x100ad0e4], dx
movzx eax, word [0x100ad0f0]
test eax, eax
je 0x1000d5f2
movzx ecx, word [ebp - 0x14]
mov dword [ebp - 0x324], ecx
jmp 0x1000d5fb
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x324], edx
mov al, byte [ebp - 0x324]
mov byte [str.px_04X_], al
xor ecx, ecx
mov byte [ebp - 0x6c], cl
lea ecx, [ebp - 0x6c]
call fcn.10004110
mov dword [ebp - 0xa4], eax
mov edx, dword [ebp - 0xa4]
movzx eax, byte [edx + 0xb]
test eax, eax
je 0x1000d64b
push 0x1010101
push 0x7f133bbf
push 0
push 0xb
mov ecx, dword [ebp - 0xa4]
push ecx
call fcn.10040e80
mov edx, dword [ebp - 0xa4]
mov byte [edx + 0xb], 0
mov eax, dword [ebp - 0xa4]
push eax
push 0
push 0
call fcn.10001650
call eax
mov dword [ebp - 0x1318], eax
mov byte [0x100ad042], 1
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x34]
add ecx, dword [ebp - 0x38]
adc edx, eax
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
movsx eax, byte [0x100ad042]
cdq
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov eax, dword [ebp - 0x4c]
sbb eax, edx
push 0
push 0
push eax
push ecx
call fcn.1007a8a0
mov word [ebp - 0x1c], ax
mov ecx, dword [0x100ad158]
sub ecx, 0xf9
mov word [0x100ad0c4], cx
mov edx, 4
mov word [0x100ad0f0], dx
mov al, byte [0x100ad042]
mov byte [ebp - 0x328], al
cmp byte [ebp - 0x328], 0
je 0x1000d6e0
cmp byte [ebp - 0x328], 1
je 0x1000d755
jmp 0x1000d7ab
movsx ecx, word [0x100ad0c4]
test ecx, ecx
je 0x1000d6f6
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x32c], edx
jmp 0x1000d700
movzx eax, byte [ebp - 3]
mov dword [ebp - 0x32c], eax
mov ecx, dword [ebp - 0x32c]
xor edx, edx
mov dword [0x100ad0e8], ecx
mov dword [0x100ad0ec], edx
movsx eax, byte [0x100ad00e]
add eax, 0x4c7429d
mov word [0x100ad0cc], ax
movzx ecx, byte [0x100ad00f]
test ecx, ecx
je 0x1000d740
movsx edx, word [0x100ad0d0]
mov dword [ebp - 0x330], edx
jmp 0x1000d74a
movsx eax, byte [ebp - 4]
mov dword [ebp - 0x330], eax
mov ecx, dword [ebp - 0x330]
mov dword [ebp - 0x24], ecx
jmp 0x1000d7ab
movzx eax, word [0x100ad0b8]
cdq
mov edx, dword [0x100ad148]
mov ecx, dword [0x100ad14c]
mov dword [ebp - 0x135c], ecx
add eax, edx
mov word [0x100ad0b8], ax
movsx edx, byte [0x100ad09a]
sub edx, 0x56
mov dword [0x100ad0b4], edx
mov eax, 0x17fda
mov dword [0x100ad148], 0xbff9807f
mov dword [0x100ad14c], eax
mov ecx, dword [ebp - 0x30]
add ecx, 0xa21f7998
mov word [0x100ad0cc], cx
mov dword [0x100ad158], 0x4d
movzx edx, word [ebp - 0x18]
movzx eax, byte [0x100ad00f]
add edx, eax
mov word [ebp - 0x18], dx
movzx eax, byte [ebp - 1]
movsx ecx, byte [0x100ad00d]
and eax, ecx
cdq
mov edx, dword [ebp - 0x30]
not edx
add edx, dword [ebp - 0x30]
sub eax, edx
mov byte [0x100ad00e], al
movzx eax, byte [str.px_04X_]
cdq
and eax, dword [0x100ad0f8]
and edx, dword [0x100ad0fc]
mov dword [0x100ad0f8], eax
mov dword [0x100ad0fc], edx
movzx eax, byte [ebp - 1]
test eax, eax
jne 0x1000d816
mov dword [ebp - 0x334], 1
jmp 0x1000d820
mov dword [ebp - 0x334], 0
movzx ecx, byte [ebp - 5]
movzx edx, word [ebp - 0x18]
sub ecx, edx
sub ecx, dword [ebp - 0x334]
mov eax, dword [0x100ad118]
add eax, ecx
mov byte [ebp - 1], al
mov ecx, dword [ebp - 0x28]
add ecx, 1
cmp dword [0x100ad158], ecx
jne 0x1000db30
mov eax, dword [0x100ad0a8]
cdq
mov ecx, eax
movsx eax, byte [ebp - 2]
cdq
mov edx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0x1320], esi
xor edx, eax
add ecx, edx
movsx eax, byte [0x100ad09a]
movsx edx, word [0x100ad0cc]
movsx esi, byte [0x100ad043]
add edx, esi
sub eax, edx
cdq
sub ecx, eax
mov byte [ebp - 1], cl
movzx eax, word [ebp - 0x14]
xor eax, dword [ebp - 0x28]
cdq
mov ecx, eax
movzx eax, word [ebp - 0x10]
cdq
and eax, dword [0x100ad110]
not eax
add ecx, eax
mov word [0x100ad0bc], cx
movsx eax, word [0x100ad0b0]
not eax
add eax, 0xb0
cdq
mov ebx, eax
movzx eax, word [ebp - 0x14]
cdq
mov ecx, dword [0x100ad164]
push ecx
mov ecx, dword [0x100ad160]
push ecx
push edx
push eax
call fcn.1007a8a0
not eax
add ebx, eax
mov byte [0x100ad043], bl
movsx edx, byte [0x100ad043]
test edx, edx
jne 0x1000d8f4
mov dword [ebp - 0x338], 1
jmp 0x1000d8fe
mov dword [ebp - 0x338], 0
movzx eax, byte [ebp - 5]
movsx ecx, byte [0x100ad00d]
add eax, ecx
imul eax, dword [ebp - 0x338]
mov word [ebp - 0xc], ax
movzx edx, word [0x100ad0f0]
xor edx, 0x65f1416b
mov dword [ebp - 0x24], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
mov byte [ebp - 3], al
movsx eax, byte [0x100ad043]
cmp eax, 1
jne 0x1000db30
movsx ecx, word [0x100ad0c4]
test ecx, ecx
je 0x1000d9fb
movsx edx, word [ebp - 0xc]
movsx eax, byte [ebp - 2]
cmp edx, eax
jg 0x1000d966
mov dword [ebp - 0x33c], 1
jmp 0x1000d970
mov dword [ebp - 0x33c], 0
movsx ecx, word [ebp - 0xc]
cmp ecx, 0x5d
jg 0x1000d985
mov dword [ebp - 0x340], 1
jmp 0x1000d98f
mov dword [ebp - 0x340], 0
mov edx, dword [ebp - 0x33c]
cmp edx, dword [ebp - 0x340]
jle 0x1000d9f9
mov eax, dword [str.._AU_ContinuationT]
mov dword [ebp - 0x1170], eax
mov ecx, dword [0x10090ac4]
mov dword [ebp - 0x116c], ecx
mov edx, dword [0x10090ac8]
mov dword [ebp - 0x1168], edx
mov eax, dword [0x10090acc]
mov dword [ebp - 0x1164], eax
mov cx, word [0x10090ad0]
mov word [ebp - 0x1160], cx
mov dl, byte [0x10090ad2]
mov byte [ebp - 0x115e], dl
lea eax, [ebp - 0x1170]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
jmp 0x1000da60
movsx eax, byte [ebp - 4]
cdq
mov dword [ebp - 0xc40], eax
mov dword [ebp - 0xc3c], edx
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0xc3c]
ja 0x1000da60
jb 0x1000da24
mov edx, dword [ebp - 0x50]
cmp edx, dword [ebp - 0xc40]
jae 0x1000da60
movzx eax, word [ebp - 0x18]
cdq
mov ecx, eax
add ecx, 0xe47e54c5
movzx eax, byte [ebp - 5]
cdq
add eax, ecx
mov byte [ebp - 5], al
movzx eax, word [ebp - 0x10]
cdq
add eax, 0xe41abb04
mov dword [0x100ad0a8], eax
mov eax, dword [0x100ad158]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], esi
jmp 0x1000db30
mov dword [0x100ad158], 0x4d
mov dl, byte [str.px_04X_]
mov byte [ebp - 5], dl
mov eax, dword [0x100adbec]
xor ecx, ecx
mov dword [0x100ad138], eax
mov dword [0x100ad13c], ecx
push 0
push 0x99d6
mov edx, dword [0x100ad154]
push edx
mov eax, dword [0x100ad150]
push eax
call fcn.1007a8a0
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov ecx, dword [0x100ad108]
mov edx, dword [0x100ad10c]
mov dword [ebp - 0x1328], edx
and ecx, 0xcecbe63a
mov ax, word [ebp - 0xc]
sar ax, cl
mov word [ebp - 0xc], ax
movsx ecx, word [ebp - 0xc]
sub ecx, dword [0x100ad0e0]
mov word [ebp - 0xc], cx
xor edx, edx
mov byte [ebp - 0x6e], dl
lea ecx, [ebp - 0x6e]
call fcn.10004360
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xa8]
movzx ecx, byte [eax + 0xb]
test ecx, ecx
je 0x1000dbea
push 0x1010101
push 0x7f273d7b
push 0
push 0xb
mov edx, dword [ebp - 0xa8]
push edx
call fcn.10040e80
mov eax, dword [ebp - 0xa8]
mov byte [eax + 0xb], 0
mov ecx, dword [ebp - 0xa8]
push ecx
push 0
push 0
call fcn.100013b0
call eax
movzx eax, word [0x100ad120]
add eax, 0x3c8a1432
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx eax, byte [ebp - 2]
cdq
mov ecx, dword [0x100ad160]
sub ecx, eax
mov eax, dword [0x100ad164]
sbb eax, edx
mov dword [0x100ad160], ecx
mov dword [0x100ad164], eax
movsx eax, byte [ebp - 2]
cdq
add eax, dword [ebp - 0x58]
mov dword [0x100ad15c], eax
mov ecx, dword [ebp - 0x48]
sub ecx, 0xae6a5130
mov edx, dword [ebp - 0x44]
sbb edx, 0
mov dword [0x100ad108], ecx
mov dword [0x100ad10c], edx
xor eax, eax
mov byte [ebp - 0x6f], al
lea ecx, [ebp - 0x6f]
call fcn.10004440
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
movzx edx, byte [ecx + 0xd]
test edx, edx
je 0x1000dc9b
push 0x1010101
push 0x7ff72341
push 0
push 0xd
mov eax, dword [ebp - 0xac]
push eax
call fcn.10040e80
mov ecx, dword [ebp - 0xac]
mov byte [ecx + 0xd], 0
mov edx, dword [ebp - 0xac]
push edx
push 0
push 0
call fcn.10001650
call eax
mov dword [ebp - 0x9dc], eax
mov eax, 2
imul ecx, eax, 0x6519
movsx eax, word [ecx + 0x100c0320]
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov edx, dword [0x100ad108]
mov eax, dword [0x100ad10c]
mov ecx, dword [0x100ad14c]
sub edx, dword [0x100ad148]
sbb eax, ecx
mov dword [0x100ad108], edx
mov dword [0x100ad10c], eax
mov dl, byte [ebp - 3]
add dl, 1
mov byte [ebp - 3], dl
mov eax, dword [0x100ad0e0]
xor eax, 0x4e
xor ecx, ecx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x9dc], 0
jne 0x1000e8f1
mov dx, word [0x100ad0cc]
sub dx, 1
mov word [0x100ad0cc], dx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x54]
push edx
mov edx, dword [ebp - 0x58]
push edx
push ecx
push eax
call fcn.1007a8a0
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov edx, dword [0x100ad0a8]
sub edx, 0x5d
mov dword [ebp - 0x24], edx
movzx eax, byte [ebp - 5]
imul eax, dword [0x100ad0b4]
mov byte [ebp - 5], al
movzx eax, word [0x100ad0f0]
movzx ecx, word [ebp - 0x1c]
add eax, ecx
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
xor edx, edx
mov dword [0x100ad160], 0xe9
mov dword [0x100ad164], edx
mov eax, dword [0x100adbec]
xor ecx, ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
movzx eax, byte [ebp - 6]
cdq
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov esi, dword [ebp - 0x4c]
sbb esi, edx
movsx eax, word [0x100ad0c4]
cdq
add ecx, eax
adc esi, edx
and ecx, 0xd3d199b5
mov dword [ebp - 0xc48], ecx
mov dword [ebp - 0xc44], esi
mov edx, dword [ebp - 0xc48]
or edx, dword [ebp - 0xc44]
jne 0x1000ddee
xor eax, eax
mov dword [ebp - 0x7d8], 1
mov dword [ebp - 0x7d4], eax
jmp 0x1000ddf9
xorps xmm0, xmm0
movlpd qword [ebp - 0x7d8], xmm0
mov ecx, dword [ebp - 0x7d8]
mov edx, dword [ebp - 0x7d4]
mov dword [0x100ad108], ecx
mov dword [0x100ad10c], edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x132c], ecx
sub eax, 0xa01cc03c
mov edx, dword [0x100ad0e0]
add edx, eax
mov dword [0x100ad0e0], edx
movsx eax, word [ebp - 0xc]
mov ecx, dword [ebp - 0x20]
imul ecx, eax
mov edx, dword [ebp - 0x20]
imul edx, ecx
mov dword [ebp - 0x20], edx
movsx eax, word [0x100ad130]
cdq
mov ecx, dword [ebp - 0x50]
add ecx, 0x83
mov esi, dword [ebp - 0x4c]
adc esi, 0
mov dword [ebp - 0xc50], eax
mov dword [ebp - 0xc4c], edx
mov dword [ebp - 0xc58], ecx
mov dword [ebp - 0xc54], esi
mov edx, dword [ebp - 0xc50]
cmp edx, dword [ebp - 0xc58]
jne 0x1000dfea
mov eax, dword [ebp - 0xc4c]
cmp eax, dword [ebp - 0xc54]
jne 0x1000dfea
mov ecx, dword [0x100ad108]
mov edx, dword [0x100ad10c]
add ecx, dword [ebp - 0x50]
adc edx, dword [ebp - 0x4c]
mov dword [ebp - 0xc60], ecx
mov dword [ebp - 0xc5c], edx
cmp dword [ebp - 0xc60], 1
jne 0x1000dfea
cmp dword [ebp - 0xc5c], 0
jne 0x1000dfea
mov eax, dword [ebp - 0x30]
sub eax, 0x6814d9b2
mov byte [ebp - 2], al
movzx eax, byte [0x100ad0a6]
add eax, 0xcc
cdq
mov ecx, dword [ebp - 0x58]
sub ecx, eax
mov eax, dword [ebp - 0x54]
sbb eax, edx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], eax
movsx ecx, word [0x100ad0e4]
movzx edx, word [ebp - 0x1c]
add ecx, edx
mov word [0x100ad0b0], cx
movzx eax, byte [ebp - 5]
cdq
add eax, dword [ebp - 0x50]
adc edx, dword [ebp - 0x4c]
not eax
not edx
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
movsx eax, byte [ebp - 4]
add eax, 0xd9
mov word [0x100ad130], ax
movzx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x100ad0d8]
mov eax, dword [0x100ad0dc]
push esi
push ecx
push eax
push edx
call fcn.1007a8a0
mov dword [0x100ad0d8], eax
mov dword [0x100ad0dc], edx
jmp 0x1000dd80
mov byte [0x100ad00d], 0xe5
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
mov dword [ebp - 0xc68], edx
mov dword [ebp - 0xc64], eax
mov ecx, dword [ebp - 0xc68]
or ecx, dword [ebp - 0xc64]
je 0x1000e024
mov edx, dword [0x100ad100]
mov dword [ebp - 0x344], edx
jmp 0x1000e031
movsx eax, word [0x100ad0c0]
mov dword [ebp - 0x344], eax
mov cl, byte [ebp - 0x344]
mov byte [ebp - 1], cl
movzx edx, word [0x100ad0f0]
not edx
mov eax, dword [ebp - 0x28]
not eax
sub edx, eax
movzx ecx, word [0x100ad0b8]
mov eax, 0x7837daf5
sub eax, ecx
imul edx, eax
mov byte [ebp - 4], dl
movsx eax, word [0x100ad0cc]
cdq
and eax, dword [ebp - 0x48]
and edx, dword [ebp - 0x44]
add eax, dword [ebp - 0x48]
adc edx, dword [ebp - 0x44]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
imul ecx, dword [ebp - 0x20], 0x8fc0
movzx edx, byte [ebp - 5]
add edx, ecx
mov byte [ebp - 5], dl
movzx eax, byte [ebp - 6]
imul ecx, eax, 0x2ad9
mov word [0x100ad0bc], cx
mov edx, dword [0x100adbec]
mov dword [ebp - 0x130], edx
movsx eax, word [ebp - 0xc]
add eax, 0xb797fde
mov byte [ebp - 6], al
movzx ecx, byte [0x100ad072]
movzx edx, word [ebp - 0x14]
sub ecx, edx
movzx eax, byte [0x100ad072]
sub eax, ecx
mov byte [0x100ad072], al
movzx eax, byte [0x100ad0a6]
cdq
add eax, dword [0x100ad138]
adc edx, dword [0x100ad13c]
mov dword [0x100ad138], eax
mov dword [0x100ad13c], edx
movsx ecx, byte [str.ZFreeSid]
test ecx, ecx
jne 0x1000e102
mov dword [ebp - 0x348], 1
jmp 0x1000e10c
mov dword [ebp - 0x348], 0
movzx eax, byte [ebp - 1]
not eax
movzx edx, byte [ebp - 1]
imul eax, edx
cdq
mov esi, eax
mov edi, edx
movsx eax, byte [ebp - 4]
cdq
mov ecx, dword [ebp - 0x54]
push ecx
mov ecx, dword [ebp - 0x58]
push ecx
push edx
push eax
call fcn.1007a8a0
add esi, eax
adc edi, edx
movzx eax, byte [0x100ad00f]
sub eax, dword [ebp - 0x348]
movsx edx, byte [0x100ad00d]
movsx ecx, byte [0x100ad037]
sub edx, ecx
not edx
add eax, edx
cdq
push edx
push eax
push edi
push esi
call fcn.1007a8a0
mov dword [ebp - 0xc70], eax
mov dword [ebp - 0xc6c], edx
mov edx, dword [ebp - 0xc70]
or edx, dword [ebp - 0xc6c]
jne 0x1000e187
mov dword [ebp - 0x34c], 1
jmp 0x1000e191
mov dword [ebp - 0x34c], 0
mov eax, dword [ebp - 0x34c]
mov dword [0x100ad0a8], eax
mov dword [ebp - 0x20], 4
mov ecx, dword [ebp - 0x130]
add ecx, 0x399
mov dword [ebp - 0x9e0], ecx
movzx edx, word [ebp - 0x14]
imul eax, edx, 0xe1dd
movzx ecx, word [0x100ad0ac]
sub ecx, eax
mov word [0x100ad0ac], cx
mov edx, dword [0x100ad118]
sub edx, dword [0x100ad0b4]
mov eax, dword [0x100ad118]
sub eax, edx
mov dword [0x100ad118], eax
mov ecx, dword [0x100ad15c]
xor ecx, 0xbcaf41c1
xor edx, edx
add ecx, dword [ebp - 0x30]
adc edx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x130]
add eax, 0x44f
mov dword [ebp - 0x134], eax
movsx ecx, word [0x100ad0b0]
test ecx, ecx
je 0x1000e37b
movzx edx, word [ebp - 0x18]
not edx
cmp edx, 0xffffb3e4
jle 0x1000e285
mov eax, dword [0x100ad108]
mov ecx, dword [0x100ad10c]
push 0
push 0x8b096d54
push ecx
push eax
call fcn.1007a8a0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov edx, dword [ebp - 0x30]
xor edx, 0x5b7588bf
mov dword [ebp - 0x28], edx
mov eax, dword [0x100ad15c]
shl eax, 5
mov dword [0x100ad0a8], eax
movzx ecx, word [ebp - 0x10]
movzx edx, byte [ebp - 3]
imul ecx, edx
mov word [ebp - 0x10], cx
movzx eax, byte [ebp - 5]
sub eax, 0x3b
mov dword [ebp - 0x20], eax
jmp 0x1000e37b
mov ecx, dword [ebp - 0x48]
or ecx, dword [ebp - 0x44]
jne 0x1000e37b
movzx edx, byte [ebp - 6]
test edx, edx
jne 0x1000e37b
movsx eax, word [ebp - 0xc]
sub eax, 0x6051
mov dword [0x100ad0b4], eax
movsx ecx, word [0x100ad130]
mov edx, dword [ebp - 0x24]
sub edx, ecx
movsx eax, word [ebp - 0xc]
movsx ecx, byte [ebp - 2]
imul eax, ecx
imul edx, eax
test edx, edx
jne 0x1000e2dd
xor edx, edx
mov dword [ebp - 0x7e0], 1
mov dword [ebp - 0x7dc], edx
jmp 0x1000e2e8
xorps xmm0, xmm0
movlpd qword [ebp - 0x7e0], xmm0
mov ecx, dword [ebp - 0x20]
xor esi, esi
mov edi, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x34]
not edi
not ebx
movsx eax, word [0x100ad0e4]
cdq
add edi, eax
adc ebx, edx
add ecx, edi
adc esi, ebx
mov edx, dword [ebp - 0x7dc]
push edx
mov eax, dword [ebp - 0x7e0]
push eax
push esi
push ecx
call fcn.1007a8a0
mov word [0x100ad11c], ax
movzx ecx, word [ebp - 0x14]
test ecx, ecx
je 0x1000e338
mov edx, dword [0x100ad0a8]
mov dword [ebp - 0x350], edx
jmp 0x1000e342
movsx eax, byte [ebp - 4]
mov dword [ebp - 0x350], eax
mov cl, byte [ebp - 0x350]
mov byte [ebp - 6], cl
movzx edx, word [0x100ad0ac]
movzx eax, word [ebp - 0x1c]
sub edx, eax
movzx ecx, word [0x100ad0ac]
xor ecx, edx
mov word [0x100ad0ac], cx
movsx edx, byte [0x100ad00e]
mov eax, dword [0x100ad140]
xor eax, edx
mov dword [0x100ad140], eax
mov ecx, dword [ebp - 0x130]
add ecx, 0x581
mov dword [ebp - 0x354], ecx
mov dword [0x100ad0b4], 0xd623
mov edx, dword [ebp - 0x50]
add edx, 0xc03284f2
mov eax, dword [ebp - 0x4c]
adc eax, 0
mov dword [ebp - 0xc78], edx
mov dword [ebp - 0xc74], eax
mov ecx, dword [0x100ad150]
cmp ecx, dword [ebp - 0xc78]
jne 0x1000e483
mov edx, dword [0x100ad154]
cmp edx, dword [ebp - 0xc74]
jne 0x1000e483
movzx eax, byte [0x100ad00f]
add eax, dword [ebp - 0x20]
cmp eax, 1
jne 0x1000e483
movzx eax, word [0x100ad0ac]
cdq
sub eax, 0x60d2a25a
mov dword [ebp - 0x20], eax
mov ecx, 4
imul edx, ecx, 0x5d
mov eax, dword [edx + 0x100c0050]
mov dword [0x100ad0a8], eax
mov ecx, dword [ebp - 0x28]
xor ecx, 0x17
mov word [0x100ad130], cx
movsx edx, byte [0x100ad00d]
imul edx, dword [ebp - 0x28]
movsx eax, byte [0x100ad00d]
sub eax, edx
mov byte [0x100ad00d], al
jmp 0x1000e38d
movsx ecx, word [0x100ad0c4]
movsx edx, byte [ebp - 4]
add ecx, edx
mov word [0x100ad0c4], cx
movzx eax, word [0x100ad0f0]
sub eax, 0x20e0fb9c
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov eax, dword [0x100ad140]
imul eax, dword [0x100ad140]
mov dword [0x100ad140], eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x1330], eax
sub ecx, edx
mov edx, dword [ebp - 0x24]
add edx, ecx
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x354]
imul eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x134]
sub ecx, dword [ebp - 0x134]
or eax, ecx
mov edx, dword [ebp - 0x354]
or edx, 0x2ff
mov ecx, dword [ebp - 0x9e0]
imul ecx, edx
cmp eax, ecx
je 0x1000e8f1
mov edx, dword [ebp - 0x58]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov word [0x100ad0ac], ax
mov eax, dword [ebp - 0x30]
or eax, dword [ebp - 0x2c]
je 0x1000e552
movzx ecx, byte [0x100ad00f]
sub ecx, 0x98
mov edx, dword [0x100ad140]
add edx, ecx
mov dword [0x100ad140], edx
movsx eax, byte [0x100ad042]
sub eax, 0xb0
mov byte [0x100ad00f], al
jmp 0x1000e5b9
mov ecx, 4
imul edx, ecx, 0x6c
movsx eax, byte [str.E2_wcsrchr]
or eax, dword [edx + 0x100c0050]
mov byte [str.E2_wcsrchr], al
movsx ecx, byte [ebp - 2]
shl ecx, 6
mov dword [ebp - 0x24], ecx
movsx eax, word [ebp - 0xc]
cdq
mov ecx, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [0x100ad0d8], eax
mov dword [0x100ad0dc], edx
movzx eax, byte [0x100ad072]
cdq
add eax, dword [ebp - 0x30]
adc edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
sub ecx, eax
mov eax, dword [ebp - 0x2c]
sbb eax, edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], eax
mov ecx, 0x81
mov word [0x100ad0bc], cx
movzx eax, byte [ebp - 5]
cdq
add eax, dword [0x100ad138]
adc edx, dword [0x100ad13c]
mov dword [0x100ad138], eax
mov dword [0x100ad13c], edx
movzx edx, word [ebp - 0x10]
movsx eax, word [ebp - 0xc]
sub edx, eax
movzx ecx, word [ebp - 0x14]
not ecx
imul edx, ecx
mov word [0x100ad130], dx
movsx edx, byte [0x100ad073]
movzx eax, byte [ebp - 5]
imul edx, eax
movsx ecx, byte [0x100ad073]
add ecx, edx
mov byte [0x100ad073], cl
mov ecx, dword [0x100ad128]
mov esi, dword [0x100ad12c]
mov eax, dword [ebp - 0x28]
cdq
add eax, 0x1d9e6dc2
adc edx, 0xc33c
mov dword [ebp - 0xc80], ecx
mov dword [ebp - 0xc7c], esi
mov dword [ebp - 0xc88], eax
mov dword [ebp - 0xc84], edx
mov edx, dword [ebp - 0xc80]
cmp edx, dword [ebp - 0xc88]
jne 0x1000e89a
mov eax, dword [ebp - 0xc7c]
cmp eax, dword [ebp - 0xc84]
jne 0x1000e89a
movzx eax, byte [0x100ad00f]
cdq
add eax, dword [ebp - 0x50]
adc edx, dword [ebp - 0x4c]
mov dword [ebp - 0xc90], eax
mov dword [ebp - 0xc8c], edx
cmp dword [ebp - 0xc90], 1
jne 0x1000e89a
cmp dword [ebp - 0xc8c], 0
jne 0x1000e89a
movzx eax, byte [str.px_04X_]
cdq
mov ecx, dword [0x100ad108]
mov esi, dword [0x100ad10c]
mov dword [ebp - 0xc98], eax
mov dword [ebp - 0xc94], edx
mov dword [ebp - 0xca0], ecx
mov dword [ebp - 0xc9c], esi
mov edx, dword [ebp - 0xc94]
cmp edx, dword [ebp - 0xc9c]
ja 0x1000e75a
jb 0x1000e6ed
mov eax, dword [ebp - 0xc98]
cmp eax, dword [ebp - 0xca0]
jae 0x1000e75a
movsx ecx, byte [0x100ad043]
not ecx
movzx edx, word [ebp - 0x10]
sub ecx, edx
mov byte [ebp - 4], cl
mov eax, dword [0x100ad118]
sar eax, 3
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
movzx eax, byte [ebp - 5]
test eax, eax
jne 0x1000e72a
xor ecx, ecx
mov dword [ebp - 0x7e8], 1
mov dword [ebp - 0x7e4], ecx
jmp 0x1000e735
xorps xmm0, xmm0
movlpd qword [ebp - 0x7e8], xmm0
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x7e4]
push ecx
mov edx, dword [ebp - 0x7e8]
push edx
call fcn.1007a8a0
mov dword [0x100ad0a8], eax
jmp 0x1000e826
movzx eax, byte [0x100ad072]
movsx ecx, byte [0x100ad00d]
cmp eax, ecx
jle 0x1000e826
movsx eax, word [0x100ad0c0]
cdq
mov ecx, dword [0x100ad148]
mov edx, dword [0x100ad14c]
mov dword [ebp - 0x1334], edx
add ecx, eax
movzx eax, byte [str.px_04X_]
cdq
mov edx, dword [0x100ad148]
mov esi, dword [0x100ad14c]
mov dword [ebp - 0x1338], esi
sub eax, edx
sub ecx, eax
not ecx
mov byte [0x100ad00f], cl
movzx eax, byte [0x100ad00f]
cdq
add eax, dword [0x100ad110]
adc edx, dword [0x100ad114]
push edx
push eax
mov eax, dword [0x100ad114]
push eax
mov ecx, dword [0x100ad110]
push ecx
call fcn.1007a8a0
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
movzx eax, byte [ebp - 3]
cdq
add eax, 0xe7bf92b2
adc edx, 0x9e7c1
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
movsx edx, byte [ebp - 2]
test edx, edx
je 0x1000e80f
movzx eax, word [ebp - 0x1c]
mov dword [ebp - 0x358], eax
jmp 0x1000e818
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x358], ecx
mov edx, dword [ebp - 0x358]
xor eax, eax
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], eax
jmp 0x1000e5b9
xor eax, eax
mov byte [ebp - 0x70], al
lea ecx, [ebp - 0x70]
call fcn.100046e0
mov dword [ebp - 0xb0], eax
mov ecx, dword [ebp - 0xb0]
movzx edx, byte [ecx + 0xd]
test edx, edx
je 0x1000e8df
push 0x1010101
push 0x7ddba54d
push 0
push 0xd
mov eax, dword [ebp - 0xb0]
push eax
call fcn.10040e80
mov ecx, dword [ebp - 0xb0]
mov byte [ecx + 0xd], 0
mov edx, dword [ebp - 0xb0]
push edx
push 0
push 0
call fcn.100013b0
call eax
cmp dword [ebp - 0x28], 0
je 0x1000e98a
push 0
push 0xa7
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.1007a8a0
mov word [0x100ad120], ax
movzx edx, word [ebp - 0x1c]
movzx eax, byte [ebp - 1]
imul edx, eax
mov word [ebp - 0x1c], dx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
add ecx, dword [ebp - 0x50]
adc edx, dword [ebp - 0x4c]
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], edx
movzx ax, byte [ebp - 1]
mov word [ebp - 0x18], ax
movzx ecx, byte [0x100ad0a6]
test ecx, ecx
jne 0x1000e956
mov dword [ebp - 0x35c], 1
jmp 0x1000e960
mov dword [ebp - 0x35c], 0
movsx edx, word [0x100ad0cc]
not edx
movzx eax, word [ebp - 0x10]
not eax
or edx, eax
mov ecx, dword [ebp - 0x35c]
sub ecx, edx
not ecx
mov byte [0x100ad00f], cl
mov byte [ebp - 2], 0x12
jmp 0x1000ea8d
movsx edx, word [0x100ad11c]
test edx, edx
je 0x1000e9d4
mov eax, dword [0x100ad118]
imul eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], ecx
mov eax, dword [0x100ad0c8]
cdq
sub eax, 0x77320267
sbb edx, 0xbfafb
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
movzx eax, word [ebp - 0x14]
not eax
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
jmp 0x1000ea8d
mov edx, dword [ebp - 0x54]
cmp edx, dword [ebp - 0x4c]
ja 0x1000ea8d
jb 0x1000e9ee
mov eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0x50]
jae 0x1000ea8d
movsx ecx, word [0x100ad0e4]
add ecx, 0x8e15
mov byte [ebp - 3], cl
movsx edx, word [ebp - 0xc]
test edx, edx
jne 0x1000ea12
mov dword [ebp - 0x360], 1
jmp 0x1000ea1c
mov dword [ebp - 0x360], 0
movzx eax, word [ebp - 0x10]
not eax
sub eax, dword [ebp - 0x360]
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movzx eax, byte [ebp - 3]
mov ecx, dword [0x100ad0b4]
sub ecx, eax
mov dword [0x100ad0b4], ecx
movzx edx, byte [ebp - 3]
movsx eax, byte [0x100ad00d]
add edx, eax
movzx ecx, byte [ebp - 3]
sub ecx, edx
mov byte [ebp - 3], cl
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x2c]
sbb ecx, edx
mov edx, dword [ebp - 0x30]
sub edx, eax
mov eax, dword [ebp - 0x2c]
sbb eax, ecx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
movzx ecx, byte [ebp - 3]
movzx edx, byte [ebp - 5]
imul ecx, edx
mov eax, dword [0x100ad158]
xor eax, dword [ebp - 0x24]
add ecx, eax
mov dword [ebp - 0x24], ecx
xor ecx, ecx
mov byte [ebp - 0x71], cl
lea ecx, [ebp - 0x71]
call fcn.100049a0
mov dword [ebp - 0xb4], eax
mov edx, dword [ebp - 0xb4]
movzx eax, byte [edx + 0xb]
test eax, eax
je 0x1000ead2
push 0x1010101
push 0x7ddbf9b9
push 0
push 0xb
mov ecx, dword [ebp - 0xb4]
push ecx
call fcn.10040e80
mov edx, dword [ebp - 0xb4]
mov byte [edx + 0xb], 0
mov eax, dword [ebp - 0xb4]
push eax
push 0
push 0
call fcn.10001650
call eax
mov dword [ebp - 0xa00], eax
xor ecx, ecx
mov dword [0x100ad128], 0x8a272520
mov dword [0x100ad12c], ecx
cmp dword [0x100ad15c], 0
je 0x1000edce
movsx eax, word [0x100ad0b0]
cdq
mov dword [ebp - 0xca8], eax
mov dword [ebp - 0xca4], edx
mov edx, dword [0x100ad150]
cmp edx, dword [ebp - 0xca8]
jne 0x1000eb44
mov eax, dword [0x100ad154]
cmp eax, dword [ebp - 0xca4]
jne 0x1000eb44
mov dword [ebp - 0x364], 1
jmp 0x1000eb4e
mov dword [ebp - 0x364], 0
cmp dword [0x100ad150], 0x4e
jne 0x1000eb6c
cmp dword [0x100ad154], 0
jne 0x1000eb6c
mov dword [ebp - 0x368], 1
jmp 0x1000eb76
mov dword [ebp - 0x368], 0
mov ecx, dword [ebp - 0x364]
cmp ecx, dword [ebp - 0x368]
jl 0x1000ec15
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x3c]
add edx, dword [ebp - 0x40]
adc eax, ecx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
movsx edx, word [0x100ad0e4]
movsx eax, byte [ebp - 4]
sub edx, eax
movsx ecx, word [0x100ad0e4]
sub ecx, edx
mov word [0x100ad0e4], cx
mov edx, dword [0x100ad0d8]
mov eax, dword [0x100ad0dc]
push 0
push 0x2f4d
push eax
push edx
call fcn.1007a8a0
mov byte [ebp - 4], al
mov ecx, dword [0x100ad160]
not ecx
mov word [ebp - 0xc], cx
movsx edx, word [ebp - 0xc]
test edx, edx
jne 0x1000ebf5
mov dword [ebp - 0x36c], 1
jmp 0x1000ebff
mov dword [ebp - 0x36c], 0
movsx eax, byte [ebp - 4]
imul eax, dword [ebp - 0x36c]
not eax
mov word [ebp - 0x14], ax
jmp 0x1000edce
movsx ecx, word [0x100ad0c0]
test ecx, ecx
je 0x1000ece4
mov byte [ebp - 2], 0x72
mov dx, word [0x100adbec]
mov word [ebp - 0xc], dx
cmp dword [ebp - 0x28], 0
jne 0x1000ec45
mov dword [ebp - 0x370], 1
jmp 0x1000ec4f
mov dword [ebp - 0x370], 0
movsx eax, byte [ebp - 2]
add eax, dword [ebp - 0x370]
cdq
push 0xe1303
push 0x759e2f2f
push edx
push eax
call fcn.1007a8a0
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x133c], edx
not ecx
sub eax, ecx
mov word [ebp - 0x14], ax
movzx eax, word [0x100ad120]
movsx ecx, byte [str.ZFreeSid]
sub eax, ecx
movsx edx, byte [ebp - 4]
add edx, 0xc231
and eax, edx
jne 0x1000ecb1
xor eax, eax
mov dword [ebp - 0xcb0], 1
mov dword [ebp - 0xcac], eax
jmp 0x1000ecbc
xorps xmm0, xmm0
movlpd qword [ebp - 0xcb0], xmm0
movsx eax, word [0x100ad11c]
cdq
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x1340], edx
add eax, ecx
add eax, dword [ebp - 0xcb0]
not eax
mov byte [0x100ad043], al
jmp 0x1000edce
movzx eax, word [0x100ad0b8]
cmp eax, dword [0x100ad0b4]
jg 0x1000ed8d
mov eax, dword [0x100ad15c]
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
movsx ecx, byte [ebp - 4]
add ecx, dword [0x100ad140]
mov byte [ebp - 4], cl
movsx edx, word [ebp - 0xc]
imul eax, edx, 0xa
mov byte [0x100ad09a], al
movzx ecx, byte [0x100ad0a6]
and ecx, 0xb97a
mov byte [0x100ad00d], cl
mov edx, dword [0x100ad138]
or edx, dword [0x100ad13c]
jne 0x1000ed49
mov dword [ebp - 0x374], 1
jmp 0x1000ed53
mov dword [ebp - 0x374], 0
movzx eax, word [ebp - 0x18]
imul ecx, dword [ebp - 0x374], 0xe5d3
imul eax, ecx
cdq
mov ecx, eax
movzx eax, word [ebp - 0x18]
sub eax, dword [0x100ad0c8]
cdq
mov esi, eax
movzx eax, word [ebp - 0x18]
not eax
cdq
xor eax, dword [0x100ad110]
sub esi, eax
add ecx, esi
mov dword [0x100ad118], ecx
jmp 0x1000edce
cmp dword [ebp - 0x28], 0
je 0x1000edce
movzx edx, word [ebp - 0x10]
mov eax, dword [ebp - 0x24]
sub eax, edx
mov dword [ebp - 0x24], eax
mov ecx, dword [0x100adbec]
mov dword [ebp - 0x20], ecx
mov dx, word [0x100adbec]
mov word [ebp - 0x10], dx
mov eax, dword [0x100ad148]
mov ecx, dword [0x100ad14c]
mov dword [ebp - 0x1344], ecx
add eax, 0xa962
mov byte [0x100ad00d], al
mov edx, dword [ebp - 0x20]
add edx, 0x81
xor eax, eax
mov dword [ebp - 0xcb8], edx
mov dword [ebp - 0xcb4], eax
mov ecx, dword [0x100ad0e8]
cmp ecx, dword [ebp - 0xcb8]
jne 0x1000f02d
mov edx, dword [0x100ad0ec]
cmp edx, dword [ebp - 0xcb4]
jne 0x1000f02d
mov eax, dword [0x100ad0e8]
add eax, dword [ebp - 0x48]
mov ecx, dword [0x100ad0ec]
adc ecx, dword [ebp - 0x44]
mov dword [ebp - 0xcc0], eax
mov dword [ebp - 0xcbc], ecx
cmp dword [ebp - 0xcc0], 1
jne 0x1000f02d
cmp dword [ebp - 0xcbc], 0
jne 0x1000f02d
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
movzx eax, word [ebp - 0x14]
cdq
mov dword [ebp - 0xcc8], ecx
mov dword [ebp - 0xcc4], esi
mov dword [ebp - 0xcd0], eax
mov dword [ebp - 0xccc], edx
mov edx, dword [ebp - 0xcc4]
cmp edx, dword [ebp - 0xccc]
ja 0x1000ee8d
jb 0x1000ee81
mov eax, dword [ebp - 0xcc8]
cmp eax, dword [ebp - 0xcd0]
ja 0x1000ee8d
mov dword [ebp - 0x378], 1
jmp 0x1000ee97
mov dword [ebp - 0x378], 0
movsx ecx, byte [ebp - 2]
mov edx, dword [ebp - 0x378]
sub edx, ecx
je 0x1000eeeb
movsx eax, byte [0x100ad073]
movzx ecx, word [0x100ad0ac]
cmp eax, ecx
jne 0x1000eee9
mov dword [ebp - 0x9e8], 0
call dword [sym.imp.USER32.dll_GetCursor]
mov dword [ebp - 0x9e4], eax
cmp dword [ebp - 0x9e4], 0
je 0x1000eee9
mov edx, dword [ebp - 0x9e8]
push edx
call dword [sym.imp.USER32.dll_GetCaretPos]
mov dword [ebp - 0x1348], eax
jmp 0x1000ef6a
movsx eax, word [ebp - 0xc]
sub eax, 0x305cc0a9
movsx ecx, word [0x100ad130]
imul ecx, eax
mov word [0x100ad130], cx
mov edx, dword [0x100ad0b4]
xor edx, 0x31
mov word [ebp - 0x18], dx
movsx eax, byte [str.E2_wcsrchr]
imul ecx, eax, 0xaae4f1c9
mov word [ebp - 0xc], cx
movzx edx, word [0x100ad0f0]
movzx eax, word [0x100ad0ac]
imul edx, eax
movzx ecx, word [0x100ad0f0]
sub ecx, edx
mov word [0x100ad0f0], cx
mov edx, dword [0x100ad154]
push edx
mov eax, dword [0x100ad150]
push eax
mov ecx, dword [ebp - 0x2c]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.1007a8a0
or eax, dword [ebp - 0x30]
or edx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
jmp 0x1000eaea
movsx ecx, word [0x100ad0e4]
test ecx, ecx
je 0x1000f1af
cmp dword [0x100ad158], 0
je 0x1000f120
movzx edx, word [0x100ad0b8]
test edx, edx
je 0x1000f059
jmp 0x1000f11b
movsx eax, byte [0x100ad09a]
movzx ecx, word [ebp - 0x14]
imul eax, ecx
movzx edx, word [ebp - 0x14]
imul eax, edx
not eax
mov byte [0x100ad042], al
mov eax, dword [ebp - 0x28]
add eax, 0xa013
mov dword [ebp - 0x24], eax
movsx ecx, word [0x100ad0c0]
and ecx, dword [0x100ad100]
mov byte [ebp - 4], cl
movsx edx, word [0x100ad0d0]
movzx eax, byte [ebp - 3]
sub edx, eax
movsx ecx, word [0x100ad0d0]
imul ecx, edx
mov word [0x100ad0d0], cx
movsx eax, word [0x100ad0cc]
add eax, dword [ebp - 0x28]
cdq
mov esi, eax
mov edi, edx
movzx eax, word [ebp - 0x10]
cdq
push edx
push eax
mov edx, dword [ebp - 0x4c]
push edx
mov eax, dword [ebp - 0x50]
push eax
call fcn.1007a8a0
sub esi, eax
sbb edi, edx
mov eax, dword [0x100ad0b4]
cdq
sub eax, 0x4035ba38
sbb edx, 0x8c986419
push edx
push eax
push edi
push esi
call fcn.1007a8a0
mov dword [ebp - 0x28], eax
movsx eax, byte [0x100ad043]
cdq
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
mov dword [ebp - 0x1350], edx
add ecx, eax
movsx eax, word [0x100ad0c4]
cdq
sub ecx, eax
mov byte [ebp - 6], cl
jmp 0x1000f1af
movsx eax, byte [str.E2_wcsrchr]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
push esi
push ecx
push eax
push edx
call fcn.1007a8a0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movzx ecx, byte [ebp - 5]
mov edx, dword [0x100ad118]
sub edx, ecx
mov eax, dword [0x100ad118]
add eax, edx
mov dword [0x100ad118], eax
push 0xe420b
push 0xebd9352a
mov ecx, dword [ebp - 0x44]
push ecx
mov edx, dword [ebp - 0x48]
push edx
call fcn.1007a8a0
mov word [ebp - 0xc], ax
mov eax, dword [0x100ad15c]
add eax, dword [0x100ad140]
mov ecx, dword [0x100ad15c]
add ecx, eax
mov dword [0x100ad15c], ecx
movsx eax, word [0x100ad0cc]
add eax, 0x21f6051e
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov edx, dword [0x100ad140]
mov byte [ebp - 1], dl
mov eax, dword [ebp - 0x9ec]
sub eax, dword [ebp - 0x380]
mov ecx, dword [ebp - 0x9f0]
add ecx, dword [ebp - 0x380]
cmp eax, ecx
je 0x10010e17
movzx eax, word [0x100ad0b8]
cdq
push 0xd2279
push 0x720f6446
push edx
push eax
call fcn.1007a8a0
mov byte [str.ZFreeSid], al
movzx edx, byte [ebp - 3]
movsx eax, word [0x100ad0c0]
sub edx, eax
movzx ecx, byte [ebp - 3]
add ecx, edx
mov byte [ebp - 3], cl
mov eax, dword [0x100ad118]
cdq
add eax, 0x1ce7f304
adc edx, 0xef722
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], edx
movzx edx, word [ebp - 0x14]
sub edx, 0x3900425d
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x28], 0xd5eb37f7
movzx eax, word [ebp - 0x18]
add eax, 0x2a8f1ee7
xor ecx, ecx
mov dword [0x100ad148], eax
mov dword [0x100ad14c], ecx
movsx edx, byte [0x100ad043]
add edx, dword [ebp - 0x20]
movsx eax, byte [0x100ad00d]
not eax
sub edx, eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1354], eax
add ecx, 0x42d7
sub edx, ecx
mov word [0x100ad0bc], dx
movzx eax, byte [ebp - 5]
add eax, 0x6903
cdq
add eax, dword [ebp - 0x48]
adc edx, dword [ebp - 0x44]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov ecx, dword [0x100adbec]
mov dword [ebp - 0x138], ecx
cmp dword [ebp - 0x24], 0
jne 0x1000f2b8
movzx edx, byte [0x100ad072]
test edx, edx
jne 0x1000f2b8
mov dword [ebp - 0x384], 1
jmp 0x1000f2c2
mov dword [ebp - 0x384], 0
movzx eax, word [ebp - 0x10]
cdq
mov dword [ebp - 0xcd8], eax
mov dword [ebp - 0xcd4], edx
mov eax, dword [ebp - 0xcd4]
cmp eax, dword [ebp - 0x2c]
jb 0x1000f2f7
ja 0x1000f2eb
mov ecx, dword [ebp - 0xcd8]
cmp ecx, dword [ebp - 0x30]
jbe 0x1000f2f7
mov dword [ebp - 0x388], 1
jmp 0x1000f301
mov dword [ebp - 0x388], 0
mov edx, dword [ebp - 0x384]
cmp edx, dword [ebp - 0x388]
jg 0x1000f31b
mov dword [ebp - 0x394], 1
jmp 0x1000f325
mov dword [ebp - 0x394], 0
movzx eax, byte [ebp - 3]
test eax, eax
jne 0x1000f339
mov dword [ebp - 0x38c], 1
jmp 0x1000f343
mov dword [ebp - 0x38c], 0
mov ecx, dword [ebp - 0x38c]
cmp ecx, dword [ebp - 0x28]
je 0x1000f35a
mov dword [ebp - 0x390], 1
jmp 0x1000f364
mov dword [ebp - 0x390], 0
movsx edx, word [0x100ad130]
cmp edx, dword [ebp - 0x390]
jge 0x1000f37f
mov dword [ebp - 0x398], 1
jmp 0x1000f389
mov dword [ebp - 0x398], 0
mov eax, dword [ebp - 0x394]
not eax
cmp eax, dword [ebp - 0x398]
jge 0x1000f3a5
mov dword [ebp - 0x39c], 1
jmp 0x1000f3af
mov dword [ebp - 0x39c], 0
mov ecx, dword [ebp - 0x39c]
not ecx
test ecx, ecx
je 0x1000f427
mov edx, 4
imul eax, edx, 0x2ce0
mov ecx, dword [0x100ad15c]
sub ecx, dword [eax + 0x101af548]
mov dword [0x100ad15c], ecx
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [0x100ad0ec]
push ecx
mov edx, dword [0x100ad0e8]
push edx
call fcn.1007a8a0
mov ecx, eax
movzx eax, word [0x100ad0f0]
cdq
xor ecx, eax
mov edx, 0x28927c76
sub edx, ecx
mov byte [0x100ad042], dl
movzx eax, byte [ebp - 6]
cdq
sub eax, 0x29e4386a
mov byte [0x100ad00e], al
xor eax, eax
mov dword [ebp - 0x48], 0x778ea95b
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x138]
add ecx, 0x30f
mov dword [ebp - 0x1358], ecx
movsx eax, word [0x100ad0d0]
cdq
mov ecx, dword [0x100ad148]
mov esi, dword [0x100ad14c]
mov dword [ebp - 0xce0], eax
mov dword [ebp - 0xcdc], edx
mov dword [ebp - 0xce8], ecx
mov dword [ebp - 0xce4], esi
mov edx, dword [ebp - 0xce0]
cmp edx, dword [ebp - 0xce8]
jne 0x1000f485
mov eax, dword [ebp - 0xcdc]
cmp eax, dword [ebp - 0xce4]
je 0x1000f624
mov ecx, dword [0x100ad108]
mov edx, dword [0x100ad10c]
mov dword [ebp - 0xcf0], ecx
mov dword [ebp - 0xcec], edx
mov eax, dword [ebp - 0xcf0]
or eax, dword [ebp - 0xcec]
je 0x1000f4fe
movsx ecx, word [0x100ad0b0]
add ecx, 0x68c016f1
xor edx, edx
mov eax, dword [ebp - 0x48]
sub eax, ecx
mov ecx, dword [ebp - 0x44]
sbb ecx, edx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
movzx edx, byte [0x100ad0a6]
add edx, dword [0x100ad100]
mov dword [0x100ad100], edx
mov eax, dword [0x100ad118]
cdq
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov eax, dword [ebp - 0x4c]
sbb eax, edx
add ecx, dword [ebp - 0x50]
adc eax, dword [ebp - 0x4c]
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], eax
jmp 0x1000f622
movzx eax, byte [ebp - 6]
cdq
mov dword [ebp - 0xcf8], eax
mov dword [ebp - 0xcf4], edx
mov ecx, dword [ebp - 0xcf8]
cmp ecx, dword [0x100ad138]
jne 0x1000f52b
mov edx, dword [ebp - 0xcf4]
cmp edx, dword [0x100ad13c]
je 0x1000f537
mov dword [ebp - 0x3a0], 1
jmp 0x1000f541
mov dword [ebp - 0x3a0], 0
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x3a0]
jne 0x1000f5ee
movsx eax, byte [str.E2_wcsrchr]
cdq
add eax, dword [0x100ad150]
adc edx, dword [0x100ad154]
mov ecx, dword [0x100ad150]
sub ecx, eax
mov eax, dword [0x100ad154]
sbb eax, edx
mov dword [0x100ad150], ecx
mov dword [0x100ad154], eax
movzx eax, byte [0x100ad072]
add eax, 0xee
cdq
and eax, dword [0x100ad160]
and edx, dword [0x100ad164]
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
movzx eax, byte [ebp - 3]
cdq
mov ecx, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
and ecx, eax
and esi, edx
mov edx, dword [0x100ad0d8]
mov eax, dword [0x100ad0dc]
push esi
push ecx
push eax
push edx
call fcn.1007a8a0
mov dword [0x100ad0d8], eax
mov dword [0x100ad0dc], edx
movzx ecx, word [ebp - 0x18]
movzx edx, byte [ebp - 5]
imul ecx, edx
movzx eax, word [ebp - 0x18]
imul eax, ecx
mov word [ebp - 0x18], ax
jmp 0x1000f622
movzx ecx, byte [ebp - 6]
test ecx, ecx
je 0x1000f622
movzx eax, byte [ebp - 5]
cdq
add eax, 0xaa9af177
mov word [0x100ad0ac], ax
movsx eax, word [0x100ad0c4]
cdq
sub eax, 0x53d109b0
mov dword [ebp - 0x20], eax
mov edx, dword [0x100adbec]
mov dword [0x100ad15c], edx
jmp 0x1000f66b
movsx eax, word [0x100ad0d0]
test eax, eax
jne 0x1000f63b
mov dword [ebp - 0x3a4], 1
jmp 0x1000f645
mov dword [ebp - 0x3a4], 0
movzx ecx, word [0x100ad0b8]
cmp dword [ebp - 0x3a4], ecx
je 0x1000f66b
mov byte [str.ZFreeSid], 0xe1
movsx eax, byte [0x100ad09a]
cdq
add eax, dword [ebp - 0x48]
mov byte [0x100ad09a], al
mov edx, dword [ebp - 0x138]
add edx, 0x3b24
mov dword [ebp - 0x13b4], edx
movzx eax, byte [ebp - 3]
cdq
mov dword [ebp - 0xd00], eax
mov dword [ebp - 0xcfc], edx
mov eax, dword [0x100ad0fc]
cmp eax, dword [ebp - 0xcfc]
jl 0x1000f6b7
jg 0x1000f6ab
mov ecx, dword [0x100ad0f8]
cmp ecx, dword [ebp - 0xd00]
jb 0x1000f6b7
mov dword [ebp - 0x3ac], 1
jmp 0x1000f6c1
mov dword [ebp - 0x3ac], 0
cmp dword [0x100ad0c8], 0
jne 0x1000f6d6
mov dword [ebp - 0x3a8], 1
jmp 0x1000f6e0
mov dword [ebp - 0x3a8], 0
movsx edx, byte [ebp - 4]
not edx
cmp dword [ebp - 0x3a8], edx
jg 0x1000f6fa
mov dword [ebp - 0x3b0], 1
jmp 0x1000f704
mov dword [ebp - 0x3b0], 0
mov eax, dword [ebp - 0x3ac]
cmp eax, dword [ebp - 0x3b0]
je 0x1000f76a
movzx ecx, byte [ebp - 6]
movsx edx, byte [0x100ad00d]
not edx
cmp ecx, edx
jg 0x1000f72f
mov dword [ebp - 0x3b4], 1
jmp 0x1000f739
mov dword [ebp - 0x3b4], 0
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x3b4]
jae 0x1000f750
mov dword [ebp - 0x3b8], 1
jmp 0x1000f75a
mov dword [ebp - 0x3b8], 0
mov ecx, dword [ebp - 0x3b8]
not ecx
test ecx, ecx
je 0x1000f9db
movzx edx, byte [ebp - 5]
cmp edx, dword [0x100ad158]
je 0x1000f782
mov dword [ebp - 0x3bc], 1
jmp 0x1000f78c
mov dword [ebp - 0x3bc], 0
movzx eax, byte [ebp - 5]
cmp eax, 0x4e
je 0x1000f7a1
mov dword [ebp - 0x3c0], 1
jmp 0x1000f7ab
mov dword [ebp - 0x3c0], 0
mov ecx, dword [ebp - 0x3bc]
cmp ecx, dword [ebp - 0x3c0]
jg 0x1000f7f2
movzx edx, word [0x100ad0ac]
imul eax, edx, 0xe2ca
mov word [0x100ad0b0], ax
mov ecx, dword [ebp - 0x28]
add ecx, 0xfda5
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1360], eax
sub edx, 0x4376
mov byte [ebp - 5], dl
jmp 0x1000f9d6
cmp dword [0x100ad0c8], 0
je 0x1000f8af
movzx eax, word [0x100ad0ac]
cdq
mov dword [0x100ad0d8], eax
mov dword [0x100ad0dc], edx
movzx ecx, byte [ebp - 3]
test ecx, ecx
je 0x1000f825
mov dl, byte [str.ZFreeSid]
mov byte [ebp - 0x5d], dl
jmp 0x1000f82d
mov al, byte [0x100ad073]
mov byte [ebp - 0x5d], al
mov cl, byte [ebp - 0x5d]
mov byte [str.E2_wcsrchr], cl
mov edx, 2
imul eax, edx, 0x9b
movsx ecx, word [eax + 0x100df228]
movsx edx, byte [ebp - 4]
and edx, ecx
mov byte [ebp - 4], dl
movsx eax, byte [ebp - 2]
cdq
sub eax, 0x1c764795
sbb edx, 0x6af62
mov dword [0x100ad138], eax
mov dword [0x100ad13c], edx
movzx eax, byte [ebp - 6]
test eax, eax
je 0x1000f880
movzx ecx, word [ebp - 0x1c]
mov dword [ebp - 0x3c4], ecx
jmp 0x1000f889
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x3c4], edx
mov ax, word [ebp - 0x3c4]
mov word [0x100ad0ac], ax
mov ecx, dword [0x100ad0e0]
xor edx, edx
xor ecx, dword [ebp - 0x30]
xor edx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edx
jmp 0x1000f9d6
mov eax, dword [0x100ad128]
mov ecx, dword [0x100ad12c]
mov dword [ebp - 0xd08], eax
mov dword [ebp - 0xd04], ecx
cmp dword [ebp - 0xd08], 0xc7
jne 0x1000f90a
cmp dword [ebp - 0xd04], 0
jne 0x1000f90a
movzx dx, byte [ebp - 1]
mov word [ebp - 0x18], dx
movsx ax, byte [0x100ad09a]
mov ecx, 2
imul edx, ecx, 6
mov word [edx + 0x101e98d8], ax
mov al, byte [0x100ad0e8]
mov byte [str.ZFreeSid], al
jmp 0x1000f9d6
cmp dword [ebp - 0x28], 0
jne 0x1000f91c
mov dword [ebp - 0x3cc], 1
jmp 0x1000f926
mov dword [ebp - 0x3cc], 0
movzx ecx, word [ebp - 0x1c]
test ecx, ecx
jne 0x1000f93a
jmp 0x1000fa5f
cmp dword [0x100ad0a8], 0
je 0x1000fa5f
movzx edx, word [ebp - 0x18]
imul eax, edx, 0xee
mov dword [0x100ad0a8], eax
movsx eax, byte [0x100ad042]
cdq
mov ecx, dword [ebp - 0x54]
push ecx
mov ecx, dword [ebp - 0x58]
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
movsx eax, byte [0x100ad042]
cdq
add eax, ecx
mov byte [0x100ad042], al
mov edx, dword [0x100ad128]
mov eax, dword [0x100ad12c]
mov dword [ebp - 0x1364], eax
add edx, 0x59af8069
mov dword [0x100ad15c], edx
movzx ecx, byte [0x100ad072]
imul eax, ecx, 0xcd10
cdq
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
movzx eax, word [ebp - 0x10]
sar eax, 7
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov edx, dword [ebp - 0x138]
add edx, 0xed08
mov dword [ebp - 0x9fc], edx
mov eax, dword [0x100ad0f8]
add eax, dword [ebp - 0x30]
mov ecx, dword [0x100ad0fc]
adc ecx, dword [ebp - 0x2c]
mov dword [0x100ad0f8], eax
mov dword [0x100ad0fc], ecx
movsx eax, byte [0x100ad073]
sub eax, 0xdb4
cdq
mov dword [0x100ad0d8], eax
mov dword [0x100ad0dc], edx
movzx eax, byte [ebp - 3]
cdq
add eax, dword [ebp - 0x58]
adc edx, dword [ebp - 0x54]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
movzx eax, word [ebp - 0x10]
shl eax, 6
cdq
mov dword [0x100ad0d8], eax
mov dword [0x100ad0dc], edx
mov edx, dword [ebp - 0x48]
or edx, dword [ebp - 0x44]
jne 0x1000fadd
mov dword [ebp - 0x3d8], 1
jmp 0x1000fae7
mov dword [ebp - 0x3d8], 0
movsx eax, word [ebp - 0xc]
movzx ecx, word [ebp - 0x10]
cmp eax, ecx
jge 0x1000faff
movsx eax, byte [0x100ad043]
add eax, dword [0x100ad0c8]
movsx ecx, byte [0x100ad043]
imul ecx, eax
mov byte [0x100ad043], cl
movsx edx, word [0x100ad0b0]
imul eax, edx, 0xe
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx eax, byte [0x100ad042]
cdq
mov dword [0x100ad148], eax
mov dword [0x100ad14c], edx
mov eax, dword [0x100adbec]
xor ecx, ecx
mov dword [0x100ad150], eax
mov dword [0x100ad154], ecx
movzx edx, byte [ebp - 5]
test edx, edx
jne 0x10010e7e
mov dword [ebp - 0x414], 1
jmp 0x10010e88
mov dword [ebp - 0x414], 0
movzx eax, byte [ebp - 5]
mov ecx, dword [ebp - 0x414]
sub ecx, eax
jne 0x10010e9c
mov byte [ebp - 0x60], 1
jmp 0x10010ea0
mov byte [ebp - 0x60], 0
mov dl, byte [ebp - 0x60]
mov byte [0x100ad00f], dl
mov eax, 1
imul ecx, eax, 0x4f
mov dl, byte [ecx + 0x100d5750]
mov byte [0x100ad037], dl
xor eax, eax
mov byte [ebp - 0x72], al
lea ecx, [ebp - 0x72]
call fcn.10001950
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0xbc]
movzx edx, byte [ecx + 0xd]
test edx, edx
je 0x10010f02
push 0x1010101
push 0x7f494b9b
push 0
push 0xd
mov eax, dword [ebp - 0xbc]
push eax
call fcn.10040e80
mov ecx, dword [ebp - 0xbc]
mov byte [ecx + 0xd], 0
mov edx, dword [ebp - 0xbc]
push edx
push 0
push 0
call fcn.10001650
call eax
mov dword [ebp - 0x948], eax
mov dword [0x100ad0e0], 0xa268
cmp dword [ebp - 0x24], 0
jne 0x10010f3e
xor eax, eax
mov dword [ebp - 0x818], 1
mov dword [ebp - 0x814], eax
jmp 0x10010f49
xorps xmm0, xmm0
movlpd qword [ebp - 0x818], xmm0
mov ecx, dword [ebp - 0x818]
mov edx, dword [ebp - 0x814]
mov dword [0x100ad128], ecx
mov dword [0x100ad12c], edx
mov eax, dword [ebp - 0x28]
xor eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
movsx ecx, byte [0x100ad043]
movzx edx, byte [ebp - 3]
sub ecx, edx
mov byte [0x100ad043], cl
mov byte [ebp - 1], 0x86
movsx eax, byte [0x100ad042]
sub eax, 0x5c6425b1
mov byte [str.E2_wcsrchr], al
movzx eax, byte [ebp - 1]
cdq
add eax, 0xadb4857f
mov byte [ebp - 2], al
movzx ecx, word [ebp - 0x10]
add ecx, 0xa268
cmp dword [0x100ad0e0], ecx
jne 0x1001127a
mov edx, dword [0x100ad100]
xor eax, eax
mov ecx, dword [ebp - 0x48]
add ecx, 0x32
mov esi, dword [ebp - 0x44]
adc esi, 0
mov dword [ebp - 0xd98], edx
mov dword [ebp - 0xd94], eax
mov dword [ebp - 0xda0], ecx
mov dword [ebp - 0xd9c], esi
mov edx, dword [ebp - 0xd98]
cmp edx, dword [ebp - 0xda0]
jne 0x1001127a
mov eax, dword [ebp - 0xd94]
cmp eax, dword [ebp - 0xd9c]
jne 0x1001127a
mov ecx, dword [ebp - 0x28]
push ecx
call dword [sym.imp.USER32.dll_OpenIcon]
xor edx, edx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
movsx eax, byte [ebp - 4]
movsx ecx, byte [0x100ad09a]
cmp eax, ecx
jl 0x10011035
mov dword [ebp - 0x418], 1
jmp 0x1001103f
mov dword [ebp - 0x418], 0
movsx edx, byte [str.ZFreeSid]
cmp edx, dword [ebp - 0x418]
jg 0x100110a2
mov byte [str.px_04X_], 4
movsx eax, byte [ebp - 4]
cdq
mov ecx, dword [0x100ad108]
mov edx, dword [0x100ad10c]
mov dword [ebp - 0x11a8], edx
add eax, ecx
mov dword [ebp - 0x24], eax
mov eax, dword [0x100adbec]
xor ecx, ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
mov edx, dword [0x100ad0f8]
sub edx, 0x98143c3f
mov eax, dword [0x100ad0fc]
sbb eax, 0
mov dword [0x100ad0f8], edx
mov dword [0x100ad0fc], eax
jmp 0x10011164
movzx ecx, byte [0x100ad072]
test ecx, ecx
je 0x10011164
movzx eax, byte [ebp - 5]
cdq
push edx
push eax
mov edx, dword [ebp - 0x44]
push edx
mov eax, dword [ebp - 0x48]
push eax
call fcn.1007a8a0
mov dword [ebp - 0xda8], eax
mov dword [ebp - 0xda4], edx
mov ecx, dword [ebp - 0xda8]
or ecx, dword [ebp - 0xda4]
jne 0x100110eb
mov dword [ebp - 0x41c], 1
jmp 0x100110f5
mov dword [ebp - 0x41c], 0
movsx edx, byte [ebp - 4]
mov eax, dword [ebp - 0x41c]
lea ecx, [eax + edx - 0x676f]
test ecx, ecx
jne 0x1001111e
xor edx, edx
mov dword [ebp - 0xdb0], 1
mov dword [ebp - 0xdac], edx
jmp 0x10011129
xorps xmm0, xmm0
movlpd qword [ebp - 0xdb0], xmm0
mov eax, dword [ebp - 0xdb0]
add eax, dword [0x100ad0e8]
mov dword [ebp - 0x20], eax
movzx ecx, byte [ebp - 3]
add ecx, dword [ebp - 0x20]
mov byte [ebp - 3], cl
mov edx, dword [0x100ad15c]
add edx, 0xa7
mov eax, dword [0x100ad118]
imul eax, edx
mov dword [0x100ad118], eax
mov ecx, dword [0x100ad150]
mov dword [ebp - 0x20], ecx
jmp 0x1001127a
mov dword [0x100ad0e0], 0xa268
movzx eax, word [ebp - 0x18]
xor eax, 0x99ab
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
movsx eax, word [0x100ad0e4]
movsx edx, byte [str.E2_wcsrchr]
sub eax, edx
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
movsx eax, byte [ebp - 4]
movsx ecx, word [0x100ad0c0]
sub eax, ecx
movsx edx, byte [ebp - 4]
add edx, eax
mov byte [ebp - 4], dl
mov byte [ebp - 6], 0xd8
movsx eax, word [0x100ad130]
cdq
sub eax, 0x2196e0c4
mov word [0x100ad130], ax
movzx eax, byte [ebp - 1]
cdq
mov ecx, eax
add ecx, dword [0x100ad138]
movzx eax, byte [ebp - 1]
cdq
sub eax, ecx
mov byte [ebp - 1], al
movsx edx, byte [0x100ad037]
test edx, edx
je 0x1001130e
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x828], eax
mov dword [ebp - 0x824], ecx
jmp 0x10011320
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x828], edx
mov dword [ebp - 0x824], eax
mov cx, word [ebp - 0x828]
mov word [0x100ad0e4], cx
movsx eax, byte [0x100ad09a]
cdq
sub eax, 0xf5d09045
sbb edx, 0xf6adb
mov ecx, dword [ebp - 0x30]
sub ecx, eax
mov eax, dword [ebp - 0x2c]
sbb eax, edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x424]
xor ecx, dword [ebp - 0x93c]
cmp dword [ebp - 0x424], ecx
je 0x10012660
mov dword [ebp - 0x944], 0
call dword [sym.imp.USER32.dll_GetCursor]
mov dword [ebp - 0x940], eax
cmp dword [ebp - 0x940], 0
je 0x1001139b
mov edx, dword [ebp - 0x944]
push edx
call dword [sym.imp.USER32.dll_GetCaretPos]
mov dword [ebp - 0x11ac], eax
movzx eax, word [ebp - 0x14]
movsx ecx, byte [0x100ad043]
cmp eax, ecx
jne 0x100113af
jmp 0x10011475
movsx edx, word [0x100ad0d0]
test edx, edx
je 0x10011475
movzx eax, byte [0x100ad00f]
cdq
mov ecx, dword [0x100ad108]
mov esi, dword [0x100ad10c]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov ecx, dword [0x100ad108]
mov esi, dword [0x100ad10c]
sub ecx, eax
sbb esi, edx
mov dword [0x100ad108], ecx
mov dword [0x100ad10c], esi
movsx edx, word [0x100ad0cc]
test edx, edx
jne 0x1001140e
mov dword [ebp - 0x428], 1
jmp 0x10011418
mov dword [ebp - 0x428], 0
movsx eax, byte [0x100ad073]
test eax, eax
jne 0x10011437
xor ecx, ecx
mov dword [ebp - 0xdc8], 1
mov dword [ebp - 0xdc4], ecx
jmp 0x10011442
xorps xmm0, xmm0
movlpd qword [ebp - 0xdc8], xmm0
movzx edx, byte [ebp - 5]
mov eax, dword [ebp - 0x428]
sub eax, edx
add eax, dword [0x100ad0b4]
not eax
cdq
mov ecx, dword [0x100ad148]
mov edx, dword [0x100ad14c]
mov dword [ebp - 0x11b0], edx
add ecx, dword [ebp - 0xdc8]
add eax, ecx
mov word [ebp - 0x10], ax
cmp dword [ebp - 0x948], 0
jne 0x10012660
movsx eax, word [0x100ad0bc]
cmp eax, dword [ebp - 0x24]
jbe 0x1001149a
mov dword [ebp - 0x42c], 1
jmp 0x100114a4
mov dword [ebp - 0x42c], 0
movsx ecx, word [0x100ad0bc]
cmp ecx, 0x20
jle 0x100114bc
mov dword [ebp - 0x430], 1
jmp 0x100114c6
mov dword [ebp - 0x430], 0
mov edx, dword [ebp - 0x42c]
cmp edx, dword [ebp - 0x430]
je 0x1001161d
movsx eax, byte [ebp - 2]
movsx ecx, word [0x100ad0d0]
cmp eax, ecx
je 0x100114f3
mov dword [ebp - 0x434], 1
jmp 0x100114fd
mov dword [ebp - 0x434], 0
movsx edx, byte [ebp - 2]
cmp edx, 0x3d
je 0x10011512
mov dword [ebp - 0x438], 1
jmp 0x1001151c
mov dword [ebp - 0x438], 0
mov eax, dword [ebp - 0x434]
cmp eax, dword [ebp - 0x438]
jl 0x100115b4
xor ecx, ecx
mov dword [ebp - 0x50], 0xb3ef0b59
mov dword [ebp - 0x4c], ecx
imul edx, dword [ebp - 0x28], 0x71
movsx eax, byte [str.ZFreeSid]
add eax, edx
mov byte [str.ZFreeSid], al
movsx ecx, byte [ebp - 4]
test ecx, ecx
jne 0x10011560
mov dword [ebp - 0x43c], 1
jmp 0x1001156a
mov dword [ebp - 0x43c], 0
movsx edx, word [0x100ad0c0]
add edx, 0x29c
jne 0x10011585
mov dword [ebp - 0x440], 1
jmp 0x1001158f
mov dword [ebp - 0x440], 0
movzx eax, word [0x100ad120]
movzx ecx, word [ebp - 0x18]
not ecx
sub ecx, dword [ebp - 0x43c]
add eax, dword [ebp - 0x440]
add ecx, eax
not ecx
mov dword [0x100ad0a8], ecx
jmp 0x10011618
movsx edx, byte [0x100ad09a]
test edx, edx
je 0x10011618
movzx eax, word [0x100ad0b8]
cdq
add eax, 0xd17f7b17
mov word [ebp - 0xc], ax
movzx eax, word [0x100ad0f0]
cdq
mov ecx, dword [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x50]
push ecx
push edx
push eax
call fcn.1007a8a0
mov word [0x100ad0f0], ax
mov edx, dword [0x100adbec]
xor eax, eax
mov dword [0x100ad150], edx
mov dword [0x100ad154], eax
mov ecx, 0x4913
mov word [0x100ad0c4], cx
mov edx, dword [ebp - 0x24]
sub edx, 0x66e67800
mov byte [ebp - 6], dl
jmp 0x100116cf
mov eax, 0x4501e399
or eax, 0x7403e
je 0x100116cf
movzx ecx, byte [ebp - 5]
add ecx, dword [0x100ad0e0]
mov byte [ebp - 5], cl
movsx ecx, word [0x100ad0d0]
xor ecx, 0x47a5
mov eax, dword [0x100ad128]
mov edx, dword [0x100ad12c]
call fcn.1007a8e0
mov dword [0x100ad128], eax
mov dword [0x100ad12c], edx
movsx edx, word [0x100ad0c4]
imul edx, dword [0x100ad0e0]
mov word [0x100ad0c4], dx
movzx eax, word [0x100ad0b8]
sub eax, 0xac17
mov ecx, dword [ebp - 0x24]
sub ecx, eax
mov dword [ebp - 0x24], ecx
mov eax, dword [0x100ad0b4]
cdq
mov ecx, dword [0x100ad110]
sub ecx, eax
mov eax, dword [0x100ad114]
sbb eax, edx
add ecx, dword [0x100ad110]
adc eax, dword [0x100ad114]
mov dword [0x100ad110], ecx
mov dword [0x100ad114], eax
mov eax, dword [0x100ad108]
mov edx, dword [0x100ad10c]
mov cl, 1
call fcn.1007a9b0
mov word [0x100ad0bc], ax
xor ecx, ecx
mov dword [0x100ad138], 0xeb1f3e45
mov dword [0x100ad13c], ecx
movsx edx, word [0x100ad11c]
imul eax, edx, 0x3d
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx eax, byte [0x100ad09a]
mov ecx, dword [ebp - 0x20]
imul ecx, eax
mov edx, dword [ebp - 0x20]
imul edx, ecx
mov dword [ebp - 0x20], edx
movsx eax, byte [str.E2_wcsrchr]
imul eax, dword [0x100ad0a8]
movsx ecx, byte [str.E2_wcsrchr]
and ecx, eax
mov byte [str.E2_wcsrchr], cl
push 0x4bfa6
push 0x7ea7ad11
mov edx, dword [0x100ad0ec]
push edx
mov eax, dword [0x100ad0e8]
push eax
call fcn.1007a8a0
mov byte [ebp - 4], al
movsx ecx, word [ebp - 0xc]
imul edx, ecx, 0x3f
movzx eax, word [ebp - 0x10]
or eax, edx
mov word [ebp - 0x10], ax
mov ecx, 0x7c32
mov word [ebp - 0x18], cx
mov eax, dword [0x100ad0c8]
cdq
mov ecx, eax
mov esi, edx
movzx eax, word [ebp - 0x10]
cdq
add eax, dword [0x100ad138]
adc edx, dword [0x100ad13c]
mov dword [ebp - 0xdd0], ecx
mov dword [ebp - 0xdcc], esi
mov dword [ebp - 0xdd8], eax
mov dword [ebp - 0xdd4], edx
mov edx, dword [ebp - 0xdd0]
cmp edx, dword [ebp - 0xdd8]
jne 0x10011e52
mov eax, dword [ebp - 0xdcc]
cmp eax, dword [ebp - 0xdd4]
jne 0x10011e52
movsx ecx, byte [0x100ad00e]
imul edx, ecx, 0xb4609b95
mov dword [0x100ad100], edx
movsx eax, byte [0x100ad09a]
test eax, eax
jne 0x100117e7
xor ecx, ecx
mov dword [ebp - 0xde0], 1
mov dword [ebp - 0xddc], ecx
jmp 0x100117f2
xorps xmm0, xmm0
movlpd qword [ebp - 0xde0], xmm0
movzx edx, byte [0x100ad00f]
test edx, edx
jne 0x10011809
mov dword [ebp - 0x444], 1
jmp 0x10011813
mov dword [ebp - 0x444], 0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x11b4], ecx
mov ecx, dword [ebp - 0xde0]
sub ecx, eax
movsx eax, byte [str.E2_wcsrchr]
sub eax, dword [ebp - 0x444]
cdq
add ecx, eax
mov byte [0x100ad0a6], cl
mov ecx, dword [0x100ad0f8]
add ecx, 0x614b
mov eax, dword [ebp - 0x28]
cdq
add eax, ecx
mov dword [ebp - 0x28], eax
mov edx, dword [0x100ad0e0]
sub edx, 0x71c6dee5
mov word [ebp - 0x1c], dx
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov cl, 6
call fcn.1007a8e0
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
movzx eax, byte [ebp - 5]
cdq
mov ebx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x11b8], ecx
add ebx, eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
push 0
push 0x6498
push eax
push edx
call fcn.1007a8a0
xor ebx, eax
mov byte [0x100ad042], bl
movzx ecx, byte [ebp - 1]
test ecx, ecx
jne 0x100118b8
mov dword [ebp - 0x448], 1
jmp 0x100118c2
mov dword [ebp - 0x448], 0
movzx edx, word [ebp - 0x10]
mov eax, dword [ebp - 0x448]
sub eax, edx
jne 0x100118dc
mov dword [ebp - 0x44c], 1
jmp 0x100118e6
mov dword [ebp - 0x44c], 0
mov ecx, dword [0x100ad0b4]
and ecx, 0x9a0620ca
xor ecx, dword [ebp - 0x44c]
mov byte [0x100ad09a], cl
movsx edx, word [0x100ad0c4]
imul eax, edx, 0xed
mov word [0x100ad11c], ax
mov ecx, dword [ebp - 0x48]
add ecx, 0xa0e0
mov edx, dword [ebp - 0x44]
adc edx, 0
mov dword [ebp - 0xde8], ecx
mov dword [ebp - 0xde4], edx
mov eax, dword [0x100ad0e8]
cmp eax, dword [ebp - 0xde8]
jne 0x10011e52
mov ecx, dword [0x100ad0ec]
cmp ecx, dword [ebp - 0xde4]
jne 0x10011e52
xor edx, edx
mov dword [ebp - 0x30], 4
mov dword [ebp - 0x2c], edx
mov byte [str.ZFreeSid], 1
mov eax, dword [ebp - 0x48]
or eax, dword [ebp - 0x44]
jne 0x1001197e
xor ecx, ecx
mov dword [ebp - 0xdf0], 1
mov dword [ebp - 0xdec], ecx
jmp 0x10011989
xorps xmm0, xmm0
movlpd qword [ebp - 0xdf0], xmm0
mov edx, dword [ebp - 0x50]
add edx, dword [ebp - 0xdf0]
mov dword [0x100ad0b4], edx
mov eax, 4
mov word [0x100ad0bc], ax
xor ecx, ecx
mov dword [ebp - 0x58], 0xcbeaafc2
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x830], edx
mov dword [ebp - 0x82c], eax
cmp dword [ebp - 0x82c], 0
ja 0x10011dd7
jb 0x100119dd
jmp 0x100116cf
movzx eax, word [ebp - 0x10]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [0x100ad0e8]
adc esi, dword [0x100ad0ec]
movzx eax, word [ebp - 0x10]
cdq
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov word [ebp - 0x10], ax
movsx eax, byte [0x100ad073]
cdq
sub eax, 0xa07aa57
sbb edx, 0x47441
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], esi
movzx edx, word [0x100ad0ac]
add edx, 0x72
mov dword [ebp - 0x20], edx
mov eax, dword [0x100ad140]
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
movsx ecx, byte [0x100ad00e]
imul eax, ecx, 0xe7b6
cdq
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], edx
mov dx, word [0x100adbec]
mov word [0x100ad0c4], dx
mov eax, dword [0x100adbec]
mov dword [ebp - 0x14c], eax
movzx eax, byte [ebp - 6]
cdq
add eax, dword [ebp - 0x58]
mov byte [ebp - 6], al
movzx eax, word [ebp - 0x18]
cdq
add eax, 0xa5407706
adc edx, 0x5abb0
mov ecx, dword [0x100ad0e8]
sub ecx, eax
mov eax, dword [0x100ad0ec]
sbb eax, edx
mov dword [0x100ad0e8], ecx
mov dword [0x100ad0ec], eax
movsx eax, word [0x100ad0e4]
cdq
push 0x95f77
push 0x7dfd7891
push edx
push eax
call fcn.1007a8a0
mov word [0x100ad0cc], ax
movsx ecx, word [ebp - 0xc]
movzx edx, byte [ebp - 3]
imul ecx, edx
movsx eax, word [ebp - 0xc]
and eax, ecx
mov word [ebp - 0xc], ax
movzx ecx, word [ebp - 0x14]
imul ecx, dword [0x100ad15c]
mov word [ebp - 0x14], cx
mov edx, dword [ebp - 0x14c]
add edx, 0x343
mov dword [ebp - 0x488], edx
movsx eax, byte [ebp - 2]
movzx ecx, byte [0x100ad0a6]
sub eax, ecx
cdq
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x11c0], ecx
add edx, dword [ebp - 0x50]
add eax, edx
mov dword [0x100ad0a8], eax
movsx edx, word [0x100ad0c0]
imul eax, edx, 0x6a2b
cdq
mov dword [0x100ad138], eax
mov dword [0x100ad13c], edx
movsx eax, byte [0x100ad043]
cdq
add eax, dword [ebp - 0x30]
adc edx, dword [ebp - 0x2c]
mov dword [ebp - 0xe18], eax
mov dword [ebp - 0xe14], edx
mov eax, dword [ebp - 0xe18]
or eax, dword [ebp - 0xe14]
jne 0x10011fe9
xor ecx, ecx
mov dword [ebp - 0xe20], 1
mov dword [ebp - 0xe1c], ecx
jmp 0x10011ff4
xorps xmm0, xmm0
movlpd qword [ebp - 0xe20], xmm0
movzx eax, byte [ebp - 5]
cdq
add eax, dword [ebp - 0x50]
sub eax, dword [ebp - 0xe20]
add eax, dword [ebp - 0x58]
mov dword [0x100ad0c8], eax
movsx edx, word [ebp - 0xc]
mov eax, dword [0x100ad118]
add eax, edx
mov dword [0x100ad118], eax
mov cl, byte [ebp - 2]
sub cl, 1
mov byte [ebp - 2], cl
mov edx, dword [ebp - 0x14c]
add edx, 0x51f
mov dword [ebp - 0x950], edx
movzx eax, byte [ebp - 1]
add eax, dword [0x100ad118]
not eax
movsx ecx, byte [0x100ad09a]
movzx edx, word [ebp - 0x10]
not edx
add ecx, edx
imul eax, ecx
mov dword [0x100ad0c8], eax
mov ax, word [0x100adbec]
mov word [ebp - 0x10], ax
mov cl, byte [0x100adbec]
mov byte [ebp - 1], cl
mov edx, dword [ebp - 0x14c]
add edx, 0x5c7
mov dword [ebp - 0x94c], edx
mov dword [0x100ad0a8], 0x25
movzx eax, word [ebp - 0x10]
movsx ecx, word [0x100ad0c0]
cmp eax, ecx
jl 0x100122b3
mov edx, 1
mov word [0x100ad120], dx
movzx eax, word [0x100ad120]
movsx ecx, byte [ebp - 2]
add eax, ecx
mov word [0x100ad120], ax
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
add edx, 1
adc eax, 0
mov dword [0x100ad148], edx
mov dword [0x100ad14c], eax
movzx eax, word [ebp - 0x14]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [0x100ad150]
adc esi, dword [0x100ad154]
movsx eax, byte [0x100ad00d]
cdq
mov edi, dword [0x100ad148]
mov ebx, dword [0x100ad14c]
add edi, eax
adc ebx, edx
sub ecx, edi
sbb esi, ebx
movsx edx, word [0x100ad0d0]
movzx eax, word [ebp - 0x1c]
sub edx, eax
mov eax, 0xffff574d
sub eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov word [ebp - 0xc], ax
movzx ecx, word [0x100ad120]
mov dword [ebp - 0x464], ecx
cmp dword [ebp - 0x464], 0
je 0x10012150
cmp dword [ebp - 0x464], 1
je 0x10012262
jmp 0x100122ae
movzx eax, byte [ebp - 3]
cdq
push edx
push eax
mov edx, dword [0x100ad13c]
push edx
mov eax, dword [0x100ad138]
push eax
call fcn.1007a8a0
mov ecx, eax
mov esi, edx
movzx eax, word [ebp - 0x14]
cdq
mov edi, dword [0x100ad108]
mov ebx, dword [0x100ad10c]
sub edi, eax
sbb ebx, edx
xor ecx, edi
xor esi, ebx
mov dword [ebp - 0xe28], ecx
mov dword [ebp - 0xe24], esi
mov edx, dword [ebp - 0xe28]
or edx, dword [ebp - 0xe24]
jne 0x100121ac
mov dword [ebp - 0x474], 1
jmp 0x100121b6
mov dword [ebp - 0x474], 0
mov eax, dword [ebp - 0x20]
not eax
imul eax, dword [0x100ad0a8]
test eax, eax
jne 0x100121d2
mov dword [ebp - 0x470], 1
jmp 0x100121dc
mov dword [ebp - 0x470], 0
movzx ecx, word [ebp - 0x18]
test ecx, ecx
jne 0x100121f0
mov dword [ebp - 0x468], 1
jmp 0x100121fa
mov dword [ebp - 0x468], 0
cmp dword [ebp - 0x24], 0
jne 0x1001220c
mov dword [ebp - 0x46c], 1
jmp 0x10012216
mov dword [ebp - 0x46c], 0
mov edx, dword [ebp - 0x468]
imul edx, dword [ebp - 0x46c]
add edx, dword [ebp - 0x470]
xor edx, dword [ebp - 0x474]
mov word [ebp - 0x1c], dx
push 0
push 0x27e6
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.1007a8a0
mov byte [0x100ad042], al
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x2c]
sbb ecx, edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
jmp 0x100122ae
mov edx, dword [0x100ad108]
mov eax, dword [0x100ad10c]
mov dword [ebp - 0x11c4], eax
add edx, 0xcfb339f0
mov byte [ebp - 3], dl
mov ecx, dword [0x100ad160]
add ecx, 1
mov edx, dword [0x100ad164]
adc edx, 0
mov dword [0x100ad160], ecx
mov dword [0x100ad164], edx
movsx eax, byte [str.E2_wcsrchr]
add eax, 0x50d69cda
xor ecx, ecx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
jmp 0x10012339
movsx edx, byte [0x100ad042]
test edx, edx
je 0x10012339
mov byte [ebp - 1], 0xcf
movsx eax, byte [0x100ad073]
movzx ecx, byte [str.px_04X_]
and eax, ecx
mov byte [0x100ad073], al
movzx edx, word [0x100ad120]
movsx eax, word [0x100ad11c]
sub edx, eax
movzx ecx, word [0x100ad120]
imul ecx, edx
mov word [0x100ad120], cx
movsx edx, byte [ebp - 4]
imul eax, edx, 0xf1d87cea
mov word [0x100ad0b8], ax
movzx eax, word [ebp - 0x10]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x11c8], eax
xor ecx, edx
movzx eax, word [ebp - 0x10]
cdq
add eax, ecx
mov word [ebp - 0x10], ax
movzx ecx, word [ebp - 0x1c]
movzx edx, byte [0x100ad0a6]
xor ecx, edx
mov word [ebp - 0x1c], cx
mov eax, dword [0x100ad15c]
cdq
mov ecx, dword [ebp - 0x48]
add ecx, 0x6e8b
mov esi, dword [ebp - 0x44]
adc esi, 0
mov dword [ebp - 0xe30], eax
mov dword [ebp - 0xe2c], edx
mov dword [ebp - 0xe38], ecx
mov dword [ebp - 0xe34], esi
mov edx, dword [ebp - 0xe30]
cmp edx, dword [ebp - 0xe38]
jne 0x10012557
mov eax, dword [ebp - 0xe2c]
cmp eax, dword [ebp - 0xe34]
jne 0x10012557
movsx eax, byte [0x100ad00e]
cdq
add eax, dword [ebp - 0x48]
adc edx, dword [ebp - 0x44]
mov dword [ebp - 0xe40], eax
mov dword [ebp - 0xe3c], edx
cmp dword [ebp - 0xe40], 1
jne 0x10012557
cmp dword [ebp - 0xe3c], 0
jne 0x10012557
movsx ecx, byte [0x100ad043]
not ecx
movzx edx, byte [ebp - 1]
add ecx, edx
movzx eax, word [0x100ad0f0]
sub ecx, eax
mov byte [ebp - 4], cl
movzx eax, word [ebp - 0x18]
cdq
push 0x5453
push 0x9cf8e6b2
push edx
push eax
call fcn.1007a8a0
mov word [0x100ad130], ax
movzx ecx, word [ebp - 0x10]
movsx edx, byte [ebp - 4]
sub ecx, edx
jne 0x1001240d
mov dword [ebp - 0x478], 1
jmp 0x10012417
mov dword [ebp - 0x478], 0
movsx eax, byte [ebp - 2]
test eax, eax
jne 0x1001242b
mov dword [ebp - 0x47c], 1
jmp 0x10012435
mov dword [ebp - 0x47c], 0
mov eax, dword [ebp - 0x478]
imul eax, dword [ebp - 0x47c]
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
movzx eax, byte [ebp - 6]
cdq
push 0x555
push 0x500d93bc
push edx
push eax
call fcn.1007a8a0
mov dword [0x100ad0f8], eax
mov dword [0x100ad0fc], edx
mov ecx, dword [0x100adbec]
xor edx, edx
mov dword [0x100ad0e8], ecx
mov dword [0x100ad0ec], edx
jmp 0x1001207d
mov cl, byte [0x100ad110]
mov byte [ebp - 6], cl
mov edx, 0xffff8a33
mov word [0x100ad0b0], dx
imul ecx, dword [ebp - 0x28], 0xf658e246
mov ax, word [ebp - 0xc]
shl ax, cl
mov word [ebp - 0xc], ax
movzx eax, byte [0x100ad00f]
cdq
mov ecx, eax
add ecx, dword [ebp - 0x48]
movzx eax, byte [0x100ad00f]
cdq
xor eax, ecx
mov byte [0x100ad00f], al
mov edx, dword [ebp - 0x488]
or edx, dword [ebp - 0x94c]
mov eax, dword [ebp - 0x488]
add eax, 0x1e8
sub eax, dword [ebp - 0x950]
cmp edx, eax
je 0x10012660
movzx ecx, byte [ebp - 1]
imul ecx, dword [0x100ad0c8]
movzx edx, byte [ebp - 1]
sub edx, ecx
mov byte [ebp - 1], dl
mov eax, dword [ebp - 0x28]
cdq
add eax, dword [0x100ad138]
mov byte [ebp - 2], al
movsx eax, byte [ebp - 4]
not eax
cdq
mov ecx, eax
mov esi, edx
movzx eax, word [0x100ad120]
cdq
or eax, dword [0x100ad110]
or edx, dword [0x100ad114]
xor ecx, eax
xor esi, edx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], esi
xor edx, edx
mov byte [ebp - 0x73], dl
lea ecx, [ebp - 0x73]
call fcn.10001a40
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xc0]
movzx ecx, byte [eax + 0xd]
test ecx, ecx
je 0x1001264e
push 0x1010101
push 0x7f1fab8b
push 0
push 0xd
mov edx, dword [ebp - 0xc0]
push edx
call fcn.10040e80
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0xd], 0
mov ecx, dword [ebp - 0xc0]
push ecx
push 0
push 0
call fcn.100013b0
call eax
mov dword [ebp - 0x24], 0
movsx edx, word [ebp - 0xc]
sub edx, 0x39cedc0
mov byte [ebp - 1], dl
movsx eax, byte [0x100ad042]
mov ecx, dword [ebp - 0x20]
sub ecx, eax
mov edx, dword [ebp - 0x20]
add edx, ecx
mov dword [ebp - 0x20], edx
movsx eax, byte [str.ZFreeSid]
not eax
movzx ecx, byte [ebp - 1]
imul eax, ecx
cdq
mov ebx, eax
movzx eax, byte [ebp - 3]
cdq
push edx
push eax
mov edx, dword [0x100ad164]
push edx
mov eax, dword [0x100ad160]
push eax
call fcn.1007a8a0
sub ebx, eax
mov byte [str.px_04X_], bl
imul ecx, dword [ebp - 0x28], 0xe0db68b1
mov word [0x100ad0f0], cx
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x954], edx
cmp dword [ebp - 0x954], 0
je 0x100126e1
jmp 0x100127a1
movzx eax, byte [ebp - 5]
test eax, eax
jne 0x100126f5
mov dword [ebp - 0x48c], 1
jmp 0x100126ff
mov dword [ebp - 0x48c], 0
mov eax, dword [ebp - 0x48c]
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [ebp - 5]
cdq
add eax, dword [ebp - 0x50]
adc edx, dword [ebp - 0x4c]
not eax
not edx
xor ecx, eax
xor esi, edx
not ecx
not esi
movsx eax, word [0x100ad0c4]
not eax
cdq
add eax, dword [0x100ad0f8]
adc edx, dword [0x100ad0fc]
movzx edi, byte [ebp - 3]
sub edi, dword [0x100ad0e0]
xor ebx, ebx
add eax, edi
adc edx, ebx
add ecx, eax
adc esi, edx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], esi
movsx edx, word [0x100ad0bc]
mov eax, 0xea
sub eax, edx
cdq
mov esi, eax
movzx eax, word [ebp - 0x18]
cdq
mov ecx, dword [ebp - 0x38]
mov edi, dword [ebp - 0x34]
push edx
push eax
push edi
push ecx
call fcn.1007a8a0
sub esi, eax
mov edx, dword [0x100ad108]
mov eax, dword [0x100ad10c]
mov dword [ebp - 0x11cc], eax
mov ecx, 0xc8
sub ecx, edx
mov eax, dword [ebp - 0x28]
cdq
or ecx, eax
add esi, ecx
not esi
mov word [0x100ad0b8], si
xor edx, edx
mov byte [ebp - 0x74], dl
lea ecx, [ebp - 0x74]
call fcn.10001b30
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xc4]
movzx ecx, byte [eax + 0xc]
test ecx, ecx
je 0x100127e6
push 0x1010101
push 0x7fb90745
push 0
push 0xc
mov edx, dword [ebp - 0xc4]
push edx
call fcn.10040e80
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0xc], 0
mov ecx, dword [ebp - 0xc4]
push ecx
push 0
push 0
call fcn.10001650
call eax
mov dword [ebp - 0x960], eax
movsx edx, word [0x100ad0e4]
test edx, edx
je 0x10012906
movzx eax, byte [ebp - 6]
movzx ecx, byte [ebp - 5]
cmp eax, ecx
je 0x10012825
mov dword [ebp - 0x490], 1
jmp 0x1001282f
mov dword [ebp - 0x490], 0
movzx edx, byte [ebp - 6]
cmp edx, 0xb
je 0x10012844
mov dword [ebp - 0x494], 1
jmp 0x1001284e
mov dword [ebp - 0x494], 0
mov eax, dword [ebp - 0x490]
cmp eax, dword [ebp - 0x494]
jg 0x10012901
mov eax, dword [ebp - 0x28]
cdq
mov dword [ebp - 0xe50], eax
mov dword [ebp - 0xe4c], edx
mov ecx, dword [ebp - 0xe50]
cmp ecx, dword [ebp - 0x48]
jne 0x10012892
mov edx, dword [ebp - 0xe4c]
cmp edx, dword [ebp - 0x44]
jne 0x10012892
mov dword [ebp - 0x498], 1
jmp 0x1001289c
mov dword [ebp - 0x498], 0
cmp dword [ebp - 0x28], 0x14
jne 0x100128ae
mov dword [ebp - 0x49c], 1
jmp 0x100128b8
mov dword [ebp - 0x49c], 0
mov eax, dword [ebp - 0x498]
cmp eax, dword [ebp - 0x49c]
jl 0x10012901
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x150], eax
cmp dword [ebp - 0x150], 0
je 0x10012901
mov ecx, dword [ebp - 0x150]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp - 0x11d0], eax
mov edx, dword [ebp - 0x150]
push edx
call dword [sym.imp.USER32.dll_ArrangeIconicWindows]
mov dword [ebp - 0x11d4], eax
jmp 0x10012a52
movsx eax, word [0x100ad0cc]
test eax, eax
je 0x10012997
mov dword [0x100ad0b4], 0xc9b3
movsx ecx, word [ebp - 0xc]
movsx edx, word [0x100ad0b0]
movsx eax, byte [0x100ad043]
add edx, eax
sub ecx, edx
mov dword [ebp - 0x28], ecx
mov ecx, 0x399f
mov word [ebp - 0x1c], cx
cmp dword [0x100ad15c], 0
jne 0x10012956
mov dword [ebp - 0x4a0], 1
jmp 0x10012960
mov dword [ebp - 0x4a0], 0
movsx edx, byte [0x100ad00e]
add edx, dword [ebp - 0x28]
movzx eax, byte [0x100ad072]
add eax, dword [ebp - 0x4a0]
sub edx, eax
mov word [ebp - 0x18], dx
mov ecx, dword [ebp - 0x48]
add ecx, 0xfa24
mov edx, dword [ebp - 0x44]
adc edx, 0
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
jmp 0x10012a52
movsx eax, byte [ebp - 4]
movzx ecx, word [0x100ad0b8]
or eax, ecx
cdq
mov ecx, eax
mov esi, edx
movzx eax, word [ebp - 0x10]
cdq
add eax, dword [ebp - 0x48]
adc edx, dword [ebp - 0x44]
mov dword [ebp - 0xe58], ecx
mov dword [ebp - 0xe54], esi
mov dword [ebp - 0xe60], eax
mov dword [ebp - 0xe5c], edx
mov edx, dword [ebp - 0xe54]
cmp edx, dword [ebp - 0xe5c]
jg 0x10012a52
jl 0x100129ea
mov eax, dword [ebp - 0xe58]
cmp eax, dword [ebp - 0xe60]
ja 0x10012a52
movsx ecx, byte [str.E2_wcsrchr]
movsx edx, word [0x100ad0c0]
xor ecx, edx
movzx eax, word [ebp - 0x18]
sub ecx, eax
mov byte [ebp - 1], cl
mov ecx, dword [0x100ad108]
mov edx, dword [0x100ad10c]
mov dword [ebp - 0x11d8], edx
add ecx, 0x57aa
mov byte [0x100ad00e], cl
movsx eax, word [0x100ad0c4]
movsx ecx, word [0x100ad0e4]
imul eax, ecx
movsx edx, word [0x100ad0c4]
add edx, eax
mov word [0x100ad0c4], dx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x11dc], ecx
mov word [ebp - 0xc], ax
imul edx, dword [ebp - 0x4a4], 0x17d
mov eax, dword [ebp - 0x4a4]
sub eax, dword [ebp - 0x958]
sub edx, eax
cmp dword [ebp - 0x95c], edx
je 0x100146c8
movsx ecx, byte [0x100ad037]
xor ecx, 0x766c48cb
mov word [0x100ad0bc], cx
mov edx, dword [ebp - 0x50]
or edx, dword [ebp - 0x4c]
je 0x10012aa1
movzx eax, word [0x100ad0ac]
mov dword [ebp - 0x4a8], eax
jmp 0x10012aae
movzx ecx, byte [str.px_04X_]
mov dword [ebp - 0x4a8], ecx
mov edx, dword [ebp - 0x4a8]
mov dword [0x100ad0e0], edx
mov eax, dword [0x100ad150]
sub eax, 0x3ee88c55
mov ecx, dword [0x100ad154]
sbb ecx, 0x63c8b
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
mov eax, dword [0x100ad15c]
cdq
push 0x61ac8
push 0xe62eae98
push edx
push eax
call fcn.1007a8a0
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
xor edx, edx
sub edx, dword [ebp - 0x48]
mov eax, 0
sbb eax, dword [ebp - 0x44]
mov dword [ebp - 0xe68], edx
mov dword [ebp - 0xe64], eax
mov ecx, dword [ebp - 0xe68]
or ecx, dword [ebp - 0xe64]
jne 0x10012b26
mov dword [ebp - 0x4ac], 1
jmp 0x10012b30
mov dword [ebp - 0x4ac], 0
movzx edx, word [0x100ad120]
add edx, dword [ebp - 0x4ac]
mov byte [ebp - 2], dl
movzx eax, byte [ebp - 1]
movsx ecx, byte [0x100ad042]
lea edx, [ecx + eax + 0x53]
mov byte [0x100ad042], dl
xor eax, eax
mov dword [0x100ad0d8], 0x83
mov dword [0x100ad0dc], eax
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
add ecx, 0x8d0fccf1
adc edx, 0
mov dword [0x100ad150], ecx
mov dword [0x100ad154], edx
movzx eax, byte [ebp - 5]
mov ecx, dword [ebp - 0x20]
xor ecx, eax
mov dword [ebp - 0x20], ecx
mov edx, dword [0x100ad110]
add edx, 0x151e
mov byte [0x100ad037], dl
cmp dword [0x100ad0c8], 0
jne 0x10012bb4
mov dword [ebp - 0x4b0], 1
jmp 0x10012bbe
mov dword [ebp - 0x4b0], 0
movzx eax, word [0x100ad0ac]
mov ecx, dword [ebp - 0x4b0]
sub ecx, eax
jne 0x10012bdb
mov dword [ebp - 0x4b4], 1
jmp 0x10012be5
mov dword [ebp - 0x4b4], 0
movzx edx, byte [ebp - 6]
mov eax, dword [ebp - 0x4b4]
sub eax, edx
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
movzx eax, word [ebp - 0x1c]
movsx ecx, byte [0x100ad00d]
add eax, ecx
movzx edx, word [ebp - 0x1c]
sub edx, eax
mov word [ebp - 0x1c], dx
mov eax, dword [ebp - 0x58]
add eax, 0x66820a00
mov dword [0x100ad0b4], eax
movzx eax, word [ebp - 0x10]
add eax, 0x6235
cdq
mov dword [ebp - 0xe70], eax
mov dword [ebp - 0xe6c], edx
mov ecx, dword [0x100ad160]
cmp ecx, dword [ebp - 0xe70]
jne 0x10012f06
mov edx, dword [0x100ad164]
cmp edx, dword [ebp - 0xe6c]
jne 0x10012f06
mov eax, dword [0x100ad15c]
cdq
add eax, dword [ebp - 0x48]
adc edx, dword [ebp - 0x44]
mov dword [ebp - 0xe78], eax
mov dword [ebp - 0xe74], edx
cmp dword [ebp - 0xe78], 1
jne 0x10012f06
cmp dword [ebp - 0xe74], 0
jne 0x10012f06
movzx eax, word [ebp - 0x18]
cdq
mov ecx, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
mov dword [ebp - 0xe80], eax
mov dword [ebp - 0xe7c], edx
mov dword [ebp - 0xe88], ecx
mov dword [ebp - 0xe84], esi
mov edx, dword [ebp - 0xe7c]
cmp edx, dword [ebp - 0xe84]
ja 0x10012cdb
jb 0x10012ccf
mov eax, dword [ebp - 0xe80]
cmp eax, dword [ebp - 0xe88]
jae 0x10012cdb
mov dword [ebp - 0x4b8], 1
jmp 0x10012ce5
mov dword [ebp - 0x4b8], 0
movzx ecx, word [ebp - 0x18]
cmp ecx, 0x42
jge 0x10012cfa
mov dword [ebp - 0x4bc], 1
jmp 0x10012d04
mov dword [ebp - 0x4bc], 0
mov edx, dword [ebp - 0x4b8]
cmp edx, dword [ebp - 0x4bc]
jle 0x10012dc2
mov dword [ebp - 0x154], 0x24ff
mov eax, dword [ebp - 0x20]
sub eax, 0x62423266
mov word [0x100ad0d0], ax
mov dword [0x100ad118], 0x325c19b3
cmp dword [0x100ad0a8], 0
jne 0x10012d4d
movzx ecx, word [0x100ad0ac]
movsx edx, word [0x100ad0cc]
cmp ecx, edx
jl 0x10012e66
mov eax, 0x6235
mov word [0x100ad0b0], ax
mov dword [ebp - 0x28], 4
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
push edx
push ecx
mov eax, dword [0x100ad0fc]
push eax
mov ecx, dword [0x100ad0f8]
push ecx
call fcn.1007a8a0
mov ecx, dword [0x100ad0f8]
sub ecx, eax
mov eax, dword [0x100ad0fc]
sbb eax, edx
mov dword [0x100ad0f8], ecx
mov dword [0x100ad0fc], eax
movzx ecx, word [0x100ad0ac]
sub ecx, dword [0x100ad100]
movsx edx, byte [ebp - 4]
xor ecx, edx
jne 0x10012f75
xor eax, eax
mov dword [ebp - 0xe90], 1
mov dword [ebp - 0xe8c], eax
jmp 0x10012f80
xorps xmm0, xmm0
movlpd qword [ebp - 0xe90], xmm0
movsx ecx, word [0x100ad0bc]
test ecx, ecx
jne 0x10012f97
mov dword [ebp - 0x4cc], 1
jmp 0x10012fa1
mov dword [ebp - 0x4cc], 0
movzx eax, word [ebp - 0x18]
add eax, dword [ebp - 0x4cc]
cdq
mov ecx, eax
movsx eax, word [0x100ad0b0]
cdq
mov edx, dword [0x100ad110]
not edx
sub eax, edx
not eax
or ecx, eax
mov eax, dword [ebp - 0xe90]
sub eax, ecx
mov word [ebp - 0x14], ax
movzx ecx, word [0x100ad0b8]
imul edx, ecx, 0x1eafcd2f
test edx, edx
jne 0x10012ff5
xor eax, eax
mov dword [ebp - 0xea0], 1
mov dword [ebp - 0xe9c], eax
jmp 0x10013000
xorps xmm0, xmm0
movlpd qword [ebp - 0xea0], xmm0
movzx eax, byte [ebp - 3]
cdq
mov ecx, dword [0x100ad138]
sub ecx, eax
mov esi, dword [0x100ad13c]
sbb esi, edx
movsx eax, word [0x100ad0c4]
movzx edx, byte [ebp - 5]
sub eax, edx
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0xe98], ecx
mov dword [ebp - 0xe94], esi
mov eax, dword [ebp - 0xe98]
or eax, dword [ebp - 0xe94]
jne 0x10013055
xor ecx, ecx
mov dword [ebp - 0xea8], 1
mov dword [ebp - 0xea4], ecx
jmp 0x10013060
xorps xmm0, xmm0
movlpd qword [ebp - 0xea8], xmm0
mov eax, dword [0x100ad0c8]
cdq
sub eax, dword [ebp - 0x58]
not eax
sub eax, dword [ebp - 0xea0]
or eax, dword [ebp - 0xea8]
mov dword [ebp - 0x24], eax
imul edx, dword [ebp - 0x28], 0xb19f2322
xor eax, eax
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x48]
sub ecx, 0x3c
mov byte [0x100ad072], cl
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x4d0], edx
cmp dword [ebp - 0x4d0], 4
ja case.default.0x100130b1
mov eax, dword [ebp - 0x4d0]
jmp dword [eax*4 + 0x10019af4]
mov ecx, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
movsx eax, word [0x100ad0b0]
cdq
add eax, dword [ebp - 0x48]
adc edx, dword [ebp - 0x44]
mov dword [ebp - 0xeb8], ecx
mov dword [ebp - 0xeb4], esi
mov dword [ebp - 0xec0], eax
mov dword [ebp - 0xebc], edx
mov edx, dword [ebp - 0xeb8]
cmp edx, dword [ebp - 0xec0]
jne 0x1001386e
mov eax, dword [ebp - 0xeb4]
cmp eax, dword [ebp - 0xebc]
jne 0x1001386e
movsx edx, byte [0x100ad073]
test edx, edx
jne 0x10013885
movzx ecx, byte [ebp - 6]
test ecx, ecx
je 0x1001473a
movzx edx, byte [ebp - 1]
test edx, edx
je 0x100146e3
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x530], eax
jmp 0x100146f0
movsx ecx, word [0x100ad0d0]
mov dword [ebp - 0x530], ecx
mov dl, byte [ebp - 0x530]
mov byte [ebp - 2], dl
mov eax, 1
imul ecx, eax, 0x5730
mov dl, byte [ebp - 1]
mov byte [ecx + 0x100d57e0], dl
movzx eax, word [0x100ad0ac]
cdq
push 0x1925a
push 0x33601358
push edx
push eax
call fcn.1007a8a0
mov byte [ebp - 6], al
xor eax, eax
mov dword [ebp - 0x38], 0xf9
mov dword [ebp - 0x34], eax
jmp 0x100147e5
movsx ecx, word [0x100ad0b0]
not ecx
test ecx, ecx
je 0x10014795
movsx eax, word [0x100ad0c4]
cdq
xor eax, 0x546f0746
mov byte [ebp - 2], al
movzx edx, word [0x100ad0f0]
movsx eax, word [0x100ad0c4]
imul edx, eax
mov word [0x100ad0f0], dx
mov eax, dword [ebp - 0x28]
cdq
mov ecx, dword [0x100ad0fc]
push ecx
mov ecx, dword [0x100ad0f8]
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 0x100147e5
cmp dword [ebp - 0x24], 0
je 0x100147e5
mov edx, dword [ebp - 0x50]
sub edx, 0x4a21e4c1
mov byte [0x100ad043], dl
movzx eax, word [ebp - 0x1c]
add eax, 0xea48
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
movzx eax, byte [str.px_04X_]
movsx ecx, word [ebp - 0xc]
imul eax, ecx
movzx edx, word [0x100ad120]
sub eax, edx
mov dword [0x100ad15c], eax
mov eax, 0x28905
mov dword [ebp - 0x40], 0xfeb1580c
mov dword [ebp - 0x3c], eax
xor ecx, ecx
mov byte [ebp - 0x62], cl
lea ecx, [ebp - 0x62]
call fcn.10001fc0
mov dword [ebp - 0xcc], eax
mov edx, dword [ebp - 0xcc]
movzx eax, byte [edx + 8]
test eax, eax
je 0x1001482a
push 0x1010101
push 0x7daf75a1
push 0
push 8
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.10040e80
mov edx, dword [ebp - 0xcc]
mov byte [edx + 8], 0
mov eax, dword [ebp - 0xcc]
push eax
push 0
push 0
call fcn.10001650
call eax
mov dword [ebp - 0x968], eax
mov dword [0x100ad140], 0x25bdbd9c
movzx ecx, word [ebp - 0x1c]
movzx edx, byte [0x100ad0a6]
cmp ecx, edx
jg 0x10014867
mov dword [ebp - 0x534], 1
jmp 0x10014871
mov dword [ebp - 0x534], 0
movzx eax, word [ebp - 0x1c]
cmp eax, 2
jg 0x10014886
mov dword [ebp - 0x538], 1
jmp 0x10014890
mov dword [ebp - 0x538], 0
mov ecx, dword [ebp - 0x534]
cmp ecx, dword [ebp - 0x538]
je 0x100148c1
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], eax
mov ecx, 0x28fd
mov word [0x100ad0b8], cx
mov dl, byte [0x100adbec]
mov byte [ebp - 1], dl
jmp 0x10014917
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xf48], eax
mov dword [ebp - 0xf44], ecx
mov edx, dword [ebp - 0xf48]
or edx, dword [ebp - 0xf44]
jne 0x10014917
movsx eax, word [ebp - 0xc]
cdq
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], edx
movzx eax, word [0x100ad0b8]
mov ecx, dword [0x100ad118]
sub ecx, eax
mov edx, dword [0x100ad118]
sub edx, ecx
mov dword [0x100ad118], edx
mov eax, 0x8b
mov word [ebp - 0xc], ax
movsx ecx, byte [0x100ad09a]
mov edx, dword [ebp - 0x20]
add edx, 0xb7
cmp ecx, edx
jne 0x10014b5c
movzx eax, byte [str.px_04X_]
cdq
add eax, dword [ebp - 0x50]
adc edx, dword [ebp - 0x4c]
mov dword [ebp - 0xf50], eax
mov dword [ebp - 0xf4c], edx
cmp dword [ebp - 0xf50], 1
jne 0x10014b5c
cmp dword [ebp - 0xf4c], 0
jne 0x10014b5c
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0xf58], eax
mov dword [ebp - 0xf54], ecx
mov edx, dword [ebp - 0x44]
cmp edx, dword [ebp - 0xf54]
jl 0x10014abe
movzx ecx, word [ebp - 0x18]
sub ecx, 0x6d99e92e
mov word [0x100ad120], cx
mov edx, dword [ebp - 0x30]
sub edx, dword [0x100ad0f8]
mov eax, dword [ebp - 0x2c]
sbb eax, dword [0x100ad0fc]
push eax
push edx
mov ecx, dword [ebp - 0x2c]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.1007a8a0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
movsx eax, byte [ebp - 2]
cdq
mov ecx, dword [0x100ad148]
mov esi, dword [0x100ad14c]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [0x100ad148], eax
mov dword [0x100ad14c], edx
movzx eax, byte [0x100ad072]
cdq
push edx
push eax
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp - 0x30]
push eax
call fcn.1007a8a0
push edx
push eax
mov ecx, dword [ebp - 0x2c]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.1007a8a0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x164]
add eax, 0x24
mov ecx, dword [ebp - 0x164]
sub ecx, dword [ebp - 0x53c]
sub eax, ecx
mov edx, dword [ebp - 0x53c]
xor edx, dword [ebp - 0x164]
cmp eax, edx
je 0x10016f51
movzx eax, word [ebp - 0x14]
cdq
push 0x46031
push 0xbe35daf8
push edx
push eax
call fcn.1007a8a0
mov dword [0x100ad150], eax
mov dword [0x100ad154], edx
movsx eax, word [0x100ad130]
cdq
mov ecx, 8
imul ecx, ecx, 0x63c9
mov dword [ecx + 0x10100490], eax
mov dword [ecx + 0x10100494], edx
mov edx, dword [0x100ad140]
add edx, 0x84
xor eax, eax
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], eax
movzx ecx, word [0x100ad0b8]
movzx edx, word [ebp - 0x14]
imul ecx, edx
movzx eax, word [0x100ad0b8]
sub eax, ecx
mov word [0x100ad0b8], ax
mov ecx, dword [0x100ad110]
add ecx, 0xe86cb681
mov dword [ebp - 0x28], ecx
mov edx, 0x336
mov word [0x100ad11c], dx
mov dword [ebp - 0x168], 0
jmp 0x10014cb7
cmp dword [ebp - 0x168], 0x365
jge 0x10014e98
movzx edx, byte [ebp - 3]
test edx, edx
jne 0x10016f65
mov dword [ebp - 0x5e8], 1
jmp 0x10016f6f
mov dword [ebp - 0x5e8], 0
movsx eax, word [0x100ad0b0]
test eax, eax
jne 0x10016f86