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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41cd51
mov eax, dword fs:[0]
push eax
sub esp, 0x14c
mov eax, dword [0x4263c8]
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 0x41e698
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x54], 7
mov word [ebp - 0x68], ax
call fcn.00409e00
xor eax, eax
mov dword [ebp - 4], 0
push eax
push 0x41e698
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
call fcn.00409e00
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 1
or ebx, 0xffffffff
push eax
mov dword [ebp - 0x104], ebx
mov dword [ebp - 0x138], ebx
call fcn.0040ee40
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 - 0x40], 0
mov byte [ebp - 4], 3
jne 0x40b20b
mov edx, dword [ebp - 0x3c]
mov byte [ebp - 4], 6
cmp edx, 8
jb 0x40b15b
mov ecx, dword [ebp - 0x50]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b151
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b677
push edx
push ecx
call fcn.0041ae54
add esp, 8
xor eax, eax
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 7
mov word [ebp - 0x50], ax
mov edx, dword [ebp - 0x24]
mov byte [ebp - 4], 7
cmp edx, 8
jb 0x40b1ad
mov ecx, dword [ebp - 0x38]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b1a3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b677
push edx
push ecx
call fcn.0041ae54
add esp, 8
xor eax, eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
mov edx, dword [ebp - 0x54]
mov dword [ebp - 4], 8
cmp edx, 8
jb 0x40c36e
mov ecx, dword [ebp - 0x68]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b1fc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b438
push edx
push ecx
call fcn.0041ae54
add esp, 8
jmp 0x40c36e
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 0x40b457
cmp dword [ebp - 0xb4], 2
jle 0x40b457
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 0x40b242
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x38]
call fcn.00409e00
push 2
push 0x41e6a4
lea ecx, [ebp - 0x38]
call fcn.0040af20
mov edx, dword [esi + 8]
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b272
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x68]
call fcn.00409e00
sub esp, 0x18
lea eax, [ebp - 0x38]
mov ecx, esp
mov dword [ebp - 0x140], esp
push eax
call fcn.0040ab90
sub esp, 0x18
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x68]
mov ecx, esp
push eax
call fcn.0040ab90
mov byte [ebp - 4], 9
call fcn.00410340
add esp, 0x30
mov dword [ebp - 4], 3
test eax, eax
setne al
test al, al
jne 0x40b457
mov esi, dword [ebp - 0x20]
mov byte [ebp - 4], 0xc
test esi, esi
je 0x40b355
mov edi, dword [ebp - 0x1c]
cmp esi, edi
je 0x40b2fc
mov ecx, esi
mov byte [ebp - 4], 0xd
call fcn.00409bc0
add esi, 0x18
mov byte [ebp - 4], 0xc
cmp esi, edi
jne 0x40b2e3
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
cmp ecx, 0x1000
jb 0x40b336
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b677
push ecx
push esi
call fcn.0041ae54
add esp, 8
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov edx, dword [ebp - 0x3c]
mov byte [ebp - 4], 0xe
cmp edx, 8
jb 0x40b393
mov ecx, dword [ebp - 0x50]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b389
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b677
push edx
push ecx
call fcn.0041ae54
add esp, 8
xor eax, eax
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 7
mov word [ebp - 0x50], ax
mov edx, dword [ebp - 0x24]
mov byte [ebp - 4], 0xf
cmp edx, 8
jb 0x40b3e5
mov ecx, dword [ebp - 0x38]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b3db
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b677
push edx
push ecx
call fcn.0041ae54
add esp, 8
xor eax, eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
mov edx, dword [ebp - 0x54]
mov dword [ebp - 4], 0x10
cmp edx, 8
jb 0x40c36e
mov ecx, dword [ebp - 0x68]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b1fc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40b1fc
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov eax, 0x40b444
ret
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push 0x41e6ac
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 ebx, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov esi, eax
test esi, esi
jne 0x40b68e
push 0x41e698
lea ecx, [ebp - 0x11c]
call fcn.0040ac70
lea eax, [ebp - 0x11c]
mov byte [ebp - 4], 0x11
push eax
push 0xb
call fcn.0040da80
add esp, 8
mov ebx, eax
mov edx, dword [ebp - 0x108]
mov byte [ebp - 4], 0x12
cmp edx, 8
jb 0x40b4f8
mov ecx, dword [ebp - 0x11c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b4ee
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b620
push edx
push ecx
call fcn.0041ae54
add esp, 8
xor eax, eax
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x108], 7
mov word [ebp - 0x11c], ax
mov esi, dword [ebp - 0x20]
mov byte [ebp - 4], 0x13
test esi, esi
je 0x40b5a2
mov edi, dword [ebp - 0x1c]
cmp esi, edi
je 0x40b549
nop dword [eax + eax]
mov ecx, esi
mov byte [ebp - 4], 0x14
call fcn.00409bc0
add esi, 0x18
mov byte [ebp - 4], 0x13
cmp esi, edi
jne 0x40b530
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
cmp ecx, 0x1000
jb 0x40b583
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b620
push ecx
push esi
call fcn.0041ae54
add esp, 8
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov edx, dword [ebp - 0x3c]
mov byte [ebp - 4], 0x15
cmp edx, 8
jb 0x40b5dc
mov ecx, dword [ebp - 0x50]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b5d2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b620
push edx
push ecx
call fcn.0041ae54
add esp, 8
xor eax, eax
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 7
mov word [ebp - 0x50], ax
mov edx, dword [ebp - 0x24]
mov byte [ebp - 4], 0x16
cmp edx, 8
jb 0x40b630
mov ecx, dword [ebp - 0x38]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b626
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40b626
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0041ae54
add esp, 8
xor eax, eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
mov dword [ebp - 4], 0x17
mov edx, dword [ebp - 0x54]
cmp edx, 8
jb 0x40b687
mov ecx, dword [ebp - 0x68]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b67d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40b67d
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0041ae54
add esp, 8
mov eax, ebx
jmp 0x40c370
lea eax, [ebp - 0x98]
push eax
call fcn.0040efb0
add esp, 4
cmp dword [ebp - 0x84], 8
lea eax, [ebp - 0x98]
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 0x18
cmovae eax, dword [ebp - 0x98]
push eax
call fcn.0040ac70
lea eax, [ebp - 0x11c]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.0040f570
add esp, 8
mov edx, dword [ebp - 0x108]
mov byte [ebp - 4], 0x1c
cmp edx, 8
jb 0x40b71e
mov ecx, dword [ebp - 0x11c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b714
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40b714
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0041ae54
add esp, 8
push 1
xor eax, eax
mov dword [ebp - 0x10c], 0
push 0x41e6b0
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x108], 7
mov word [ebp - 0x11c], ax
mov byte [ebp - 4], 0x1b
call fcn.0040af20
push 2
push 0x41e6b4
lea ecx, [ebp - 0x80]
call fcn.0040af20
lea eax, [ebp - 0x80]
push eax
call fcn.0040e1b0
mov edi, eax
add esp, 4
cmp edi, 0xffffffff
jne 0x40b9e3
push 0x41e698
lea ecx, [ebp - 0x134]
call fcn.0040ac70
lea eax, [ebp - 0x134]
mov byte [ebp - 4], 0x1d
push eax
push 0x15
call fcn.0040da80
add esp, 8
mov ebx, eax
mov edx, dword [ebp - 0x120]
mov byte [ebp - 4], 0x1e
cmp edx, 8
jb 0x40b7e1
mov ecx, dword [ebp - 0x134]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b7d7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40b7d7
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0041ae54
add esp, 8
xor eax, eax
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x120], 7
mov word [ebp - 0x134], ax
mov edx, dword [ebp - 0x6c]
mov byte [ebp - 4], 0x1f
cmp edx, 8
jb 0x40b83c
mov ecx, dword [ebp - 0x80]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b832
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b9b3
push edx
push ecx
call fcn.0041ae54
add esp, 8
xor eax, eax
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 7
mov word [ebp - 0x80], ax
mov edx, dword [ebp - 0x84]
mov byte [ebp - 4], 0x20
cmp edx, 8
jb 0x40b894
mov ecx, dword [ebp - 0x98]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b88a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b9b3
push edx
push ecx
call fcn.0041ae54
add esp, 8
xor eax, eax
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 7
mov word [ebp - 0x98], ax
mov esi, dword [ebp - 0x20]
mov byte [ebp - 4], 0x21
test esi, esi
je 0x40b935
mov edi, dword [ebp - 0x1c]
cmp esi, edi
je 0x40b8dc
mov ecx, esi
mov byte [ebp - 4], 0x22
call fcn.00409bc0
add esi, 0x18
mov byte [ebp - 4], 0x21
cmp esi, edi
jne 0x40b8c3
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
cmp ecx, 0x1000
jb 0x40b916
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b9b3
push ecx
push esi
call fcn.0041ae54
add esp, 8
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov edx, dword [ebp - 0x3c]
mov byte [ebp - 4], 0x23
cmp edx, 8
jb 0x40b96f
mov ecx, dword [ebp - 0x50]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b965
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b9b3
push edx
push ecx
call fcn.0041ae54
add esp, 8
xor eax, eax
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 7
mov word [ebp - 0x50], ax
mov edx, dword [ebp - 0x24]
mov byte [ebp - 4], 0x24
cmp edx, 8
jb 0x40b9c3
mov ecx, dword [ebp - 0x38]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b9b9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40b9b9
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0041ae54
add esp, 8
xor eax, eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
mov dword [ebp - 4], 0x25
jmp 0x40b64b
push ebx
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 0x40bb20
push 0x41e698
lea ecx, [ebp - 0x134]
call fcn.0040ac70
lea eax, [ebp - 0x134]
mov byte [ebp - 4], 0x26
push eax
push 0x1f
call fcn.0040da80
add esp, 8
mov ebx, eax
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0x27
call fcn.00409bc0
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x28
call fcn.00409bc0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x29
call fcn.00409bc0
mov esi, dword [ebp - 0x20]
mov byte [ebp - 4], 0x2a
test esi, esi
je 0x40baf2
mov edi, dword [ebp - 0x1c]
cmp esi, edi
je 0x40ba99
nop
mov ecx, esi
mov byte [ebp - 4], 0x2b
call fcn.00409bc0
add esi, 0x18
mov byte [ebp - 4], 0x2a
cmp esi, edi
jne 0x40ba80
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
cmp ecx, 0x1000
jb 0x40bad3
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b677
push ecx
push esi
call fcn.0041ae54
add esp, 8
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x2c
call fcn.00409bc0
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x2d
call fcn.00409bc0
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0x2e
call fcn.00409bc0
mov eax, ebx
jmp 0x40c370
call fcn.0040af90
mov ecx, eax
call fcn.0040d510
test al, al
je 0x40bb73
push 0x210
call fcn.0041ae24
mov esi, eax
push esi
call fcn.0040faf0
add esp, 8
test eax, eax
je 0x40bb5b
call fcn.0040dd40
test eax, eax
je 0x40bb5b
push esi
call fcn.0040f7a0
add esp, 4
push 0x210
push esi
call fcn.0041ae54
add esp, 8
mov dword [ebp - 0x104], 0
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0xd0]
push eax
call fcn.0040f100
add esp, 8
cmp dword [ebp - 0xc0], 0
mov byte [ebp - 4], 0x2f
jne 0x40bcb0
push 0x41e698
lea ecx, [ebp - 0x134]
call fcn.0040ac70
lea eax, [ebp - 0x134]
mov byte [ebp - 4], 0x30
push eax
push 0x29
call fcn.0040da80
add esp, 8
mov ebx, eax
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0x31
call fcn.00409bc0
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x32
call fcn.00409bc0
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x33
call fcn.00409bc0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x34
call fcn.00409bc0
mov esi, dword [ebp - 0x20]
mov byte [ebp - 4], 0x35
test esi, esi
je 0x40bc82
mov edi, dword [ebp - 0x1c]
cmp esi, edi
je 0x40bc29
nop dword [eax]
mov ecx, esi
mov byte [ebp - 4], 0x36
call fcn.00409bc0
add esi, 0x18
mov byte [ebp - 4], 0x35
cmp esi, edi
jne 0x40bc10
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
cmp ecx, 0x1000
jb 0x40bc63
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b677
push ecx
push esi
call fcn.0041ae54
add esp, 8
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x37
call fcn.00409bc0
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x38
call fcn.00409bc0
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0x39
call fcn.00409bc0
mov eax, ebx
jmp 0x40c370
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0xb0]
push eax
call fcn.0040dec0
add esp, 0xc
push str.Resource0
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x3a
call fcn.0040ac70
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0x3b
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.00409810
add esp, 8
test al, al
jne 0x40be10
lea eax, [ebp - 0xb0]
push eax
push 0x33
call fcn.0040da80
add esp, 8
mov ebx, eax
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x3c
call fcn.00409bc0
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x3d
call fcn.00409bc0
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x3e
call fcn.00409bc0
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x3f
call fcn.00409bc0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x40
call fcn.00409bc0
mov esi, dword [ebp - 0x20]
mov byte [ebp - 4], 0x41
test esi, esi
je 0x40bde2
mov edi, dword [ebp - 0x1c]
cmp esi, edi
je 0x40bd89
nop
mov ecx, esi
mov byte [ebp - 4], 0x42
call fcn.00409bc0
add esi, 0x18
mov byte [ebp - 4], 0x41
cmp esi, edi
jne 0x40bd70
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
cmp ecx, 0x1000
jb 0x40bdc3
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b677
push ecx
push esi
call fcn.0041ae54
add esp, 8
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x43
call fcn.00409bc0
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x44
call fcn.00409bc0
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0x45
call fcn.00409bc0
mov eax, ebx
jmp 0x40c370
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0xb0]
push eax
call fcn.00408f50
add esp, 8
test al, al
jne 0x40bf40
lea eax, [ebp - 0xb0]
push eax
push 0x51
call fcn.0040da80
add esp, 8
mov ebx, eax
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x46
call fcn.00409bc0
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x47
call fcn.00409bc0
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x48
call fcn.00409bc0
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x49
call fcn.00409bc0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x4a
call fcn.00409bc0
mov esi, dword [ebp - 0x20]
mov byte [ebp - 4], 0x4b
test esi, esi
je 0x40bf12
mov edi, dword [ebp - 0x1c]
cmp esi, edi
je 0x40beb9
nop dword [eax]
mov ecx, esi
mov byte [ebp - 4], 0x4c
call fcn.00409bc0
add esi, 0x18
mov byte [ebp - 4], 0x4b
cmp esi, edi
jne 0x40bea0
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
cmp ecx, 0x1000
jb 0x40bef3
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b677
push ecx
push esi
call fcn.0041ae54
add esp, 8
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x4d
call fcn.00409bc0
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x4e
call fcn.00409bc0
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0x4f
call fcn.00409bc0
mov eax, ebx
jmp 0x40c370
lea ecx, [ebp - 0x20]
xor edi, edi
call fcn.0040b030
test eax, eax
je 0x40bf9b
xor esi, esi
mov eax, dword [ebp - 0x20]
add eax, esi
push eax
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0x158]
push eax
call fcn.0040dec0
mov ecx, dword [ebp - 0x20]
add esp, 0xc
push eax
lea ecx, [esi + ecx]
call fcn.0040adf0
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x50
call fcn.00409bc0
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x3b
inc edi
add esi, 0x18
call fcn.0040b030
cmp edi, eax
jb 0x40bf50
mov ecx, dword [ebp - 0x1c]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x20]
xor ebx, ebx
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x40bff5
xor edi, edi
nop word [eax + eax]
lea eax, [edi + esi]
push eax
call fcn.0040ec20
add esp, 4
test eax, eax
je 0x40c102
mov ecx, dword [ebp - 0x1c]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x20]
inc ebx
sub ecx, esi
add edi, 0x18
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x40bfc0
lea eax, [ebp - 0xd0]
push eax
call fcn.0040ff30
add esp, 4
test eax, eax
jne 0x40c1f2
lea eax, [ebp - 0xb0]
push eax
push 0x3d
call fcn.0040da80
add esp, 8
mov ebx, eax
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x5b
call fcn.00409bc0
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x5c
call fcn.00409bc0
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x5d
call fcn.00409bc0
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x5e
call fcn.00409bc0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x5f
call fcn.00409bc0
mov esi, dword [ebp - 0x20]
mov byte [ebp - 4], 0x60
test esi, esi
je 0x40c0d4
mov edi, dword [ebp - 0x1c]
cmp esi, edi
je 0x40c099
nop dword [eax]
mov ecx, esi
mov byte [ebp - 4], 0x61
call fcn.00409bc0
add esi, 0x18
mov byte [ebp - 4], 0x60
cmp esi, edi
jne 0x40c080
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 eax, [eax + eax*2]
shl eax, 3
push eax
push esi
call fcn.0040a9d0
add esp, 8
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x62
call fcn.00409bc0
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x63
call fcn.00409bc0
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0x64
call fcn.00409bc0
mov eax, ebx
jmp 0x40c370
lea eax, [ebp - 0xb0]
push eax
push 0x47
call fcn.0040da80
add esp, 8
mov ebx, eax
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x51
call fcn.00409bc0
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x52
call fcn.00409bc0
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x53
call fcn.00409bc0
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x54
call fcn.00409bc0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x55
call fcn.00409bc0
mov esi, dword [ebp - 0x20]
mov byte [ebp - 4], 0x56
test esi, esi
je 0x40c1c4
mov edi, dword [ebp - 0x1c]
cmp esi, edi
je 0x40c189
nop
mov ecx, esi
mov byte [ebp - 4], 0x57
call fcn.00409bc0
add esi, 0x18
mov byte [ebp - 4], 0x56
cmp esi, edi
jne 0x40c170
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 eax, [eax + eax*2]
shl eax, 3
push eax
push esi
call fcn.0040a9d0
add esp, 8
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x58
call fcn.00409bc0
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x59
call fcn.00409bc0
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0x5a
call fcn.00409bc0
mov eax, ebx
jmp 0x40c370
cmp dword [ebp - 0x104], 0
jne 0x40c1ff
xor eax, eax
jmp 0x40c20b
call fcn.0040af90
mov ecx, eax
call fcn.0040d420
push eax
call fcn.0040fe20
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.0040e1e0
lea eax, [ebp - 0xe8]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x100]
push eax
call fcn.0040dec0
add esp, 0x18
mov byte [ebp - 4], 0x65
call fcn.0040af90
mov ecx, eax
call fcn.0040d5b0
test al, al
jne 0x40c258
call fcn.00410780
test eax, eax
jne 0x40c25d
call fcn.0040fcf0
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]
mov byte [ebp - 4], 0x66
call fcn.00409bc0
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x67
call fcn.00409bc0
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x68
call fcn.00409bc0
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x69
call fcn.00409bc0
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x6a
call fcn.00409bc0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x6b
call fcn.00409bc0
mov esi, dword [ebp - 0x20]
mov byte [ebp - 4], 0x6c
test esi, esi
je 0x40c347
mov edi, dword [ebp - 0x1c]
cmp esi, edi
je 0x40c30c
mov ecx, esi
mov byte [ebp - 4], 0x6d
call fcn.00409bc0
add esi, 0x18
mov byte [ebp - 4], 0x6c
cmp esi, edi
jne 0x40c2f3
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 eax, [eax + eax*2]
shl eax, 3
push eax
push esi
call fcn.0040a9d0
add esp, 8
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x6e
call fcn.00409bc0
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x6f
call fcn.00409bc0
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0x70
call fcn.00409bc0
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.0041adc0
mov esp, ebp
pop ebp
ret 0x10