Function at 0x47c950
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push 0xffffffffffffffff
push 0x526c8b
mov eax, dword fs:[0]
push eax
sub esp, 0x1e4
mov eax, dword [0x568fd0]
xor eax, esp
mov dword [esp + 0x1e0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x568fd0]
xor eax, esp
push eax
lea eax, [esp + 0x1f8]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x208]
xor eax, eax
mov dword [esp + 0x30], ebp
mov esi, ecx
mov dword [ebp + 4], eax
mov dword [esp + 0x200], eax
fld1
fstp dword [ebp + 0x10]
mov dword [ebp], method.Font.virtual_0
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], eax
mov dword [ebp + 0x54], eax
fld dword [esi + 4]
movzx ecx, byte [esi + 0xc]
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 8]
push eax
mov eax, dword [esi + 0x18]
push ecx
push edx
push ecx
mov ecx, dword [esi]
lea edi, [ebp + 0x14]
fstp dword [esp]
push eax
push ecx
mov ebx, edi
call fcn.0047c840
mov edx, dword [esi + 0x14]
add esp, 0x18
mov dword [ebp + 0x50], edx
call fcn.0047c8d0
xor ebx, ebx
mov dword [ebp + 0x54], eax
mov dword [ebp + 4], ebx
cmp dword [ebp + 0x50], ebx
jne 0x47ca40
push edi
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
push 0x20
mov edi, eax
call fcn.00501e17
add esp, 4
cmp eax, ebx
je 0x47cbcf
mov ecx, dword [esi + 0x18]
fld dword [0x556098]
mov esi, dword [esi + 0x10]
fstp dword [eax + 0x14]
fld1
mov dword [eax], ebx
fstp dword [eax + 0x18]
mov dword [eax + 4], edi
fldz
mov dword [eax + 8], ebx
fstp dword [eax + 0x1c]
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], ecx
jmp 0x47cbd1
mov ecx, dword [esi]
mov eax, ecx
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x47ca47
sub eax, edi
push 0xc8
lea ebx, [eax + 1]
push ecx
lea edi, [esp + 0x6c]
call fcn.004795b0
fld dword [esi + 4]
movzx eax, byte [esi + 0xc]
fstp dword [esp + 0x1c]
mov ecx, dword [0x56e894]
fld dword [esp + 0x1c]
mov edx, dword [ecx]
add esp, 8
lea edi, [esp + 0x1c]
push edi
push str.en_us
push ecx
neg eax
sbb eax, eax
fstp dword [esp]
push 5
and eax, 2
push eax
mov eax, dword [esi + 8]
push eax
xor edi, edi
push edi
lea eax, [esp + 0x80]
push eax
push ecx
mov ecx, dword [edx + 0x3c]
call ecx
test eax, eax
jl 0x47cbd4
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
push 1
push eax
mov eax, dword [edx + 0x14]
call eax
fld1
mov eax, dword [0x56e894]
fst dword [esp + 0x20]
fstp dword [esp + 0x24]
lea edx, [esp + 0x18]
fldz
push edx
mov edx, dword [esp + 0x20]
fstp dword [esp + 0x18]
fld dword [0x556108]
sub esp, 8
fst dword [esp + 4]
mov dword [esp + 0x34], edi
fstp dword [esp]
mov dword [esp + 0x24], edi
mov ecx, dword [eax]
push edx
push 1
push 0x5547dc
push eax
mov eax, dword [ecx + 0x48]
call eax
test eax, eax
jl 0x47cb8e
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
lea edx, [esp + 0x28]
push edx
push 2
lea edx, [esp + 0x3c]
push edx
push eax
mov eax, dword [ecx + 0xec]
call eax
test eax, eax
jl 0x47cb62
fld dword [esp + 0x44]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
fst dword [esp + 0x20]
fsubr dword [esp + 0x40]
push edi
lea edx, [esp + 0x30]
push edx
push edi
fstp dword [esp + 0x30]
push eax
mov eax, dword [ecx + 0xc8]
call eax
test eax, eax
jl 0x47cb62
fld dword [esp + 0x40]
fsub dword [esp + 0x2c]
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
fld dword [esp + 0x44]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x28]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x48]
fstp dword [esp]
push 1
push eax
call edx
push 0x20
call fcn.00501e17
add esp, 4
cmp eax, edi
je 0x47cbcf
mov edx, dword [esi + 0x10]
fld dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov esi, dword [esi + 0x18]
fstp dword [eax + 0x14]
fld dword [esp + 0x24]
mov dword [eax], 1
fstp dword [eax + 0x18]
mov dword [eax + 4], edi
fld dword [esp + 0x14]
mov dword [eax + 8], ecx
fstp dword [eax + 0x1c]
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], esi
jmp 0x47cbd1
xor eax, eax
mov dword [ebp + 4], eax
mov dword [ebp + 0xc], 1
mov eax, ebp
mov ecx, dword [esp + 0x1f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1e0]
xor ecx, esp
call fcn.00501b9a
add esp, 0x1f0
ret 4