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

Disassembly:
mov eax, 0x1118
call fcn.100143f0
mov ecx, dword [esp + 0x111c]
push ebx
push ebp
xor ebp, ebp
mov eax, dword [ecx + 8]
push esi
add eax, 0xfffffff6
push edi
cmp eax, 0x1d
mov dword [esp + 0x10], ebp
mov dword [esp + 0xb0], ebp
mov dword [esp + 0xa4], ebp
ja case.0x1000dcec.13
xor edx, edx
mov dl, byte [eax + 0x1000fa24]
jmp dword [edx*4 + 0x1000fa14]
mov dword [esp + 0x18], ebp
jmp 0x1000dd00
mov eax, dword [ecx + 0x24]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1130]
mov edx, dword [esp + 0x112c]
mov dword [esp + 0xb4], ebp
mov dword [esp + 0xac], ebp
mov ecx, dword [eax + 4]
mov ebx, dword [eax + 8]
mov eax, dword [edx + 0x25c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x1134]
mov dword [esp + 0xa0], eax
fld qword [edx + 0x18]
mov esi, dword [ecx + 0xc]
mov eax, dword [ecx + 4]
mov edi, dword [ecx + 8]
mov dword [esp + 0x98], esi
mov dword [esp + 0xa8], eax
sub esi, eax
mov eax, dword [ecx]
mov dword [esp + 0x58], edi
sub edi, eax
mov dword [esp + 0x28], ebp
mov dword [esp + 0x5c], esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x80], ebp
mov dword [esp + 0x50], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x54], ebp
mov dword [esp + 0x9c], ebp
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
call sub.MSVCRT.dll__ftol
cmp eax, 0x5a
jg 0x1000de64
je 0x1000de1a
test eax, eax
jne 0x1000de70
fild dword [esp + 0x1c]
push 8
push ebx
mov dword [esp + 0x64], esi
mov dword [esp + 0x1c], edi
fstp qword [esp + 0x38]
fild dword [esp + 0xb0]
fstp qword [esp + 0x40]
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [esp + 0x1c], eax
push 4
fild dword [esp + 0x20]
push ebx
fstp qword [esp + 0x78]
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fdivr qword [esp + 0x70]
jmp 0x1000df09
fild dword [esp + 0x1c]
push 0xa
push ebx
mov dword [esp + 0x64], edi
mov dword [esp + 0x1c], esi
fstp qword [esp + 0x38]
fild dword [esp + 0xa0]
fstp qword [esp + 0x40]
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [esp + 0x1c], eax
push 6
fild dword [esp + 0x20]
push ebx
fstp qword [esp + 0x78]
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fdivr qword [esp + 0x70]
jmp 0x1000df09
sub eax, 0xb4
je 0x1000dec4
sub eax, 0x5a
je 0x1000de7d
mov dword [esp + 0x10], 0xc0200001
jmp 0x1000df0d
fild dword [esp + 0x58]
push 0xa
push ebx
mov dword [esp + 0x64], edi
mov dword [esp + 0x1c], esi
fstp qword [esp + 0x38]
fild dword [esp + 0xb0]
fstp qword [esp + 0x40]
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [esp + 0x1c], eax
push 6
fild dword [esp + 0x20]
push ebx
fstp qword [esp + 0x78]
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fdivr qword [esp + 0x70]
jmp 0x1000df09
fild dword [esp + 0x58]
push 8
push ebx
mov dword [esp + 0x64], esi
mov dword [esp + 0x1c], edi
fstp qword [esp + 0x38]
fild dword [esp + 0xa0]
fstp qword [esp + 0x40]
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [esp + 0x1c], eax
push 4
fild dword [esp + 0x20]
push ebx
fstp qword [esp + 0x78]
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fdivr qword [esp + 0x70]
fstp qword [esp + 0x70]
fild dword [esp + 0x5c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x5c]
fmul qword [0x10017ab0]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x90], edx
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ecx
mov dword [esp + 0x2c], esi
call sub.MSVCRT.dll__ftol
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x10]
xor edi, edi
mov dword [esp + 0x1c], esi
cmp eax, edi
mov dword [esp + 0x94], edi
jne 0x1000e221
mov edx, dword [esp + 0x112c]
cmp dword [edx + 0x20], edi
je 0x1000e221
mov ecx, edx
mov dword [esp + 0x24], edi
cmp dword [ecx + 0x258], edi
jle 0x1000dfde
cmp dword [esp + 0x24], 0xfff
jae 0x1000dfde
mov eax, dword [ecx + 0x254]
mov al, byte [eax + edi]
mov edx, eax
and edx, 0xff
lea esi, [edx - 0xc8]
cmp esi, 0xd
ja case.0x1000dfbc.202
xor edx, edx
mov dl, byte [esi + 0x1000fa50]
jmp dword [edx*4 + 0x1000fa44]
mov edx, dword [esp + 0x24]
mov byte [esp + edx + 0x128], al
inc edx
mov dword [esp + 0x24], edx
mov eax, dword [ecx + 0x258]
inc edi
cmp edi, eax
jl 0x1000df8e
mov eax, dword [esp + 0x24]
mov ecx, 0xf
lea edi, [esp + 0xc4]
mov byte [esp + eax + 0x128], 0
mov eax, dword [esp + 0x112c]
fld qword [eax + 0x18]
lea esi, [eax + 0x28]
rep movsd dword es:[edi], dword [esi]
call sub.MSVCRT.dll__ftol
cmp eax, 0x5a
jg 0x1000e03a
je 0x1000e026
test eax, eax
jne 0x1000e07a
push 0x5a
push ebx
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [esp + 0x50], eax
xor eax, eax
jmp 0x1000e06c
push 0x58
push ebx
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [esp + 0x50], eax
mov eax, 0x384
jmp 0x1000e06c
sub eax, 0xb4
je 0x1000e05a
sub eax, 0x5a
jne 0x1000e07a
push 0x58
push ebx
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [esp + 0x50], eax
mov eax, 0xa8c
jmp 0x1000e06c
push 0x5a
push ebx
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [esp + 0x50], eax
mov eax, 0x708
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
cmp ebx, dword [esp + 0x20]
jne 0x1000e09e
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0xc4]
push 0x48
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_MulDiv]
neg eax
mov dword [esp + 0xc4], eax
lea eax, [esp + 0xc4]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
xor esi, esi
mov dword [esp + 0x58], eax
cmp eax, esi
jne 0x1000e0db
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
test eax, eax
je 0x1000e21d
call edi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x1000e221
push eax
push ebx
call dword [sym.imp.GDI32.dll_SelectObject]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, esi
mov dword [esp + 0xb0], eax
jne 0x1000e110
call edi
test eax, eax
je 0x1000e10c
call edi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x1000e110
mov dword [esp + 0x10], esi
push esi
push esi
push ebx
call dword [sym.imp.GDI32.dll_SetTextJustification]
test eax, eax
jne 0x1000e139
call edi
test eax, eax
je 0x1000e135
call edi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x1000e139
mov dword [esp + 0x10], esi
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0xbc]
push ecx
lea eax, [esp + 0x12c]
push edx
push eax
push ebx
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
test eax, eax
jne 0x1000e175
call edi
test eax, eax
je 0x1000e171
call edi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x1000e175
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0xc0]
mov ecx, dword [esp + 0x5c]
sub ecx, esi
mov dword [esp + 0x80], esi
mov eax, ecx
mov dword [esp + 0x2c], ecx
cdq
sub eax, edx
mov dword [esp + 0x5c], ecx
sar eax, 1
mov dword [esp + 0xa8], eax
mov eax, esi
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
neg eax
sbb eax, eax
and eax, esi
xor esi, esi
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xb0]
cmp eax, esi
je 0x1000e1f6
mov ecx, dword [esp + 0x20]
push eax
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
test eax, eax
jne 0x1000e1f6
call edi
test eax, eax
je 0x1000e1f2
call edi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x1000e1f6
mov dword [esp + 0x10], esi
mov edx, dword [esp + 0x58]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
test eax, eax
jne 0x1000e221
call edi
test eax, eax
je 0x1000e21d
call edi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x1000e221
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0x10]
test edi, edi
jne 0x1000f9fa
mov ebx, dword [esp + 0x112c]
xor esi, esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov ecx, dword [ebx + 0x25c]
cmp byte [ecx], 0
je 0x1000e2a4
mov al, byte [esi + ecx]
cmp al, 0xfe
je 0x1000e29b
cmp al, 0xff
je 0x1000e29b
cmp al, 0xfb
je 0x1000e29b
cmp al, 0xfc
je 0x1000e29b
cmp al, 0xfd
je 0x1000e29b
and eax, 0xff
push eax
call dword [sym.imp.MSVCRT.dll_isupper]
mov ecx, dword [ebx + 0x25c]
add esp, 4
test eax, eax
je 0x1000e287
xor eax, eax
mov al, byte [esi + ecx]
fld qword [ebx + eax*8 - 0x180]
jmp 0x1000e293
xor edx, edx
mov dl, byte [esi + ecx]
fld qword [ebx + edx*8 - 0x1b0]
fadd qword [esp + 0x40]
fstp qword [esp + 0x40]
mov al, byte [esi + ecx + 1]
inc esi
test al, al
jne 0x1000e249
mov eax, dword [ebx + 0x78]
cmp eax, 0xffffffff
mov dword [esp + 0x18], eax
je 0x1000e2c0
fild dword [esp + 0x18]
fmul qword [esp + 0x70]
fmul qword [0x10017ab8]
jmp 0x1000e2d9
fld qword [esp + 0x40]
fcomp qword [0x10017aa8]
fnstsw ax
test ah, 0x40
jne 0x1000e2dd
fild dword [esp + 0x14]
fdiv qword [esp + 0x40]
fstp qword [esp + 0x40]
mov eax, dword [ebx + 0x14]
mov ecx, dword [esp + 0x20]
push eax
push ecx
call dword [sym.imp.GDI32.dll_SetBkColor]
mov esi, dword [esp + 0xa0]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xb8], eax
mov ebx, ecx
mov al, byte [esi]
mov dword [esp + 0x14], 0
test al, al
je 0x1000e6fb
lea edx, [esp + 0x100]
mov dword [esp + 0x50], edx
jmp 0x1000e323
mov ecx, dword [esp + 0x2c]
test edi, edi
jne 0x1000e9a2
cmp al, 0xfe
mov dword [esp + 0x98], edi
mov dword [esp + 0x58], edi
je 0x1000e342
cmp al, 0xff
jne 0x1000e374
cmp al, 0xfe
jne 0x1000e35c
mov ebx, dword [esp + 0x1c]
inc esi
mov edx, 1
mov dword [esp + 0xa0], esi
mov dword [esp + 0x98], edx
jmp 0x1000e379
inc esi
mov edx, 1
mov ebx, ecx
mov dword [esp + 0xa0], esi
mov dword [esp + 0x98], edx
jmp 0x1000e379
mov edx, 1
mov al, byte [esi]
cmp al, 0xfb
je 0x1000e387
cmp al, 0xfc
jne 0x1000e3b2
cmp al, 0xfb
jne 0x1000e38b
mov ebx, ecx
jmp 0x1000e392
mov ebx, dword [esp + 0xa8]
cmp al, 0xfb
je 0x1000e3a1
mov eax, dword [esp + 0xa8]
mov edi, ecx
sub edi, eax
inc esi
mov dword [esp + 0x94], edi
mov dword [esp + 0xa0], esi
jmp 0x1000e3b9
mov edi, dword [esp + 0x94]
cmp byte [esi], 0xfd
jne 0x1000e3e5
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x80]
sub ebx, edi
inc esi
mov dword [esp + 0x94], edi
mov dword [esp + 0xa0], esi
mov dword [esp + 0x58], edx
mov dword [esp + 0xac], edx
xor eax, eax
mov al, byte [esi]
push eax
call dword [sym.imp.MSVCRT.dll_isupper]
add esp, 4
test eax, eax
je 0x1000e40d
xor ecx, ecx
mov cl, byte [esi]
mov edx, ecx
mov ecx, dword [esp + 0x112c]
fld qword [ecx + edx*8 - 0x180]
jmp 0x1000e41f
mov ecx, dword [esp + 0x112c]
xor eax, eax
mov al, byte [esi]
fld qword [ecx + eax*8 - 0x1b0]
fmul qword [esp + 0x40]
fcom qword [0x10017ac0]
fnstsw ax
test ah, 1
je 0x1000e436
fsub qword [0x10017ac8]
fld qword [ecx + 0x18]
call sub.MSVCRT.dll__ftol
cmp eax, 0x5a
jg 0x1000e564
je 0x1000e4da
test eax, eax
jne 0x1000e67f
fld qword [esp + 0x30]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x38]
mov dword [esp + 0x60], eax
call sub.MSVCRT.dll__ftol
fadd qword [esp + 0x30]
mov esi, eax
lea ecx, [edi + esi]
fld st(0)
mov dword [esp + 0x64], ecx
call sub.MSVCRT.dll__ftol
fstp qword [esp + 0x30]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x98]
add edi, ebx
add edi, esi
test eax, eax
mov dword [esp + 0x6c], edi
je 0x1000e4b9
fld qword [esp + 0x30]
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x14]
inc edx
mov dword [ecx], eax
add ecx, 4
mov dword [esp + 0x14], edx
mov dword [esp + 0x50], ecx
mov eax, dword [esp + 0x58]
test eax, eax
je 0x1000e681
fld qword [esp + 0x30]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x9c], eax
jmp 0x1000e681
fld qword [esp + 0x38]
fsub st(1)
fst qword [esp + 0x38]
fld qword [esp + 0x30]
call sub.MSVCRT.dll__ftol
mov edx, dword [esp + 0x94]
mov esi, eax
add edx, esi
fld st(0)
mov dword [esp + 0x60], edx
call sub.MSVCRT.dll__ftol
mov edi, eax
mov eax, dword [esp + 0x94]
fxch st(1)
fadd st(1)
add eax, ebx
mov dword [esp + 0x64], edi
add eax, esi
mov dword [esp + 0x68], eax
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x98]
test eax, eax
fstp st(0)
je 0x1000e66e
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x14]
inc edx
mov dword [eax], edi
add eax, 4
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x58]
test eax, eax
mov dword [esp + 0x14], edx
je 0x1000e681
mov dword [esp + 0x9c], edi
jmp 0x1000e681
sub eax, 0xb4
je 0x1000e5fe
sub eax, 0x5a
jne 0x1000e67f
fld qword [esp + 0x30]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x38]
mov esi, eax
mov ecx, esi
sub ecx, edi
mov dword [esp + 0x60], ecx
call sub.MSVCRT.dll__ftol
fadd qword [esp + 0x38]
sub esi, ebx
mov dword [esp + 0x64], eax
sub esi, edi
fld st(0)
mov dword [esp + 0x68], esi
call sub.MSVCRT.dll__ftol
fstp qword [esp + 0x38]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x98]
test eax, eax
je 0x1000e5dd
fld qword [esp + 0x38]
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x14]
inc edx
mov dword [ecx], eax
add ecx, 4
mov dword [esp + 0x14], edx
mov dword [esp + 0x50], ecx
mov eax, dword [esp + 0x58]
test eax, eax
je 0x1000e681
fld qword [esp + 0x38]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x9c], eax
jmp 0x1000e681
fld qword [esp + 0x30]
fsub st(1)
fst qword [esp + 0x30]
fld st(0)
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x38]
mov edi, eax
mov dword [esp + 0x60], edi
call sub.MSVCRT.dll__ftol
mov esi, eax
mov eax, dword [esp + 0x94]
fxch st(1)
fadd st(1)
mov edx, esi
sub edx, eax
mov dword [esp + 0x64], edx
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x98]
sub esi, ebx
sub esi, ecx
test eax, eax
fstp st(0)
mov dword [esp + 0x6c], esi
je 0x1000e66e
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x14]
inc edx
mov dword [eax], edi
add eax, 4
mov dword [esp + 0x14], edx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x58]
test eax, eax
je 0x1000e681
mov dword [esp + 0x9c], edi
jmp 0x1000e681
fstp st(0)
mov esi, dword [esp + 0xa0]
xor eax, eax
mov al, byte [esi]
push eax
call dword [sym.imp.MSVCRT.dll_isupper]
add esp, 4
test eax, eax
je 0x1000e6e4
mov edx, dword [esp + 0x20]
push 0
push 0
lea ecx, [esp + 0x68]
push 0
push ecx
push 2
push 0
push 0
push edx
call dword [sym.imp.GDI32.dll_ExtTextOutA]
test eax, eax
jne 0x1000e6e4
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
test eax, eax
je 0x1000e6dc
call edi
mov edi, eax
and edi, 0xffff
or edi, 0x80070000
mov dword [esp + 0x10], edi
jmp 0x1000e6e8
xor edi, edi
mov dword [esp + 0x10], edi
jmp 0x1000e6e8
mov edi, dword [esp + 0x10]
mov al, byte [esi + 1]
inc esi
test al, al
mov dword [esp + 0xa0], esi
jne 0x1000e31f
test edi, edi
jne 0x1000e9a2
mov eax, dword [esp + 0x112c]
mov eax, dword [eax + 0x68]
test eax, eax
mov dword [esp + 0x18], eax
jle 0x1000e9a2
fld qword [esp + 0x70]
fmul qword [0x10017ab8]
fimul dword [esp + 0x18]
call sub.MSVCRT.dll__ftol
mov edi, eax
mov eax, dword [esp + 0x112c]
mov edx, dword [esp + 0x80]
mov esi, dword [eax + 0x24]
mov dword [eax + 0x68], edi
fld qword [eax + 0x18]
neg esi
sbb esi, esi
and esi, edx
call sub.MSVCRT.dll__ftol
cmp eax, 0x5a
jg 0x1000e831
je 0x1000e7c7
test eax, eax
jne 0x1000e919
fld qword [esp + 0x8c]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x38]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x60], eax
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x30]
mov ebx, eax
lea ecx, [esi + ebx]
mov dword [esp + 0x64], ecx
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0x1c]
lea edx, [esi + edi]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x2c]
add edx, ebx
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
lea edx, [esi + ecx]
add esi, ecx
add edx, ebx
sub esi, edi
mov dword [esp + 0x44], edx
add esi, ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], esi
jmp 0x1000e919
fld qword [esp + 0x30]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x38]
mov ebx, eax
lea eax, [esi + ebx]
mov dword [esp + 0x60], eax
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x84]
lea ecx, [esi + edi]
mov dword [esp + 0x80], eax
add ecx, ebx
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ecx
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x4c], eax
lea edx, [esi + ecx]
add esi, ecx
add edx, ebx
sub esi, edi
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x80]
add esi, ebx
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], esi
jmp 0x1000e919
sub eax, 0xb4
je 0x1000e8af
sub eax, 0x5a
jne 0x1000e919
fld qword [esp + 0x30]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x84]
mov ebx, eax
mov dword [esp + 0x18], eax
sub ebx, esi
mov dword [esp + 0x60], ebx
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x38]
mov dword [esp + 0x80], eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x18]
sub eax, esi
sub eax, edi
mov dword [esp + 0x68], eax
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x80]
sub edi, esi
sub ebx, ecx
sub edi, ecx
mov ecx, dword [esp + 0x18]
add edi, ecx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], eax
jmp 0x1000e919
fld qword [esp + 0x8c]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x38]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x60], eax
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x30]
mov ebx, eax
mov dword [esp + 0x80], eax
sub ebx, esi
mov dword [esp + 0x64], ebx
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x68], eax
mov edx, ecx
mov dword [esp + 0x48], eax
sub edx, esi
sub edx, edi
sub edi, esi
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x2c]
sub edi, edx
sub ebx, edx
add edi, ecx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x4c], edi
mov ebx, dword [esp + 0x20]
mov edi, dword [sym.imp.GDI32.dll_ExtTextOutA]
push 0
push 0
lea eax, [esp + 0x68]
push 0
push eax
push 2
push 0
push 0
push ebx
call edi
test eax, eax
jne 0x1000e961
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
je 0x1000e959
call esi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x1000e96b
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x1000e96b
mov eax, dword [esp + 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1000e9a2
push eax
push eax
lea ecx, [esp + 0x48]
push eax
push ecx
push 2
push eax
push eax
push ebx
call edi
test eax, eax
jne 0x1000e9a2
call esi
test eax, eax
je 0x1000e99a
call esi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x1000e9a2
mov dword [esp + 0x10], 0
push 0
call fcn.10013100
test eax, eax
jne 0x1000ebc7
mov ebx, dword [esp + 0x112c]
mov eax, dword [ebx + 8]
cmp eax, 0x37
je 0x1000ebc7
cmp eax, 0x38
je 0x1000ebc7
push 0
call dword [sym.imp.MSVCRT.dll_time]
add esp, 4
push eax
call dword [sym.imp.MSVCRT.dll_srand]
mov edi, dword [sym.imp.MSVCRT.dll_rand]
add esp, 4
call edi
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmul qword [0x10017ad0]
fmul qword [0x10017ad8]
fsubr qword [0x10017ac0]
fmul qword [esp + 0x70]
call sub.MSVCRT.dll__ftol
mov edx, dword [esp + 0x1130]
mov esi, eax
mov eax, dword [edx + 8]
push eax
call dword [sym.imp.GDI32.dll_GetMapMode]
cmp eax, 8
jne 0x1000ea2a
lea esi, [esi + esi*4]
shl esi, 1
fld qword [ebx + 0x18]
call sub.MSVCRT.dll__ftol
cmp eax, 0x5a
jg 0x1000eaf3
je 0x1000ea9c
test eax, eax
jne 0x1000ebab
fld qword [esp + 0x8c]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x60], eax
call edi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x5c]
fild dword [esp + 0x18]
sub eax, esi
mov dword [esp + 0x18], eax
fmul qword [0x10017ad0]
fild dword [esp + 0x18]
fmulp st(1)
fadd qword [esp + 0x38]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x30]
mov edi, eax
mov dword [esp + 0x64], edi
call sub.MSVCRT.dll__ftol
add esi, edi
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], esi
jmp 0x1000ebab
call edi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x5c]
fild dword [esp + 0x18]
sub eax, esi
mov dword [esp + 0x18], eax
fmul qword [0x10017ad0]
fild dword [esp + 0x18]
fmulp st(1)
fadd qword [esp + 0x30]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x38]
mov edi, eax
mov dword [esp + 0x60], edi
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x84]
add esi, edi
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], esi
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x6c], eax
jmp 0x1000ebab
sub eax, 0xb4
je 0x1000eb58
sub eax, 0x5a
jne 0x1000ebab
call edi
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
lea edx, [esi + ecx]
mov dword [esp + 0x18], edx
fmul qword [0x10017ad0]
fild dword [esp + 0x18]
fmulp st(1)
fsubr qword [esp + 0x30]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x84]
mov edi, eax
mov dword [esp + 0x60], edi
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x38]
sub edi, esi
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], edi
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x6c], eax
jmp 0x1000ebab
fld qword [esp + 0x8c]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x60], eax
call edi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x5c]
fild dword [esp + 0x18]
lea ecx, [esi + eax]
mov dword [esp + 0x18], ecx
fmul qword [0x10017ad0]
fild dword [esp + 0x18]
fmulp st(1)
fsubr qword [esp + 0x38]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x30]
mov edi, eax
mov dword [esp + 0x64], edi
call sub.MSVCRT.dll__ftol
sub edi, esi
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edi
mov eax, dword [esp + 0x20]
push 0
push 0
lea edx, [esp + 0x68]
push 0
push edx
push 2
push 0
push 0
push eax
call dword [sym.imp.GDI32.dll_ExtTextOutA]
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x1000f9e3
mov ecx, dword [esp + 0x112c]
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x1000f9e3
lea edx, [esp + 0xc4]
push edx
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
mov edi, eax
test edi, edi
mov dword [esp + 0x58], edi
jne 0x1000ec2b
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
je 0x1000ec1e
call esi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x1000f9e3
mov dword [esp + 0x10], 0
jmp 0x1000f9e3
mov eax, dword [esp + 0x112c]
mov ebx, dword [esp + 0x20]
mov ecx, dword [eax + 0x64]
push ecx
push ebx
call dword [sym.imp.GDI32.dll_SetTextColor]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xffffffff
mov dword [esp + 0x80], eax
jne 0x1000ec73
call esi
test eax, eax
je 0x1000ec6b
call esi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x1000ec77
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x1000ec77
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x1000ecae
push edi
push ebx
call dword [sym.imp.GDI32.dll_SelectObject]
test eax, eax
mov dword [esp + 0xb0], eax
jne 0x1000ecae
call esi
test eax, eax
je 0x1000eca6
call esi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x1000ecae
mov dword [esp + 0x10], 0
push 0
push 0
push ebx
call dword [sym.imp.GDI32.dll_SetTextJustification]
test eax, eax
jne 0x1000ecdd
call esi
test eax, eax
je 0x1000ecd5
call esi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x1000ecdd
mov dword [esp + 0x10], 0
mov edi, 6
push edi
push ebx
call dword [sym.imp.GDI32.dll_SetTextAlign]
cmp eax, 0xffffffff
mov dword [esp + 0x1c], eax
jne 0x1000ed0d
call esi
test eax, eax
je 0x1000fa07
call esi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
xor ebx, ebx
mov edx, dword [esp + 0x112c]
mov ecx, dword [edx + 8]
lea eax, [ecx - 0xa]
cmp eax, 0x1d
ja case.0x1000ed2d.15
xor edx, edx
mov dl, byte [eax + 0x1000fa78]
jmp dword [edx*4 + 0x1000fa60]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x14]
mov esi, 0xd
xor eax, eax
mov edx, 1
cmp ebx, esi
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], 7
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], edi
mov dword [esp + 0x54], eax
jne 0x1000ed74
cmp ebp, edi
jne 0x1000ed74
mov eax, edx
jmp 0x1000ed76
xor eax, eax
sub ecx, esi
je 0x1000edea
dec ecx
je 0x1000edb7
dec ecx
jne 0x1000f0ec
cmp ebx, 0x12
jne 0x1000eda2
cmp ebp, edi
jne 0x1000eda2
mov eax, edx
mov dword [esp + 0x4c], esi
mov dword [esp + 0x7c], 5
xor ebp, ebp
jmp 0x1000f0f6
xor eax, eax
mov dword [esp + 0x4c], esi
mov dword [esp + 0x7c], 5
xor ebp, ebp
jmp 0x1000f0f6
cmp ebx, 0xf
jne 0x1000edd5
cmp ebp, edi
jne 0x1000edd5
mov eax, edx
mov dword [esp + 0x4c], esi
mov dword [esp + 0x7c], 2
xor ebp, ebp
jmp 0x1000f0f6
xor eax, eax
mov dword [esp + 0x4c], esi
mov dword [esp + 0x7c], 2
xor ebp, ebp
jmp 0x1000f0f6
cmp ebx, esi
jne 0x1000edfb
cmp ebp, edi
jne 0x1000edfb
mov eax, edx
xor ebp, ebp
jmp 0x1000f0f6
xor eax, eax
xor ebp, ebp
jmp 0x1000f0f6
mov eax, 4
mov edx, 2
sub ecx, 0xa
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x54], edx
je 0x1000eec9
dec ecx
je 0x1000ee83
dec ecx
jne 0x1000eef7
mov ebx, dword [esp + 0x24]
cmp ebx, 0xd
jne 0x1000ee65
cmp dword [esp + 0x14], edi
jne 0x1000ee65
mov ebp, dword [esp + 0x104]
mov eax, 1
mov dword [esp + 0x4c], 8
mov dword [esp + 0x7c], 5
jmp 0x1000f0f6
mov ebp, dword [esp + 0x104]
xor eax, eax
mov dword [esp + 0x4c], 8
mov dword [esp + 0x7c], 5
jmp 0x1000f0f6
mov ebx, dword [esp + 0x24]
cmp ebx, 0xa
jne 0x1000eeaf
cmp dword [esp + 0x14], edi
jne 0x1000eeaf
mov ebp, dword [esp + 0x104]
mov eax, 1
mov dword [esp + 0x4c], 8
mov dword [esp + 0x7c], edx
jmp 0x1000f0f6
mov ebp, dword [esp + 0x104]
xor eax, eax
mov dword [esp + 0x4c], 8
mov dword [esp + 0x7c], edx
jmp 0x1000f0f6
mov ebx, dword [esp + 0x24]
cmp ebx, 8
jne 0x1000eee9
cmp dword [esp + 0x14], edi
jne 0x1000eee9
mov ebp, dword [esp + 0x104]
mov eax, 1
jmp 0x1000f0f6
mov ebp, dword [esp + 0x104]
xor eax, eax
jmp 0x1000f0f6
mov eax, dword [esp + 0xb4]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x104]
jmp 0x1000f0f6
lea eax, [ecx - 0x11]
mov edx, 1
mov esi, 5
cmp eax, 0x13
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], 0xb
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], edx
mov dword [esp + 0x54], ebx
ja case.0x1000ef54.21
xor ecx, ecx
mov cl, byte [eax + 0x1000faac]
jmp dword [ecx*4 + 0x1000fa98]
mov ebx, dword [esp + 0x24]
cmp ebx, 0xc
jne 0x1000ef7a
cmp dword [esp + 0x14], edi
jne 0x1000ef7a
mov eax, edx
mov dword [esp + 0xa4], edx
xor ebp, ebp
jmp 0x1000f0f6
xor eax, eax
mov dword [esp + 0xa4], edx
xor ebp, ebp
jmp 0x1000f0f6
mov ebx, dword [esp + 0x24]
cmp ebx, 0xe
jne 0x1000efb2
cmp dword [esp + 0x14], edi
jne 0x1000efb2
mov eax, edx
mov dword [esp + 0x4c], 0xc
mov dword [esp + 0x7c], 2
xor ebp, ebp
jmp 0x1000f0f6
xor eax, eax
mov dword [esp + 0x4c], 0xc
mov dword [esp + 0x7c], 2
xor ebp, ebp
jmp 0x1000f0f6
mov ebx, dword [esp + 0x24]
cmp ebx, 0x11
jne 0x1000efef
cmp dword [esp + 0x14], edi
jne 0x1000efef
mov eax, edx
mov dword [esp + 0x4c], 0xc
mov dword [esp + 0x7c], esi
xor ebp, ebp
jmp 0x1000f0f6
xor eax, eax
mov dword [esp + 0x4c], 0xc
mov dword [esp + 0x7c], esi
xor ebp, ebp
jmp 0x1000f0f6
mov edx, 1
sub ecx, 0x25
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], 7
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], edx
mov dword [esp + 0x54], ebx
je 0x1000f0b7
dec ecx
je 0x1000f07b
dec ecx
jne case.0x1000ef54.21
mov ebx, dword [esp + 0x24]
cmp ebx, 0xd
jne 0x1000f065
cmp dword [esp + 0x14], 4
jne 0x1000f065
mov eax, edx
mov dword [esp + 0x48], 8
mov dword [esp + 0x78], 5
xor ebp, ebp
jmp 0x1000f0f6
xor eax, eax
mov dword [esp + 0x48], 8
mov dword [esp + 0x78], 5
xor ebp, ebp
jmp 0x1000f0f6
mov ebx, dword [esp + 0x24]
cmp ebx, 0xa
jne 0x1000f0a1
cmp dword [esp + 0x14], 4
jne 0x1000f0a1
mov eax, edx
mov dword [esp + 0x48], 8
mov dword [esp + 0x78], 2
xor ebp, ebp
jmp 0x1000f0f6
xor eax, eax
mov dword [esp + 0x48], 8
mov dword [esp + 0x78], 2
xor ebp, ebp
jmp 0x1000f0f6
mov ebx, dword [esp + 0x24]
cmp ebx, 8
jne 0x1000f0d4
cmp dword [esp + 0x14], 4
jne 0x1000f0d4
mov eax, edx
mov dword [esp + 0xa4], edx
xor ebp, ebp
jmp 0x1000f0f6
xor eax, eax
mov dword [esp + 0xa4], edx
xor ebp, ebp
jmp 0x1000f0f6
mov eax, dword [esp + 0xb4]
mov ebx, dword [esp + 0x24]
xor ebp, ebp
jmp 0x1000f0f6
mov ebx, dword [esp + 0x24]
xor eax, eax
test eax, eax
je 0x1000f79f
mov edx, dword [esp + 0x112c]
fld qword [edx + 0x18]
call sub.MSVCRT.dll__ftol
cmp eax, 0x5a
jg 0x1000f44b
je 0x1000f2cf
test eax, eax
jne 0x1000f8f4
test ebp, ebp
jne 0x1000f136
fld qword [esp + 0x8c]
call sub.MSVCRT.dll__ftol
mov ebp, eax
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0x14]
cmp edi, eax
jge 0x1000f1bd
fld qword [esp + 0x84]
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0x2c]
mov ebx, dword [sym.imp.GDI32.dll_ExtTextOutA]
mov edx, edi
add ecx, eax
mov dword [esp + 0x18], ecx
lea esi, [esp + edx*4 + 0x104]
mov eax, edi
push 0
cdq
sub eax, edx
sar eax, 1
shl eax, 2
mov edx, dword [esp + eax + 0x44]
mov ecx, dword [esp + eax + 0x74]
push ecx
mov ecx, dword [esp + 0x113c]
lea eax, [esp + edx + 0x130]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esi - 4]
push ecx
push 4
sub eax, ebp
push edx
cdq
sub eax, edx
sar eax, 1
add eax, ebp
push eax
mov eax, dword [esp + 0x3c]
push eax
call ebx
mov ebp, dword [esi]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x14]
add edi, 2
add esi, 8
cmp edi, eax
jl 0x1000f167
jmp 0x1000f1c3
mov ebx, dword [sym.imp.GDI32.dll_ExtTextOutA]
mov eax, dword [esp + 0xa4]
mov esi, dword [esp + 0x2c]
xor ebp, ebp
cmp eax, ebp
je 0x1000f22f
mov edi, dword [esp + 0x20]
push 2
push edi
call dword [sym.imp.GDI32.dll_SetTextAlign]
cmp eax, 0xffffffff
je 0x1000f24e
mov eax, dword [esp + 0x14]
push ebp
cdq
fld qword [esp + 0x88]
sub eax, edx
sar eax, 1
shl eax, 2
mov edx, dword [esp + eax + 0x44]
mov ecx, dword [esp + eax + 0x74]
push ecx
mov ecx, dword [esp + 0x113c]
lea eax, [esp + edx + 0x130]
push eax
push ecx
push 4
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x44]
add esi, eax
push esi
call sub.MSVCRT.dll__ftol
push eax
push edi
call ebx
jmp 0x1000f8f0
cmp dword [esp + 0xac], ebp
je 0x1000f8f4
mov esi, dword [esp + 0x20]
push 6
push esi
call dword [sym.imp.GDI32.dll_SetTextAlign]
cmp eax, 0xffffffff
jne 0x1000f278
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
je 0x1000f26f
call esi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x1000f8f4
mov dword [esp + 0x10], ebp
jmp 0x1000f8f4
mov eax, dword [esp + 0x14]
push ebp
cdq
fld qword [esp + 0x88]
sub eax, edx
sar eax, 1
shl eax, 2
mov edx, dword [esp + eax + 0x74]
mov eax, dword [esp + eax + 0x44]
push edx
mov edx, dword [esp + 0x113c]
lea ecx, [esp + eax + 0x130]
push ecx
push edx
push 4
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x44]
push eax
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0xb4]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
push eax
push esi
call ebx
jmp 0x1000f8f0
test ebp, ebp
jne 0x1000f2e1
fld qword [esp + 0x84]
call sub.MSVCRT.dll__ftol
mov ebp, eax
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0x14]
cmp edi, eax
jge 0x1000f35f
fld qword [esp + 0x8c]
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0x2c]
mov edx, edi
lea ebx, [ecx + eax]
lea esi, [esp + edx*4 + 0x104]
mov eax, edi
push 0
cdq
sub eax, edx
sar eax, 1
shl eax, 2
mov edx, dword [esp + eax + 0x44]
mov ecx, dword [esp + eax + 0x74]
push ecx
mov ecx, dword [esp + 0x113c]
lea eax, [esp + edx + 0x130]
mov edx, dword [esi - 4]
push eax
mov eax, ebp
sub eax, edx
push ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x30]
sar eax, 1
sub ebp, eax
push 4
push ebp
push ebx
push edx
call dword [sym.imp.GDI32.dll_ExtTextOutA]
mov ebp, dword [esi]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x14]
add edi, 2
add esi, 8
cmp edi, eax
jl 0x1000f309
mov eax, dword [esp + 0xa4]
mov esi, dword [esp + 0x20]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
xor ebx, ebx
cmp eax, ebx
je 0x1000f3d3
push 2
push esi
call dword [sym.imp.GDI32.dll_SetTextAlign]
cmp eax, 0xffffffff
je 0x1000f583
mov eax, dword [esp + 0x14]
push ebx
cdq
fld qword [esp + 0x3c]
sub eax, edx
sar eax, 1
shl eax, 2
mov edx, dword [esp + eax + 0x44]
mov ecx, dword [esp + eax + 0x74]
push ecx
mov ecx, dword [esp + 0x113c]
lea eax, [esp + edx + 0x130]
push eax
push ecx
push 4
call sub.MSVCRT.dll__ftol
fld qword [esp + 0xa0]
push eax
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0x44]
add ecx, eax
push ecx
push esi
jmp 0x1000f8ea
cmp dword [esp + 0xac], ebx
je 0x1000f8f4
push 6
push esi
call dword [sym.imp.GDI32.dll_SetTextAlign]
cmp eax, 0xffffffff
je 0x1000f583
mov eax, dword [esp + 0x14]
push ebx
cdq
fld qword [esp + 0x3c]
sub eax, edx
sar eax, 1
shl eax, 2
mov edx, dword [esp + eax + 0x74]
mov eax, dword [esp + eax + 0x44]
push edx
mov edx, dword [esp + 0x113c]
lea ecx, [esp + eax + 0x130]
push ecx
push edx
push 4
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0xb0]
mov edx, ecx
sub edx, eax
mov eax, edx
cdq
fld qword [esp + 0xa0]
sub eax, edx
sar eax, 1
sub ecx, eax
push ecx
call sub.MSVCRT.dll__ftol
push eax
push esi
jmp 0x1000f8ea
sub eax, 0xb4
je 0x1000f5fc
sub eax, 0x5a
jne 0x1000f8f4
test ebp, ebp
jne 0x1000f471
fld qword [esp + 0x84]
call sub.MSVCRT.dll__ftol
mov ebp, eax
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0x14]
cmp edi, eax
jge 0x1000f4fa
fld qword [esp + 0x8c]
call sub.MSVCRT.dll__ftol
mov ebx, eax
mov eax, dword [esp + 0x2c]
sub ebx, eax
mov eax, edi
lea esi, [esp + eax*4 + 0x104]
mov eax, edi
push 0
cdq
sub eax, edx
sar eax, 1
shl eax, 2
mov edx, dword [esp + eax + 0x44]
mov ecx, dword [esp + eax + 0x74]
push ecx
mov ecx, dword [esp + 0x113c]
lea eax, [esp + edx + 0x130]
push eax
mov eax, dword [esi - 4]
sub eax, ebp
push ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x30]
sar eax, 1
add eax, ebp
push 4
push eax
push ebx
push edx
call dword [sym.imp.GDI32.dll_ExtTextOutA]
mov ebp, dword [esi]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x14]
add edi, 2
add esi, 8
cmp edi, eax
jl 0x1000f49a
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, dword [esp + 0x20]
jmp 0x1000f504
mov esi, dword [esp + 0x20]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov eax, dword [esp + 0xa4]
xor ebx, ebx
cmp eax, ebx
je 0x1000f568
push 2
push esi
call dword [sym.imp.GDI32.dll_SetTextAlign]
cmp eax, 0xffffffff
je 0x1000f583
mov eax, dword [esp + 0x14]
push ebx
cdq
fld qword [esp + 0x3c]
sub eax, edx
sar eax, 1
shl eax, 2
mov edx, dword [esp + eax + 0x44]
mov ecx, dword [esp + eax + 0x74]
push ecx
mov ecx, dword [esp + 0x113c]
lea eax, [esp + edx + 0x130]
push eax
push ecx
push 4
call sub.MSVCRT.dll__ftol
fld qword [esp + 0xa0]
push eax
call sub.MSVCRT.dll__ftol
sub eax, dword [esp + 0x44]
push eax
push esi
jmp 0x1000f8ea
cmp dword [esp + 0xac], ebx
je 0x1000f8f4
push 6
push esi
call dword [sym.imp.GDI32.dll_SetTextAlign]
cmp eax, 0xffffffff
jne 0x1000f5a7
call edi
test eax, eax
je 0x1000f59e
call edi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x1000f8f4
mov dword [esp + 0x10], ebx
jmp 0x1000f8f4
mov eax, dword [esp + 0x14]
push ebx
cdq
fld qword [esp + 0x3c]
sub eax, edx
sar eax, 1
shl eax, 2
mov edx, dword [esp + eax + 0x74]
mov eax, dword [esp + eax + 0x44]
push edx
mov edx, dword [esp + 0x113c]
lea ecx, [esp + eax + 0x130]
push ecx
push edx
push 4
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0xb0]
sub eax, ecx
cdq
fld qword [esp + 0xa0]
sub eax, edx
sar eax, 1
add eax, ecx
push eax
call sub.MSVCRT.dll__ftol
push eax
push esi
jmp 0x1000f8ea
test ebp, ebp
jne 0x1000f60e
fld qword [esp + 0x8c]
call sub.MSVCRT.dll__ftol
mov ebp, eax
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0x14]
cmp edi, eax
jge 0x1000f68d
fld qword [esp + 0x84]
call sub.MSVCRT.dll__ftol
mov ebx, eax
mov eax, dword [esp + 0x2c]
sub ebx, eax
mov eax, edi
lea esi, [esp + eax*4 + 0x104]
mov eax, edi
push 0
cdq
sub eax, edx
sar eax, 1
shl eax, 2
mov edx, dword [esp + eax + 0x44]
mov ecx, dword [esp + eax + 0x74]
push ecx
mov ecx, dword [esp + 0x113c]
lea eax, [esp + edx + 0x130]
mov edx, dword [esi - 4]
push eax
mov eax, ebp
sub eax, edx
push ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x30]
sar eax, 1
push 4
sub ebp, eax
push ebx
push ebp
push edx
call dword [sym.imp.GDI32.dll_ExtTextOutA]
mov ebp, dword [esi]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x14]
add edi, 2
add esi, 8
cmp edi, eax
jl 0x1000f637
mov eax, dword [esp + 0xa4]
test eax, eax
je 0x1000f6f6
mov esi, dword [esp + 0x20]
push 2
push esi
call dword [sym.imp.GDI32.dll_SetTextAlign]
cmp eax, 0xffffffff
je 0x1000f717
mov eax, dword [esp + 0x14]
push 0
cdq
fld qword [esp + 0x88]
sub eax, edx
sar eax, 1
shl eax, 2
mov edx, dword [esp + eax + 0x44]
mov ecx, dword [esp + eax + 0x74]
push ecx
mov ecx, dword [esp + 0x113c]
lea eax, [esp + edx + 0x130]
push eax
push ecx
push 4
call sub.MSVCRT.dll__ftol
mov edi, dword [esp + 0x40]
fld qword [esp + 0x44]
sub eax, edi
push eax
call sub.MSVCRT.dll__ftol
push eax
push esi
jmp 0x1000f8ea
mov eax, dword [esp + 0xac]
test eax, eax
je 0x1000f8f4
mov esi, dword [esp + 0x20]
push 6
push esi
call dword [sym.imp.GDI32.dll_SetTextAlign]
cmp eax, 0xffffffff
jne 0x1000f745
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
je 0x1000f738
call esi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x1000f8f4
mov dword [esp + 0x10], 0
jmp 0x1000f8f4
mov eax, dword [esp + 0x14]
push 0
cdq
fld qword [esp + 0x88]
sub eax, edx
sar eax, 1
shl eax, 2
mov edx, dword [esp + eax + 0x74]
mov eax, dword [esp + eax + 0x44]
push edx
mov edx, dword [esp + 0x113c]
lea ecx, [esp + eax + 0x130]
push ecx
push edx
push 4
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x44]
push eax
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0xb4]
mov edx, ecx
sub edx, eax
mov eax, edx
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
push ecx
push esi
jmp 0x1000f8ea
mov eax, dword [esp + 0x112c]
mov edx, dword [esp + 0x2c]
mov esi, dword [eax + 0x24]
fld qword [eax + 0x18]
neg esi
sbb esi, esi
not esi
and esi, edx
call sub.MSVCRT.dll__ftol
cmp eax, 0x5a
jg 0x1000f850
je 0x1000f809
test eax, eax
jne 0x1000f8f4
mov ecx, dword [esp + 0x1134]
push eax
fld qword [esp + 0x88]
lea eax, [esp + 0x12c]
push ebx
push eax
push ecx
push 4
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x44]
fsub qword [esp + 0xa0]
add esi, eax
push esi
fmul qword [0x10017ae0]
jmp 0x1000f8d8
fld qword [esp + 0x84]
fsub qword [esp + 0x38]
mov ecx, dword [esp + 0x1134]
push 0
lea eax, [esp + 0x12c]
push ebx
fmul qword [0x10017ae8]
push eax
push ecx
push 4
fsubr qword [esp + 0x98]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0xa0]
push eax
call sub.MSVCRT.dll__ftol
add esi, eax
push esi
jmp 0x1000f8e5
sub eax, 0xb4
je 0x1000f8a3
sub eax, 0x5a
jne 0x1000f8f4
fld qword [esp + 0x38]
fsub qword [esp + 0x84]
mov ecx, dword [esp + 0x1134]
push 0
lea eax, [esp + 0x12c]
push ebx
fmul qword [0x10017ae0]
push eax
push ecx
push 4
fsubr qword [esp + 0x98]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0xa0]
push eax
call sub.MSVCRT.dll__ftol
sub eax, esi
jmp 0x1000f8e4
mov ecx, dword [esp + 0x1134]
push 0
fld qword [esp + 0x88]
lea eax, [esp + 0x12c]
push ebx
push eax
push ecx
push 4
call sub.MSVCRT.dll__ftol
fld qword [esp + 0xa0]
fsub qword [esp + 0x44]
sub eax, esi
push eax
fmul qword [0x10017ae8]
fsubr qword [esp + 0xa4]
call sub.MSVCRT.dll__ftol
push eax
mov edx, dword [esp + 0x3c]
push edx
call dword [sym.imp.GDI32.dll_ExtTextOutA]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
xor ebx, ebx
cmp eax, ebx
jne 0x1000f920
call esi
test eax, eax
je 0x1000f91c
call esi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x1000f920
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0xb0]
cmp eax, ebx
je 0x1000f957
push eax
mov eax, dword [esp + 0x24]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
test eax, eax
jne 0x1000f957
call esi
test eax, eax
je 0x1000f953
call esi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x1000f957
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x58]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
test eax, eax
jne 0x1000f982
call esi
test eax, eax
je 0x1000f97e
call esi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x1000f982
mov dword [esp + 0x10], ebx
mov edx, dword [esp + 0x80]
mov edi, dword [esp + 0x20]
push edx
push edi
call dword [sym.imp.GDI32.dll_SetTextColor]
cmp eax, 0xffffffff
jne 0x1000f9b6
call esi
test eax, eax
je 0x1000f9b2
call esi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x1000f9b6
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x1c]
push eax
push edi
call dword [sym.imp.GDI32.dll_SetTextAlign]
cmp eax, 0xffffffff
jne 0x1000f9e3
call esi
test eax, eax
je 0x1000f9df
call esi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x1000f9e3
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x20]
push ecx
push edx
call dword [sym.imp.GDI32.dll_SetBkColor]
mov edi, dword [esp + 0x10]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1118
ret
xor ebx, ebx
mov dword [esp + 0x10], ebx
jmp 0x1000ed0f