Function at 0x40b100
Capabilities:
Accept command line arguments
Delete directory
Delete file
Encode data using base64
Extract resource via kernel32 functions
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41be91
mov eax, dword fs:[0]
push eax
sub esp, 0x134
mov eax, dword [0x4243cc]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
xor eax, eax
mov dword [ebp - 0x58], 0
push eax
push 0x41d6c4
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x54], 7
mov word [ebp - 0x68], ax
call fcn.00409e20
xor eax, eax
mov dword [ebp - 4], 0
push eax
push 0x41d6c4
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 7
mov word [ebp - 0x50], ax
call fcn.00409e20
or eax, 0xffffffff
mov byte [ebp - 4], 1
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x108], eax
lea eax, [ebp - 0x38]
push eax
call fcn.0040e750
add esp, 4
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
movq qword [ebp - 0x20], xmm0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
cmp dword [ebp - 0x28], 0
mov byte [ebp - 4], 3
jne 0x40b21b
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 6
cmp eax, 8
jb 0x40b1e2
inc eax
lea ecx, [ebp - 0x38]
push eax
push dword [ebp - 0x38]
call fcn.00409fe0
xor eax, eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 7
cmp eax, 8
jb 0x40b20f
inc eax
lea ecx, [ebp - 0x50]
push eax
push dword [ebp - 0x50]
call fcn.00409fe0
mov dword [ebp - 4], 8
jmp 0x40c5a0
lea eax, [ebp - 0xb4]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov esi, eax
test esi, esi
je 0x40b415
cmp dword [ebp - 0xb4], 2
jle 0x40b415
mov edx, dword [esi + 4]
mov ecx, edx
mov byte [ebp - 4], 9
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b252
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x50]
call fcn.00409e20
push 2
push 0x41d6d0
lea ecx, [ebp - 0x50]
call fcn.0040aef0
mov edx, dword [esi + 8]
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b282
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x68]
call fcn.00409e20
sub esp, 0x18
lea eax, [ebp - 0x50]
mov ecx, esp
mov dword [ebp - 0x10c], esp
push eax
call fcn.0040ac70
sub esp, 0x18
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x68]
mov ecx, esp
push eax
call fcn.0040ac70
mov byte [ebp - 4], 9
call fcn.0040fdc0
add esp, 0x30
mov dword [ebp - 4], 3
test eax, eax
setne al
test al, al
jne 0x40b415
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x40b3aa
mov edi, dword [ebp - 0x1c]
cmp esi, edi
je 0x40b34d
mov ecx, dword [esi + 0x14]
cmp ecx, 8
jb 0x40b330
mov eax, dword [esi]
lea ecx, [ecx*2 + 2]
mov byte [ebp - 4], 0xc
cmp ecx, 0x1000
jb 0x40b326
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c52e
mov eax, edx
push ecx
push eax
call fcn.0041a1df
add esp, 8
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
add esi, 0x18
cmp esi, edi
jne 0x40b2f3
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, 0x2aaaaaab
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
mov byte [ebp - 4], 0xd
cmp ecx, 0x1000
jb 0x40b38b
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c52e
push ecx
push esi
call fcn.0041a1df
add esp, 8
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 0xe
cmp eax, 8
jb 0x40b3c3
inc eax
lea ecx, [ebp - 0x38]
push eax
push dword [ebp - 0x38]
call fcn.00409fe0
xor eax, eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 0xf
cmp eax, 8
jb 0x40b3f0
inc eax
lea ecx, [ebp - 0x50]
push eax
push dword [ebp - 0x50]
call fcn.00409fe0
mov dword [ebp - 4], 0x10
jmp 0x40c5a0
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push 0x41d6d8
mov edi, eax
push 0x65
push edi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, eax
push esi
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
push esi
push edi
mov dword [ebp - 0x108], eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov esi, eax
test esi, esi
jne 0x40b5f4
push 0x41d6c4
lea ecx, [ebp - 0x128]
call fcn.0040ad00
lea eax, [ebp - 0x128]
mov byte [ebp - 4], 0x11
push eax
push 0xb
call fcn.0040d460
mov edi, eax
add esp, 8
mov dword [ebp - 0x104], edi
mov ecx, dword [ebp - 0x114]
mov byte [ebp - 4], 0x12
cmp ecx, 8
jb 0x40b49e
inc ecx
push ecx
push dword [ebp - 0x128]
lea ecx, [ebp - 0x128]
call fcn.00409fe0
mov esi, dword [ebp - 0x20]
xor eax, eax
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 7
mov word [ebp - 0x128], ax
test esi, esi
je 0x40b58b
mov edi, dword [ebp - 0x1c]
cmp esi, edi
je 0x40b526
nop dword [eax]
mov ecx, dword [esi + 0x14]
cmp ecx, 8
jb 0x40b509
mov eax, dword [esi]
lea ecx, [ecx*2 + 2]
mov byte [ebp - 4], 0x13
cmp ecx, 0x1000
jb 0x40b4ff
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b560
mov eax, edx
push ecx
push eax
call fcn.0041a1df
add esp, 8
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
add esi, 0x18
cmp esi, edi
jne 0x40b4d0
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, 0x2aaaaaab
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
mov byte [ebp - 4], 0x14
cmp ecx, 0x1000
jb 0x40b566
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40b566
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.0041a1df
mov edi, dword [ebp - 0x104]
add esp, 8
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 0x15
cmp eax, 8
jb 0x40b5a4
inc eax
lea ecx, [ebp - 0x38]
push eax
push dword [ebp - 0x38]
call fcn.00409fe0
xor eax, eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 0x16
cmp eax, 8
jb 0x40b5d1
inc eax
lea ecx, [ebp - 0x50]
push eax
push dword [ebp - 0x50]
call fcn.00409fe0
mov eax, dword [ebp - 0x54]
mov dword [ebp - 4], 0x17
cmp eax, 8
jb 0x40b5ed
inc eax
lea ecx, [ebp - 0x68]
push eax
push dword [ebp - 0x68]
call fcn.00409fe0
mov eax, edi
jmp 0x40c5b7
lea eax, [ebp - 0x98]
push eax
call fcn.0040e920
add esp, 4
cmp dword [ebp - 0x84], 8
lea eax, [ebp - 0x98]
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 0x18
cmovae eax, dword [ebp - 0x98]
push eax
call fcn.0040ad00
lea eax, [ebp - 0x128]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.0040ee70
add esp, 8
mov eax, dword [ebp - 0x114]
mov byte [ebp - 4], 0x1c
cmp eax, 8
jb 0x40b660
inc eax
lea ecx, [ebp - 0x128]
push eax
push dword [ebp - 0x128]
call fcn.00409fe0
push 1
xor eax, eax
mov dword [ebp - 0x118], 0
push 0x41d6dc
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x114], 7
mov word [ebp - 0x128], ax
mov byte [ebp - 4], 0x1b
call fcn.0040aef0
push 2
push 0x41d6e0
lea ecx, [ebp - 0x80]
call fcn.0040aef0
lea eax, [ebp - 0x80]
push eax
call fcn.0040db70
mov edi, eax
add esp, 4
cmp edi, 0xffffffff
jne 0x40b83b
push 0x41d6c4
lea ecx, [ebp - 0x140]
call fcn.0040ad00
lea eax, [ebp - 0x140]
mov byte [ebp - 4], 0x1d
push eax
push 0x15
call fcn.0040d460
add esp, 8
lea ecx, [ebp - 0x140]
mov edi, eax
mov dword [ebp - 0x104], edi
call fcn.004084e0
lea ecx, [ebp - 0x80]
call fcn.004084e0
lea ecx, [ebp - 0x98]
call fcn.004084e0
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x40b7ce
mov edi, dword [ebp - 0x1c]
cmp esi, edi
je 0x40b769
mov ecx, dword [esi + 0x14]
cmp ecx, 8
jb 0x40b74c
mov eax, dword [esi]
lea ecx, [ecx*2 + 2]
mov byte [ebp - 4], 0x1e
cmp ecx, 0x1000
jb 0x40b742
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b7a3
mov eax, edx
push ecx
push eax
call fcn.0041a1df
add esp, 8
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
add esi, 0x18
cmp esi, edi
jne 0x40b713
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, 0x2aaaaaab
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
mov byte [ebp - 4], 0x1f
cmp ecx, 0x1000
jb 0x40b7a9
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40b7a9
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.0041a1df
mov edi, dword [ebp - 0x104]
add esp, 8
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 0x20
cmp eax, 8
jb 0x40b7e7
inc eax
lea ecx, [ebp - 0x38]
push eax
push dword [ebp - 0x38]
call fcn.00409fe0
xor eax, eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 0x21
cmp eax, 8
jb 0x40b814
inc eax
lea ecx, [ebp - 0x50]
push eax
push dword [ebp - 0x50]
call fcn.00409fe0
mov eax, dword [ebp - 0x54]
mov dword [ebp - 4], 0x22
cmp eax, 8
jb 0x40b5ed
inc eax
lea ecx, [ebp - 0x68]
push eax
push dword [ebp - 0x68]
call fcn.00409fe0
mov eax, edi
jmp 0x40c5b7
push dword [ebp - 0x108]
call dword [sym.imp.KERNEL32.dll_LockResource]
push 0
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0xb8], 0
push ecx
push esi
push eax
push edi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push edi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test esi, esi
jne 0x40b9f9
push 0x41d6c4
lea ecx, [ebp - 0x140]
call fcn.0040ad00
lea eax, [ebp - 0x140]
mov byte [ebp - 4], 0x23
push eax
push 0x1f
call fcn.0040d460
add esp, 8
lea ecx, [ebp - 0x140]
mov edi, eax
mov dword [ebp - 0x104], edi
call fcn.004084e0
lea ecx, [ebp - 0x80]
call fcn.004084e0
lea ecx, [ebp - 0x98]
call fcn.004084e0
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x40b98c
mov edi, dword [ebp - 0x1c]
cmp esi, edi
je 0x40b927
mov ecx, dword [esi + 0x14]
cmp ecx, 8
jb 0x40b90a
mov eax, dword [esi]
lea ecx, [ecx*2 + 2]
mov byte [ebp - 4], 0x24
cmp ecx, 0x1000
jb 0x40b900
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b961
mov eax, edx
push ecx
push eax
call fcn.0041a1df
add esp, 8
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
add esi, 0x18
cmp esi, edi
jne 0x40b8d1
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, 0x2aaaaaab
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
mov byte [ebp - 4], 0x25
cmp ecx, 0x1000
jb 0x40b967
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40b967
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.0041a1df
mov edi, dword [ebp - 0x104]
add esp, 8
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 0x26
cmp eax, 8
jb 0x40b9a5
inc eax
lea ecx, [ebp - 0x38]
push eax
push dword [ebp - 0x38]
call fcn.00409fe0
xor eax, eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 0x27
cmp eax, 8
jb 0x40b9d2
inc eax
lea ecx, [ebp - 0x50]
push eax
push dword [ebp - 0x50]
call fcn.00409fe0
mov eax, dword [ebp - 0x54]
mov dword [ebp - 4], 0x28
cmp eax, 8
jb 0x40b5ed
inc eax
lea ecx, [ebp - 0x68]
push eax
push dword [ebp - 0x68]
call fcn.00409fe0
mov eax, edi
jmp 0x40c5b7
call fcn.0040b060
mov ecx, eax
call fcn.0040d200
test al, al
je 0x40ba4c
push 0x210
call fcn.0041a1af
mov esi, eax
push esi
call fcn.0040f530
add esp, 8
test eax, eax
je 0x40ba34
call fcn.0040d700
test eax, eax
je 0x40ba34
push esi
call fcn.0040f1c0
add esp, 4
push 0x210
push esi
call fcn.0041a1df
add esp, 8
mov dword [ebp - 0x104], 0
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0xd0]
push eax
call fcn.0040ea70
add esp, 8
cmp dword [ebp - 0xc0], 0
mov byte [ebp - 4], 0x29
jne 0x40bc00
push 0x41d6c4
lea ecx, [ebp - 0x140]
call fcn.0040ad00
lea eax, [ebp - 0x140]
mov byte [ebp - 4], 0x2a
push eax
push 0x29
call fcn.0040d460
add esp, 8
lea ecx, [ebp - 0x140]
mov edi, eax
mov dword [ebp - 0x104], edi
call fcn.004084e0
lea ecx, [ebp - 0xd0]
call fcn.004084e0
lea ecx, [ebp - 0x80]
call fcn.004084e0
lea ecx, [ebp - 0x98]
call fcn.004084e0
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x40bb93
mov edi, dword [ebp - 0x1c]
cmp esi, edi
je 0x40bb2e
mov ecx, dword [esi + 0x14]
cmp ecx, 8
jb 0x40bb11
mov eax, dword [esi]
lea ecx, [ecx*2 + 2]
mov byte [ebp - 4], 0x2b
cmp ecx, 0x1000
jb 0x40bb07
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bb68
mov eax, edx
push ecx
push eax
call fcn.0041a1df
add esp, 8
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
add esi, 0x18
cmp esi, edi
jne 0x40bad8
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, 0x2aaaaaab
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
mov byte [ebp - 4], 0x2c
cmp ecx, 0x1000
jb 0x40bb6e
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40bb6e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.0041a1df
mov edi, dword [ebp - 0x104]
add esp, 8
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 0x2d
cmp eax, 8
jb 0x40bbac
inc eax
lea ecx, [ebp - 0x38]
push eax
push dword [ebp - 0x38]
call fcn.00409fe0
xor eax, eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 0x2e
cmp eax, 8
jb 0x40bbd9
inc eax
lea ecx, [ebp - 0x50]
push eax
push dword [ebp - 0x50]
call fcn.00409fe0
mov eax, dword [ebp - 0x54]
mov dword [ebp - 4], 0x2f
cmp eax, 8
jb 0x40b5ed
inc eax
lea ecx, [ebp - 0x68]
push eax
push dword [ebp - 0x68]
call fcn.00409fe0
mov eax, edi
jmp 0x40c5b7
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0xb0]
push eax
call fcn.0040d880
add esp, 0xc
push str.Resource0
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x30
call fcn.0040ad00
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0x31
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.00409980
add esp, 8
test al, al
jne 0x40bdda
lea eax, [ebp - 0xb0]
push eax
push 0x33
call fcn.0040d460
add esp, 8
lea ecx, [ebp - 0xe8]
mov edi, eax
mov dword [ebp - 0x104], edi
call fcn.004084e0
lea ecx, [ebp - 0xb0]
call fcn.004084e0
lea ecx, [ebp - 0xd0]
call fcn.004084e0
lea ecx, [ebp - 0x80]
call fcn.004084e0
lea ecx, [ebp - 0x98]
call fcn.004084e0
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x40bd6d
mov edi, dword [ebp - 0x1c]
cmp esi, edi
je 0x40bd0a
nop dword [eax]
mov ecx, dword [esi + 0x14]
cmp ecx, 8
jb 0x40bced
mov eax, dword [esi]
lea ecx, [ecx*2 + 2]
mov byte [ebp - 4], 0x32
cmp ecx, 0x1000
jb 0x40bce3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c52e
mov eax, edx
push ecx
push eax
call fcn.0041a1df
add esp, 8
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
add esi, 0x18
cmp esi, edi
jne 0x40bcb0
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, 0x2aaaaaab
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
mov byte [ebp - 4], 0x33
cmp ecx, 0x1000
jb 0x40bd48
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c52e
push ecx
push esi
call fcn.0041a1df
mov edi, dword [ebp - 0x104]
add esp, 8
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 0x34
cmp eax, 8
jb 0x40bd86
inc eax
lea ecx, [ebp - 0x38]
push eax
push dword [ebp - 0x38]
call fcn.00409fe0
xor eax, eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 0x35
cmp eax, 8
jb 0x40bdb3
inc eax
lea ecx, [ebp - 0x50]
push eax
push dword [ebp - 0x50]
call fcn.00409fe0
mov eax, dword [ebp - 0x54]
mov dword [ebp - 4], 0x36
cmp eax, 8
jb 0x40b5ed
inc eax
lea ecx, [ebp - 0x68]
push eax
push dword [ebp - 0x68]
call fcn.00409fe0
mov eax, edi
jmp 0x40c5b7
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0xb0]
push eax
call fcn.00408d50
add esp, 8
test al, al
jne 0x40bf7e
lea eax, [ebp - 0xb0]
push eax
push 0x51
call fcn.0040d460
add esp, 8
lea ecx, [ebp - 0xe8]
mov edi, eax
mov dword [ebp - 0x104], edi
call fcn.004084e0
lea ecx, [ebp - 0xb0]
call fcn.004084e0
lea ecx, [ebp - 0xd0]
call fcn.004084e0
lea ecx, [ebp - 0x80]
call fcn.004084e0
lea ecx, [ebp - 0x98]
call fcn.004084e0
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x40bf11
mov edi, dword [ebp - 0x1c]
cmp esi, edi
je 0x40beae
mov ecx, dword [esi + 0x14]
cmp ecx, 8
jb 0x40be91
mov eax, dword [esi]
lea ecx, [ecx*2 + 2]
mov byte [ebp - 4], 0x37
cmp ecx, 0x1000
jb 0x40be87
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c52e
mov eax, edx
push ecx
push eax
call fcn.0041a1df
add esp, 8
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
add esi, 0x18
cmp esi, edi
jne 0x40be54
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, 0x2aaaaaab
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
mov byte [ebp - 4], 0x38
cmp ecx, 0x1000
jb 0x40beec
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c52e
push ecx
push esi
call fcn.0041a1df
mov edi, dword [ebp - 0x104]
add esp, 8
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 0x39
cmp eax, 8
jb 0x40bf2a
inc eax
lea ecx, [ebp - 0x38]
push eax
push dword [ebp - 0x38]
call fcn.00409fe0
xor eax, eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 0x3a
cmp eax, 8
jb 0x40bf57
inc eax
lea ecx, [ebp - 0x50]
push eax
push dword [ebp - 0x50]
call fcn.00409fe0
mov eax, dword [ebp - 0x54]
mov dword [ebp - 4], 0x3b
cmp eax, 8
jb 0x40b5ed
inc eax
lea ecx, [ebp - 0x68]
push eax
push dword [ebp - 0x68]
call fcn.00409fe0
mov eax, edi
jmp 0x40c5b7
mov esi, dword [ebp - 0x1c]
xor ecx, ecx
mov edi, dword [ebp - 0x20]
mov eax, 0x2aaaaaab
mov dword [ebp - 0x108], ecx
mov ecx, esi
sub ecx, edi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x40c090
xor eax, eax
mov dword [ebp - 0x110], eax
nop
add eax, edi
push eax
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0x128]
push eax
call fcn.0040d880
mov esi, dword [ebp - 0x110]
add esp, 0xc
mov edi, dword [ebp - 0x20]
add esi, edi
mov dword [ebp - 0x10c], eax
cmp esi, eax
je 0x40c030
mov ecx, dword [esi + 0x14]
mov byte [ebp - 4], 0x3c
cmp ecx, 8
jb 0x40bffd
lea eax, [ecx + 1]
mov ecx, esi
push eax
push dword [esi]
call fcn.00409fe0
mov eax, dword [ebp - 0x10c]
mov dword [esi + 0x10], 0
xor ecx, ecx
mov dword [esi + 0x14], 7
mov word [esi], cx
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], 7
mov word [eax], cx
mov edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x114]
mov byte [ebp - 4], 0x3d
cmp eax, 8
jb 0x40c055
inc eax
lea ecx, [ebp - 0x128]
push eax
push dword [ebp - 0x128]
call fcn.00409fe0
mov edi, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
mov eax, 0x2aaaaaab
inc dword [ebp - 0x108]
mov ecx, esi
add dword [ebp - 0x110], 0x18
sub ecx, edi
imul ecx
mov byte [ebp - 4], 0x31
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x110]
jb 0x40bfb0
sub esi, edi
mov eax, 0x2aaaaaab
imul esi
xor ecx, ecx
sar edx, 2
mov eax, edx
mov dword [ebp - 0x108], ecx
shr eax, 0x1f
add eax, edx
je 0x40c0ee
xor esi, esi
nop
lea eax, [esi + edi]
push eax
call fcn.0040e590
add esp, 4
test eax, eax
je 0x40c268
mov ecx, dword [ebp - 0x1c]
mov eax, 0x2aaaaaab
mov edi, dword [ebp - 0x20]
add esi, 0x18
inc dword [ebp - 0x108]
sub ecx, edi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x108], eax
jb 0x40c0b0
lea eax, [ebp - 0xd0]
push eax
call fcn.0040f910
add esp, 4
test eax, eax
jne 0x40c3d4
lea eax, [ebp - 0xb0]
push eax
push 0x3d
call fcn.0040d460
add esp, 8
lea ecx, [ebp - 0xe8]
mov edi, eax
mov dword [ebp - 0x10c], edi
call fcn.004084e0
lea ecx, [ebp - 0xb0]
call fcn.004084e0
lea ecx, [ebp - 0xd0]
call fcn.004084e0
lea ecx, [ebp - 0x80]
call fcn.004084e0
lea ecx, [ebp - 0x98]
call fcn.004084e0
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x40c1fb
mov edi, dword [ebp - 0x1c]
cmp esi, edi
je 0x40c198
mov eax, dword [esi + 0x14]
mov byte [ebp - 4], 0x43
cmp eax, 8
jb 0x40c17b
inc eax
mov ecx, esi
push eax
push dword [esi]
call fcn.00409fe0
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
add esi, 0x18
cmp esi, edi
jne 0x40c164
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, 0x2aaaaaab
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
mov byte [ebp - 4], 0x44
cmp ecx, 0x1000
jb 0x40c1d6
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c52e
push ecx
push esi
call fcn.0041a1df
mov edi, dword [ebp - 0x10c]
add esp, 8
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 0x45
cmp eax, 8
jb 0x40c214
inc eax
lea ecx, [ebp - 0x38]
push eax
push dword [ebp - 0x38]
call fcn.00409fe0
xor eax, eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 0x46
cmp eax, 8
jb 0x40c241
inc eax
lea ecx, [ebp - 0x50]
push eax
push dword [ebp - 0x50]
call fcn.00409fe0
mov eax, dword [ebp - 0x54]
mov dword [ebp - 4], 0x47
cmp eax, 8
jb 0x40b5ed
inc eax
lea ecx, [ebp - 0x68]
push eax
push dword [ebp - 0x68]
call fcn.00409fe0
mov eax, edi
jmp 0x40c5b7
lea eax, [ebp - 0xb0]
push eax
push 0x47
call fcn.0040d460
add esp, 8
lea ecx, [ebp - 0xe8]
mov edi, eax
mov dword [ebp - 0x10c], edi
call fcn.004084e0
lea ecx, [ebp - 0xb0]
call fcn.004084e0
lea ecx, [ebp - 0xd0]
call fcn.004084e0
lea ecx, [ebp - 0x80]
call fcn.004084e0
lea ecx, [ebp - 0x98]
call fcn.004084e0
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x40c367
mov edi, dword [ebp - 0x1c]
cmp esi, edi
je 0x40c304
nop word [eax + eax]
mov eax, dword [esi + 0x14]
mov byte [ebp - 4], 0x3e
cmp eax, 8
jb 0x40c2e7
inc eax
mov ecx, esi
push eax
push dword [esi]
call fcn.00409fe0
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
add esi, 0x18
cmp esi, edi
jne 0x40c2d0
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, 0x2aaaaaab
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
mov byte [ebp - 4], 0x3f
cmp ecx, 0x1000
jb 0x40c342
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c52e
push ecx
push esi
call fcn.0041a1df
mov edi, dword [ebp - 0x10c]
add esp, 8
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 0x40
cmp eax, 8
jb 0x40c380
inc eax
lea ecx, [ebp - 0x38]
push eax
push dword [ebp - 0x38]
call fcn.00409fe0
xor eax, eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 0x41
cmp eax, 8
jb 0x40c3ad
inc eax
lea ecx, [ebp - 0x50]
push eax
push dword [ebp - 0x50]
call fcn.00409fe0
mov eax, dword [ebp - 0x54]
mov dword [ebp - 4], 0x42
cmp eax, 8
jb 0x40b5ed
inc eax
lea ecx, [ebp - 0x68]
push eax
push dword [ebp - 0x68]
call fcn.00409fe0
mov eax, edi
jmp 0x40c5b7
cmp dword [ebp - 0x104], 0
jne 0x40c3e1
xor eax, eax
jmp 0x40c3ed
call fcn.0040b060
mov ecx, eax
call fcn.0040d110
push eax
call fcn.0040f820
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.0040dba0
lea eax, [ebp - 0xe8]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x100]
push eax
call fcn.0040d880
add esp, 0x18
mov byte [ebp - 4], 0x48
call fcn.0040b060
mov ecx, eax
call fcn.0040d2a0
test al, al
jne 0x40c43a
call fcn.00410100
test eax, eax
jne 0x40c43f
call fcn.0040f710
cmp dword [ebp - 0x6c], 8
lea eax, [ebp - 0x80]
cmovae eax, dword [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [ebp - 0x84], 8
lea eax, [ebp - 0x98]
cmovae eax, dword [ebp - 0x98]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
lea ecx, [ebp - 0x100]
call fcn.004084e0
lea ecx, [ebp - 0xe8]
call fcn.004084e0
lea ecx, [ebp - 0xb0]
call fcn.004084e0
lea ecx, [ebp - 0xd0]
call fcn.004084e0
lea ecx, [ebp - 0x80]
call fcn.004084e0
lea ecx, [ebp - 0x98]
call fcn.004084e0
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x40c553
mov edi, dword [ebp - 0x1c]
cmp esi, edi
je 0x40c4f4
nop dword [eax]
mov eax, dword [esi + 0x14]
mov byte [ebp - 4], 0x49
cmp eax, 8
jb 0x40c4d7
inc eax
mov ecx, esi
push eax
push dword [esi]
call fcn.00409fe0
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
add esi, 0x18
cmp esi, edi
jne 0x40c4c0
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, 0x2aaaaaab
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
mov byte [ebp - 4], 0x4a
cmp ecx, 0x1000
jb 0x40c534
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40c534
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.0041a1df
add esp, 8
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 0x4b
cmp eax, 8
jb 0x40c56c
inc eax
lea ecx, [ebp - 0x38]
push eax
push dword [ebp - 0x38]
call fcn.00409fe0
xor eax, eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 0x4c
cmp eax, 8
jb 0x40c599
inc eax
lea ecx, [ebp - 0x50]
push eax
push dword [ebp - 0x50]
call fcn.00409fe0
mov dword [ebp - 4], 0x4d
mov eax, dword [ebp - 0x54]
cmp eax, 8
jb 0x40c5b5
inc eax
lea ecx, [ebp - 0x68]
push eax
push dword [ebp - 0x68]
call fcn.00409fe0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0041a150
mov esp, ebp
pop ebp
ret 0x10