Function at 0x4025d0
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46a642
mov eax, dword fs:[0]
push eax
sub esp, 0x398
mov eax, dword [0x48b5e0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0
lea ecx, [ebp - 0x88]
call fcn.00401020
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x8c]
call fcn.004070b0
mov byte [ebp - 4], 1
mov dword [ebp - 0x90], 0
lea ecx, [ebp - 0x94]
call fcn.004070b0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x98]
call fcn.004070b0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x9c]
call fcn.004070b0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xa0]
call fcn.004070b0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xa4]
call fcn.004070b0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xa8]
call fcn.004070b0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xac]
call fcn.004070b0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xb0]
call fcn.004070b0
mov byte [ebp - 4], 9
call fcn.00405d40
call fcn.00405db0
mov eax, dword [0x48c9e8]
push eax
lea ecx, [ebp - 0xb8]
call fcn.00407ce0
mov dword [ebp - 0xbc], 0
lea eax, [ebp - 0x2c0]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0
jne 0x4027aa
push str.CommandLineToArgvW_failed_n
call fcn.0043b86d
add esp, 4
mov dword [ebp - 0x394], 0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xb0]
call fcn.004024e0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xac]
call fcn.004024e0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xa8]
call fcn.004024e0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xa4]
call fcn.004024e0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xa0]
call fcn.004024e0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x9c]
call fcn.004024e0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x98]
call fcn.004024e0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x94]
call fcn.004024e0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x8c]
call fcn.004024e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x88]
call fcn.004010d0
mov eax, dword [ebp - 0x394]
jmp 0x402e8a
push 0
lea eax, [ebp - 0x2bc]
push eax
push 0x100
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ecx]
push edx
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
lea eax, [ebp - 0x2bc]
push eax
lea ecx, [ebp - 0xb8]
push ecx
call fcn.00407ec0
add esp, 8
lea eax, [ebp - 0x2bc]
push eax
lea ecx, [ebp - 0x94]
call fcn.00407760
push ecx
mov ecx, esp
mov dword [ebp - 0x390], esp
lea eax, [ebp - 0x94]
push eax
call fcn.00407110
mov dword [ebp - 0x398], eax
mov ecx, dword [ebp - 0x398]
mov dword [ebp - 0x39c], ecx
mov byte [ebp - 4], 0xa
lea edx, [ebp - 0x38c]
push edx
mov byte [ebp - 4], 9
call fcn.00405b10
mov dword [ebp - 0x3a0], eax
mov eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x3a4], eax
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x3a4]
call fcn.00402540
push eax
lea ecx, [ebp - 0x8c]
call fcn.00407760
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x38c]
call fcn.004024e0
mov eax, dword [ebp - 0x94]
push eax
push str.exePath:___s
lea ecx, [ebp - 0xb8]
push ecx
call fcn.00407ec0
add esp, 0xc
mov dword [ebp - 0x2d0], 0
mov dword [ebp - 0x2d4], 0
push ecx
mov ecx, esp
mov dword [ebp - 0x388], esp
lea eax, [ebp - 0x94]
push eax
call fcn.00407110
mov dword [ebp - 0x398], eax
mov ecx, dword [ebp - 0x398]
mov dword [ebp - 0x39c], ecx
mov byte [ebp - 4], 0xc
mov byte [ebp - 4], 9
call fcn.004040c0
push ecx
mov ecx, esp
mov dword [ebp - 0x384], esp
lea eax, [ebp - 0x94]
push eax
call fcn.00407110
mov dword [ebp - 0x398], eax
mov ecx, dword [ebp - 0x398]
mov dword [ebp - 0x39c], ecx
mov byte [ebp - 4], 0xd
mov byte [ebp - 4], 9
call fcn.00403f90
mov byte [ebp - 0x39d], al
movzx edx, byte [ebp - 0x39d]
test edx, edx
jne 0x40292e
mov eax, dword [ebp - 0x94]
push eax
push str.Not_able_to_get_the_file_length:__newFilePath:__d
lea ecx, [ebp - 0xb8]
push ecx
call fcn.00407ec0
add esp, 0xc
jmp 0x402d7a
push 0
push 0
push 0
push 0
push 0
push fcn.004011b0
call fcn.0041409e
mov dword [ebp - 0x14], eax
push ecx
mov ecx, esp
mov dword [ebp - 0x380], esp
lea eax, [ebp - 0x94]
push eax
call fcn.00407110
mov dword [ebp - 0x398], eax
mov ecx, dword [ebp - 0x398]
mov dword [ebp - 0x39c], ecx
mov byte [ebp - 4], 0xe
lea edx, [ebp - 0x2d0]
push edx
mov byte [ebp - 4], 9
call fcn.004031f0
mov byte [ebp - 0x39d], al
movzx eax, byte [ebp - 0x39d]
test eax, eax
jne 0x4029aa
push str.Not_able_to_find_Data_Signature
lea eax, [ebp - 0xb8]
push eax
call fcn.00407ec0
add esp, 8
jmp 0x402d7a
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0x2d4]
push ecx
lea edx, [ebp - 0x2d0]
push edx
call fcn.004033e0
cmp dword [ebp - 0x2d4], 0
jbe 0x402a73
mov eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x37c], eax
xor ecx, ecx
mov eax, dword [ebp - 0x37c]
mov edx, 8
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.00407fdd
add esp, 4
mov dword [ebp - 0x378], eax
cmp dword [ebp - 0x378], 0
je 0x402a58
mov ecx, dword [ebp - 0x378]
mov edx, dword [ebp - 0x37c]
mov dword [ecx], edx
push fcn.00402f90
push 0x402f30
mov eax, dword [ebp - 0x37c]
push eax
push 8
mov ecx, dword [ebp - 0x378]
add ecx, 4
push ecx
call fcn.0043b808
mov edx, dword [ebp - 0x378]
add edx, 4
mov dword [ebp - 0x398], edx
jmp 0x402a62
mov dword [ebp - 0x398], 0
mov eax, dword [ebp - 0x398]
mov dword [ebp - 0x90], eax
jmp 0x402b32
push 0
push 0
push str.No_files_to_be_extract
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov dword [ebp - 0x374], 5
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xb0]
call fcn.004024e0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xac]
call fcn.004024e0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xa8]
call fcn.004024e0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xa4]
call fcn.004024e0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xa0]
call fcn.004024e0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x9c]
call fcn.004024e0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x98]
call fcn.004024e0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x94]
call fcn.004024e0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x8c]
call fcn.004024e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x88]
call fcn.004010d0
mov eax, dword [ebp - 0x374]
jmp 0x402e8a
cmp dword [ebp - 0x2c0], 2
jne 0x402b64
push 0x46fd14
lea eax, [ebp - 0xb8]
push eax
call fcn.00407ec0
add esp, 8
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 4]
push ecx
lea ecx, [ebp - 0x98]
call fcn.00407760
lea ecx, [ebp - 0x8c]
call fcn.00402540
push eax
lea ecx, [ebp - 0xb0]
call fcn.00407760
push 0x46fd10
lea ecx, [ebp - 0xb0]
call fcn.00407280
push eax
lea ecx, [ebp - 0xb0]
call fcn.00405fd0
push ecx
mov ecx, esp
mov dword [ebp - 0x370], esp
lea eax, [ebp - 0x98]
push eax
call fcn.00407110
mov dword [ebp - 0x398], eax
mov ecx, dword [ebp - 0x398]
mov dword [ebp - 0x39c], ecx
mov byte [ebp - 4], 0xf
lea edx, [ebp - 0x36c]
push edx
mov byte [ebp - 4], 9
call fcn.004056d0
mov dword [ebp - 0x3a0], eax
mov eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x3a4], eax
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x3a4]
call fcn.00402540
push eax
lea ecx, [ebp - 0xb0]
call fcn.00407280
push eax
lea ecx, [ebp - 0xb0]
call fcn.00405fd0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x36c]
call fcn.004024e0
lea eax, [ebp - 0x304]
push eax
lea ecx, [ebp - 0xb0]
call fcn.00402540
push eax
call fcn.0043b42d
add esp, 8
mov dword [ebp - 0x308], eax
cmp dword [ebp - 0x308], 0
je 0x402cd6
mov eax, dword [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x2d4]
push ecx
lea edx, [ebp - 0x2d0]
push edx
call fcn.004034a0
mov eax, dword [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x2d4]
push ecx
mov edx, dword [ebp - 0x2d0]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x368], esp
lea eax, [ebp - 0x8c]
push eax
call fcn.00407110
mov dword [ebp - 0x398], eax
mov ecx, dword [ebp - 0x398]
mov dword [ebp - 0x39c], ecx
mov byte [ebp - 4], 0x11
push ecx
mov ecx, esp
mov dword [ebp - 0x364], esp
lea edx, [ebp - 0x94]
push edx
call fcn.00407110
mov dword [ebp - 0x3a0], eax
mov eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x3a4], eax
mov byte [ebp - 4], 0x12
mov byte [ebp - 4], 9
call fcn.00403580
push ecx
mov ecx, esp
mov dword [ebp - 0x360], esp
lea eax, [ebp - 0xb0]
push eax
call fcn.00407110
mov dword [ebp - 0x398], eax
mov ecx, dword [ebp - 0x398]
mov dword [ebp - 0x39c], ecx
mov byte [ebp - 4], 0x13
mov byte [ebp - 4], 9
call fcn.004058d0
mov eax, dword [0x48c9e8]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x35c], esp
lea edx, [ebp - 0x8c]
push edx
call fcn.00407110
mov dword [ebp - 0x398], eax
mov eax, dword [ebp - 0x398]
mov dword [ebp - 0x39c], eax
mov byte [ebp - 4], 0x14
push ecx
mov ecx, esp
mov dword [ebp - 0x358], esp
lea edx, [ebp - 0xb0]
push edx
call fcn.00407110
mov dword [ebp - 0x3a0], eax
mov eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x3a4], eax
mov byte [ebp - 4], 0x15
mov byte [ebp - 4], 9
call fcn.004013f0
lea ecx, [ebp - 0x88]
call fcn.00401190
cmp dword [ebp - 0x90], 0
je 0x402dcd
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x350], eax
mov ecx, dword [ebp - 0x350]
mov dword [ebp - 0x354], ecx
cmp dword [ebp - 0x354], 0
je 0x402db9
push 3
mov ecx, dword [ebp - 0x354]
call fcn.00402eb0
mov dword [ebp - 0x398], eax
jmp 0x402dc3
mov dword [ebp - 0x398], 0
mov dword [ebp - 0x90], 0
push str.Main_Function_Exited
lea eax, [ebp - 0xb8]
push eax
call fcn.00407ec0
add esp, 8
mov dword [ebp - 0x34c], 0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xb0]
call fcn.004024e0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xac]
call fcn.004024e0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xa8]
call fcn.004024e0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xa4]
call fcn.004024e0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xa0]
call fcn.004024e0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x9c]
call fcn.004024e0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x98]
call fcn.004024e0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x94]
call fcn.004024e0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x8c]
call fcn.004024e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x88]
call fcn.004010d0
mov eax, dword [ebp - 0x34c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0043acad
mov esp, ebp
pop ebp
ret 0x10