Function at 0x1004d4b0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2bc
push ebx
push esi
push edi
mov al, byte [0x100ad0c8]
mov byte [ebp - 0x5f], al
mov dword [ebp - 0x30], 0x4715acfc
movsx eax, byte [0x100ad042]
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov byte [ebp - 1], 0x48
mov dword [ebp - 0x58], 0x3d
mov ecx, dword [0x100ad100]
xor edx, edx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x28], 0x28d9
mov byte [ebp - 2], 0x66
mov dword [ebp - 0x4c], 0x7550a858
mov byte [ebp - 9], 0xc6
mov eax, 0x8a12
mov word [ebp - 0x14], ax
mov ecx, 0x7655
mov word [ebp - 0x10], cx
mov edx, 0xcfc8
mov word [ebp - 0x20], dx
mov dword [ebp - 0x54], 0x4ed532d1
mov ax, word [0x100ad0f0]
mov word [ebp - 0x18], ax
movzx ecx, word [0x100ad0b8]
mov dword [ebp - 0x50], ecx
mov edx, dword [0x100ad128]
mov eax, dword [0x100ad12c]
mov dword [ebp - 0x27c], eax
mov word [ebp - 8], dx
mov ecx, dword [0x100ad0e8]
mov dword [ebp - 0x2c], ecx
movzx eax, byte [0x100ad072]
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov edx, dword [0x100ad140]
mov word [ebp - 0x24], dx
mov ax, word [0x100ad0f8]
mov word [ebp - 0x1c], ax
mov dword [ebp - 0x25c], 0xea
movsx ecx, word [0x100ad130]
mov dword [ebp - 0x258], ecx
mov edx, 0x41ad
mov word [ebp - 0x1c8], dx
mov ax, word [0x100ad0f8]
mov word [ebp - 0x1e4], ax
mov ecx, 0x73a77
mov dword [ebp - 0x278], 0x3c0bf0f1
mov dword [ebp - 0x274], ecx
movsx dx, byte [str.E2_wcsrchr]
mov word [ebp - 0x1d8], dx
xor eax, eax
mov dword [ebp - 0x2bc], 0x9532
mov dword [ebp - 0x2b8], eax
mov ecx, 0xfffffcb7
mov word [ebp - 0x1e0], cx
mov dword [ebp - 0x254], 0xc7185565
movzx eax, byte [0x100ad072]
cdq
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], edx
mov edx, 0x22654
mov dword [ebp - 0x28c], 0x75a0b3a5
mov dword [ebp - 0x288], edx
mov eax, dword [0x100ad140]
mov word [ebp - 0x1dc], ax
xor ecx, ecx
mov dword [ebp - 0x294], 0x1a
mov dword [ebp - 0x290], ecx
mov dword [ebp - 0x250], 0x6b
movzx eax, byte [str.px_04X_]
cdq
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x298], edx
mov edx, 0xbe574
mov dword [ebp - 0x2a4], 0x26f67e53
mov dword [ebp - 0x2a0], edx
movsx eax, byte [0x100ad00d]
mov dword [ebp - 0x24c], eax
mov cx, word [0x100ad0cc]
mov byte [ebp - 0x60], cl
movzx edx, byte [0x100ad0a6]
mov dword [ebp - 0x248], edx
push 0x10090798
call fcn.1008096a
add esp, 4
fnstcw word [ebp - 0x5a]
movzx eax, word [ebp - 0x5a]
or eax, 0xc00
mov dword [ebp - 0x1cc], eax
fldcw word [ebp - 0x1cc]
fistp qword [ebp - 0x2ac]
fldcw word [ebp - 0x5a]
mov eax, dword [ebp - 0x2ac]
mov dword [0x100adbec], eax
movsx ecx, word [0x100ad0b0]
movzx edx, word [0x100ad0f0]
imul ecx, edx
movsx eax, word [0x100ad0b0]
add eax, ecx
mov word [0x100ad0b0], ax
movsx eax, byte [ebp - 2]
sub eax, 0xe5
cdq
mov dword [0x100ad110], eax
mov dword [0x100ad114], edx
mov byte [str.E2_wcsrchr], 4
mov ecx, 0x1555
mov word [ebp - 8], cx
cmp dword [0x100ad0b4], 0
jne 0x1004d72b
mov dword [ebp - 0x88], 1
jmp 0x1004d735
mov dword [ebp - 0x88], 0
movsx edx, byte [0x100ad037]
sub edx, dword [ebp - 0x88]
movzx eax, word [ebp - 0x20]
imul ecx, eax, 0x38
sub edx, ecx
mov byte [ebp - 1], dl
cmp dword [0x100adbec], 0x326
jne 0x1004d84d
movsx edx, word [ebp - 0x1c]
test edx, edx
jne 0x1004d772
mov dword [ebp - 0x84], 1
jmp 0x1004d77c
mov dword [ebp - 0x84], 0
cmp dword [ebp - 0x54], 0
jne 0x1004d78e
mov dword [ebp - 0x8c], 1
jmp 0x1004d798
mov dword [ebp - 0x8c], 0
movzx eax, word [ebp - 0x14]
xor eax, dword [ebp - 0x8c]
jne 0x1004d7b0
mov dword [ebp - 0x90], 1
jmp 0x1004d7ba
mov dword [ebp - 0x90], 0
movsx ecx, word [ebp - 0x10]
not ecx
imul ecx, dword [ebp - 0x84]
add ecx, dword [ebp - 0x90]
mov edx, dword [0x100ad100]
not edx
mov eax, dword [ebp - 0x2c]
not eax
and edx, eax
movsx eax, byte [0x100ad042]
not eax
mov esi, dword [ebp - 0x58]
not esi
imul eax, esi
imul edx, eax
imul ecx, edx
xor edx, edx
mov dword [0x100ad160], ecx
mov dword [0x100ad164], edx
mov eax, dword [ebp - 0x2c]
mov word [0x100ad0b8], ax
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov dword [0x100ad160], ecx
mov dword [0x100ad164], edx
movzx eax, byte [0x100ad072]
sub eax, 0xe8
cdq
push edx
push eax
mov eax, dword [0x100ad0fc]
push eax
mov ecx, dword [0x100ad0f8]
push ecx
call fcn.1007a8a0
mov dword [0x100ad0f8], eax
mov dword [0x100ad0fc], edx
call fcn.1004d010
movsx eax, word [0x100ad0b0]
cdq
mov ecx, dword [0x100ad108]
mov esi, dword [0x100ad10c]
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1c0], edx
mov dword [ebp - 0x1bc], ecx
mov dword [ebp - 0x1b8], esi
mov edx, dword [ebp - 0x1c0]
cmp edx, dword [ebp - 0x1b8]
jb 0x1004d931
ja 0x1004d89f
mov eax, dword [ebp - 0x1c4]
cmp eax, dword [ebp - 0x1bc]
jb 0x1004d931
mov ecx, dword [0x100ad150]
sub ecx, 1
mov edx, dword [0x100ad154]
sbb edx, 0
mov dword [0x100ad150], ecx
mov dword [0x100ad154], edx
movsx eax, word [ebp - 0x1c]
add eax, dword [0x100ad0e0]
jne 0x1004d8d4
mov ecx, 1
mov word [ebp - 0x5c], cx
jmp 0x1004d8da
xor edx, edx
mov word [ebp - 0x5c], dx
mov ax, word [ebp - 0x5c]
mov word [0x100ad0ac], ax
movzx ecx, word [0x100ad120]
imul eax, ecx, 0x1f
cdq
add eax, dword [0x100ad0f8]
adc edx, dword [0x100ad0fc]
mov dword [0x100ad0f8], eax
mov dword [0x100ad0fc], edx
cmp dword [ebp - 0x30], 0
je 0x1004d918
movzx edx, word [ebp - 0x20]
mov dword [ebp - 0x94], edx
jmp 0x1004d921
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x94], eax
mov cx, word [ebp - 0x94]
mov word [ebp - 0x10], cx
jmp 0x1004d9cd
movsx eax, byte [0x100ad037]
add eax, 0x1326
cdq
mov ecx, dword [0x100ad150]
sub ecx, eax
mov eax, dword [0x100ad154]
sbb eax, edx
mov dword [0x100ad150], ecx
mov dword [0x100ad154], eax
xor ecx, ecx
mov dword [0x100ad148], 0xa4
mov dword [0x100ad14c], ecx
movsx eax, byte [0x100ad042]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], esi
mov edx, 2
imul eax, edx, 0x195d
mov cx, word [0x100ad11c]
mov word [eax + 0x101ec310], cx
movsx edx, byte [str.ZFreeSid]
sub edx, dword [ebp - 0x2c]
mov byte [str.ZFreeSid], dl
movzx eax, word [0x100ad0b8]
cdq
xor eax, 0xcbaa6a80
mov word [0x100ad0c0], ax
mov eax, dword [0x100adbec]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], 0
jmp 0x1004d9e7
mov ecx, dword [ebp - 0x68]
add ecx, 1
mov dword [ebp - 0x68], ecx
cmp dword [ebp - 0x68], 0x6c
jge 0x1004df66
movsx edx, byte [ebp - 1]
test edx, edx
jne 0x1004da0d
mov eax, dword [ebp - 0x48]
or eax, dword [ebp - 0x44]
jne 0x1004da0d
mov dword [ebp - 0x98], 0
jmp 0x1004da17
mov dword [ebp - 0x98], 1
mov ecx, dword [ebp - 0x98]
cmp ecx, dword [ebp - 0x30]
jb 0x1004deec
cmp dword [ebp - 0x28], 0
je 0x1004de63
xor edx, edx
mov dword [0x100ad148], 4
mov dword [0x100ad14c], edx
mov ecx, dword [ebp - 0x4c]
xor esi, esi
xor ecx, dword [0x100ad138]
xor esi, dword [0x100ad13c]
movzx eax, byte [0x100ad072]
cdq
push edx
push eax
push esi
push ecx
call fcn.1007a8a0
mov esi, eax
movzx eax, word [0x100ad0ac]
cdq
push 0xfd184
push 0x78f48b09
push edx
push eax
call fcn.1007a8a0
mov ecx, eax
movzx eax, word [0x100ad120]
cdq
mov edx, dword [0x100ad138]
sub edx, eax
add ecx, edx
add esi, ecx
mov dword [ebp - 0x28], esi
movsx eax, word [ebp - 0x1c]
shl eax, 7
mov byte [0x100ad037], al
cmp dword [ebp - 0x4c], 0
jne 0x1004dab6
mov dword [ebp - 0x9c], 1
jmp 0x1004dac0
mov dword [ebp - 0x9c], 0
movzx ecx, word [ebp - 0x24]
not ecx
add ecx, dword [ebp - 0x9c]
jne 0x1004dada
mov dword [ebp - 0xa4], 1
jmp 0x1004dae4
mov dword [ebp - 0xa4], 0
movzx edx, word [ebp - 0x14]
test edx, edx
jne 0x1004daf8
mov dword [ebp - 0xa0], 1
jmp 0x1004db02
mov dword [ebp - 0xa0], 0
movsx eax, byte [ebp - 2]
mov ecx, dword [ebp - 0xa0]
sub ecx, eax
not ecx
xor ecx, dword [ebp - 0xa4]
mov eax, ecx
cdq
mov ecx, eax
mov eax, dword [ebp - 0x50]
cdq
add eax, dword [ebp - 0x38]
movsx edx, byte [str.ZFreeSid]
imul edx, dword [ebp - 0x30]
add eax, edx
add ecx, eax
mov word [0x100ad0c0], cx
movsx eax, word [0x100ad0b0]
cdq
push 0x73c45
push 0x8c60a77
push edx
push eax
call fcn.1007a8a0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
imul eax, dword [ebp - 0x2c], 0x98db56d6
mov byte [ebp - 9], al
mov ecx, dword [0x100ad148]
mov edx, dword [0x100ad14c]
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], edx
cmp dword [ebp - 0x78], 0
jl 0x1004de5e
jg 0x1004db89
cmp dword [ebp - 0x7c], 0
jb 0x1004de5e
cmp dword [ebp - 0x78], 0
jg 0x1004de5e
jl 0x1004db9f
cmp dword [ebp - 0x7c], 4
ja 0x1004de5e
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x2b4], eax
mov ecx, dword [ebp - 0x2b4]
jmp dword [ecx*4 + 0x1004f7e0]
jmp 0x1004deea
movzx eax, word [ebp - 0x24]
not eax
test eax, eax
je 0x1004deea
movsx eax, word [0x100ad0b0]
cdq
push 0x78071
push 0xb08891bd
push edx
push eax
call fcn.1007a8a0
mov ecx, dword [ebp - 0x30]
add ecx, eax
mov dword [ebp - 0x30], ecx
mov edx, dword [0x100ad128]
mov eax, dword [0x100ad12c]
push 0xe2e19
push 0xb038b358
push eax
push edx
call fcn.1007a8a0
mov byte [ebp - 1], al
mov ecx, dword [ebp - 0x38]
or ecx, dword [ebp - 0x34]
je 0x1004dec9
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x148], edx
mov dword [ebp - 0x144], eax
jmp 0x1004dee1
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x144], edx
mov al, byte [ebp - 0x148]
mov byte [ebp - 1], al
jmp 0x1004df55
mov ecx, 0xdf71
sub ecx, dword [ebp - 0x4c]
mov word [ebp - 0x14], cx
mov edx, 2
imul eax, edx, 0x5247
movsx eax, word [eax + 0x100c0320]
cdq
mov dword [0x100ad108], eax
mov dword [0x100ad10c], edx
movsx eax, word [ebp - 0x10]
cdq
mov ecx, dword [ebp - 0x34]
push ecx
mov ecx, dword [ebp - 0x38]
push ecx
push edx
push eax
call fcn.1007a8a0
mov word [ebp - 0x10], ax
movsx dx, byte [0x100ad00d]
mov word [0x100ad0bc], dx
mov al, byte [str.px_04X_]
sub al, 1
mov byte [str.px_04X_], al
mov cx, word [ebp - 0x10]
add cx, 1
mov word [ebp - 0x10], cx
mov dx, word [ebp - 8]
add dx, 1
mov word [ebp - 8], dx
jmp 0x1004d9de
mov eax, dword [ebp - 0x6c]
add eax, 0x373
mov dword [ebp - 0x240], eax
movzx ecx, word [0x100ad0f0]
add ecx, 0xe0
mov byte [0x100ad073], cl
movsx edx, word [ebp - 8]
mov dword [0x100ad118], edx
mov esi, dword [ebp - 0x2c]
xor esi, dword [ebp - 0x58]
movsx eax, word [0x100ad0c0]
movsx ecx, word [ebp - 0x18]
and eax, ecx
imul esi, eax
xor edi, edi
movzx eax, byte [0x100ad072]
cdq
mov ebx, eax
mov eax, edx
mov edx, dword [0x100ad14c]
sub ebx, dword [0x100ad148]
sbb eax, edx
mov ecx, dword [0x100ad140]
xor edx, edx
mov dword [ebp - 0x1d4], esi
mov esi, dword [ebp - 0x34]
push esi
mov esi, dword [ebp - 0x38]
push esi
push edx
push ecx
mov dword [ebp - 0x1d0], eax
call fcn.1007a8a0
add ebx, eax
mov esi, dword [ebp - 0x1d0]
adc esi, edx
push esi
push ebx
push edi
mov esi, dword [ebp - 0x1d4]
push esi
call fcn.1007a8a0
mov word [0x100ad0ac], ax
movsx eax, byte [0x100ad09a]
imul eax, eax, 0xf9
cdq
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], edx
mov ecx, dword [ebp - 0x30]
and ecx, 0x21
mov word [ebp - 0x10], cx
mov edx, dword [0x100ad140]
add edx, dword [ebp - 0x4c]
movsx eax, word [ebp - 8]
imul ecx, eax, 0
movzx eax, word [ebp - 0x24]
not eax
sub ecx, eax
add edx, ecx
mov dword [ebp - 0x28], edx
mov ecx, dword [ebp - 0x6c]
add ecx, 0x537
mov dword [ebp - 0x23c], ecx
movsx eax, word [ebp - 8]
sub eax, 0x85
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x4c], 2
movsx eax, byte [ebp - 2]
add eax, 0xb003
cdq
mov dword [0x100ad148], eax
mov dword [0x100ad14c], edx
mov edx, dword [ebp - 0x6c]
add edx, 0x3e2
mov dword [ebp - 0x64], edx
xor eax, eax
mov dword [0x100ad0d8], 0xe9
mov dword [0x100ad0dc], eax
movzx eax, word [ebp - 0x24]
cdq
and eax, 0x9afd7a81
and edx, 0xd7196
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx eax, word [0x100ad0cc]
cdq
mov ecx, 8
imul ecx, ecx, 0x3b
mov dword [ecx + 0x100e6a58], eax
mov dword [ecx + 0x100e6a5c], edx
cmp dword [0x100ad140], 0
je 0x1004e0ec
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x150], edx
mov dword [ebp - 0x14c], eax
jmp 0x1004e0fd
mov ecx, dword [ebp - 0x30]
xor edx, edx
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0x14c], edx
mov ax, word [ebp - 0x150]
mov word [0x100ad0e4], ax
movsx eax, word [0x100ad130]
cdq
mov ecx, eax
mov esi, edx
movsx eax, byte [ebp - 1]
cdq
mov edi, dword [0x100ad0d8]
mov ebx, dword [0x100ad0dc]
add edi, eax
adc ebx, edx
mov dword [ebp - 0x1b4], ecx
mov dword [ebp - 0x1b0], esi
mov dword [ebp - 0x1ac], edi
mov dword [ebp - 0x1a8], ebx
mov edx, dword [ebp - 0x1b4]
cmp edx, dword [ebp - 0x1ac]
jne 0x1004e6a0
mov eax, dword [ebp - 0x1b0]
cmp eax, dword [ebp - 0x1a8]
jne 0x1004e6a0
movsx ecx, byte [ebp - 1]
movzx edx, word [ebp - 0x20]
cmp ecx, edx
jg 0x1004e1ec
movsx eax, byte [0x100ad042]
sub eax, 0x530d
mov ecx, dword [ebp - 0x2c]
imul ecx, eax
mov dword [ebp - 0x2c], ecx
mov edx, dword [0x100ad148]
mov eax, dword [0x100ad14c]
add edx, 8
adc eax, 0
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], eax
movsx ecx, word [ebp - 0x10]
test ecx, ecx
je 0x1004e1b6
movsx edx, word [0x100ad0c4]
mov dword [ebp - 0xb4], edx
jmp 0x1004e1bf
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xb4]
mov dword [0x100ad15c], ecx
movzx edx, word [ebp - 0x14]
mov eax, 4
imul ecx, eax, 0x3f
mov dword [ecx + 0x101af448], edx
imul edx, dword [ebp - 0x58], 0x14
movsx eax, byte [ebp - 2]
sub eax, edx
mov byte [ebp - 2], al
jmp 0x1004e269
movsx ecx, byte [str.E2_wcsrchr]
add ecx, dword [ebp - 0x50]
jne 0x1004e228
mov edx, dword [ebp - 0x2c]
xor eax, eax
push 0x85392
push 0xe4ed6444
push eax
push edx
call fcn.1007a8a0
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], edx
mov ecx, dword [ebp - 0x15c]
or ecx, dword [ebp - 0x158]
je 0x1004e269
mov edx, dword [ebp - 0x50]
mov eax, 1
imul ecx, eax, 0x24
mov byte [ecx + 0x100d5750], dl
mov byte [ebp - 2], 0x4f
mov edx, 0x7b36
mov word [ebp - 0x10], dx
mov eax, 2
mov word [0x100ad0c0], ax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x234], eax
xor ecx, edx
mov word [0x100ad0ac], cx
mov ecx, 1
mov word [0x100ad120], cx
movsx edx, word [0x100ad130]
add edx, dword [ebp - 0x54]
movsx eax, word [0x100ad130]
add eax, edx
mov word [0x100ad130], ax
movsx ecx, byte [0x100ad09a]
not ecx
mov edx, dword [ebp - 0x28]
imul edx, ecx
test edx, edx
jne 0x1004e2ad
mov dword [ebp - 0xb8], 1
jmp 0x1004e2b7
mov dword [ebp - 0xb8], 0
movsx eax, word [0x100ad130]
movsx ecx, byte [ebp - 1]
lea eax, [eax + ecx + 0xc]
movzx edx, byte [0x100ad00f]
movsx ecx, byte [ebp - 2]
sub edx, ecx
xor edx, dword [ebp - 0xb8]
imul eax, edx
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov edx, dword [0x100adbec]
xor eax, eax
mov dword [0x100ad148], edx
mov dword [0x100ad14c], eax
movzx ecx, word [0x100ad120]
mov dword [ebp - 0xbc], ecx
cmp dword [ebp - 0xbc], 0
je 0x1004e31a
cmp dword [ebp - 0xbc], 1
je 0x1004e371
jmp 0x1004e40f
mov edx, dword [0x100adbec]
mov dword [ebp - 0x58], edx
movzx eax, word [ebp - 0x14]
sub eax, dword [ebp - 0x4c]
movzx ecx, word [ebp - 0x14]
imul ecx, eax
mov word [ebp - 0x14], cx
movsx edx, byte [0x100ad043]
movsx eax, word [ebp - 0x10]
imul edx, eax
mov byte [0x100ad043], dl
movzx ecx, word [ebp - 0x14]
movsx edx, word [0x100ad0c4]
add ecx, edx
movzx eax, word [ebp - 0x14]
add eax, ecx
mov word [ebp - 0x14], ax
mov ecx, dword [ebp - 0x28]
sub ecx, 0x26
mov byte [0x100ad0a6], cl
jmp 0x1004e40f
mov eax, dword [ebp - 0x54]
cdq
mov ecx, dword [0x100ad0f8]
sub ecx, eax
mov eax, dword [0x100ad0fc]
sbb eax, edx
mov edx, dword [0x100ad0f8]
sub edx, ecx
mov ecx, dword [0x100ad0fc]
sbb ecx, eax
mov dword [0x100ad0f8], edx
mov dword [0x100ad0fc], ecx
movzx edx, word [ebp - 0x14]
test edx, edx
je 0x1004e3b2
mov ax, word [ebp - 0x18]
mov word [ebp - 0x5e], ax
jmp 0x1004e3ba
mov cx, word [ebp - 0x10]
mov word [ebp - 0x5e], cx
movsx edx, word [ebp - 0x5e]
mov dword [ebp - 0x28], edx
imul eax, dword [0x100ad0c8], 0xc70c
mov dword [ebp - 0x50], eax
cmp dword [0x100ad0b4], 0
jne 0x1004e3e3
mov dword [ebp - 0xc0], 1
jmp 0x1004e3ed
mov dword [ebp - 0xc0], 0
movzx eax, word [0x100ad0f0]
and eax, dword [ebp - 0xc0]
cdq
mov ecx, eax
movzx eax, word [ebp - 0x24]
cdq
mov edx, dword [ebp - 0x48]
sub edx, eax
sub ecx, edx
mov byte [0x100ad042], cl
mov eax, dword [ebp - 0x30]
add eax, 0x6235
cmp dword [0x100ad0a8], eax
jne 0x1004e6a0
movsx ecx, word [0x100ad0c0]
test ecx, ecx
jne 0x1004e43a
movzx edx, byte [ebp - 9]
test edx, edx
je 0x1004e4fd
cmp dword [ebp - 0x54], 0
jne 0x1004e454
xor eax, eax
mov dword [ebp - 0x138], 1
mov dword [ebp - 0x134], eax
jmp 0x1004e45f
xorps xmm0, xmm0
movlpd qword [ebp - 0x138], xmm0
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
not ecx
not edx
push edx
push ecx
mov eax, dword [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0x138]
push ecx
call fcn.1007a8a0
mov dword [0x100ad0e8], eax
mov dword [0x100ad0ec], edx
movzx edx, word [0x100ad0ac]
test edx, edx
jne 0x1004e4a0
mov dword [ebp - 0xc4], 1
jmp 0x1004e4aa
mov dword [ebp - 0xc4], 0
mov eax, dword [0x100ad15c]
add eax, dword [ebp - 0xc4]
jne 0x1004e4c3
mov dword [ebp - 0xc8], 1
jmp 0x1004e4cd
mov dword [ebp - 0xc8], 0
mov ecx, dword [ebp - 0xc8]
mov dword [0x100ad140], ecx
movsx eax, word [0x100ad0d0]
cdq
mov ecx, eax
sub ecx, 0xa1f8f404
movsx eax, word [ebp - 0x10]
cdq
add eax, ecx
mov word [ebp - 0x10], ax
mov byte [ebp - 2], 0xcc
jmp 0x1004e5fc
movsx edx, word [ebp - 0x1c]
test edx, edx
jne 0x1004e511
mov dword [ebp - 0xcc], 1
jmp 0x1004e51b
mov dword [ebp - 0xcc], 0
movsx eax, word [ebp - 8]
cmp dword [ebp - 0xcc], eax
jne 0x1004e534
mov ecx, 0xdb
test ecx, ecx
je 0x1004e5fc
mov edx, dword [0x100ad0e0]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x230], ecx
xor edx, eax
mov eax, dword [0x100ad0e0]
sub eax, edx
mov dword [0x100ad0e0], eax
movzx eax, byte [ebp - 9]
cdq
mov ecx, eax
sub ecx, 0xe4a0d427
mov eax, dword [0x100ad118]
cdq
and eax, ecx
mov dword [0x100ad118], eax
movzx edx, byte [str.px_04X_]
add edx, 0x7323
jne 0x1004e591
xor eax, eax
mov dword [ebp - 0x1a4], 1
mov dword [ebp - 0x1a0], eax
jmp 0x1004e59c
xorps xmm0, xmm0
movlpd qword [ebp - 0x1a4], xmm0
movzx eax, byte [ebp - 9]
cdq
push edx
push eax
mov ecx, dword [0x100ad154]
push ecx
mov edx, dword [0x100ad150]
push edx
call fcn.1007a8a0
mov esi, eax
movsx eax, byte [str.ZFreeSid]
cdq
push edx
push eax
mov eax, dword [0x100ad164]
push eax
mov ecx, dword [0x100ad160]
push ecx
call fcn.1007a8a0
add esi, eax
add esi, dword [ebp - 0x1a4]
mov word [ebp - 8], si
mov edx, dword [ebp - 0x28]
add edx, 0x2f0a6e04
xor eax, eax
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], eax
mov cx, word [0x100adbec]
mov word [ebp - 0x18], cx
jmp 0x1004e08c
mov dword [ebp - 0x74], 0x22b8
movsx ecx, word [0x100ad0b0]
add ecx, dword [ebp - 0x50]
movsx edx, word [0x100ad0b0]
imul edx, ecx
mov word [0x100ad0b0], dx
mov eax, 1
imul ecx, eax, 0x2f76
movzx edx, byte [ecx + 0x100df658]
mov dword [ebp - 0x58], edx
movsx eax, word [ebp - 0x1c]
movzx ecx, byte [ebp - 9]
add eax, ecx
mov word [ebp - 0x1c], ax
mov edx, 8
imul eax, edx, 0x65eb
mov cx, word [eax + 0x10100490]
mov word [0x100ad0d0], cx
movsx edx, byte [str.E2_wcsrchr]
imul edx, dword [0x100ad0c8]
add edx, dword [0x100ad0c8]
mov dword [0x100ad0c8], edx
mov ecx, dword [ebp - 0x30]
add ecx, dword [0x100ad0f8]
mov eax, dword [0x100ad0f8]
mov edx, dword [0x100ad0fc]
call fcn.1007a900
mov dword [0x100ad0f8], eax
mov dword [0x100ad0fc], edx
cmp dword [ebp - 0x74], 0x21f0
jle 0x1004e7e8
mov dword [ebp - 0x70], 0x2746
movzx eax, word [ebp - 0x14]
movsx ecx, word [ebp - 8]
not ecx
add eax, ecx
mov word [0x100ad0ac], ax
movsx edx, word [ebp - 0x1c]
mov dword [0x100ad0e0], edx
mov eax, dword [ebp - 0x4c]
sub eax, 1
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x2c], 0x6cbc229
movzx eax, byte [0x100ad0a6]
cdq
push 0xa1433
push 0x584bb9fa
push edx
push eax
call fcn.1007a8a0
mov ecx, dword [0x100ad150]
sub ecx, eax
mov eax, dword [0x100ad154]
sbb eax, edx
mov dword [0x100ad150], ecx
mov dword [0x100ad154], eax
mov ecx, dword [ebp - 0x2c]
xor ecx, 0x91
xor edx, edx
mov dword [0x100ad0e8], ecx
mov dword [0x100ad0ec], edx
cmp dword [ebp - 0x70], 0x25d6
jle 0x1004e7da
mov eax, dword [ebp - 0x70]
sub eax, 1
mov dword [ebp - 0x70], eax
jmp 0x1004e7c6
mov ecx, dword [ebp - 0x74]
sub ecx, 1
mov dword [ebp - 0x74], ecx
jmp 0x1004e73c
imul edx, dword [ebp - 0x64], 0x39f
mov eax, dword [ebp - 0x64]
or eax, dword [ebp - 0x64]
cmp edx, eax
je 0x1004f590
call dword [sym.imp.USER32.dll_GetMessagePos]
xor ecx, ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
mov edx, 0x84f2
mov word [0x100ad0f0], dx
movsx eax, word [0x100ad0cc]
cdq
mov ecx, dword [0x100ad0d8]
mov esi, dword [0x100ad0dc]
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x198], edx
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0x190], esi
mov edx, dword [ebp - 0x198]
cmp edx, dword [ebp - 0x190]
ja 0x1004e8c8
jb 0x1004e861
mov eax, dword [ebp - 0x19c]
cmp eax, dword [ebp - 0x194]
jae 0x1004e8c8
movsx ecx, word [ebp - 8]
test ecx, ecx
je 0x1004e8c3
mov edx, dword [str.temporarily_unavai]
mov dword [ebp - 0x22c], edx
mov eax, dword [0x100907a0]
mov dword [ebp - 0x228], eax
mov ecx, dword [0x100907a4]
mov dword [ebp - 0x224], ecx
mov edx, dword [0x100907a8]
mov dword [ebp - 0x220], edx
mov ax, word [0x100907ac]
mov word [ebp - 0x21c], ax
mov cl, byte [0x100907ae]
mov byte [ebp - 0x21a], cl
lea edx, [ebp - 0x22c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [0x100ad140], eax
jmp 0x1004e985
mov eax, dword [ebp - 0x38]
not eax
mov ecx, dword [ebp - 0x34]
not ecx
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x188], ecx
mov edx, dword [ebp - 0x18c]
or edx, dword [ebp - 0x188]
je 0x1004e985
mov ax, word [0x100ad0cc]
mov byte [0x100ad072], al
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x180], edx
mov eax, dword [ebp - 0x184]
or eax, dword [ebp - 0x180]
jne 0x1004e927
mov dword [ebp - 0xd8], 1
jmp 0x1004e931
mov dword [ebp - 0xd8], 0
movsx ecx, word [ebp - 0x18]
and ecx, dword [ebp - 0xd8]
jne 0x1004e949
mov dword [ebp - 0xdc], 1
jmp 0x1004e953
mov dword [ebp - 0xdc], 0
movsx edx, word [0x100ad0e4]
movsx eax, byte [0x100ad043]
sub edx, eax
and edx, dword [ebp - 0xdc]
mov word [0x100ad0bc], dx
mov ecx, 0xf9
mov word [0x100ad0b0], cx
mov edx, 0x86af
mov word [ebp - 0x20], dx
movzx eax, word [0x100ad0f0]
add eax, dword [ebp - 0x30]
cmp dword [0x100ad0b4], eax
jne 0x1004ed0b
mov byte [0x100ad0a6], 0
movsx ecx, byte [0x100ad00e]
movzx edx, byte [0x100ad00f]
sub ecx, edx
mov byte [0x100ad00e], cl
mov eax, dword [ebp - 0x50]
xor eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov dword [ebp - 0x50], ecx
mov edx, 4
imul eax, edx, 0x4f66
mov cx, word [eax + 0x10170bc0]
mov word [ebp - 0x10], cx
movsx eax, word [0x100ad0cc]
cdq
mov ecx, dword [ebp - 0x34]
push ecx
mov ecx, dword [ebp - 0x38]
push ecx
push edx
push eax
call fcn.1007a8a0
mov word [0x100ad0cc], ax
mov eax, dword [ebp - 0x50]
cdq
add eax, 0x6ee01292
mov dword [0x100ad0e0], eax
mov dl, byte [0x100ad0a6]
mov byte [ebp - 0x1e8], dl
cmp byte [ebp - 0x1e8], 0
je 0x1004ea1e
jmp 0x1004ea5d
imul eax, dword [ebp - 0x4c], 0xdb26
mov dword [ebp - 0x30], eax
mov dword [0x100ad100], 0x35669c6d
xor ecx, ecx
mov dword [ebp - 0x38], 0xa6d986a8
mov dword [ebp - 0x34], ecx
movsx eax, word [0x100ad0c0]
cdq
mov ecx, eax
movsx eax, byte [0x100ad00d]
cdq
mov edx, dword [ebp - 0x48]
sub edx, eax
sub ecx, edx
mov dword [0x100ad158], ecx
xor eax, eax
mov word [0x100ad0b0], ax
mov cx, word [ebp - 0x10]
add cx, 1
mov word [ebp - 0x10], cx
mov edx, 2
imul eax, edx, 0x18a6
movzx ecx, word [eax + 0x101ec310]
movsx edx, byte [str.ZFreeSid]
sub edx, ecx
mov byte [str.ZFreeSid], dl
movsx eax, byte [0x100ad043]
sar eax, 3
mov dword [ebp - 0x30], eax
movsx ecx, word [0x100ad0b0]
mov dword [ebp - 0x1ec], ecx
cmp dword [ebp - 0x1ec], 0
je 0x1004eaba
jmp 0x1004eb6c
movsx edx, word [0x100ad11c]
not edx
movzx eax, byte [ebp - 9]
mov ecx, dword [0x100ad158]
sub ecx, eax
not ecx
imul edx, ecx
movsx eax, byte [ebp - 1]
sub eax, dword [ebp - 0x28]
movsx ecx, word [0x100ad0b0]
imul eax, ecx
add edx, eax
not edx
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 0x50]
add edx, 1
mov dword [ebp - 0x50], edx
movzx eax, word [ebp - 0x14]
cdq
mov ecx, dword [0x100ad128]
mov edx, dword [0x100ad12c]
mov dword [ebp - 0x270], edx
add eax, ecx
mov word [ebp - 0x14], ax
movzx eax, byte [str.px_04X_]
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
movzx eax, byte [str.px_04X_]
cdq
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov byte [str.px_04X_], al
movsx edx, byte [ebp - 1]
imul eax, edx, 0xb472
mov word [ebp - 8], ax
mov ecx, dword [0x100ad15c]
movsx edx, word [ebp - 0x1c]
lea eax, [edx + ecx - 0xeb08a3a]
mov word [ebp - 0x1c], ax
mov ecx, dword [ebp - 0x30]
xor edx, edx
add ecx, 0x9cac729b
adc edx, 0x5ed5e
mov dword [ebp - 0x17c], ecx
mov dword [ebp - 0x178], edx
mov eax, dword [0x100ad150]
cmp eax, dword [ebp - 0x17c]
jne 0x1004ed0b
mov ecx, dword [0x100ad154]
cmp ecx, dword [ebp - 0x178]
jne 0x1004ed0b
jmp 0x1004e80b
mov edx, dword [0x100ad110]
or edx, dword [0x100ad114]
je 0x1004edb4
imul eax, dword [ebp - 0x2c], 0x89
mov dword [0x100ad158], eax
mov ecx, dword [0x100ad0e8]
add ecx, 0x2f7
mov edx, dword [0x100ad0ec]
adc edx, 0
push edx
push ecx
mov eax, dword [0x100ad164]
push eax
mov ecx, dword [0x100ad160]
push ecx
call fcn.1007a8a0
mov dword [0x100ad160], eax
mov dword [0x100ad164], edx
movsx edx, word [ebp - 0x18]
test edx, edx
jne 0x1004ed79
xor eax, eax
mov dword [ebp - 0x164], 1
mov dword [ebp - 0x160], eax
jmp 0x1004ed84
xorps xmm0, xmm0
movlpd qword [ebp - 0x164], xmm0
mov ecx, dword [ebp - 0x38]
add ecx, dword [ebp - 0x164]
mov edx, dword [0x100ad118]
xor edx, dword [0x100ad0e0]
not edx
sub ecx, edx
mov word [ebp - 8], cx
movsx eax, word [ebp - 0x10]
sar eax, 8
cdq
mov dword [0x100ad108], eax
mov dword [0x100ad10c], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x26c], eax
jmp 0x1004f590
mov byte [str.px_04X_], 0xb9
movsx edx, word [ebp - 8]
add edx, 0x346f73e6
mov word [ebp - 0x1c], dx
mov eax, dword [0x100ad150]
sub eax, 0x6f19
mov ecx, dword [0x100ad140]
sub ecx, eax
mov dword [0x100ad140], ecx
movsx eax, byte [0x100ad00d]
cdq
and eax, dword [ebp - 0x48]
and edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x48]
sub ecx, eax
mov eax, dword [ebp - 0x44]
sbb eax, edx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], eax
movzx ecx, word [ebp - 0x20]
mov edx, dword [ebp - 0x28]
imul edx, ecx
mov dword [ebp - 0x28], edx
movzx eax, word [0x100ad0ac]
add eax, dword [ebp - 0x54]
mov dword [ebp - 0x54], eax
movsx ecx, word [ebp - 8]
movsx edx, byte [ebp - 2]
add ecx, edx
movsx eax, word [ebp - 8]
sub eax, ecx
mov word [ebp - 8], ax
movzx ecx, byte [str.px_04X_]
movsx edx, byte [ebp - 1]
add ecx, edx
cmp dword [0x100ad158], ecx
jne 0x1004f7a0
mov ecx, dword [0x100ad110]
add ecx, 0xf6949df1
mov esi, dword [0x100ad114]
adc esi, 0
movsx eax, word [ebp - 8]
cdq
push esi
push ecx
push edx
push eax
call fcn.1007a8a0
mov word [ebp - 8], ax
movsx edx, word [ebp - 8]
test edx, edx
je 0x1004f65d
movsx eax, word [ebp - 8]
mov dword [ebp - 0x114], eax
jmp 0x1004f666
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x114], ecx
mov edx, dword [ebp - 0x114]
xor eax, eax
mov dword [0x100ad0d8], edx
mov dword [0x100ad0dc], eax
movzx ecx, word [ebp - 0x24]
mov edx, dword [0x100ad0c8]
not edx
xor ecx, edx
jne 0x1004f695
mov dword [ebp - 0x118], 1
jmp 0x1004f69f
mov dword [ebp - 0x118], 0
movsx eax, word [ebp - 0x1c]
movsx ecx, word [0x100ad0bc]
or eax, ecx
or eax, dword [ebp - 0x118]
jne 0x1004f6bd
mov dword [ebp - 0x80], 1
jmp 0x1004f6c4
mov dword [ebp - 0x80], 0
mov edx, dword [0x100ad100]
add edx, dword [ebp - 0x80]
mov byte [0x100ad072], dl
movsx eax, word [ebp - 8]
add eax, 0x426fc0e1
movsx ecx, byte [ebp - 1]
xor ecx, eax
mov byte [ebp - 1], cl
mov edx, dword [ebp - 0x58]
imul edx, dword [ebp - 0x30]
imul edx, dword [ebp - 0x30]
mov dword [ebp - 0x30], edx
xor eax, eax
mov dword [0x100ad108], 2
mov dword [0x100ad10c], eax
movsx ecx, byte [0x100ad00d]
movsx edx, byte [ebp - 1]
add edx, 0x416d9270
cmp ecx, edx
jne 0x1004f7a0
movzx eax, word [0x100ad0b8]
cdq
sub eax, 0xb700961a
mov byte [ebp - 2], al
mov eax, dword [0x100ad150]
mov edx, dword [0x100ad154]
mov cl, 3
call fcn.1007a8e0
mov dword [0x100ad148], eax
mov dword [0x100ad14c], edx
movsx eax, byte [ebp - 2]
shl eax, 5
mov word [ebp - 0x18], ax
jmp 0x1004f590
call dword [sym.imp.USER32.dll_GetCursor]
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x154], 0
cmp dword [ebp - 0x1f0], 0
je 0x1004f7d2
mov eax, dword [ebp - 0x154]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov dword [ebp - 0x238], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc