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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x94
mov eax, dword [0x5176f0]
xor eax, esp
mov dword [esp + 0x90], eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [esi + 4]
sub eax, 0
push ebx
je 0x437ac3
dec eax
jne 0x437be9
mov eax, dword [edi + 4]
mov dword [esp + 0x74], eax
mov eax, dword [edi + 8]
mov dword [esp + 4], eax
mov dword [esp + 0x78], eax
lea eax, [esp + 0x3c]
mov ecx, esi
call fcn.00436fb0
movzx ecx, byte [eax + 5]
shl cx, 8
mov word [esp + 0x7c], cx
mov ebx, vtable.ui::Color.0
lea eax, [esp + 0x4c]
mov ecx, esi
mov dword [esp + 0x3c], ebx
call fcn.00436fb0
movzx edx, byte [eax + 6]
shl dx, 8
lea eax, [esp + 0x2c]
mov ecx, esi
mov word [esp + 0x7e], dx
mov dword [esp + 0x4c], ebx
call fcn.00436fb0
movzx eax, byte [eax + 7]
mov edx, dword [edi + 0xc]
add edx, dword [edi + 4]
shl ax, 8
mov word [esp + 0x80], ax
mov eax, dword [edi + 0x10]
add eax, dword [esp + 4]
xor ecx, ecx
mov word [esp + 0x82], cx
mov dword [esp + 0x88], eax
lea eax, [esp + 0x6c]
mov ecx, esi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x84], edx
call fcn.00436fe0
movzx ecx, byte [eax + 5]
shl cx, 8
mov word [esp + 0x8c], cx
lea eax, [esp + 0x14]
mov ecx, esi
mov dword [esp + 0x6c], ebx
call fcn.00436fe0
movzx edx, byte [eax + 6]
shl dx, 8
lea eax, [esp + 0x5c]
mov ecx, esi
mov word [esp + 0x8e], dx
mov dword [esp + 0x14], ebx
call fcn.00436fe0
movzx eax, byte [eax + 7]
push 1
push 1
shl ax, 8
xor ecx, ecx
lea edx, [esp + 0x14]
push edx
mov word [esp + 0x9c], ax
mov word [esp + 0x9e], cx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 4]
push 2
lea eax, [esp + 0x84]
push eax
mov dword [esp + 0x70], ebx
push edx
jmp 0x437bdb
mov eax, dword [edi + 4]
mov dword [esp + 0x74], eax
mov eax, dword [edi + 8]
mov dword [esp + 4], eax
mov dword [esp + 0x78], eax
lea eax, [esp + 0x1c]
mov ecx, esi
call fcn.00436fb0
movzx eax, byte [eax + 5]
shl ax, 8
mov word [esp + 0x7c], ax
mov ebx, vtable.ui::Color.0
lea eax, [esp + 0x24]
mov ecx, esi
mov dword [esp + 0x1c], ebx
call fcn.00436fb0
movzx ecx, byte [eax + 6]
shl cx, 8
mov word [esp + 0x7e], cx
lea eax, [esp + 0x34]
mov ecx, esi
mov dword [esp + 0x24], ebx
call fcn.00436fb0
movzx edx, byte [eax + 7]
mov ecx, dword [edi + 0xc]
add ecx, dword [edi + 4]
shl dx, 8
mov word [esp + 0x80], dx
mov edx, dword [edi + 0x10]
add edx, dword [esp + 4]
xor eax, eax
mov word [esp + 0x82], ax
mov dword [esp + 0x84], ecx
lea eax, [esp + 0x44]
mov ecx, esi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x88], edx
call fcn.00436fe0
movzx eax, byte [eax + 5]
shl ax, 8
mov word [esp + 0x8c], ax
lea eax, [esp + 0x54]
mov ecx, esi
mov dword [esp + 0x44], ebx
call fcn.00436fe0
movzx ecx, byte [eax + 6]
shl cx, 8
mov word [esp + 0x8e], cx
lea eax, [esp + 0x64]
mov ecx, esi
mov dword [esp + 0x54], ebx
call fcn.00436fe0
movzx edx, byte [eax + 7]
shl dx, 8
xor eax, eax
push eax
push 1
lea ecx, [esp + 0x14]
push ecx
mov word [esp + 0x9c], dx
mov word [esp + 0x9e], ax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
push 2
lea edx, [esp + 0x84]
push edx
mov dword [esp + 0x78], ebx
push ecx
mov dword [esp + 0x28], 1
call dword [sym.imp.MSIMG32.dll_GradientFill]
mov ecx, dword [esp + 0x94]
pop ebx
xor ecx, esp
call fcn.004ae123
mov esp, ebp
pop ebp
ret 4