Function at 0x10040f50
Capabilities:
Authenticate hmac
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xce8
push ebx
push esi
push edi
mov eax, dword [0x100ad108]
mov ecx, dword [0x100ad10c]
mov dword [ebp - 0xc60], ecx
mov dword [ebp - 0xc64], eax
mov edx, 0x9ad4
mov word [ebp - 0x24], dx
mov eax, 0x1df11
mov dword [ebp - 0x4c], 0x259a96cb
mov dword [ebp - 0x48], eax
mov cx, word [0x100ad0b8]
mov byte [ebp - 5], cl
mov dx, word [0x100ad0e8]
mov word [ebp - 0x10], dx
mov eax, 0xf7
mov word [ebp - 0x18], ax
mov cx, word [0x100ad0e4]
mov word [ebp - 0x14], cx
mov byte [ebp - 2], pe_nt_image_headers32
mov dl, byte [0x100ad130]
mov byte [ebp - 4], dl
mov ax, word [0x100ad0b0]
mov word [ebp - 0x28], ax
mov cl, byte [0x100ad0c0]
mov byte [ebp - 1], cl
mov dword [ebp - 0x30], 0x3e42
mov edx, 0x6b
mov word [ebp - 0x20], dx
mov eax, 0x154e
mov word [ebp - 0x1c], ax
mov byte [ebp - 3], 0x84
mov dword [ebp - 0x50], 0xd623969d
xor ecx, ecx
mov dword [ebp - 0x38], 0x693b49e1
mov dword [ebp - 0x34], ecx
xor edx, edx
mov dword [ebp - 0x40], 0x1c3c5db9
mov dword [ebp - 0x3c], edx
mov eax, 0x3cc9
mov word [ebp - 0xc], ax
mov cx, word [0x100ad0e4]
mov word [ebp - 0x2c], cx
movsx edx, word [0x100ad0c0]
mov dword [ebp - 0x44], edx
mov al, byte [0x100ad100]
mov byte [ebp - 0x85], al
mov eax, dword [0x100ad15c]
cdq
mov dword [ebp - 0xc34], eax
mov dword [ebp - 0xc30], edx
mov cl, byte [0x100ad138]
mov byte [ebp - 0x86], cl
mov dx, word [0x100ad0c4]
mov word [ebp - 0x670], dx
mov byte [ebp - 0x79], 0xf3
mov eax, dword [0x100ad0e0]
mov word [ebp - 0x674], ax
movzx eax, byte [0x100ad0a6]
cdq
mov dword [ebp - 0xc3c], eax
mov dword [ebp - 0xc38], edx
mov byte [ebp - 0x7a], 0x9a
movsx eax, byte [0x100ad00e]
cdq
mov dword [ebp - 0xc44], eax
mov dword [ebp - 0xc40], edx
movzx ecx, word [0x100ad0ac]
mov dword [ebp - 0xc68], ecx
mov dword [ebp - 0xc6c], 0xf0b3
mov edx, 0xffff9e1e
mov word [ebp - 0x920], dx
mov dword [ebp - 0xc70], 0x7a2c
mov eax, 0xd61
mov word [ebp - 0x744], ax
movsx ecx, word [0x100ad0c4]
mov dword [ebp - 0xae8], ecx
movsx dx, byte [0x100ad00e]
mov word [ebp - 0x91c], dx
mov eax, dword [0x100ad0f8]
mov ecx, dword [0x100ad0fc]
mov dword [ebp - 0xc4c], eax
mov dword [ebp - 0xc48], ecx
movsx edx, byte [0x100ad043]
mov dword [ebp - 0xaec], edx
mov ax, word [0x100ad0ac]
mov word [ebp - 0x918], ax
mov ecx, dword [0x100adbec]
mov dword [ebp - 0x90], ecx
mov edx, dword [0x100adbec]
mov dword [0x100ad118], edx
movzx eax, byte [str.px_04X_]
cdq
sub eax, 0x1dd94f53
mov word [0x100ad0d0], ax
movzx eax, byte [0x100ad072]
xor eax, 0xab80
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov ax, word [ebp - 0x24]
add ax, 1
mov word [ebp - 0x24], ax
mov ecx, dword [ebp - 0x90]
add ecx, 0x22a
mov dword [ebp - 0x690], ecx
movsx edx, byte [ebp - 5]
movsx eax, word [ebp - 0x14]
imul edx, eax
mov byte [ebp - 5], dl
movsx ecx, byte [ebp - 5]
test ecx, ecx
je 0x100411a8
movzx edx, byte [0x100ad072]
mov dword [ebp - 0x13c], edx
jmp 0x100411b2
movsx eax, byte [ebp - 1]
mov dword [ebp - 0x13c], eax
mov cl, byte [ebp - 0x13c]
mov byte [ebp - 3], cl
movsx edx, word [ebp - 0x28]
movsx eax, byte [str.E2_wcsrchr]
sub edx, eax
movsx ecx, word [ebp - 0x28]
add ecx, edx
mov word [ebp - 0x28], cx
mov edx, dword [ebp - 0x90]
add edx, 0x4be
mov dword [ebp - 0xaf0], edx
mov dword [ebp - 0x8c], 0x33
movsx eax, byte [ebp - 2]
cdq
push 0x91c71
push 0x459cd61
push edx
push eax
call fcn.1007a8a0
mov byte [0x100ad0a6], al
movsx eax, word [ebp - 0xc]
cdq
push 0x5b5da
push 0x417e24ef
push edx
push eax
call fcn.1007a8a0
mov byte [ebp - 4], al
movsx eax, word [ebp - 0x14]
xor eax, dword [ebp - 0x44]
mov dword [0x100ad15c], eax
mov ecx, dword [0x100ad108]
mov edx, dword [0x100ad10c]
mov dword [ebp - 0x950], ecx
mov dword [ebp - 0x94c], edx
mov eax, dword [ebp - 0x950]
or eax, dword [ebp - 0x94c]
je 0x100412a5
movsx ecx, word [0x100ad130]
imul edx, ecx, 0xcbf6f34c
xor eax, eax
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
add ecx, edx
adc esi, eax
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], esi
movsx edx, word [ebp - 0x28]
sub edx, 0x314
mov word [ebp - 0x24], dx
mov al, byte [0x100ad158]
mov byte [ebp - 1], al
mov ecx, dword [0x100ad0f8]
add ecx, 0x611b41df
movsx eax, word [0x100ad0cc]
cdq
sub eax, ecx
mov word [0x100ad0cc], ax
mov edx, dword [ebp - 0x8c]
add edx, 1
mov dword [ebp - 0x8c], edx
cmp dword [ebp - 0x8c], 0x17e8
jl 0x1004122e
mov eax, dword [ebp - 0x90]
add eax, 0x2b3
mov dword [ebp - 0x3e4], eax
movsx eax, word [0x100ad0b0]
cdq
mov ecx, eax
sub ecx, dword [ebp - 0x40]
movsx eax, word [0x100ad0b0]
cdq
sub eax, ecx
mov word [0x100ad0b0], ax
mov edx, 2
shl edx, 2
movsx eax, word [edx + 0x101e98d8]
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov eax, dword [0x100adbec]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], 0
jmp 0x1004132e
mov ecx, dword [ebp - 0x94]
add ecx, 2
mov dword [ebp - 0x94], ecx
cmp dword [ebp - 0x94], 0x116
jge 0x100414c2
mov edx, dword [0x100ad0f8]
or edx, dword [0x100ad0fc]
je 0x1004143d
movsx eax, word [0x100ad0e4]
test eax, eax
je 0x100413e1
movsx ecx, byte [0x100ad042]
add ecx, 0x6aaf
mov byte [ebp - 1], cl
movsx eax, word [0x100ad0bc]
cdq
mov ecx, eax
mov esi, edx
movsx eax, byte [0x100ad09a]
cdq
sub eax, dword [0x100ad0e8]
sbb edx, dword [0x100ad0ec]
not eax
not edx
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov eax, dword [0x100ad158]
cdq
add eax, 0xbdc294a6
mov word [0x100ad11c], ax
movsx edx, byte [ebp - 2]
imul eax, edx, 0x65
mov word [ebp - 0x1c], ax
movzx ecx, word [ebp - 0x24]
movzx edx, word [ebp - 0x20]
imul ecx, edx
movzx eax, byte [0x100ad00f]
not eax
imul ecx, eax
or ecx, 0xffffff04
mov word [ebp - 0x2c], cx
jmp 0x1004143b
movzx ecx, byte [ebp - 3]
movzx edx, byte [0x100ad00f]
sub ecx, edx
mov byte [0x100ad00d], cl
movsx eax, byte [ebp - 5]
test eax, eax
je 0x1004140b
movsx ecx, word [0x100ad0cc]
mov dword [ebp - 0x140], ecx
jmp 0x10041415
movsx edx, byte [ebp - 2]
mov dword [ebp - 0x140], edx
mov eax, dword [ebp - 0x140]
cdq
mov dword [0x100ad138], eax
mov dword [0x100ad13c], edx
movsx eax, word [ebp - 0xc]
add eax, dword [0x100ad118]
movsx ecx, word [ebp - 0xc]
sub ecx, eax
mov word [ebp - 0xc], cx
jmp 0x100414ab
movsx eax, word [0x100ad0c4]
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movsx edx, byte [0x100ad00e]
add edx, dword [0x100ad0b4]
mov byte [0x100ad00e], dl
movsx eax, byte [ebp - 4]
cdq
xor eax, dword [0x100ad160]
xor edx, dword [0x100ad164]
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
movsx eax, word [ebp - 0x28]
movsx ecx, word [0x100ad0cc]
imul eax, ecx
not eax
mov byte [0x100ad00f], al
movsx edx, word [0x100ad0cc]
add edx, 0xc0
movsx eax, word [0x100ad0cc]
sub eax, edx
mov word [0x100ad0cc], ax
mov cx, word [0x100ad0e4]
add cx, 1
mov word [0x100ad0e4], cx
jmp 0x1004131f
mov edx, dword [ebp - 0x98]
add edx, 0x1b92
mov dword [ebp - 0x928], edx
movsx eax, byte [0x100ad09a]
movsx ecx, word [ebp - 0x14]
cmp eax, ecx
jle 0x100414ef
mov dword [ebp - 0x144], 1
jmp 0x100414f9
mov dword [ebp - 0x144], 0
movsx edx, byte [0x100ad09a]
cmp edx, 3
jle 0x10041511
mov dword [ebp - 0x148], 1
jmp 0x1004151b
mov dword [ebp - 0x148], 0
mov eax, dword [ebp - 0x144]
cmp eax, dword [ebp - 0x148]
jg 0x10041576
movzx eax, byte [ebp - 3]
cdq
add eax, dword [0x100ad110]
adc edx, dword [0x100ad114]
or eax, dword [0x100ad110]
or edx, dword [0x100ad114]
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
movzx ecx, word [ebp - 0x24]
add ecx, 0x49df5e3c
mov byte [ebp - 1], cl
movzx edx, byte [ebp - 3]
movsx eax, word [ebp - 0x10]
xor edx, eax
movzx ecx, byte [ebp - 3]
sub ecx, edx
mov byte [ebp - 3], cl
jmp 0x10041619
movsx eax, byte [ebp - 5]
cdq
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0xaf4], ecx
add eax, edx
mov byte [ebp - 5], al
movzx edx, word [ebp - 0x18]
movsx eax, word [ebp - 0x14]
imul edx, eax
movzx ecx, word [ebp - 0x18]
add ecx, edx
mov word [ebp - 0x18], cx
mov eax, dword [0x100ad0a8]
cdq
push edx
push eax
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x40]
push eax
call fcn.1007a8a0
add eax, dword [ebp - 0x40]
adc edx, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movzx eax, word [ebp - 0x20]
cdq
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0xaf8], edx
sub eax, ecx
mov word [ebp - 0x20], ax
movsx eax, word [ebp - 0x2c]
test eax, eax
jne 0x100415ed
mov dword [ebp - 0x14c], 1
jmp 0x100415f7
mov dword [ebp - 0x14c], 0
movzx ecx, byte [ebp - 3]
mov edx, dword [ebp - 0x14c]
lea eax, [edx + ecx + 0xc987071]
mov dword [0x100ad0a8], eax
mov ecx, 0x7de6
mov word [0x100ad0b0], cx
mov edx, dword [ebp - 0x98]
add edx, 0xd453
mov dword [ebp - 0x924], edx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessorNumber]
mov word [ebp - 0x18], ax
mov eax, dword [ebp - 0x98]
add eax, 0x314
mov dword [ebp - 0xafc], eax
xor ecx, ecx
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x3c], ecx
mov byte [0x100ad09a], 0xf7
xor edx, edx
mov dword [0x100ad0d8], 4
mov dword [0x100ad0dc], edx
movzx eax, word [0x100ad120]
movsx ecx, word [0x100ad11c]
add eax, ecx
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x44]
add edx, 0x8b
xor eax, eax
mov dword [0x100ad128], edx
mov dword [0x100ad12c], eax
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x524], ecx
mov dword [ebp - 0x520], edx
mov eax, dword [ebp - 0x524]
or eax, dword [ebp - 0x520]
je 0x100416cf
cmp dword [ebp - 0x524], 1
jne 0x100416ca
cmp dword [ebp - 0x520], 0
je 0x10041796
jmp 0x100417f0
imul ecx, dword [ebp - 0x30], 0x83ce
movsx edx, word [0x100ad11c]
add edx, ecx
mov word [0x100ad11c], dx
movsx eax, word [ebp - 0x14]
cdq
mov ecx, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov ecx, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
sub ecx, eax
sbb esi, edx
mov dword [0x100ad0d8], ecx
mov dword [0x100ad0dc], esi
movzx edx, word [ebp - 0x24]
xor edx, 0x8f
mov dword [0x100ad0a8], edx
movsx eax, word [0x100ad0bc]
imul eax, dword [ebp - 0x30]
movsx ecx, word [0x100ad0bc]
sub ecx, eax
mov word [0x100ad0bc], cx
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x48]
sub edx, dword [ebp - 0x4c]
sbb eax, ecx
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
or ecx, edx
or esi, eax
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], esi
movzx edx, word [ebp - 0x20]
test edx, edx
je 0x1004177c
movsx eax, word [0x100ad0c0]
mov dword [ebp - 0x150], eax
jmp 0x10041788
mov ecx, dword [0x100ad140]
mov dword [ebp - 0x150], ecx
mov dl, byte [ebp - 0x150]
mov byte [0x100ad072], dl
jmp 0x100417f0
movsx eax, byte [str.ZFreeSid]
not eax
mov ecx, 0x860baf25
sub ecx, eax
mov dword [0x100ad118], ecx
movzx edx, byte [0x100ad00f]
add edx, 0x5e5d1fec
mov word [ebp - 0xc], dx
movsx eax, word [ebp - 0xc]
sub eax, 0xdd7e
mov word [ebp - 0x10], ax
mov dword [ebp - 0x50], 0xc808
push 0
push 0xc225
mov ecx, dword [0x100ad13c]
push ecx
mov edx, dword [0x100ad138]
push edx
call fcn.1007a8a0
mov byte [0x100ad00e], al
mov byte [0x100ad073], 0x77
movsx eax, byte [0x100ad043]
test eax, eax
je 0x10041a6f
movzx ecx, word [0x100ad0f0]
cmp ecx, dword [ebp - 0x50]
je 0x10041a19
movsx edx, word [ebp - 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov byte [ebp - 1], al
movsx eax, byte [ebp - 1]
test eax, eax
jg 0x10041838
mov dword [ebp - 0x154], 1
jmp 0x10041842
mov dword [ebp - 0x154], 0
movsx ecx, byte [ebp - 1]
cmp ecx, 0xc
jg 0x10041857
mov dword [ebp - 0x158], 1
jmp 0x10041861
mov dword [ebp - 0x158], 0
mov edx, dword [ebp - 0x154]
cmp edx, dword [ebp - 0x158]
jne 0x1004191d
mov eax, dword [0x100ad0d8]
mov ecx, dword [0x100ad0dc]
mov dword [ebp - 0x958], eax
mov dword [ebp - 0x954], ecx
mov edx, dword [ebp - 0x958]
or edx, dword [ebp - 0x954]
je 0x100418b1
mov eax, dword [0x100ad138]
mov ecx, dword [0x100ad13c]
mov dword [ebp - 0x594], eax
mov dword [ebp - 0x590], ecx
jmp 0x100418c2
movzx eax, word [ebp - 0x24]
cdq
mov dword [ebp - 0x594], eax
mov dword [ebp - 0x590], edx
mov dl, byte [ebp - 0x594]
mov byte [0x100ad00e], dl
movsx eax, word [0x100ad0e4]
not eax
mov byte [ebp - 4], al
movsx eax, byte [ebp - 1]
cdq
add eax, 0xb6f0007e
mov byte [ebp - 2], al
movzx ecx, word [0x100ad0ac]
sub ecx, 0x7b
mov byte [str.ZFreeSid], cl
movsx edx, word [0x100ad0bc]
movzx eax, word [0x100ad120]
add edx, eax
movsx ecx, word [0x100ad0bc]
imul ecx, edx
mov word [0x100ad0bc], cx
jmp 0x10041a17
mov eax, dword [0x100ad15c]
cdq
mov ecx, dword [0x100ad0f8]
not ecx
mov esi, dword [0x100ad0fc]
not esi
mov dword [ebp - 0x960], eax
mov dword [ebp - 0x95c], edx
mov dword [ebp - 0x968], ecx
mov dword [ebp - 0x964], esi
mov edx, dword [ebp - 0x95c]
cmp edx, dword [ebp - 0x964]
jl 0x10041975
jg 0x10041969
mov eax, dword [ebp - 0x960]
cmp eax, dword [ebp - 0x968]
jb 0x10041975
mov dword [ebp - 0x15c], 1
jmp 0x1004197f
mov dword [ebp - 0x15c], 0
movsx ecx, word [ebp - 0x1c]
movzx edx, word [ebp - 0x20]
cmp ecx, edx
jge 0x10041997
mov dword [ebp - 0x160], 1
jmp 0x100419a1
mov dword [ebp - 0x160], 0
mov eax, dword [ebp - 0x15c]
cmp eax, dword [ebp - 0x160]
jl 0x10041a17
movsx ecx, byte [str.E2_wcsrchr]
movsx edx, word [0x100ad130]
add ecx, edx
mov byte [str.E2_wcsrchr], cl
movsx eax, word [ebp - 0x2c]
movsx ecx, word [ebp - 0x1c]
imul eax, ecx
and eax, dword [0x100ad118]
mov byte [0x100ad073], al
movzx edx, word [0x100ad0f0]
mov eax, dword [ebp - 0x50]
imul eax, edx
mov ecx, dword [ebp - 0x50]
add ecx, eax
mov dword [ebp - 0x50], ecx
movzx edx, word [0x100ad120]
imul edx, dword [ebp - 0x30]
mov word [0x100ad120], dx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0xb00], ecx
add eax, 0xb1b0
mov word [ebp - 0x2c], ax
jmp 0x10041a6f
movzx edx, word [ebp - 0x20]
movsx eax, byte [str.E2_wcsrchr]
imul edx, eax
mov word [ebp - 0x20], dx
mov dword [0x100ad15c], 0x54b576ab
mov cx, word [0x100ad0ac]
sub cx, 1
mov word [0x100ad0ac], cx
movzx edx, byte [0x100ad072]
mov eax, dword [0x100ad15c]
sub eax, edx
mov ecx, dword [0x100ad15c]
xor ecx, eax
mov dword [0x100ad15c], ecx
movsx edx, word [ebp - 0x14]
sar edx, 1
mov byte [0x100ad09a], dl
movsx eax, word [0x100ad0b0]
movsx ecx, word [ebp - 0x10]
add ecx, 0x4d
cmp eax, ecx
jne 0x10041dc3
movsx edx, word [0x100ad0e4]
movsx eax, byte [ebp - 5]
add edx, eax
cmp edx, 1
jne 0x10041dc3
movzx ecx, word [ebp - 0x20]
movsx edx, byte [0x100ad00e]
not edx
cmp ecx, edx
jge 0x10041ab8
mov dword [ebp - 0x164], 1
jmp 0x10041ac2
mov dword [ebp - 0x164], 0
cmp dword [ebp - 0x164], 0xa
jle 0x10041ca2
movzx eax, word [ebp - 0x24]
cmp eax, dword [0x100ad15c]
je 0x10041ae7
mov dword [ebp - 0x168], 1
jmp 0x10041af1
mov dword [ebp - 0x168], 0
movzx ecx, word [ebp - 0x24]
cmp ecx, 0x14
je 0x10041b06
mov dword [ebp - 0x16c], 1
jmp 0x10041b10
mov dword [ebp - 0x16c], 0
mov edx, dword [ebp - 0x168]
cmp edx, dword [ebp - 0x16c]
je 0x10041b80
movsx eax, word [ebp - 0x28]
test eax, eax
je 0x10041b7b
xor ecx, ecx
mov dword [0x100ad110], 0xb9
mov dword [0x100ad114], ecx
mov byte [str.px_04X_], 4
mov byte [str.px_04X_], 2
movsx eax, word [ebp - 0x10]
cdq
mov ecx, eax
mov edx, dword [0x100ad108]
mov eax, dword [0x100ad10c]
mov dword [ebp - 0xb04], eax
add ecx, edx
movsx eax, word [ebp - 0x10]
cdq
sub eax, ecx
mov word [ebp - 0x10], ax
mov cl, byte [0x100adbec]
mov byte [str.E2_wcsrchr], cl
mov byte [ebp - 5], 1
jmp 0x10041ca0
movsx edx, byte [0x100ad00e]
movsx eax, word [ebp - 0x14]
cmp edx, eax
jle 0x10041b9b
mov dword [ebp - 0x170], 1
jmp 0x10041ba5
mov dword [ebp - 0x170], 0
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
mov eax, dword [0x100ad0a8]
not eax
cdq
mov dword [ebp - 0x970], ecx
mov dword [ebp - 0x96c], esi
mov dword [ebp - 0x978], eax
mov dword [ebp - 0x974], edx
mov edx, dword [ebp - 0x96c]
cmp edx, dword [ebp - 0x974]
jl 0x10041bf5
jg 0x10041be9
mov eax, dword [ebp - 0x970]
cmp eax, dword [ebp - 0x978]
jb 0x10041bf5
mov dword [ebp - 0x174], 1
jmp 0x10041bff
mov dword [ebp - 0x174], 0
mov ecx, dword [ebp - 0x170]
xor ecx, dword [ebp - 0x174]
je 0x10041c30
mov edx, 0x9dd8
mov word [ebp - 0x20], dx
mov al, byte [0x100ad00e]
sub al, 1
mov byte [0x100ad00e], al
mov cl, byte [0x100adbec]
mov byte [str.E2_wcsrchr], cl
jmp 0x10041ca0
movsx edx, byte [0x100ad073]
test edx, edx
je 0x10041ca0
movsx eax, byte [ebp - 5]
movsx ecx, byte [ebp - 5]
imul eax, ecx
movsx edx, byte [ebp - 5]
add edx, eax
mov byte [ebp - 5], dl
movsx ax, byte [ebp - 2]
mov ecx, 2
imul edx, ecx, 0x5f
mov word [edx + 0x100d5678], ax
mov eax, dword [0x100ad0d8]
mov edx, dword [0x100ad0dc]
mov cl, 6
call fcn.1007a8e0
mov byte [0x100ad043], al
movsx eax, byte [ebp - 5]
sub eax, 0xaa22
cdq
mov dword [0x100ad0f8], eax
mov dword [0x100ad0fc], edx
movzx eax, word [ebp - 0x20]
sub eax, 0xfb05
mov ecx, dword [ebp - 0x50]
add ecx, eax
mov dword [ebp - 0x50], ecx
jmp 0x10041d0c
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0xb08], ecx
add eax, edx
mov word [0x100ad0c4], ax
movsx edx, word [0x100ad0b0]
test edx, edx
jne 0x10041cd8
xor eax, eax
mov dword [ebp - 0x59c], 1
mov dword [ebp - 0x598], eax
jmp 0x10041ce3
xorps xmm0, xmm0
movlpd qword [ebp - 0x59c], xmm0
mov ecx, dword [ebp - 0x59c]
mov edx, dword [ebp - 0x598]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0xb0c], ecx
add eax, 0x58359978
mov word [0x100ad11c], ax
jmp 0x100417f0
movsx eax, word [0x100ad0d0]
cdq
xor eax, dword [ebp - 0x40]
xor edx, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movsx eax, word [ebp - 0x2c]
cdq
push 0x3e8f
push 0xe0f4735c
push edx
push eax
call fcn.1007a8a0
mov word [ebp - 0x1c], ax
mov eax, 0x39
mov word [ebp - 0x2c], ax
mov ecx, dword [0x100adbec]
xor edx, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x924]
or eax, dword [ebp - 0x928]
mov ecx, 0xe541
sub ecx, eax
mov dword [ebp - 0x934], ecx
movsx edx, word [ebp - 0x28]
movsx eax, byte [ebp - 2]
cmp edx, eax
jg 0x10041e48
movsx ecx, byte [0x100ad043]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
xor edx, edx
mov dword [0x100ad138], eax
mov dword [0x100ad13c], edx
mov eax, dword [0x100adbec]
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x9c], 0
jmp 0x10041e6e
mov ecx, dword [ebp - 0x9c]
add ecx, 2
mov dword [ebp - 0x9c], ecx
cmp dword [ebp - 0x9c], 0x265
jge 0x10041e8e
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
add edx, 1
adc eax, 0
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
jmp 0x10041e5f
mov ecx, dword [ebp - 0xa4]
add ecx, 0x567
mov dword [ebp - 0xb18], ecx
mov dword [ebp - 0xa0], 0x30
movsx edx, word [0x100ad0e4]
sub edx, 0x212b
movsx eax, word [0x100ad0e4]
imul eax, edx
mov word [0x100ad0e4], ax
movsx ecx, byte [str.ZFreeSid]
movsx edx, word [0x100ad0bc]
sub ecx, edx
mov byte [str.ZFreeSid], cl
movsx eax, word [0x100ad0b0]
cdq
mov ecx, dword [0x100ad128]
mov esi, dword [0x100ad12c]
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
movsx eax, word [0x100ad0b0]
cdq
sub eax, ecx
mov word [0x100ad0b0], ax
movzx edx, word [0x100ad120]
add edx, 0x4bb7
mov byte [0x100ad043], dl
imul eax, dword [0x100ad0b4], 0x6f2097ea
add eax, dword [0x100ad0c8]
mov dword [0x100ad0c8], eax
movsx eax, byte [str.ZFreeSid]
cdq
and eax, 0xfe86d472
and edx, 0x1fb50
mov dword [0x100ad128], eax
mov dword [0x100ad12c], edx
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
mov dword [ebp - 0xc04], edx
sub ecx, 0xffe12427
mov word [ebp - 0x28], cx
movzx eax, word [0x100ad0ac]
movsx ecx, word [ebp - 0xc]
sub eax, ecx
movsx edx, byte [0x100ad037]
imul edx, dword [ebp - 0x30]
sub eax, edx
sub eax, dword [ebp - 0x44]
not eax
mov word [ebp - 0x14], ax
mov eax, dword [ebp - 0xa0]
add eax, 1
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0x2687
jl 0x10041f0c
mov ecx, dword [ebp - 0xa4]
add ecx, 0x58c
mov dword [ebp - 0xb1c], ecx
movsx edx, word [ebp - 0x2c]
test edx, edx
jne 0x10041fd6
mov dword [ebp - 0x178], 1
jmp 0x10041fe0
mov dword [ebp - 0x178], 0
movsx eax, byte [ebp - 1]
cmp dword [ebp - 0x178], eax
je 0x1004233a
movsx ecx, word [0x100ad11c]
movsx edx, byte [0x100ad00d]
cmp ecx, edx
jle 0x1004200e
mov dword [ebp - 0x17c], 1
jmp 0x10042018
mov dword [ebp - 0x17c], 0
movsx eax, word [0x100ad11c]
cmp eax, 0x22
jle 0x10042030
mov dword [ebp - 0x180], 1
jmp 0x1004203a
mov dword [ebp - 0x180], 0
mov ecx, dword [ebp - 0x17c]
cmp ecx, dword [ebp - 0x180]
je 0x100420bd
movzx eax, byte [ebp - 3]
cdq
push 0x74ddb
push 0xafabe9ad
push edx
push eax
call fcn.1007a8a0
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
movsx edx, word [ebp - 0xc]
sub edx, 0x3b5e2ea2
xor eax, eax
mov ecx, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
add ecx, edx
adc esi, eax
mov dword [0x100ad0d8], ecx
mov dword [0x100ad0dc], esi
movzx edx, word [ebp - 0x20]
add edx, dword [0x100ad0c8]
movzx eax, byte [ebp - 3]
not eax
movsx ecx, byte [str.ZFreeSid]
xor eax, ecx
sub edx, eax
mov dword [ebp - 0x44], edx
mov edx, dword [ebp - 0x40]
mov dword [0x100ad100], edx
jmp 0x1004233a
mov eax, dword [ebp - 0x44]
not eax
add eax, dword [ebp - 0x30]
je 0x100420d9
cmp dword [ebp - 0x30], 0
je 0x100420d9
mov dword [ebp - 0x184], 1
jmp 0x100420e3
mov dword [ebp - 0x184], 0
mov ecx, dword [ebp - 0x184]
not ecx
test ecx, ecx
je 0x100421df
mov edx, 2
imul eax, edx, 0x9e8c
mov cx, word [ebp - 0x28]
mov word [eax + 0x101c7dc0], cx
mov eax, dword [0x100ad118]
cdq
mov ecx, dword [0x100ad108]
mov esi, dword [0x100ad10c]
add ecx, eax
adc esi, edx
mov dword [0x100ad108], ecx
mov dword [0x100ad10c], esi
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
push 0
push 0x80
push eax
push edx
call fcn.1007a8a0
mov byte [str.ZFreeSid], al
movsx ecx, byte [ebp - 2]
movzx edx, word [ebp - 0x18]
add ecx, edx
movsx eax, byte [ebp - 2]
sub eax, ecx
mov byte [ebp - 2], al
movsx eax, word [ebp - 0xc]
cdq
add eax, 0x439115e4
adc edx, 0x870cc
mov dword [0x100ad108], eax
mov dword [0x100ad10c], edx
movsx eax, byte [ebp - 5]
not eax
cdq
mov ecx, dword [ebp - 0x40]
sub ecx, eax
mov esi, dword [ebp - 0x3c]
sbb esi, edx
movzx eax, word [0x100ad0f0]
cdq
mov edi, dword [0x100ad0dc]
add eax, dword [0x100ad0d8]
adc edx, edi
not eax
not edx
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x988], ecx
mov dword [ebp - 0x984], esi
mov edx, dword [ebp - 0x988]
or edx, dword [ebp - 0x984]
jne 0x100421c7
mov dword [ebp - 0x188], 1
jmp 0x100421d1
mov dword [ebp - 0x188], 0
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x30], eax
jmp 0x1004233a
movsx ecx, word [ebp - 0x10]
test ecx, ecx
je 0x10042244
movsx edx, byte [ebp - 2]
sub edx, 0x76
movsx eax, word [ebp - 0x28]
sub eax, edx
mov word [ebp - 0x28], ax
movsx ecx, word [ebp - 0x10]
and ecx, dword [0x100ad158]
mov dword [0x100ad158], ecx
movzx eax, word [ebp - 0x18]
add eax, 0x23
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movzx edx, word [ebp - 0x24]
movsx eax, word [ebp - 0x14]
xor edx, eax
movzx ecx, word [ebp - 0x24]
sub ecx, edx
mov word [ebp - 0x24], cx
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
mov dword [ebp - 0xb20], eax
mov word [ebp - 0xc], dx
jmp 0x1004233a
movzx ecx, word [ebp - 0x18]
test ecx, ecx
je 0x1004233a
movsx edx, byte [0x100ad09a]
add edx, 0xf3b9fac
mov word [ebp - 0x1c], dx
mov eax, dword [0x100ad15c]
add eax, 0xf0
jne 0x10042281
xor ecx, ecx
mov dword [ebp - 0x5a4], 1
mov dword [ebp - 0x5a0], ecx
jmp 0x1004228c
xorps xmm0, xmm0
movlpd qword [ebp - 0x5a4], xmm0
movsx eax, word [0x100ad0b0]
cdq
mov ecx, dword [0x100ad148]
mov esi, dword [0x100ad14c]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
push edx
push eax
mov edx, dword [ebp - 0x5a0]
push edx
mov eax, dword [ebp - 0x5a4]
push eax
call fcn.1007a8a0
mov dword [ebp - 0x990], eax
mov dword [ebp - 0x98c], edx
mov ecx, dword [ebp - 0x990]
or ecx, dword [ebp - 0x98c]
jne 0x100422e4
mov dword [ebp - 0x18c], 1
jmp 0x100422ee
mov dword [ebp - 0x18c], 0
mov edx, dword [ebp - 0x18c]
mov dword [ebp - 0x30], edx
movsx eax, word [ebp - 0x14]
movsx ecx, byte [0x100ad042]
sub eax, ecx
movsx edx, word [ebp - 0x14]
sub edx, eax
mov word [ebp - 0x14], dx
movsx eax, word [ebp - 0x2c]
sub eax, 0x3b7e2a9c
mov byte [ebp - 1], al
mov cx, word [0x100adbec]
mov word [ebp - 0x14], cx
mov edx, 0xdeade750
mov dword [0x100ad150], 0xfe7d8f5c
mov dword [0x100ad154], edx
mov eax, dword [ebp - 0xa4]
add eax, 0x546
mov dword [ebp - 0x30c], eax
movsx eax, byte [ebp - 2]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0x998], eax
mov dword [ebp - 0x994], edx
mov dword [ebp - 0x9a0], ecx
mov dword [ebp - 0x99c], esi
mov edx, dword [ebp - 0x994]
cmp edx, dword [ebp - 0x99c]
jl 0x10042398
jg 0x1004238c
mov eax, dword [ebp - 0x998]
cmp eax, dword [ebp - 0x9a0]
jbe 0x10042398
mov dword [ebp - 0x190], 1
jmp 0x100423a2
mov dword [ebp - 0x190], 0
movsx ecx, byte [ebp - 2]
cmp ecx, 0x3f
jle 0x100423b7
mov dword [ebp - 0x194], 1
jmp 0x100423c1
mov dword [ebp - 0x194], 0
mov edx, dword [ebp - 0x190]
cmp edx, dword [ebp - 0x194]
jle 0x1004242c
mov eax, dword [0x100902b0]
mov dword [ebp - 0xabc], eax
mov ecx, dword [0x100902b4]
mov dword [ebp - 0xab8], ecx
mov edx, dword [0x100902b8]
mov dword [ebp - 0xab4], edx
mov eax, dword [0x100902bc]
mov dword [ebp - 0xab0], eax
mov cx, word [0x100902c0]
mov word [ebp - 0xaac], cx
mov dl, byte [0x100902c2]
mov byte [ebp - 0xaaa], dl
lea eax, [ebp - 0xabc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [ebp - 5], al
jmp 0x100424c4
movzx ecx, word [ebp - 0x24]
movsx edx, byte [ebp - 2]
imul ecx, edx
movzx eax, word [ebp - 0x24]
add eax, ecx
mov word [ebp - 0x24], ax
movsx cx, byte [0x100ad043]
mov word [ebp - 0x24], cx
mov dx, word [0x100ad0d0]
add dx, 1
mov word [0x100ad0d0], dx
movzx eax, word [ebp - 0x20]
cdq
push 0xb2ce9
push 0xc6a4eec4
push edx
push eax
call fcn.1007a8a0
mov word [0x100ad11c], ax
movsx eax, word [0x100ad0b0]
test eax, eax
je 0x10042492
movsx ecx, byte [ebp - 1]
mov dword [ebp - 0x198], ecx
jmp 0x1004249f
movzx edx, byte [0x100ad0a6]
mov dword [ebp - 0x198], edx
mov ax, word [ebp - 0x198]
mov word [0x100ad0f0], ax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
add ecx, 0xc8d10622
adc edx, 0x35348
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
mov eax, dword [0x100adbec]
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0x30], 0
je 0x100426ea
movsx ecx, word [ebp - 0x10]
test ecx, ecx
je 0x10042650
mov edx, dword [0x100ad100]
xor eax, eax
mov dword [ebp - 0x9a8], edx
mov dword [ebp - 0x9a4], eax
mov ecx, dword [ebp - 0x9a4]
cmp ecx, dword [ebp - 0x3c]
ja 0x10042556
jb 0x10042511
mov edx, dword [ebp - 0x9a8]
cmp edx, dword [ebp - 0x40]
jae 0x10042556
mov eax, dword [str.windows_1250]
mov dword [ebp - 0xa98], eax
mov ecx, dword [0x100902c8]
mov dword [ebp - 0xa94], ecx
mov edx, dword [0x100902cc]
mov dword [ebp - 0xa90], edx
mov al, byte [0x100902d0]
mov byte [ebp - 0xa8c], al
lea ecx, [ebp - 0xa98]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [str.ZFreeSid], al
jmp 0x1004264b
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
not edx
not eax
mov dword [ebp - 0x9b0], edx
mov dword [ebp - 0x9ac], eax
mov ecx, dword [ebp - 0x9b0]
or ecx, dword [ebp - 0x9ac]
je 0x1004264b
movsx edx, byte [str.ZFreeSid]
add edx, 0x2c
mov word [ebp - 0x10], dx
mov eax, dword [0x100ad0f8]
add eax, 0xf439357d
mov byte [ebp - 5], al
movsx ecx, byte [ebp - 5]
movzx edx, byte [0x100ad0a6]
sub ecx, edx
mov byte [ebp - 5], cl
cmp dword [0x100ad100], 0
je 0x100425c1
movsx eax, byte [0x100ad042]
mov dword [ebp - 0x19c], eax
jmp 0x100425ca
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x19c], ecx
mov dx, word [ebp - 0x19c]
mov word [0x100ad0b0], dx
mov eax, dword [ebp - 0x50]
sub eax, 0xda
mov byte [0x100ad042], al
movsx eax, word [0x100ad0b0]
cdq
mov ecx, dword [0x100ad110]
sub ecx, eax
mov eax, dword [0x100ad114]
sbb eax, edx
mov dword [ebp - 0x9b8], ecx
mov dword [ebp - 0x9b4], eax
mov ecx, dword [ebp - 0x9b8]
or ecx, dword [ebp - 0x9b4]
jne 0x1004262a
xor edx, edx
mov dword [ebp - 0x9c0], 1
mov dword [ebp - 0x9bc], edx
jmp 0x10042635
xorps xmm0, xmm0
movlpd qword [ebp - 0x9c0], xmm0
mov eax, dword [ebp - 0x50]
cdq
mov ecx, dword [ebp - 0x9c0]
add ecx, 0x96d08aaa
add eax, ecx
mov word [ebp - 0x28], ax
jmp 0x100426e5
mov edx, dword [0x100ad0d8]
mov eax, dword [0x100ad0dc]
not edx
not eax
mov dword [ebp - 0x9c8], edx
mov dword [ebp - 0x9c4], eax
mov ecx, dword [ebp - 0x9c8]
or ecx, dword [ebp - 0x9c4]
je 0x10042695
mov dx, word [0x100ad0ac]
mov word [ebp - 0x28], dx
movsx eax, word [ebp - 0x1c]
cdq
add eax, dword [0x100ad0f8]
mov word [ebp - 0x1c], ax
jmp 0x100426e5
movsx eax, word [0x100ad0cc]
test eax, eax
je 0x100426e5
mov byte [0x100ad043], 0x81
movzx ecx, word [ebp - 0x20]
imul eax, ecx, 0x1f5c3412
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movsx edx, byte [ebp - 5]
movzx eax, word [ebp - 0x24]
sub edx, eax
mov byte [ebp - 5], dl
mov ecx, dword [0x100ad0d8]
mov edx, dword [0x100ad0dc]
mov dword [ebp - 0xb24], edx
mov eax, 4
imul edx, eax, 0x1c
mov dword [edx + 0x101af448], ecx
jmp 0x100427dd
movsx eax, byte [ebp - 5]
test eax, eax
jne 0x10042708
movsx ecx, byte [ebp - 2]
not ecx
test ecx, ecx
jne 0x10042708
mov dword [ebp - 0x1a0], 0
jmp 0x10042712
mov dword [ebp - 0x1a0], 1
mov edx, dword [ebp - 0x1a0]
not edx
test edx, edx
je 0x100427dd
movzx eax, word [0x100ad0f0]
test eax, eax
je 0x10042747
mov ecx, dword [0x100ad0d8]
mov edx, dword [0x100ad0dc]
mov dword [ebp - 0x52c], ecx
mov dword [ebp - 0x528], edx
jmp 0x10042758
movsx eax, byte [ebp - 2]
cdq
mov dword [ebp - 0x52c], eax
mov dword [ebp - 0x528], edx
mov eax, dword [ebp - 0x52c]
mov ecx, dword [ebp - 0x528]
mov dword [0x100ad160], eax
mov dword [0x100ad164], ecx
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
sub edx, dword [0x100ad138]
sbb eax, dword [0x100ad13c]
mov dword [0x100ad148], edx
mov dword [0x100ad14c], eax
movsx ecx, byte [0x100ad00e]
sub ecx, 0xc3
mov byte [ebp - 4], cl
mov edx, dword [0x100ad0f8]
sub edx, 0xb00ebf2a
mov word [0x100ad0e4], dx
mov byte [str.ZFreeSid], 0x2b
mov eax, dword [0x100ad0e8]
add eax, dword [0x100ad110]
mov ecx, dword [0x100ad0ec]
adc ecx, dword [0x100ad114]
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], ecx
mov edx, dword [ebp - 0xa8]
add edx, 0x54b
mov dword [ebp - 0x68], edx
movzx eax, byte [str.px_04X_]
movzx ecx, byte [ebp - 3]
imul eax, ecx
movzx edx, byte [str.px_04X_]
sub edx, eax
mov byte [str.px_04X_], dl
mov eax, dword [0x100adbec]
xor ecx, ecx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
movzx edx, word [ebp - 0x18]
shl edx, 1
mov word [ebp - 0x20], dx
mov eax, dword [0x100ad160]
sub eax, 1
mov ecx, dword [0x100ad164]
sbb ecx, 0
mov dword [0x100ad160], eax
mov dword [0x100ad164], ecx
mov edx, dword [ebp - 0xa8]
add edx, 0x5c3
mov dword [ebp - 0xb28], edx
call dword [sym.imp.USER32.dll_GetActiveWindow]
xor ecx, ecx
mov dword [0x100ad160], eax
mov dword [0x100ad164], ecx
cmp dword [0x100ad164], 0
ja 0x10042877
cmp dword [0x100ad160], 0
jb 0x100429b8
cmp dword [0x100ad0a8], 0
je 0x100428e2
movsx eax, word [0x100ad11c]
cdq
add eax, 0x75bbd7da
mov byte [0x100ad037], al
mov edx, dword [0x100ad100]
shl edx, 1
mov word [ebp - 0x1c], dx
movsx eax, word [0x100ad0b0]
imul ecx, eax, 0xf8ebb1b6
xor edx, edx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
mov eax, dword [0x100ad0c8]
cdq
sub eax, 0xa00733c6
sbb edx, 0xc3494
mov ecx, dword [ebp - 0x40]
sub ecx, eax
mov eax, dword [ebp - 0x3c]
sbb eax, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], eax
mov ecx, 7
mov word [ebp - 0x18], cx
jmp 0x100429b6
movzx edx, byte [ebp - 3]
movsx eax, byte [0x100ad042]
not eax
cmp edx, eax
jg 0x100428ff
mov dword [ebp - 0x1a4], 1
jmp 0x10042909
mov dword [ebp - 0x1a4], 0
cmp dword [ebp - 0x1a4], 0xaa
jne 0x100429b6
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
push 0
push 0x49fc
push edx
push ecx
call fcn.1007a8a0
mov byte [ebp - 2], al
movsx eax, byte [0x100ad00e]
cdq
mov ecx, dword [0x100ad148]
mov esi, dword [0x100ad14c]
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
movsx eax, byte [0x100ad00e]
cdq
add eax, ecx
mov byte [0x100ad00e], al
movsx edx, byte [0x100ad037]
movsx eax, byte [str.E2_wcsrchr]
add edx, eax
movsx ecx, byte [0x100ad037]
or ecx, edx
mov byte [0x100ad037], cl
mov edx, dword [0x100adbec]
xor eax, eax
mov dword [0x100ad150], edx
mov dword [0x100ad154], eax
movzx ecx, byte [0x100ad0a6]
imul eax, ecx, 0xbe
cdq
mov dword [0x100ad150], eax
mov dword [0x100ad154], edx
movsx edx, byte [0x100ad042]
and edx, dword [ebp - 0x44]
mov dword [ebp - 0x44], edx
jmp 0x10042a11
movsx eax, word [ebp - 0x2c]
test eax, eax
je 0x10042a11
cmp dword [ebp - 0x50], 0
je 0x100429d5
movzx ecx, byte [str.px_04X_]
mov dword [ebp - 0x1a8], ecx
jmp 0x100429df
movsx edx, word [ebp - 0x14]
mov dword [ebp - 0x1a8], edx
mov ax, word [ebp - 0x1a8]
mov word [0x100ad0c0], ax
mov ecx, dword [0x100ad140]
mov byte [0x100ad037], cl
movsx eax, byte [0x100ad00e]
cdq
sub eax, 0x5c9ae7cf
sbb edx, 0xf4d5
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov edx, dword [ebp - 0xa8]
add edx, 0x5c6
mov dword [ebp - 0xb2c], edx
mov eax, dword [0x100ad160]
push eax
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov byte [0x100ad0a6], al
mov ecx, dword [0x100adbec]
mov dword [ebp - 0xac], ecx
movsx edx, word [ebp - 0x28]
test edx, edx
je 0x10042af7
mov byte [ebp - 2], 0xe6
movsx eax, word [0x100ad130]
cdq
mov esi, eax
mov edi, edx
mov eax, dword [0x100ad108]
mov ecx, dword [0x100ad10c]
mov edx, dword [0x100ad108]
mov ebx, dword [0x100ad10c]
push ebx
push edx
push ecx
push eax
call fcn.1007a8a0
push edx
push eax
push edi
push esi
call fcn.1007a8a0
mov ecx, eax
mov esi, edx
movsx eax, byte [ebp - 1]
cdq
sub eax, dword [0x100ad138]
sbb edx, dword [0x100ad13c]
xor eax, 0xe9
xor edx, 0
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
not eax
mov word [ebp - 0x1c], ax
movzx edx, word [ebp - 0x20]
shl edx, 7
mov word [0x100ad0b0], dx
movsx eax, word [ebp - 0x28]
movsx ecx, byte [0x100ad043]
add eax, ecx
movsx edx, word [ebp - 0x28]
add edx, eax
mov word [ebp - 0x28], dx
movsx eax, word [0x100ad0c4]
sar eax, 1
mov word [0x100ad0c0], ax
movzx ecx, word [ebp - 0x24]
imul edx, ecx, 0x4ad5
mov byte [ebp - 3], dl
jmp 0x10042baa
movsx eax, byte [str.ZFreeSid]
test eax, eax
jne 0x10042b0e
mov dword [ebp - 0x1ac], 1
jmp 0x10042b18
mov dword [ebp - 0x1ac], 0
movsx eax, word [0x100ad0d0]
add eax, dword [ebp - 0x1ac]
cdq
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
movsx ecx, word [0x100ad0bc]
test ecx, ecx
je 0x10042b55
mov edx, dword [0x100ad0f8]
mov eax, dword [0x100ad0fc]
mov dword [ebp - 0x534], edx
mov dword [ebp - 0x530], eax
jmp 0x10042b67
mov eax, dword [0x100ad118]
cdq
mov dword [ebp - 0x534], eax
mov dword [ebp - 0x530], edx
mov ecx, dword [ebp - 0x534]
mov edx, dword [ebp - 0x530]
mov dword [0x100ad128], ecx
mov dword [0x100ad12c], edx
mov ax, word [0x100adbec]
mov word [ebp - 0x14], ax
mov ecx, dword [ebp - 0x30]
xor edx, edx
mov eax, dword [0x100ad148]
mov esi, dword [0x100ad14c]
push esi
push eax
push edx
push ecx
call fcn.1007a8a0
mov ecx, dword [ebp - 0x30]
add ecx, eax
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0xac]
add edx, 0x48f
mov dword [ebp - 0x108], edx
mov eax, 0xd6
mov word [ebp - 0x14], ax
movsx ecx, word [ebp - 0x28]
test ecx, ecx
je 0x10042be6
mov edx, dword [0x100ad108]
mov eax, dword [0x100ad10c]
mov dword [ebp - 0x5ac], edx
mov dword [ebp - 0x5a8], eax
jmp 0x10042bf7
movsx eax, word [ebp - 0x28]
cdq
mov dword [ebp - 0x5ac], eax
mov dword [ebp - 0x5a8], edx
mov cx, word [ebp - 0x5ac]
mov word [ebp - 0x2c], cx
movsx edx, word [ebp - 0x14]
imul eax, edx, 0x39a
mov byte [ebp - 4], al
mov ecx, dword [ebp - 0xac]
add ecx, 0x2ec
mov dword [ebp - 0xb30], ecx
cmp dword [0x100ad0e8], 0xe34578f9
jne 0x10042c45
cmp dword [0x100ad0ec], 0xc5d25
jne 0x10042c45
mov dword [ebp - 0x1b0], 1
jmp 0x10042c4f
mov dword [ebp - 0x1b0], 0
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
mov dword [ebp - 0x9d0], edx
mov dword [ebp - 0x9cc], eax
mov ecx, dword [ebp - 0x9d0]
or ecx, dword [ebp - 0x9cc]
je 0x10042c86
cmp dword [ebp - 0x44], 0
je 0x10042c86
mov dword [ebp - 0x1b4], 1
jmp 0x10042c90
mov dword [ebp - 0x1b4], 0
mov edx, dword [ebp - 0x1b0]
not edx
cmp edx, dword [ebp - 0x1b4]
jl 0x10042cac
mov dword [ebp - 0x1bc], 1
jmp 0x10042cb6
mov dword [ebp - 0x1bc], 0
cmp dword [0x100ad0c8], 0
jne 0x10042cf0
mov eax, dword [0x100ad148]
mov ecx, dword [0x100ad14c]
mov dword [ebp - 0x9d8], eax
mov dword [ebp - 0x9d4], ecx
mov edx, dword [ebp - 0x9d8]
or edx, dword [ebp - 0x9d4]
jne 0x10042cf0
mov dword [ebp - 0x1b8], 0
jmp 0x10042cfa
mov dword [ebp - 0x1b8], 1
mov eax, dword [ebp - 0x1b8]
not eax
cdq
mov dword [ebp - 0x9e0], eax
mov dword [ebp - 0x9dc], edx
cmp dword [ebp - 0x9dc], 0xc7d57
jl 0x10042d35
jg 0x10042d29
cmp dword [ebp - 0x9e0], 0xb7abf9e6
jbe 0x10042d35
mov dword [ebp - 0x1c0], 1
jmp 0x10042d3f
mov dword [ebp - 0x1c0], 0
mov eax, dword [ebp - 0x1bc]
cmp eax, dword [ebp - 0x1c0]
je 0x10042da4
movsx eax, word [0x100ad0cc]
cdq
mov ecx, dword [0x100ad148]
mov esi, dword [0x100ad14c]
add ecx, eax
adc esi, edx
mov dword [0x100ad148], ecx
mov dword [0x100ad14c], esi
movzx edx, word [ebp - 0x18]
imul eax, edx, 0xa1b6
cdq
mov dword [0x100ad128], eax
mov dword [0x100ad12c], edx
movsx eax, word [ebp - 0xc]
shl eax, 6
mov word [0x100ad0b0], ax
movsx ecx, byte [ebp - 1]
add ecx, dword [0x100ad100]
mov dword [0x100ad100], ecx
mov edx, dword [ebp - 0xac]
add edx, 0x23d
mov dword [ebp - 0xb34], edx
movsx eax, word [ebp - 0x14]
cmp eax, dword [ebp - 0x50]
je 0x10042dcb
mov dword [ebp - 0x1c4], 1
jmp 0x10042dd5
mov dword [ebp - 0x1c4], 0
movsx ecx, word [ebp - 0x14]
cmp ecx, 0x60
je 0x10042dea
mov dword [ebp - 0x1c8], 1
jmp 0x10042df4
mov dword [ebp - 0x1c8], 0
mov edx, dword [ebp - 0x1c4]
cmp edx, dword [ebp - 0x1c8]
jne 0x10042ea2
mov eax, 2
imul ecx, eax, 0x5288
mov dx, word [ebp - 0x1c]
mov word [ecx + 0x100c0320], dx
mov al, byte [0x100adbec]
mov byte [0x100ad037], al
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0xb38], eax
sub ecx, edx
mov dword [ebp - 0x44], ecx
movsx ecx, word [ebp - 0x14]
sub ecx, 0x3ed05e54
jne 0x10042e52
mov dword [ebp - 0x1cc], 1
jmp 0x10042e5c
mov dword [ebp - 0x1cc], 0
movzx edx, word [ebp - 0x24]
mov eax, dword [ebp - 0x1cc]
sub eax, edx
cdq
push 0xb400
push 0x5f345f35
push edx
push eax
call fcn.1007a8a0
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
mov eax, 0x338c
mov word [ebp - 0x14], ax
movzx ecx, word [0x100ad0f0]
mov edx, dword [ebp - 0x50]
sub edx, ecx
mov dword [ebp - 0x50], edx
jmp 0x10042f69
mov eax, 0x2830956f
test eax, eax
je 0x10042f69
mov ecx, dword [ebp - 0x30]
xor edx, edx
mov eax, 8
imul eax, eax, 0x5a6d
mov dword [eax + 0x10100490], ecx
mov dword [eax + 0x10100494], edx
movsx ecx, word [0x100ad0d0]
movsx edx, word [0x100ad130]
sub ecx, edx
movsx eax, word [0x100ad0d0]
sub eax, ecx
mov word [0x100ad0d0], ax
mov eax, dword [0x100ad158]
cdq
mov ecx, dword [0x100ad108]
mov esi, dword [0x100ad10c]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x9e8], ecx
mov dword [ebp - 0x9e4], esi
mov edx, dword [ebp - 0x9e8]
or edx, dword [ebp - 0x9e4]
jne 0x10042f2e
xor eax, eax
mov dword [ebp - 0x9f0], 1
mov dword [ebp - 0x9ec], eax
jmp 0x10042f39
xorps xmm0, xmm0
movlpd qword [ebp - 0x9f0], xmm0
mov ecx, dword [ebp - 0x40]
not ecx
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
mov dword [ebp - 0xb3c], eax
sub ecx, edx
sub ecx, dword [ebp - 0x9f0]
mov byte [0x100ad00e], cl
mov ecx, dword [0x100adbec]
mov dword [0x100ad0c8], ecx
mov edx, dword [0x100adbec]
mov dword [ebp - 0xb4], edx
xor eax, eax
mov dword [0x100ad128], 1
mov dword [0x100ad12c], eax
movzx ecx, word [ebp - 0x24]
movzx edx, byte [ebp - 3]
add ecx, edx
movsx eax, byte [0x100ad073]
movsx edx, byte [ebp - 5]
imul eax, edx
sub ecx, eax
mov byte [ebp - 1], cl
mov eax, dword [0x100ad15c]
mov ecx, 2
imul edx, ecx, 0x37
mov word [edx + 0x101e9930], ax
movsx eax, word [ebp - 0xc]
cdq
add eax, 0x9068e81d
mov word [ebp - 0x28], ax
movzx eax, word [ebp - 0x20]
xor eax, 0x270d73a1
mov dword [0x100ad158], eax
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
mov dword [ebp - 0x53c], ecx
mov dword [ebp - 0x538], edx
mov eax, dword [ebp - 0x53c]
or eax, dword [ebp - 0x538]
je 0x10043010
cmp dword [ebp - 0x53c], 1
jne 0x1004300b
cmp dword [ebp - 0x538], 0
je 0x10043058
jmp 0x100430dc
movsx ecx, byte [str.E2_wcsrchr]
mov edx, dword [0x100ad0a8]
add edx, ecx
imul eax, edx, 0x26
not eax
mov ecx, dword [0x100ad118]
sub ecx, eax
mov word [ebp - 0x20], cx
movsx edx, word [ebp - 0x1c]
shl edx, 5
mov byte [ebp - 4], dl
mov eax, dword [0x100adbec]
mov dword [0x100ad15c], eax
mov ecx, dword [ebp - 0x40]
add ecx, 0x10a9ee01
mov byte [0x100ad00d], cl
jmp 0x100430dc
mov edx, dword [ebp - 0x30]
xor eax, eax
push eax
push edx
mov ecx, dword [0x100ad164]
push ecx
mov edx, dword [0x100ad160]
push edx
call fcn.1007a8a0
mov byte [ebp - 3], al
movsx eax, byte [0x100ad073]
add eax, 0x45
cdq
mov ecx, eax
mov esi, edx
xor ecx, dword [0x100ad0f8]
xor esi, dword [0x100ad0fc]
not ecx
not esi
mov eax, dword [ebp - 0x50]
cdq
mov edi, dword [ebp - 0x44]
xor ebx, ebx
add edi, dword [0x100ad138]
adc ebx, dword [0x100ad13c]
sub eax, edi
sbb edx, ebx
add ecx, eax
adc esi, edx
mov dword [0x100ad138], ecx
mov dword [0x100ad13c], esi
mov edx, 4
imul eax, edx, 0x89
mov ecx, dword [eax + 0x100c0050]
xor edx, edx
add ecx, dword [ebp - 0x40]
adc edx, dword [ebp - 0x3c]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0xb4]
add eax, 0x44e
mov dword [ebp - 0x69c], eax
movsx ecx, byte [str.ZFreeSid]
test ecx, ecx
jne 0x10043104
mov dword [ebp - 0x1d0], 1
jmp 0x1004310e
mov dword [ebp - 0x1d0], 0
mov edx, dword [0x100ad0c8]
imul edx, dword [ebp - 0x1d0]
test edx, edx
je 0x100433e2
movsx eax, word [0x100ad0c4]
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
movzx ecx, word [0x100ad0f0]
test ecx, ecx
jne 0x10043148
mov dword [ebp - 0x1d4], 1
jmp 0x10043152
mov dword [ebp - 0x1d4], 0
movsx edx, byte [0x100ad042]
cmp edx, dword [ebp - 0x1d4]
jne 0x100432b3
mov dword [ebp - 0xb0], 0x11
movsx ecx, byte [ebp - 1]
xor ecx, 0xde92
mov ax, word [ebp - 0x18]
shl ax, cl
mov word [ebp - 0x18], ax
movzx ecx, word [ebp - 0x20]
movzx edx, word [ebp - 0x20]
imul ecx, edx
mov word [ebp - 0x20], cx
movsx eax, byte [ebp - 1]
test eax, eax
jne 0x100431a7
mov dword [ebp - 0x1d8], 1
jmp 0x100431b1
mov dword [ebp - 0x1d8], 0
movsx ecx, word [0x100ad0bc]
movzx edx, byte [ebp - 3]
add ecx, edx
movsx eax, byte [str.ZFreeSid]
imul eax, dword [ebp - 0x1d8]
sub ecx, eax
not ecx
mov byte [0x100ad037], cl
movzx ecx, word [0x100ad0ac]
test ecx, ecx
jne 0x100431ed
mov dword [ebp - 0x1dc], 1
jmp 0x100431f7
mov dword [ebp - 0x1dc], 0
movsx edx, word [ebp - 0x28]
not edx
add edx, dword [ebp - 0x1dc]
sub edx, dword [0x100ad15c]
mov dword [0x100ad15c], edx
movsx eax, byte [ebp - 4]
mov ecx, dword [ebp - 0x30]
sub ecx, eax
mov edx, dword [ebp - 0x30]
imul edx, ecx
mov dword [ebp - 0x30], edx
mov eax, dword [0x100ad0f8]
add eax, 0xab
mov dword [ebp - 0x30], eax
mov cx, word [ebp - 0x20]
mov word [0x100ad0f0], cx
movsx edx, word [ebp - 0xc]
test edx, edx
je 0x1004324d
movzx eax, word [ebp - 0x24]
mov dword [ebp - 0x1e0], eax
jmp 0x1004325a
movsx ecx, word [0x100ad11c]
mov dword [ebp - 0x1e0], ecx
mov dl, byte [ebp - 0x1e0]
mov byte [ebp - 2], dl
movsx eax, byte [ebp - 1]
mov ecx, dword [ebp - 0x50]
xor ecx, eax
mov edx, dword [ebp - 0x50]
or edx, ecx
mov dword [ebp - 0x50], edx
movzx eax, word [0x100ad0f0]
cdq
add eax, 0x73418f6f
mov ecx, dword [0x100ad140]
add ecx, eax
mov dword [0x100ad140], ecx
mov edx, dword [ebp - 0xb0]
add edx, 1
mov dword [ebp - 0xb0], edx
cmp dword [ebp - 0xb0], 0x11cd
jl 0x10043221
jmp 0x100433dd
cmp dword [ebp - 0x44], 0
jne 0x100432c5
mov dword [ebp - 0x1e4], 1
jmp 0x100432cf
mov dword [ebp - 0x1e4], 0
movsx eax, word [0x100ad0cc]
cmp dword [ebp - 0x1e4], eax
jne 0x10043322
movsx ecx, byte [0x100ad073]
sub ecx, dword [ebp - 0x30]
not ecx
mov byte [0x100ad00d], cl
mov dl, byte [ebp - 1]
mov byte [str.px_04X_], dl
movsx eax, word [ebp - 0x10]
cdq
push edx
push eax
mov eax, dword [0x100ad0ec]
push eax
mov ecx, dword [0x100ad0e8]
push ecx
call fcn.1007a8a0
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], edx
jmp 0x100433dd
movsx edx, word [ebp - 0xc]
movzx eax, byte [ebp - 3]
cmp edx, eax
jg 0x1004333a
mov dword [ebp - 0x1e8], 1
jmp 0x10043344
mov dword [ebp - 0x1e8], 0
movsx ecx, byte [str.ZFreeSid]
cmp dword [ebp - 0x1e8], ecx
jge 0x100433a1
mov edx, dword [0x100ad140]
sub edx, 0x39de4325
mov word [0x100ad0c4], dx
movzx eax, byte [0x100ad0a6]
test eax, eax
je 0x1004337b
mov cx, word [ebp - 0x24]
mov word [ebp - 0x58], cx
jmp 0x10043383
mov dx, word [ebp - 0x24]
mov word [ebp - 0x58], dx
movzx eax, word [ebp - 0x58]
cdq
mov dword [0x100ad148], eax
mov dword [0x100ad14c], edx
mov al, byte [0x100ad042]
sub al, 1
mov byte [0x100ad042], al
jmp 0x100433dd
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
mov dword [ebp - 0x9f8], ecx
mov dword [ebp - 0x9f4], edx
mov eax, dword [ebp - 0x9f8]
or eax, dword [ebp - 0x9f4]
je 0x100433dd
mov dword [ebp - 0x30], 0x4ecd898a
movzx eax, word [ebp - 0x24]
cdq
add eax, 0x4e1b0099
mov dword [0x100ad140], eax
jmp 0x10043519
movsx ecx, byte [0x100ad037]
test ecx, ecx
jne 0x100433fb
movsx edx, word [ebp - 0x1c]
not edx
test edx, edx
je 0x10043480
movsx eax, word [ebp - 0x28]
not eax
movsx ecx, byte [ebp - 5]
sub eax, ecx
jne 0x1004341d
xor edx, edx
mov dword [ebp - 0x5b4], 1
mov dword [ebp - 0x5b0], edx
jmp 0x10043428
xorps xmm0, xmm0
movlpd qword [ebp - 0x5b4], xmm0
movsx eax, byte [ebp - 4]
or eax, dword [0x100ad0e0]
movzx ecx, word [0x100ad120]
not ecx
imul ecx, dword [ebp - 0x44]
add eax, ecx
xor edx, edx
mov ecx, dword [0x100ad160]
add ecx, dword [ebp - 0x5b4]
mov esi, dword [0x100ad164]
adc esi, dword [ebp - 0x5b0]
add eax, ecx
adc edx, esi
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movsx edx, byte [ebp - 1]
add edx, 0x1e
movzx eax, word [0x100ad0ac]
sub eax, edx
mov word [0x100ad0ac], ax
jmp 0x10043519
movzx eax, word [ebp - 0x18]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0xa00], eax
mov dword [ebp - 0x9fc], edx
mov dword [ebp - 0xa08], ecx
mov dword [ebp - 0xa04], esi
mov edx, dword [ebp - 0x9fc]
cmp edx, dword [ebp - 0xa04]
jg 0x10043519
jl 0x100434c1
mov eax, dword [ebp - 0xa00]
cmp eax, dword [ebp - 0xa08]
ja 0x10043519
cmp dword [ebp - 0x50], 0
je 0x10043519
movzx eax, word [ebp - 0x20]
cdq
mov ecx, dword [0x100ad138]
sub ecx, eax
mov eax, dword [0x100ad13c]
sbb eax, edx
add ecx, dword [0x100ad138]
adc eax, dword [0x100ad13c]
mov dword [0x100ad138], ecx
mov dword [0x100ad13c], eax
movsx eax, word [ebp - 0x10]
cdq
add eax, 0x34ca000b
mov dword [ebp - 0x30], eax
mov cx, word [0x100ad0bc]
mov word [0x100ad0b0], cx
movsx dx, byte [0x100ad00e]
mov word [ebp - 0x14], dx
mov eax, dword [ebp - 0xb4]
add eax, 0x4a4
mov dword [ebp - 0xb40], eax
mov cl, byte [0x100adbec]
mov byte [ebp - 4], cl
movsx eax, word [0x100ad11c]
xor eax, 0xfc
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov byte [0x100ad072], 0xea
movsx edx, byte [ebp - 1]
movzx eax, word [ebp - 0x24]
imul edx, eax
movsx ecx, byte [ebp - 1]
sub ecx, edx
mov byte [ebp - 1], cl
mov edx, dword [ebp - 0xb4]
add edx, 0x40e
mov dword [ebp - 0x118], edx
mov al, byte [str.ZFreeSid]
mov byte [ebp - 4], al
movsx eax, byte [0x100ad00e]
cdq
and eax, 0xa4a3bbcb
mov word [ebp - 0x28], ax
mov cl, byte [ebp - 2]
sub cl, 1
mov byte [ebp - 2], cl
mov edx, dword [0x100adbec]
mov dword [ebp - 0xc0], edx
movsx eax, byte [0x100ad00e]
test eax, eax
je 0x100436a7
movsx ecx, byte [0x100ad042]
movsx edx, byte [0x100ad00d]
cmp ecx, edx
jge 0x100435ce
mov dword [ebp - 0x1ec], 1
jmp 0x100435d8
mov dword [ebp - 0x1ec], 0
mov eax, dword [ebp - 0x1ec]
not eax
test eax, eax
je 0x10043645
movsx ecx, byte [str.ZFreeSid]
movsx edx, byte [0x100ad037]
sub ecx, edx
movsx eax, byte [str.ZFreeSid]
sub eax, ecx
mov byte [str.ZFreeSid], al
mov cl, byte [str.px_04X_]
mov byte [ebp - 2], cl
movsx edx, byte [0x100ad073]
mov eax, dword [0x100ad158]
lea ecx, [eax + edx - 0xcd]
mov dword [0x100ad158], ecx
movzx eax, word [ebp - 0x24]
movsx edx, byte [ebp - 4]
add eax, edx
movzx ecx, word [ebp - 0x18]
mov edx, dword [0x100ad0a8]
sub edx, ecx
add eax, edx
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
jmp 0x100436a2
movsx eax, word [0x100ad0e4]
test eax, eax
je 0x100436a2
mov ecx, dword [0x100ad0e8]
xor ecx, dword [0x100ad110]
movsx eax, word [ebp - 0x1c]
cdq
and ecx, eax
not ecx
mov byte [ebp - 4], cl
movzx edx, byte [ebp - 3]
movsx eax, word [0x100ad0cc]
sub edx, eax
movzx ecx, byte [ebp - 3]
xor ecx, edx
mov byte [ebp - 3], cl
mov dx, word [0x100adbec]
mov word [ebp - 0x18], dx
movsx eax, byte [0x100ad037]
add eax, 0x326aa269
xor ecx, ecx
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], ecx
jmp 0x1004392c
movzx edx, byte [str.px_04X_]
movzx eax, byte [0x100ad0a6]
add edx, eax
je 0x1004376f
movsx ecx, word [ebp - 0x1c]
mov dword [ebp - 0x50], ecx
mov dx, word [0x100ad11c]
add dx, 1
mov word [0x100ad11c], dx
movsx eax, byte [ebp - 4]
test eax, eax
je 0x100436ea
movsx ecx, byte [ebp - 2]
mov dword [ebp - 0x1f0], ecx
jmp 0x100436f4
movsx edx, word [ebp - 0x1c]
mov dword [ebp - 0x1f0], edx
mov eax, dword [ebp - 0x1f0]
cdq
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], edx
mov eax, dword [0x100ad0d8]
mov ecx, dword [0x100ad0dc]
mov dword [ebp - 0xa10], eax
mov dword [ebp - 0xa0c], ecx
mov edx, dword [ebp - 0xa10]
or edx, dword [ebp - 0xa0c]
je 0x1004373a
movsx eax, word [0x100ad0cc]
mov dword [ebp - 0x1f4], eax
jmp 0x10043747
movzx ecx, word [0x100ad0ac]
mov dword [ebp - 0x1f4], ecx
mov dx, word [ebp - 0x1f4]
mov word [0x100ad0b8], dx
movsx eax, byte [str.ZFreeSid]
movzx ecx, byte [str.px_04X_]
sub eax, ecx
mov byte [str.ZFreeSid], al
jmp 0x1004392c
mov edx, dword [0x100ad128]
mov eax, dword [0x100ad12c]
mov dword [ebp - 0xa18], edx
mov dword [ebp - 0xa14], eax
mov ecx, dword [ebp - 0xa18]
or ecx, dword [ebp - 0xa14]
je 0x1004389b
mov ecx, dword [0x100ad0f8]
sub ecx, 0xd8221694
mov eax, dword [0x100ad158]
cdq
sub eax, ecx
mov dword [0x100ad158], eax
mov edx, 8
imul eax, edx, 0x62f8
mov cx, word [eax + 0x10100490]
mov word [0x100ad130], cx
movsx edx, byte [ebp - 2]
movsx eax, word [ebp - 0xc]
add edx, eax
movsx ecx, byte [ebp - 2]
sub ecx, edx
mov byte [ebp - 2], cl
mov dl, byte [ebp - 0x18]
mov byte [ebp - 3], dl
mov eax, dword [0x100ad108]
mov ecx, dword [0x100ad10c]
mov edx, dword [0x100ad0ec]
push edx
mov edx, dword [0x100ad0e8]
push edx
push ecx
push eax
call fcn.1007a8a0
mov dword [0x100ad108], eax
mov dword [0x100ad10c], edx
mov eax, dword [ebp - 0x30]
xor ecx, ecx
mov edx, dword [ebp - 0x34]
sub eax, dword [ebp - 0x38]
sbb ecx, edx
mov dword [ebp - 0xa20], eax
mov dword [ebp - 0xa1c], ecx
mov eax, dword [ebp - 0xa20]
or eax, dword [ebp - 0xa1c]
jne 0x10043841
mov dword [ebp - 0x1fc], 1
jmp 0x1004384b
mov dword [ebp - 0x1fc], 0
movzx ecx, byte [0x100ad072]
movzx edx, byte [0x100ad072]
imul ecx, edx
test ecx, ecx
jne 0x1004386c
mov dword [ebp - 0x1f8], 1
jmp 0x10043876
mov dword [ebp - 0x1f8], 0
movsx eax, byte [0x100ad00e]
mov ecx, dword [ebp - 0x50]
imul ecx, eax
imul ecx, dword [ebp - 0x1f8]
add ecx, dword [ebp - 0x1fc]
mov byte [str.E2_wcsrchr], cl
jmp 0x1004392c
movsx edx, word [0x100ad0e4]
test edx, edx
je 0x1004392c
mov eax, dword [0x100ad0b4]
sub eax, 0xb6
movsx ecx, byte [ebp - 2]
imul ecx, eax
mov byte [ebp - 2], cl
movsx edx, byte [str.ZFreeSid]
movsx eax, word [ebp - 0x28]
add edx, eax
movsx ecx, byte [str.ZFreeSid]
sub ecx, edx
mov byte [str.ZFreeSid], cl
movzx eax, word [ebp - 0x18]
cdq
mov ecx, dword [0x100ad108]
mov esi, dword [0x100ad10c]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [0x100ad108], eax
mov dword [0x100ad10c], edx
mov edx, dword [0x100ad160]
or edx, dword [0x100ad164]
jne 0x10043919
mov dword [ebp - 0x200], 1
jmp 0x10043923
mov dword [ebp - 0x200], 0
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0xc0]
add ecx, 0x538
mov dword [ebp - 0x6b0], ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
movzx edx, ax
mov dword [0x100ad118], edx
mov eax, dword [ebp - 0xc0]
add eax, 0x46f
mov dword [ebp - 0x4e0], eax
mov dword [ebp - 0xb8], 0x38c
jmp 0x10043979
mov ecx, dword [ebp - 0xb8]
sub ecx, 1
mov dword [ebp - 0xb8], ecx
cmp dword [ebp - 0xb8], 0
jle 0x100439cb
mov dword [ebp - 0xbc], 0
jmp 0x1004399d
mov edx, dword [ebp - 0xbc]
add edx, 2
mov dword [ebp - 0xbc], edx
cmp dword [ebp - 0xbc], 0x1a2
jge 0x100439b7
mov al, byte [0x100ad042]
add al, 1
mov byte [0x100ad042], al
jmp 0x1004398e
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
add ecx, 1
adc edx, 0
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], edx
jmp 0x1004396a
mov eax, dword [ebp - 0xc0]
add eax, 0x3f3
mov dword [ebp - 0xb44], eax
mov ecx, 3
mov word [ebp - 0x18], cx
mov dl, byte [ebp - 4]
add dl, 1
mov byte [ebp - 4], dl
movzx eax, word [ebp - 0x18]
mov dword [ebp - 0x30], eax
movsx ecx, word [ebp - 0xc]
xor ecx, 0xd856
mov dword [ebp - 0x44], ecx
movsx edx, byte [ebp - 4]
movzx eax, word [0x100ad0b8]
sub edx, eax
movsx ecx, byte [ebp - 4]
sub ecx, edx
mov byte [ebp - 4], cl
movzx edx, word [ebp - 0x18]
mov dword [ebp - 0x204], edx
cmp dword [ebp - 0x204], 3
ja case.default.0x10043a35
mov eax, dword [ebp - 0x204]
jmp dword [eax*4 + 0x1004ce90]
push 0
push 0x95b3a32
mov ecx, dword [0x100ad114]
push ecx
mov edx, dword [0x100ad110]
push edx
call fcn.1007a8a0
mov dword [0x100ad0c8], eax
mov eax, dword [0x100ad0e0]
sub eax, 0x614f69c6
mov word [0x100ad0e4], ax
cmp dword [ebp - 0x44], 0
je 0x10043a7d
movsx ecx, word [ebp - 0x14]
mov dword [ebp - 0x208], ecx
jmp 0x10043a89
mov edx, dword [0x100ad100]
mov dword [ebp - 0x208], edx
mov eax, dword [ebp - 0x208]
xor ecx, ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
mov edx, dword [0x100ad100]
shl edx, 3
mov word [ebp - 0x2c], dx
jmp case.default.0x10043a35
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov cl, 8
call fcn.1007a8e0
mov word [0x100ad0f0], ax
mov eax, dword [ebp - 0x30]
imul eax, dword [0x100ad158]
mov ecx, dword [ebp - 0x30]
and ecx, eax
mov dword [ebp - 0x30], ecx
mov edx, dword [0x100ad140]
xor eax, eax
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
movsx ecx, byte [ebp - 2]
movsx edx, word [0x100ad0bc]
sub ecx, edx
mov byte [ebp - 2], cl
mov eax, dword [ebp - 0x30]
and eax, 0xee6d
movzx ecx, byte [ebp - 3]
xor ecx, eax
mov byte [ebp - 3], cl
jmp case.default.0x10043a35
movsx eax, word [ebp - 0x2c]
cdq
mov ecx, eax
add ecx, dword [0x100ad0e8]
movsx eax, word [ebp - 0x2c]
cdq
and eax, ecx
mov word [ebp - 0x2c], ax
mov dx, word [ebp - 0x14]
add dx, 1
mov word [ebp - 0x14], dx
movsx eax, word [0x100ad130]
test eax, eax
jne 0x10043b3d
mov dword [ebp - 0x20c], 1
jmp 0x10043b47
mov dword [ebp - 0x20c], 0
movzx eax, word [ebp - 0x20]
cdq
and eax, 0x575e335d
and edx, 0x33132
mov dword [ebp - 0xa28], eax
mov dword [ebp - 0xa24], edx
mov ecx, dword [ebp - 0xa28]
or ecx, dword [ebp - 0xa24]
jne 0x10043b85
xor edx, edx
mov dword [ebp - 0x5bc], 1
mov dword [ebp - 0x5b8], edx
jmp 0x10043b90
xorps xmm0, xmm0
movlpd qword [ebp - 0x5bc], xmm0
movsx eax, byte [ebp - 2]
imul eax, dword [ebp - 0x20c]
cdq
push 0
push 0
push edx
push eax
call fcn.1007a8a0
not eax
not edx
sub eax, dword [ebp - 0x5bc]
sbb edx, dword [ebp - 0x5b8]
not eax
not edx
mov dword [0x100ad108], eax
mov dword [0x100ad10c], edx
mov byte [0x100ad072], 0x2b
movsx eax, byte [ebp - 5]
sub eax, 0x463ed58a
mov byte [ebp - 2], al
jmp case.default.0x10043a35
mov ecx, dword [ebp - 0x40]
or ecx, dword [ebp - 0x3c]
jne 0x10043bf2
mov dword [ebp - 0x210], 1
jmp 0x10043bfc
mov dword [ebp - 0x210], 0
movsx edx, word [0x100ad130]
mov eax, dword [0x100ad0e0]
xor eax, edx
mov ecx, eax
movsx eax, word [0x100ad0bc]
add eax, dword [ebp - 0x210]
cdq
mov esi, eax
mov eax, dword [0x100ad158]
cdq
and eax, dword [0x100ad150]
sub esi, eax
add ecx, esi
mov word [0x100ad0d0], cx
movsx eax, word [ebp - 0x1c]
not eax
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movzx edx, word [0x100ad0b8]
sub edx, 0x62c55ffc
mov eax, dword [0x100ad118]
add eax, edx
mov dword [0x100ad118], eax
movsx ecx, word [ebp - 0x1c]
movsx edx, word [0x100ad0bc]
add ecx, edx
mov word [ebp - 0x1c], cx
movsx eax, word [ebp - 0x14]
cdq
mov ecx, dword [0x100ad128]
mov esi, dword [0x100ad12c]
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov edx, dword [0x100ad160]
xor edx, 0x2db0
not edx
sub eax, edx
mov byte [ebp - 2], al
mov eax, dword [str.Windows.Foundation]
mov dword [ebp - 0xad0], eax
mov ecx, dword [0x100902d8]
mov dword [ebp - 0xacc], ecx
mov edx, dword [0x100902dc]
mov dword [ebp - 0xac8], edx
mov eax, dword [0x100902e0]
mov dword [ebp - 0xac4], eax
mov cx, word [0x100902e4]
mov word [ebp - 0xac0], cx
mov dl, byte [0x100902e6]
mov byte [ebp - 0xabe], dl
lea eax, [ebp - 0xad0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov word [ebp - 0x1c], ax
movsx ecx, word [0x100ad130]
test ecx, ecx
jne 0x10043d07
mov dword [ebp - 0x214], 1
jmp 0x10043d11
mov dword [ebp - 0x214], 0
movsx edx, byte [ebp - 4]
cmp dword [ebp - 0x214], edx
jge 0x10043d29
mov dword [ebp - 0x218], 1
jmp 0x10043d33
mov dword [ebp - 0x218], 0
mov eax, dword [ebp - 0x218]
not eax
test eax, eax
je 0x10043d77
movsx ecx, word [ebp - 0xc]
test ecx, ecx
jne 0x10043d53
mov dword [ebp - 0x21c], 1
jmp 0x10043d5d
mov dword [ebp - 0x21c], 0
movsx edx, word [ebp - 0x14]
not edx
cmp edx, dword [ebp - 0x21c]
jle 0x10043d77
mov dword [ebp - 0x224], 1
jmp 0x10043d81
mov dword [ebp - 0x224], 0
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0xa30], eax
mov dword [ebp - 0xa2c], ecx
mov edx, dword [0x100ad0fc]
cmp edx, dword [ebp - 0xa2c]
jg 0x10043dbc
jl 0x10043db0
mov eax, dword [0x100ad0f8]
cmp eax, dword [ebp - 0xa30]
jae 0x10043dbc
mov dword [ebp - 0x220], 1
jmp 0x10043dc6
mov dword [ebp - 0x220], 0
movzx ecx, word [ebp - 0x24]
cmp ecx, dword [ebp - 0x220]
jge 0x10043dde
mov dword [ebp - 0x228], 1
jmp 0x10043de8
mov dword [ebp - 0x228], 0
mov edx, dword [ebp - 0x224]
not edx
cmp edx, dword [ebp - 0x228]
jge 0x10043e62
mov dword [0x100ad0a8], 0x8e5
mov eax, dword [0x100ad0e8]
sub eax, 0xb5
mov ecx, dword [0x100ad0ec]
sbb ecx, 0
mov edx, dword [0x100ad148]
mov esi, dword [0x100ad14c]
sub edx, eax
sbb esi, ecx
mov dword [0x100ad148], edx
mov dword [0x100ad14c], esi
mov ax, word [0x100adbec]
mov word [0x100ad0cc], ax
movzx ecx, byte [ebp - 3]
add ecx, 0x12d1f579
mov word [0x100ad0f0], cx
mov edx, dword [0x100ad0c8]
add edx, 1
mov dword [0x100ad0c8], edx
jmp 0x10043ef5
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0xa38], eax
mov dword [ebp - 0xa34], ecx
mov edx, dword [ebp - 0xa38]
or edx, dword [ebp - 0xa34]
je 0x10043ef5
mov eax, 0xae
mov word [0x100ad0c0], ax
mov ecx, dword [ebp - 0x30]
add ecx, 0x570dc09c
mov dword [0x100ad0b4], ecx
movsx edx, word [ebp - 0xc]
add edx, 0xbe
mov word [0x100ad0b8], dx
movsx eax, byte [ebp - 2]
movzx ecx, word [0x100ad0ac]
sub eax, ecx
movsx edx, byte [ebp - 2]
or edx, eax
mov byte [ebp - 2], dl
movsx eax, word [0x100ad11c]
movzx ecx, word [ebp - 0x18]
add eax, ecx
movsx edx, word [0x100ad11c]
and edx, eax
mov word [0x100ad11c], dx
movsx eax, byte [ebp - 1]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
xor ecx, eax
xor esi, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x78], 0
movzx edx, word [ebp - 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
xor ecx, ecx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0xb48], 0
xorps xmm0, xmm0
movlpd qword [ebp - 0x4c], xmm0
mov eax, dword [0x100ad0c8]
cdq
sub eax, 0xadd12d08
mov word [0x100ad120], ax
movsx eax, word [ebp - 0xc]
cdq
mov ecx, dword [0x100ad148]
mov esi, dword [0x100ad14c]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
sub edx, ecx
sbb eax, esi
mov dword [0x100ad148], edx
mov dword [0x100ad14c], eax
mov ecx, dword [ebp - 0x40]
sub ecx, 0xcbee
mov edx, dword [ebp - 0x3c]
sbb edx, 0
mov eax, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
sub eax, ecx
sbb esi, edx
mov dword [0x100ad0d8], eax
mov dword [0x100ad0dc], esi
movsx ecx, word [ebp - 0xc]
movsx edx, word [ebp - 0x2c]
add ecx, edx
movsx eax, word [ebp - 0xc]
add eax, ecx
mov word [ebp - 0xc], ax
movsx eax, byte [0x100ad00d]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
not ecx
not esi
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov dword [ebp - 0xa40], eax
mov dword [ebp - 0xa3c], edx
mov edx, dword [ebp - 0xa40]
or edx, dword [ebp - 0xa3c]
jne 0x10043fe7
xor eax, eax
mov dword [ebp - 0x5c4], 1
mov dword [ebp - 0x5c0], eax
jmp 0x10043ff2
xorps xmm0, xmm0
movlpd qword [ebp - 0x5c4], xmm0
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x5c0]
push eax
mov eax, dword [ebp - 0x5c4]
push eax
push edx
push ecx
call fcn.1007a8a0
mov dword [ebp - 0xa48], eax
mov dword [ebp - 0xa44], edx
mov ecx, dword [ebp - 0xa48]
or ecx, dword [ebp - 0xa44]
jne 0x1004403b
xor edx, edx
mov dword [ebp - 0xa50], 1
mov dword [ebp - 0xa4c], edx
jmp 0x10044046
xorps xmm0, xmm0
movlpd qword [ebp - 0xa50], xmm0
movzx eax, word [ebp - 0x20]
add eax, dword [0x100ad0a8]
cdq
add eax, dword [0x100ad110]
add eax, dword [ebp - 0xa50]
mov word [ebp - 0x28], ax
movsx eax, word [ebp - 0x10]
movsx ecx, word [0x100ad0d0]
add eax, ecx
movsx edx, word [ebp - 0x10]
add edx, eax
mov word [ebp - 0x10], dx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0xa58], eax
mov dword [ebp - 0xa54], ecx
mov edx, dword [ebp - 0xa58]
or edx, dword [ebp - 0xa54]
je 0x1004409d
jmp 0x1004419a
movzx eax, word [ebp - 0x24]
mov ecx, 4
imul edx, ecx, 0x5709
mov dword [edx + 0x101af548], eax
movzx eax, word [ebp - 0x18]
movsx ecx, word [0x100ad0cc]
sub eax, ecx
movzx edx, word [ebp - 0x18]
sub edx, eax
mov word [ebp - 0x18], dx
movsx eax, byte [ebp - 5]
movsx ecx, word [0x100ad0c0]
imul eax, ecx
test eax, eax
jne 0x100440e7
mov dword [ebp - 0x230], 1
jmp 0x100440f1
mov dword [ebp - 0x230], 0
movzx edx, byte [0x100ad0a6]
test edx, edx
jne 0x10044108
mov dword [ebp - 0x22c], 1
jmp 0x10044112
mov dword [ebp - 0x22c], 0
movsx eax, word [ebp - 0x1c]
imul eax, dword [ebp - 0x30]
xor ecx, ecx
sub ecx, eax
movsx edx, byte [ebp - 4]
add edx, dword [ebp - 0x22c]
xor edx, dword [ebp - 0x230]
sub ecx, edx
mov word [ebp - 0x1c], cx
movsx eax, byte [0x100ad037]
test eax, eax
jne 0x1004414b
mov dword [ebp - 0x234], 1
jmp 0x10044155
mov dword [ebp - 0x234], 0
movzx ecx, byte [0x100ad00f]
movsx edx, word [0x100ad130]
add ecx, edx
mov eax, dword [ebp - 0x234]
sub eax, ecx
movsx ecx, word [0x100ad0e4]
movsx edx, byte [str.E2_wcsrchr]
sub edx, 0x1278a5d8
sub ecx, edx
imul eax, ecx
test eax, eax
jne 0x10044190
mov byte [ebp - 0x51], 1
jmp 0x10044194
mov byte [ebp - 0x51], 0
mov al, byte [ebp - 0x51]
mov byte [ebp - 3], al
mov dword [ebp - 0xb4c], 0
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0xa60], ecx
mov dword [ebp - 0xa5c], edx
mov eax, dword [ebp - 0xa60]
or eax, dword [ebp - 0xa5c]
je 0x10044237
mov ecx, dword [ebp - 0x44]
shl ecx, 8
mov byte [0x100ad073], cl
mov edx, dword [0x100ad118]
add edx, dword [0x100ad0e0]
mov eax, dword [0x100ad118]
imul eax, edx
mov dword [0x100ad118], eax
push 0
push 0x48
mov ecx, dword [0x100ad0fc]
push ecx
mov edx, dword [0x100ad0f8]
push edx
call fcn.1007a8a0
mov word [0x100ad0bc], ax
movsx eax, byte [0x100ad00d]
cdq
mov ecx, dword [0x100ad0f8]
not ecx
sub eax, ecx
mov word [0x100ad0b8], ax
movsx edx, word [ebp - 0xc]
movzx eax, byte [0x100ad072]
add edx, eax
movsx ecx, word [ebp - 0xc]
sub ecx, edx
mov word [ebp - 0xc], cx
jmp 0x100442a5
imul edx, dword [0x100ad140], 0x7a
mov byte [0x100ad037], dl
mov ax, word [ebp - 0x24]
mov ecx, 1
imul edx, ecx, 0x21f6
mov byte [edx + 0x100e7138], al
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
sub eax, 0x99bb7ed
sbb ecx, 0
mov dword [0x100ad108], eax
mov dword [0x100ad10c], ecx
movsx edx, word [ebp - 0x10]
sub edx, 0x2b
movsx eax, word [ebp - 0x14]
imul eax, edx
mov word [ebp - 0x14], ax
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
sub ecx, 0x637d
sbb edx, 0
mov dword [0x100ad108], ecx
mov dword [0x100ad10c], edx
mov dword [ebp - 0xb50], 0
movsx eax, word [ebp - 0x10]
test eax, eax
je 0x100445c3
mov ecx, 3
mov word [ebp - 0x2c], cx
movsx edx, word [ebp - 0xc]
movsx eax, byte [ebp - 1]
add edx, eax
movsx ecx, word [ebp - 0xc]
sub ecx, edx
mov word [ebp - 0xc], cx
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov cl, 1
call fcn.1007a900
mov word [0x100ad0c4], ax
movzx edx, word [0x100ad0f0]
imul edx, dword [ebp - 0x44]
mov byte [str.ZFreeSid], dl
movsx eax, word [0x100ad0c4]
cdq
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0xb54], edx
sub ecx, eax
mov eax, 0x16f20b87
sub eax, ecx
mov byte [0x100ad043], al
xor ecx, ecx
mov dword [ebp - 0x38], 8
mov dword [ebp - 0x34], ecx
movsx edx, word [ebp - 0x2c]
mov dword [ebp - 0x238], edx
cmp dword [ebp - 0x238], 3
ja case.default.0x10044347
mov eax, dword [ebp - 0x238]
jmp dword [eax*4 + 0x1004cea0]
mov eax, dword [0x100ad158]
add eax, 0xd837
cdq
mov dword [0x100ad128], eax
mov dword [0x100ad12c], edx
mov ecx, 2
imul edx, ecx, 0x4bab
movsx eax, word [edx + 0x101f0f48]
movsx ecx, byte [ebp - 1]
sub ecx, eax
mov byte [ebp - 1], cl
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0xb58], eax
sub edx, 0xc02d
mov word [ebp - 0x10], dx
mov ecx, dword [0x100ad148]
mov edx, dword [0x100ad14c]
mov dword [ebp - 0xb5c], edx
sub ecx, 0x43173f0
mov byte [ebp - 4], cl
mov eax, dword [ebp - 0x44]
add eax, 0x51807c63
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov dword [ebp - 0x50], ecx
movsx edx, word [ebp - 0x14]
test edx, edx
je 0x100443d2
mov ax, word [ebp - 0x10]
mov word [ebp - 0x5a], ax
jmp 0x100443dd
mov cx, word [0x100ad0d0]
mov word [ebp - 0x5a], cx
mov dl, byte [ebp - 0x5a]
mov byte [ebp - 1], dl
jmp case.default.0x10044347
mov eax, dword [0x100ad108]
mov ecx, dword [0x100ad10c]
mov dword [ebp - 0xb60], ecx
add eax, 0xf6
mov dword [0x100ad100], eax
movsx edx, byte [ebp - 1]
xor edx, 0xaf6d89df
mov word [0x100ad0b8], dx
movsx eax, byte [0x100ad09a]
shl eax, 7
mov word [ebp - 0x1c], ax
movsx ecx, word [ebp - 0xc]
mov edx, dword [0x100ad100]
sub edx, ecx
mov eax, dword [0x100ad100]
mov ecx, edx
shr eax, cl
mov dword [0x100ad100], eax
movsx ecx, byte [0x100ad043]
sub ecx, 0x6dac277c
mov word [ebp - 0x2c], cx
movsx edx, byte [ebp - 5]
test edx, edx
je 0x1004445f
mov ax, word [ebp - 0x2c]
mov word [ebp - 0x5c], ax
jmp 0x1004446a
mov cx, word [0x100ad0cc]
mov word [ebp - 0x5c], cx
mov dx, word [ebp - 0x5c]
mov word [0x100ad120], dx
jmp case.default.0x10044347
mov eax, dword [0x100ad128]
mov ecx, dword [0x100ad12c]
push 0
push 0x6d
push ecx
push eax
call fcn.1007a8a0
mov dword [0x100ad15c], eax
mov edx, 1
imul eax, edx, 0xb44
mov cl, byte [eax + 0x100e7138]
mov byte [0x100ad00f], cl
mov edx, dword [0x100ad0d8]
mov eax, dword [0x100ad0dc]
mov dword [ebp - 0xb64], eax
and edx, 0x5f92
mov word [0x100ad0b8], dx
mov eax, dword [ebp - 0x50]
cdq
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
sub edx, ecx
sbb eax, esi
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
jmp case.default.0x10044347
cmp dword [ebp - 0x50], 0
jne 0x100444ff
mov dword [ebp - 0x23c], 1
jmp 0x10044509
mov dword [ebp - 0x23c], 0
movsx ecx, byte [0x100ad042]
mov edx, dword [ebp - 0x23c]
sub edx, ecx
jne 0x1004452e
xor eax, eax
mov dword [ebp - 0x5cc], 1
mov dword [ebp - 0x5c8], eax
jmp 0x10044539
xorps xmm0, xmm0
movlpd qword [ebp - 0x5cc], xmm0
movzx eax, word [ebp - 0x18]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [0x100ad118]
cdq
mov edi, dword [0x100ad148]
mov ebx, dword [0x100ad14c]
sub edi, eax
sbb ebx, edx
xor ecx, edi
xor esi, ebx
not ecx
not esi
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
xor edx, dword [ebp - 0x40]
xor eax, dword [ebp - 0x3c]
sub edx, dword [ebp - 0x5cc]
sbb eax, dword [ebp - 0x5c8]
push eax
push edx
push esi
push ecx
call fcn.1007a8a0
mov byte [ebp - 1], al
movzx ecx, word [0x100ad120]
mov edx, dword [0x100ad15c]
sub edx, ecx
mov dword [0x100ad15c], edx
mov ecx, dword [0x100ad108]
mov esi, dword [0x100ad10c]
add ecx, 0xd9a5c816
adc esi, 0x8bda6
mov eax, dword [ebp - 0x50]
cdq
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov dword [ebp - 0x50], eax
jmp 0x1004462b
movsx edx, byte [ebp - 2]
test edx, edx
je 0x1004462b
movsx eax, byte [str.E2_wcsrchr]
movsx ecx, word [0x100ad0d0]
sub eax, ecx
movsx edx, byte [str.E2_wcsrchr]
sub edx, eax
mov byte [str.E2_wcsrchr], dl
movsx eax, byte [ebp - 5]
test eax, eax
je 0x100445fe
movsx ecx, word [ebp - 0x28]
mov dword [ebp - 0x240], ecx
jmp 0x1004460b
movsx edx, byte [0x100ad09a]
mov dword [ebp - 0x240], edx
mov al, byte [ebp - 0x240]
mov byte [ebp - 4], al
movsx ecx, byte [ebp - 2]
movsx edx, byte [0x100ad043]
imul ecx, edx
movsx eax, byte [ebp - 2]
sub eax, ecx
mov byte [ebp - 2], al
mov byte [0x100ad0a6], 2
movzx eax, byte [0x100ad072]
cdq
mov ecx, eax
xor ecx, 0xa83ad346
movsx eax, byte [0x100ad00e]
cdq
or eax, ecx
mov byte [0x100ad00e], al
movsx eax, word [ebp - 0x10]
cdq
mov esi, eax
mov edi, edx
movsx eax, byte [ebp - 4]
not eax
cdq
mov ecx, eax
mov ebx, edx
mov edx, dword [0x100ad0dc]
add ecx, dword [0x100ad0d8]
adc ebx, edx
movsx eax, word [0x100ad0d0]
cdq
mov dword [ebp - 0x92c], esi
mov esi, dword [0x100ad0f8]
sub esi, eax
mov eax, dword [0x100ad0fc]
sbb eax, edx
push eax
push esi
push ebx
push ecx
call fcn.1007a8a0
push edx
push eax
push edi
mov esi, dword [ebp - 0x92c]
push esi
call fcn.1007a8a0
mov word [ebp - 0x1c], ax
mov eax, dword [0x100ad15c]
cdq
mov ecx, dword [0x100ad0f8]
sub ecx, eax
movsx eax, byte [0x100ad00d]
movsx edx, word [0x100ad0c4]
sub eax, edx
not eax
cdq
mov edx, dword [ebp - 0x40]
add edx, 0xa700
add eax, edx
sub ecx, eax
mov word [0x100ad0cc], cx
mov al, byte [0x100ad0a6]
mov byte [ebp - 0xc4], al
cmp byte [ebp - 0xc4], 0
je 0x10044714
cmp byte [ebp - 0xc4], 1
je 0x100447e2
cmp byte [ebp - 0xc4], 2
je 0x10044860
jmp 0x1004488a
movsx eax, word [ebp - 0x1c]
cdq
add eax, 0x94a85c6a
mov word [0x100ad0d0], ax
movsx ecx, word [0x100ad0b0]
shl ecx, 5
mov byte [0x100ad042], cl
mov byte [0x100ad00f], 1
mov edx, dword [0x100ad150]
or edx, dword [0x100ad154]
jne 0x10044755
mov dword [ebp - 0x244], 1
jmp 0x1004475f
mov dword [ebp - 0x244], 0
movsx eax, word [ebp - 0x1c]
test eax, eax
jne 0x10044773
mov dword [ebp - 0x248], 1
jmp 0x1004477d
mov dword [ebp - 0x248], 0
movzx eax, byte [ebp - 3]
movsx ecx, byte [str.E2_wcsrchr]
not ecx
sub eax, ecx
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [0x100ad072]
cdq
or eax, dword [0x100ad0d8]
or edx, dword [0x100ad0dc]
not eax
not edx
and ecx, eax
and esi, edx
movzx eax, byte [0x100ad072]
movsx edx, word [ebp - 0x2c]
add eax, edx
mov edx, dword [ebp - 0x244]
imul edx, dword [ebp - 0x248]
add eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
not eax
not edx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
jmp 0x1004488a
movzx eax, byte [0x100ad00f]
add eax, dword [0x100ad0c8]
mov dword [0x100ad0c8], eax
movsx ecx, word [ebp - 0xc]
movzx edx, byte [0x100ad00f]
sub ecx, edx
mov word [ebp - 0xc], cx
movsx eax, word [ebp - 0x1c]
test eax, eax
je 0x10044819
movsx ecx, word [ebp - 0x28]
mov dword [ebp - 0x24c], ecx
jmp 0x10044826
movsx edx, byte [0x100ad00d]
mov dword [ebp - 0x24c], edx
mov al, byte [ebp - 0x24c]
mov byte [ebp - 4], al
mov ecx, dword [ebp - 0x50]
shl ecx, 2
mov byte [str.px_04X_], cl
mov dx, word [0x100adbec]
mov word [ebp - 0x2c], dx
movzx eax, word [ebp - 0x20]
movsx ecx, byte [str.E2_wcsrchr]
imul eax, ecx
movzx edx, word [ebp - 0x20]
add edx, eax
mov word [ebp - 0x20], dx
jmp 0x1004488a
mov eax, 0x79a7
mov word [0x100ad0b0], ax
movsx ecx, word [ebp - 0x10]
movsx edx, word [ebp - 0x14]
sub ecx, edx
mov word [ebp - 0x10], cx
movzx eax, word [ebp - 0x18]
mov ecx, dword [ebp - 0x30]
sub ecx, eax
mov edx, dword [ebp - 0x30]
add edx, ecx
mov dword [ebp - 0x30], edx
cmp dword [0x100ad0b4], 0
jne 0x1004489f
mov dword [ebp - 0x250], 1
jmp 0x100448a9
mov dword [ebp - 0x250], 0
movzx eax, byte [0x100ad072]
cmp eax, dword [ebp - 0x250]
jg 0x100448c4
mov dword [ebp - 0x254], 1
jmp 0x100448ce
mov dword [ebp - 0x254], 0
movsx ecx, byte [ebp - 5]
cmp dword [ebp - 0x254], ecx
jne 0x100448e6
mov dword [ebp - 0x260], 1
jmp 0x100448f0
mov dword [ebp - 0x260], 0
movsx eax, byte [ebp - 5]
not eax
cdq
mov dword [ebp - 0xa68], eax
mov dword [ebp - 0xa64], edx
mov edx, dword [0x100ad114]
cmp edx, dword [ebp - 0xa64]
jg 0x1004492c
jl 0x10044920
mov eax, dword [0x100ad110]
cmp eax, dword [ebp - 0xa68]
jae 0x1004492c
mov dword [ebp - 0x258], 1
jmp 0x10044936
mov dword [ebp - 0x258], 0
movsx ecx, word [0x100ad0b0]
test ecx, ecx
je 0x10044956
cmp dword [0x100ad140], 0
je 0x10044956
mov dword [ebp - 0x25c], 1
jmp 0x10044960
mov dword [ebp - 0x25c], 0
mov edx, dword [ebp - 0x258]
cmp edx, dword [ebp - 0x25c]
jl 0x1004497a
mov dword [ebp - 0x264], 1
jmp 0x10044984
mov dword [ebp - 0x264], 0
mov eax, dword [ebp - 0x260]
cmp eax, dword [ebp - 0x264]
jle 0x10044bac
xor ecx, ecx
mov dword [0x100ad148], 1
mov dword [0x100ad14c], ecx
movzx edx, word [ebp - 0x20]
xor edx, dword [ebp - 0x30]
movsx eax, byte [ebp - 1]
mov ecx, dword [0x100ad140]
or ecx, eax
imul edx, ecx
xor eax, eax
mov dword [0x100ad0d8], edx
mov dword [0x100ad0dc], eax
mov byte [ebp - 4], 0x44
mov ecx, 8
imul edx, ecx, 0x55
mov ax, word [edx + 0x100e6a58]
mov word [0x100ad0c4], ax
mov eax, dword [0x100ad0a8]
cdq
push 0xc89c3
push 0xd8d2ea11
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
mov eax, dword [0x100ad15c]
cdq
or eax, ecx
mov dword [0x100ad15c], eax
movsx edx, word [ebp - 0x2c]
movsx eax, word [0x100ad0c0]
imul edx, eax
movsx ecx, byte [ebp - 2]
movsx eax, byte [ebp - 4]
and ecx, eax
not ecx
sub edx, ecx
mov dword [0x100ad0b4], edx
movsx ecx, word [ebp - 0x10]
movsx edx, byte [ebp - 4]
sub ecx, edx
movsx eax, word [ebp - 0x10]
add eax, ecx
mov word [ebp - 0x10], ax
mov ecx, dword [0x100ad148]
mov edx, dword [0x100ad14c]
mov dword [ebp - 0x544], ecx
mov dword [ebp - 0x540], edx
mov eax, dword [ebp - 0x544]
or eax, dword [ebp - 0x540]
je 0x10044a81
cmp dword [ebp - 0x544], 1
jne 0x10044a7c
cmp dword [ebp - 0x540], 0
je 0x10044b13
jmp 0x10044ba7
mov ecx, dword [0x100ad0f8]
xor ecx, 0x93
mov word [ebp - 0x10], cx
movsx edx, word [ebp - 0x1c]
or edx, dword [ebp - 0x44]
jne 0x10044aa6
mov dword [ebp - 0x268], 1
jmp 0x10044ab0
mov dword [ebp - 0x268], 0
movsx eax, byte [str.E2_wcsrchr]
not eax
movzx ecx, word [ebp - 0x18]
not ecx
sub eax, ecx
movsx edx, byte [0x100ad037]
not edx
movzx ecx, word [ebp - 0x24]
add edx, dword [ebp - 0x268]
add ecx, edx
not ecx
and eax, ecx
mov word [ebp - 0x14], ax
movzx edx, byte [ebp - 3]
movsx eax, byte [0x100ad00e]
lea ecx, [eax + edx + 0x191cc994]
mov byte [0x100ad00e], cl
mov dx, word [0x100ad120]
mov eax, 1
imul ecx, eax, 0x1a1e
mov byte [ecx + 0x101e9b18], dl
jmp 0x10044ba7
movsx edx, word [0x100ad0cc]
imul eax, edx, 0xa6
mov word [0x100ad0b8], ax
movsx ecx, word [0x100ad130]
movsx edx, word [0x100ad0e4]
sub ecx, edx
mov word [0x100ad130], cx
mov eax, dword [0x100ad0f8]
or eax, dword [0x100ad0fc]
je 0x10044b5e
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x5d4], ecx
mov dword [ebp - 0x5d0], edx
jmp 0x10044b6f
movsx eax, word [ebp - 0x10]
cdq
mov dword [ebp - 0x5d4], eax
mov dword [ebp - 0x5d0], edx
mov al, byte [ebp - 0x5d4]
mov byte [ebp - 5], al
xor ecx, ecx
mov dword [0x100ad160], 0x4775
mov dword [0x100ad164], ecx
mov edx, dword [0x100ad108]
mov eax, dword [0x100ad10c]
mov dword [ebp - 0xb68], eax
and edx, 0x358f63d4
mov dword [0x100ad0c8], edx
jmp 0x10044c35
movzx ecx, byte [0x100ad0a6]
cmp ecx, 5
jle 0x10044bc4
mov dword [ebp - 0x26c], 1
jmp 0x10044bce
mov dword [ebp - 0x26c], 0
movzx edx, byte [0x100ad0a6]
cmp edx, dword [ebp - 0x26c]
jl 0x10044c35
movsx eax, word [ebp - 0xc]
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
movsx eax, word [ebp - 0xc]
cdq
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov word [ebp - 0xc], ax
imul edx, dword [0x100ad100], 0xee71
mov word [0x100ad0cc], dx
mov ax, word [0x100adbec]
mov word [0x100ad0c0], ax
mov cx, word [0x100adbec]
mov word [ebp - 0x1c], cx
movsx edx, byte [0x100ad09a]
movsx eax, word [ebp - 0x14]
sub edx, eax
mov dword [0x100ad0a8], edx
movsx ecx, byte [0x100ad00d]
sub ecx, 0xcb
mov byte [0x100ad037], cl
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
mov dword [ebp - 0xb6c], eax
add edx, 0x3990
mov dword [0x100ad140], edx
mov cx, word [0x100adbec]
mov word [ebp - 0x18], cx
mov edx, dword [ebp - 0x30]
sub edx, 0x82
mov byte [ebp - 5], dl
movsx eax, word [ebp - 0x2c]
xor eax, 0x8b7e566f
mov byte [ebp - 5], al
movsx ecx, byte [0x100ad073]
test ecx, ecx
je 0x10044cb2
movzx edx, word [ebp - 0x24]
mov dword [ebp - 0x270], edx
jmp 0x10044cbb
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x270]
cdq
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
movsx ecx, word [ebp - 0x14]
imul edx, ecx, 0x42
movsx eax, word [0x100ad0e4]
sub eax, edx
mov word [0x100ad0e4], ax
movsx ecx, word [ebp - 0x10]
movsx edx, byte [ebp - 2]
sub edx, dword [0x100ad158]
sub ecx, edx
movsx eax, byte [ebp - 1]
xor eax, dword [0x100ad118]
movzx edx, word [ebp - 0x18]
add eax, edx
imul ecx, eax
mov word [0x100ad120], cx
xor eax, eax
mov byte [ebp - 0x56], al
lea ecx, [ebp - 0x56]
call fcn.10002d00
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x6c]
movzx edx, byte [ecx + 0x13]
test edx, edx
je 0x10044d46
push 0x1010101
push 0x7f31a3e5
push 0
push 0x13
mov eax, dword [ebp - 0x6c]
push eax
call fcn.10040e80
mov ecx, dword [ebp - 0x6c]
mov byte [ecx + 0x13], 0
push 0
push 0
push 0
push 0
mov edx, dword [ebp - 0x6c]
push edx
push 0
push 0
call fcn.100015f0
call eax
mov dword [ebp - 0x70], eax
imul eax, dword [ebp - 0x30], 0x7d4b
mov word [ebp - 0x2c], ax
mov byte [0x100ad0a6], 0xe7
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
push 0xf9757
push 0xc2b4ac3a
push edx
push ecx
call fcn.1007a8a0
mov word [0x100ad0cc], ax
movzx eax, word [0x100ad0ac]
cdq
mov ecx, eax
mov edx, dword [0x100ad0d8]
mov eax, dword [0x100ad0dc]
mov dword [ebp - 0xb70], eax
add ecx, edx
movzx eax, word [0x100ad0ac]
cdq
sub eax, ecx
mov word [0x100ad0ac], ax
movsx ecx, word [ebp - 0x28]
movzx edx, word [0x100ad0f0]
add ecx, edx
mov word [ebp - 0x28], cx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
push 0
push 0xd94
push ecx
push eax
call fcn.1007a8a0
mov word [ebp - 0x18], ax
cmp dword [ebp - 0x70], 0
jne 0x100464f2
mov byte [ebp - 1], 4
movsx edx, byte [0x100ad043]
movsx eax, word [0x100ad0e4]
sub edx, eax
mov byte [0x100ad043], dl
mov ecx, dword [0x100ad138]
add ecx, 0x4cdd
movsx eax, word [ebp - 0x10]
cdq
sub eax, ecx
mov word [ebp - 0x10], ax
mov edx, dword [0x100adbec]
mov dword [ebp - 0x44], edx
movsx eax, byte [0x100ad073]
test eax, eax
jne 0x10044e40
mov dword [ebp - 0x274], 1
jmp 0x10044e4a
mov dword [ebp - 0x274], 0
movsx ecx, word [ebp - 0x2c]
test ecx, ecx
jne 0x10044e5e
mov dword [ebp - 0x278], 1
jmp 0x10044e68
mov dword [ebp - 0x278], 0
mov edx, dword [ebp - 0x274]
add edx, dword [ebp - 0x278]
movsx eax, word [0x100ad0d0]
sub eax, dword [ebp - 0x50]
add edx, eax
mov word [0x100ad130], dx
movsx ecx, byte [ebp - 1]
mov dword [ebp - 0x27c], ecx
cmp dword [ebp - 0x27c], 4
ja case.default.0x10044ea4
mov edx, dword [ebp - 0x27c]
jmp dword [edx*4 + 0x1004ceb0]
movzx eax, byte [0x100ad072]
sub eax, 0x1c
mov byte [0x100ad0a6], al
mov ecx, dword [0x100ad148]
mov edx, dword [0x100ad14c]
push 0
push 0x6c
push edx
push ecx
call fcn.1007a8a0
mov word [ebp - 0x20], ax
movsx eax, word [ebp - 0x10]
cdq
and eax, 0x135887da
and edx, 0x84fea
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movsx eax, byte [0x100ad09a]
test eax, eax
jne 0x10044f0a
xor ecx, ecx
mov dword [ebp - 0x5dc], 1
mov dword [ebp - 0x5d8], ecx
jmp 0x10044f15
xorps xmm0, xmm0
movlpd qword [ebp - 0x5dc], xmm0
mov esi, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x48]
xor esi, dword [ebp - 0x5dc]
xor edi, dword [ebp - 0x5d8]
mov edx, dword [ebp - 0x30]
not edx
movzx eax, byte [ebp - 3]
sub edx, eax
xor ecx, ecx
add esi, edx
adc edi, ecx
movsx eax, byte [0x100ad073]
cdq
mov ecx, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x34]
add ecx, eax
adc ebx, edx
movzx eax, byte [0x100ad00f]
cdq
push edx
push eax
push ebx
push ecx
call fcn.1007a8a0
push edx
push eax
push edi
push esi
call fcn.1007a8a0
mov dword [0x100ad0a8], eax
mov byte [ebp - 4], 2
jmp case.default.0x10044ea4
mov edx, 2
imul eax, edx, 0x911a
mov cx, word [eax + 0x100adbf0]
mov word [ebp - 0x24], cx
movsx eax, byte [ebp - 4]
movsx edx, word [0x100ad0cc]
sub eax, edx
movsx ecx, byte [0x100ad073]
not ecx
add eax, ecx
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movzx edx, word [0x100ad120]
test edx, edx
je 0x10044fc1
movzx eax, word [0x100ad120]
mov dword [ebp - 0x280], eax
jmp 0x10044fcd
mov ecx, dword [0x100ad0b4]
mov dword [ebp - 0x280], ecx
mov edx, dword [ebp - 0x280]
mov dword [ebp - 0x30], edx
movzx eax, byte [ebp - 3]
imul ecx, eax, 0x94ee
mov word [ebp - 0x24], cx
jmp case.default.0x10044ea4
movsx edx, byte [0x100ad043]
not edx
movzx eax, word [0x100ad0f0]
sub edx, eax
jne 0x10045009
mov dword [ebp - 0x284], 1
jmp 0x10045013
mov dword [ebp - 0x284], 0
mov ecx, dword [ebp - 0x44]
imul ecx, dword [0x100ad0b4]
add ecx, dword [ebp - 0x284]
mov word [ebp - 0x1c], cx
mov edx, dword [ebp - 0x40]
sub edx, 0xde
mov word [0x100ad0b8], dx
mov eax, dword [0x100ad0c8]
cdq
add eax, dword [0x100ad150]
mov dword [0x100ad0c8], eax
mov eax, 0xffffe991
mov word [ebp - 0x10], ax
jmp case.default.0x10044ea4
movzx eax, word [ebp - 0x24]
cdq
add eax, dword [0x100ad110]
mov word [ebp - 0x24], ax
movsx ecx, word [ebp - 0xc]
shl ecx, 6
mov byte [ebp - 1], cl
movzx edx, byte [0x100ad072]
add edx, dword [ebp - 0x30]
movzx eax, byte [0x100ad072]
add eax, edx
mov byte [0x100ad072], al
mov ecx, dword [0x100ad100]
add ecx, dword [ebp - 0x40]
mov dword [ebp - 0x30], ecx
movsx eax, byte [ebp - 1]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx edx, word [ebp - 0x14]
imul eax, edx, 0x70adc4de
mov byte [0x100ad072], al
jmp case.default.0x10044ea4
movsx ecx, word [ebp - 0x10]
movsx edx, byte [ebp - 2]
add ecx, edx
jne 0x100450e1
xor eax, eax
mov dword [ebp - 0xa70], 1
mov dword [ebp - 0xa6c], eax
jmp 0x100450ec
xorps xmm0, xmm0
movlpd qword [ebp - 0xa70], xmm0
mov ecx, dword [0x100ad0e8]
or ecx, dword [0x100ad0ec]
jne 0x1004510e
xor edx, edx
mov dword [ebp - 0x5e4], 1
mov dword [ebp - 0x5e0], edx
jmp 0x10045119
xorps xmm0, xmm0
movlpd qword [ebp - 0x5e4], xmm0
mov eax, dword [ebp - 0x5e0]
push eax
mov ecx, dword [ebp - 0x5e4]
push ecx
mov edx, dword [0x100ad154]
push edx
mov eax, dword [0x100ad150]
push eax
call fcn.1007a8a0
mov ecx, dword [ebp - 0xa70]
sub ecx, eax
mov byte [ebp - 3], cl
movsx eax, word [0x100ad0e4]
cdq
mov ecx, eax
add ecx, dword [0x100ad160]
movsx eax, byte [ebp - 2]
cdq
add ecx, eax
mov word [0x100ad0ac], cx
movsx edx, word [0x100ad0d0]
add edx, 0x761c8598
mov dword [0x100ad15c], edx
movzx eax, word [ebp - 0x20]
sar eax, 8
mov byte [ebp - 2], al
movsx ecx, word [ebp - 0x2c]
movsx edx, byte [str.E2_wcsrchr]
sub ecx, edx
movsx eax, word [ebp - 0x2c]
add eax, ecx
mov word [ebp - 0x2c], ax
mov dword [0x100ad0a8], 0x8a272520
xor ecx, ecx
mov word [ebp - 0x10], cx
mov dx, word [0x100ad120]
add dx, 1
mov word [0x100ad120], dx
movsx eax, word [0x100ad0c4]
movzx ecx, word [0x100ad0f0]
sub eax, ecx
mov word [0x100ad0c4], ax
movzx eax, word [0x100ad0ac]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
movzx eax, word [0x100ad0ac]
cdq
add eax, ecx
mov word [0x100ad0ac], ax
movsx eax, byte [str.ZFreeSid]
cdq
add eax, 0xceb74d59
mov dword [0x100ad0c8], eax
mov dword [0x100ad100], 8
movsx edx, word [ebp - 0x10]
mov dword [ebp - 0x930], edx
cmp dword [ebp - 0x930], 0
je 0x10045228
jmp 0x1004527f
movsx eax, word [ebp - 0x10]
movsx ecx, word [ebp - 0x1c]
and eax, ecx
mov word [ebp - 0x10], ax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
push 0
push 0xbc
push eax
push edx
call fcn.1007a8a0
mov byte [ebp - 2], al
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov eax, dword [0x100ad0fc]
push eax
mov eax, dword [0x100ad0f8]
push eax
push edx
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx ecx, word [0x100ad0cc]
add ecx, dword [0x100ad100]
mov dword [0x100ad100], ecx
movsx edx, word [ebp - 0x10]
mov eax, dword [0x100ad0a8]
add eax, edx
cdq
mov dword [ebp - 0xa78], eax
mov dword [ebp - 0xa74], edx
mov eax, dword [0x100ad0e8]
cmp eax, dword [ebp - 0xa78]
jne 0x10045670
mov ecx, dword [0x100ad0ec]
cmp ecx, dword [ebp - 0xa74]
jne 0x10045670
mov dword [ebp - 0xc8], 0x2cd
jmp 0x100452d5
mov edx, dword [ebp - 0xc8]
sub edx, 1
mov dword [ebp - 0xc8], edx
cmp dword [ebp - 0xc8], 0
jle 0x10045374
mov eax, dword [ebp - 0x50]
mov dword [0x100ad0c8], eax
mov eax, dword [ebp - 0x50]
cdq
mov ecx, dword [0x100ad108]
mov esi, dword [0x100ad10c]
add ecx, eax
adc esi, edx
mov edx, dword [0x100ad108]
mov eax, dword [0x100ad10c]
add edx, ecx
adc eax, esi
mov dword [0x100ad108], edx
mov dword [0x100ad10c], eax
mov cl, byte [0x100adbec]
mov byte [ebp - 1], cl
movsx edx, word [0x100ad0d0]
movsx eax, word [ebp - 0x14]
imul edx, eax
mov dword [0x100ad0e0], edx
movzx eax, word [ebp - 0x24]
cdq
mov ecx, eax
sub ecx, 0x1d9abaf6
movsx eax, word [ebp - 0x10]
cdq
sub eax, ecx
mov word [ebp - 0x10], ax
mov edx, dword [0x100adbec]
xor eax, eax
mov dword [0x100ad128], edx
mov dword [0x100ad12c], eax
mov ecx, dword [0x100ad0c8]
add ecx, 1
mov dword [0x100ad0c8], ecx
jmp 0x100452c6
mov edx, dword [0x100ad100]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
xor ecx, ecx
mov dword [0x100ad160], eax
mov dword [0x100ad164], ecx
movzx edx, word [ebp - 0x24]
add edx, 0x6e8b
cmp dword [0x100ad100], edx
jne 0x10045670
xor eax, eax
mov dword [ebp - 0x38], 3
mov dword [ebp - 0x34], eax
mov ecx, 2
mov word [ebp - 0x20], cx
movsx edx, byte [0x100ad037]
imul eax, edx, 0x70
mov word [ebp - 0x1c], ax
movsx ecx, byte [ebp - 5]
mov edx, dword [ebp - 0x30]
sub edx, ecx
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], ecx
cmp dword [ebp - 0x124], 0
jl 0x100455ce
jg 0x10045401
cmp dword [ebp - 0x128], 0
jb 0x100455ce
cmp dword [ebp - 0x124], 0
jg 0x100455ce
jl 0x1004541d
cmp dword [ebp - 0x128], 3
ja 0x100455ce
mov edx, dword [ebp - 0x128]
mov dword [ebp - 0xc54], edx
mov eax, dword [ebp - 0xc54]
jmp dword [eax*4 + 0x1004cec4]
jmp case.default.0x10044ea4
movsx edx, byte [str.ZFreeSid]
movsx eax, byte [str.E2_wcsrchr]
cmp edx, eax
jge 0x1004568e
mov dword [ebp - 0x28c], 1
jmp 0x10045698
mov dword [ebp - 0x28c], 0
movsx ecx, byte [str.ZFreeSid]
cmp ecx, 0x1c
jge 0x100456b0
mov dword [ebp - 0x290], 1
jmp 0x100456ba
mov dword [ebp - 0x290], 0
mov edx, dword [ebp - 0x28c]
cmp edx, dword [ebp - 0x290]
jg 0x10045711
movsx eax, word [ebp - 0x14]
test eax, eax
jne 0x100456d6
mov byte [ebp - 0x52], 1
jmp 0x100456da
mov byte [ebp - 0x52], 0
mov cl, byte [ebp - 0x52]
mov byte [ebp - 1], cl
movsx edx, byte [0x100ad00e]
add edx, 0x59
mov word [ebp - 0x1c], dx
movsx eax, byte [0x100ad00d]
sub eax, 0x5caa
mov dword [ebp - 0x30], eax
movsx ecx, word [ebp - 0x10]
movsx edx, byte [ebp - 5]
sub ecx, edx
movsx eax, word [ebp - 0x10]
sub eax, ecx
mov word [ebp - 0x10], ax
mov ecx, dword [0x100adbec]
mov dword [ebp - 0xcc], ecx
mov ecx, 9
mov esi, str.._AV___Ref_count_U
lea edi, [ebp - 0xc98]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edx, [ebp - 0xc98]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [ebp - 3], al
mov eax, dword [ebp - 0xcc]
add eax, 0x3c5
mov dword [ebp - 0xd4], eax
mov ecx, dword [0x100ad110]
push ecx
call dword [sym.imp.USER32.dll_OpenIcon]
mov word [0x100ad130], ax
mov edx, dword [ebp - 0x934]
add edx, dword [ebp - 0xcc]
mov dword [ebp - 0x2b0], edx
mov eax, dword [ebp - 0xcc]
add eax, 0x265
mov dword [ebp - 0x2b4], eax
mov ecx, 0xb7
mov word [0x100ad0e4], cx
movsx edx, word [ebp - 0x14]
test edx, edx
je 0x10045945
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
movzx eax, byte [ebp - 3]
cdq
mov dword [ebp - 0x6b8], ecx
mov dword [ebp - 0x6b4], esi
mov dword [ebp - 0x6c0], eax
mov dword [ebp - 0x6bc], edx
mov edx, dword [ebp - 0x6b4]
cmp edx, dword [ebp - 0x6bc]
jg 0x10045862
jl 0x100457e5
mov eax, dword [ebp - 0x6b8]
cmp eax, dword [ebp - 0x6c0]
jae 0x10045862
movzx ecx, word [0x100ad0f0]
test ecx, ecx
je 0x1004585d
movsx eax, word [ebp - 0x2c]
cdq
mov ecx, dword [0x100ad150]
sub ecx, eax
mov eax, dword [0x100ad154]
sbb eax, edx
mov dword [0x100ad150], ecx
mov dword [0x100ad154], eax
movsx ecx, byte [0x100ad00d]
imul edx, ecx, 0xc0c73d5c
mov byte [ebp - 2], dl
movzx eax, byte [str.px_04X_]
add eax, 0x561da491
mov byte [0x100ad00e], al
movsx ecx, byte [0x100ad00e]
sub ecx, 0xcf
mov word [ebp - 0x18], cx
movsx edx, byte [0x100ad00e]
mov eax, dword [0x100ad140]
add eax, edx
mov ecx, dword [0x100ad140]
sub ecx, eax
mov dword [0x100ad140], ecx
jmp 0x10045943
movsx edx, word [ebp - 0x14]
test edx, edx
je 0x100458b8
movsx eax, word [ebp - 0x1c]
sub eax, 0xdd
mov ecx, dword [0x100ad158]
sub ecx, eax
mov dword [0x100ad158], ecx
mov dx, word [0x100adbec]
mov word [ebp - 0x14], dx
movsx eax, byte [str.E2_wcsrchr]
cdq
push 0xf44b1
push 0x1a0f5e2e
push edx
push eax
call fcn.1007a8a0
mov word [ebp - 0x1c], ax
movsx eax, word [ebp - 0x14]
add eax, 0x1d
mov byte [ebp - 3], al
jmp 0x10045943
movzx ecx, byte [str.px_04X_]
test ecx, ecx
je 0x100458c7
xor edx, edx
je 0x10045943
movsx eax, word [0x100ad0c4]
test eax, eax
jne 0x100458de
mov dword [ebp - 0x294], 1
jmp 0x100458e8
mov dword [ebp - 0x294], 0
mov eax, dword [ebp - 0x294]
not eax
cdq
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
movzx ecx, word [0x100ad0ac]
mov edx, dword [0x100ad0e0]
xor edx, ecx
mov eax, dword [0x100ad0e0]
or eax, edx
mov dword [0x100ad0e0], eax
movzx ecx, word [0x100ad0f0]
shl ecx, 8
mov byte [ebp - 3], cl
movsx eax, byte [0x100ad00e]
cdq
push 0xd2e3e
push 0x79d8c347
push edx
push eax
call fcn.1007a8a0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
jmp 0x100459a1
movzx edx, byte [0x100ad072]
movsx eax, word [ebp - 0xc]
add edx, eax
movzx ecx, byte [0x100ad072]
or ecx, edx
mov byte [0x100ad072], cl
movsx edx, byte [0x100ad00d]
movzx eax, word [ebp - 0x24]
and edx, eax
movsx ecx, byte [0x100ad00d]
imul ecx, edx
mov byte [0x100ad00d], cl
movsx edx, word [ebp - 0x10]
add edx, dword [0x100ad0c8]
mov byte [0x100ad072], dl
mov eax, dword [0x100adbec]
mov dword [0x100ad158], eax
mov cl, byte [ebp - 0x28]
mov byte [0x100ad09a], cl
movsx edx, word [0x100ad0e4]
movsx eax, word [ebp - 0x10]
add edx, eax
cmp dword [0x100ad140], edx
jne 0x10045e8b
mov byte [ebp - 3], 0
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
sub ecx, 0xb042e0d5
sbb edx, 0xa8a94
push 0x57f84
push 0x330df56
push edx
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x6c8], eax
mov dword [ebp - 0x6c4], edx
mov eax, dword [ebp - 0x6c8]
or eax, dword [ebp - 0x6c4]
jne 0x10045a07
mov dword [ebp - 0x298], 1
jmp 0x10045a11
mov dword [ebp - 0x298], 0
mov ecx, dword [0x100ad118]
xor ecx, dword [ebp - 0x298]
mov byte [ebp - 5], cl
movzx edx, word [0x100ad0f0]
add edx, 0x54cf5ade
mov word [ebp - 0x14], dx
mov al, byte [ebp - 3]
mov byte [ebp - 0x938], al
cmp byte [ebp - 0x938], 0
je 0x10045a48
jmp 0x10045ae1
movzx ecx, word [ebp - 0x20]
test ecx, ecx
je 0x10045a5c
movsx edx, word [ebp - 0x2c]
mov dword [ebp - 0x29c], edx
jmp 0x10045a66
movsx eax, byte [ebp - 5]
mov dword [ebp - 0x29c], eax
mov cx, word [ebp - 0x29c]
mov word [ebp - 0x14], cx
movsx edx, word [0x100ad0e4]
movsx eax, word [0x100ad0c0]
add edx, eax
movsx ecx, word [0x100ad0e4]
or ecx, edx
mov word [0x100ad0e4], cx
movsx edx, word [ebp - 0x28]
add edx, dword [ebp - 0x30]
not edx
mov word [ebp - 0x14], dx
movsx eax, word [ebp - 0x10]
add eax, 0xc534
cdq
mov dword [0x100ad0f8], eax
mov dword [0x100ad0fc], edx
movzx eax, word [ebp - 0x24]
test eax, eax
jne 0x10045ac7
mov dword [ebp - 0x2a0], 1
jmp 0x10045ad1
mov dword [ebp - 0x2a0], 0
movzx ecx, word [0x100ad0f0]
add ecx, dword [ebp - 0x2a0]
mov dword [ebp - 0x50], ecx
mov edx, 2
mov word [0x100ad0b0], dx
movzx eax, byte [ebp - 3]
movzx ecx, word [0x100ad0b8]
imul eax, ecx
not eax
mov edx, 0xa1d6
sub edx, eax
movsx eax, byte [0x100ad09a]
not eax
mov ecx, dword [0x100ad100]
add ecx, dword [0x100ad0b4]
add eax, ecx
imul edx, eax
mov word [ebp - 0x24], dx
movzx eax, byte [str.px_04X_]
cdq
push 0xf6d5b
push 0xa04ac1d
push edx
push eax
call fcn.1007a8a0
mov dword [ebp - 0x6d0], eax
mov dword [ebp - 0x6cc], edx
mov edx, dword [ebp - 0x6d0]
or edx, dword [ebp - 0x6cc]
jne 0x10045b61
mov dword [ebp - 0x2a4], 1
jmp 0x10045b6b
mov dword [ebp - 0x2a4], 0
movsx eax, word [ebp - 0xc]
cdq
mov ecx, eax
add ecx, dword [ebp - 0x40]
and ecx, 0x5f8bce7f
movsx eax, byte [ebp - 1]
movsx edx, byte [0x100ad042]
xor eax, edx
xor eax, dword [ebp - 0x2a4]
cdq
add ecx, eax
not ecx
mov word [ebp - 0xc], cx
mov eax, dword [0x100ad110]
or eax, dword [0x100ad114]
je 0x10045bba
movzx eax, word [0x100ad0ac]
cdq
mov dword [ebp - 0x5ec], eax
mov dword [ebp - 0x5e8], edx
jmp 0x10045bd2
mov ecx, dword [0x100ad0d8]
mov edx, dword [0x100ad0dc]
mov dword [ebp - 0x5ec], ecx
mov dword [ebp - 0x5e8], edx
mov al, byte [ebp - 0x5ec]
mov byte [ebp - 5], al
mov ecx, dword [ebp - 0x30]
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
mov dword [ebp - 0xb78], eax
add ecx, edx
mov dword [ebp - 0x30], ecx
movzx eax, word [ebp - 0x24]
sub eax, 0x6b8c02c8
cdq
mov dword [0x100ad138], eax
mov dword [0x100ad13c], edx
movsx ecx, word [0x100ad0b0]
mov dword [ebp - 0xd0], ecx
cmp dword [ebp - 0xd0], 0
je 0x10045c3e
cmp dword [ebp - 0xd0], 1
je 0x10045cd0
cmp dword [ebp - 0xd0], 2
je 0x10045d1e
jmp 0x10045d80
movsx edx, byte [0x100ad00e]
movzx eax, word [ebp - 0x24]
sub edx, eax
mov byte [0x100ad00e], dl
movzx ecx, word [0x100ad120]
movsx edx, word [ebp - 0x1c]
sub ecx, edx
movzx eax, word [0x100ad120]
add eax, ecx
mov word [0x100ad120], ax
movsx eax, word [0x100ad0c4]
cdq
add eax, 0x7672104b
mov byte [str.ZFreeSid], al
mov byte [str.px_04X_], 0xab
movsx eax, word [0x100ad0c0]
cdq
push 0x87222
push 0xde088c2
push edx
push eax
call fcn.1007a8a0
mov byte [0x100ad037], al
movzx eax, word [ebp - 0x18]
cdq
push 0xa175a
push 0x84ba12e3
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
movzx eax, byte [str.px_04X_]
cdq
sub eax, ecx
mov byte [str.px_04X_], al
jmp 0x10045d80
movsx edx, word [ebp - 0x2c]
mov eax, dword [ebp - 0x50]
imul eax, edx
mov ecx, dword [ebp - 0x50]
and ecx, eax
mov dword [ebp - 0x50], ecx
mov dx, word [ebp - 0xc]
mov word [ebp - 0xc], dx
movsx eax, word [ebp - 0x14]
add eax, 0x3320
movsx ecx, byte [0x100ad042]
sub ecx, eax
mov byte [0x100ad042], cl
mov edx, dword [0x100ad138]
sub edx, 0xc383dff2
mov word [ebp - 0x14], dx
mov eax, dword [ebp - 0x50]
imul eax, dword [ebp - 0x44]
mov dword [ebp - 0x50], eax
jmp 0x10045d80
movsx eax, word [ebp - 0x28]
sub eax, 0xe1
cdq
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], edx
mov eax, dword [0x100ad158]
cdq
sub eax, 0xca5ed7a6
mov word [ebp - 0x24], ax
movsx ecx, word [ebp - 0xc]
movsx edx, byte [ebp - 2]
sub ecx, edx
jne 0x10045d5a
mov dword [ebp - 0x2a8], 1
jmp 0x10045d64
mov dword [ebp - 0x2a8], 0
mov eax, dword [ebp - 0x2a8]
mov dword [0x100ad0c8], eax
movsx ecx, byte [ebp - 4]
imul ecx, dword [ebp - 0x30]
movsx edx, byte [ebp - 4]
add edx, ecx
mov byte [ebp - 4], dl
movzx eax, word [0x100ad0ac]
movzx ecx, word [ebp - 0x18]
add ecx, 0x1b4c
cmp eax, ecx
jne 0x10045e8b
movsx edx, byte [ebp - 4]
mov eax, dword [0x100ad0b4]
sub eax, edx
mov ecx, dword [0x100ad0b4]
sub ecx, eax
mov dword [0x100ad0b4], ecx
movzx edx, byte [0x100ad072]
imul eax, edx, 0x67fc
mov dword [0x100ad100], eax
mov ecx, dword [ebp - 0x40]
or ecx, dword [ebp - 0x3c]
je 0x10045dda
mov edx, dword [0x100ad140]
mov dword [ebp - 0x2ac], edx
jmp 0x10045de5
mov eax, dword [0x100ad0c8]
mov dword [ebp - 0x2ac], eax
mov cl, byte [ebp - 0x2ac]
mov byte [ebp - 4], cl
jmp 0x10045788
mov edx, dword [ebp - 0xd4]
imul edx, dword [ebp - 0x2b0]
or edx, dword [ebp - 0x2b0]
mov eax, dword [ebp - 0x2b4]
imul eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xd4]
imul ecx, dword [ebp - 0x2b4]
add eax, ecx
cmp edx, eax
je 0x100464f2
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
mov dword [ebp - 0xb80], eax
push edx
call dword [sym.imp.USER32.dll_OpenIcon]
mov byte [0x100ad09a], al
mov ecx, 0x25
mov word [0x100ad0cc], cx
mov edx, 3
mov word [ebp - 0x28], dx
cmp dword [ebp - 0x50], 0
jne 0x10045f06
mov dword [ebp - 0x2b8], 1
jmp 0x10045f10
mov dword [ebp - 0x2b8], 0
movsx ecx, word [0x100ad0bc]
add ecx, dword [0x100ad158]
mov edx, dword [0x100ad140]
add edx, 0x940b
imul ecx, edx
xor esi, esi
movzx eax, word [0x100ad0ac]
mov edx, dword [ebp - 0x2b8]
sub edx, eax
mov eax, edx
cdq
mov edi, dword [0x100ad150]
not edi
mov ebx, dword [0x100ad154]
not ebx
add edi, 0x732c
adc ebx, 0
add eax, edi
adc edx, ebx
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov byte [0x100ad00d], al
mov eax, dword [0x100ad118]
cdq
mov ecx, eax
sub ecx, dword [ebp - 0x40]
mov eax, dword [0x100ad118]
cdq
add eax, ecx
mov dword [0x100ad118], eax
mov edx, dword [ebp - 0x44]
xor eax, eax
sub edx, 0x53f4fc9f
sbb eax, 0xdf38b
mov dword [ebp - 0x6d8], edx
mov dword [ebp - 0x6d4], eax
mov ecx, dword [ebp - 0x6d8]
or ecx, dword [ebp - 0x6d4]
jne 0x10045fc1
xor edx, edx
mov dword [ebp - 0x6e0], 1
mov dword [ebp - 0x6dc], edx
jmp 0x10045fcc
xorps xmm0, xmm0
movlpd qword [ebp - 0x6e0], xmm0
movsx eax, byte [ebp - 1]
cdq
and eax, dword [0x100ad150]
add eax, dword [ebp - 0x6e0]
not eax
mov word [0x100ad0c4], ax
movzx eax, word [ebp - 0x18]
test eax, eax
jne 0x10045ff9
mov dword [ebp - 0x2bc], 1
jmp 0x10046003
mov dword [ebp - 0x2bc], 0
movsx ecx, byte [ebp - 1]
mov eax, ecx
imul eax, dword [ebp - 0x2bc]
cdq
mov edx, dword [0x100ad150]
not edx
add eax, edx
mov byte [0x100ad00f], al
mov eax, dword [ebp - 0x44]
imul eax, dword [0x100ad100]
imul eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], eax
movsx ecx, word [ebp - 0x28]
mov dword [ebp - 0x2c0], ecx
cmp dword [ebp - 0x2c0], 3
ja case.default.0x1004604e
mov edx, dword [ebp - 0x2c0]
jmp dword [edx*4 + 0x1004ced4]
movzx eax, byte [ebp - 3]
cdq
xor eax, dword [0x100ad0f8]
mov byte [ebp - 3], al
movsx eax, word [ebp - 0x1c]
test eax, eax
jne 0x10046077
mov dword [ebp - 0x2c8], 1
jmp 0x10046081
mov dword [ebp - 0x2c8], 0
movzx ecx, byte [ebp - 3]
test ecx, ecx
jne 0x10046095
mov dword [ebp - 0x2c4], 1
jmp 0x1004609f
mov dword [ebp - 0x2c4], 0
movsx edx, byte [0x100ad037]
xor edx, dword [ebp - 0x2c4]
jne 0x100460ba
mov dword [ebp - 0x2cc], 1
jmp 0x100460c4
mov dword [ebp - 0x2cc], 0
movsx eax, word [ebp - 0xc]
add eax, dword [0x100ad0c8]
add eax, dword [ebp - 0x2c8]
not eax
movsx ecx, word [ebp - 0x10]
mov edx, dword [0x100ad0c8]
sub edx, ecx
xor edx, dword [ebp - 0x2cc]
add eax, edx
jne 0x100460f8
mov dword [ebp - 0x2d0], 1
jmp 0x10046102
mov dword [ebp - 0x2d0], 0
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x50], eax
movzx ecx, byte [str.px_04X_]
movsx edx, word [0x100ad0cc]
imul ecx, edx
movzx eax, byte [str.px_04X_]
add eax, ecx
mov byte [str.px_04X_], al
mov ecx, 0xd625
mov word [0x100ad0f0], cx
imul edx, dword [ebp - 0x30], 0xa3
mov eax, dword [ebp - 0x50]
sub eax, edx
mov dword [ebp - 0x50], eax
jmp case.default.0x1004604e
movzx eax, word [0x100ad0f0]
cdq
sub eax, 0x4c40221a
mov byte [ebp - 1], al
movzx ecx, byte [ebp - 3]
sar ecx, 1
mov dword [0x100ad0a8], ecx
movzx eax, byte [str.px_04X_]
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
jmp case.default.0x1004604e
cmp dword [0x100ad0b4], 0
je 0x1004618e
movsx edx, word [ebp - 0xc]
mov dword [ebp - 0x2d4], edx
jmp 0x10046197
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x2d4], eax
mov cl, byte [ebp - 0x2d4]
mov byte [str.px_04X_], cl
movsx edx, word [ebp - 0x1c]
test edx, edx
je 0x100461b7
movzx eax, byte [ebp - 3]
mov dword [ebp - 0x2d8], eax
jmp 0x100461c4
movsx ecx, byte [0x100ad037]
mov dword [ebp - 0x2d8], ecx
mov dl, byte [ebp - 0x2d8]
mov byte [ebp - 1], dl
movsx eax, byte [0x100ad00e]
cdq
mov ecx, eax
mov esi, edx
add ecx, 0x882e2c98
adc esi, 0xde942
movsx edx, byte [ebp - 1]
mov eax, dword [0x100ad118]
imul eax, edx
cdq
add ecx, eax
adc esi, edx
mov dword [ebp - 0x6e8], ecx
mov dword [ebp - 0x6e4], esi
mov eax, dword [ebp - 0x6e8]
or eax, dword [ebp - 0x6e4]
jne 0x10046216
mov byte [ebp - 0x53], 1
jmp 0x1004621a
mov byte [ebp - 0x53], 0
mov cl, byte [ebp - 0x53]
mov byte [0x100ad043], cl
movsx edx, byte [str.E2_wcsrchr]
imul eax, edx, 0xf9
mov word [ebp - 0x24], ax
movsx ecx, word [ebp - 0x28]
movsx edx, byte [ebp - 1]
lea eax, [edx + ecx + 1]
mov byte [ebp - 1], al
movsx ecx, word [ebp - 0x28]
test ecx, ecx
jne 0x10046257
mov dword [ebp - 0x2dc], 1
jmp 0x10046261
mov dword [ebp - 0x2dc], 0
mov edx, dword [0x100ad140]
not edx
mov ecx, edx
sub ecx, dword [ebp - 0x40]
movzx eax, byte [ebp - 3]
sub eax, dword [ebp - 0x2dc]
cdq
sub ecx, eax
mov byte [ebp - 1], cl
jmp case.default.0x1004604e
movzx edx, byte [ebp - 3]
sub edx, dword [0x100ad0e0]
movzx eax, word [0x100ad120]
xor edx, eax
mov word [ebp - 0x14], dx
mov cl, byte [0x100ad0d0]
mov byte [ebp - 4], cl
movsx edx, byte [0x100ad043]
movsx eax, byte [ebp - 2]
sub edx, eax
movsx ecx, byte [0x100ad043]
add ecx, edx
mov byte [0x100ad043], cl
movsx edx, word [ebp - 0xc]
movsx eax, byte [str.E2_wcsrchr]
imul edx, eax
movsx ecx, word [ebp - 0xc]
add ecx, edx
mov word [ebp - 0xc], cx
movsx eax, word [0x100ad0cc]
cdq
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
add ecx, 1
adc esi, 0
mov dword [ebp - 0x6f0], eax
mov dword [ebp - 0x6ec], edx
mov dword [ebp - 0x6f8], ecx
mov dword [ebp - 0x6f4], esi
mov edx, dword [ebp - 0x6f0]
cmp edx, dword [ebp - 0x6f8]
jne 0x100463e1
mov eax, dword [ebp - 0x6ec]
cmp eax, dword [ebp - 0x6f4]
jne 0x100463e1
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov byte [0x100ad042], al
cmp dword [0x100ad118], 1
jne 0x100463e1
movzx ecx, word [ebp - 0x18]
imul edx, ecx, 0x8d
mov dword [ebp - 0x44], edx
movsx eax, word [0x100ad0c0]
imul eax, dword [0x100ad100]
mov ecx, dword [0x100ad100]
sub ecx, eax
mov dword [0x100ad100], ecx
movsx eax, byte [0x100ad037]
add eax, 0xf3c2
cdq
mov dword [0x100ad148], eax
mov dword [0x100ad14c], edx
mov edx, dword [0x100ad0a8]
mov eax, 1
imul ecx, eax, 0x62
mov byte [ecx + 0x100bffd8], dl
mov dx, word [0x100ad0f8]
mov eax, 2
imul ecx, eax, 0x7f
mov word [ecx + 0x100df228], dx
mov dx, word [0x100adbec]
mov word [ebp - 0x2c], dx
jmp 0x100463e1
mov eax, 0x25
mov word [0x100ad0cc], ax
movsx eax, word [ebp - 0x2c]
cdq
sub eax, dword [0x100ad138]
mov word [ebp - 0x2c], ax
movsx ecx, word [ebp - 0x14]
test ecx, ecx
jne 0x1004640f
mov dword [ebp - 0x2e0], 1
jmp 0x10046419
mov dword [ebp - 0x2e0], 0
movsx edx, word [ebp - 0x1c]
movsx eax, byte [0x100ad042]
add edx, eax
movsx ecx, word [0x100ad0b0]
imul ecx, dword [ebp - 0x2e0]
xor edx, ecx
mov word [ebp - 0x2c], dx
mov dx, word [ebp - 0x24]
mov byte [ebp - 2], dl
movzx eax, word [0x100ad120]
cdq
sub eax, dword [ebp - 0x40]
mov word [ebp - 0xc], ax
movsx eax, byte [0x100ad00e]
mov ecx, dword [0x100ad140]
sub ecx, eax
mov edx, dword [0x100ad140]
add edx, ecx
mov dword [0x100ad140], edx
mov eax, 0xd36fe
mov dword [0x100ad148], 0x26b68683
mov dword [0x100ad14c], eax
movsx ecx, byte [0x100ad00e]
movsx edx, word [ebp - 0x2c]
imul ecx, edx
movsx eax, byte [0x100ad00e]
add eax, ecx
mov byte [0x100ad00e], al
mov eax, dword [0x100ad158]
cdq
push 0xa09c5
push 0x1b54e3a4
push edx
push eax
call fcn.1007a8a0
mov word [0x100ad0d0], ax
movsx ecx, word [0x100ad0c0]
mov edx, dword [0x100ad140]
add edx, ecx
mov eax, dword [0x100ad140]
mov ecx, edx
shl eax, cl
mov dword [0x100ad140], eax
movsx ecx, byte [0x100ad042]
add ecx, 0x30ed26d0
mov word [0x100ad0ac], cx
xor eax, eax
jmp 0x1004ce84
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx edx, ax
mov dword [0x100ad0a8], edx
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
mov eax, dword [ebp + 0xc]
push eax
push 0
push 0
call fcn.10001530
call eax
mov dword [ebp - 0x80], eax
push 0
push 0x84000000
push 0
push 0
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x70]
push edx
push 0
push 0
call fcn.10001680
call eax
mov dword [ebp - 0x448], eax
xor eax, eax
mov dword [0x100ad148], 0xe9
mov dword [0x100ad14c], eax
mov dword [ebp - 0x44], 3
movsx ecx, word [0x100ad130]
imul eax, ecx, 0x9941c57
cdq
mov dword [0x100ad108], eax
mov dword [0x100ad10c], edx
mov edx, dword [0x100ad118]
add edx, 1
mov dword [0x100ad118], edx
movsx eax, word [ebp - 0xc]
sub eax, 0x14f2cf1d
mov word [ebp - 0xc], ax
mov ecx, dword [0x100ad100]
add ecx, 0x6b49
movzx edx, word [0x100ad0f0]
sub edx, ecx
mov word [0x100ad0f0], dx
movsx eax, byte [ebp - 4]
cdq
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x2e4], edx
cmp dword [ebp - 0x2e4], 3
ja case.default.0x100465f7
mov eax, dword [ebp - 0x2e4]
jmp dword [eax*4 + 0x1004cee4]
movsx ecx, byte [0x100ad00e]
add ecx, 0x5b
mov dword [ebp - 0x44], ecx
mov dl, byte [ebp - 1]
mov byte [ebp - 3], dl
movzx eax, byte [ebp - 3]
movsx ecx, word [0x100ad130]
sub eax, ecx
jne 0x10046634
xor edx, edx
mov dword [ebp - 0x700], 1
mov dword [ebp - 0x6fc], edx
jmp 0x1004663f
xorps xmm0, xmm0
movlpd qword [ebp - 0x700], xmm0
mov ecx, dword [0x100ad148]
mov edx, dword [0x100ad14c]
mov dword [ebp - 0xb84], edx
not ecx
movzx eax, byte [ebp - 3]
not eax
cdq
add ecx, eax
add ecx, dword [ebp - 0x700]
mov dword [0x100ad158], ecx
jmp case.default.0x100465f7
xor eax, eax
mov dword [0x100ad0e8], 0xd53
mov dword [0x100ad0ec], eax
movsx ecx, word [ebp - 0xc]
movsx edx, byte [ebp - 5]
imul ecx, edx
movsx eax, word [ebp - 0xc]
and eax, ecx
mov word [ebp - 0xc], ax
movsx eax, byte [ebp - 1]
cdq
mov ecx, dword [0x100ad160]
add ecx, dword [ebp - 0x40]
not ecx
sub eax, ecx
mov byte [ebp - 1], al
movsx eax, byte [ebp - 2]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x708], ecx
mov dword [ebp - 0x704], esi
mov edx, dword [ebp - 0x708]
or edx, dword [ebp - 0x704]
jne 0x100466dd
mov dword [ebp - 0x2e8], 1
jmp 0x100466e7
mov dword [ebp - 0x2e8], 0
mov eax, dword [ebp - 0x2e8]
add eax, 0x4fb6
mov dword [0x100ad0b4], eax
jmp case.default.0x100465f7
movsx ecx, word [0x100ad0e4]
sub ecx, dword [0x100ad0e0]
movsx edx, word [0x100ad0e4]
sub edx, ecx
mov word [0x100ad0e4], dx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
push 0
push 0xff
push ecx
push eax
call fcn.1007a8a0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov edx, dword [ebp - 0x50]
xor edx, 0xd001
mov byte [ebp - 5], dl
jmp case.default.0x100465f7
movzx eax, word [0x100ad0ac]
sub eax, 0x7074d584
mov byte [0x100ad00d], al
movsx ecx, byte [0x100ad043]
add ecx, 0x3731ba6d
mov byte [0x100ad037], cl
movsx eax, byte [ebp - 4]
cdq
mov ecx, eax
add ecx, dword [0x100ad110]
movsx eax, byte [ebp - 4]
cdq
add eax, ecx
mov byte [ebp - 4], al
mov byte [ebp - 4], 0
movsx edx, word [0x100ad11c]
imul eax, edx, 0x38
cdq
mov ecx, dword [0x100ad128]
mov esi, dword [0x100ad12c]
add ecx, eax
adc esi, edx
mov dword [0x100ad128], ecx
mov dword [0x100ad12c], esi
mov ecx, dword [0x100ad148]
mov esi, dword [0x100ad14c]
movzx eax, word [ebp - 0x18]
add eax, 1
cdq
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 0x100469ff
mov eax, dword [ebp - 0x70c]
cmp eax, dword [ebp - 0x714]
jne 0x100469ff
movsx eax, word [ebp - 0x2c]
sub eax, 4
cdq
mov dword [0x100ad0d8], eax
mov dword [0x100ad0dc], edx
mov ecx, dword [0x100ad0e8]
sub ecx, 0xb8e13466
mov edx, dword [0x100ad0ec]
sbb edx, 0xec401
mov dword [0x100ad0e8], ecx
mov dword [0x100ad0ec], edx
mov eax, dword [0x100ad0e8]
sub eax, 0x42
mov ecx, dword [0x100ad0ec]
sbb ecx, 0
mov edx, dword [ebp - 0x30]
xor esi, esi
push ecx
push eax
push esi
push edx
call fcn.1007a8a0
mov dword [ebp - 0x30], eax
movsx eax, word [0x100ad130]
movsx ecx, word [0x100ad0e4]
sub eax, ecx
movsx edx, byte [ebp - 1]
imul eax, edx
mov word [0x100ad0d0], ax
movsx eax, byte [ebp - 2]
movzx ecx, word [ebp - 0x18]
not ecx
cmp eax, ecx
jne 0x10046887
mov dword [ebp - 0x2ec], 1
jmp 0x10046891
mov dword [ebp - 0x2ec], 0
movsx edx, word [ebp - 0x10]
cmp edx, dword [ebp - 0x2ec]
jg 0x1004693e
movzx eax, word [0x100ad0b8]
test eax, eax
je 0x100468c3
movzx ecx, byte [0x100ad072]
test ecx, ecx
je 0x100468c3
mov dword [ebp - 0x2f0], 1
jmp 0x100468cd
mov dword [ebp - 0x2f0], 0
mov edx, dword [0x100ad100]
not edx
test edx, edx
je 0x100468ed
movsx eax, byte [ebp - 2]
test eax, eax
je 0x100468ed
mov dword [ebp - 0x2f4], 1
jmp 0x100468f7
mov dword [ebp - 0x2f4], 0
mov ecx, dword [ebp - 0x2f0]
cmp ecx, dword [ebp - 0x2f4]
jg 0x1004693e
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x2f8], eax
cmp dword [ebp - 0x2f8], 0
je 0x1004693e
mov dword [ebp - 0x93c], 1
mov edx, dword [ebp - 0x93c]
push edx
mov eax, dword [ebp - 0x2f8]
push eax
call dword [sym.imp.USER32.dll_GetSystemMenu]
mov dword [ebp - 0xb88], eax
movzx ecx, word [0x100ad0f0]
cmp ecx, 1
jne 0x100469ff
movsx edx, byte [0x100ad043]
xor edx, 0xca
mov byte [0x100ad073], dl
movsx eax, word [ebp - 0x1c]
add eax, 0x40
mov word [0x100ad0f0], ax
mov eax, dword [ebp - 0x50]
cdq
mov ecx, eax
mov esi, edx
and ecx, 0x788253f7
and esi, 0x356c7
movsx eax, byte [ebp - 2]
cdq
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov byte [ebp - 2], al
jmp 0x100469ff
xor ecx, ecx
mov dword [0x100ad148], 0xe9
mov dword [0x100ad14c], ecx
mov eax, dword [0x100ad0b4]
cdq
mov ecx, eax
add ecx, dword [ebp - 0x40]
mov eax, dword [0x100ad0b4]
cdq
or eax, ecx
mov dword [0x100ad0b4], eax
mov edx, 2
imul eax, edx, 0xa75
mov cx, word [eax + 0x101f0f48]
mov word [0x100ad0ac], cx
mov edx, dword [0x100ad140]
sub edx, 0x8fc9d934
mov word [0x100ad0f0], dx
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x44]
sub ecx, eax
mov dword [ebp - 0x44], ecx
movsx edx, word [ebp - 0x1c]
add edx, dword [ebp - 0x30]
mov dword [0x100ad0a8], edx
movzx eax, byte [0x100ad0a6]
movsx ecx, word [0x100ad0d0]
cmp eax, ecx
jne 0x10046a8e
mov dword [ebp - 0x2fc], 1
jmp 0x10046a98
mov dword [ebp - 0x2fc], 0
movzx edx, byte [0x100ad0a6]
cmp edx, 0x43
jne 0x10046ab0
mov dword [ebp - 0x300], 1
jmp 0x10046aba
mov dword [ebp - 0x300], 0
mov eax, dword [ebp - 0x2fc]
cmp eax, dword [ebp - 0x300]
jne 0x10046bec
movsx eax, word [ebp - 0x1c]
sub eax, 0x21
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx ecx, byte [0x100ad037]
test ecx, ecx
jne 0x10046af1
mov dword [ebp - 0x304], 1
jmp 0x10046afb
mov dword [ebp - 0x304], 0
mov edx, dword [0x100ad0b4]
add edx, dword [ebp - 0x304]
jne 0x10046b15
mov dword [ebp - 0x308], 1
jmp 0x10046b1f
mov dword [ebp - 0x308], 0
movsx eax, byte [0x100ad037]
movsx ecx, byte [ebp - 1]
sub eax, ecx
add eax, dword [ebp - 0x308]
cdq
and eax, 0xd911caca
and edx, 0x64fda
mov dword [ebp - 0x720], eax
mov dword [ebp - 0x71c], edx
mov edx, dword [ebp - 0x720]
or edx, dword [ebp - 0x71c]
jne 0x10046b6c
xor eax, eax
mov dword [ebp - 0x5f4], 1
mov dword [ebp - 0x5f0], eax
jmp 0x10046b77
xorps xmm0, xmm0
movlpd qword [ebp - 0x5f4], xmm0
mov ecx, dword [ebp - 0x5f4]
mov edx, dword [ebp - 0x5f0]
mov dword [0x100ad160], ecx
mov dword [0x100ad164], edx
mov eax, dword [0x100ad0e8]
or eax, dword [0x100ad0ec]
je 0x10046bb2
movzx eax, word [0x100ad0ac]
cdq
mov dword [ebp - 0x5fc], eax
mov dword [ebp - 0x5f8], edx
jmp 0x10046bc4
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x5fc], ecx
mov dword [ebp - 0x5f8], edx
mov eax, dword [ebp - 0x5fc]
mov dword [ebp - 0x44], eax
mov eax, dword [0x100ad0d8]
mov edx, dword [0x100ad0dc]
mov cl, 4
call fcn.1007a8e0
mov dword [ebp - 0x44], eax
movsx ecx, byte [ebp - 2]
sar ecx, 2
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x30c]
or edx, 0x3ce
cmp edx, dword [ebp - 0x30c]
je 0x1004777d
xor eax, eax
mov dword [0x100ad148], 0xba07
mov dword [0x100ad14c], eax
mov eax, dword [0x100ad0b4]
cdq
xor eax, 0x662cf55e
xor edx, 0x4e369
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movsx ecx, byte [ebp - 5]
imul edx, ecx, 0x2d
mov word [ebp - 0x2c], dx
mov byte [0x100ad00d], 0x77
mov eax, dword [0x100ad0e8]
or eax, dword [0x100ad0ec]
je 0x10046d57
movsx eax, word [ebp - 0x14]
cdq
mov dword [ebp - 0x728], eax
mov dword [ebp - 0x724], edx
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [ebp - 0x724]
jb 0x10046d57
ja 0x10046c80
mov edx, dword [ebp - 0x40]
cmp edx, dword [ebp - 0x728]
jbe 0x10046d57
movsx eax, byte [ebp - 2]
imul ecx, eax, 0x27ebb338
mov word [ebp - 0x24], cx
movsx edx, byte [0x100ad09a]
test edx, edx
je 0x10046ca5
movsx eax, byte [ebp - 4]
mov dword [ebp - 0x310], eax
jmp 0x10046cb2
movsx ecx, word [0x100ad0b0]
mov dword [ebp - 0x310], ecx
mov dx, word [ebp - 0x310]
mov word [ebp - 0x10], dx
movzx eax, word [ebp - 0x20]
cdq
mov ecx, eax
movzx eax, word [ebp - 0x24]
cdq
mov edx, dword [0x100ad0e8]
not edx
add eax, edx
sub ecx, eax
not ecx
movsx eax, word [ebp - 0xc]
cdq
mov esi, eax
add esi, 0xe5b9e380
movsx eax, word [0x100ad0bc]
movsx edx, word [0x100ad0c4]
and eax, edx
cdq
sub esi, eax
add ecx, esi
mov byte [ebp - 3], cl
mov dword [ebp - 0x50], 0x87e6dd6
movzx eax, word [0x100ad0b8]
movsx ecx, word [ebp - 0x1c]
imul eax, ecx
mov word [0x100ad0b8], ax
movsx edx, byte [0x100ad043]
test edx, edx
je 0x10046d3b
mov eax, dword [0x100ad160]
mov ecx, dword [0x100ad164]
mov dword [ebp - 0x654], eax
mov dword [ebp - 0x650], ecx
jmp 0x10046d4c
movzx eax, word [ebp - 0x18]
cdq
mov dword [ebp - 0x654], eax
mov dword [ebp - 0x650], edx
mov dx, word [ebp - 0x654]
mov word [ebp - 0x24], dx
movsx eax, word [0x100ad0b0]
movsx ecx, byte [0x100ad00d]
movzx edx, word [ebp - 0x18]
add ecx, edx
cmp eax, ecx
jne 0x100472fc
mov dword [ebp - 0x44], 3
movsx eax, word [ebp - 0xc]
movsx ecx, word [0x100ad0b0]
add eax, ecx
movsx edx, word [ebp - 0xc]
sub edx, eax
mov word [ebp - 0xc], dx
movsx eax, byte [ebp - 1]
sub eax, 0xe5
movsx ecx, byte [ebp - 2]
sub ecx, eax
mov byte [ebp - 2], cl
cmp dword [ebp - 0x30], 0
jne 0x10046db5
mov dword [ebp - 0x314], 1
jmp 0x10046dbf
mov dword [ebp - 0x314], 0
movsx edx, word [0x100ad0d0]
mov eax, dword [ebp - 0x314]
sub eax, edx
not eax
movsx ecx, byte [ebp - 1]
not ecx
sub ecx, 0x130f
xor eax, ecx
cdq
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
movsx edx, word [0x100ad11c]
movsx eax, word [ebp - 0x2c]
xor edx, eax
jne 0x10046e0d
xor ecx, ecx
mov dword [ebp - 0x65c], 1
mov dword [ebp - 0x658], ecx
jmp 0x10046e18
xorps xmm0, xmm0
movlpd qword [ebp - 0x65c], xmm0
mov edx, dword [ebp - 0x65c]
mov eax, dword [ebp - 0x658]
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x318], ecx
cmp dword [ebp - 0x318], 3
ja case.default.0x10046e46
mov edx, dword [ebp - 0x318]
jmp dword [edx*4 + 0x1004cef4]
movsx eax, byte [str.ZFreeSid]
sub eax, dword [0x100ad0e0]
movsx ecx, byte [str.ZFreeSid]
imul ecx, eax
mov byte [str.ZFreeSid], cl
mov ecx, dword [ebp - 0x30]
sub ecx, 0x89baff02
movsx eax, byte [0x100ad073]
cdq
add eax, ecx
mov byte [0x100ad073], al
movzx edx, byte [0x100ad072]
add edx, dword [0x100ad100]
mov dword [0x100ad100], edx
movsx eax, byte [ebp - 1]
cdq
add eax, 0xe6e250e6
mov byte [0x100ad043], al
jmp case.default.0x10046e46
movsx eax, word [ebp - 0xc]
imul ecx, eax, 0x65
mov byte [str.ZFreeSid], cl
movzx edx, byte [0x100ad00f]
imul eax, edx, 0x83
mov word [0x100ad0f0], ax
movsx eax, word [ebp - 0x14]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], esi
movsx edx, byte [0x100ad00e]
not edx
movzx eax, word [ebp - 0x20]
add edx, eax
jne 0x10046f03
xor ecx, ecx
mov dword [ebp - 0x66c], 1
mov dword [ebp - 0x668], ecx
jmp 0x10046f0e
xorps xmm0, xmm0
movlpd qword [ebp - 0x66c], xmm0
mov edx, dword [ebp - 0x66c]
mov eax, dword [ebp - 0x668]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
movsx ecx, byte [0x100ad09a]
sar ecx, 2
mov byte [ebp - 5], cl
movsx edx, byte [str.E2_wcsrchr]
add edx, 0x8f
mov word [ebp - 0x2c], dx
jmp case.default.0x10046e46
movzx eax, word [ebp - 0x20]
add eax, 0xb9
mov byte [ebp - 5], al
movzx ecx, word [0x100ad0b8]
xor edx, edx
sub edx, ecx
mov byte [str.ZFreeSid], dl
movsx eax, word [ebp - 0x14]
cdq
mov ecx, eax
sub ecx, dword [0x100ad160]
movsx eax, word [ebp - 0x14]
cdq
sub eax, ecx
mov word [ebp - 0x14], ax
mov edx, dword [0x100ad140]
add edx, 0xbf7a
mov word [0x100ad120], dx
jmp case.default.0x10046e46
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov cl, 4
call fcn.1007a9b0
mov word [0x100ad0b8], ax
mov byte [str.px_04X_], 0xa0
mov ax, word [ebp - 0x28]
sub ax, 1
mov word [ebp - 0x28], ax
mov dword [ebp - 0xd8], 0x1fe9
movsx ecx, byte [ebp - 4]
test ecx, ecx
jne 0x10046fd6
xor edx, edx
mov dword [ebp - 0x554], 1
mov dword [ebp - 0x550], edx
jmp 0x10046fe1
xorps xmm0, xmm0
movlpd qword [ebp - 0x554], xmm0
mov eax, dword [ebp - 0x554]
mov ecx, dword [ebp - 0x550]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
mov dx, word [ebp - 0x2c]
add dx, 1
mov word [ebp - 0x2c], dx
movsx eax, byte [ebp - 4]
add eax, 0xa4f1
mov word [ebp - 0xc], ax
movzx eax, word [ebp - 0x24]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [ebp - 0x40]
add edx, 0x654dc529
mov eax, dword [ebp - 0x3c]
adc eax, 0
add ecx, edx
adc esi, eax
movsx eax, word [ebp - 0x1c]
not eax
movsx edx, byte [0x100ad073]
not edx
xor eax, edx
cdq
sub ecx, eax
sbb esi, edx
mov dword [0x100ad128], ecx
mov dword [0x100ad12c], esi
mov eax, dword [ebp - 0x50]
add eax, 0x57
movsx ecx, word [ebp - 0x28]
xor ecx, eax
mov word [ebp - 0x28], cx
cmp dword [ebp - 0xd8], 0x1e6a
jle 0x1004715a
movzx edx, word [ebp - 0x18]
movsx eax, byte [str.ZFreeSid]
cmp edx, eax
jne 0x100470c3
mov ecx, dword [ebp - 0x50]
add ecx, 0xd3
mov edx, dword [0x100ad118]
or edx, ecx
mov dword [0x100ad118], edx
imul eax, dword [ebp - 0x50], 0x80ace3d6
mov word [0x100ad0bc], ax
imul eax, dword [ebp - 0x50], 0x59f090e9
cdq
mov dword [0x100ad128], eax
mov dword [0x100ad12c], edx
movsx ecx, word [ebp - 0x2c]
imul eax, ecx, 0x75
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
jmp 0x10047146
mov ecx, dword [0x100ad148]
mov esi, dword [0x100ad14c]
mov eax, dword [0x100ad0b4]
cdq
mov dword [ebp - 0x730], ecx
mov dword [ebp - 0x72c], esi
mov dword [ebp - 0x738], eax
mov dword [ebp - 0x734], edx
mov edx, dword [ebp - 0x730]
cmp edx, dword [ebp - 0x738]
jne 0x10047146
mov eax, dword [ebp - 0x72c]
cmp eax, dword [ebp - 0x734]
jne 0x10047146
movzx ecx, word [ebp - 0x24]
sub ecx, dword [ebp - 0x50]
movzx edx, word [ebp - 0x24]
sub edx, ecx
mov word [ebp - 0x24], dx
movzx eax, byte [ebp - 3]
not eax
mov ecx, dword [ebp - 0x50]
add ecx, eax
mov dword [ebp - 0x44], ecx
movsx eax, byte [0x100ad09a]
cdq
add eax, dword [ebp - 0x40]
adc edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
sub ecx, eax
mov eax, dword [ebp - 0x3c]
sbb eax, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0xd8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
jmp 0x1004705a
movsx eax, word [ebp - 0x10]
cdq
add eax, 0xbe5aa5bb
adc edx, 0x51da7
mov dword [ebp - 0x740], eax
mov dword [ebp - 0x73c], edx
mov edx, dword [0x100ad138]
cmp edx, dword [ebp - 0x740]
jne 0x100472fc
mov eax, dword [0x100ad13c]
cmp eax, dword [ebp - 0x73c]
jne 0x100472fc
mov dword [ebp - 0xdc], 0
jmp 0x100471b4
mov ecx, dword [ebp - 0xdc]
add ecx, 2
mov dword [ebp - 0xdc], ecx
cmp dword [ebp - 0xdc], 0x7e
jge 0x10047254
movsx edx, byte [ebp - 1]
sub edx, 0xdb90
mov word [ebp - 0x1c], dx
mov eax, dword [0x100ad148]
mov ecx, dword [0x100ad14c]
mov dword [ebp - 0xb8c], ecx
sub eax, 0x1cd2
mov dword [0x100ad140], eax
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
mov dword [ebp - 0xb90], edx
sub ecx, 0xbf
movzx eax, word [0x100ad0f0]
cdq
or eax, ecx
mov word [0x100ad0f0], ax
mov eax, dword [ebp - 0x44]
xor ecx, ecx
and eax, dword [ebp - 0x40]
and ecx, dword [ebp - 0x3c]
or eax, dword [ebp - 0x40]
or ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
movzx edx, word [0x100ad0ac]
mov eax, dword [0x100ad0a8]
imul eax, edx
mov ecx, dword [0x100ad0a8]
and ecx, eax
mov dword [0x100ad0a8], ecx
mov dl, byte [ebp - 3]
add dl, 1
mov byte [ebp - 3], dl
jmp 0x100471a5
jmp 0x10046c37
mov byte [0x100ad073], 0x56
movzx edx, word [0x100ad0b8]
test edx, edx
je 0x10047313
jmp 0x10047420
movsx eax, byte [str.ZFreeSid]
test eax, eax
je 0x10047332
movsx ecx, byte [ebp - 4]
test ecx, ecx
je 0x10047332
mov dword [ebp - 0x31c], 1
jmp 0x1004733c
mov dword [ebp - 0x31c], 0
movsx edx, word [0x100ad0b0]
test edx, edx
jne 0x10047353
mov dword [ebp - 0x320], 1
jmp 0x1004735d
mov dword [ebp - 0x320], 0
mov eax, dword [ebp - 0x31c]
add eax, dword [ebp - 0x320]
jne 0x100473a6
movsx ecx, byte [ebp - 1]
sub ecx, 0x77add5d9
movsx edx, byte [ebp - 4]
sub edx, ecx
mov byte [ebp - 4], dl
movsx eax, byte [ebp - 4]
sub eax, 0xb3
movsx ecx, byte [0x100ad042]
sub ecx, eax
mov byte [0x100ad042], cl
movsx edx, byte [str.ZFreeSid]
sar edx, 3
mov word [ebp - 0x1c], dx
jmp 0x10047420
cmp dword [ebp - 0x30], 0
jne 0x10047420
movsx eax, word [0x100ad0b0]
test eax, eax
jne 0x100473c3
mov dword [ebp - 0x324], 1
jmp 0x100473cd
mov dword [ebp - 0x324], 0
movzx ecx, word [ebp - 0x20]
movsx edx, byte [ebp - 2]
xor ecx, edx
not ecx
mov eax, dword [ebp - 0x324]
sub eax, ecx
mov byte [0x100ad09a], al
mov eax, dword [0x100ad118]
cdq
add eax, dword [0x100ad110]
adc edx, dword [0x100ad114]
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
mov cl, byte [0x100ad158]
mov byte [str.E2_wcsrchr], cl
movzx edx, byte [0x100ad072]
sub edx, 0x5e2d
mov word [ebp - 0xc], dx
movzx eax, byte [0x100ad00f]
movsx ecx, byte [ebp - 5]
add ecx, 0x4d
cmp eax, ecx
jne 0x1004753d
movsx edx, byte [str.E2_wcsrchr]
movsx eax, word [ebp - 0x10]
add edx, eax
cmp edx, 1
jne 0x1004753d
movzx ecx, word [0x100ad0f0]
mov edx, 4
imul eax, edx, 0x51
mov dword [eax + 0x101ebbf8], ecx
mov dword [0x100ad140], 0xef
movzx eax, word [ebp - 0x18]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx edx, word [0x100ad0e4]
xor edx, 0x232ade90
mov dword [0x100ad118], edx
mov dword [0x100ad118], 0x5d
jmp 0x100472fc
mov edx, dword [0x100ad0d8]
mov eax, dword [0x100ad0dc]
mov dword [ebp - 0xb98], eax
add edx, 0x2efcdb11
mov word [0x100ad0e4], dx
mov ecx, dword [ebp - 0x44]
mov edx, dword [0x100ad0d8]
mov eax, dword [0x100ad0dc]
mov dword [ebp - 0xb9c], eax
add ecx, edx
mov edx, dword [ebp - 0x44]
add edx, ecx
mov dword [ebp - 0x44], edx
movsx eax, byte [ebp - 2]
movsx ecx, byte [ebp - 2]
xor eax, ecx
movsx edx, byte [ebp - 2]
sub edx, eax
mov byte [ebp - 2], dl
movzx eax, word [ebp - 0x24]
imul ecx, eax, 0x5d299bc8
mov word [0x100ad0e4], cx
movsx eax, byte [ebp - 2]
cdq
mov edx, dword [0x100ad148]
mov ecx, dword [0x100ad14c]
mov dword [ebp - 0xba0], ecx
sub eax, edx
mov byte [ebp - 2], al
cmp dword [ebp - 0x448], 0
jne 0x1004777d
movsx edx, byte [ebp - 5]
movzx eax, word [0x100ad0f0]
cmp edx, eax
jge 0x100475e1
mov dword [ebp - 0x330], 1
jmp 0x100475eb
mov dword [ebp - 0x330], 0
movsx ecx, byte [ebp - 5]
cmp ecx, 0xf
jge 0x10047600
mov dword [ebp - 0x334], 1
jmp 0x1004760a
mov dword [ebp - 0x334], 0
mov edx, dword [ebp - 0x330]
cmp edx, dword [ebp - 0x334]
jge 0x1004762f
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx eax, ax
cdq
mov dword [0x100ad0f8], eax
mov dword [0x100ad0fc], edx
jmp 0x10047664
imul eax, dword [0x100ad158], 0xa389
movsx ecx, word [ebp - 0x14]
or ecx, eax
mov word [ebp - 0x14], cx
mov edx, dword [0x100ad0c8]
xor edx, 0x70c923f3
mov word [0x100ad0c0], dx
movzx eax, byte [ebp - 3]
imul ecx, eax, 0x3162
mov word [ebp - 0x10], cx
mov edx, dword [ebp - 0x80]
push edx
push 0
push 0
call fcn.100016e0
call eax
mov eax, dword [ebp - 0x70]
push eax
push 0
push 0
call fcn.10001380
call eax
movsx ecx, word [0x100ad0c4]
and ecx, 0xbbfd
movsx edx, byte [ebp - 4]
or edx, ecx
mov byte [ebp - 4], dl
mov esi, dword [0x100ad160]
not esi
mov edi, dword [0x100ad164]
not edi
movsx eax, word [ebp - 0x1c]
cdq
xor esi, eax
xor edi, edx
not esi
not edi
movzx eax, word [ebp - 0x18]
mov ecx, dword [0x100ad140]
sub ecx, eax
xor edx, edx
xor esi, ecx
xor edi, edx
movsx eax, word [0x100ad0d0]
movsx ecx, byte [str.ZFreeSid]
imul eax, ecx
cdq
mov ecx, eax
mov ebx, edx
movsx eax, word [ebp - 0x14]
cdq
mov dword [ebp - 0x940], edi
mov edi, dword [0x100ad150]
sub edi, eax
mov eax, dword [0x100ad154]
sbb eax, edx
push eax
push edi
push ebx
push ecx
call fcn.1007a8a0
sub esi, eax
mov edi, dword [ebp - 0x940]
sbb edi, edx
mov dword [0x100ad128], esi
mov dword [0x100ad12c], edi
mov cl, byte [str.E2_wcsrchr]
sub cl, 1
mov byte [str.E2_wcsrchr], cl
movzx eax, word [0x100ad0ac]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x74c], ecx
mov dword [ebp - 0x748], esi
mov edx, dword [ebp - 0x74c]
or edx, dword [ebp - 0x748]
jne 0x1004775c
mov eax, 1
mov word [ebp - 0x5e], ax
jmp 0x10047762
xor ecx, ecx
mov word [ebp - 0x5e], cx
mov dx, word [ebp - 0x5e]
mov word [0x100ad0b8], dx
mov eax, 8
mov word [ebp - 0x1c], ax
xor eax, eax
jmp 0x1004ce84
mov ecx, 0x6dc2
mov word [0x100ad0bc], cx
mov byte [ebp - 4], 0x73
movsx edx, word [ebp - 0x28]
add edx, 0x3b
mov byte [0x100ad0a6], dl
movsx eax, byte [0x100ad00e]
cdq
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0xba4], edx
and eax, ecx
mov byte [0x100ad00e], al
movsx eax, byte [ebp - 1]
movzx ecx, word [ebp - 0x20]
mov edx, dword [0x100ad0c8]
not edx
add ecx, edx
imul eax, ecx
mov word [ebp - 0x1c], ax
movsx eax, word [0x100ad0bc]
cdq
mov ecx, eax
mov esi, edx
movsx eax, word [0x100ad0bc]
cdq
mov edi, dword [ebp - 0x48]
add eax, dword [ebp - 0x4c]
adc edx, edi
mov dword [ebp - 0x754], ecx
mov dword [ebp - 0x750], esi
mov dword [ebp - 0x75c], eax
mov dword [ebp - 0x758], edx
mov edx, dword [ebp - 0x754]
cmp edx, dword [ebp - 0x75c]
jne 0x10047f98
mov eax, dword [ebp - 0x750]
cmp eax, dword [ebp - 0x758]
jne 0x10047f98
movzx ecx, byte [0x100ad0a6]
cmp ecx, dword [ebp - 0x30]
jb 0x10047861
xor edx, edx
mov dword [ebp - 0x40], 0xdd
mov dword [ebp - 0x3c], edx
movzx eax, word [0x100ad0f0]
movsx ecx, word [ebp - 0x10]
add eax, ecx
movzx edx, word [0x100ad0f0]
sub edx, eax
mov word [0x100ad0f0], dx
mov byte [ebp - 3], 0x30
jmp 0x100478a9
mov eax, dword [0x100adbec]
mov dword [0x100ad0b4], eax
mov cl, byte [0x100adbec]
mov byte [ebp - 3], cl
movsx edx, word [0x100ad0d0]
movsx eax, byte [str.ZFreeSid]
imul edx, eax
mov word [0x100ad0d0], dx
mov ecx, 2
imul edx, ecx, 3
movzx eax, word [edx + 0x100d5678]
mov ecx, dword [0x100ad158]
sub ecx, eax
mov dword [0x100ad158], ecx
movsx edx, word [0x100ad0bc]
test edx, edx
je 0x100478cd
mov eax, dword [0x100ad0e8]
or eax, dword [0x100ad0ec]
je 0x100478cd
mov dword [ebp - 0x338], 0
jmp 0x100478d7
mov dword [ebp - 0x338], 1
movzx ecx, byte [ebp - 3]
cmp ecx, 0x9f
jle 0x100478ef
mov dword [ebp - 0x33c], 1
jmp 0x100478f9
mov dword [ebp - 0x33c], 0
mov edx, dword [ebp - 0x338]
cmp edx, dword [ebp - 0x33c]
jl 0x10047913
mov dword [ebp - 0x340], 1
jmp 0x1004791d
mov dword [ebp - 0x340], 0
movsx eax, byte [ebp - 5]
movsx ecx, byte [0x100ad043]
cmp eax, ecx
jge 0x10047940
xor edx, edx
mov dword [ebp - 0x564], 1
mov dword [ebp - 0x560], edx
jmp 0x1004794b
xorps xmm0, xmm0
movlpd qword [ebp - 0x564], xmm0
movzx eax, byte [ebp - 3]
cdq
add eax, dword [0x100ad0f8]
adc edx, dword [0x100ad0fc]
mov dword [ebp - 0x764], eax
mov dword [ebp - 0x760], edx
mov eax, dword [ebp - 0x764]
cmp eax, dword [ebp - 0x564]
jne 0x10047990
mov ecx, dword [ebp - 0x760]
cmp ecx, dword [ebp - 0x560]
jne 0x10047990
mov dword [ebp - 0x344], 1
jmp 0x1004799a
mov dword [ebp - 0x344], 0
mov edx, dword [ebp - 0x340]
cmp edx, dword [ebp - 0x344]
jle 0x10047ac7
mov dword [ebp - 0xe0], 0x36
movsx eax, byte [ebp - 2]
imul ecx, eax, 0x69
mov dword [0x100ad0b4], ecx
movsx edx, byte [ebp - 1]
movsx eax, word [ebp - 0x2c]
imul edx, eax
movsx ecx, byte [ebp - 1]
add ecx, edx
mov byte [ebp - 1], cl
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
push 0
push 0x81
push eax
push edx
call fcn.1007a8a0
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
movzx ecx, word [ebp - 0x24]
sub ecx, 0x77
mov word [ebp - 0x20], cx
mov edx, dword [0x100ad138]
and edx, 0x3b
mov word [ebp - 0xc], dx
mov ecx, dword [ebp - 0x40]
sub ecx, 0xf6
movsx eax, byte [0x100ad09a]
cdq
add eax, ecx
mov byte [0x100ad09a], al
movzx edx, word [0x100ad0f0]
not edx
imul edx, dword [ebp - 0x30]
xor eax, eax
mov dword [0x100ad110], edx
mov dword [0x100ad114], eax
movsx ecx, byte [ebp - 4]
movsx edx, word [ebp - 0xc]
sub ecx, edx
movsx eax, byte [ebp - 4]
add eax, ecx
mov byte [ebp - 4], al
movsx ecx, word [0x100ad0d0]
test ecx, ecx
je 0x10047a74
movsx eax, byte [0x100ad037]
cdq
mov dword [ebp - 0x54c], eax
mov dword [ebp - 0x548], edx
jmp 0x10047a8b
mov edx, dword [0x100ad110]
mov eax, dword [0x100ad114]
mov dword [ebp - 0x54c], edx
mov dword [ebp - 0x548], eax
mov ecx, dword [ebp - 0x54c]
mov edx, dword [ebp - 0x548]
mov dword [0x100ad150], ecx
mov dword [0x100ad154], edx
mov eax, dword [ebp - 0xe0]
add eax, 1
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 0xd53
jl 0x10047a01
jmp 0x10047ce7
mov ecx, 0xa412ce1f
or ecx, 0xfffdf3a0
je 0x10047b34
movzx eax, word [ebp - 0x24]
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx eax, word [0x100ad0c4]
cdq
mov ecx, dword [0x100ad128]
mov esi, dword [0x100ad12c]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov ecx, eax
mov esi, edx
xor edx, edx
sub ecx, dword [0x100ad100]
sbb esi, edx
movsx eax, byte [0x100ad043]
cdq
add ecx, eax
adc esi, edx
mov dword [0x100ad150], ecx
mov dword [0x100ad154], esi
movsx eax, byte [ebp - 4]
sub eax, 0x52e7135
mov word [ebp - 0x1c], ax
jmp 0x10047ce7
cmp dword [0x100ad140], 0
je 0x10047c50
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x76c], ecx
mov dword [ebp - 0x768], edx
mov eax, dword [ebp - 0x76c]
or eax, dword [ebp - 0x768]
jne 0x10047b75
xor ecx, ecx
mov dword [ebp - 0x56c], 1
mov dword [ebp - 0x568], ecx
jmp 0x10047b80
xorps xmm0, xmm0
movlpd qword [ebp - 0x56c], xmm0
movsx edx, byte [0x100ad00d]
test edx, edx
jne 0x10047b97
mov dword [ebp - 0x348], 1
jmp 0x10047ba1
mov dword [ebp - 0x348], 0
movsx eax, word [ebp - 0x14]
imul eax, dword [ebp - 0x348]
test eax, eax
jne 0x10047bbc
mov dword [ebp - 0x34c], 1
jmp 0x10047bc6
mov dword [ebp - 0x34c], 0
movzx ecx, word [ebp - 0x24]
movsx edx, byte [0x100ad043]
add ecx, edx
jne 0x10047be1
mov dword [ebp - 0x350], 1
jmp 0x10047beb
mov dword [ebp - 0x350], 0
mov ecx, dword [0x100ad0f8]
add ecx, dword [ebp - 0x56c]
mov esi, dword [0x100ad0fc]
adc esi, dword [ebp - 0x568]
movsx eax, word [ebp - 0x14]
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov ecx, eax
not ecx
mov eax, dword [ebp - 0x34c]
sub eax, dword [ebp - 0x350]
cdq
sub ecx, eax
mov word [0x100ad0c4], cx
mov edx, 0x2b9d
mov word [ebp - 0x18], dx
mov eax, dword [0x100ad15c]
cdq
sub eax, 0x8ea5d28a
mov ecx, dword [0x100ad0f8]
sub ecx, eax
mov word [ebp - 0x1c], cx
jmp 0x10047ce7
cmp dword [0x100ad100], 0
je 0x10047ce7
movsx edx, word [0x100ad0c4]
movsx eax, word [ebp - 0x1c]
xor edx, eax
movsx ecx, word [0x100ad0c4]
sub ecx, edx
mov word [0x100ad0c4], cx
mov ecx, dword [ebp - 0x44]
add ecx, 0x87078097
mov eax, dword [0x100ad110]
mov edx, dword [0x100ad114]
call fcn.1007a900
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
movzx edx, word [0x100ad0f0]
test edx, edx
jne 0x10047cb5
mov dword [ebp - 0x354], 1
jmp 0x10047cbf
mov dword [ebp - 0x354], 0
movsx eax, byte [ebp - 2]
sub eax, dword [ebp - 0x354]
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov eax, 1
imul ecx, eax, 0x6802
movzx dx, byte [ecx + 0x100d57e0]
mov word [ebp - 0x18], dx
mov ecx, dword [0x100ad128]
mov esi, dword [0x100ad12c]
movsx eax, word [ebp - 0x10]
cdq
add eax, 0x1d9e6dc2
adc edx, 0xc33c
mov dword [ebp - 0x774], ecx
mov dword [ebp - 0x770], esi
mov dword [ebp - 0x77c], eax
mov dword [ebp - 0x778], edx
mov edx, dword [ebp - 0x774]
cmp edx, dword [ebp - 0x77c]
jne 0x10047f98
mov eax, dword [ebp - 0x770]
cmp eax, dword [ebp - 0x778]
jne 0x10047f98
movzx ecx, byte [0x100ad072]
movsx edx, byte [0x100ad09a]
cmp ecx, edx
jl 0x10047d5d
mov dword [ebp - 0x358], 1
jmp 0x10047d67
mov dword [ebp - 0x358], 0
movzx eax, byte [0x100ad072]
cmp eax, 0x62
jl 0x10047d7f
mov dword [ebp - 0x35c], 1
jmp 0x10047d89
mov dword [ebp - 0x35c], 0
mov ecx, dword [ebp - 0x358]
cmp ecx, dword [ebp - 0x35c]
jle 0x10047dad
movsx edx, word [ebp - 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov word [0x100ad0e4], ax
jmp 0x10047f22
movsx eax, byte [ebp - 2]
movsx ecx, word [0x100ad0bc]
cmp eax, ecx
jg 0x10047dc8
mov dword [ebp - 0x360], 1
jmp 0x10047dd2
mov dword [ebp - 0x360], 0
mov edx, dword [ebp - 0x360]
not edx
test edx, edx
je 0x10047e63
mov eax, dword [0x100adbec]
xor ecx, ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
movsx edx, word [ebp - 0x28]
test edx, edx
je 0x10047e06
movsx eax, word [0x100ad0cc]
mov dword [ebp - 0x364], eax
jmp 0x10047e10
movzx ecx, word [ebp - 0x24]
mov dword [ebp - 0x364], ecx
mov dx, word [ebp - 0x364]
mov word [0x100ad130], dx
movsx eax, word [ebp - 0x14]
cdq
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0xba8], edx
sub eax, ecx
mov word [ebp - 0x14], ax
mov eax, 2
imul ecx, eax, 0x1b42
movsx edx, word [ecx + 0x100c0320]
movsx eax, word [ebp - 0x10]
sub eax, edx
mov word [ebp - 0x10], ax
mov byte [ebp - 3], 0x7c
mov cl, byte [0x100adbec]
mov byte [ebp - 1], cl
jmp 0x10047f22
movsx edx, word [0x100ad0d0]
movsx eax, byte [ebp - 5]
cmp edx, eax
jne 0x10047e9d
movzx ecx, byte [str.px_04X_]
sub ecx, dword [0x100ad0a8]
mov byte [str.px_04X_], cl
movsx edx, word [0x100ad0c0]
sub edx, 0xf1bb
mov dword [0x100ad140], edx
jmp 0x10047f22
mov ecx, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
movsx eax, word [ebp - 0xc]
movzx edx, byte [ebp - 3]
add eax, edx
cdq
mov dword [ebp - 0x784], ecx
mov dword [ebp - 0x780], esi
mov dword [ebp - 0x78c], eax
mov dword [ebp - 0x788], edx
mov eax, dword [ebp - 0x780]
cmp eax, dword [ebp - 0x788]
ja 0x10047f22
jb 0x10047eea
mov ecx, dword [ebp - 0x784]
cmp ecx, dword [ebp - 0x78c]
ja 0x10047f22
movsx edx, word [0x100ad0cc]
add edx, 0x14f82ede
mov byte [0x100ad037], dl
movsx eax, word [ebp - 0x2c]
sub eax, 0xa99c5e8
mov word [0x100ad0c4], ax
movsx ecx, word [ebp - 0x14]
shl ecx, 3
mov byte [0x100ad0a6], cl
mov edx, 0x6816
mov word [ebp - 0x10], dx
jmp 0x1004777d
xor ecx, ecx
mov dword [0x100ad0d8], 4
mov dword [0x100ad0dc], ecx
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
push eax
push edx
mov ecx, dword [0x100ad164]
push ecx
mov edx, dword [0x100ad160]
push edx
call fcn.1007a8a0
xor eax, dword [0x100ad160]
xor edx, dword [0x100ad164]
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
movsx eax, word [ebp - 0xc]
sub eax, 0x4002f70a
mov byte [ebp - 5], al
movsx eax, word [0x100ad0d0]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xbac], eax
sub ecx, edx
movsx eax, word [0x100ad0d0]
cdq
sub eax, ecx
mov word [0x100ad0d0], ax
mov eax, dword [ebp - 0x50]
cdq
mov ecx, eax
mov esi, edx
and ecx, dword [ebp - 0x40]
and esi, dword [ebp - 0x3c]
movsx eax, word [0x100ad11c]
movzx edx, word [ebp - 0x18]
add eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov ecx, eax
mov esi, edx
mov eax, dword [0x100ad0b4]
cdq
mov edi, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x48]
and edi, eax
and ebx, edx
movsx eax, word [0x100ad11c]
cdq
add edi, eax
adc ebx, edx
sub ecx, edi
sbb esi, ebx
mov dword [ebp - 0x794], ecx
mov dword [ebp - 0x790], esi
mov edx, dword [ebp - 0x794]
or edx, dword [ebp - 0x790]
jne 0x1004807f
mov dword [ebp - 0x36c], 1
jmp 0x10048089
mov dword [ebp - 0x36c], 0
mov eax, dword [ebp - 0x36c]
mov dword [0x100ad0a8], eax
movzx cx, byte [ebp - 3]
mov word [ebp - 0x2c], cx
movsx edx, word [ebp - 0x1c]
movsx eax, word [ebp - 0xc]
imul edx, eax
test edx, edx
jne 0x100480b8
mov dword [ebp - 0x370], 1
jmp 0x100480c2
mov dword [ebp - 0x370], 0
movsx ecx, byte [0x100ad09a]
imul ecx, dword [ebp - 0x370]
not ecx
mov byte [ebp - 2], cl
mov edx, dword [0x100ad0d8]
mov eax, dword [0x100ad0dc]
mov dword [ebp - 0x574], edx
mov dword [ebp - 0x570], eax
cmp dword [ebp - 0x570], 0
ja 0x10048447
jb 0x10048108
cmp dword [ebp - 0x574], 4
ja 0x10048447
mov ecx, dword [ebp - 0x574]
mov dword [ebp - 0xc5c], ecx
mov edx, dword [ebp - 0xc5c]
jmp dword [edx*4 + 0x1004cf04]
mov edx, dword [ebp - 0x68]
add edx, dword [ebp - 0x68]
xor edx, dword [ebp - 0x68]
imul eax, dword [ebp - 0x68], 0x180
add eax, 0x26
cmp edx, eax
je 0x1004c542
movzx ecx, word [ebp - 0x20]
add ecx, 0x2c684985
mov byte [0x100ad043], cl
imul edx, dword [0x100ad0b4], 0x9d7979b2
mov byte [ebp - 4], dl
mov ecx, dword [ebp - 0x40]
add ecx, 0xe3f7fde7
movsx eax, word [ebp - 0x28]
cdq
sub eax, ecx
mov word [ebp - 0x28], ax
mov edx, 2
imul eax, edx, 0x4802
mov cx, word [0x100ad0b4]
mov word [eax + 0x100adbf0], cx
movsx edx, word [ebp - 0xc]
test edx, edx
je 0x100484c0
movzx eax, word [ebp - 0x20]
mov dword [ebp - 0x378], eax
jmp 0x100484cd
movzx ecx, byte [str.px_04X_]
mov dword [ebp - 0x378], ecx
mov dl, byte [ebp - 0x378]
mov byte [0x100ad043], dl
movzx eax, byte [0x100ad072]
push eax
call dword [sym.imp.USER32.dll_GetParent]
mov word [0x100ad0b8], ax
mov ecx, dword [0x100adbec]
mov dword [ebp - 0xec], ecx
movzx edx, word [0x100ad0b8]
test edx, edx
je 0x10048530
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x7ac], eax
mov dword [ebp - 0x7a8], ecx
mov edx, dword [ebp - 0x7ac]
or edx, dword [ebp - 0x7a8]
jne 0x10048530
mov dword [ebp - 0x37c], 1
jmp 0x1004853a
mov dword [ebp - 0x37c], 0
movsx eax, word [0x100ad11c]
not eax
cmp dword [ebp - 0x37c], eax
je 0x10048557
mov dword [ebp - 0x384], 1
jmp 0x10048561
mov dword [ebp - 0x384], 0
movsx eax, word [0x100ad130]
cdq
mov dword [ebp - 0x7b4], eax
mov dword [ebp - 0x7b0], edx
mov ecx, dword [0x100ad13c]
cmp ecx, dword [ebp - 0x7b0]
ja 0x1004859f
jb 0x10048593
mov edx, dword [0x100ad138]
cmp edx, dword [ebp - 0x7b4]
ja 0x1004859f
mov dword [ebp - 0x380], 1
jmp 0x100485a9
mov dword [ebp - 0x380], 0
movzx eax, word [0x100ad0ac]
cmp eax, dword [ebp - 0x380]
jg 0x100485c4
mov dword [ebp - 0x388], 1
jmp 0x100485ce
mov dword [ebp - 0x388], 0
mov ecx, dword [ebp - 0x384]
sub ecx, dword [ebp - 0x388]
je 0x10048a18
movsx edx, byte [ebp - 1]
movzx eax, byte [0x100ad072]
cmp edx, eax
jne 0x100485fb
mov dword [ebp - 0x390], 1
jmp 0x10048605
mov dword [ebp - 0x390], 0
movsx ecx, word [ebp - 0x10]
movsx edx, word [0x100ad0bc]
cmp ecx, edx
jl 0x10048620
mov dword [ebp - 0x38c], 1
jmp 0x1004862a
mov dword [ebp - 0x38c], 0
mov eax, dword [ebp - 0x38c]
not eax
cmp dword [ebp - 0x390], eax
jne 0x10048646
mov dword [ebp - 0x394], 1
jmp 0x10048650
mov dword [ebp - 0x394], 0
mov ecx, dword [ebp - 0x394]
not ecx
test ecx, ecx
je 0x1004890e
mov ecx, dword [0x100ad128]
mov esi, dword [0x100ad12c]
movsx eax, word [ebp - 0x1c]
cdq
mov dword [ebp - 0x7bc], ecx
mov dword [ebp - 0x7b8], esi
mov dword [ebp - 0x7c4], eax
mov dword [ebp - 0x7c0], edx
mov edx, dword [ebp - 0x7b8]
cmp edx, dword [ebp - 0x7c0]
ja 0x100486b3
jb 0x100486a7
mov eax, dword [ebp - 0x7bc]
cmp eax, dword [ebp - 0x7c4]
jae 0x100486b3
mov dword [ebp - 0x398], 1
jmp 0x100486bd
mov dword [ebp - 0x398], 0
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
mov dword [ebp - 0x7cc], ecx
mov dword [ebp - 0x7c8], edx
cmp dword [ebp - 0x7c8], 0
ja 0x100486f5
jb 0x100486e9
cmp dword [ebp - 0x7cc], 0x1d
jae 0x100486f5
mov dword [ebp - 0x39c], 1
jmp 0x100486ff
mov dword [ebp - 0x39c], 0
mov eax, dword [ebp - 0x398]
cmp eax, dword [ebp - 0x39c]
jl 0x1004877d
movsx ecx, word [ebp - 0x14]
movsx edx, word [ebp - 0x10]
add ecx, edx
mov word [ebp - 0x14], cx
movsx eax, word [ebp - 0xc]
cdq
add eax, 0x3326397b
mov dword [0x100ad0a8], eax
movsx eax, word [ebp - 0x14]
add eax, 0xb8d7
mov byte [ebp - 2], al
movzx ecx, byte [0x100ad072]
test ecx, ecx
jne 0x1004874d
mov dword [ebp - 0x3a0], 1
jmp 0x10048757
mov dword [ebp - 0x3a0], 0
movzx edx, byte [str.px_04X_]
add edx, dword [ebp - 0x3a0]
mov word [ebp - 0x18], dx
mov eax, dword [0x100ad0a8]
sub eax, 0x2a2a
mov word [0x100ad0b0], ax
jmp 0x10048909
movsx ecx, byte [ebp - 2]
not ecx
test ecx, ecx
je 0x100487d0
movsx eax, word [0x100ad0e4]
cdq
push 0x2111
push 0x1b1dc55d
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
movzx eax, word [0x100ad0ac]
cdq
sub eax, ecx
mov word [0x100ad0ac], ax
mov edx, dword [ebp - 0x50]
add edx, 0x2830d261
mov dword [0x100ad0c8], edx
mov ax, word [0x100ad0c4]
mov word [ebp - 0x28], ax
jmp 0x10048909
mov ecx, dword [ebp - 0x40]
or ecx, dword [ebp - 0x3c]
jne 0x100487ed
cmp dword [0x100ad118], 0
jne 0x100487ed
mov dword [ebp - 0x3a4], 0
jmp 0x100487f7
mov dword [ebp - 0x3a4], 1
movsx edx, word [ebp - 0xc]
cmp edx, 0x4e0901c3
je 0x1004880f
mov dword [ebp - 0x3a8], 1
jmp 0x10048819
mov dword [ebp - 0x3a8], 0
mov eax, dword [ebp - 0x3a4]
imul eax, dword [ebp - 0x3a8]
not eax
test eax, eax
je 0x1004888a
movzx ecx, byte [str.px_04X_]
add ecx, 0x35b0
mov word [ebp - 0x18], cx
movsx edx, byte [str.ZFreeSid]
xor edx, 0x86
mov byte [0x100ad00f], dl
mov eax, dword [0x100ad118]
add eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], eax
movsx ecx, word [0x100ad0cc]
test ecx, ecx
je 0x10048872
movzx edx, byte [ebp - 3]
mov dword [ebp - 0x3ac], edx
jmp 0x1004887c
movsx eax, word [ebp - 0xc]
mov dword [ebp - 0x3ac], eax
mov ecx, dword [ebp - 0x3ac]
mov dword [0x100ad118], ecx
jmp 0x10048909
movsx edx, word [0x100ad130]
movzx eax, byte [ebp - 3]
cmp edx, eax
jge 0x10048909
mov ecx, 0x2219ebe2
test ecx, ecx
je 0x10048909
movsx eax, byte [0x100ad037]
cdq
sub eax, 0x2770b41e
sbb edx, 0x8d406
mov dword [0x100ad138], eax
mov dword [0x100ad13c], edx
mov eax, dword [ebp - 0x50]
cdq
sub eax, dword [0x100ad110]
mov word [0x100ad120], ax
movsx edx, byte [ebp - 5]
add edx, 0x6d34
movsx eax, byte [0x100ad073]
sub eax, edx
mov byte [0x100ad073], al
xor ecx, ecx
mov dword [ebp - 0x38], 0x5346f4e9
mov dword [ebp - 0x34], ecx
movzx eax, byte [ebp - 3]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], esi
jmp 0x10048a18
movsx edx, word [ebp - 0x28]
test edx, edx
je 0x1004895e
movsx eax, word [0x100ad0b0]
cdq
xor eax, dword [0x100ad150]
mov byte [0x100ad037], al
mov eax, dword [0x100ad0c8]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx edx, word [ebp - 0x1c]
movsx eax, word [ebp - 0x14]
sub edx, eax
movsx ecx, word [ebp - 0x1c]
imul ecx, edx
mov word [ebp - 0x1c], cx
jmp 0x10048a18
movsx edx, byte [ebp - 4]
test edx, edx
jne 0x10048972
mov dword [ebp - 0x3b0], 1
jmp 0x1004897c
mov dword [ebp - 0x3b0], 0
cmp dword [ebp - 0x3b0], 0x13d18195
jne 0x100489b9
movsx eax, byte [ebp - 5]
movsx ecx, byte [ebp - 1]
cmp eax, ecx
jne 0x100489b9
movsx edx, byte [0x100ad042]
add edx, 0x42eeead6
mov word [0x100ad0c0], dx
movzx eax, word [ebp - 0x18]
movsx ecx, byte [ebp - 5]
imul eax, ecx
mov word [ebp - 0x24], ax
jmp 0x10048a18
mov edx, 0x14a471e1
test edx, edx
je 0x10048a18
movsx eax, word [0x100ad0d0]
movsx ecx, word [0x100ad0c0]
imul eax, ecx
movsx edx, word [0x100ad0d0]
imul edx, eax
mov word [0x100ad0d0], dx
mov dword [0x100ad100], 0xd7
mov eax, 1
mov word [0x100ad0ac], ax
mov cx, word [0x100adbec]
mov word [0x100ad0b0], cx
movzx edx, word [0x100ad0ac]
imul eax, edx, 0xf292
mov word [ebp - 0x28], ax
mov ecx, dword [ebp - 0xec]
add ecx, 0x54d
mov dword [ebp - 0xbb8], ecx
movsx edx, byte [ebp - 2]
cmp dword [0x100ad158], edx
jg 0x10048b1d
mov eax, dword [0x100ad138]
mov edx, dword [0x100ad13c]
mov cl, 4
call fcn.1007a8e0
mov dword [0x100ad100], eax
movzx eax, word [0x100ad0f0]
sub eax, 0x45833d4
mov dword [0x100ad140], eax
movsx eax, word [ebp - 0x14]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
not ecx
not esi
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
mov esi, edx
not ecx
not esi
movsx eax, byte [0x100ad00e]
movzx edx, word [0x100ad0b8]
sub eax, edx
not eax
cdq
sub ecx, eax
sbb esi, edx
movsx eax, word [ebp - 0x10]
cdq
mov edi, eax
mov ebx, edx
movzx eax, byte [ebp - 3]
cdq
mov dword [ebp - 0x678], ecx
mov ecx, dword [ebp - 0x40]
sub ecx, eax
mov eax, dword [ebp - 0x3c]
sbb eax, edx
not ecx
not eax
sub edi, ecx
sbb ebx, eax
push ebx
push edi
push esi
mov ecx, dword [ebp - 0x678]
push ecx
call fcn.1007a8a0
mov word [0x100ad0ac], ax
mov edx, dword [ebp - 0x44]
xor eax, eax
push 0xd935e
push 0x9eec7b2c
push eax
push edx
call fcn.1007a8a0
mov byte [ebp - 3], al
movsx eax, word [0x100ad11c]
cdq
mov ecx, dword [0x100ad110]
sub ecx, eax
mov eax, dword [0x100ad114]
sbb eax, edx
mov dword [0x100ad110], ecx
mov dword [0x100ad114], eax
xor ecx, ecx
mov dword [ebp - 0x4c], 0xaa9f5725
mov dword [ebp - 0x48], ecx
jmp 0x10048b65
movzx edx, word [ebp - 0x20]
test edx, edx
je 0x10048b65
mov eax, dword [0x100ad0e0]
add eax, 1
mov dword [0x100ad0e0], eax
movsx ecx, word [ebp - 0x2c]
imul edx, ecx, 0xdc30
movzx eax, word [ebp - 0x18]
sub eax, edx
mov word [ebp - 0x18], ax
movzx ecx, byte [str.px_04X_]
movzx edx, byte [ebp - 3]
add ecx, edx
mov byte [str.px_04X_], cl
xor eax, eax
mov dword [ebp - 0x38], 0xba78
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0xec]
add ecx, 0x4cb
mov dword [ebp - 0xbbc], ecx
mov dword [ebp - 0xe8], 0x5e
movsx edx, word [0x100ad130]
movsx eax, byte [0x100ad073]
xor edx, eax
mov word [0x100ad130], dx
movsx ecx, byte [0x100ad042]
test ecx, ecx
jne 0x10048baf
mov dword [ebp - 0x3b4], 1
jmp 0x10048bb9
mov dword [ebp - 0x3b4], 0
mov edx, dword [0x100ad118]
not edx
add edx, dword [ebp - 0x3b4]
not edx
mov word [ebp - 0x28], dx
mov eax, dword [ebp - 0x30]
imul eax, dword [0x100ad158]
add eax, dword [0x100ad158]
mov dword [0x100ad158], eax
movsx ecx, word [ebp - 0x14]
shl ecx, 2
mov byte [0x100ad072], cl
mov edx, 1
imul eax, edx, 0x6ec
movsx ecx, byte [eax + 0x101e9b18]
movsx edx, byte [ebp - 2]
sub edx, ecx
mov byte [ebp - 2], dl
mov eax, dword [0x100ad160]
mov edx, dword [0x100ad164]
mov cl, 4
call fcn.1007a9b0
mov byte [0x100ad00d], al
mov dword [ebp - 0xe4], 0
jmp 0x10048c3c
mov eax, dword [ebp - 0xe4]
add eax, 1
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0xf1
jge 0x10048c59
mov cl, byte [0x100ad072]
add cl, 1
mov byte [0x100ad072], cl
jmp 0x10048c2d
mov edx, dword [ebp - 0xe8]
add edx, 1
mov dword [ebp - 0xe8], edx
cmp dword [ebp - 0xe8], 0x490
jl 0x10048c21
mov eax, dword [ebp - 0xec]
add eax, 0x5d1
mov dword [ebp - 0x100], eax
mov dword [0x100ad0e0], 0xb7
movzx ecx, byte [0x100ad0a6]
test ecx, ecx
jne 0x10048ca6
mov dword [ebp - 0x3b8], 1
jmp 0x10048cb0
mov dword [ebp - 0x3b8], 0
movzx edx, word [ebp - 0x20]
test edx, edx
jne 0x10048cc4
mov dword [ebp - 0x3bc], 1
jmp 0x10048cce
mov dword [ebp - 0x3bc], 0
movzx eax, word [0x100ad120]
add eax, dword [ebp - 0x3b8]
movsx ecx, word [0x100ad0c4]
add ecx, dword [ebp - 0x3bc]
sub eax, ecx
cdq
mov ecx, eax
mov esi, edx
movzx eax, word [ebp - 0x18]
cdq
mov edi, eax
mov ebx, edx
movzx eax, word [ebp - 0x20]
cdq
mov dword [ebp - 0x680], ecx
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x67c], esi
mov esi, dword [ebp - 0x48]
sub ecx, eax
sbb esi, edx
not ecx
not esi
or edi, ecx
or ebx, esi
push ebx
push edi
mov ecx, dword [ebp - 0x67c]
push ecx
mov ecx, dword [ebp - 0x680]
push ecx
call fcn.1007a8a0
not eax
mov dword [0x100ad118], eax
mov byte [ebp - 1], 2
movsx edx, word [ebp - 0x1c]
test edx, edx
je 0x10048d5c
mov eax, dword [0x100ad138]
mov ecx, dword [0x100ad13c]
mov dword [ebp - 0x58c], eax
mov dword [ebp - 0x588], ecx
jmp 0x10048d6d
movsx eax, byte [ebp - 1]
cdq
mov dword [ebp - 0x58c], eax
mov dword [ebp - 0x588], edx
mov dx, word [ebp - 0x58c]
mov word [ebp - 0xc], dx
mov ecx, dword [ebp - 0x30]
sub ecx, 0x1e1fc3b6
movsx eax, word [0x100ad130]
cdq
or eax, ecx
mov word [0x100ad130], ax
movzx edx, word [ebp - 0x18]
mov eax, dword [0x100ad0e0]
add eax, edx
cmp dword [0x100ad140], eax
jne 0x1004916e
mov dword [0x100ad158], 0
movsx ecx, byte [0x100ad00e]
movsx edx, word [0x100ad11c]
add ecx, edx
mov byte [0x100ad00e], cl
movsx eax, word [ebp - 0x1c]
not eax
mov byte [0x100ad09a], al
movzx eax, word [0x100ad0ac]
cdq
push 0xe9829
push 0xed075877
push edx
push eax
call fcn.1007a8a0
mov dword [0x100ad148], eax
mov dword [0x100ad14c], edx
mov ecx, dword [0x100ad158]
mov dword [ebp - 0x684], ecx
cmp dword [ebp - 0x684], 0
je 0x10048e0e
jmp 0x10048e5c
movzx eax, byte [0x100ad0a6]
add eax, 0x4ef0c503
cdq
mov dword [0x100ad150], eax
mov dword [0x100ad154], edx
mov edx, dword [0x100ad140]
mov word [ebp - 0xc], dx
movsx eax, word [ebp - 0x2c]
and eax, dword [0x100ad158]
mov word [ebp - 0x2c], ax
movsx ecx, word [ebp - 0x10]
movsx edx, word [0x100ad0d0]
imul ecx, edx
mov word [ebp - 0x10], cx
movsx eax, byte [ebp - 5]
sar eax, 3
mov byte [0x100ad073], al
movzx ecx, byte [ebp - 3]
test ecx, ecx
jne 0x10048e70
mov dword [ebp - 0x3c0], 1
jmp 0x10048e7a
mov dword [ebp - 0x3c0], 0
mov edx, dword [ebp - 0x30]
cmp dword [ebp - 0x3c0], edx
je 0x10048e91
mov dword [ebp - 0x3c4], 1
jmp 0x10048e9b
mov dword [ebp - 0x3c4], 0
movsx eax, word [0x100ad11c]
cdq
mov dword [ebp - 0x7d4], eax
mov dword [ebp - 0x7d0], edx
cmp dword [ebp - 0x7d0], 0x9d8df
jg 0x10048ed5
jl 0x10048ec9
cmp dword [ebp - 0x7d4], 0xe3afe12a
ja 0x10048ed5
mov dword [ebp - 0x3c8], 1
jmp 0x10048edf
mov dword [ebp - 0x3c8], 0
mov eax, dword [ebp - 0x3c4]
cmp eax, dword [ebp - 0x3c8]
jle 0x10048ef9
mov dword [ebp - 0x3cc], 1
jmp 0x10048f03
mov dword [ebp - 0x3cc], 0
movsx ecx, byte [0x100ad042]
test ecx, ecx
jne 0x10048f40
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
mov dword [ebp - 0x7dc], edx
mov dword [ebp - 0x7d8], eax
mov ecx, dword [ebp - 0x7dc]
or ecx, dword [ebp - 0x7d8]
jne 0x10048f40
xorps xmm0, xmm0
movlpd qword [ebp - 0x664], xmm0
jmp 0x10048f52
xor edx, edx
mov dword [ebp - 0x664], 1
mov dword [ebp - 0x660], edx
mov eax, dword [ebp - 0x660]
cmp eax, dword [0x100ad154]
jl 0x10048f7c
jg 0x10048f70
mov ecx, dword [ebp - 0x664]
cmp ecx, dword [0x100ad150]
jbe 0x10048f7c
mov dword [ebp - 0x3d0], 1
jmp 0x10048f86
mov dword [ebp - 0x3d0], 0
mov edx, dword [ebp - 0x3cc]
cmp edx, dword [ebp - 0x3d0]
jge 0x10048fa0
mov dword [ebp - 0x3d4], 1
jmp 0x10048faa
mov dword [ebp - 0x3d4], 0
mov eax, dword [ebp - 0x3d4]
not eax
test eax, eax
je 0x10048fe5
mov dword [ebp - 0xf0], 0x24db
movsx ecx, word [ebp - 0x28]
sub ecx, dword [ebp - 0x50]
mov dword [0x100ad140], ecx
movsx edx, word [ebp - 0x10]
sub edx, 0x52e8
jne 0x1004919d
mov dword [ebp - 0x3e0], 1
jmp 0x100491a7
mov dword [ebp - 0x3e0], 0
cmp dword [0x100ad140], 0
jne 0x100491bc
mov dword [ebp - 0x3dc], 1
jmp 0x100491c6
mov dword [ebp - 0x3dc], 0
movzx eax, word [ebp - 0x20]
not eax
add eax, dword [ebp - 0x3dc]
imul eax, dword [ebp - 0x3e0]
cdq
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0xbc4], edx
sub ecx, 0xe070
mov edx, 0x95
sub edx, dword [0x100ad150]
not edx
add ecx, edx
sub eax, ecx
mov word [ebp - 0x24], ax
movsx ax, byte [str.E2_wcsrchr]
mov word [ebp - 0x1c], ax
mov ecx, dword [0x100ad0e8]
sub ecx, 0xb3a94981
mov word [ebp - 0x28], cx
movsx edx, word [ebp - 0x10]
movsx eax, word [0x100ad0c0]
sub edx, eax
movsx ecx, word [ebp - 0x10]
add ecx, edx
mov word [ebp - 0x10], cx
cmp dword [ebp - 0xf0], 0x2325
jle 0x1004925d
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov word [0x100ad120], ax
mov edx, dword [ebp - 0xf0]
sub edx, 1
mov dword [ebp - 0xf0], edx
jmp 0x10049234
mov eax, dword [0x100adbec]
mov dword [ebp - 0xf4], eax
movsx eax, word [0x100ad130]
cdq
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov word [0x100ad0b8], ax
mov edx, dword [0x100adbec]
xor eax, eax
mov dword [0x100ad148], edx
mov dword [0x100ad14c], eax
movzx ecx, word [ebp - 0x18]
test ecx, ecx
je 0x100492b4
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x64c], edx
mov dword [ebp - 0x648], eax
jmp 0x100492c8
mov ecx, dword [0x100ad0e0]
xor edx, edx
mov dword [ebp - 0x64c], ecx
mov dword [ebp - 0x648], edx
mov ax, word [ebp - 0x64c]
mov word [ebp - 0x10], ax
mov ecx, dword [ebp - 0xf4]
add ecx, 0xe89b
mov dword [ebp - 0x688], ecx
mov dx, word [0x100ad0d0]
sub dx, 1
mov word [0x100ad0d0], dx
mov ax, word [0x100ad0c4]
mov byte [ebp - 1], al
mov byte [ebp - 1], 0xef
mov ecx, 2
mov word [ebp - 0x2c], cx
movsx eax, word [0x100ad0e4]
cdq
mov ecx, eax
xor ecx, dword [0x100ad160]
movsx eax, word [0x100ad0e4]
cdq
sub eax, ecx
mov word [0x100ad0e4], ax
mov edx, dword [ebp - 0x50]
sub edx, 1
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0xf4]
add eax, 0x836c
mov dword [ebp - 0xbc8], eax
xor ecx, ecx
mov dword [ebp - 0x38], 1
mov dword [ebp - 0x34], ecx
mov ecx, dword [0x100ad138]
xor ecx, 0x7a0e6b93
movsx eax, word [ebp - 0x10]
cdq
add eax, ecx
mov word [ebp - 0x10], ax
imul eax, dword [0x100ad0c8], 0xa1
cdq
mov dword [0x100ad108], eax
mov dword [0x100ad10c], edx
mov dx, word [0x100adbec]
mov word [ebp - 0x1c], dx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], ecx
mov edx, dword [ebp - 0x130]
or edx, dword [ebp - 0x12c]
je 0x100493c2
cmp dword [ebp - 0x130], 1
jne 0x100493bd
cmp dword [ebp - 0x12c], 0
je 0x10049408
jmp 0x10049475
mov ax, word [ebp - 0x44]
mov word [0x100ad0f0], ax
mov ecx, 2
imul edx, ecx, 0x53
movsx eax, word [edx + 0x100df228]
mov dword [0x100ad0a8], eax
push 0
push 0xde82d04e
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x40]
push edx
call fcn.1007a8a0
mov dword [ebp - 0x30], eax
movsx eax, byte [ebp - 2]
cdq
xor eax, dword [0x100ad160]
mov word [ebp - 0x24], ax
jmp 0x10049475
movsx eax, word [ebp - 0x28]
cdq
push 0xc8a89
push 0xae7af23a
push edx
push eax
call fcn.1007a8a0
mov dword [0x100ad15c], eax
movsx eax, word [ebp - 0x10]
shl eax, 5
mov byte [0x100ad042], al
movsx ecx, word [0x100ad0bc]
movzx edx, byte [ebp - 3]
sub ecx, edx
movsx eax, byte [ebp - 2]
and eax, 0x1a
not eax
sub ecx, eax
mov byte [0x100ad00f], cl
movzx eax, byte [0x100ad0a6]
cdq
push 0x9378a
push 0xfc6b49f8
push edx
push eax
call fcn.1007a8a0
mov byte [ebp - 4], al
mov cl, byte [0x100adbec]
mov byte [0x100ad09a], cl
mov edx, dword [ebp - 0xf4]
add edx, 0x26f
mov dword [ebp - 0x68c], edx
movsx eax, word [ebp - 0x1c]
sub eax, 0x2f1acff0
mov dword [0x100ad100], eax
mov ecx, 1
imul edx, ecx, 0x1287
mov al, byte [edx + 0x101e9b18]
mov byte [ebp - 2], al
mov cl, byte [0x100adbec]
mov byte [ebp - 4], cl
movzx eax, byte [0x100ad072]
cdq
add eax, 0xce2569ba
adc edx, 0x3cd09
or eax, dword [0x100ad160]
or edx, dword [0x100ad164]
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
movsx edx, byte [0x100ad00e]
mov eax, dword [ebp - 0x50]
add eax, edx
mov dword [ebp - 0x50], eax
movsx ecx, word [0x100ad0c0]
movsx edx, word [ebp - 0xc]
add ecx, edx
movsx eax, word [0x100ad0c0]
sub eax, ecx
mov word [0x100ad0c0], ax
mov cl, byte [0x100adbec]
mov byte [0x100ad09a], cl
mov dx, word [0x100adbec]
mov word [0x100ad0c4], dx
movzx eax, word [0x100ad0f0]
cdq
sub eax, 0x5dd720ce
mov word [ebp - 0x1c], ax
mov eax, dword [0x100ad100]
xor ecx, ecx
mov edx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
push ecx
push eax
push esi
push edx
call fcn.1007a8a0
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov edx, dword [ebp - 0x688]
add edx, dword [ebp - 0x68c]
xor edx, 0xe968
mov eax, 0x22a
sub eax, dword [ebp - 0x3e4]
mov ecx, dword [ebp - 0x3e4]
sub ecx, dword [ebp - 0x690]
add eax, ecx
sub edx, eax
mov dword [ebp - 0x698], edx
mov edx, dword [ebp - 0x50]
mov eax, 4
imul ecx, eax, 0x3a
mov dword [ecx + 0x101af448], edx
movzx edx, byte [0x100ad00f]
and edx, 0x47
movsx eax, word [ebp - 0x10]
imul eax, edx
mov word [ebp - 0x10], ax
movzx ecx, word [ebp - 0x20]
add ecx, dword [0x100ad0c8]
movzx edx, word [ebp - 0x20]
add edx, ecx
mov word [ebp - 0x20], dx
movzx eax, word [ebp - 0x24]
test eax, eax
je 0x100495ec
mov ecx, dword [0x100ad160]
mov edx, dword [0x100ad164]
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x134], edx
jmp 0x100495fe
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], ecx
mov edx, dword [ebp - 0x138]
mov eax, dword [ebp - 0x134]
mov dword [0x100ad160], edx
mov dword [0x100ad164], eax
mov ecx, dword [0x100ad0e0]
sub ecx, 0x5dd2
mov dword [ebp - 0x44], ecx
movzx edx, word [0x100ad120]
movsx eax, byte [0x100ad00d]
sub eax, dword [0x100ad15c]
sub edx, eax
jne 0x10049642
mov byte [ebp - 0x55], 1
jmp 0x10049646
mov byte [ebp - 0x55], 0
mov cl, byte [ebp - 0x55]
mov byte [0x100ad00f], cl
movsx edx, byte [0x100ad09a]
movsx eax, word [ebp - 0x14]
or edx, eax
mov byte [0x100ad09a], dl
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
mov byte [str.px_04X_], al
movsx ecx, word [0x100ad0bc]
cmp dword [0x100ad100], ecx
jne 0x100497a6
mov eax, dword [ebp - 0x80]
push eax
push 0
push 0
call fcn.100016e0
call eax
mov ecx, dword [ebp - 0x70]
push ecx
push 0
push 0
call fcn.10001380
call eax
push 0x8000
push 0
mov edx, dword [ebp - 0x74]
push edx
push 0
push 0
call fcn.100012f0
call eax
cmp dword [ebp - 0x78], 0
jne 0x1004c583
xor eax, eax
jmp 0x1004ce84
mov dword [0x100ad0e0], 0xac3e1428
movsx eax, byte [ebp - 5]
movzx ecx, byte [0x100ad072]
add eax, ecx
mov byte [ebp - 5], al
mov edx, dword [0x100ad108]
mov eax, dword [0x100ad10c]
mov dword [ebp - 0x8f4], edx
mov dword [ebp - 0x8f0], eax
mov ecx, dword [ebp - 0x8f4]
or ecx, dword [ebp - 0x8f0]
jne 0x1004c5ce
mov dword [ebp - 0x4fc], 1
jmp 0x1004c5d8
mov dword [ebp - 0x4fc], 0
movsx edx, word [ebp - 0x1c]
sub edx, dword [ebp - 0x4fc]
mov byte [ebp - 4], dl
movsx eax, word [ebp - 0x28]
movsx ecx, word [0x100ad11c]
sub eax, ecx
movsx edx, word [ebp - 0x28]
add edx, eax
mov word [ebp - 0x28], dx
movsx eax, byte [ebp - 5]
cdq
push 0x293cd
push 0x17b64187
push edx
push eax
call fcn.1007a8a0
mov dword [0x100ad15c], eax
movsx eax, byte [0x100ad00d]
add eax, 0xedfe
mov word [ebp - 0x28], ax
movsx ecx, byte [0x100ad043]
movzx edx, word [ebp - 0x24]
mov eax, dword [0x100ad0e0]
add eax, edx
cmp ecx, eax
jne 0x1004c9b2
movzx ecx, word [ebp - 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_SetLastError]
movzx edx, word [0x100ad0ac]
movsx eax, word [ebp - 0x28]
cmp edx, eax
jg 0x1004c667
mov dword [ebp - 0x500], 1
jmp 0x1004c671
mov dword [ebp - 0x500], 0
mov byte [str.ZFreeSid], 4
movsx edx, byte [ebp - 2]
shl edx, 7
mov byte [ebp - 5], dl
movsx eax, word [ebp - 0x2c]
movsx ecx, word [ebp - 0xc]
imul eax, ecx
movsx edx, byte [0x100ad073]
add eax, edx
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x30]
shl eax, 7
xor ecx, ecx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
movsx edx, byte [0x100ad00e]
imul eax, edx, 0x521a6b87
mov dword [0x100ad0a8], eax
movsx ecx, byte [0x100ad037]
movsx edx, byte [0x100ad042]
lea eax, [edx + ecx - 0xe825]
mov byte [0x100ad042], al
movsx ecx, byte [str.ZFreeSid]
mov dword [ebp - 0x504], ecx
cmp dword [ebp - 0x504], 4
ja case.default.0x1004c6f3
mov edx, dword [ebp - 0x504]
jmp dword [edx*4 + 0x1004cf38]
mov eax, dword [0x100ad140]
shl eax, 7
mov dword [0x100ad0c8], eax
cmp dword [0x100ad0b4], 0
je 0x1004c71c
movsx ecx, word [ebp - 0xc]
mov dword [ebp - 0x508], ecx
jmp 0x1004c726
movzx edx, word [ebp - 0x18]
mov dword [ebp - 0x508], edx
mov eax, dword [ebp - 0x508]
mov dword [0x100ad0a8], eax
movsx eax, word [0x100ad130]
cdq
mov ecx, dword [0x100ad128]
mov esi, dword [0x100ad12c]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0xc24], ecx
sub eax, edx
mov dword [0x100ad0a8], eax
movsx edx, byte [str.E2_wcsrchr]
mov eax, dword [0x100ad0e0]
not eax
add edx, eax
movzx ecx, word [ebp - 0x18]
sub edx, ecx
mov word [ebp - 0x20], dx
movsx edx, word [ebp - 0xc]
add edx, 0x9e
mov word [ebp - 0x2c], dx
movzx eax, byte [0x100ad072]
movsx ecx, byte [str.ZFreeSid]
sub eax, ecx
movzx edx, byte [0x100ad072]
imul edx, eax
mov byte [0x100ad072], dl
jmp case.default.0x1004c6f3
movsx eax, byte [ebp - 4]
movsx ecx, word [ebp - 0x2c]
imul eax, ecx
mov byte [ebp - 4], al
movsx edx, byte [ebp - 1]
imul eax, edx, 0xdc
mov byte [0x100ad00d], al
mov ecx, 1
imul edx, ecx, 0x47d7
movzx ax, byte [edx + 0x100d57e0]
mov word [ebp - 0x14], ax
jmp case.default.0x1004c6f3
mov ecx, 0x70
mov word [ebp - 0x18], cx
movzx edx, word [ebp - 0x18]
imul eax, edx, 0x6aed2d90
mov byte [ebp - 2], al
mov cx, word [ebp - 0xc]
add cx, 1
mov word [ebp - 0xc], cx
movsx eax, byte [0x100ad00e]
cdq
mov ecx, eax
mov esi, edx
sub ecx, dword [ebp - 0x40]
sbb esi, dword [ebp - 0x3c]
movsx eax, byte [0x100ad00e]
cdq
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov byte [0x100ad00e], al
movzx edx, byte [str.px_04X_]
sub edx, 0x1161dbd7
mov eax, dword [0x100ad0a8]
add eax, edx
mov dword [0x100ad0a8], eax
mov ecx, dword [0x100ad100]
sub ecx, 0x78
mov byte [ebp - 2], cl
jmp case.default.0x1004c6f3
movzx edx, byte [ebp - 3]
sub edx, 0x1a65ba96
mov word [ebp - 0x18], dx
mov eax, 0x343a
mov word [0x100ad0b0], ax
mov cx, word [0x100adbec]
mov word [0x100ad0b0], cx
movsx eax, byte [ebp - 5]
cdq
mov ecx, eax
mov edx, dword [0x100ad0d8]
mov eax, dword [0x100ad0dc]
mov dword [ebp - 0xc20], eax
add ecx, edx
movsx eax, byte [ebp - 5]
cdq
sub eax, ecx
mov byte [ebp - 5], al
movzx eax, word [ebp - 0x18]
cdq
push 0x8b7b7
push 0x820a26ae
push edx
push eax
call fcn.1007a8a0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movsx eax, word [ebp - 0x28]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
xor ecx, eax
xor esi, edx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
sub edx, ecx
sbb eax, esi
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
jmp case.default.0x1004c6f3
mov byte [ebp - 3], 0xd3
mov eax, dword [ebp - 0x50]
cdq
mov ecx, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov ecx, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
sub ecx, eax
sbb esi, edx
mov dword [0x100ad0d8], ecx
mov dword [0x100ad0dc], esi
mov dword [0x100ad0e0], 0x2b4d4b1b
mov edx, 2
mov word [0x100ad0c0], dx
movsx eax, byte [ebp - 5]
add eax, 0x41110336
cmp dword [0x100ad100], eax
jne 0x1004c9b2
jmp 0x1004c583
mov ecx, dword [0x100ad108]
mov edx, dword [0x100ad10c]
mov dword [ebp - 0x8fc], ecx
mov dword [ebp - 0x8f8], edx
mov eax, dword [ebp - 0x8fc]
or eax, dword [ebp - 0x8f8]
je 0x1004cc01
mov ecx, 3
mov word [ebp - 0x28], cx
mov edx, dword [0x100ad100]
sub edx, 0xf9
mov byte [ebp - 5], dl
movsx eax, word [0x100ad0d0]
add eax, 0x7860aaf3
mov dword [0x100ad0c8], eax
movsx eax, word [ebp - 0x14]
cdq
sub eax, 0xbc84943b
mov dword [0x100ad0a8], eax
mov ecx, dword [ebp - 0x44]
xor edx, edx
mov eax, dword [0x100ad108]
mov esi, dword [0x100ad10c]
push esi
push eax
push edx
push ecx
call fcn.1007a8a0
mov edx, dword [ebp - 0x44]
mov ecx, eax
shr edx, cl
mov dword [ebp - 0x44], edx
movsx eax, word [ebp - 0x28]
mov dword [ebp - 0x50c], eax
cmp dword [ebp - 0x50c], 3
ja case.default.0x1004ca54
mov ecx, dword [ebp - 0x50c]
jmp dword [ecx*4 + 0x1004cf4c]
mov dx, word [0x100adbec]
mov word [0x100ad0b8], dx
mov eax, 0xffff9225
mov word [0x100ad0c4], ax
mov ecx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x50]
mov dword [ebp - 0x50], ecx
push 0xc8e32
push 0xbc8660d
mov edx, dword [0x100ad13c]
push edx
mov eax, dword [0x100ad138]
push eax
call fcn.1007a8a0
mov byte [ebp - 5], al
jmp case.default.0x1004ca54
mov cl, byte [0x100adbec]
mov byte [ebp - 1], cl
mov edx, dword [ebp - 0x44]
add edx, 0x3be4f19f
xor eax, eax
mov dword [0x100ad0f8], edx
mov dword [0x100ad0fc], eax
movzx eax, byte [ebp - 3]
cdq
mov ecx, eax
mov esi, edx
sub ecx, dword [0x100ad138]
sbb esi, dword [0x100ad13c]
movzx eax, byte [ebp - 3]
cdq
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov byte [ebp - 3], al
movsx eax, byte [ebp - 5]
cdq
sub eax, 0x9d6e9530
mov word [ebp - 0xc], ax
jmp case.default.0x1004ca54
mov eax, dword [0x100ad128]
mov edx, dword [0x100ad12c]
mov cl, 6
call fcn.1007a8e0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov byte [0x100ad00f], 4
movsx eax, byte [ebp - 5]
cdq
mov ecx, eax
mov esi, edx
sub ecx, dword [0x100ad0e8]
sbb esi, dword [0x100ad0ec]
movsx eax, byte [ebp - 5]
cdq
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov byte [ebp - 5], al
mov edx, dword [0x100ad0c8]
imul edx, dword [0x100ad0c8]
mov word [0x100ad0f0], dx
mov ax, word [0x100adbec]
mov word [ebp - 0x20], ax
movzx ecx, word [ebp - 0x24]
mov edx, dword [ebp - 0x44]
lea eax, [edx + ecx + 0xd9]
mov dword [ebp - 0x44], eax
jmp case.default.0x1004ca54
movsx ecx, byte [ebp - 2]
movsx edx, byte [ebp - 2]
imul ecx, edx
movsx eax, byte [ebp - 2]
add eax, ecx
mov byte [ebp - 2], al
movsx eax, byte [0x100ad09a]
cdq
add eax, 0xabde19dc
mov byte [0x100ad00e], al
movzx eax, byte [str.px_04X_]
cdq
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0xc1c], edx
sub eax, ecx
mov byte [str.px_04X_], al
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x40]
push ecx
mov edx, dword [0x100ad164]
push edx
mov eax, dword [0x100ad160]
push eax
call fcn.1007a8a0
mov ecx, dword [0x100ad160]
sub ecx, eax
mov eax, dword [0x100ad164]
sbb eax, edx
mov dword [0x100ad160], ecx
mov dword [0x100ad164], eax
movsx eax, word [ebp - 0x1c]
add eax, 0x3ebb
cdq
mov dword [0x100ad108], eax
mov dword [0x100ad10c], edx
jmp 0x1004ce7f
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
mov dword [ebp - 0x904], ecx
mov dword [ebp - 0x900], edx
mov eax, dword [ebp - 0x904]
or eax, dword [ebp - 0x900]
jne 0x1004cc3b
movsx ecx, word [ebp - 0x10]
test ecx, ecx
jne 0x1004cc3b
mov dword [ebp - 0x510], 0
jmp 0x1004cc45
mov dword [ebp - 0x510], 1
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x90c], edx
mov dword [ebp - 0x908], eax
mov ecx, dword [ebp - 0x90c]
or ecx, dword [ebp - 0x908]
jne 0x1004cc7c
movzx edx, byte [0x100ad00f]
test edx, edx
je 0x1004cc7c
mov dword [ebp - 0x514], 0
jmp 0x1004cc86
mov dword [ebp - 0x514], 1
mov eax, dword [ebp - 0x510]
sub eax, dword [ebp - 0x514]
je 0x1004cd3b
movzx ecx, byte [str.px_04X_]
test ecx, ecx
jne 0x1004ccaf
mov dword [ebp - 0x518], 1
jmp 0x1004ccb9
mov dword [ebp - 0x518], 0
movsx edx, byte [ebp - 2]
not edx
xor edx, dword [0x100ad140]
movsx eax, word [0x100ad0cc]
not eax
add eax, dword [ebp - 0x518]
sub edx, eax
movsx ecx, word [ebp - 0x1c]
movsx eax, word [ebp - 0x14]
sub ecx, eax
imul ecx, dword [0x100ad15c]
or edx, ecx
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0x44]
xor edx, edx
push edx
push ecx
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.1007a8a0
add eax, dword [ebp - 0x40]
adc edx, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movsx edx, word [0x100ad0b0]
sub edx, 0x18
movsx eax, byte [0x100ad09a]
sub eax, edx
mov byte [0x100ad09a], al
xor ecx, ecx
mov dword [0x100ad138], 2
mov dword [0x100ad13c], ecx
jmp 0x1004ce7f
movzx edx, byte [0x100ad0a6]
test edx, edx
jne 0x1004cd9a
mov eax, 0x3e
mov word [0x100ad0e4], ax
movsx eax, word [0x100ad130]
cdq
add eax, 0xaa08d7bd
mov byte [ebp - 3], al
movzx ecx, word [ebp - 0x20]
imul edx, ecx, 0x84720c8
movsx eax, byte [0x100ad073]
add eax, edx
mov byte [0x100ad073], al
mov ecx, dword [0x100ad100]
mov dword [0x100ad0a8], ecx
movzx eax, byte [ebp - 3]
sub eax, 0xfa
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
jmp 0x1004ce7f
movsx edx, word [ebp - 0x10]
test edx, edx
je 0x1004ce7f
movzx eax, word [ebp - 0x18]
xor eax, 0xa9ae
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov eax, dword [0x100ad138]
or eax, dword [0x100ad13c]
jne 0x1004cdcf
mov dword [ebp - 0x51c], 1
jmp 0x1004cdd9
mov dword [ebp - 0x51c], 0
mov ecx, dword [ebp - 0x51c]
imul ecx, dword [0x100ad0b4]
mov byte [ebp - 5], cl
movzx eax, word [ebp - 0x24]
cdq
mov ecx, dword [ebp - 0x40]
sub ecx, eax
mov eax, dword [ebp - 0x3c]
sbb eax, edx
mov edx, dword [ebp - 0x40]
sub edx, ecx
mov ecx, dword [ebp - 0x3c]
sbb ecx, eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], ecx
movsx edx, word [0x100ad0e4]
movsx eax, word [0x100ad130]
and edx, eax
movsx ecx, word [0x100ad0e4]
add ecx, edx
mov word [0x100ad0e4], cx
movzx edx, word [ebp - 0x18]
movsx eax, word [ebp - 0x10]
sub edx, eax
add edx, 0x1ab57ec0
jne 0x1004ce4e
xor ecx, ecx
mov dword [ebp - 0x914], 1
mov dword [ebp - 0x910], ecx
jmp 0x1004ce59
xorps xmm0, xmm0
movlpd qword [ebp - 0x914], xmm0
mov edx, dword [ebp - 0x914]
or edx, 0x8cd16a86
mov dword [0x100ad158], edx
movsx eax, word [0x100ad0c0]
imul eax, dword [0x100ad0c8]
mov word [0x100ad0c0], ax
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8