Function at 0x5a2f20
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x629aa3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x7c
fldz
push ebx
mov ebx, dword [esp + 0x90]
push ebp
push esi
mov esi, dword [esp + 0x9c]
fst dword [esi + 0x2c]
mov byte [esi + 0x34], 1
fst dword [esi + 0x30]
mov byte [esi + 0x35], 1
fst dword [esi + 0x4c]
mov byte [esi + 0x54], 1
fst dword [esi + 0x50]
mov byte [esi + 0x55], 1
fst dword [esp + 0x18]
push edi
fld dword [ecx + 0x14]
push str.linebreak
fstp dword [esp + 0x24]
fld dword [ecx + 0x18]
mov ecx, ebx
fstp dword [esp + 0x28]
fstp dword [esp + 0x2c]
fld dword [0x649080]
fst dword [esi + 4]
fst dword [esi + 8]
fst dword [esi + 0xc]
fstp dword [esi + 0x10]
call fcn.005a7170
mov ecx, eax
call fcn.005a57a0
test eax, eax
jne 0x5a2fab
xor ecx, ecx
jmp 0x5a2fbf
mov ecx, eax
lea edi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x5a2fb0
sub ecx, edi
sar ecx, 1
push ecx
push eax
mov ecx, esi
call fcn.00419da0
push 0x688d84
mov ecx, ebx
call fcn.005a7170
mov edi, eax
push str.clip
mov ecx, edi
call fcn.005a7170
mov ebp, eax
push 1
mov ecx, ebp
call fcn.005a4bf0
test al, al
mov ecx, ebp
je 0x5a305d
call fcn.005a57a0
push eax
lea ecx, [esp + 0x14]
call fcn.0041a030
lea eax, [esp + 0x10]
push str.frame
push eax
call fcn.004a9e30
add esp, 8
test al, al
je 0x5a3034
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0x28]
mov dword [esi + 8], edx
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], ecx
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5a3117
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x5a3117
push 0
push 0x6478d4
call fcn.005a7170
mov ecx, eax
call fcn.005a4bf0
test al, al
je 0x5a308a
push 0x6478d4
mov ecx, ebp
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 4]
push 0
push 0x647b08
mov ecx, ebp
call fcn.005a7170
mov ecx, eax
call fcn.005a4bf0
test al, al
je 0x5a30b9
push 0x647b08
mov ecx, ebp
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 8]
push 0
push 0x6479a0
mov ecx, ebp
call fcn.005a7170
mov ecx, eax
call fcn.005a4bf0
test al, al
je 0x5a30e8
push 0x6479a0
mov ecx, ebp
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0xc]
push 0
push 0x647a10
mov ecx, ebp
call fcn.005a7170
mov ecx, eax
call fcn.005a4bf0
test al, al
je 0x5a3117
push 0x647a10
mov ecx, ebp
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0x10]
push 0x597b30
push 0x597c80
push 2
push 0x30
lea ecx, [esp + 0x3c]
push ecx
call fcn.005db6c0
push 0x688de4
lea ecx, [esp + 0x30]
mov dword [esp + 0x98], 0
call fcn.005a2bb0
fldz
push str.right
fstp dword [eax]
lea ecx, [esp + 0x30]
call fcn.005a2bb0
fldz
fstp dword [eax]
push str.bottom
fld dword [esp + 0x28]
lea ecx, [esp + 0x30]
fsub qword [0x632b40]
fstp dword [esp + 0x18]
call fcn.005a2bb0
fld dword [esp + 0x14]
push str.left
fstp dword [eax]
lea ecx, [esp + 0x30]
fld dword [esp + 0x24]
fsub qword [0x632b40]
fstp dword [esp + 0x1c]
call fcn.005a2bb0
fld dword [esp + 0x18]
push 0x688de4
lea ecx, [esp + 0x60]
fstp dword [eax]
call fcn.005a2bb0
fld dword [esp + 0x14]
push str.right
fstp dword [eax]
lea ecx, [esp + 0x60]
call fcn.005a2bb0
fld dword [esp + 0x18]
push str.bottom
fstp dword [eax]
lea ecx, [esp + 0x60]
call fcn.005a2bb0
fldz
push str.left
fstp dword [eax]
lea ecx, [esp + 0x60]
call fcn.005a2bb0
fldz
lea edx, [esp + 0x2c]
fstp dword [eax]
push edx
lea eax, [esi + 0x14]
push eax
push 0x6478d4
push str.margin
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a1290
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esi + 0x18]
push edx
push 0x647b08
push str.margin
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a1290
lea eax, [esp + 0x5c]
push eax
lea ecx, [esi + 0x1c]
push ecx
push 0x6479a0
push str.margin
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a1290
lea edx, [esp + 0x5c]
push edx
lea eax, [esi + 0x20]
push eax
push 0x647a10
push str.margin
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a1290
push 0x725208
lea ecx, [esi + 0x28]
push ecx
push 0x688d80
push 0x688d74
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a1290
push 0x725238
lea edx, [esi + 0x24]
push edx
push 0x688d70
push 0x688d74
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a1290
push 0
push 0x688d6c
push 0x647b10
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a4bf0
test al, al
je 0x5a3329
push 0x688d6c
push 0x647b10
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0x2c]
mov byte [esi + 0x34], 0
push 0
push 0x688d68
push 0x647b10
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a4bf0
test al, al
je 0x5a3374
push 0x688d68
push 0x647b10
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0x30]
mov byte [esi + 0x35], 0
push 0
lea eax, [esi + 0x38]
push eax
push 0x688d6c
push str.offset
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a1290
push 0
lea ecx, [esi + 0x3c]
push ecx
push 0x688d68
push str.offset
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a1290
push 0x688d6c
push 0x688d4c
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0x40]
push 0x688d68
push 0x688d4c
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0x44]
push 0x688d48
push 0x688d4c
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0x48]
push 0
push 0x688d6c
push 0x647b20
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a4bf0
test al, al
je 0x5a346f
push 0x688d6c
push 0x647b20
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0x4c]
mov byte [esi + 0x54], 0
push 0
push 0x688d68
push 0x647b20
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a4bf0
test al, al
je 0x5a34ba
push 0x688d68
push 0x647b20
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0x50]
mov byte [esi + 0x55], 0
push 0x688d3c
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a57a0
push eax
lea ecx, [esi + 0x58]
call fcn.005a1c40
push str.font
mov ecx, ebx
call fcn.005a7170
mov edi, eax
push str.face
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a57a0
test eax, eax
lea ecx, [esi + 0x68]
jne 0x5a3502
xor edx, edx
jmp 0x5a3521
mov edx, eax
lea ebp, [edx + 2]
mov dword [esp + 0x18], ebp
jmp 0x5a3510
mov bp, word [edx]
add edx, 2
test bp, bp
jne 0x5a3510
sub edx, dword [esp + 0x18]
sar edx, 1
push edx
push eax
call fcn.00419da0
push str.size
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0x6c]
push 0x725268
lea edx, [esi + 0x70]
push edx
push str.weight
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a1290
push 0x647c04
push str.color
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0x74]
push 0x647b08
push str.color
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0x78]
push 0x688d38
push str.color
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0x7c]
push 0x6479a0
push str.color
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0x80]
push str.underline
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7790
push str.strikethrough
mov ecx, edi
mov byte [esi + 0x84], al
call fcn.005a7170
mov ecx, eax
call fcn.005a7790
push str.italic
mov ecx, edi
mov byte [esi + 0x85], al
call fcn.005a7170
mov ecx, eax
call fcn.005a7790
push str.spacing
mov ecx, edi
mov byte [esi + 0x86], al
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0x88]
push 0x688d04
push str.scale
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0x8c]
push 0x688cf0
push str.scale
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0x90]
push str.kerning
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7790
push str.background
mov ecx, ebx
mov byte [esi + 0x94], al
call fcn.005a7170
mov edi, eax
push 0x647c04
push str.color
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0x98]
push 0x647b08
push str.color
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0x9c]
push 0x688d38
push str.color
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0xa0]
push 0x6479a0
push str.color
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0xa4]
push str.size
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0xa8]
push str.type
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a57a0
test eax, eax
lea ecx, [esi + 0xb0]
jne 0x5a3788
xor edx, edx
jmp 0x5a37a2
mov edx, eax
lea ebp, [edx + 2]
mov dword [esp + 0x18], ebp
mov bp, word [edx]
add edx, 2
test bp, bp
jne 0x5a3791
sub edx, dword [esp + 0x18]
sar edx, 1
push edx
push eax
call fcn.00419da0
push str.blur
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0xac]
push str.shadow
mov ecx, ebx
call fcn.005a7170
mov edi, eax
push 0x647c04
push str.color
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0xb4]
push 0x647b08
push str.color
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0xb8]
push 0x688d38
push str.color
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0xbc]
push 0x6479a0
push str.color
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0xc0]
push str.depth
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0xc4]
push 0x688d4c
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0xc8]
push str.blur
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0xcc]
push str.fill
mov ecx, ebx
call fcn.005a7170
mov edi, eax
push 0x647c04
push str.color
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0xd4]
push 0x647b08
push str.color
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0xd8]
push 0x688d38
push str.color
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0xdc]
push 0x6479a0
push str.color
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0xe0]
push str.width
mov ecx, edi
call fcn.005a7170
mov ecx, eax
call fcn.005a6e70
fstp dword [esi + 0xe4]
push 0x597b30
push 2
push 0x30
lea eax, [esp + 0x38]
push eax
mov dword [esp + 0xa4], 0xffffffff
call fcn.005db5e3
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x88
ret 8