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

Disassembly:
push ebx
push esi
push edi
add esp, 0xffffffec
mov byte [esp], dl
mov esi, eax
mov eax, dword [esi]
call dword [eax + 0x248]
mov dl, 1
call fcn.004087f8
mov edi, eax
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x7c]
mov byte [edi + 4], al
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x1f8]
mov byte [edi + 5], al
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x200]
mov byte [edi + 6], al
mov eax, dword [esi + 0x2dc]
call fcn.005f2aac
mov dword [edi + 8], eax
mov eax, dword [esi + 0x2dc]
call fcn.005f2abc
mov byte [edi + 0xc], al
cmp byte [edi + 6], 0
je 0x5f44f1
mov eax, dword [esi + 0x2dc]
call fcn.005f2b24
test al, al
je 0x5f44f1
movzx eax, byte [edi + 0xc]
sub al, 1
jb 0x5f44e1
je 0x5f44e7
sub al, 2
je 0x5f44ed
jmp 0x5f44f1
mov byte [edi + 0xc], 3
jmp 0x5f44f1
mov byte [edi + 0xc], 2
jmp 0x5f44f1
mov byte [edi + 0xc], 4
mov eax, dword [esi + 0x2dc]
call fcn.005f2ad4
mov ebx, eax
mov byte [edi + 0xd], bl
test bl, bl
jne case.default.0x5f450e
movzx eax, byte [edi + 0xc]
cmp eax, 4
ja case.default.0x5f450e
jmp dword [eax*4 + 0x5f4515]
mov byte [edi + 0xd], 3
jmp case.default.0x5f450e
mov byte [edi + 0xd], 4
jmp case.default.0x5f450e
mov byte [edi + 0xd], 1
jmp case.default.0x5f450e
mov byte [edi + 0xd], 2
mov eax, dword [esi + 0x2dc]
call fcn.005f2aec
cmp al, 2
je 0x5f4567
mov eax, dword [esi + 0x2dc]
call fcn.005f2aec
cmp al, 1
jne 0x5f4563
cmp byte [edi + 6], 0
je 0x5f4567
xor eax, eax
jmp 0x5f4569
mov al, 1
mov byte [edi + 0xe], al
mov eax, dword [esi + 0x2dc]
call fcn.005f2b04
mov byte [edi + 0x10], al
mov eax, dword [esi + 0x2dc]
call fcn.005f2b38
mov byte [edi + 0x11], al
cmp byte [edi + 5], 0
jne 0x5f4597
cmp byte [esi + 0x2e4], 0
jne 0x5f459b
xor eax, eax
jmp 0x5f459d
mov al, 1
mov byte [edi + 0x13], al
mov eax, dword [esi + 0x5c]
push eax
lea eax, [esp + 8]
push eax
mov ecx, dword [esi + 0x58]
xor edx, edx
xor eax, eax
call fcn.0049b650
push esi
push edi
lea esi, [esp + 0xc]
add edi, 0x24
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
push esi
push edi
add esi, 0x2c0
add edi, 0x14
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov byte [edi + 0x35], 0
mov eax, dword [esi + 0x74]
call fcn.005133bc
mov dword [edi + 0x40], eax
cmp byte [edi + 4], 0
je 0x5f4613
mov eax, dword [esi + 0x1e8]
call fcn.00513f50
mov dword [edi + 0x38], eax
mov eax, dword [esi + 0x7c]
call fcn.00512cf8
mov dword [edi + 0x3c], eax
mov eax, dword [esi + 0x74]
mov eax, dword [eax + 0x18]
call fcn.00512cf8
mov dword [edi + 0x44], eax
jmp 0x5f4631
push 0xf
call sub.user32.dll_GetSysColorBrush
mov dword [edi + 0x38], eax
push 0xf
call sub.user32.dll_GetSysColor
mov dword [edi + 0x3c], eax
push 0x10
call sub.user32.dll_GetSysColor
mov dword [edi + 0x44], eax
test byte [esi + 0x313], 1
jne 0x5f4653
cmp dword [esi + 0x2b4], 0
je 0x5f4653
mov eax, dword [esi + 0x2b4]
mov edx, dword [eax]
call dword [edx + 0x10]
mov byte [edi + 0x34], al
jmp 0x5f465d
movzx eax, byte [esi + 0x2b1]
mov byte [edi + 0x34], al
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x1f0]
mov byte [edi + 0x48], al
xor eax, eax
mov dword [edi + 0x60], eax
lea edx, [edi + 0x50]
movzx ecx, byte [esp]
mov eax, esi
mov ebx, dword [eax]
call dword [ebx + 0x158]
movzx eax, word [esi + 0x88]
mov word [edi + 0x78], ax
mov eax, edi
add esp, 0x14
pop edi
pop esi
pop ebx
ret