Function at 0x58d6e0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x60c2a3
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 [0x629e50]
fst dword [esi + 4]
fst dword [esi + 8]
fst dword [esi + 0xc]
fstp dword [esi + 0x10]
call fcn.00591930
mov ecx, eax
call fcn.0058ff60
test eax, eax
jne 0x58d76b
xor ecx, ecx
jmp 0x58d77f
mov ecx, eax
lea edi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x58d770
sub ecx, edi
sar ecx, 1
push ecx
push eax
mov ecx, esi
call fcn.00412960
push 0x669454
mov ecx, ebx
call fcn.00591930
mov edi, eax
push str.clip
mov ecx, edi
call fcn.00591930
mov ebp, eax
push 1
mov ecx, ebp
call fcn.0058f3b0
test al, al
mov ecx, ebp
je 0x58d81d
call fcn.0058ff60
push eax
lea ecx, [esp + 0x14]
call fcn.00412bf0
lea eax, [esp + 0x10]
push str.frame
push eax
call fcn.00499060
add esp, 8
test al, al
je 0x58d7f4
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 0x58d8d7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x58d8d7
push 0
push 0x628684
call fcn.00591930
mov ecx, eax
call fcn.0058f3b0
test al, al
je 0x58d84a
push 0x628684
mov ecx, ebp
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 4]
push 0
push 0x6288b8
mov ecx, ebp
call fcn.00591930
mov ecx, eax
call fcn.0058f3b0
test al, al
je 0x58d879
push 0x6288b8
mov ecx, ebp
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 8]
push 0
push 0x628750
mov ecx, ebp
call fcn.00591930
mov ecx, eax
call fcn.0058f3b0
test al, al
je 0x58d8a8
push 0x628750
mov ecx, ebp
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0xc]
push 0
push 0x6287c0
mov ecx, ebp
call fcn.00591930
mov ecx, eax
call fcn.0058f3b0
test al, al
je 0x58d8d7
push 0x6287c0
mov ecx, ebp
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0x10]
push 0x5823b0
push 0x5823a0
push 2
push 0x30
lea ecx, [esp + 0x3c]
push ecx
call fcn.005c050e
push 0x6694b4
lea ecx, [esp + 0x30]
mov dword [esp + 0x98], 0
call fcn.0058d370
fldz
push str.right
fstp dword [eax]
lea ecx, [esp + 0x30]
call fcn.0058d370
fldz
fstp dword [eax]
push str.bottom
fld dword [esp + 0x28]
lea ecx, [esp + 0x30]
fsub qword [0x613c88]
fstp dword [esp + 0x18]
call fcn.0058d370
fld dword [esp + 0x14]
push str.left
fstp dword [eax]
lea ecx, [esp + 0x30]
fld dword [esp + 0x24]
fsub qword [0x613c88]
fstp dword [esp + 0x1c]
call fcn.0058d370
fld dword [esp + 0x18]
push 0x6694b4
lea ecx, [esp + 0x60]
fstp dword [eax]
call fcn.0058d370
fld dword [esp + 0x14]
push str.right
fstp dword [eax]
lea ecx, [esp + 0x60]
call fcn.0058d370
fld dword [esp + 0x18]
push str.bottom
fstp dword [eax]
lea ecx, [esp + 0x60]
call fcn.0058d370
fldz
push str.left
fstp dword [eax]
lea ecx, [esp + 0x60]
call fcn.0058d370
fldz
lea edx, [esp + 0x2c]
fstp dword [eax]
push edx
lea eax, [esi + 0x14]
push eax
push 0x628684
push str.margin
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.0058ba70
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esi + 0x18]
push edx
push 0x6288b8
push str.margin
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.0058ba70
lea eax, [esp + 0x5c]
push eax
lea ecx, [esi + 0x1c]
push ecx
push 0x628750
push str.margin
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.0058ba70
lea edx, [esp + 0x5c]
push edx
lea eax, [esi + 0x20]
push eax
push 0x6287c0
push str.margin
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.0058ba70
push 0x700438
lea ecx, [esi + 0x28]
push ecx
push 0x669450
push 0x669444
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.0058ba70
push 0x700468
lea edx, [esi + 0x24]
push edx
push 0x669440
push 0x669444
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.0058ba70
push 0
push 0x66943c
push 0x6288c0
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.0058f3b0
test al, al
je 0x58dae9
push 0x66943c
push 0x6288c0
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0x2c]
mov byte [esi + 0x34], 0
push 0
push 0x669438
push 0x6288c0
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.0058f3b0
test al, al
je 0x58db34
push 0x669438
push 0x6288c0
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0x30]
mov byte [esi + 0x35], 0
push 0
lea eax, [esi + 0x38]
push eax
push 0x66943c
push str.offset
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.0058ba70
push 0
lea ecx, [esi + 0x3c]
push ecx
push 0x669438
push str.offset
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.0058ba70
push 0x66943c
push 0x66941c
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0x40]
push 0x669438
push 0x66941c
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0x44]
push 0x669418
push 0x66941c
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0x48]
push 0
push 0x66943c
push 0x6288d0
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.0058f3b0
test al, al
je 0x58dc2f
push 0x66943c
push 0x6288d0
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0x4c]
mov byte [esi + 0x54], 0
push 0
push 0x669438
push 0x6288d0
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.0058f3b0
test al, al
je 0x58dc7a
push 0x669438
push 0x6288d0
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0x50]
mov byte [esi + 0x55], 0
push 0x66940c
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.0058ff60
push eax
lea ecx, [esi + 0x58]
call fcn.0058c400
push str.font
mov ecx, ebx
call fcn.00591930
mov edi, eax
push str.face
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.0058ff60
test eax, eax
lea ecx, [esi + 0x68]
jne 0x58dcc2
xor edx, edx
jmp 0x58dce1
mov edx, eax
lea ebp, [edx + 2]
mov dword [esp + 0x18], ebp
jmp 0x58dcd0
mov bp, word [edx]
add edx, 2
test bp, bp
jne 0x58dcd0
sub edx, dword [esp + 0x18]
sar edx, 1
push edx
push eax
call fcn.00412960
push str.size
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0x6c]
push 0x700498
lea edx, [esi + 0x70]
push edx
push str.weight
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.0058ba70
push 0x6289b4
push str.color
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0x74]
push 0x6288b8
push str.color
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0x78]
push 0x669408
push str.color
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0x7c]
push 0x628750
push str.color
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0x80]
push str.underline
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591f50
push str.strikethrough
mov ecx, edi
mov byte [esi + 0x84], al
call fcn.00591930
mov ecx, eax
call fcn.00591f50
push str.italic
mov ecx, edi
mov byte [esi + 0x85], al
call fcn.00591930
mov ecx, eax
call fcn.00591f50
push str.spacing
mov ecx, edi
mov byte [esi + 0x86], al
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0x88]
push 0x6693d4
push str.scale
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0x8c]
push 0x6693c0
push str.scale
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0x90]
push str.kerning
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591f50
push str.background
mov ecx, ebx
mov byte [esi + 0x94], al
call fcn.00591930
mov edi, eax
push 0x6289b4
push str.color
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0x98]
push 0x6288b8
push str.color
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0x9c]
push 0x669408
push str.color
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0xa0]
push 0x628750
push str.color
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0xa4]
push str.size
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0xa8]
push str.type
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.0058ff60
test eax, eax
lea ecx, [esi + 0xb0]
jne 0x58df48
xor edx, edx
jmp 0x58df62
mov edx, eax
lea ebp, [edx + 2]
mov dword [esp + 0x18], ebp
mov bp, word [edx]
add edx, 2
test bp, bp
jne 0x58df51
sub edx, dword [esp + 0x18]
sar edx, 1
push edx
push eax
call fcn.00412960
push str.blur
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0xac]
push str.shadow
mov ecx, ebx
call fcn.00591930
mov edi, eax
push 0x6289b4
push str.color
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0xb4]
push 0x6288b8
push str.color
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0xb8]
push 0x669408
push str.color
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0xbc]
push 0x628750
push str.color
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0xc0]
push str.depth
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0xc4]
push 0x66941c
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0xc8]
push str.blur
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0xcc]
push str.fill
mov ecx, ebx
call fcn.00591930
mov edi, eax
push 0x6289b4
push str.color
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0xd4]
push 0x6288b8
push str.color
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0xd8]
push 0x669408
push str.color
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0xdc]
push 0x628750
push str.color
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0xe0]
push str.width
mov ecx, edi
call fcn.00591930
mov ecx, eax
call fcn.00591630
fstp dword [esi + 0xe4]
push 0x5823b0
push 2
push 0x30
lea eax, [esp + 0x38]
push eax
mov dword [esp + 0xa4], 0xffffffff
call fcn.005c03e7
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x88
ret 8