Function at 0x402150
Capabilities:
Check if file exists
Create process on windows
Delete file
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4243e3
mov eax, dword fs:[0]
push eax
sub esp, 0x1ec
mov eax, dword [0x43606c]
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
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0xf
mov byte [ebp - 0x64], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0xf
mov byte [ebp - 0x124], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0xf
mov byte [ebp - 0x7c], 0
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xf8], 0xf
mov byte [ebp - 0x10c], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
lea eax, [ebp - 0x10c]
mov byte [ebp - 4], 4
push eax
lea edx, [ebp - 0x7c]
lea ecx, [ebp - 0x124]
call fcn.00406d60
add esp, 4
test eax, eax
jne 0x40223a
push eax
push str.SGP_Cloud_1.0
push 0x432530
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
mov edi, dword [ebp - 0x7c]
mov ebx, 1
jmp 0x402a63
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x28]
mov ebx, dword [ebp - 0x6c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
lea eax, [ebx + 0xe]
mov dword [ebp - 0x198], 1
push eax
call fcn.004061e0
cmp dword [ebp - 0x68], 0x10
lea ecx, [ebp - 0x7c]
mov esi, dword [ebp - 0x14]
mov eax, esi
mov edi, dword [ebp - 0x7c]
cmovae ecx, edi
mov edx, dword [ebp - 0x18]
sub eax, edx
push ebx
push ecx
cmp ebx, eax
ja 0x4022a8
lea eax, [edx + ebx]
cmp esi, 0x10
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
lea esi, [eax + edx]
push esi
call fcn.0040c6f0
add esp, 0xc
mov byte [ebx + esi], 0
jmp 0x4022c1
mov byte [ebp - 0x17c], 0
lea ecx, [ebp - 0x28]
push dword [ebp - 0x17c]
push ebx
call fcn.00405ea0
mov edi, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x14]
mov eax, edx
mov ecx, dword [ebp - 0x18]
sub eax, ecx
push 0xe
push str._binjavaw.exe
cmp eax, 0xe
jb 0x4022f8
cmp edx, 0x10
lea esi, [ebp - 0x28]
lea eax, [ecx + 0xe]
cmovae esi, dword [ebp - 0x28]
add esi, ecx
mov dword [ebp - 0x18], eax
push esi
call fcn.0040c6f0
add esp, 0xc
mov byte [esi + 0xe], 0
jmp 0x40230f
mov byte [ebp - 0x17c], 0
lea ecx, [ebp - 0x28]
push dword [ebp - 0x17c]
push 0xe
call fcn.00405ea0
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x4c]
call fcn.00402f60
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x402353
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x402349
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402b9e
push edx
push ecx
call fcn.0040a8d7
add esp, 8
cmp dword [ebp - 0x38], 0x10
lea ecx, [ebp - 0x4c]
mov eax, dword [ebp - 0x3c]
cmovae ecx, dword [ebp - 0x4c]
add eax, ecx
cmp dword [ebp - 0x38], 0x10
lea ecx, [ebp - 0x4c]
cmovae ecx, dword [ebp - 0x4c]
push ecx
push eax
push ecx
lea ecx, [ebp - 0xc4]
call fcn.00405440
mov byte [ebp - 4], 6
lea eax, [ebp - 0xc4]
cmp dword [ebp - 0xb0], 8
cmovae eax, dword [ebp - 0xc4]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
push 0
test eax, eax
jne 0x4023b0
push str.SGP_Cloud_1.0
push str.Arquivo_javaw.exe_n
jmp 0x4029f9
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push pe_nt_image_headers32
mov esi, eax
push 0xff
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov ebx, eax
test ebx, ebx
je 0x4029ed
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x17c], eax
test eax, eax
je 0x4029ed
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push dword [ebp - 0x17c]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_LockResource]
lea ecx, [ebp - 0x64]
mov edx, esi
push ecx
mov ecx, eax
call fcn.004076a0
add esp, 4
test eax, eax
jne 0x402423
push eax
push str.SGP_Cloud_1.0
push str.Erro_ao_criar_o_arquivo_temporario_
jmp 0x4029f9
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 0xf
mov byte [ebp - 0xf4], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 8
call fcn.00407470
mov esi, dword [ebp - 0x28]
test eax, eax
je 0x402994
push dword [ebp - 0x34]
cmp dword [ebp - 0x14], 0x10
lea ecx, [ebp - 0x28]
mov ebx, dword [ebp - 0x18]
mov edx, ebx
cmovae ecx, esi
push 2
sub esp, 8
call fcn.004085b0
add esp, 0x10
cmp eax, 0xffffffff
je 0x402994
lea edx, [eax + 1]
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x180], 0xf
mov byte [ebp - 0x194], 0
cmp ebx, edx
jb 0x402ba3
sub ebx, edx
lea eax, [ebp - 0x28]
or ecx, 0xffffffff
cmp ebx, 0xffffffff
cmovb ecx, ebx
cmp dword [ebp - 0x14], 0x10
push ecx
cmovae eax, esi
lea ecx, [ebp - 0x194]
add eax, edx
push eax
call fcn.00404030
lea eax, [ebp - 0x194]
push eax
lea ecx, [ebp - 0xf4]
call fcn.00402f60
mov edx, dword [ebp - 0x180]
cmp edx, 0x10
jb 0x402525
mov ecx, dword [ebp - 0x194]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40251b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402ba8
push edx
push ecx
call fcn.0040a8d7
add esp, 8
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x40255d
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x402553
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402bad
push edx
push ecx
call fcn.0040a8d7
add esp, 8
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc8], 0xf
mov byte [ebp - 0xdc], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xa
call fcn.00407470
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
test eax, eax
je 0x402933
push dword [ebp - 0x34]
mov edx, dword [ebp - 0x18]
lea ecx, [ebp - 0x28]
cmp ebx, 0x10
push 2
cmovae ecx, esi
sub esp, 8
call fcn.004085b0
mov ecx, eax
add esp, 0x10
cmp ecx, 0xffffffff
je 0x402933
cmp dword [ebp - 0x18], ecx
lea eax, [ebp - 0x28]
mov dword [ebp - 0x184], 0
cmovb ecx, dword [ebp - 0x18]
cmp ebx, 0x10
push ecx
cmovae eax, esi
mov dword [ebp - 0x180], 0xf
push eax
lea ecx, [ebp - 0x194]
mov byte [ebp - 0x194], 0
call fcn.00404030
lea eax, [ebp - 0x194]
push eax
lea ecx, [ebp - 0xdc]
call fcn.00402f60
lea ecx, [ebp - 0x194]
call fcn.00402f10
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 9
call fcn.00402f10
lea eax, [ebp - 0x4c]
mov edx, 0x432724
push eax
lea ecx, [ebp - 0x194]
call fcn.00405510
push 0x432724
mov edx, eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xac]
call fcn.004053a0
add esp, 8
lea ecx, [ebp - 0x194]
mov byte [ebp - 4], 0xd
call fcn.00402f10
lea eax, [ebp - 0x64]
mov edx, str._jar__
push eax
lea ecx, [ebp - 0x1f8]
call fcn.00405510
push 0x432728
mov edx, eax
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1e0]
call fcn.004053a0
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0xf
push ecx
mov edx, eax
lea ecx, [ebp - 0x1c8]
call fcn.00405660
push 0x432728
mov edx, eax
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x1b0]
call fcn.004053a0
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x11
push ecx
mov edx, eax
lea ecx, [ebp - 0x28]
call fcn.00405660
push 0x432724
mov edx, eax
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x94]
call fcn.004053a0
add esp, 0x18
lea ecx, [ebp - 0x28]
call fcn.00402f10
lea ecx, [ebp - 0x1b0]
call fcn.00402f10
lea ecx, [ebp - 0x1c8]
call fcn.00402f10
lea ecx, [ebp - 0x1e0]
call fcn.00402f10
lea ecx, [ebp - 0x1f8]
mov byte [ebp - 4], 0x18
call fcn.00402f10
mov edx, str.cmd
call fcn.00405700
cmp dword [ebp - 0x98], 0x10
lea edx, [ebp - 0xac]
push dword [ebp - 0x9c]
cmovae edx, dword [ebp - 0xac]
mov ecx, eax
call fcn.004066b0
push eax
call fcn.004059b0
mov edx, str.args
call fcn.00405700
cmp dword [ebp - 0x80], 0x10
lea edx, [ebp - 0x94]
push dword [ebp - 0x84]
cmovae edx, dword [ebp - 0x94]
mov ecx, eax
call fcn.004066b0
push eax
call fcn.004059b0
add esp, 0x10
mov dword [ebp - 0x30], 0
cmp dword [ebp - 0x98], 0x10
lea eax, [ebp - 0xac]
lea ecx, [ebp - 0x30]
cmovae eax, dword [ebp - 0xac]
push eax
call fcn.00402da0
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0x94]
cmp dword [ebp - 0x80], 0x10
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0
cmovae eax, dword [ebp - 0x94]
push eax
call fcn.00402da0
mov byte [ebp - 4], 0x1a
xorps xmm0, xmm0
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x164], eax
lea eax, [ebp - 0x178]
push eax
movlpd qword [ebp - 0x154], xmm0
movlpd qword [ebp - 0x14c], xmm0
movlpd qword [ebp - 0x144], xmm0
mov dword [ebp - 0x178], 0x3c
mov dword [ebp - 0x174], 0x40
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], 5
mov dword [ebp - 0x158], 0
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
push 0xffffffffffffffff
push dword [ebp - 0x140]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea eax, [ebp - 0x34]
push eax
push dword [ebp - 0x140]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
cmp dword [ebp - 0x50], 0x10
lea ecx, [ebp - 0x64]
mov ebx, dword [ebp - 0x34]
cmovae ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x54]
add eax, ecx
cmp dword [ebp - 0x50], 0x10
lea ecx, [ebp - 0x64]
cmovae ecx, dword [ebp - 0x64]
push ecx
push eax
push ecx
lea ecx, [ebp - 0x13c]
call fcn.00405440
cmp dword [ebp - 0x128], 8
lea eax, [ebp - 0x13c]
cmovae eax, dword [ebp - 0x13c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x13c]
call fcn.00402eb0
mov byte [ebp - 4], 0x19
or esi, 0xffffffff
mov edx, dword [ebp - 0x2c]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4028e6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x402902
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x94]
call fcn.00402f10
lea ecx, [ebp - 0xac]
call fcn.00402f10
lea ecx, [ebp - 0xdc]
call fcn.00402f10
lea ecx, [ebp - 0xf4]
call fcn.00402f10
jmp 0x402a06
cmp ebx, 0x10
jb 0x402963
lea ecx, [ebx + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x402959
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402bb2
push ecx
push esi
call fcn.0040a8d7
add esp, 8
push 0
push str.SGP_Cloud_1.0
push str.Erro_ao_ler_o_caminho_absoluto_do_execut
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0xdc]
mov ebx, 1
call fcn.00402f10
lea ecx, [ebp - 0xf4]
call fcn.00402f10
jmp 0x402a06
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x4029c7
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x4029bd
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402bb7
push ecx
push esi
call fcn.0040a8d7
add esp, 8
push 0
push str.SGP_Cloud_1.0
push str.Erro_ao_ler_o_nome_do_execut
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0xf4]
mov ebx, 1
call fcn.00402f10
jmp 0x402a06
push 0
push str.SGP_Cloud_1.0
push str.Erro_ao_carregar_o_recurso_
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ebx, 1
mov edx, dword [ebp - 0xb0]
cmp edx, 8
jb 0x402a46
mov ecx, dword [ebp - 0xc4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x402a3c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402bbc
push edx
push ecx
call fcn.0040a8d7
add esp, 8
xor eax, eax
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 7
mov word [ebp - 0xc4], ax
mov edx, dword [ebp - 0x38]
cmp edx, 0x10
jb 0x402a97
mov ecx, dword [ebp - 0x4c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x402a8d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402bc1
push edx
push ecx
call fcn.0040a8d7
add esp, 8
mov edx, dword [ebp - 0xf8]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
cmp edx, 0x10
jb 0x402ae3
mov ecx, dword [ebp - 0x10c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x402ad9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402bc6
push edx
push ecx
call fcn.0040a8d7
add esp, 8
mov eax, dword [ebp - 0x68]
cmp eax, 0x10
jb 0x402b16
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x402b0c
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402bcb
push ecx
push edi
call fcn.0040a8d7
add esp, 8
mov edx, dword [ebp - 0x110]
cmp edx, 0x10
jb 0x402b50
mov ecx, dword [ebp - 0x124]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x402b46
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402bd0
push edx
push ecx
call fcn.0040a8d7
add esp, 8
mov edx, dword [ebp - 0x50]
cmp edx, 0x10
jb 0x402b80
mov ecx, dword [ebp - 0x64]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x402b76
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402bd5
push edx
push ecx
call fcn.0040a8d7
add esp, 8
mov eax, ebx
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.0040a8c6
mov esp, ebp
pop ebp
ret
call fcn.0040f746
call fcn.00405180
call fcn.0040f746
call fcn.0040f746
call fcn.0040f746
call fcn.0040f746
call fcn.0040f746
call fcn.0040f746
call fcn.0040f746
call fcn.0040f746
call fcn.0040f746
call fcn.0040f746
int3