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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0xc], edx
mov edx, edi
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], 0xff000000
mov dword [ebp - 8], eax
call fcn.005a8685
mov ebx, dword [ebp + 0xc]
mov ecx, ebx
push 0x2c
pop edx
call fcn.005a79e4
test eax, eax
je 0x5a872d
mov edx, dword [eax + 4]
mov esi, str.visible
xor ecx, ecx
movzx eax, byte [edx + ecx]
cmp al, byte [esi + ecx]
jne 0x5a87c6
inc ecx
cmp ecx, 8
jne 0x5a871a
xor eax, eax
mov esi, dword [edi + 0x80]
mov ecx, ebx
and esi, 0xfffffffc
or esi, eax
mov dword [edi + 0x80], esi
call fcn.005a854c
shl eax, 2
mov ecx, ebx
xor eax, esi
and eax, 0x1c
xor esi, eax
push 0x25
pop edx
mov dword [edi + 0x80], esi
call fcn.005a85ed
shl eax, 0xe
mov ecx, ebx
xor eax, esi
and eax, 0x1c000
xor esi, eax
push 0x24
pop edx
mov dword [edi + 0x80], esi
call fcn.005a85ed
shl eax, 0x11
mov ecx, ebx
xor eax, esi
and eax, 0xe0000
xor esi, eax
push 0x28
pop edx
mov dword [edi + 0x80], esi
call fcn.005a79e4
mov ebx, esi
test eax, eax
je 0x5a8874
mov edx, dword [eax + 4]
mov ebx, str.left
xor ecx, ecx
movzx eax, byte [edx + ecx]
cmp al, byte [ebx + ecx]
jne 0x5a8806
inc ecx
cmp ecx, 5
jne 0x5a87ad
mov ebx, esi
and ebx, 0xffffff9f
jmp 0x5a886e
mov esi, str.hidden
xor ecx, ecx
movzx eax, byte [edx + ecx]
cmp al, byte [esi + ecx]
jne 0x5a87e4
inc ecx
cmp ecx, 7
jne 0x5a87cd
xor eax, eax
inc eax
jmp 0x5a872f
mov esi, str.collapse
xor ecx, ecx
movzx eax, byte [edx + ecx]
cmp al, byte [esi + ecx]
jne 0x5a872d
inc ecx
cmp ecx, 9
jne 0x5a87eb
push 2
pop eax
jmp 0x5a872f
mov ebx, str.right
xor ecx, ecx
movzx eax, byte [edx + ecx]
cmp al, byte [ebx + ecx]
jne 0x5a8826
inc ecx
cmp ecx, 6
jne 0x5a880d
mov ebx, esi
and ebx, 0xffffffbf
or ebx, 0x20
jmp 0x5a886e
mov ebx, str.center
xor ecx, ecx
movzx eax, byte [edx + ecx]
cmp al, byte [ebx + ecx]
jne 0x5a8846
inc ecx
cmp ecx, 7
jne 0x5a882d
mov ebx, esi
and ebx, 0xffffffdf
or ebx, 0x40
jmp 0x5a886e
mov ebx, str.justify
xor ecx, ecx
movzx eax, byte [edx + ecx]
cmp al, byte [ebx + ecx]
jne 0x5a8860
inc ecx
cmp ecx, 8
jne 0x5a884d
xor eax, eax
jmp 0x5a8865
sbb eax, eax
or eax, 1
mov ebx, esi
test eax, eax
jne 0x5a8874
or ebx, 0x60
mov dword [edi + 0x80], ebx
mov ecx, dword [ebp + 0xc]
push 0x2b
pop edx
call fcn.005a79e4
mov esi, ebx
test eax, eax
je 0x5a89aa
mov ecx, dword [eax + 4]
mov esi, str.baseline
xor edx, edx
movzx eax, byte [ecx + edx]
cmp al, byte [esi + edx]
jne 0x5a88af
inc edx
cmp edx, 9
jne 0x5a8893
mov esi, ebx
and esi, 0xfffffc7f
jmp 0x5a89a4
mov esi, 0xea1e34
xor edx, edx
movzx eax, byte [ecx + edx]
cmp al, byte [esi + edx]
jne 0x5a88d8
inc edx
cmp edx, 4
jne 0x5a88b6
mov esi, ebx
and esi, 0xfffffcff
or esi, 0x80
jmp 0x5a89a4
mov esi, str.super
xor edx, edx
movzx eax, byte [ecx + edx]
cmp al, byte [esi + edx]
jne 0x5a8901
inc edx
cmp edx, 6
jne 0x5a88df
mov esi, ebx
and esi, 0xfffffd7f
or esi, 0x100
jmp 0x5a89a4
mov esi, 0xe88c08
xor edx, edx
movzx eax, byte [ecx + edx]
cmp al, byte [esi + edx]
jne 0x5a8927
inc edx
cmp edx, 4
jne 0x5a8908
mov esi, ebx
and esi, 0xfffffdff
or esi, 0x180
jmp 0x5a89a4
mov esi, str.bottom
xor edx, edx
movzx eax, byte [ecx + edx]
cmp al, byte [esi + edx]
jne 0x5a894d
inc edx
cmp edx, 7
jne 0x5a892e
mov esi, ebx
and esi, 0xfffffe7f
or esi, 0x200
jmp 0x5a89a4
mov esi, str.text_top
xor edx, edx
movzx eax, byte [ecx + edx]
cmp al, byte [esi + edx]
jne 0x5a8973
inc edx
cmp edx, 9
jne 0x5a8954
mov esi, ebx
and esi, 0xfffffeff
or esi, 0x280
jmp 0x5a89a4
mov esi, str.text_bottom
xor edx, edx
movzx eax, byte [ecx + edx]
cmp al, byte [esi + edx]
jne 0x5a898d
inc edx
cmp edx, 0xc
jne 0x5a897a
xor eax, eax
jmp 0x5a8992
sbb eax, eax
or eax, 1
mov esi, ebx
test eax, eax
jne 0x5a89aa
and esi, 0xffffff7f
or esi, 0x300
mov dword [edi + 0x80], esi
mov ecx, dword [ebp + 0xc]
push 0x11
pop edx
call fcn.005a79e4
mov dword [ebp - 0x14], eax
test eax, eax
je 0x5a8b02
mov ecx, dword [eax + 4]
mov esi, str.xx_large
xor edx, edx
movzx eax, byte [ecx + edx]
push 0x6d
pop ebx
cmp al, byte [esi + edx]
jne 0x5a89ee
inc edx
cmp edx, 9
jne 0x5a89ca
mov dword [ebp - 0x18], 0x3fdd70a4
mov eax, dword [ebp - 0x18]
mov dword [edi + 4], ebx
jmp 0x5a8afa
mov esi, str.x_large
xor edx, edx
movzx eax, byte [ecx + edx]
cmp al, byte [esi + edx]
jne 0x5a8a0d
inc edx
cmp edx, 8
jne 0x5a89f5
mov dword [ebp - 0x18], 0x3fb851ec
jmp 0x5a89e3
mov esi, str.large
xor edx, edx
movzx eax, byte [ecx + edx]
cmp al, byte [esi + edx]
jne 0x5a8a2c
inc edx
cmp edx, 6
jne 0x5a8a14
mov dword [ebp - 0x18], 0x3f99999a
jmp 0x5a89e3
mov esi, str.medium
xor edx, edx
movzx eax, byte [ecx + edx]
cmp al, byte [esi + edx]
jne 0x5a8a4b
inc edx
cmp edx, 7
jne 0x5a8a33
mov dword [ebp - 0x18], 0x3f800000
jmp 0x5a89e3
mov esi, str.small
xor edx, edx
movzx eax, byte [ecx + edx]
cmp al, byte [esi + edx]
jne 0x5a8a6d
inc edx
cmp edx, 6
jne 0x5a8a52
mov dword [ebp - 0x18], 0x3f547ae1
jmp 0x5a89e3
mov esi, str.x_small
xor edx, edx
movzx eax, byte [ecx + edx]
cmp al, byte [esi + edx]
jne 0x5a8a8f
inc edx
cmp edx, 8
jne 0x5a8a74
mov dword [ebp - 0x18], 0x3f30a3d7
jmp 0x5a89e3
mov esi, str.xx_small
xor edx, edx
movzx eax, byte [ecx + edx]
cmp al, byte [esi + edx]
jne 0x5a8aa7
inc edx
cmp edx, 9
jne 0x5a8a96
jmp 0x5a8a83
mov esi, str.larger
xor edx, edx
movzx eax, byte [ecx + edx]
cmp al, byte [esi + edx]
jne 0x5a8ac2
inc edx
cmp edx, 7
jne 0x5a8aae
jmp 0x5a8a23
mov esi, str.smaller
xor edx, edx
movzx eax, byte [ecx + edx]
cmp al, byte [esi + edx]
jne 0x5a8ae4
inc edx
cmp edx, 8
jne 0x5a8ac9
mov dword [ebp - 0x18], 0x3f555555
jmp 0x5a89e3
movss xmm1, dword [0xed089c]
mov ecx, dword [ebp - 0x14]
push 0x70
pop edx
call fcn.005a7acf
mov dword [edi + 4], edx
mov esi, dword [edi + 0x80]
jmp 0x5a8b12
push 0x6d
mov dword [ebp - 0x18], 0x3f800000
mov eax, dword [ebp - 0x18]
pop ebx
mov dword [edi + 4], ebx
mov ecx, dword [ebp + 0xc]
push 0x1a
pop edx
mov dword [edi], eax
call fcn.005a79e4
test eax, eax
je 0x5a8db6
mov ecx, dword [eax + 4]
xor edx, edx
movzx eax, byte [ecx + edx]
mov edi, str.none
cmp al, byte [edi + edx]
mov edi, dword [ebp + 8]
jne 0x5a8b4e
inc edx
cmp edx, 5
jne 0x5a8b2c
and esi, 0xffffc3ff
jmp 0x5a8db0
xor edx, edx
movzx eax, byte [ecx + edx]
mov edi, str.disc
cmp al, byte [edi + edx]
mov edi, dword [ebp + 8]
jne 0x5a8b78
inc edx
cmp edx, 5
jne 0x5a8b50
and esi, 0xffffc7ff
or esi, 0x400
jmp 0x5a8db0
xor edx, edx
movzx eax, byte [ecx + edx]
mov edi, str.circle
cmp al, byte [edi + edx]
mov edi, dword [ebp + 8]
jne 0x5a8ba2
inc edx
cmp edx, 7
jne 0x5a8b7a
and esi, 0xffffcbff
or esi, 0x800
jmp 0x5a8db0
xor edx, edx
movzx eax, byte [ecx + edx]
mov edi, str.square
cmp al, byte [edi + edx]
mov edi, dword [ebp + 8]
jne 0x5a8bcc
inc edx
cmp edx, 7
jne 0x5a8ba4
and esi, 0xffffcfff
or esi, 0xc00
jmp 0x5a8db0
xor edx, edx
movzx eax, byte [ecx + edx]
mov edi, str.decimal
cmp al, byte [edi + edx]
mov edi, dword [ebp + 8]
jne 0x5a8bf6
inc edx
cmp edx, 8
jne 0x5a8bce
and esi, 0xffffd3ff
or esi, 0x1000
jmp 0x5a8db0
xor edx, edx
movzx eax, byte [ecx + edx]
mov edi, str.decimal_leading_zero
cmp al, byte [edi + edx]
mov edi, dword [ebp + 8]
jne 0x5a8c20
inc edx
cmp edx, 0x15
jne 0x5a8bf8
and esi, 0xffffd7ff
or esi, 0x1400
jmp 0x5a8db0
xor edx, edx
movzx eax, byte [ecx + edx]
mov edi, str.lower_roman
cmp al, byte [edi + edx]
mov edi, dword [ebp + 8]
jne 0x5a8c4a
inc edx
cmp edx, 0xc
jne 0x5a8c22
and esi, 0xffffdbff
or esi, 0x1800
jmp 0x5a8db0
xor edx, edx
movzx eax, byte [ecx + edx]
mov edi, str.upper_roman
cmp al, byte [edi + edx]
mov edi, dword [ebp + 8]
jne 0x5a8c74
inc edx
cmp edx, 0xc
jne 0x5a8c4c
and esi, 0xffffdfff
or esi, 0x1c00
jmp 0x5a8db0
xor edx, edx
movzx eax, byte [ecx + edx]
mov edi, str.lower_greek
cmp al, byte [edi + edx]
mov edi, dword [ebp + 8]
jne 0x5a8c9e
inc edx
cmp edx, 0xc
jne 0x5a8c76
and esi, 0xffffe3ff
or esi, 0x2000
jmp 0x5a8db0
xor edx, edx
movzx eax, byte [ecx + edx]
mov edi, str.upper_greek
cmp al, byte [edi + edx]
mov edi, dword [ebp + 8]
jne 0x5a8cc8
inc edx
cmp edx, 0xc
jne 0x5a8ca0
and esi, 0xffffe7ff
or esi, 0x2400
jmp 0x5a8db0
xor edx, edx
movzx eax, byte [ecx + edx]
mov edi, str.lower_latin
cmp al, byte [edi + edx]
mov edi, dword [ebp + 8]
jne 0x5a8cf2
inc edx
cmp edx, 0xc
jne 0x5a8cca
and esi, 0xffffebff
or esi, 0x2800
jmp 0x5a8db0
xor edx, edx
movzx eax, byte [ecx + edx]
mov edi, str.upper_latin
cmp al, byte [edi + edx]
mov edi, dword [ebp + 8]
jne 0x5a8d1c
inc edx
cmp edx, 0xc
jne 0x5a8cf4
and esi, 0xffffefff
or esi, 0x2c00
jmp 0x5a8db0
xor edx, edx
movzx eax, byte [ecx + edx]
mov edi, str.lower_alpha
cmp al, byte [edi + edx]
mov edi, dword [ebp + 8]
jne 0x5a8d43
inc edx
cmp edx, 0xc
jne 0x5a8d1e
and esi, 0xfffff3ff
or esi, 0x3000
jmp 0x5a8db0
xor edx, edx
movzx eax, byte [ecx + edx]
mov edi, str.upper_alpha
cmp al, byte [edi + edx]
mov edi, dword [ebp + 8]
jne 0x5a8d6a
inc edx
cmp edx, 0xc
jne 0x5a8d45
and esi, 0xfffff7ff
or esi, 0x3400
jmp 0x5a8db0
xor edx, edx
movzx eax, byte [ecx + edx]
mov edi, str.armenian
cmp al, byte [edi + edx]
mov edi, dword [ebp + 8]
jne 0x5a8d91
inc edx
cmp edx, 9
jne 0x5a8d6c
and esi, 0xfffffbff
or esi, 0x3800
jmp 0x5a8db0
xor edx, edx
movzx eax, byte [ecx + edx]
mov edi, str.georgian
cmp al, byte [edi + edx]
mov edi, dword [ebp + 8]
jne 0x5a8db6
inc edx
cmp edx, 9
jne 0x5a8d93
or esi, 0x3c00
mov dword [edi + 0x80], esi
mov ecx, dword [ebp + 0xc]
push 0x17
pop edx
call fcn.005a79e4
movss xmm1, dword [0xed04a4]
mov edx, ebx
mov ecx, eax
call fcn.005a7acf
mov ebx, dword [ebp + 0xc]
mov ecx, ebx
mov dword [edi + 0x88], edx
push 0x29
pop edx
mov dword [edi + 0x84], eax
call fcn.005a79e4
push 0x70
pop esi
mov edx, esi
xorps xmm1, xmm1
mov ecx, eax
call fcn.005a7acf
mov dword [edi + 0x7c], edx
mov ecx, ebx
push 0x2f
pop edx
mov dword [edi + 0x78], eax
call fcn.005a79e4
push 0x61
pop edx
xorps xmm1, xmm1
mov ecx, eax
call fcn.005a7acf
mov dword [edi + 0xc], edx
mov ecx, ebx
push 0x15
pop edx
mov dword [edi + 8], eax
call fcn.005a79e4
push 0x61
pop edx
xorps xmm1, xmm1
mov ecx, eax
call fcn.005a7acf
mov dword [edi + 0x14], edx
mov ecx, ebx
push 0x1e
pop edx
mov dword [edi + 0x10], eax
call fcn.005a79e4
mov edx, esi
xorps xmm1, xmm1
mov ecx, eax
call fcn.005a7acf
mov dword [edi + 0x1c], edx
mov ecx, ebx
push 0x1d
pop edx
mov dword [edi + 0x18], eax
call fcn.005a79e4
mov edx, esi
xorps xmm1, xmm1
mov ecx, eax
call fcn.005a7acf
mov dword [edi + 0x24], edx
mov ecx, ebx
push 0x1b
pop edx
mov dword [edi + 0x20], eax
call fcn.005a79e4
mov edx, esi
xorps xmm1, xmm1
mov ecx, eax
call fcn.005a7acf
mov dword [edi + 0x2c], edx
mov ecx, ebx
push 0x1c
pop edx
mov dword [edi + 0x28], eax
call fcn.005a79e4
mov edx, esi
xorps xmm1, xmm1
mov ecx, eax
call fcn.005a7acf
mov dword [edi + 0x34], edx
mov ecx, ebx
push 0x23
pop edx
mov dword [edi + 0x30], eax
call fcn.005a79e4
mov edx, esi
xorps xmm1, xmm1
mov ecx, eax
call fcn.005a7acf
mov dword [edi + 0x3c], edx
mov ecx, ebx
push 0x22
pop edx
mov dword [edi + 0x38], eax
call fcn.005a79e4
mov edx, esi
xorps xmm1, xmm1
mov ecx, eax
call fcn.005a7acf
mov dword [edi + 0x44], edx
mov ecx, ebx
push 0x20
pop edx
mov dword [edi + 0x40], eax
call fcn.005a79e4
mov edx, esi
xorps xmm1, xmm1
mov ecx, eax
call fcn.005a7acf
mov dword [edi + 0x4c], edx
mov ecx, ebx
push 0x21
pop edx
mov dword [edi + 0x48], eax
call fcn.005a79e4
mov edx, esi
xorps xmm1, xmm1
mov ecx, eax
call fcn.005a7acf
push dword [ebp - 4]
mov dword [edi + 0x54], edx
mov ecx, ebx
push 0xd
pop edx
mov dword [edi + 0x50], eax
call fcn.005a79e4
mov ecx, eax
call fcn.005a7e3e
pop ecx
push dword [ebp - 8]
xor edx, edx
mov dword [edi + 0xa0], eax
mov ecx, ebx
call fcn.005a79e4
mov ecx, eax
call fcn.005a7e3e
pop ecx
push 0xb
pop edx
mov ecx, ebx
mov dword [edi + 0x8c], eax
call fcn.005a7ced
mov esi, eax
mov ecx, ebx
shl esi, 0x14
xor esi, dword [edi + 0x80]
and esi, 0x100000
xor esi, dword [edi + 0x80]
push 8
pop edx
mov dword [edi + 0x80], esi
call fcn.005a7ced
shl eax, 0x15
xor eax, esi
and eax, 0x200000
xor esi, eax
mov dword [edi + 0x80], esi
push 2
pop edx
mov ecx, ebx
call fcn.005a7ced
shl eax, 0x16
mov ecx, ebx
xor eax, esi
and eax, 0x400000
xor esi, eax
push 5
pop edx
mov dword [edi + 0x80], esi
call fcn.005a7ced
push dword [edi + 0xa0]
shl eax, 0x17
mov ecx, ebx
xor eax, esi
and eax, 0x800000
xor eax, esi
push 0xa
pop edx
mov dword [edi + 0x80], eax
call fcn.005a79e4
mov ecx, eax
call fcn.005a7e3e
pop ecx
mov dword [edi + 0x90], eax
mov ecx, ebx
push dword [edi + 0xa0]
push 7
pop edx
call fcn.005a79e4
mov ecx, eax
call fcn.005a7e3e
pop ecx
mov dword [edi + 0x94], eax
xor edx, edx
push dword [edi + 0xa0]
inc edx
mov ecx, ebx
call fcn.005a79e4
mov ecx, eax
call fcn.005a7e3e
pop ecx
mov dword [edi + 0x98], eax
mov ecx, ebx
push dword [edi + 0xa0]
push 4
pop edx
call fcn.005a79e4
mov ecx, eax
call fcn.005a7e3e
pop ecx
push 0xc
pop edx
mov ecx, ebx
mov dword [edi + 0x9c], eax
call fcn.005a7c62
mov dword [edi + 0x5c], edx
mov ecx, ebx
push 9
pop edx
mov dword [edi + 0x58], eax
call fcn.005a7c62
mov dword [edi + 0x64], edx
mov ecx, ebx
push 3
pop edx
mov dword [edi + 0x60], eax
call fcn.005a7c62
mov dword [edi + 0x6c], edx
mov ecx, ebx
push 6
pop edx
mov dword [edi + 0x68], eax
call fcn.005a7c62
mov dword [edi + 0x74], edx
mov ecx, ebx
push 0x14
pop edx
mov dword [edi + 0x70], eax
call fcn.005a79e4
mov esi, str.normal
test eax, eax
jne 0x5a909a
mov dword [ebp + 8], esi
jmp 0x5a90a0
mov eax, dword [eax + 4]
mov dword [ebp + 8], eax
push 0x12
pop edx
mov ecx, ebx
call fcn.005a79e4
test eax, eax
jne 0x5a90b3
mov dword [ebp - 8], esi
jmp 0x5a90b9
mov eax, dword [eax + 4]
mov dword [ebp - 8], eax
push 0x13
pop edx
mov ecx, ebx
call fcn.005a79e4
test eax, eax
je 0x5a90ca
mov esi, dword [eax + 4]
mov ecx, dword [ebp + 8]
call fcn.005a6b3a
mov ecx, dword [ebp - 8]
mov dword [ebp + 8], eax
call fcn.005a6b86
mov dword [ebp - 8], eax
xor edx, edx
mov eax, str.small_caps
movzx ecx, byte [esi + edx]
cmp cl, byte [eax + edx]
jne 0x5a90fd
inc edx
cmp edx, 0xb
jne 0x5a90e7
mov ecx, 0x1000000
jmp 0x5a90ff
xor ecx, ecx
mov eax, dword [edi + 0x80]
and eax, 0xfeffffff
or ecx, eax
mov dword [edi + 0x80], ecx
mov ecx, ebx
push 0x10
pop edx
call fcn.005a79e4
mov ebx, dword [ebp + 8]
mov esi, eax
test esi, esi
je 0x5a9162
mov edx, dword [esi + 4]
cmp byte [edx], 0x2c
jne 0x5a9135
movzx eax, byte [edx + 1]
test al, al
je 0x5a915d
movzx eax, byte [edi + 0x83]
mov ecx, dword [ebp - 0x10]
and eax, 1
push eax
push dword [ebp - 8]
push ebx
push edx
mov edx, dword [ebp - 0xc]
call fcn.005a292f
add esp, 0x10
mov dword [edi + 0xa4], eax
test eax, eax
jne 0x5a9162
mov esi, dword [esi + 0xc]
jmp 0x5a9121
cmp dword [edi + 0xa4], 0
jne 0x5a9193
movzx eax, byte [edi + 0x83]
mov edx, dword [ebp - 0xc]
and eax, 1
mov ecx, dword [ebp - 0x10]
push eax
push dword [ebp - 8]
push ebx
push str.serif
call fcn.005a292f
add esp, 0x10
mov dword [edi + 0xa4], eax
pop edi
pop esi
pop ebx
leave
ret