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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x7178fc
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x8c
push ebx
push esi
mov esi, ecx
mov eax, 0xd
mov dword [esp + 0x54], eax
mov dword [esp + 0x64], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x58], eax
mov dword [esp + 0x18], eax
mov dword [esp + 8], eax
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x68], 1
mov dword [esi], eax
mov eax, dword [eax + 0x18]
xor ebx, ebx
mov dword [esi + 4], eax
mov eax, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 0xc]
mov ecx, dword [eax]
push ebx
mov dword [esi + 8], ecx
mov edx, dword [eax + 4]
lea eax, [esp + 0x20]
mov ecx, edi
push eax
push str.Subtype
mov dword [esi + 0xc], edx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x54], ebx
call fcn.005f4430
mov edx, dword [eax]
xor ecx, ecx
cmp edx, 4
sete cl
mov eax, ecx
cmp eax, ebx
je 0x627f4f
push 8
call fcn.0044f661
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0xa0], ebx
je 0x627f3f
mov edx, dword [esp + 0x24]
mov ecx, eax
push edx
call fcn.005df180
jmp 0x627f41
xor eax, eax
mov dword [esp + 0xa0], 0xffffffff
mov dword [esi + 0x10], eax
lea ecx, [esp + 0x1c]
call fcn.005f2e10
lea eax, [esp + 0x1c]
push ebx
push eax
push str.Rect
mov ecx, edi
call fcn.005f4430
mov edx, dword [eax]
xor ecx, ecx
cmp edx, 6
sete cl
mov eax, ecx
cmp eax, ebx
je 0x6280c7
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 0xc], 4
jne 0x6280c7
lea edx, [esp + 0xc]
push ebx
push edx
mov dword [esi + 0x48], ebx
mov dword [esi + 0x40], ebx
mov dword [esi + 0x38], ebx
mov dword [esi + 0x30], ebx
push ebx
mov dword [esi + 0x4c], ebx
mov dword [esi + 0x44], ebx
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x34], ebx
call fcn.006037c0
mov eax, dword [eax]
cmp eax, 1
je 0x627fbc
cmp eax, 2
jne 0x627fd0
cmp dword [esp + 0xc], 1
jne 0x627fc9
fild dword [esp + 0x14]
jmp 0x627fcd
fld qword [esp + 0x14]
fstp qword [esi + 0x30]
lea ecx, [esp + 0xc]
call fcn.005f2e10
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0xc]
push ebx
push eax
push 1
call fcn.006037c0
mov eax, dword [eax]
cmp eax, 1
je 0x627ff6
cmp eax, 2
jne 0x62800a
cmp dword [esp + 0xc], 1
jne 0x628003
fild dword [esp + 0x14]
jmp 0x628007
fld qword [esp + 0x14]
fstp qword [esi + 0x38]
lea ecx, [esp + 0xc]
call fcn.005f2e10
lea ecx, [esp + 0xc]
push ebx
push ecx
mov ecx, dword [esp + 0x2c]
push 2
call fcn.006037c0
mov eax, dword [eax]
cmp eax, 1
je 0x628030
cmp eax, 2
jne 0x628044
cmp dword [esp + 0xc], 1
jne 0x62803d
fild dword [esp + 0x14]
jmp 0x628041
fld qword [esp + 0x14]
fstp qword [esi + 0x40]
lea ecx, [esp + 0xc]
call fcn.005f2e10
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0xc]
push ebx
push edx
push 3
call fcn.006037c0
mov eax, dword [eax]
cmp eax, 1
je 0x62806a
cmp eax, 2
jne 0x62807e
cmp dword [esp + 0xc], 1
jne 0x628077
fild dword [esp + 0x14]
jmp 0x62807b
fld qword [esp + 0x14]
fstp qword [esi + 0x48]
lea ecx, [esp + 0xc]
call fcn.005f2e10
fld qword [esi + 0x30]
fcomp qword [esi + 0x40]
fnstsw ax
test ah, 0x41
jne 0x6280a6
fld qword [esi + 0x30]
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
fstp qword [esi + 0x40]
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], ecx
fld qword [esi + 0x38]
fcomp qword [esi + 0x48]
fnstsw ax
test ah, 0x41
jne 0x6280db
fld qword [esi + 0x38]
mov edx, dword [esi + 0x48]
mov eax, dword [esi + 0x4c]
fstp qword [esi + 0x48]
mov dword [esi + 0x38], edx
mov dword [esi + 0x3c], eax
jmp 0x6280db
push str.Bad_bounding_box_for_annotation
push 0xffffffffffffffff
push 1
call fcn.006033f0
add esp, 0xc
mov dword [esi + 0x68], ebx
lea ecx, [esp + 0x1c]
call fcn.005f2e10
lea ecx, [esp + 0x1c]
push ebx
push ecx
push 0x7778a8
mov ecx, edi
call fcn.005f4430
mov ecx, dword [eax]
xor edx, edx
cmp ecx, 1
sete dl
mov eax, edx
cmp eax, ebx
je 0x62810f
mov eax, dword [esp + 0x24]
mov dword [esi + 0x50], eax
jmp 0x628112
mov dword [esi + 0x50], ebx
lea ecx, [esp + 0x1c]
call fcn.005f2e10
lea ecx, [esp + 0x1c]
push ebx
push ecx
push 0x7b90a0
mov ecx, edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0x3ff00000
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x3c], 3
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0x3ff00000
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
call fcn.005f4430
mov ecx, dword [eax]
xor edx, edx
cmp ecx, 7
sete dl
mov eax, edx
cmp eax, ebx
je 0x628417
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0xc]
push ebx
push eax
push 0x79786c
call fcn.005f4430
cmp dword [eax], 4
jne 0x628325
cmp dword [esp + 0xc], 4
jne 0x628325
mov eax, dword [esp + 0x14]
mov edi, 0x79786c
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [edi]
jne 0x628212
test cl, cl
je 0x62820e
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x628212
add eax, 2
add edi, 2
test cl, cl
jne 0x6281ee
xor eax, eax
jmp 0x628217
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x628224
mov dword [esp + 0x2c], ebx
jmp 0x628325
mov eax, dword [esp + 0x14]
mov edi, 0x798ae4
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [edi]
jne 0x628251
test cl, cl
je 0x62824d
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x628251
add eax, 2
add edi, 2
test cl, cl
jne 0x62822d
xor eax, eax
jmp 0x628256
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x628267
mov dword [esp + 0x2c], 1
jmp 0x628325
mov eax, dword [esp + 0x14]
mov edi, 0x798cf8
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [edi]
jne 0x628294
test cl, cl
je 0x628290
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x628294
add eax, 2
add edi, 2
test cl, cl
jne 0x628270
xor eax, eax
jmp 0x628299
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x6282a7
mov dword [esp + 0x2c], 2
jmp 0x628325
mov eax, dword [esp + 0x14]
mov edi, 0x798360
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [edi]
jne 0x6282d4
test cl, cl
je 0x6282d0
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x6282d4
add eax, 2
add edi, 2
test cl, cl
jne 0x6282b0
xor eax, eax
jmp 0x6282d9
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x6282e7
mov dword [esp + 0x2c], 3
jmp 0x628325
mov eax, dword [esp + 0x14]
mov edi, 0x79738c
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [edi]
jne 0x628314
test cl, cl
je 0x628310
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x628314
add eax, 2
add edi, 2
test cl, cl
jne 0x6282f0
xor eax, eax
jmp 0x628319
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x628325
mov dword [esp + 0x2c], 4
lea ecx, [esp + 0xc]
call fcn.005f2e10
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0xc]
push ebx
push eax
push 0x780540
call fcn.005f4430
mov eax, dword [eax]
cmp eax, 1
je 0x62834e
cmp eax, 2
jne 0x62836f
cmp dword [esp + 0xc], 1
jne 0x62835f
fild dword [esp + 0x14]
fstp qword [esp + 0x34]
jmp 0x62836f
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], edx
lea ecx, [esp + 0xc]
call fcn.005f2e10
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0xc]
push ebx
push eax
push 0x798ae4
call fcn.005f4430
cmp dword [eax], 6
jne 0x628409
mov ecx, dword [esp + 0x14]
push 8
mov ebx, dword [ecx + 0xc]
push ebx
mov dword [esp + 0x48], ebx
call fcn.005f6f20
add esp, 8
xor edi, edi
test ebx, ebx
mov dword [esp + 0x44], eax
jle 0x628409
mov ebx, eax
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x48]
push 0
push edx
push edi
call fcn.006037c0
mov eax, dword [eax]
cmp eax, 1
je 0x6283d0
cmp eax, 2
jne 0x6283e7
cmp dword [esp + 0x48], 1
jne 0x6283df
fild dword [esp + 0x50]
fstp qword [ebx]
jmp 0x6283f4
fld qword [esp + 0x50]
fstp qword [ebx]
jmp 0x6283f4
mov dword [ebx], 0
mov dword [ebx + 4], 0x3ff00000
lea ecx, [esp + 0x48]
call fcn.005f2e10
mov eax, dword [esp + 0x40]
inc edi
add ebx, 8
cmp edi, eax
jl 0x6283b3
lea ecx, [esp + 0xc]
call fcn.005f2e10
jmp 0x628573
lea ecx, [esp + 0x1c]
call fcn.005f2e10
lea eax, [esp + 0x1c]
push ebx
push eax
push str.Border
mov ecx, edi
call fcn.005f4430
mov edx, dword [eax]
xor ecx, ecx
cmp edx, 6
sete cl
mov eax, ecx
cmp eax, ebx
je 0x628573
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 0xc], 3
jl 0x628563
lea edx, [esp + 0xc]
push 0
push edx
push 2
call fcn.006037c0
mov eax, dword [eax]
cmp eax, 1
je 0x62846e
cmp eax, 2
jne 0x62848f
cmp dword [esp + 0xc], 1
jne 0x62847f
fild dword [esp + 0x14]
fstp qword [esp + 0x34]
jmp 0x62848f
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0xc]
call fcn.005f2e10
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 0xc], 4
jl 0x628573
lea edx, [esp + 0xc]
push 0
push edx
push 3
call fcn.006037c0
cmp dword [eax], 6
jne 0x628548
mov eax, dword [esp + 0x14]
push 8
mov dword [esp + 0x30], 1
mov ebx, dword [eax + 0xc]
push ebx
mov dword [esp + 0x48], ebx
call fcn.005f6f20
add esp, 8
xor edi, edi
test ebx, ebx
mov dword [esp + 0x44], eax
jle 0x628558
mov ebx, eax
lea ecx, [esp + 0x48]
push 0
push ecx
mov ecx, dword [esp + 0x1c]
push edi
call fcn.006037c0
mov eax, dword [eax]
cmp eax, 1
je 0x628504
cmp eax, 2
jne 0x62851b
cmp dword [esp + 0x48], 1
jne 0x628513
fild dword [esp + 0x50]
fstp qword [ebx]
jmp 0x628528
fld qword [esp + 0x50]
fstp qword [ebx]
jmp 0x628528
mov dword [ebx], 0
mov dword [ebx + 4], 0x3ff00000
lea ecx, [esp + 0x48]
call fcn.005f2e10
mov eax, dword [esp + 0x40]
inc edi
add ebx, 8
cmp edi, eax
jl 0x6284e7
lea ecx, [esp + 0xc]
call fcn.005f2e10
jmp 0x628573
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
lea ecx, [esp + 0xc]
call fcn.005f2e10
jmp 0x628573
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
lea ecx, [esp + 0x1c]
call fcn.005f2e10
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x1c]
push 0
push edx
push 0x798c78
call fcn.005f4430
mov edx, dword [eax]
xor ecx, ecx
cmp edx, 6
sete cl
mov eax, ecx
test eax, eax
je 0x62861a
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0xc]
cmp eax, 1
je 0x6285b6
cmp eax, 3
je 0x6285b6
cmp eax, 4
jne 0x62861a
xor edi, edi
mov dword [esp + 0x30], eax
test eax, eax
jle 0x62861a
lea ebx, [esp + 0x78]
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0xc]
push 0
push eax
push edi
call fcn.006037c0
mov eax, dword [eax]
cmp eax, 1
je 0x6285e1
cmp eax, 2
jne 0x6285f8
cmp dword [esp + 0xc], 1
jne 0x6285f0
fild dword [esp + 0x14]
fstp qword [ebx]
jmp 0x628605
fld qword [esp + 0x14]
fstp qword [ebx]
jmp 0x628605
mov dword [ebx], 0
mov dword [ebx + 4], 0
lea ecx, [esp + 0xc]
call fcn.005f2e10
mov eax, dword [esp + 0x30]
inc edi
add ebx, 8
cmp edi, eax
jl 0x6285c4
lea ecx, [esp + 0x1c]
call fcn.005f2e10
push 0x40
call fcn.0044f661
add esp, 4
test eax, eax
je 0x62865d
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x40]
push edx
push ecx
mov ecx, eax
call fcn.00627e00
jmp 0x62865f
xor eax, eax
mov edi, dword [ebp + 0xc]
lea edx, [esp + 0x58]
push 0
push edx
push 0x7b9094
mov ecx, edi
mov dword [esi + 0x54], eax
call fcn.005f4430
lea eax, [esp + 0x68]
push 0
push eax
push 0x7ab064
mov ecx, edi
call fcn.005f4430
cmp dword [esp + 0x68], 4
jne 0x6286d7
push 8
call fcn.0044f661
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
mov dword [esp + 0xa0], 1
je 0x6286bd
mov ecx, dword [esp + 0x70]
push ecx
mov ecx, eax
call fcn.005df180
jmp 0x6286bf
xor eax, eax
mov dword [esp + 0xa0], 0xffffffff
mov dword [esi + 0x14], eax
mov ebx, 7
jmp 0x628759
mov eax, dword [esp + 0x58]
mov ebx, 7
cmp eax, ebx
jne 0x628759
mov ecx, dword [esp + 0x60]
lea edx, [esp + 0x1c]
push 0
push edx
push 0x797e38
call fcn.005f4430
cmp dword [esp + 0x1c], ebx
jne 0x628750
mov eax, dword [esp + 0x24]
cmp dword [eax + 0x10], 1
jne 0x628750
push 8
call fcn.0044f661
mov edi, eax
add esp, 4
mov dword [esp + 0x30], edi
test edi, edi
mov dword [esp + 0xa0], 2
je 0x62873d
mov ecx, dword [esp + 0x24]
push 0
call fcn.005f4540
push eax
mov ecx, edi
call fcn.005df180
jmp 0x62873f
xor eax, eax
mov edi, dword [ebp + 0xc]
mov dword [esp + 0xa0], 0xffffffff
mov dword [esi + 0x14], eax
lea ecx, [esp + 0x1c]
call fcn.005f2e10
mov eax, dword [esi + 0x14]
test eax, eax
jne 0x62879b
push 8
call fcn.0044f661
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
mov dword [esp + 0xa0], 3
je 0x62878b
push 0x7b9090
mov ecx, eax
call fcn.005df180
jmp 0x62878d
xor eax, eax
mov dword [esp + 0xa0], 0xffffffff
mov dword [esi + 0x14], eax
lea ecx, [esp + 0x68]
call fcn.005f2e10
cmp dword [esp + 0x58], ebx
jne 0x628834
lea ecx, [esp + 0x1c]
push 0
push ecx
mov ecx, dword [esp + 0x68]
push 0x797e38
call fcn.005f4430
mov ecx, dword [esp + 0x60]
lea edx, [esp + 0xc]
push edx
push 0x797e38
call fcn.005f44c0
cmp dword [esp + 0x1c], ebx
jne 0x62880e
mov eax, dword [esi + 0x14]
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 4]
push eax
call fcn.005f44c0
cmp dword [eax], 9
jne 0x628803
lea eax, [esi + 0x18]
lea ecx, [esp + 0x48]
push eax
call fcn.005f2d00
lea ecx, [esp + 0x48]
call fcn.005f2e10
jmp 0x628822
cmp dword [esp + 0xc], 9
jne 0x628822
lea eax, [esi + 0x18]
lea ecx, [esp + 0xc]
push eax
call fcn.005f2d00
lea ecx, [esp + 0x1c]
call fcn.005f2e10
lea ecx, [esp + 0xc]
call fcn.005f2e10
lea ecx, [esp + 0x58]
call fcn.005f2e10
lea eax, [esi + 0x58]
mov ecx, edi
push eax
push 0x7b8e8c
call fcn.005f44c0
mov ecx, dword [esp + 0x98]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc