Function at 0x50e5b0
Capabilities:
Accept command line arguments
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x577d17
mov eax, dword fs:[0]
push eax
mov eax, 0x4d3c
call fcn.0053e720
mov eax, dword [0x5bb250]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x4cec], ecx
push 0x58e9fd
lea ecx, [ebp - 0xa3c]
call fcn.004065a0
mov dword [ebp - 4], 0
mov dword [ebp - 0x4d14], 0
lea eax, [ebp - 0x4d14]
push eax
push str._test:
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call fcn.00413b10
add esp, 0xc
cmp dword [ebp - 0x4d14], 0
jne 0x50e701
mov dword [ebp - 0x4cf4], 0
mov dword [ebp - 0x4cfc], 0
mov dword [ebp - 0x4d00], 0
mov dword [ebp - 0x4d0c], 0
push 0x57dfd8
push str.IDR_SOFTINFO
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov dword [ebp - 0x4cf4], eax
cmp dword [ebp - 0x4cf4], 0
je 0x50e6fc
mov ecx, dword [ebp - 0x4cf4]
push ecx
mov edx, dword [0x5c13bc]
push edx
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x4cfc], eax
cmp dword [ebp - 0x4cfc], 0
je 0x50e6ef
mov eax, dword [ebp - 0x4cfc]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [ebp - 0x4d00], eax
mov ecx, dword [ebp - 0x4cf4]
push ecx
mov edx, dword [0x5c13bc]
push edx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [ebp - 0x4d0c], eax
cmp dword [ebp - 0x4d00], 0
je 0x50e6ef
cmp dword [ebp - 0x4d0c], 0
jbe 0x50e6ef
mov eax, dword [ebp - 0x4d00]
push eax
lea ecx, [ebp - 0xa3c]
call fcn.0040e690
mov ecx, dword [ebp - 0x4cf4]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeResource]
jmp 0x50e7a4
xor edx, edx
mov word [ebp - 0x21c], dx
push 0x208
push 0
lea eax, [ebp - 0x21a]
push eax
call fcn.0053ca90
add esp, 0xc
push 0x104
lea ecx, [ebp - 0x21c]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea edx, [ebp - 0x21c]
push edx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push str.sfInfo.xml
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
push 0
push 0
lea ecx, [ebp - 0x21c]
push ecx
lea edx, [ebp - 0xa54]
push edx
call fcn.0041b020
add esp, 0x10
mov dword [ebp - 0x4d20], eax
mov eax, dword [ebp - 0x4d20]
mov dword [ebp - 0x4d24], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x4d24]
push ecx
lea ecx, [ebp - 0xa3c]
call fcn.00424c80
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xa54]
call fcn.004066b0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x4d38], esp
lea edx, [ebp - 0xa3c]
push edx
call fcn.00406550
mov dword [ebp - 0x4d1c], eax
mov eax, dword [ebp - 0x4d1c]
mov dword [ebp - 0x4d3c], eax
mov byte [ebp - 4], 2
mov ecx, 0x5bf8b0
call fcn.0050d430
mov byte [ebp - 4], 0
mov ecx, eax
call fcn.004f8440
lea ecx, [ebp - 0x4ce8]
push ecx
mov ecx, 0x5bf8b0
call fcn.0050d430
mov ecx, eax
call fcn.004f83f0
movzx edx, al
test edx, edx
je 0x50ea69
xor eax, eax
mov word [ebp - 0xa24], ax
push 0x806
push 0
lea ecx, [ebp - 0xa22]
push ecx
call fcn.0053ca90
add esp, 0xc
lea edx, [ebp - 0x3e68]
push edx
push str._____s
push 0x404
lea eax, [ebp - 0xa24]
push eax
call fcn.0041f270
add esp, 0x10
lea ecx, [ebp - 0xa24]
push ecx
push str.softdesc
mov ecx, dword [ebp - 0x4cec]
call fcn.005121c0
lea edx, [ebp - 0x42e8]
push edx
push str.softname_1
mov ecx, dword [ebp - 0x4cec]
call fcn.005121c0
lea eax, [ebp - 0xe68]
push eax
push str.softsize
mov ecx, dword [ebp - 0x4cec]
call fcn.005121c0
lea ecx, [ebp - 0xde8]
push ecx
push str.softlang
mov ecx, dword [ebp - 0x4cec]
call fcn.005121c0
lea edx, [ebp - 0x3ee8]
push edx
push str.softver
mov ecx, dword [ebp - 0x4cec]
call fcn.005121c0
push 0
lea eax, [ebp - 0xce8]
push eax
call fcn.0054206d
add esp, 8
fstp qword [ebp - 0x4d44]
movsd xmm0, qword [ebp - 0x4d44]
divsd xmm0, qword [0x57e550]
movsd qword [ebp - 0x4d30], xmm0
movsd xmm0, qword [0x5a5c80]
movsd qword [ebp - 0x4d08], xmm0
jmp 0x50e914
movsd xmm0, qword [ebp - 0x4d08]
addsd xmm0, qword [0x5a5cb8]
movsd qword [ebp - 0x4d08], xmm0
movsd xmm0, qword [0x57e548]
comisd xmm0, xmmword [ebp - 0x4d08]
jbe 0x50ea2f
movsd xmm0, qword [ebp - 0x4d30]
comisd xmm0, xmmword [ebp - 0x4d08]
jbe 0x50ea2f
movsd xmm0, qword [ebp - 0x4d08]
addsd xmm0, qword [0x5a5cb8]
comisd xmm0, xmmword [ebp - 0x4d30]
jbe 0x50e966
mov dword [ebp - 0x4d10], 1
jmp 0x50e970
mov dword [ebp - 0x4d10], 0
mov cl, byte [ebp - 0x4d10]
mov byte [ebp - 0x4ced], cl
lea ecx, [ebp - 0x4cf8]
call fcn.004fd710
mov byte [ebp - 4], 3
movsd xmm0, qword [ebp - 0x4d08]
addsd xmm0, qword [0x5a5cb8]
cvttsd2si edx, xmm0
push edx
push str.SoftLevel__d
lea eax, [ebp - 0x4cf8]
push eax
call fcn.004ff780
add esp, 0xc
movzx ecx, byte [ebp - 0x4ced]
test ecx, ecx
je 0x50e9cb
mov dword [ebp - 0x4d18], str.imageshalfstar.png
jmp 0x50e9d5
mov dword [ebp - 0x4d18], 0x57e0b4
push ecx
mov ecx, esp
mov dword [ebp - 0x4d48], esp
mov edx, dword [ebp - 0x4d18]
push edx
call fcn.004fd630
mov dword [ebp - 0x4d28], eax
mov eax, dword [ebp - 0x4d28]
mov dword [ebp - 0x4d34], eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4cf8]
call fcn.004fe860
push eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x4cec]
call fcn.00511d10
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4cf8]
call fcn.004fdf30
jmp 0x50e8fc
lea ecx, [ebp - 0xce8]
push ecx
push str.softlevel
mov ecx, dword [ebp - 0x4cec]
call fcn.005121c0
push 0
lea edx, [ebp - 0x2468]
push edx
lea eax, [ebp - 0x4ce8]
push eax
push 0
mov ecx, 0x5bf8ac
call fcn.00506eb0
mov ecx, eax
call fcn.00503090
mov ecx, 0x5bf8b4
call fcn.0050d450
mov ecx, eax
call fcn.00514380
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa3c]
call fcn.004066b0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0053e21c
mov esp, ebp
pop ebp
ret