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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x574567
mov eax, dword fs:[0]
push eax
mov eax, 0x4d3c
call fcn.0053af40
mov eax, dword [0x5b8250]
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 0x58bbed
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 0x50b341
mov dword [ebp - 0x4cf4], 0
mov dword [ebp - 0x4cfc], 0
mov dword [ebp - 0x4d00], 0
mov dword [ebp - 0x4d0c], 0
push 0x57b1e8
push str.IDR_SOFTINFO
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov dword [ebp - 0x4cf4], eax
cmp dword [ebp - 0x4cf4], 0
je 0x50b33c
mov ecx, dword [ebp - 0x4cf4]
push ecx
mov edx, dword [0x5be3bc]
push edx
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x4cfc], eax
cmp dword [ebp - 0x4cfc], 0
je 0x50b32f
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 [0x5be3bc]
push edx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [ebp - 0x4d0c], eax
cmp dword [ebp - 0x4d00], 0
je 0x50b32f
cmp dword [ebp - 0x4d0c], 0
jbe 0x50b32f
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 0x50b3e4
xor edx, edx
mov word [ebp - 0x21c], dx
push 0x208
push 0
lea eax, [ebp - 0x21a]
push eax
call fcn.005392b0
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.0041b140
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.00424d90
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, 0x5bc8b0
call fcn.0050a070
mov byte [ebp - 4], 0
mov ecx, eax
call fcn.004f8490
lea ecx, [ebp - 0x4ce8]
push ecx
mov ecx, 0x5bc8b0
call fcn.0050a070
mov ecx, eax
call fcn.004f8440
movzx edx, al
test edx, edx
je 0x50b6a9
xor eax, eax
mov word [ebp - 0xa24], ax
push 0x806
push 0
lea ecx, [ebp - 0xa22]
push ecx
call fcn.005392b0
add esp, 0xc
lea edx, [ebp - 0x3e68]
push edx
push str._____s
push 0x404
lea eax, [ebp - 0xa24]
push eax
call fcn.0041f380
add esp, 0x10
lea ecx, [ebp - 0xa24]
push ecx
push str.softdesc
mov ecx, dword [ebp - 0x4cec]
call fcn.0050ed10
lea edx, [ebp - 0x42e8]
push edx
push str.softname_1
mov ecx, dword [ebp - 0x4cec]
call fcn.0050ed10
lea eax, [ebp - 0xe68]
push eax
push str.softsize
mov ecx, dword [ebp - 0x4cec]
call fcn.0050ed10
lea ecx, [ebp - 0xde8]
push ecx
push str.softlang
mov ecx, dword [ebp - 0x4cec]
call fcn.0050ed10
lea edx, [ebp - 0x3ee8]
push edx
push str.softver
mov ecx, dword [ebp - 0x4cec]
call fcn.0050ed10
push 0
lea eax, [ebp - 0xce8]
push eax
call fcn.0053e8e7
add esp, 8
fstp qword [ebp - 0x4d44]
movsd xmm0, qword [ebp - 0x4d44]
divsd xmm0, qword [0x57b730]
movsd qword [ebp - 0x4d30], xmm0
movsd xmm0, qword [0x5a2eb0]
movsd qword [ebp - 0x4d08], xmm0
jmp 0x50b554
movsd xmm0, qword [ebp - 0x4d08]
addsd xmm0, qword [0x5a2ee8]
movsd qword [ebp - 0x4d08], xmm0
movsd xmm0, qword [0x57b728]
comisd xmm0, xmmword [ebp - 0x4d08]
jbe 0x50b66f
movsd xmm0, qword [ebp - 0x4d30]
comisd xmm0, xmmword [ebp - 0x4d08]
jbe 0x50b66f
movsd xmm0, qword [ebp - 0x4d08]
addsd xmm0, qword [0x5a2ee8]
comisd xmm0, xmmword [ebp - 0x4d30]
jbe 0x50b5a6
mov dword [ebp - 0x4d10], 1
jmp 0x50b5b0
mov dword [ebp - 0x4d10], 0
mov cl, byte [ebp - 0x4d10]
mov byte [ebp - 0x4ced], cl
lea ecx, [ebp - 0x4cf8]
call fcn.004fbd50
mov byte [ebp - 4], 3
movsd xmm0, qword [ebp - 0x4d08]
addsd xmm0, qword [0x5a2ee8]
cvttsd2si edx, xmm0
push edx
push str.SoftLevel__d
lea eax, [ebp - 0x4cf8]
push eax
call fcn.004fd5f0
add esp, 0xc
movzx ecx, byte [ebp - 0x4ced]
test ecx, ecx
je 0x50b60b
mov dword [ebp - 0x4d18], str.imageshalfstar.png
jmp 0x50b615
mov dword [ebp - 0x4d18], 0x57b2c4
push ecx
mov ecx, esp
mov dword [ebp - 0x4d48], esp
mov edx, dword [ebp - 0x4d18]
push edx
call fcn.004fbc70
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.004fc8b0
push eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x4cec]
call fcn.0050e860
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4cf8]
call fcn.004fc1a0
jmp 0x50b53c
lea ecx, [ebp - 0xce8]
push ecx
push str.softlevel
mov ecx, dword [ebp - 0x4cec]
call fcn.0050ed10
push 0
lea edx, [ebp - 0x2468]
push edx
lea eax, [ebp - 0x4ce8]
push eax
push 0
mov ecx, 0x5bc8ac
call fcn.00503b40
mov ecx, eax
call fcn.004ffd20
mov ecx, 0x5bc8b4
call fcn.0050a090
mov ecx, eax
call fcn.00510ed0
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.0053aa3c
mov esp, ebp
pop ebp
ret