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

Disassembly:
mov eax, 0x1310
call fcn.1001ace0
mov eax, dword [0x1003e0c4]
xor eax, esp
mov dword [esp + 0x130c], eax
mov eax, dword [esp + 0x1314]
mov ecx, dword [esp + 0x1320]
push ebx
mov ebx, dword [esp + 0x131c]
push ebp
mov ebp, dword [esp + 0x1324]
push esi
mov esi, dword [esp + 0x1330]
push edi
mov edi, dword [sym.imp.Qt5Gui.dll_public:_class_QPointF___thiscall_QTransform::map_class_QPointF_const__]
push eax
lea eax, [esp + 0x30]
mov dword [esp + 0x24], ebx
push eax
mov dword [esp + 0x24], ecx
call edi
sub esp, 0x10
lea ecx, [esp + 0x4c]
movsd xmm0, qword [eax + 8]
subsd xmm0, qword [esi + 8]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [eax]
subsd xmm0, qword [esi]
movsd qword [esp], xmm0
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QPointF::constructor_double__double_]
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x58]
push eax
push 0
lea eax, [esp + 0x290]
push eax
call dword [sym.imp.Qt5Gui.dll_public:_class_QTransform___thiscall_QTransform::inverted_bool__]
mov ecx, eax
call edi
push 0x18
push ebp
call dword [sym.imp.GDI32.dll_SetTextAlign]
push 1
push ebp
call dword [sym.imp.GDI32.dll_SetBkMode]
mov ecx, dword [ebx + 0x2c]
test ecx, ecx
je 0x1000fde9
call dword [sym.imp.Qt5Gui.dll_public:_bool___thiscall_QFont::kerning_void_const]
mov byte [esp + 0x13], 1
test al, al
jne 0x1000fdee
mov byte [esp + 0x13], 0
mov eax, dword [ebx + 0x48]
xor edi, edi
cmp dword [eax + 8], 2
jne 0x1000ff84
sub eax, 0xffffff80
lea ecx, [esp + 0x2c]
push eax
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QVariant::constructor_class_QVariant_const__]
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x30]
call dword [sym.imp.Qt5Core.dll_public:_class_QMap_class_QString__class_QVariant____thiscall_QVariant::toMap_void_]
mov esi, dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QVariant::destructor_void_]
lea ecx, [esp + 0x2c]
call esi
push 0x1001e62c
lea ecx, [esp + 0x18]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::constructor_struct_QStringDataPtr_]
lea ecx, [esp + 0x2c]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QVariant::constructor_void_]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x18], eax
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x1000fe7b
lea eax, [esp + 0x14]
push eax
call fcn.10010a90
mov ebx, eax
test ebx, ebx
je 0x1000fe77
lea ecx, [ebx + 0xc]
push ecx
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.Qt5Core.dll_bool___cdecl_operator__class_QString_const___class_QString_const__]
add esp, 8
test al, al
lea eax, [ebx + 0x10]
je 0x1000fe7b
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x68]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QVariant::constructor_class_QVariant_const__]
lea ecx, [esp + 0x14]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_]
lea ecx, [esp + 0x2c]
call esi
push 0x1001e648
lea ecx, [esp + 0x18]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::constructor_struct_QStringDataPtr_]
lea ecx, [esp + 0x2c]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QVariant::constructor_void_]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x18], eax
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x1000feeb
lea eax, [esp + 0x14]
push eax
call fcn.10010a90
mov ebx, eax
test ebx, ebx
je 0x1000fee7
lea ecx, [ebx + 0xc]
push ecx
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.Qt5Core.dll_bool___cdecl_operator__class_QString_const___class_QString_const__]
add esp, 8
test al, al
lea eax, [ebx + 0x10]
je 0x1000feeb
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x40]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QVariant::constructor_class_QVariant_const__]
lea ecx, [esp + 0x14]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_]
lea ecx, [esp + 0x2c]
call esi
lea ecx, [esp + 0x3c]
call dword [sym.imp.Qt5Core.dll_public:_bool___thiscall_QVariant::toBool_void_const]
test al, al
je 0x1000ff30
lea ecx, [esp + 0x64]
call fcn.1000d9f0
test al, al
je 0x1000ff30
lea eax, [esp + 0x64]
push eax
call fcn.10010ad0
add esp, 4
mov edi, eax
lea ecx, [esp + 0x3c]
call esi
lea ecx, [esp + 0x64]
call esi
mov esi, dword [esp + 0x28]
mov eax, dword [esi]
test eax, eax
je 0x1000ff5d
cmp eax, 0xffffffff
je 0x1000ff80
or eax, 0xffffffff
lock xadd dword [esi], eax
setne al
test al, al
jne 0x1000ff80
mov esi, dword [esp + 0x28]
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x1000ff76
call fcn.1000e9e0
push 8
push dword [esi + 0xc]
mov ecx, esi
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QMapDataBase::freeTree_struct_QMapNodeBase___int_]
push esi
call dword [sym.imp.Qt5Core.dll_public:_static_void___cdecl_QMapDataBase::freeData_struct_QMapDataBase__]
add esp, 4
test edi, edi
jne 0x1000ff8e
push 0xc
call dword [sym.imp.GDI32.dll_GetStockObject]
mov edi, eax
push edi
push ebp
call dword [sym.imp.GDI32.dll_SelectObject]
cmp byte [esp + 0x13], 0
mov esi, dword [esp + 0x20]
mov dword [esp + 0x14], eax
movups xmm0, xmmword [esi + 0x30]
movups xmmword [esp + 0x3c], xmm0
mov ebx, dword [esp + 0x3c]
movq xmm0, qword [esi + 0x40]
movq qword [esp + 0x4c], xmm0
mov edi, dword [esp + 0x50]
jne 0x1000fff9
test byte [esi + 0xc], 1
jne 0x1000fff9
mov ecx, dword [esp + 0x4c]
xor eax, eax
mov edx, dword [esp + 0x48]
mov byte [esp + 0x13], 1
cmp eax, edi
jge 0x1000fffe
cmp dword [ebx + eax*8], 0
jne 0x1000fff9
cmp dword [ebx + eax*8 + 4], 0
jne 0x1000fff9
test dword [edx + eax*4], 0xffffff00
jne 0x1000fff9
test byte [ecx + eax], 2
jne 0x1000fff9
inc eax
jmp 0x1000ffd6
mov byte [esp + 0x13], 0
mov ecx, dword [esp + 0x1c]
call dword [sym.imp.Qt5Gui.dll_public:_double___thiscall_QTransform::m11_void_const]
mov ecx, dword [esp + 0x1c]
fstp dword [esp + 0x1304]
call dword [sym.imp.Qt5Gui.dll_public:_double___thiscall_QTransform::m12_void_const]
mov ecx, dword [esp + 0x1c]
fstp dword [esp + 0x1308]
call dword [sym.imp.Qt5Gui.dll_public:_double___thiscall_QTransform::m21_void_const]
mov ecx, dword [esp + 0x1c]
fstp dword [esp + 0x130c]
call dword [sym.imp.Qt5Gui.dll_public:_double___thiscall_QTransform::m22_void_const]
mov ecx, dword [esp + 0x1c]
fstp dword [esp + 0x1310]
call dword [sym.imp.Qt5Gui.dll_public:_double___thiscall_QTransform::dx_void_const]
mov ecx, dword [esp + 0x1c]
fstp dword [esp + 0x1314]
call dword [sym.imp.Qt5Gui.dll_public:_double___thiscall_QTransform::dy_void_const]
push 2
push ebp
fstp dword [esp + 0x1320]
call dword [sym.imp.GDI32.dll_SetGraphicsMode]
lea eax, [esp + 0x1304]
push eax
push ebp
call dword [sym.imp.GDI32.dll_SetWorldTransform]
cmp byte [esp + 0x13], 0
je 0x100101f9
mov dword [esp + 0x78], edi
cmp edi, 0x100
jle 0x100100ac
lea eax, [edi + edi]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ecx, dword [esp + 0x7c]
add esp, 4
mov esi, eax
mov dword [esp + 0x74], ecx
jmp 0x100100bb
lea esi, [esp + 0x84]
mov dword [esp + 0x74], 0x100
xor ecx, ecx
mov dword [esp + 0x7c], esi
test edi, edi
jle 0x100100e1
mov edx, dword [esp + 0x40]
nop dword [eax]
mov ax, word [edx + ecx*4]
mov word [esi + ecx*2], ax
inc ecx
mov esi, dword [esp + 0x7c]
cmp ecx, edi
jl 0x100100d0
movd xmm0, dword [ebx + 4]
lea ecx, [esp + 0x54]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x1001e670]
movsd qword [esp + 0x20], xmm0
call dword [sym.imp.Qt5Core.dll__y_QPointF__QBENXZ]
fadd qword [esp + 0x20]
xorps xmm0, xmm0
fstp qword [esp + 0x20]
movsd xmm1, qword [esp + 0x20]
comisd xmm1, xmm0
jb 0x1001012b
addsd xmm1, qword [0x1001e678]
cvttsd2si eax, xmm1
mov dword [esp + 0x18], eax
jmp 0x10010158
movaps xmm0, xmm1
subsd xmm0, qword [0x1001d1d0]
cvttsd2si eax, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, qword [0x1001e678]
cvttsd2si ecx, xmm1
add ecx, eax
mov dword [esp + 0x18], ecx
movd xmm0, dword [ebx]
lea ecx, [esp + 0x54]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x1001e670]
movsd qword [esp + 0x20], xmm0
call dword [sym.imp.Qt5Core.dll__x_QPointF__QBENXZ]
fadd qword [esp + 0x20]
xorps xmm0, xmm0
fstp qword [esp + 0x20]
movsd xmm1, qword [esp + 0x20]
comisd xmm1, xmm0
jb 0x1001019d
addsd xmm1, qword [0x1001e678]
cvttsd2si ecx, xmm1
jmp 0x100101c6
movaps xmm0, xmm1
subsd xmm0, qword [0x1001d1d0]
cvttsd2si eax, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, qword [0x1001e678]
cvttsd2si ecx, xmm1
add ecx, eax
push 0
push edi
push esi
push 0
push 0x10
push dword [esp + 0x2c]
push ecx
push ebp
call dword [sym.imp.GDI32.dll_ExtTextOutW]
mov eax, dword [esp + 0x7c]
lea ecx, [esp + 0x84]
cmp eax, ecx
je 0x10010545
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x10010542
lea eax, [esp + 0xb04]
mov dword [esp + 0xaf8], 0
mov dword [esp + 0xafc], eax
lea ecx, [esp + 0x54]
lea eax, [esp + 0x2e4]
mov dword [esp + 0xaf4], 0x100
mov dword [esp + 0x2d8], 0
mov dword [esp + 0x2dc], eax
mov dword [esp + 0x2d4], 0x100
call dword [sym.imp.Qt5Core.dll__y_QPointF__QBENXZ]
sub esp, 8
lea ecx, [esp + 0x5c]
fstp qword [esp]
call dword [sym.imp.Qt5Core.dll__x_QPointF__QBENXZ]
sub esp, 8
lea eax, [esp + 0x294]
fstp qword [esp]
push eax
call dword [sym.imp.Qt5Gui.dll_public:_static_class_QTransform___cdecl_QTransform::fromTranslate_double__double_]
mov ecx, dword [esi + 0x48]
lea eax, [esp + 0xb08]
add esp, 0x14
push eax
lea eax, [esp + 0x2d8]
push eax
push dword [esi + 0xc]
lea eax, [esp + 0x290]
push eax
lea eax, [esi + 0x30]
push eax
call dword [sym.imp.Qt5Gui.dll_public:_void___thiscall_QFontEngine::getGlyphPositions_struct_QGlyphLayout_const___class_QTransform_const___class_QFlags_enum_QTextItem::RenderFlag___class_QVarLengthArray_unsigned_int__256____class_QVarLengthArray_struct_QFixedPoint__256___]
mov ecx, dword [esp + 0x2d8]
test ecx, ecx
jne 0x100102f0
push dword [esp + 0x14]
mov eax, dword [sym.imp.GDI32.dll_SelectObject]
push ebp
call eax
mov eax, dword [esp + 0x2dc]
lea ecx, [esp + 0x2e4]
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
cmp eax, ecx
je 0x100102cf
push eax
call esi
add esp, 4
mov eax, dword [esp + 0xafc]
lea ecx, [esp + 0xb04]
cmp eax, ecx
je 0x100105a2
push eax
call esi
add esp, 4
jmp 0x100105a2
mov edi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jle 0x100104bd
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
lea eax, [ecx + ecx]
mov dword [esp + 0x6e8], eax
cmp eax, 0x100
jle 0x1001033a
shl eax, 2
push eax
call esi
mov ecx, dword [esp + 0x2dc]
add esp, 4
mov dword [esp + 0x6ec], eax
mov eax, dword [esp + 0x6e8]
mov dword [esp + 0x6e4], eax
jmp 0x10010353
lea eax, [esp + 0x6f4]
mov dword [esp + 0x6e4], 0x100
mov dword [esp + 0x6ec], eax
mov dword [esp + 0x78], ecx
cmp ecx, 0x100
jle 0x1001037d
lea eax, [ecx + ecx]
push eax
call esi
mov ecx, dword [esp + 0x2dc]
add esp, 4
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x74], eax
jmp 0x10010390
lea eax, [esp + 0x84]
mov dword [esp + 0x74], 0x100
mov dword [esp + 0x7c], eax
lea eax, [ecx - 1]
xor edx, edx
test eax, eax
jle 0x10010410
nop dword [eax]
mov eax, dword [esp + 0xafc]
mov ecx, dword [eax + edx*8 + 8]
mov eax, dword [eax + edx*8]
add ecx, 0x20
add eax, 0x20
sar ecx, 6
sar eax, 6
sub ecx, eax
mov eax, dword [esp + 0x6ec]
mov dword [eax + edx*8], ecx
mov eax, dword [esp + 0xafc]
mov ecx, dword [eax + edx*8 + 0xc]
mov eax, dword [eax + edx*8 + 4]
add ecx, 0x20
add eax, 0x20
sar ecx, 6
sar eax, 6
sub ecx, eax
mov eax, dword [esp + 0x6ec]
mov dword [eax + edx*8 + 4], ecx
mov eax, dword [esp + 0x2dc]
mov cx, word [eax + edx*4]
mov eax, dword [esp + 0x7c]
mov word [eax + edx*2], cx
inc edx
mov ecx, dword [esp + 0x2d8]
lea eax, [ecx - 1]
cmp edx, eax
jl 0x100103a0
mov eax, dword [esp + 0x6ec]
mov dword [eax + ecx*8 - 8], 0
mov ecx, dword [esp + 0x2d8]
mov eax, dword [esp + 0x6ec]
mov dword [eax + ecx*8 - 4], 0
mov eax, dword [esp + 0x2dc]
mov edx, dword [esp + 0x2d8]
mov cx, word [eax + edx*4 - 4]
mov eax, dword [esp + 0x7c]
mov word [eax + edx*2 - 2], cx
push dword [esp + 0x6ec]
mov ecx, dword [esp + 0xb00]
push dword [esp + 0x2dc]
push dword [esp + 0x84]
mov eax, dword [ecx + 4]
push 0
add eax, 0x20
sar eax, 6
push 0x2010
push eax
mov eax, dword [ecx]
add eax, 0x20
sar eax, 6
push eax
push ebp
call dword [sym.imp.GDI32.dll_ExtTextOutW]
mov eax, dword [esp + 0x7c]
lea ecx, [esp + 0x84]
cmp eax, ecx
je 0x100104a3
push eax
call edi
add esp, 4
mov eax, dword [esp + 0x6ec]
lea ecx, [esp + 0x6f4]
cmp eax, ecx
je 0x10010515
push eax
call edi
add esp, 4
jmp 0x10010515
xor esi, esi
test ecx, ecx
jle 0x10010515
mov ebx, dword [sym.imp.GDI32.dll_ExtTextOutW]
nop dword [eax]
mov eax, dword [esp + 0x2dc]
mov ecx, dword [esp + 0xafc]
push 0
push 1
movzx eax, word [eax + esi*4]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x28]
push eax
mov eax, dword [ecx + esi*8 + 4]
push 0
add eax, 0x20
sar eax, 6
push 0x10
push eax
mov eax, dword [ecx + esi*8]
add eax, 0x20
sar eax, 6
push eax
push ebp
call ebx
inc esi
cmp esi, dword [esp + 0x2d8]
jl 0x100104d0
mov eax, dword [esp + 0x2dc]
lea ecx, [esp + 0x2e4]
cmp eax, ecx
je 0x1001052d
push eax
call edi
add esp, 4
mov eax, dword [esp + 0xafc]
lea ecx, [esp + 0xb04]
cmp eax, ecx
je 0x10010545
push eax
call edi
add esp, 4
lea eax, [esp + 0x1304]
mov dword [esp + 0x1310], 0x3f800000
push eax
push ebp
mov dword [esp + 0x130c], 0x3f800000
mov dword [esp + 0x1320], 0
mov dword [esp + 0x131c], 0
mov dword [esp + 0x1314], 0
mov dword [esp + 0x1310], 0
call dword [sym.imp.GDI32.dll_SetWorldTransform]
push dword [esp + 0x14]
mov eax, dword [sym.imp.GDI32.dll_SelectObject]
push ebp
call eax
mov ecx, dword [esp + 0x131c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1001acc2
add esp, 0x1310
ret