Function at 0x40bc40
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 0x41d12f
mov eax, dword fs:[0]
push eax
sub esp, 0x144
mov eax, dword [0x4263d0]
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 - 0xa4], 0
push eax
push 0x41e948
lea ecx, [ebp - 0xb4]
mov dword [ebp - 0xa0], 7
mov word [ebp - 0xb4], ax
call fcn.00409fa0
xor eax, eax
mov dword [ebp - 4], 0
push eax
push 0x41e948
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 7
mov word [ebp - 0x9c], ax
call fcn.00409fa0
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 1
or esi, 0xffffffff
push eax
mov dword [ebp - 0x14c], esi
mov dword [ebp - 0x144], esi
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov edi, eax
mov dword [ebp - 0x150], edi
test edi, edi
je 0x40be11
cmp dword [ebp - 0xb8], 2
jle 0x40be11
mov edx, dword [edi + 4]
mov ecx, edx
mov byte [ebp - 4], 2
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bd24
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x9c]
call fcn.00409fa0
push 2
push 0x41e954
lea ecx, [ebp - 0x9c]
call fcn.0040ba30
mov edx, dword [edi + 8]
mov ecx, edx
lea esi, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bd60
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0xb4]
call fcn.00409fa0
sub esp, 0x18
lea eax, [ebp - 0x9c]
mov ecx, esp
mov dword [ebp - 0x138], esp
push eax
call fcn.0040b680
sub esp, 0x18
mov byte [ebp - 4], 3
lea eax, [ebp - 0xb4]
mov ecx, esp
push eax
call fcn.0040b680
mov byte [ebp - 4], 2
call fcn.00410f90
add esp, 0x30
mov dword [ebp - 4], 1
test eax, eax
setne al
test al, al
jne 0x40be11
mov eax, dword [ebp - 0x88]
mov byte [ebp - 4], 5
cmp eax, 8
jb 0x40bde6
inc eax
lea ecx, [ebp - 0x9c]
push eax
push dword [ebp - 0x9c]
call fcn.0040a160
mov dword [ebp - 4], 6
jmp 0x40d8a9
xor eax, eax
mov byte [ebp - 0x144], 0
mov dword [ebp - 0x140], eax
cmp dword [ebp - 0xb8], eax
jle 0x40c04a
nop dword [eax]
mov edx, dword [edi + eax*4]
xor eax, eax
mov ecx, edx
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 7
mov word [ebp - 0x84], ax
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40be50
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x84]
call fcn.00409fa0
cmp dword [ebp - 0x70], 8
lea ecx, [ebp - 0x84]
mov esi, dword [ebp - 0x84]
mov edx, dword [ebp - 0x74]
cmovae ecx, esi
mov byte [ebp - 4], 7
mov dword [ebp - 0x13c], esi
mov dword [ebp - 0x138], ecx
cmp edx, 0x11
jb 0x40bec7
lea eax, [edx - 0x10]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x148], eax
sub eax, ecx
sar eax, 1
je 0x40bebe
nop dword [eax]
cmp word [ecx], 0x2d
je 0x40bf10
add ecx, 2
sub eax, 1
jne 0x40beb0
mov esi, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x74]
cmp dword [ebp - 0x70], 8
lea eax, [ebp - 0x84]
cmovae eax, esi
mov dword [ebp - 0x148], eax
cmp edx, 9
jb 0x40bf87
add edx, 0xfffffff8
mov ecx, eax
lea edx, [eax + edx*2]
mov dword [ebp - 0x138], edx
mov eax, edx
sub eax, ecx
sar eax, 1
je 0x40bf81
nop dword [eax]
cmp word [ecx], 0x2d
je 0x40bf58
add ecx, 2
sub eax, 1
jne 0x40bf00
jmp 0x40bf81
mov edx, 0x41e95c
mov edi, ecx
mov esi, 0x11
sub edi, edx
nop
mov ax, word [edi + edx]
cmp ax, word [edx]
jne 0x40bf4a
add edx, 2
sub esi, 1
jne 0x40bf20
sub ecx, dword [ebp - 0x138]
sar ecx, 1
mov esi, dword [ebp - 0x13c]
jne 0x40bec4
mov byte [ebp - 0x144], 1
jmp 0x40bf87
mov eax, dword [ebp - 0x148]
add ecx, 2
jmp 0x40bea3
mov edx, 0x41e918
mov edi, ecx
mov esi, 9
sub edi, edx
mov ax, word [edi + edx]
cmp ax, word [edx]
jne 0x40bfea
add edx, 2
sub esi, 1
jne 0x40bf66
sub ecx, dword [ebp - 0x148]
sar ecx, 1
je 0x40bff8
mov esi, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x70]
mov byte [ebp - 4], 1
cmp eax, 8
jb 0x40bfca
lea ecx, [eax*2 + 2]
mov eax, esi
mov byte [ebp - 4], 0xb
cmp ecx, 0x1000
jb 0x40bfbc
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d456
push ecx
push esi
call fcn.0041b3bf
add esp, 8
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x140]
inc eax
mov dword [ebp - 0x140], eax
cmp eax, dword [ebp - 0xb8]
jge 0x40c04a
mov edi, dword [ebp - 0x150]
jmp 0x40be30
mov edx, dword [ebp - 0x138]
add ecx, 2
jmp 0x40bef1
call fcn.0040b900
mov eax, dword [ebp - 0x70]
mov byte [ebp - 4], 8
cmp eax, 8
jb 0x40c01c
inc eax
lea ecx, [ebp - 0x84]
push eax
push dword [ebp - 0x13c]
call fcn.0040a160
mov eax, dword [ebp - 0x88]
mov byte [ebp - 4], 9
cmp eax, 8
jb 0x40c03e
inc eax
lea ecx, [ebp - 0x9c]
push eax
push dword [ebp - 0x9c]
call fcn.0040a160
mov dword [ebp - 4], 0xa
jmp 0x40d8a9
lea eax, [ebp - 0x54]
push eax
call fcn.0040fa60
add esp, 4
xorps xmm0, xmm0
mov dword [ebp - 0x34], 0
movq qword [ebp - 0x3c], xmm0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
cmp dword [ebp - 0x44], 0
mov byte [ebp - 4], 0xd
jne 0x40c179
mov edx, dword [ebp - 0x40]
cmp edx, 8
jb 0x40c0c6
mov ecx, dword [ebp - 0x54]
lea edx, [edx*2 + 2]
mov eax, ecx
mov byte [ebp - 4], 0x10
cmp edx, 0x1000
jb 0x40c0bc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d456
push edx
push ecx
call fcn.0041b3bf
add esp, 8
mov edx, dword [ebp - 0x88]
xor eax, eax
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 7
mov word [ebp - 0x54], ax
cmp edx, 8
jb 0x40c120
mov ecx, dword [ebp - 0x9c]
lea edx, [edx*2 + 2]
mov eax, ecx
mov byte [ebp - 4], 0x11
cmp edx, 0x1000
jb 0x40c116
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40c116
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0041b3bf
add esp, 8
mov edx, dword [ebp - 0xa0]
mov dword [ebp - 4], 0xffffffff
cmp edx, 8
jb 0x40d8c7
mov ecx, dword [ebp - 0xb4]
lea edx, [edx*2 + 2]
mov eax, ecx
mov dword [ebp - 4], 0x12
cmp edx, 0x1000
jb 0x40c16a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40c16a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0041b3bf
add esp, 8
jmp 0x40d8c7
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push 0x41e980
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 - 0x138], eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov esi, eax
test esi, esi
jne 0x40c376
push eax
push 0x41e948
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], 7
mov word [ebp - 0x84], ax
call fcn.00409fa0
lea eax, [ebp - 0x84]
mov byte [ebp - 4], 0x13
push eax
push 0xb
call fcn.0040e770
mov edi, eax
add esp, 8
mov dword [ebp - 0x138], edi
mov ecx, dword [ebp - 0x70]
mov byte [ebp - 4], 0x14
cmp ecx, 8
jb 0x40c211
inc ecx
push ecx
push dword [ebp - 0x84]
lea ecx, [ebp - 0x84]
call fcn.0040a160
mov esi, dword [ebp - 0x3c]
xor eax, eax
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 7
mov word [ebp - 0x84], ax
test esi, esi
je 0x40c2fb
mov edi, dword [ebp - 0x38]
cmp esi, edi
je 0x40c296
nop word [eax + eax]
mov ecx, dword [esi + 0x14]
cmp ecx, 8
jb 0x40c279
mov eax, dword [esi]
lea ecx, [ecx*2 + 2]
mov byte [ebp - 4], 0x15
cmp ecx, 0x1000
jb 0x40c26f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c2d0
mov eax, edx
push ecx
push eax
call fcn.0041b3bf
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 0x40c240
mov esi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
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], 0x16
cmp ecx, 0x1000
jb 0x40c2d6
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40c2d6
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.0041b3bf
mov edi, dword [ebp - 0x138]
add esp, 8
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 0x17
cmp eax, 8
jb 0x40c314
inc eax
lea ecx, [ebp - 0x54]
push eax
push dword [ebp - 0x54]
call fcn.0040a160
xor eax, eax
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 7
mov word [ebp - 0x54], ax
mov eax, dword [ebp - 0x88]
mov byte [ebp - 4], 0x18
cmp eax, 8
jb 0x40c34a
inc eax
lea ecx, [ebp - 0x9c]
push eax
push dword [ebp - 0x9c]
call fcn.0040a160
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 4], 0x19
cmp eax, 8
jb 0x40c36f
inc eax
lea ecx, [ebp - 0xb4]
push eax
push dword [ebp - 0xb4]
call fcn.0040a160
mov eax, edi
jmp 0x40d8c9
lea eax, [ebp - 0x6c]
push eax
call fcn.0040fa60
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x1a
push eax
call fcn.0040f860
add esp, 8
test eax, eax
jne 0x40c58a
push eax
push 0x41e948
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], 7
mov word [ebp - 0x84], ax
call fcn.00409fa0
lea eax, [ebp - 0x84]
mov byte [ebp - 4], 0x1b
push eax
push 0x15
call fcn.0040e770
mov edi, eax
add esp, 8
mov dword [ebp - 0x138], edi
mov ecx, dword [ebp - 0x70]
mov byte [ebp - 4], 0x1c
cmp ecx, 8
jb 0x40c3f5
inc ecx
push ecx
push dword [ebp - 0x84]
lea ecx, [ebp - 0x84]
call fcn.0040a160
xor eax, eax
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 7
mov word [ebp - 0x84], ax
mov eax, dword [ebp - 0x58]
mov byte [ebp - 4], 0x1d
cmp eax, 8
jb 0x40c425
inc eax
lea ecx, [ebp - 0x6c]
push eax
push dword [ebp - 0x6c]
call fcn.0040a160
mov esi, dword [ebp - 0x3c]
xor eax, eax
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
test esi, esi
je 0x40c50b
mov edi, dword [ebp - 0x38]
cmp esi, edi
je 0x40c4a6
nop dword [eax + eax]
mov ecx, dword [esi + 0x14]
cmp ecx, 8
jb 0x40c489
mov eax, dword [esi]
lea ecx, [ecx*2 + 2]
mov byte [ebp - 4], 0x1e
cmp ecx, 0x1000
jb 0x40c47f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c4e0
mov eax, edx
push ecx
push eax
call fcn.0041b3bf
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 0x40c450
mov esi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
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 0x40c4e6
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40c4e6
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.0041b3bf
mov edi, dword [ebp - 0x138]
add esp, 8
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 0x20
cmp eax, 8
jb 0x40c524
inc eax
lea ecx, [ebp - 0x54]
push eax
push dword [ebp - 0x54]
call fcn.0040a160
xor eax, eax
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 7
mov word [ebp - 0x54], ax
mov eax, dword [ebp - 0x88]
mov byte [ebp - 4], 0x21
cmp eax, 8
jb 0x40c55a
inc eax
lea ecx, [ebp - 0x9c]
push eax
push dword [ebp - 0x9c]
call fcn.0040a160
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 4], 0x22
cmp eax, 8
jb 0x40c36f
inc eax
lea ecx, [ebp - 0xb4]
push eax
push dword [ebp - 0xb4]
call fcn.0040a160
mov eax, edi
jmp 0x40d8c9
push 1
push 0x41e808
lea ecx, [ebp - 0x6c]
call fcn.0040ba30
movups xmm0, xmmword [0x41e984]
mov ax, word [0x41e99c]
lea ecx, [ebp - 0x30]
mov word [ebp - 0x18], ax
lea edx, [ecx + 2]
movups xmmword [ebp - 0x30], xmm0
movq xmm0, qword [0x41e994]
movq qword [ebp - 0x20], xmm0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c5c1
sub ecx, edx
lea eax, [ebp - 0x30]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x6c]
call fcn.0040ba30
lea eax, [ebp - 0x6c]
push eax
call fcn.0040f860
add esp, 4
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 7
test eax, eax
jne 0x40c7ea
push eax
push 0x41e948
lea ecx, [ebp - 0x84]
mov word [ebp - 0x84], ax
call fcn.00409fa0
lea eax, [ebp - 0x84]
mov byte [ebp - 4], 0x23
push eax
push 0x15
call fcn.0040e770
mov edi, eax
add esp, 8
mov dword [ebp - 0x138], edi
mov ecx, dword [ebp - 0x70]
mov byte [ebp - 4], 0x24
cmp ecx, 8
jb 0x40c653
inc ecx
push ecx
push dword [ebp - 0x84]
lea ecx, [ebp - 0x84]
call fcn.0040a160
xor eax, eax
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 7
mov word [ebp - 0x84], ax
mov eax, dword [ebp - 0x58]
mov byte [ebp - 4], 0x25
cmp eax, 8
jb 0x40c683
inc eax
lea ecx, [ebp - 0x6c]
push eax
push dword [ebp - 0x6c]
call fcn.0040a160
mov esi, dword [ebp - 0x3c]
xor eax, eax
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
test esi, esi
je 0x40c76b
mov edi, dword [ebp - 0x38]
cmp esi, edi
je 0x40c706
nop dword [eax]
mov ecx, dword [esi + 0x14]
cmp ecx, 8
jb 0x40c6e9
mov eax, dword [esi]
lea ecx, [ecx*2 + 2]
mov byte [ebp - 4], 0x26
cmp ecx, 0x1000
jb 0x40c6df
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c740
mov eax, edx
push ecx
push eax
call fcn.0041b3bf
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 0x40c6b0
mov esi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
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], 0x27
cmp ecx, 0x1000
jb 0x40c746
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40c746
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.0041b3bf
mov edi, dword [ebp - 0x138]
add esp, 8
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 0x28
cmp eax, 8
jb 0x40c784
inc eax
lea ecx, [ebp - 0x54]
push eax
push dword [ebp - 0x54]
call fcn.0040a160
xor eax, eax
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 7
mov word [ebp - 0x54], ax
mov eax, dword [ebp - 0x88]
mov byte [ebp - 4], 0x29
cmp eax, 8
jb 0x40c7ba
inc eax
lea ecx, [ebp - 0x9c]
push eax
push dword [ebp - 0x9c]
call fcn.0040a160
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 4], 0x2a
cmp eax, 8
jb 0x40c36f
inc eax
lea ecx, [ebp - 0xb4]
push eax
push dword [ebp - 0xb4]
call fcn.0040a160
mov eax, edi
jmp 0x40d8c9
cmp dword [ebp - 0x58], 8
lea edx, [ebp - 0x6c]
cmovae edx, dword [ebp - 0x6c]
xor eax, eax
mov ecx, edx
mov word [ebp - 0x84], ax
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c803
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x84]
call fcn.00409fa0
lea eax, [ebp - 0x84]
mov byte [ebp - 4], 0x2b
push eax
lea eax, [ebp - 0xd0]
push eax
call fcn.00410040
add esp, 8
mov eax, dword [ebp - 0x70]
mov byte [ebp - 4], 0x2e
cmp eax, 8
jb 0x40c858
inc eax
lea ecx, [ebp - 0x84]
push eax
push dword [ebp - 0x84]
call fcn.0040a160
push 1
xor eax, eax
mov dword [ebp - 0x74], 0
push 0x41e9a0
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0x70], 7
mov word [ebp - 0x84], ax
mov byte [ebp - 4], 0x2d
call fcn.0040ba30
push 2
push 0x41e9a4
lea ecx, [ebp - 0xd0]
call fcn.0040ba30
lea eax, [ebp - 0xd0]
push eax
call fcn.0040ee80
mov edi, eax
add esp, 4
cmp edi, 0xffffffff
jne 0x40ca6a
push 0x41e948
lea ecx, [ebp - 0x30]
call fcn.0040b710
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0x2f
push eax
push 0x15
call fcn.0040e770
add esp, 8
lea ecx, [ebp - 0x30]
mov edi, eax
mov dword [ebp - 0x138], edi
call fcn.00408660
lea ecx, [ebp - 0xd0]
call fcn.00408660
mov eax, dword [ebp - 0x58]
mov byte [ebp - 4], 0x30
cmp eax, 8
jb 0x40c904
inc eax
lea ecx, [ebp - 0x6c]
push eax
push dword [ebp - 0x6c]
call fcn.0040a160
mov esi, dword [ebp - 0x3c]
xor eax, eax
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
test esi, esi
je 0x40c9eb
mov edi, dword [ebp - 0x38]
cmp esi, edi
je 0x40c986
nop word [eax + eax]
mov ecx, dword [esi + 0x14]
cmp ecx, 8
jb 0x40c969
mov eax, dword [esi]
lea ecx, [ecx*2 + 2]
mov byte [ebp - 4], 0x31
cmp ecx, 0x1000
jb 0x40c95f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c9c0
mov eax, edx
push ecx
push eax
call fcn.0041b3bf
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 0x40c930
mov esi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
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], 0x32
cmp ecx, 0x1000
jb 0x40c9c6
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40c9c6
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.0041b3bf
mov edi, dword [ebp - 0x138]
add esp, 8
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 0x33
cmp eax, 8
jb 0x40ca04
inc eax
lea ecx, [ebp - 0x54]
push eax
push dword [ebp - 0x54]
call fcn.0040a160
xor eax, eax
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 7
mov word [ebp - 0x54], ax
mov eax, dword [ebp - 0x88]
mov byte [ebp - 4], 0x34
cmp eax, 8
jb 0x40ca3a
inc eax
lea ecx, [ebp - 0x9c]
push eax
push dword [ebp - 0x9c]
call fcn.0040a160
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 4], 0x35
cmp eax, 8
jb 0x40c36f
inc eax
lea ecx, [ebp - 0xb4]
push eax
push dword [ebp - 0xb4]
call fcn.0040a160
mov eax, edi
jmp 0x40d8c9
push dword [ebp - 0x138]
call dword [sym.imp.KERNEL32.dll_LockResource]
push 0
lea ecx, [ebp - 0xec]
mov dword [ebp - 0xec], 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 0x40cc5a
push 0x41e948
lea ecx, [ebp - 0x30]
call fcn.0040b710
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0x36
push eax
push 0x1f
call fcn.0040e770
add esp, 8
lea ecx, [ebp - 0x30]
mov edi, eax
mov dword [ebp - 0x138], edi
call fcn.00408660
lea ecx, [ebp - 0xd0]
call fcn.00408660
mov eax, dword [ebp - 0x58]
mov byte [ebp - 4], 0x37
cmp eax, 8
jb 0x40caf6
inc eax
lea ecx, [ebp - 0x6c]
push eax
push dword [ebp - 0x6c]
call fcn.0040a160
mov esi, dword [ebp - 0x3c]
xor eax, eax
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
test esi, esi
je 0x40cbdb
mov edi, dword [ebp - 0x38]
cmp esi, edi
je 0x40cb76
nop dword [eax]
mov ecx, dword [esi + 0x14]
cmp ecx, 8
jb 0x40cb59
mov eax, dword [esi]
lea ecx, [ecx*2 + 2]
mov byte [ebp - 4], 0x38
cmp ecx, 0x1000
jb 0x40cb4f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cbb0
mov eax, edx
push ecx
push eax
call fcn.0041b3bf
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 0x40cb20
mov esi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
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], 0x39
cmp ecx, 0x1000
jb 0x40cbb6
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40cbb6
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.0041b3bf
mov edi, dword [ebp - 0x138]
add esp, 8
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 0x3a
cmp eax, 8
jb 0x40cbf4
inc eax
lea ecx, [ebp - 0x54]
push eax
push dword [ebp - 0x54]
call fcn.0040a160
xor eax, eax
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 7
mov word [ebp - 0x54], ax
mov eax, dword [ebp - 0x88]
mov byte [ebp - 4], 0x3b
cmp eax, 8
jb 0x40cc2a
inc eax
lea ecx, [ebp - 0x9c]
push eax
push dword [ebp - 0x9c]
call fcn.0040a160
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 4], 0x3c
cmp eax, 8
jb 0x40c36f
inc eax
lea ecx, [ebp - 0xb4]
push eax
push dword [ebp - 0xb4]
call fcn.0040a160
mov eax, edi
jmp 0x40d8c9
call fcn.0040bba0
mov ecx, eax
call fcn.0040e510
test al, al
je 0x40ccad
push 0x210
call fcn.0041b38f
mov esi, eax
push esi
call fcn.00410700
add esp, 8
test eax, eax
je 0x40cc95
call fcn.0040ea10
test eax, eax
je 0x40cc95
push esi
call fcn.00410390
add esp, 4
push 0x210
push esi
call fcn.0041b3bf
add esp, 8
mov dword [ebp - 0x14c], 0
push dword [ebp - 0x144]
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x104]
push eax
call fcn.0040fc30
add esp, 0xc
cmp dword [ebp - 0xf4], 0
mov byte [ebp - 4], 0x3d
jne 0x40ce78
push 0x41e948
lea ecx, [ebp - 0x30]
call fcn.0040b710
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0x3e
push eax
push 0x29
call fcn.0040e770
add esp, 8
lea ecx, [ebp - 0x30]
mov edi, eax
mov dword [ebp - 0x138], edi
call fcn.00408660
lea ecx, [ebp - 0x104]
call fcn.00408660
lea ecx, [ebp - 0xd0]
call fcn.00408660
mov eax, dword [ebp - 0x58]
mov byte [ebp - 4], 0x3f
cmp eax, 8
jb 0x40cd35
inc eax
lea ecx, [ebp - 0x6c]
push eax
push dword [ebp - 0x6c]
call fcn.0040a160
mov esi, dword [ebp - 0x3c]
xor eax, eax
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
test esi, esi
je 0x40cdf9
mov edi, dword [ebp - 0x38]
cmp esi, edi
je 0x40cd94
nop dword [eax + eax]
mov eax, dword [esi + 0x14]
mov byte [ebp - 4], 0x40
cmp eax, 8
jb 0x40cd77
inc eax
mov ecx, esi
push eax
push dword [esi]
call fcn.0040a160
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
add esi, 0x18
cmp esi, edi
jne 0x40cd60
mov esi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
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], 0x41
cmp ecx, 0x1000
jb 0x40cdd4
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40cdd4
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.0041b3bf
mov edi, dword [ebp - 0x138]
add esp, 8
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 0x42
cmp eax, 8
jb 0x40ce12
inc eax
lea ecx, [ebp - 0x54]
push eax
push dword [ebp - 0x54]
call fcn.0040a160
xor eax, eax
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 7
mov word [ebp - 0x54], ax
mov eax, dword [ebp - 0x88]
mov byte [ebp - 4], 0x43
cmp eax, 8
jb 0x40ce48
inc eax
lea ecx, [ebp - 0x9c]
push eax
push dword [ebp - 0x9c]
call fcn.0040a160
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 4], 0x44
cmp eax, 8
jb 0x40c36f
inc eax
lea ecx, [ebp - 0xb4]
push eax
push dword [ebp - 0xb4]
call fcn.0040a160
mov eax, edi
jmp 0x40d8c9
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0xe8]
push eax
call fcn.0040eb90
add esp, 0xc
push 0x41e9ac
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 0x45
call fcn.0040b710
lea eax, [ebp - 0xe8]
mov byte [ebp - 4], 0x46
push eax
lea eax, [ebp - 0xd0]
push eax
call fcn.00409b00
add esp, 8
test al, al
jne 0x40d066
lea eax, [ebp - 0xe8]
push eax
push 0x33
call fcn.0040e770
add esp, 8
lea ecx, [ebp - 0x11c]
mov edi, eax
mov dword [ebp - 0x138], edi
call fcn.00408660
lea ecx, [ebp - 0xe8]
call fcn.00408660
lea ecx, [ebp - 0x104]
call fcn.00408660
lea ecx, [ebp - 0xd0]
call fcn.00408660
mov eax, dword [ebp - 0x58]
mov byte [ebp - 4], 0x47
cmp eax, 8
jb 0x40cf26
inc eax
lea ecx, [ebp - 0x6c]
push eax
push dword [ebp - 0x6c]
call fcn.0040a160
mov esi, dword [ebp - 0x3c]
xor eax, eax
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
test esi, esi
je 0x40cfe7
mov edi, dword [ebp - 0x38]
cmp esi, edi
je 0x40cf84
nop dword [eax]
mov eax, dword [esi + 0x14]
mov byte [ebp - 4], 0x48
cmp eax, 8
jb 0x40cf67
inc eax
mov ecx, esi
push eax
push dword [esi]
call fcn.0040a160
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
add esi, 0x18
cmp esi, edi
jne 0x40cf50
mov esi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
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], 0x49
cmp ecx, 0x1000
jb 0x40cfc2
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d456
push ecx
push esi
call fcn.0041b3bf
mov edi, dword [ebp - 0x138]
add esp, 8
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 0x4a
cmp eax, 8
jb 0x40d000
inc eax
lea ecx, [ebp - 0x54]
push eax
push dword [ebp - 0x54]
call fcn.0040a160
xor eax, eax
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 7
mov word [ebp - 0x54], ax
mov eax, dword [ebp - 0x88]
mov byte [ebp - 4], 0x4b
cmp eax, 8
jb 0x40d036
inc eax
lea ecx, [ebp - 0x9c]
push eax
push dword [ebp - 0x9c]
call fcn.0040a160
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 4], 0x4c
cmp eax, 8
jb 0x40c36f
inc eax
lea ecx, [ebp - 0xb4]
push eax
push dword [ebp - 0xb4]
call fcn.0040a160
mov eax, edi
jmp 0x40d8c9
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0xe8]
push eax
call fcn.00408ed0
add esp, 8
test al, al
jne 0x40d1ca
lea eax, [ebp - 0xe8]
push eax
push 0x51
call fcn.0040e770
add esp, 8
mov dword [ebp - 0x138], eax
lea ecx, [ebp - 0x11c]
call fcn.00408660
lea ecx, [ebp - 0xe8]
call fcn.00408660
lea ecx, [ebp - 0x104]
call fcn.00408660
lea ecx, [ebp - 0xd0]
call fcn.00408660
mov eax, dword [ebp - 0x58]
mov byte [ebp - 4], 0x4d
cmp eax, 8
jb 0x40d0dd
inc eax
lea ecx, [ebp - 0x6c]
push eax
push dword [ebp - 0x6c]
call fcn.0040a160
mov esi, dword [ebp - 0x3c]
xor eax, eax
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
mov byte [ebp - 4], 0xc
test esi, esi
je 0x40d1a1
mov edi, dword [ebp - 0x38]
cmp esi, edi
je 0x40d144
nop word [eax + eax]
mov eax, dword [esi + 0x14]
mov byte [ebp - 4], 0x4e
cmp eax, 8
jb 0x40d127
inc eax
mov ecx, esi
push eax
push dword [esi]
call fcn.0040a160
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
add esi, 0x18
cmp esi, edi
jne 0x40d110
mov esi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
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], 0x4f
cmp ecx, 0x1000
jb 0x40d182
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d456
push ecx
push esi
call fcn.0041b3bf
add esp, 8
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
lea ecx, [ebp - 0x54]
call fcn.00408660
lea ecx, [ebp - 0x9c]
call fcn.00408660
lea ecx, [ebp - 0xb4]
call fcn.00408660
mov eax, dword [ebp - 0x138]
jmp 0x40d8c9
mov esi, dword [ebp - 0x38]
xor ecx, ecx
mov edi, dword [ebp - 0x3c]
mov eax, 0x2aaaaaab
mov dword [ebp - 0x140], ecx
mov ecx, esi
sub ecx, edi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x40d2dd
xor eax, eax
mov dword [ebp - 0x13c], eax
nop dword [eax + eax]
add eax, edi
push eax
lea eax, [ebp - 0xe8]
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.0040eb90
mov esi, dword [ebp - 0x13c]
add esp, 0xc
mov edi, dword [ebp - 0x3c]
add esi, edi
mov dword [ebp - 0x138], eax
cmp esi, eax
je 0x40d280
mov ecx, dword [esi + 0x14]
mov byte [ebp - 4], 0x50
cmp ecx, 8
jb 0x40d24d
lea eax, [ecx + 1]
mov ecx, esi
push eax
push dword [esi]
call fcn.0040a160
mov eax, dword [ebp - 0x138]
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 - 0x3c]
mov eax, dword [ebp - 0x70]
mov byte [ebp - 4], 0x51
cmp eax, 8
jb 0x40d2a2
inc eax
lea ecx, [ebp - 0x84]
push eax
push dword [ebp - 0x84]
call fcn.0040a160
mov edi, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
mov eax, 0x2aaaaaab
inc dword [ebp - 0x140]
mov ecx, esi
add dword [ebp - 0x13c], 0x18
sub ecx, edi
imul ecx
mov byte [ebp - 4], 0x46
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x13c]
jb 0x40d200
sub esi, edi
mov eax, 0x2aaaaaab
imul esi
xor ecx, ecx
sar edx, 2
mov eax, edx
mov dword [ebp - 0x140], ecx
shr eax, 0x1f
add eax, edx
je 0x40d33e
xor esi, esi
nop dword [eax]
lea eax, [esi + edi]
push eax
call fcn.0040f8a0
add esp, 4
test eax, eax
je 0x40d45c
mov ecx, dword [ebp - 0x38]
mov eax, 0x2aaaaaab
mov edi, dword [ebp - 0x3c]
add esi, 0x18
inc dword [ebp - 0x140]
sub ecx, edi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x140], eax
jb 0x40d300
lea eax, [ebp - 0x104]
push eax
call fcn.00410ae0
add esp, 4
test eax, eax
jne 0x40d69a
lea eax, [ebp - 0xe8]
push eax
push 0x3d
call fcn.0040e770
add esp, 8
lea ecx, [ebp - 0x11c]
mov edi, eax
mov dword [ebp - 0x138], edi
call fcn.00408660
lea ecx, [ebp - 0xe8]
call fcn.00408660
lea ecx, [ebp - 0x104]
call fcn.00408660
lea ecx, [ebp - 0xd0]
call fcn.00408660
mov eax, dword [ebp - 0x58]
mov byte [ebp - 4], 0x58
cmp eax, 8
jb 0x40d3b3
inc eax
lea ecx, [ebp - 0x6c]
push eax
push dword [ebp - 0x6c]
call fcn.0040a160
mov esi, dword [ebp - 0x3c]
xor eax, eax
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
test esi, esi
je 0x40d61b
mov edi, dword [ebp - 0x38]
cmp esi, edi
je 0x40d414
nop dword [eax]
mov eax, dword [esi + 0x14]
mov byte [ebp - 4], 0x59
cmp eax, 8
jb 0x40d3f7
inc eax
mov ecx, esi
push eax
push dword [esi]
call fcn.0040a160
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
add esi, 0x18
cmp esi, edi
jne 0x40d3e0
mov esi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
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], 0x5a
cmp ecx, 0x1000
jb 0x40d5f6
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40d5f6
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
lea eax, [ebp - 0xe8]
push eax
push 0x47
call fcn.0040e770
add esp, 8
lea ecx, [ebp - 0x11c]
mov edi, eax
mov dword [ebp - 0x138], edi
call fcn.00408660
lea ecx, [ebp - 0xe8]
call fcn.00408660
lea ecx, [ebp - 0x104]
call fcn.00408660
lea ecx, [ebp - 0xd0]
call fcn.00408660
mov eax, dword [ebp - 0x58]
mov byte [ebp - 4], 0x52
cmp eax, 8
jb 0x40d4ba
inc eax
lea ecx, [ebp - 0x6c]
push eax
push dword [ebp - 0x6c]
call fcn.0040a160
mov esi, dword [ebp - 0x3c]
xor eax, eax
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
test esi, esi
je 0x40d577
mov edi, dword [ebp - 0x38]
cmp esi, edi
je 0x40d514
mov eax, dword [esi + 0x14]
mov byte [ebp - 4], 0x53
cmp eax, 8
jb 0x40d4f7
inc eax
mov ecx, esi
push eax
push dword [esi]
call fcn.0040a160
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
add esi, 0x18
cmp esi, edi
jne 0x40d4e0
mov esi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
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], 0x54
cmp ecx, 0x1000
jb 0x40d552
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d456
push ecx
push esi
call fcn.0041b3bf
mov edi, dword [ebp - 0x138]
add esp, 8
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 0x55
cmp eax, 8
jb 0x40d590
inc eax
lea ecx, [ebp - 0x54]
push eax
push dword [ebp - 0x54]
call fcn.0040a160
xor eax, eax
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 7
mov word [ebp - 0x54], ax
mov eax, dword [ebp - 0x88]
mov byte [ebp - 4], 0x56
cmp eax, 8
jb 0x40d5c6
inc eax
lea ecx, [ebp - 0x9c]
push eax
push dword [ebp - 0x9c]
call fcn.0040a160
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 4], 0x57
cmp eax, 8
jb 0x40c36f
inc eax
lea ecx, [ebp - 0xb4]
push eax
push dword [ebp - 0xb4]
call fcn.0040a160
mov eax, edi
jmp 0x40d8c9
push ecx
push esi
call fcn.0041b3bf
mov edi, dword [ebp - 0x138]
add esp, 8
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 0x5b
cmp eax, 8
jb 0x40d634
inc eax
lea ecx, [ebp - 0x54]
push eax
push dword [ebp - 0x54]
call fcn.0040a160
xor eax, eax
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 7
mov word [ebp - 0x54], ax
mov eax, dword [ebp - 0x88]
mov byte [ebp - 4], 0x5c
cmp eax, 8
jb 0x40d66a
inc eax
lea ecx, [ebp - 0x9c]
push eax
push dword [ebp - 0x9c]
call fcn.0040a160
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 4], 0x5d
cmp eax, 8
jb 0x40c36f
inc eax
lea ecx, [ebp - 0xb4]
push eax
push dword [ebp - 0xb4]
call fcn.0040a160
mov eax, edi
jmp 0x40d8c9
cmp dword [ebp - 0x14c], 0
jne 0x40d6a7
xor eax, eax
jmp 0x40d6b3
call fcn.0040bba0
mov ecx, eax
call fcn.0040e420
push eax
call fcn.004109f0
add esp, 4
call fcn.0040b0b0
test eax, eax
jne 0x40d6cc
call fcn.0040b900
jmp 0x40d6d1
call fcn.0040b1a0
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.0040eeb0
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.0040eb90
add esp, 0x14
mov byte [ebp - 4], 0x5e
call fcn.0040bba0
mov ecx, eax
call fcn.0040e5b0
test al, al
jne 0x40d718
call fcn.004112d0
test eax, eax
jne 0x40d71d
call fcn.004108e0
cmp dword [ebp - 0xbc], 8
lea eax, [ebp - 0xd0]
cmovae eax, dword [ebp - 0xd0]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [ebp - 0x58], 8
lea eax, [ebp - 0x6c]
cmovae eax, dword [ebp - 0x6c]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
lea ecx, [ebp - 0x134]
call fcn.00408660
lea ecx, [ebp - 0x11c]
call fcn.00408660
lea ecx, [ebp - 0xe8]
call fcn.00408660
lea ecx, [ebp - 0x104]
call fcn.00408660
lea ecx, [ebp - 0xd0]
call fcn.00408660
mov eax, dword [ebp - 0x58]
mov byte [ebp - 4], 0x5f
cmp eax, 8
jb 0x40d79a
inc eax
lea ecx, [ebp - 0x6c]
push eax
push dword [ebp - 0x6c]
call fcn.0040a160
mov esi, dword [ebp - 0x3c]
xor eax, eax
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
test esi, esi
je 0x40d853
mov edi, dword [ebp - 0x38]
cmp esi, edi
je 0x40d7f4
mov eax, dword [esi + 0x14]
mov byte [ebp - 4], 0x60
cmp eax, 8
jb 0x40d7d7
inc eax
mov ecx, esi
push eax
push dword [esi]
call fcn.0040a160
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
add esi, 0x18
cmp esi, edi
jne 0x40d7c0
mov esi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
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], 0x61
cmp ecx, 0x1000
jb 0x40d834
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40d834
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.0041b3bf
add esp, 8
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 0x62
cmp eax, 8
jb 0x40d86c
inc eax
lea ecx, [ebp - 0x54]
push eax
push dword [ebp - 0x54]
call fcn.0040a160
xor eax, eax
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 7
mov word [ebp - 0x54], ax
mov eax, dword [ebp - 0x88]
mov byte [ebp - 4], 0x63
cmp eax, 8
jb 0x40d8a2
inc eax
lea ecx, [ebp - 0x9c]
push eax
push dword [ebp - 0x9c]
call fcn.0040a160
mov dword [ebp - 4], 0x64
mov eax, dword [ebp - 0xa0]
cmp eax, 8
jb 0x40d8c7
inc eax
lea ecx, [ebp - 0xb4]
push eax
push dword [ebp - 0xb4]
call fcn.0040a160
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.0041b330
mov esp, ebp
pop ebp
ret 0x10