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

Disassembly:
mov eax, 0x1114
call fcn.100143f0
push ebx
push ebp
push esi
mov esi, dword [esp + 0x1124]
xor ebx, ebx
push edi
mov eax, dword [esi + 8]
mov dword [esp + 0x10], ebx
add eax, 0xfffffff6
mov dword [esp + 0xac], ebx
cmp eax, 0x1d
mov dword [esp + 0xa4], ebx
ja case.0x100102ac.13
xor ecx, ecx
mov cl, byte [eax + 0x10011f7c]
jmp dword [ecx*4 + 0x10011f6c]
mov dword [esp + 0x18], ebx
jmp 0x100102c0
mov edx, dword [esi + 0x24]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x1128]
xor ebp, ebp
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xa8], ebx
mov eax, dword [edx + 0x25c]
mov dword [esp + 0x24], ebx
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x1130]
fld qword [edx + 0x18]
mov esi, dword [eax + 0xc]
mov ecx, dword [eax + 4]
mov edi, dword [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x90], esi
mov dword [esp + 0x50], edi
sub esi, ecx
sub edi, eax
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x58], esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
call sub.MSVCRT.dll__ftol
cmp eax, 0x5a
jg 0x10010416
je 0x100103be
test eax, eax
jne 0x10010422
fild dword [esp + 0x1c]
mov ecx, dword [esp + 0x112c]
push 8
push ecx
mov dword [esp + 0x60], esi
fstp qword [esp + 0x34]
fild dword [esp + 0xa4]
mov dword [esp + 0x1c], edi
fstp qword [esp + 0x3c]
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov edx, dword [esp + 0x112c]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
push 4
push edx
fstp qword [esp + 0x74]
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fdivr qword [esp + 0x6c]
jmp 0x100104d8
fild dword [esp + 0x1c]
mov eax, dword [esp + 0x112c]
push 0xa
push eax
mov dword [esp + 0x60], edi
fstp qword [esp + 0x34]
fild dword [esp + 0x98]
mov dword [esp + 0x1c], esi
fstp qword [esp + 0x3c]
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov ecx, dword [esp + 0x112c]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
push 6
push ecx
fstp qword [esp + 0x74]
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fdivr qword [esp + 0x6c]
jmp 0x100104d8
sub eax, 0xb4
je 0x10010485
sub eax, 0x5a
je 0x10010430
mov ebx, 0xc0200001
mov dword [esp + 0x10], ebx
jmp 0x100104dc
fild dword [esp + 0x50]
mov edx, dword [esp + 0x112c]
push 0xa
push edx
mov dword [esp + 0x60], edi
fstp qword [esp + 0x34]
fild dword [esp + 0xa4]
mov dword [esp + 0x1c], esi
fstp qword [esp + 0x3c]
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x112c]
fild dword [esp + 0x1c]
push 6
push eax
fstp qword [esp + 0x74]
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fdivr qword [esp + 0x6c]
jmp 0x100104d8
fild dword [esp + 0x50]
mov ecx, dword [esp + 0x112c]
push 8
push ecx
mov dword [esp + 0x60], esi
fstp qword [esp + 0x34]
fild dword [esp + 0x98]
mov dword [esp + 0x1c], edi
fstp qword [esp + 0x3c]
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov edx, dword [esp + 0x112c]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
push 4
push edx
fstp qword [esp + 0x74]
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fdivr qword [esp + 0x6c]
fstp qword [esp + 0x6c]
fild dword [esp + 0x58]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x58]
fmul qword [0x10017ab0]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x28], esi
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x1c], esi
xor esi, esi
cmp ebx, esi
mov dword [esp + 0x9c], eax
mov dword [esp + 0x98], esi
jne 0x1001081a
mov ecx, dword [esp + 0x1128]
cmp dword [ecx + 0x20], esi
je 0x1001081a
mov edx, ecx
mov dword [esp + 0x20], esi
mov edi, dword [edx + 0x258]
cmp edi, esi
jle 0x100105ac
cmp dword [esp + 0x20], 0xfff
jae 0x100105ac
mov eax, dword [esp + 0x1128]
mov ecx, dword [eax + 0x254]
mov al, byte [ecx + esi]
mov edx, eax
and edx, 0xff
lea ecx, [edx - 0xc8]
cmp ecx, 0xd
ja case.0x10010590.202
xor edx, edx
mov dl, byte [ecx + 0x10011fa8]
jmp dword [edx*4 + 0x10011f9c]
mov ecx, dword [esp + 0x20]
mov byte [esp + ecx + 0x124], al
inc ecx
mov dword [esp + 0x20], ecx
inc esi
cmp esi, edi
jl 0x1001055b
mov eax, dword [esp + 0x20]
mov ecx, 0xf
lea edi, [esp + 0xc0]
mov byte [esp + eax + 0x124], 0
mov eax, dword [esp + 0x1128]
fld qword [eax + 0x18]
lea esi, [eax + 0x28]
rep movsd dword es:[edi], dword [esi]
call sub.MSVCRT.dll__ftol
cmp eax, 0x5a
jg 0x1001061a
je 0x100105ff
test eax, eax
jne 0x10010668
mov ecx, dword [esp + 0x112c]
push 0x5a
push ecx
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [esp + 0x4c], eax
xor eax, eax
jmp 0x1001065a
mov edx, dword [esp + 0x112c]
push 0x58
push edx
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [esp + 0x4c], eax
mov eax, 0x384
jmp 0x1001065a
sub eax, 0xb4
je 0x10010641
sub eax, 0x5a
jne 0x10010668
mov eax, dword [esp + 0x112c]
push 0x58
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [esp + 0x4c], eax
mov eax, 0xa8c
jmp 0x1001065a
mov ecx, dword [esp + 0x112c]
push 0x5a
push ecx
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [esp + 0x4c], eax
mov eax, 0x708
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0xc0]
push 0x48
push edx
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
lea ecx, [esp + 0xc0]
neg eax
push ecx
mov dword [esp + 0xc4], eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
test eax, eax
mov dword [esp + 0x50], eax
jne 0x100106c1
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
je 0x10010814
call esi
mov ebx, eax
and ebx, 0xffff
or ebx, 0x80070000
jmp 0x10010816
mov esi, dword [esp + 0x112c]
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 0xac], eax
test eax, eax
jne 0x100106ff
call edi
test eax, eax
je 0x100106f9
call edi
mov ebx, eax
and ebx, 0xffff
or ebx, 0x80070000
jmp 0x100106fb
xor ebx, ebx
mov dword [esp + 0x10], ebx
push 0
push 0
push esi
call dword [sym.imp.GDI32.dll_SetTextJustification]
test eax, eax
jne 0x1001072c
call edi
test eax, eax
je 0x10010726
call edi
mov ebx, eax
and ebx, 0xffff
or ebx, 0x80070000
jmp 0x10010728
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x20]
lea edx, [esp + 0xb8]
push edx
lea ecx, [esp + 0x128]
push eax
push ecx
push esi
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
test eax, eax
jne 0x1001076a
call edi
test eax, eax
je 0x10010764
call edi
mov ebx, eax
and ebx, 0xffff
or ebx, 0x80070000
jmp 0x10010766
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov esi, dword [esp + 0xbc]
mov ecx, dword [esp + 0x58]
sub ecx, esi
mov dword [esp + 0x7c], esi
mov eax, ecx
mov dword [esp + 0x28], ecx
cdq
sub eax, edx
mov dword [esp + 0x58], ecx
sar eax, 1
mov dword [esp + 0x9c], 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
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xac]
test eax, eax
je 0x100107ed
mov edx, eax
mov eax, dword [esp + 0x112c]
push edx
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
test eax, eax
jne 0x100107ed
call edi
test eax, eax
je 0x100107e7
call edi
mov ebx, eax
and ebx, 0xffff
or ebx, 0x80070000
jmp 0x100107e9
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x50]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
test eax, eax
jne 0x1001081a
call edi
test eax, eax
je 0x10010814
call edi
mov ebx, eax
and ebx, 0xffff
or ebx, 0x80070000
jmp 0x10010816
xor ebx, ebx
mov dword [esp + 0x10], ebx
test ebx, ebx
jne 0x10011f53
mov edi, dword [esp + 0x1128]
mov ebx, dword [sym.imp.MSVCRT.dll_isupper]
xor esi, esi
mov ecx, dword [edi + 0x25c]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
cmp byte [ecx], 0
je 0x1001089b
mov al, byte [esi + ecx]
cmp al, 0xfe
je 0x10010892
cmp al, 0xff
je 0x10010892
cmp al, 0xfb
je 0x10010892
cmp al, 0xfc
je 0x10010892
cmp al, 0xfd
je 0x10010892
and eax, 0xff
push eax
call ebx
mov ecx, dword [edi + 0x25c]
add esp, 4
test eax, eax
je 0x1001087e
xor edx, edx
mov dl, byte [esi + ecx]
fld qword [edi + edx*8 - 0x180]
jmp 0x1001088a
xor eax, eax
mov al, byte [esi + ecx]
fld qword [edi + eax*8 - 0x1b0]
fadd qword [esp + 0x3c]
fstp qword [esp + 0x3c]
mov al, byte [esi + ecx + 1]
inc esi
test al, al
jne 0x10010844
mov edi, dword [edi + 0x78]
cmp edi, 0xffffffff
mov dword [esp + 0x18], edi
je 0x100108b7
fild dword [esp + 0x18]
fmul qword [esp + 0x6c]
fmul qword [0x10017ab8]
jmp 0x100108d0
fld qword [esp + 0x3c]
fcomp qword [0x10017aa8]
fnstsw ax
test ah, 0x40
jne 0x100108d4
fild dword [esp + 0x14]
fdiv qword [esp + 0x3c]
fstp qword [esp + 0x3c]
mov ecx, dword [esp + 0x1128]
mov eax, dword [esp + 0x112c]
mov edx, dword [ecx + 0x14]
push edx
push eax
call dword [sym.imp.GDI32.dll_SetBkColor]
mov esi, dword [esp + 0xa0]
mov edi, dword [esp + 0x28]
mov dword [esp + 0xb4], eax
mov ebx, edi
mov al, byte [esi]
mov dword [esp + 0x14], 0
test al, al
mov edx, 1
je 0x10010cac
lea ecx, [esp + 0xfc]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x10]
jmp 0x10010932
mov edi, dword [esp + 0x28]
mov edx, 1
test ecx, ecx
jne 0x10010f37
cmp al, 0xfe
mov dword [esp + 0x90], ecx
mov dword [esp + 0x50], ecx
je 0x10010951
cmp al, 0xff
jne 0x10010968
cmp al, 0xfe
jne 0x10010957
mov ebx, dword [esp + 0x1c]
jmp 0x10010959
mov ebx, edi
inc esi
mov dword [esp + 0x90], edx
mov dword [esp + 0xa0], esi
mov al, byte [esi]
cmp al, 0xfb
je 0x10010976
cmp al, 0xfc
jne 0x100109b2
cmp al, 0xfb
jne 0x1001097a
mov ebx, edi
jmp 0x10010981
mov ebx, dword [esp + 0x9c]
cmp al, 0xfb
jne 0x10010998
xor edi, edi
inc esi
mov dword [esp + 0x98], edi
mov dword [esp + 0xa0], esi
jmp 0x100109b9
mov eax, dword [esp + 0x9c]
sub edi, eax
inc esi
mov dword [esp + 0x98], edi
mov dword [esp + 0xa0], esi
jmp 0x100109b9
mov edi, dword [esp + 0x98]
cmp byte [esi], 0xfd
jne 0x100109e2
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x7c]
sub ebx, edi
inc esi
mov dword [esp + 0x98], edi
mov dword [esp + 0xa0], esi
mov dword [esp + 0x50], edx
mov dword [esp + 0xa8], edx
xor edx, edx
mov dl, byte [esi]
push edx
call dword [sym.imp.MSVCRT.dll_isupper]
add esp, 4
test eax, eax
je 0x10010a08
mov ecx, dword [esp + 0x1128]
xor eax, eax
mov al, byte [esi]
fld qword [ecx + eax*8 - 0x180]
jmp 0x10010a1a
mov eax, dword [esp + 0x1128]
xor edx, edx
mov dl, byte [esi]
fld qword [eax + edx*8 - 0x1b0]
fmul qword [esp + 0x3c]
fcom qword [0x10017ac0]
fnstsw ax
test ah, 1
je 0x10010a31
fsub qword [0x10017ac8]
mov ecx, dword [esp + 0x1128]
fld qword [ecx + 0x18]
call sub.MSVCRT.dll__ftol
cmp eax, 0x5a
jg 0x10010b22
je 0x10010ad9
test eax, eax
jne 0x10010c2b
fld qword [esp + 0x2c]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x34]
mov dword [esp + 0x5c], eax
call sub.MSVCRT.dll__ftol
fadd qword [esp + 0x2c]
lea esi, [eax + edi]
mov dword [esp + 0x60], esi
fld st(0)
call sub.MSVCRT.dll__ftol
fstp qword [esp + 0x2c]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x90]
lea edx, [ebx + esi]
test eax, eax
mov dword [esp + 0x68], edx
je 0x10010ab8
fld qword [esp + 0x2c]
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x14]
inc edx
mov dword [ecx], eax
add ecx, 4
mov dword [esp + 0x14], edx
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + 0x50]
test eax, eax
je 0x10010c2d
fld qword [esp + 0x2c]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x94], eax
jmp 0x10010c2d
fld qword [esp + 0x34]
fsub st(1)
fst qword [esp + 0x34]
fld qword [esp + 0x2c]
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0x98]
fld st(0)
lea esi, [eax + ecx]
mov dword [esp + 0x5c], esi
call sub.MSVCRT.dll__ftol
fxch st(1)
fadd st(1)
mov edi, eax
lea edx, [ebx + esi]
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], edx
call sub.MSVCRT.dll__ftol
fstp st(0)
mov dword [esp + 0x68], eax
jmp 0x10010bf9
sub eax, 0xb4
je 0x10010bb5
sub eax, 0x5a
jne 0x10010c2b
fld qword [esp + 0x2c]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x34]
mov esi, eax
sub esi, edi
mov dword [esp + 0x5c], esi
call sub.MSVCRT.dll__ftol
fadd qword [esp + 0x34]
sub esi, ebx
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], esi
fld st(0)
call sub.MSVCRT.dll__ftol
fstp qword [esp + 0x34]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x90]
test eax, eax
je 0x10010b97
fld qword [esp + 0x34]
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x14]
inc edx
mov dword [ecx], eax
add ecx, 4
mov dword [esp + 0x14], edx
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + 0x50]
test eax, eax
je 0x10010c2d
fld qword [esp + 0x34]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x94], eax
jmp 0x10010c2d
fld qword [esp + 0x2c]
fsub st(1)
fst qword [esp + 0x2c]
fld st(0)
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x34]
mov edi, eax
mov dword [esp + 0x5c], edi
call sub.MSVCRT.dll__ftol
mov edx, dword [esp + 0x98]
mov esi, eax
fxch st(1)
fadd st(1)
sub esi, edx
mov dword [esp + 0x60], esi
call sub.MSVCRT.dll__ftol
sub esi, ebx
mov dword [esp + 0x64], eax
fstp st(0)
mov dword [esp + 0x68], esi
mov eax, dword [esp + 0x90]
test eax, eax
je 0x10010c1a
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x14]
inc edx
mov dword [eax], edi
add eax, 4
mov dword [esp + 0x14], edx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x50]
test eax, eax
je 0x10010c2d
mov dword [esp + 0x94], edi
jmp 0x10010c2d
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 0x10010c93
mov edx, dword [esp + 0x112c]
push 0
push 0
lea ecx, [esp + 0x64]
push 0
push ecx
push 2
push 0
push 0
push edx
call dword [sym.imp.GDI32.dll_ExtTextOutA]
test eax, eax
jne 0x10010c93
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
test eax, eax
je 0x10010c8b
call edi
mov ecx, eax
and ecx, 0xffff
or ecx, 0x80070000
mov dword [esp + 0x10], ecx
jmp 0x10010c97
xor ecx, ecx
mov dword [esp + 0x10], ecx
jmp 0x10010c97
mov ecx, dword [esp + 0x10]
mov al, byte [esi + 1]
inc esi
test al, al
mov dword [esp + 0xa0], esi
jne 0x10010929
jmp 0x10010cb0
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x10010f37
mov eax, dword [esp + 0x1128]
mov eax, dword [eax + 0x68]
test eax, eax
mov dword [esp + 0x18], eax
jle 0x10010f37
fld qword [esp + 0x6c]
fmul qword [0x10017ab8]
fimul dword [esp + 0x18]
call sub.MSVCRT.dll__ftol
mov edi, eax
mov eax, dword [esp + 0x1128]
mov edx, dword [esp + 0x7c]
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 0x10010ddd
je 0x10010d79
test eax, eax
jne 0x10010eb1
fld qword [esp + 0x80]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x34]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x5c], eax
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x2c]
mov ebx, eax
lea eax, [esi + ebx]
mov dword [esp + 0x60], eax
call sub.MSVCRT.dll__ftol
mov edx, dword [esp + 0x7c]
lea ecx, [esi + edi]
add ecx, ebx
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x68], ecx
lea ecx, [esi + ebx]
add esi, edx
sub esi, edi
add ecx, edx
add esi, ebx
mov dword [esp + 0x64], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], esi
jmp 0x10010eb1
fld qword [esp + 0x2c]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x34]
mov ebx, eax
lea eax, [esi + ebx]
mov dword [esp + 0x5c], eax
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x88]
lea edx, [esi + edi]
mov dword [esp + 0x18], eax
add edx, ebx
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
call sub.MSVCRT.dll__ftol
mov edx, dword [esp + 0x28]
lea ecx, [esi + ebx]
add esi, edx
add ecx, edx
sub esi, edi
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x18]
add esi, ebx
mov dword [esp + 0x68], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], eax
jmp 0x10010eb1
sub eax, 0xb4
je 0x10010e51
sub eax, 0x5a
jne 0x10010eb1
fld qword [esp + 0x2c]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x88]
mov ebx, eax
mov edx, ebx
sub edx, esi
mov dword [esp + 0x5c], edx
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x34]
mov dword [esp + 0x18], eax
mov dword [esp + 0x60], eax
mov eax, ebx
sub eax, esi
sub eax, edi
mov dword [esp + 0x64], eax
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0x28]
mov edx, ebx
sub edx, ecx
sub edi, ecx
sub edx, esi
sub edi, esi
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x18]
add edi, ebx
mov dword [esp + 0x68], eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], eax
jmp 0x10010eb1
fld qword [esp + 0x80]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x34]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x5c], eax
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x2c]
mov ebx, eax
sub eax, esi
mov dword [esp + 0x60], eax
call sub.MSVCRT.dll__ftol
mov edx, dword [esp + 0x7c]
mov ecx, ebx
sub ecx, esi
mov dword [esp + 0x3c], edx
sub ecx, edi
mov edx, ebx
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x28]
sub edi, ecx
sub edx, ecx
sub edi, esi
sub edx, esi
add edi, ebx
mov dword [esp + 0x64], eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edi
mov ebx, dword [esp + 0x112c]
mov edi, dword [sym.imp.GDI32.dll_ExtTextOutA]
push 0
push 0
lea eax, [esp + 0x64]
push 0
push eax
push 2
push 0
push 0
push ebx
call edi
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x10010efc
call esi
test eax, eax
je 0x10010ef4
call esi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x10010f00
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x10010f00
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x10010f37
push eax
push eax
lea ecx, [esp + 0x44]
push eax
push ecx
push 2
push eax
push eax
push ebx
call edi
test eax, eax
jne 0x10010f37
call esi
test eax, eax
je 0x10010f2f
call esi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x10010f37
mov dword [esp + 0x10], 0
push 0
call fcn.10013100
test eax, eax
jne 0x10011144
mov ebx, dword [esp + 0x1128]
mov eax, dword [ebx + 8]
cmp eax, 0x37
je 0x10011144
cmp eax, 0x38
je 0x10011144
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 + 0x6c]
call sub.MSVCRT.dll__ftol
fld qword [ebx + 0x18]
mov esi, eax
call sub.MSVCRT.dll__ftol
cmp eax, 0x5a
jg 0x1001106d
je 0x10011016
test eax, eax
jne 0x10011125
fld qword [esp + 0x80]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x5c], eax
call edi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x58]
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 + 0x34]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x2c]
mov edi, eax
mov dword [esp + 0x60], edi
call sub.MSVCRT.dll__ftol
add esi, edi
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], esi
jmp 0x10011125
call edi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x58]
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 + 0x2c]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x34]
mov edi, eax
mov dword [esp + 0x5c], edi
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x88]
add esi, edi
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], esi
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x68], eax
jmp 0x10011125
sub eax, 0xb4
je 0x100110d2
sub eax, 0x5a
jne 0x10011125
call edi
mov edx, dword [esp + 0x58]
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
lea eax, [esi + edx]
mov dword [esp + 0x18], eax
fmul qword [0x10017ad0]
fild dword [esp + 0x18]
fmulp st(1)
fsubr qword [esp + 0x2c]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x88]
mov edi, eax
mov dword [esp + 0x5c], edi
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x34]
sub edi, esi
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edi
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x68], eax
jmp 0x10011125
fld qword [esp + 0x80]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x5c], eax
call edi
mov ecx, dword [esp + 0x58]
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 + 0x34]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x2c]
mov edi, eax
mov dword [esp + 0x60], edi
call sub.MSVCRT.dll__ftol
sub edi, esi
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], edi
mov ecx, dword [esp + 0x112c]
push 0
push 0
lea eax, [esp + 0x64]
push 0
push eax
push 2
push 0
push 0
push ecx
call dword [sym.imp.GDI32.dll_ExtTextOutA]
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x10011f39
mov edx, dword [esp + 0x1128]
mov eax, dword [edx + 0x20]
test eax, eax
je 0x10011f39
lea eax, [esp + 0xc0]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
mov edi, eax
test edi, edi
mov dword [esp + 0x50], edi
jne 0x10011193
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jne 0x10011f23
mov dword [esp + 0x10], eax
jmp 0x10011f39
mov ecx, dword [esp + 0x1128]
mov ebx, dword [esp + 0x112c]
mov edx, dword [ecx + 0x64]
push edx
push ebx
call dword [sym.imp.GDI32.dll_SetTextColor]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xffffffff
mov dword [esp + 0x7c], eax
jne 0x100111db
call esi
test eax, eax
je 0x100111d3
call esi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x100111df
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x100111df
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x10011216
push edi
push ebx
call dword [sym.imp.GDI32.dll_SelectObject]
test eax, eax
mov dword [esp + 0xac], eax
jne 0x10011216
call esi
test eax, eax
je 0x1001120e
call esi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x10011216
mov dword [esp + 0x10], 0
push 0
push 0
push ebx
call dword [sym.imp.GDI32.dll_SetTextJustification]
test eax, eax
jne 0x10011245
call esi
test eax, eax
je 0x1001123d
call esi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x10011245
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 0x10011275
call esi
test eax, eax
je 0x10011f60
call esi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
xor ebx, ebx
mov eax, dword [esp + 0x1128]
mov ecx, dword [eax + 8]
lea eax, [ecx - 0xa]
cmp eax, 0x1d
ja case.0x10011295.15
xor edx, edx
mov dl, byte [eax + 0x10011fd0]
jmp dword [edx*4 + 0x10011fb8]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x14]
mov esi, 0xd
xor eax, eax
mov edx, 1
cmp ebx, esi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], 7
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x54], eax
jne 0x100112dc
cmp ebp, edi
jne 0x100112dc
mov eax, edx
jmp 0x100112de
xor eax, eax
sub ecx, esi
je 0x10011352
dec ecx
je 0x1001131f
dec ecx
jne 0x10011600
cmp ebx, 0x12
jne 0x1001130a
cmp ebp, edi
jne 0x1001130a
mov eax, edx
mov dword [esp + 0x48], esi
mov dword [esp + 0x78], 5
xor ebp, ebp
jmp 0x1001160a
xor eax, eax
mov dword [esp + 0x48], esi
mov dword [esp + 0x78], 5
xor ebp, ebp
jmp 0x1001160a
cmp ebx, 0xf
jne 0x1001133d
cmp ebp, edi
jne 0x1001133d
mov eax, edx
mov dword [esp + 0x48], esi
mov dword [esp + 0x78], 2
xor ebp, ebp
jmp 0x1001160a
xor eax, eax
mov dword [esp + 0x48], esi
mov dword [esp + 0x78], 2
xor ebp, ebp
jmp 0x1001160a
cmp ebx, esi
jne 0x10011363
cmp ebp, edi
jne 0x10011363
mov eax, edx
xor ebp, ebp
jmp 0x1001160a
xor eax, eax
xor ebp, ebp
jmp 0x1001160a
mov eax, 4
mov edx, 2
sub ecx, 0xa
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x54], edx
je 0x10011417
dec ecx
je 0x100113d1
mov ebx, dword [esp + 0x20]
dec ecx
jne 0x10011445
cmp ebx, 0xd
jne 0x100113b3
cmp dword [esp + 0x14], edi
jne 0x100113b3
mov eax, 1
jmp 0x100113b5
xor eax, eax
mov ebp, dword [esp + 0x100]
mov dword [esp + 0x48], 8
mov dword [esp + 0x78], 5
jmp 0x1001160a
mov ebx, dword [esp + 0x20]
cmp ebx, 0xa
jne 0x100113fd
cmp dword [esp + 0x14], edi
jne 0x100113fd
mov ebp, dword [esp + 0x100]
mov eax, 1
mov dword [esp + 0x48], 8
mov dword [esp + 0x78], edx
jmp 0x1001160a
mov ebp, dword [esp + 0x100]
xor eax, eax
mov dword [esp + 0x48], 8
mov dword [esp + 0x78], edx
jmp 0x1001160a
mov ebx, dword [esp + 0x20]
cmp ebx, 8
jne 0x10011437
cmp dword [esp + 0x14], edi
jne 0x10011437
mov ebp, dword [esp + 0x100]
mov eax, 1
jmp 0x1001160a
mov ebp, dword [esp + 0x100]
xor eax, eax
jmp 0x1001160a
mov eax, dword [esp + 0xb0]
mov ebp, dword [esp + 0x100]
jmp 0x1001160a
lea eax, [ecx - 0x11]
mov edx, 1
mov esi, 5
cmp eax, 0x13
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], 0xb
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], edx
mov dword [esp + 0x54], ebx
ja case.0x1001149e.21
xor ecx, ecx
mov cl, byte [eax + 0x10012004]
jmp dword [ecx*4 + 0x10011ff0]
mov ebx, dword [esp + 0x20]
cmp ebx, 0xc
jne 0x100114c4
cmp dword [esp + 0x14], edi
jne 0x100114c4
mov eax, edx
mov dword [esp + 0xa4], edx
xor ebp, ebp
jmp 0x1001160a
xor eax, eax
mov dword [esp + 0xa4], edx
xor ebp, ebp
jmp 0x1001160a
mov ebx, dword [esp + 0x20]
cmp ebx, 0xe
jne 0x100114e7
cmp dword [esp + 0x14], edi
jne 0x100114e7
mov eax, edx
jmp 0x100114e9
xor eax, eax
mov dword [esp + 0x48], 0xc
mov dword [esp + 0x78], 2
xor ebp, ebp
jmp 0x1001160a
mov ebx, dword [esp + 0x20]
cmp ebx, 0x11
jne 0x10011524
cmp dword [esp + 0x14], edi
jne 0x10011524
mov eax, edx
mov dword [esp + 0x48], 0xc
mov dword [esp + 0x78], esi
xor ebp, ebp
jmp 0x1001160a
xor eax, eax
mov dword [esp + 0x48], 0xc
mov dword [esp + 0x78], esi
xor ebp, ebp
jmp 0x1001160a
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0xb0]
xor ebp, ebp
jmp 0x1001160a
mov edx, 1
sub ecx, 0x25
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], 7
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], edx
mov dword [esp + 0x54], ebx
je 0x100115cf
dec ecx
je 0x100115a5
mov ebx, dword [esp + 0x20]
dec ecx
jne 0x100115f9
cmp ebx, 0xd
jne 0x1001158f
cmp dword [esp + 0x14], 4
jne 0x1001158f
mov eax, edx
jmp 0x10011591
xor eax, eax
mov dword [esp + 0x44], 8
mov dword [esp + 0x74], 5
xor ebp, ebp
jmp 0x1001160a
mov ebx, dword [esp + 0x20]
cmp ebx, 0xa
jne 0x100115b9
cmp dword [esp + 0x14], 4
jne 0x100115b9
mov eax, edx
jmp 0x100115bb
xor eax, eax
mov dword [esp + 0x44], 8
mov dword [esp + 0x74], 2
xor ebp, ebp
jmp 0x1001160a
mov ebx, dword [esp + 0x20]
cmp ebx, 8
jne 0x100115ec
cmp dword [esp + 0x14], 4
jne 0x100115ec
mov eax, edx
mov dword [esp + 0xa4], edx
xor ebp, ebp
jmp 0x1001160a
xor eax, eax
mov dword [esp + 0xa4], edx
xor ebp, ebp
jmp 0x1001160a
mov eax, dword [esp + 0xb0]
xor ebp, ebp
jmp 0x1001160a
mov ebx, dword [esp + 0x20]
xor eax, eax
test eax, eax
je 0x10011cef
mov edx, dword [esp + 0x1128]
fld qword [edx + 0x18]
call sub.MSVCRT.dll__ftol
cmp eax, 0x5a
jg 0x10011979
je 0x100117db
test eax, eax
jne 0x10011e47
test ebp, ebp
jne 0x1001164a
fld qword [esp + 0x80]
call sub.MSVCRT.dll__ftol
mov ebp, eax
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0x14]
cmp edi, eax
jge 0x100116d4
fld qword [esp + 0x88]
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0x28]
mov ebx, dword [sym.imp.GDI32.dll_ExtTextOutA]
mov edx, edi
add eax, ecx
mov dword [esp + 0x18], eax
lea esi, [esp + edx*4 + 0x100]
mov eax, edi
push 0
cdq
sub eax, edx
sar eax, 1
shl eax, 2
mov edx, dword [esp + eax + 0x40]
mov ecx, dword [esp + eax + 0x70]
push ecx
mov ecx, dword [esp + 0x1138]
lea eax, [esp + edx + 0x12c]
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 + 0x1148]
push eax
call ebx
mov ebp, dword [esi]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
add edi, 2
add esi, 8
cmp edi, eax
jl 0x1001167b
jmp 0x100116da
mov ebx, dword [sym.imp.GDI32.dll_ExtTextOutA]
mov eax, dword [esp + 0xa4]
xor edi, edi
cmp eax, edi
je 0x10011749
mov esi, dword [esp + 0x112c]
push 2
push esi
call dword [sym.imp.GDI32.dll_SetTextAlign]
cmp eax, 0xffffffff
je 0x1001176b
mov eax, dword [esp + 0x14]
push edi
cdq
fld qword [esp + 0x8c]
sub eax, edx
sar eax, 1
shl eax, 2
mov edx, dword [esp + eax + 0x40]
mov ecx, dword [esp + eax + 0x70]
push ecx
mov ecx, dword [esp + 0x1138]
lea eax, [esp + edx + 0x12c]
push eax
push ecx
push 4
call sub.MSVCRT.dll__ftol
mov edi, dword [esp + 0x3c]
fld qword [esp + 0x40]
add eax, edi
push eax
call sub.MSVCRT.dll__ftol
push eax
push esi
call ebx
jmp 0x10011e43
cmp dword [esp + 0xa8], edi
je 0x10011e47
mov esi, dword [esp + 0x112c]
push 6
push esi
call dword [sym.imp.GDI32.dll_SetTextAlign]
cmp eax, 0xffffffff
jne 0x10011784
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jne 0x10011c73
mov dword [esp + 0x10], edi
jmp 0x10011e47
mov eax, dword [esp + 0x14]
push edi
cdq
fld qword [esp + 0x8c]
sub eax, edx
sar eax, 1
shl eax, 2
mov edx, dword [esp + eax + 0x70]
mov eax, dword [esp + eax + 0x40]
push edx
mov edx, dword [esp + 0x1138]
lea ecx, [esp + eax + 0x12c]
push ecx
push edx
push 4
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x40]
push eax
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0xac]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
push eax
push esi
call ebx
jmp 0x10011e43
test ebp, ebp
jne 0x100117ed
fld qword [esp + 0x88]
call sub.MSVCRT.dll__ftol
mov ebp, eax
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0x14]
cmp edi, eax
jge 0x10011881
fld qword [esp + 0x80]
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0x28]
mov edx, edi
lea ebx, [eax + ecx]
lea esi, [esp + edx*4 + 0x100]
mov eax, edi
push 0
cdq
sub eax, edx
sar eax, 1
shl eax, 2
mov edx, dword [esp + eax + 0x40]
mov ecx, dword [esp + eax + 0x70]
push ecx
mov ecx, dword [esp + 0x1138]
lea eax, [esp + edx + 0x12c]
mov edx, dword [esi - 4]
push eax
mov eax, ebp
sub eax, edx
push ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x113c]
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 + 0x24], eax
mov eax, dword [esp + 0x14]
add edi, 2
add esi, 8
cmp edi, eax
jl 0x10011819
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, dword [esp + 0x112c]
jmp 0x1001188e
mov esi, dword [esp + 0x112c]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov eax, dword [esp + 0xa4]
xor ebx, ebx
cmp eax, ebx
je 0x100118f6
push 2
push esi
call dword [sym.imp.GDI32.dll_SetTextAlign]
cmp eax, 0xffffffff
je 0x10011a5a
mov eax, dword [esp + 0x14]
push ebx
cdq
fld qword [esp + 0x38]
sub eax, edx
sar eax, 1
shl eax, 2
mov edx, dword [esp + eax + 0x40]
mov ecx, dword [esp + eax + 0x70]
push ecx
mov ecx, dword [esp + 0x1138]
lea eax, [esp + edx + 0x12c]
push eax
push ecx
push 4
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x94]
push eax
call sub.MSVCRT.dll__ftol
add eax, dword [esp + 0x40]
push eax
push esi
jmp 0x10011e3d
cmp dword [esp + 0xa8], ebx
je 0x10011e47
push 6
push esi
call dword [sym.imp.GDI32.dll_SetTextAlign]
cmp eax, 0xffffffff
jne 0x10011920
call edi
test eax, eax
je 0x10011ae5
jmp 0x10011ad0
mov eax, dword [esp + 0x14]
push ebx
cdq
fld qword [esp + 0x38]
sub eax, edx
sar eax, 1
shl eax, 2
mov edx, dword [esp + eax + 0x70]
mov eax, dword [esp + eax + 0x40]
push edx
mov edx, dword [esp + 0x1138]
lea ecx, [esp + eax + 0x12c]
push ecx
push edx
push 4
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0xa8]
mov edx, ecx
sub edx, eax
mov eax, edx
cdq
fld qword [esp + 0x94]
sub eax, edx
sar eax, 1
sub ecx, eax
push ecx
call sub.MSVCRT.dll__ftol
push eax
push esi
jmp 0x10011e3d
sub eax, 0xb4
je 0x10011b43
sub eax, 0x5a
jne 0x10011e47
test ebp, ebp
jne 0x1001199f
fld qword [esp + 0x88]
call sub.MSVCRT.dll__ftol
mov ebp, eax
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0x14]
cmp edi, eax
jge 0x10011a32
fld qword [esp + 0x80]
call sub.MSVCRT.dll__ftol
mov ebx, eax
mov eax, dword [esp + 0x28]
sub ebx, eax
mov eax, edi
lea esi, [esp + eax*4 + 0x100]
mov eax, edi
push 0
cdq
sub eax, edx
sar eax, 1
shl eax, 2
mov edx, dword [esp + eax + 0x40]
mov ecx, dword [esp + eax + 0x70]
push ecx
mov ecx, dword [esp + 0x1138]
lea eax, [esp + edx + 0x12c]
push eax
mov eax, dword [esi - 4]
sub eax, ebp
push ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x113c]
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 + 0x24], eax
mov eax, dword [esp + 0x14]
add edi, 2
add esi, 8
cmp edi, eax
jl 0x100119cc
mov esi, dword [esp + 0x112c]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x10011a3f
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, dword [esp + 0x112c]
mov eax, dword [esp + 0xa4]
xor ebx, ebx
cmp eax, ebx
je 0x10011aaf
push 2
push esi
call dword [sym.imp.GDI32.dll_SetTextAlign]
cmp eax, 0xffffffff
jne 0x10011a66
call edi
test eax, eax
je 0x10011ae5
jmp 0x10011ad0
mov eax, dword [esp + 0x14]
push ebx
cdq
fld qword [esp + 0x38]
sub eax, edx
sar eax, 1
shl eax, 2
mov edx, dword [esp + eax + 0x40]
mov ecx, dword [esp + eax + 0x70]
push ecx
mov ecx, dword [esp + 0x1138]
lea eax, [esp + edx + 0x12c]
push eax
push ecx
push 4
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x94]
push eax
call sub.MSVCRT.dll__ftol
sub eax, dword [esp + 0x40]
push eax
push esi
jmp 0x10011e3d
cmp dword [esp + 0xa8], ebx
je 0x10011e47
push 6
push esi
call dword [sym.imp.GDI32.dll_SetTextAlign]
cmp eax, 0xffffffff
jne 0x10011aee
call edi
test eax, eax
je 0x10011ae5
call edi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x10011e47
mov dword [esp + 0x10], ebx
jmp 0x10011e47
mov eax, dword [esp + 0x14]
push ebx
cdq
fld qword [esp + 0x38]
sub eax, edx
sar eax, 1
shl eax, 2
mov edx, dword [esp + eax + 0x70]
mov eax, dword [esp + eax + 0x40]
push edx
mov edx, dword [esp + 0x1138]
lea ecx, [esp + eax + 0x12c]
push ecx
push edx
push 4
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0xa8]
sub eax, ecx
cdq
fld qword [esp + 0x94]
sub eax, edx
sar eax, 1
add eax, ecx
push eax
call sub.MSVCRT.dll__ftol
push eax
push esi
jmp 0x10011e3d
test ebp, ebp
jne 0x10011b55
fld qword [esp + 0x80]
call sub.MSVCRT.dll__ftol
mov ebp, eax
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0x14]
cmp edi, eax
jge 0x10011bd7
fld qword [esp + 0x88]
call sub.MSVCRT.dll__ftol
mov ebx, eax
mov eax, dword [esp + 0x28]
sub ebx, eax
mov eax, edi
lea esi, [esp + eax*4 + 0x100]
mov eax, edi
push 0
cdq
sub eax, edx
sar eax, 1
shl eax, 2
mov edx, dword [esp + eax + 0x40]
mov ecx, dword [esp + eax + 0x70]
push ecx
mov ecx, dword [esp + 0x1138]
lea eax, [esp + edx + 0x12c]
mov edx, dword [esi - 4]
push eax
mov eax, ebp
sub eax, edx
push ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x113c]
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 + 0x24], eax
mov eax, dword [esp + 0x14]
add edi, 2
add esi, 8
cmp edi, eax
jl 0x10011b7e
mov eax, dword [esp + 0xa4]
test eax, eax
je 0x10011c43
mov esi, dword [esp + 0x112c]
push 2
push esi
call dword [sym.imp.GDI32.dll_SetTextAlign]
cmp eax, 0xffffffff
je 0x10011c67
mov eax, dword [esp + 0x14]
push 0
cdq
fld qword [esp + 0x8c]
sub eax, edx
sar eax, 1
shl eax, 2
mov edx, dword [esp + eax + 0x40]
mov ecx, dword [esp + eax + 0x70]
push ecx
mov ecx, dword [esp + 0x1138]
lea eax, [esp + edx + 0x12c]
push eax
push ecx
push 4
call sub.MSVCRT.dll__ftol
mov edi, dword [esp + 0x3c]
fld qword [esp + 0x40]
sub eax, edi
push eax
call sub.MSVCRT.dll__ftol
push eax
push esi
jmp 0x10011e3d
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x10011e47
mov esi, dword [esp + 0x112c]
push 6
push esi
call dword [sym.imp.GDI32.dll_SetTextAlign]
cmp eax, 0xffffffff
jne 0x10011c95
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
je 0x10011c88
call esi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x10011e47
mov dword [esp + 0x10], 0
jmp 0x10011e47
mov eax, dword [esp + 0x14]
push 0
cdq
fld qword [esp + 0x8c]
sub eax, edx
sar eax, 1
shl eax, 2
mov edx, dword [esp + eax + 0x70]
mov eax, dword [esp + eax + 0x40]
push edx
mov edx, dword [esp + 0x1138]
lea ecx, [esp + eax + 0x12c]
push ecx
push edx
push 4
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x40]
push eax
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0xac]
mov edx, ecx
sub edx, eax
mov eax, edx
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
push ecx
push esi
jmp 0x10011e3d
mov eax, dword [esp + 0x1128]
mov edx, dword [esp + 0x28]
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 0x10011da0
je 0x10011d59
test eax, eax
jne 0x10011e47
mov ecx, dword [esp + 0x1130]
push eax
fld qword [esp + 0x8c]
lea eax, [esp + 0x128]
push ebx
push eax
push ecx
push 4
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x40]
fsub qword [esp + 0x94]
add esi, eax
push esi
fmul qword [0x10017ae0]
jmp 0x10011e28
fld qword [esp + 0x88]
fsub qword [esp + 0x34]
mov ecx, dword [esp + 0x1130]
push 0
lea eax, [esp + 0x128]
push ebx
fmul qword [0x10017ae8]
push eax
push ecx
push 4
fsubr qword [esp + 0x9c]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x94]
push eax
call sub.MSVCRT.dll__ftol
add esi, eax
push esi
jmp 0x10011e35
sub eax, 0xb4
je 0x10011df3
sub eax, 0x5a
jne 0x10011e47
fld qword [esp + 0x34]
fsub qword [esp + 0x88]
mov ecx, dword [esp + 0x1130]
push 0
lea eax, [esp + 0x128]
push ebx
fmul qword [0x10017ae0]
push eax
push ecx
push 4
fsubr qword [esp + 0x9c]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x94]
push eax
call sub.MSVCRT.dll__ftol
sub eax, esi
jmp 0x10011e34
mov ecx, dword [esp + 0x1130]
push 0
fld qword [esp + 0x8c]
lea eax, [esp + 0x128]
push ebx
push eax
push ecx
push 4
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x94]
fsub qword [esp + 0x40]
sub eax, esi
push eax
fmul qword [0x10017ae8]
fsubr qword [esp + 0x98]
call sub.MSVCRT.dll__ftol
push eax
mov edx, dword [esp + 0x1148]
push edx
call dword [sym.imp.GDI32.dll_ExtTextOutA]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
xor ebx, ebx
cmp eax, ebx
jne 0x10011e73
call esi
test eax, eax
je 0x10011e6f
call esi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x10011e73
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0xac]
cmp eax, ebx
je 0x10011ead
push eax
mov eax, dword [esp + 0x1130]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
test eax, eax
jne 0x10011ead
call esi
test eax, eax
je 0x10011ea9
call esi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x10011ead
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x50]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
test eax, eax
jne 0x10011ed8
call esi
test eax, eax
je 0x10011ed4
call esi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x10011ed8
mov dword [esp + 0x10], ebx
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0x112c]
push edx
push edi
call dword [sym.imp.GDI32.dll_SetTextColor]
cmp eax, 0xffffffff
jne 0x10011f0c
call esi
test eax, eax
je 0x10011f08
call esi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x10011f0c
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 0x10011f39
call esi
test eax, eax
je 0x10011f35
call esi
and eax, 0xffff
or eax, 0x80070000
mov dword [esp + 0x10], eax
jmp 0x10011f39
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0x112c]
push ecx
push edx
call dword [sym.imp.GDI32.dll_SetBkColor]
mov ebx, dword [esp + 0x10]
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x1114
ret
xor ebx, ebx
mov dword [esp + 0x10], ebx
jmp 0x10011277