Function at 0x561af0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov esi, dword [esp + 0x70]
mov eax, dword [esi + 0x4c]
mov edx, dword [eax + 8]
test edx, edx
je 0x561cdc
mov eax, dword [edx]
test eax, eax
je 0x561cdc
mov dword [esp + 0x34], edx
mov dword [esp + 4], 0x3d
mov dword [esp], eax
call sub.msvcrt.dll_strrchr
test eax, eax
mov dword [esp + 0x38], eax
je 0x561cc9
mov byte [eax], 0
mov edx, dword [esp + 0x34]
add eax, 1
mov dword [esp + 0x2c], eax
mov dword [esp + 4], str.PlayResX
mov eax, dword [edx]
mov dword [esp], eax
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x561d47
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov dword [esi + 0x24], eax
mov edx, dword [esp + 0x34]
xor ebp, ebp
mov edx, dword [edx]
mov dword [esp + 4], 0x2e
mov dword [esp], edx
mov dword [esp + 0x30], edx
call sub.msvcrt.dll_strrchr
test eax, eax
mov dword [esp + 0x3c], eax
je 0x561ba2
mov byte [eax], 0
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x34]
add edx, 1
mov ebp, dword [eax]
mov dword [esp + 0x30], edx
mov ecx, dword [esi]
test ecx, ecx
jle 0x561cb3
xor ebx, ebx
xor edi, edi
jmp 0x561c11
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 4]
test eax, eax
je 0x561bc5
mov dword [esp], eax
call fcn.008f2ba8
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sub.msvcrt.dll__strdup
mov edx, dword [esp + 0x28]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], 0x9fbc2b
mov dword [esp + 0x10], eax
mov dword [esp + 8], str._s___s
mov dword [esp + 4], 7
mov eax, dword [esi + 0x4c]
mov dword [esp], eax
call fcn.00573d10
add edi, 1
add ebx, 0x78
cmp dword [esi], edi
jle 0x561cb3
test ebp, ebp
je 0x561c2b
mov dword [esp + 4], ebp
mov eax, dword [esi + 0x10]
mov eax, dword [eax + ebx]
mov dword [esp], eax
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x561c03
mov eax, dword [esi + 0x10]
mov edx, dword [esp + 0x30]
mov dword [esp + 4], 0x9fbc2b
add eax, ebx
mov dword [esp + 0x28], eax
mov dword [esp], edx
call sub.msvcrt.dll__stricmp_1
test eax, eax
je 0x561bb2
mov edx, dword [esp + 0x30]
mov dword [esp + 4], str.PrimaryColour
mov dword [esp], edx
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x561ce4
mov edx, dword [esp + 0x2c]
mov eax, dword [esi + 0x4c]
mov dword [esp + 0xc], 0
mov dword [esp + 0x4c], edx
lea edx, [esp + 0x48]
mov dword [esp + 8], edx
lea edx, [esp + 0x4c]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00573d40
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x28]
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], str.PrimaryColour
mov dword [esp + 0x10], eax
jmp 0x561be8
mov edx, dword [esp + 0x38]
mov byte [edx], 0x3d
mov edx, dword [esp + 0x3c]
test edx, edx
je 0x561cc9
mov eax, dword [esp + 0x3c]
mov byte [eax], 0x2e
add dword [esp + 0x34], 4
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
test eax, eax
jne 0x561b17
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [esp + 0x30]
mov dword [esp + 4], str.SecondaryColour
mov dword [esp], edx
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x561d75
mov edx, dword [esp + 0x2c]
mov eax, dword [esi + 0x4c]
mov dword [esp + 0xc], 0
mov dword [esp + 0x4c], edx
lea edx, [esp + 0x48]
mov dword [esp + 8], edx
lea edx, [esp + 0x4c]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00573d40
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x28]
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], str.SecondaryColour
mov dword [esp + 0x10], eax
jmp 0x561be8
mov edx, dword [esp + 0x34]
mov dword [esp + 4], str.PlayResY
mov eax, dword [edx]
mov dword [esp], eax
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x561de0
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov dword [esi + 0x28], eax
jmp 0x561b6a
mov edx, dword [esp + 0x30]
mov dword [esp + 4], str.OutlineColour
mov dword [esp], edx
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x561e20
mov edx, dword [esp + 0x2c]
mov eax, dword [esi + 0x4c]
mov dword [esp + 0xc], 0
mov dword [esp + 0x4c], edx
lea edx, [esp + 0x48]
mov dword [esp + 8], edx
lea edx, [esp + 0x4c]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00573d40
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x28]
mov dword [edx + 0x18], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], str.OutlineColour
mov dword [esp + 0x10], eax
jmp 0x561be8
mov edx, dword [esp + 0x34]
mov dword [esp + 4], str.Timer
mov eax, dword [edx]
mov dword [esp], eax
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x561e87
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00573860
fstp qword [esi + 0x30]
jmp 0x561b6a
mov edx, dword [esp + 0x30]
mov dword [esp + 4], str.BackColour
mov dword [esp], edx
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x561ed6
mov edx, dword [esp + 0x2c]
mov eax, dword [esi + 0x4c]
mov dword [esp + 0xc], 0
mov dword [esp + 0x4c], edx
lea edx, [esp + 0x48]
mov dword [esp + 8], edx
lea edx, [esp + 0x4c]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00573d40
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x28]
mov dword [edx + 0x1c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], str.BackColour
mov dword [esp + 0x10], eax
jmp 0x561be8
mov edx, dword [esp + 0x34]
mov dword [esp + 4], str.WrapStyle
mov eax, dword [edx]
mov dword [esp], eax
call sub.msvcrt.dll__stricmp_1
test eax, eax
je 0x561f1e
mov edx, dword [esp + 0x34]
mov dword [esp + 4], str.ScaledBorderAndShadow
mov eax, dword [edx]
mov dword [esp], eax
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x561f8e
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00573ca0
movsx eax, al
mov dword [esi + 0x3c], eax
jmp 0x561b6a
mov edx, dword [esp + 0x30]
mov dword [esp + 4], str.FontSize
mov dword [esp], edx
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x561f32
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00573860
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
fstp qword [edx + 8]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.FontSize
jmp 0x561be8
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov dword [esi + 0x38], eax
jmp 0x561b6a
mov edx, dword [esp + 0x30]
mov dword [esp + 4], 0x9fbc74
mov dword [esp], edx
call sub.msvcrt.dll__stricmp_1
test eax, eax
je 0x561fc3
mov edx, dword [esp + 0x30]
mov dword [esp + 4], 0x9fbc79
mov dword [esp], edx
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x561feb
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov edx, dword [esp + 0x28]
mov dword [edx + 0x24], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], 0x9fbc79
mov dword [esp + 0x10], eax
jmp 0x561be8
mov edx, dword [esp + 0x34]
mov dword [esp + 4], str.Kerning
mov eax, dword [edx]
mov dword [esp], eax
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x561b6a
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00573ca0
movsx eax, al
mov dword [esi + 0x40], eax
jmp 0x561b6a
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov edx, dword [esp + 0x28]
mov dword [edx + 0x20], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], 0x9fbc74
mov dword [esp + 0x10], eax
jmp 0x561be8
mov edx, dword [esp + 0x30]
mov dword [esp + 4], str.Underline
mov dword [esp], edx
call sub.msvcrt.dll__stricmp_1
test eax, eax
je 0x562043
mov edx, dword [esp + 0x30]
mov dword [esp + 4], str.StrikeOut
mov dword [esp], edx
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x56206b
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov edx, dword [esp + 0x28]
mov dword [edx + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], str.StrikeOut
mov dword [esp + 0x10], eax
jmp 0x561be8
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov edx, dword [esp + 0x28]
mov dword [edx + 0x28], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], str.Underline
mov dword [esp + 0x10], eax
jmp 0x561be8
mov edx, dword [esp + 0x30]
mov dword [esp + 4], str.Spacing
mov dword [esp], edx
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x5620b3
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00573860
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
fstp qword [edx + 0x40]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Spacing
jmp 0x561be8
mov edx, dword [esp + 0x30]
mov dword [esp + 4], str.Angle
mov dword [esp], edx
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x5620f3
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov edx, dword [esp + 0x28]
mov dword [edx + 0x48], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], str.Angle
mov dword [esp + 0x10], eax
jmp 0x561be8
mov edx, dword [esp + 0x30]
mov dword [esp + 4], str.BorderStyle
mov dword [esp], edx
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x562133
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov edx, dword [esp + 0x28]
mov dword [edx + 0x4c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], str.BorderStyle
mov dword [esp + 0x10], eax
jmp 0x561be8
mov edx, dword [esp + 0x30]
mov dword [esp + 4], str.Alignment
mov dword [esp], edx
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x562173
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov edx, dword [esp + 0x28]
mov dword [edx + 0x60], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], str.Alignment
mov dword [esp + 0x10], eax
jmp 0x561be8
mov edx, dword [esp + 0x30]
mov dword [esp + 4], str.MarginL
mov dword [esp], edx
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x5621b3
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov edx, dword [esp + 0x28]
mov dword [edx + 0x64], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], str.MarginL
mov dword [esp + 0x10], eax
jmp 0x561be8
mov edx, dword [esp + 0x30]
mov dword [esp + 4], str.MarginR
mov dword [esp], edx
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x5621f3
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov edx, dword [esp + 0x28]
mov dword [edx + 0x68], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], str.MarginR
mov dword [esp + 0x10], eax
jmp 0x561be8
mov edx, dword [esp + 0x30]
mov dword [esp + 4], str.MarginV
mov dword [esp], edx
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x562233
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov edx, dword [esp + 0x28]
mov dword [edx + 0x6c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], str.MarginV
mov dword [esp + 0x10], eax
jmp 0x561be8
mov edx, dword [esp + 0x30]
mov dword [esp + 4], 0x9fbcb8
mov dword [esp], edx
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x562273
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov edx, dword [esp + 0x28]
mov dword [edx + 0x70], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], 0x9fbcb8
mov dword [esp + 0x10], eax
jmp 0x561be8
mov edx, dword [esp + 0x30]
mov dword [esp + 4], str.ScaleX
mov dword [esp], edx
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x5622bb
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00573860
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
fstp qword [edx + 0x30]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.ScaleX
jmp 0x561be8
mov edx, dword [esp + 0x30]
mov dword [esp + 4], str.ScaleY
mov dword [esp], edx
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x562303
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00573860
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
fstp qword [edx + 0x38]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.ScaleY
jmp 0x561be8
mov edx, dword [esp + 0x30]
mov dword [esp + 4], str.Outline
mov dword [esp], edx
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x56234b
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00573860
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
fstp qword [edx + 0x50]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Outline
jmp 0x561be8
mov edx, dword [esp + 0x30]
mov dword [esp + 4], str.Shadow
mov dword [esp], edx
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x561c03
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00573860
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
fstp qword [edx + 0x58]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Shadow
jmp 0x561be8