Function at 0x1011e840
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push 0xffffffffffffffff
push 0x103495c9
mov eax, dword fs:[0]
push eax
sub esp, 0x9c
mov eax, dword [0x105be7d0]
xor eax, esp
mov dword [esp + 0x94], eax
push esi
push edi
mov eax, dword [0x105be7d0]
xor eax, esp
push eax
lea eax, [esp + 0xa8]
mov dword fs:[0], eax
mov edi, ecx
mov dword [esp + 0x20], edi
mov byte [edi + 0x29], 1
mov esi, dword [edi + 0x20]
sub esi, dword [edi + 0x18]
mov dword [esp + 0x14], 0
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 0x2b2
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, edi
push 0x145
cmp esi, eax
jge 0x1011ea0b
call fcn.1014ca80
mov esi, eax
mov dword [esp + 0x1c], esi
test esi, esi
je 0x1011eb27
push 4
mov edx, 0x10e
mov ecx, esi
call fcn.101462f0
add esp, 4
lea ecx, [esp + 0x70]
push 0x10368484
call fcn.100cd5c0
mov dword [esp + 0xb0], 0
add esi, 0xf4
cmp dword [esp + 0x84], 8
lea eax, [esp + 0x70]
cmovae eax, dword [esp + 0x70]
cmp dword [esi + 0x14], 8
mov edx, dword [esi + 0x10]
mov dword [esp + 0x24], eax
jb 0x1011e924
mov eax, dword [esi]
mov dword [esp + 0x18], eax
jmp 0x1011e928
mov dword [esp + 0x18], esi
mov ecx, dword [esp + 0x80]
cmp edx, ecx
mov eax, ecx
cmovb eax, edx
test eax, eax
je 0x1011e959
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
push eax
call fcn.100cc860
add esp, 4
test eax, eax
jne 0x1011e96b
mov ecx, dword [esp + 0x80]
mov edx, dword [esi + 0x10]
cmp edx, ecx
jae 0x1011e962
or eax, 0xffffffff
jmp 0x1011e969
xor eax, eax
cmp edx, ecx
setne al
test eax, eax
sete al
test al, al
sete al
test al, al
je 0x1011e998
lea eax, [esp + 0x70]
cmp esi, eax
je 0x1011e98b
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
call fcn.100cd9d0
mov esi, dword [esp + 0x1c]
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0x68]
jmp 0x1011e99c
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xb0], 0xffffffff
cmp dword [esp + 0x84], 8
jb 0x1011e9bf
push dword [esp + 0x70]
mov eax, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
call eax
add esp, 4
xor eax, eax
mov dword [esp + 0x84], 7
mov dword [esp + 0x80], 0
mov word [esp + 0x70], ax
call fcn.100e9040
push 0x60
push dword [eax + 4]
mov eax, dword [sym.imp.KERNEL32.dll_MulDiv]
push 0xa
call eax
mov ecx, dword [edi + 0x24]
add esi, 0x18
sub ecx, dword [edi + 0x1c]
mov dword [esp + 0x14], eax
sub ecx, dword [esi + 0xc]
add ecx, dword [esi + 4]
movd xmm0, ecx
jmp 0x1011ead9
call fcn.1014ca80
mov esi, eax
test esi, esi
je 0x1011eb27
push 4
mov edx, 0xd6
mov ecx, esi
call fcn.101462f0
add esp, 4
lea ecx, [esp + 0x2c]
mov edx, 0x13a6
call fcn.10145cd0
mov dword [esp + 0x18], eax
mov dword [esp + 0xb0], 1
lea ecx, [esi + 0xf4]
mov edx, eax
call fcn.100d1c40
test al, al
jne 0x1011ea78
mov eax, dword [esp + 0x18]
lea ecx, [esi + 0xf4]
cmp ecx, eax
je 0x1011ea71
push 0xffffffffffffffff
push 0
push eax
call fcn.100cd9d0
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x68]
mov dword [esp + 0xb0], 0xffffffff
cmp dword [esp + 0x40], 8
jb 0x1011ea98
push dword [esp + 0x2c]
mov eax, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
call eax
add esp, 4
xor eax, eax
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], 0
mov word [esp + 0x2c], ax
call fcn.100e9040
push 0x60
push dword [eax + 4]
mov eax, dword [sym.imp.KERNEL32.dll_MulDiv]
push 0xa
call eax
mov dword [esp + 0x14], eax
add esi, 0x18
mov eax, dword [edi + 0x24]
sub eax, dword [edi + 0x1c]
sub eax, dword [esi + 0xc]
add eax, dword [esi + 4]
movd xmm0, eax
mov eax, dword [esi + 8]
sub eax, dword [esi]
mov ecx, dword [esi + 0xc]
sub ecx, dword [esi + 4]
mov edi, dword [esp + 0x14]
add eax, edi
cvtdq2pd xmm0, xmm0
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], edi
mulsd xmm0, qword [0x10588a80]
cvttsd2si edx, xmm0
mov dword [esp + 0x30], edx
lea eax, [ecx + edx]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x2c]
push eax
mov eax, dword [sym.imp.USER32.dll_CopyRect]
push esi
call eax
mov eax, dword [esi + 8]
sub eax, dword [esi]
mov edi, dword [esp + 0x20]
add dword [esp + 0x14], eax
mov esi, dword [edi + 0x20]
sub esi, dword [edi + 0x18]
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 0x2cc
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, edi
push 0x146
cmp esi, eax
jge 0x1011ec64
call fcn.1014ca80
mov esi, eax
mov dword [esp + 0x1c], esi
test esi, esi
je 0x1011ed67
push 4
mov edx, 0x10f
mov ecx, esi
call fcn.101462f0
add esp, 4
lea ecx, [esp + 0x58]
push 0x10368484
call fcn.100cd5c0
mov dword [esp + 0xb0], 2
add esi, 0xf4
cmp dword [esp + 0x6c], 8
lea eax, [esp + 0x58]
cmovae eax, dword [esp + 0x58]
cmp dword [esi + 0x14], 8
mov edx, dword [esi + 0x10]
mov dword [esp + 0x24], eax
jb 0x1011ebb7
mov eax, dword [esi]
mov dword [esp + 0x18], eax
jmp 0x1011ebbb
mov dword [esp + 0x18], esi
mov ecx, dword [esp + 0x68]
cmp edx, ecx
mov eax, ecx
cmovb eax, edx
test eax, eax
je 0x1011ebe6
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
push eax
call fcn.100cc860
add esp, 4
test eax, eax
jne 0x1011ebf8
mov ecx, dword [esp + 0x68]
mov edx, dword [esi + 0x10]
cmp edx, ecx
jae 0x1011ebef
or eax, 0xffffffff
jmp 0x1011ebf6
xor eax, eax
cmp edx, ecx
setne al
test eax, eax
sete al
test al, al
sete al
test al, al
je 0x1011ec25
lea eax, [esp + 0x58]
cmp esi, eax
je 0x1011ec18
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
call fcn.100cd9d0
mov esi, dword [esp + 0x1c]
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0x68]
jmp 0x1011ec29
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xb0], 0xffffffff
cmp dword [esp + 0x6c], 8
jb 0x1011ec48
push dword [esp + 0x58]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov dword [esp + 0x6c], 7
mov dword [esp + 0x68], 0
mov word [esp + 0x58], ax
jmp 0x1011ed07
call fcn.1014ca80
mov esi, eax
test esi, esi
je 0x1011ed67
push 4
mov edx, 0xde
mov ecx, esi
call fcn.101462f0
add esp, 4
lea ecx, [esp + 0x2c]
mov edx, 0x13a5
call fcn.10145cd0
mov dword [esp + 0x18], eax
mov dword [esp + 0xb0], 3
lea ecx, [esi + 0xf4]
mov edx, eax
call fcn.100d1c40
test al, al
jne 0x1011ecd1
mov eax, dword [esp + 0x18]
lea ecx, [esi + 0xf4]
cmp ecx, eax
je 0x1011ecca
push 0xffffffffffffffff
push 0
push eax
call fcn.100cd9d0
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x68]
mov dword [esp + 0xb0], 0xffffffff
cmp dword [esp + 0x40], 8
jb 0x1011ecf0
push dword [esp + 0x2c]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], 0
mov word [esp + 0x2c], ax
mov eax, dword [esi + 0x1c]
add esi, 0x18
sub eax, dword [esi + 0xc]
sub eax, dword [edi + 0x1c]
add eax, dword [edi + 0x24]
mov ecx, dword [esi + 0xc]
sub ecx, dword [esi + 4]
mov edi, dword [esp + 0x14]
movd xmm0, eax
mov eax, dword [esi + 8]
sub eax, dword [esi]
cvtdq2pd xmm0, xmm0
add eax, edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], eax
mulsd xmm0, qword [0x10588a80]
cvttsd2si edx, xmm0
mov dword [esp + 0x30], edx
lea eax, [ecx + edx]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x2c]
push eax
push esi
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [esi + 8]
sub eax, dword [esi]
mov edi, dword [esp + 0x20]
add dword [esp + 0x14], eax
mov esi, dword [edi + 0x20]
sub esi, dword [edi + 0x18]
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 0x2e6
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, edi
push 0x147
cmp esi, eax
jge 0x1011ef2c
call fcn.1014ca80
mov esi, eax
mov dword [esp + 0x1c], esi
test esi, esi
je 0x1011f035
push 4
mov edx, 0x110
mov ecx, esi
call fcn.101462f0
add esp, 4
lea ecx, [esp + 0x88]
push 0x10368484
call fcn.100cd5c0
mov dword [esp + 0xb0], 4
add esi, 0xf4
cmp dword [esp + 0x9c], 8
lea eax, [esp + 0x88]
cmovae eax, dword [esp + 0x88]
cmp dword [esi + 0x14], 8
mov edx, dword [esi + 0x10]
mov dword [esp + 0x24], eax
jb 0x1011ee03
mov eax, dword [esi]
mov dword [esp + 0x18], eax
jmp 0x1011ee07
mov dword [esp + 0x18], esi
mov ecx, dword [esp + 0x98]
cmp edx, ecx
mov eax, ecx
cmovb eax, edx
test eax, eax
je 0x1011ee38
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
push eax
call fcn.100cc860
add esp, 4
test eax, eax
jne 0x1011ee4a
mov ecx, dword [esp + 0x98]
mov edx, dword [esi + 0x10]
cmp edx, ecx
jae 0x1011ee41
or eax, 0xffffffff
jmp 0x1011ee48
xor eax, eax
cmp edx, ecx
setne al
test eax, eax
sete al
test al, al
sete al
test al, al
je 0x1011ee7a
lea eax, [esp + 0x88]
cmp esi, eax
je 0x1011ee6d
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
call fcn.100cd9d0
mov esi, dword [esp + 0x1c]
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0x68]
jmp 0x1011ee7e
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xb0], 0xffffffff
cmp dword [esp + 0x9c], 8
jb 0x1011eea3
push dword [esp + 0x88]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov ecx, dword [esi + 0x24]
mov word [esp + 0x88], ax
add esi, 0x18
mov eax, dword [edi + 0x24]
sub eax, dword [edi + 0x1c]
mov edi, dword [esp + 0x14]
sub eax, dword [esi + 0xc]
add eax, dword [esi + 4]
sub ecx, dword [esi + 4]
mov dword [esp + 0x9c], 7
mov dword [esp + 0x98], 0
movd xmm0, eax
mov eax, dword [esi + 8]
sub eax, dword [esi]
cvtdq2pd xmm0, xmm0
add eax, edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], eax
mulsd xmm0, qword [0x10588a80]
cvttsd2si edx, xmm0
mov dword [esp + 0x30], edx
lea eax, [ecx + edx]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x2c]
push eax
push esi
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [esi + 8]
sub eax, dword [esi]
mov esi, edi
mov edi, dword [esp + 0x20]
add esi, eax
mov dword [esp + 0x14], esi
jmp 0x1011f039
call fcn.1014ca80
mov esi, eax
test esi, esi
je 0x1011f035
push 4
mov edx, 0xd7
mov ecx, esi
call fcn.101462f0
add esp, 4
lea ecx, [esp + 0x2c]
mov edx, 0x13a7
call fcn.10145cd0
mov dword [esp + 0x18], eax
mov dword [esp + 0xb0], 5
lea ecx, [esi + 0xf4]
mov edx, eax
call fcn.100d1c40
test al, al
jne 0x1011ef99
mov eax, dword [esp + 0x18]
lea ecx, [esi + 0xf4]
cmp ecx, eax
je 0x1011ef92
push 0xffffffffffffffff
push 0
push eax
call fcn.100cd9d0
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x68]
mov dword [esp + 0xb0], 0xffffffff
cmp dword [esp + 0x40], 8
jb 0x1011efb8
push dword [esp + 0x2c]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov ecx, dword [esi + 0x24]
mov word [esp + 0x2c], ax
add esi, 0x18
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], 0
mov eax, dword [esi + 4]
sub eax, dword [esi + 0xc]
sub eax, dword [edi + 0x1c]
add eax, dword [edi + 0x24]
sub ecx, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x2c], edi
movd xmm0, eax
mov eax, dword [esi + 8]
sub eax, dword [esi]
cvtdq2pd xmm0, xmm0
add eax, edi
mov dword [esp + 0x34], eax
mulsd xmm0, qword [0x10588a80]
cvttsd2si edx, xmm0
mov dword [esp + 0x30], edx
lea eax, [ecx + edx]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x2c]
push eax
push esi
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [esi + 8]
sub eax, dword [esi]
mov esi, edi
mov edi, dword [esp + 0x20]
add esi, eax
mov dword [esp + 0x14], esi
jmp 0x1011f039
mov esi, dword [esp + 0x14]
push 0x148
mov ecx, edi
call fcn.1014ca80
mov dword [esp + 0x18], eax
test eax, eax
je 0x1011f0d1
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 0xd
call dword [sym.imp.KERNEL32.dll_MulDiv]
add esi, eax
mov eax, dword [edi + 0x24]
sub eax, dword [edi + 0x1c]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x18]
add esi, 0x18
mov edi, dword [esp + 0x14]
mov dword [esp + 0x2c], edi
sub eax, dword [esi + 0xc]
add eax, dword [esi + 4]
mov ecx, dword [esi + 0xc]
sub ecx, dword [esi + 4]
movd xmm0, eax
mov eax, dword [esi + 8]
sub eax, dword [esi]
cvtdq2pd xmm0, xmm0
add eax, edi
mov dword [esp + 0x34], eax
mulsd xmm0, qword [0x10588a80]
cvttsd2si edx, xmm0
mov dword [esp + 0x30], edx
lea eax, [ecx + edx]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x2c]
push eax
push esi
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [esi + 8]
sub eax, dword [esi]
mov esi, edi
mov edi, dword [esp + 0x20]
add esi, eax
mov dword [esp + 0x14], esi
push 0x149
mov ecx, edi
call fcn.1014ca80
mov dword [esp + 0x18], eax
test eax, eax
je 0x1011f169
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 0xd
call dword [sym.imp.KERNEL32.dll_MulDiv]
add esi, eax
mov eax, dword [edi + 0x24]
sub eax, dword [edi + 0x1c]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x18]
add esi, 0x18
mov edi, dword [esp + 0x14]
mov dword [esp + 0x2c], edi
sub eax, dword [esi + 0xc]
add eax, dword [esi + 4]
mov ecx, dword [esi + 0xc]
sub ecx, dword [esi + 4]
movd xmm0, eax
mov eax, dword [esi + 8]
sub eax, dword [esi]
cvtdq2pd xmm0, xmm0
add eax, edi
mov dword [esp + 0x34], eax
mulsd xmm0, qword [0x10588a80]
cvttsd2si edx, xmm0
mov dword [esp + 0x30], edx
lea eax, [ecx + edx]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x2c]
push eax
push esi
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [esi + 8]
sub eax, dword [esi]
mov esi, edi
mov edi, dword [esp + 0x20]
add esi, eax
mov dword [esp + 0x14], esi
push 0x14c
mov ecx, edi
call fcn.1014ca80
mov dword [esp + 0x1c], eax
test eax, eax
je 0x1011f34e
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 5
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [esp + 0x1c]
add esi, eax
mov eax, dword [edi + 0x24]
sub eax, dword [edi + 0x1c]
mov edi, dword [esp + 0x1c]
sub eax, dword [ecx + 0x24]
add eax, dword [ecx + 0x1c]
mov dword [esp + 0x2c], esi
movd xmm0, eax
mov eax, dword [ecx + 0x20]
sub eax, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x24]
add eax, esi
sub ecx, dword [edi + 0x1c]
cvtdq2pd xmm0, xmm0
mov dword [esp + 0x34], eax
mulsd xmm0, qword [0x10588a80]
cvttsd2si edx, xmm0
mov dword [esp + 0x30], edx
lea eax, [ecx + edx]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x2c]
push eax
mov eax, edi
add eax, 0x18
push eax
call dword [sym.imp.USER32.dll_CopyRect]
mov ecx, edi
mov edi, dword [esp + 0x20]
mov eax, dword [ecx + 0x20]
sub eax, dword [ecx + 0x18]
push dword [edi + 0x40]
add esi, eax
mov dword [esp + 0x18], esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1011f34e
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x30]
push eax
movdqu xmm0, xmmword [ecx + 0x18]
movdqu xmmword [esp + 0x4c], xmm0
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x34]
mov ecx, dword [esp + 0x30]
mov eax, edi
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x18], ecx
xor ecx, ecx
mov dword [esp + 0x44], edx
xor edx, edx
mov edi, edi
add ecx, dword [eax + 0x18]
add edx, dword [eax + 0x1c]
mov eax, dword [eax + 4]
test eax, eax
jne 0x1011f250
add ecx, dword [esp + 0x2c]
add dword [esp + 0x18], edx
mov eax, ecx
sub eax, dword [esp + 0x2c]
add dword [esp + 0x34], eax
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x18]
mov eax, ecx
sub eax, dword [esp + 0x30]
add dword [esp + 0x38], eax
mov dword [esp + 0x30], ecx
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 2
call dword [sym.imp.KERNEL32.dll_MulDiv]
add eax, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
call fcn.100e9040
push 0x60
push dword [eax]
push 2
call dword [sym.imp.KERNEL32.dll_MulDiv]
add eax, dword [esp + 0x30]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x34]
sub eax, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 4
call dword [sym.imp.KERNEL32.dll_MulDiv]
sub dword [esp + 0x18], eax
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
call fcn.100e9040
push 0x60
push dword [eax]
push 4
call dword [sym.imp.KERNEL32.dll_MulDiv]
sub dword [esp + 0x1c], eax
call fcn.1018fb50
test al, al
jne 0x1011f332
call fcn.100e9040
push 0x60
push dword [eax]
push 3
call dword [sym.imp.KERNEL32.dll_MulDiv]
add dword [esp + 0x24], eax
call fcn.100e9040
push 0x60
push dword [eax]
push 2
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [esp + 0x1c]
sub ecx, eax
jmp 0x1011f336
mov ecx, dword [esp + 0x1c]
push 1
push ecx
push dword [esp + 0x20]
push dword [esp + 0x30]
push dword [esp + 0x38]
push dword [edi + 0x40]
call dword [sym.imp.USER32.dll_MoveWindow]
push 0x14d
mov ecx, edi
call fcn.1014ca80
mov dword [esp + 0x1c], eax
test eax, eax
je 0x1011f40e
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 6
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [esp + 0x1c]
add esi, eax
mov eax, dword [ecx + 0x1c]
sub eax, dword [ecx + 0x24]
sub eax, dword [edi + 0x1c]
add eax, dword [edi + 0x24]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x10588a80]
addsd xmm0, qword [0x10588b70]
cvttsd2si eax, xmm0
mov dword [esp + 0x18], eax
call fcn.1018fb50
test al, al
jne 0x1011f3c8
call fcn.100e9040
push 0x60
push dword [eax]
push 1
call dword [sym.imp.KERNEL32.dll_MulDiv]
add dword [esp + 0x18], eax
mov edx, dword [esp + 0x1c]
add edx, 0x18
mov dword [esp + 0x2c], esi
mov eax, dword [edx + 8]
sub eax, dword [edx]
mov ecx, dword [edx + 0xc]
add eax, esi
sub ecx, dword [edx + 4]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x30], eax
add eax, ecx
mov dword [esp + 0x38], eax
lea eax, [esp + 0x2c]
push eax
push edx
call dword [sym.imp.USER32.dll_CopyRect]
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x20]
sub eax, dword [ecx + 0x18]
add esi, eax
mov dword [esp + 0x14], esi
push 0x14a
mov ecx, edi
call fcn.1014ca80
test eax, eax
je 0x1011f482
lea esi, [eax + 0x18]
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 4]
sub eax, dword [esi + 0xc]
sub eax, dword [edi + 0x1c]
add eax, dword [edi + 0x24]
sub ecx, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x2c], edi
movd xmm0, eax
mov eax, dword [esi + 8]
sub eax, dword [esi]
cvtdq2pd xmm0, xmm0
add eax, edi
mov dword [esp + 0x34], eax
mulsd xmm0, qword [0x10588a80]
cvttsd2si edx, xmm0
mov dword [esp + 0x30], edx
lea eax, [ecx + edx]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x2c]
push eax
push esi
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [esi + 8]
sub eax, dword [esi]
mov esi, edi
mov edi, dword [esp + 0x20]
add esi, eax
mov dword [esp + 0x14], esi
push 0x14b
mov ecx, edi
call fcn.1014ca80
mov dword [esp + 0x18], eax
test eax, eax
je 0x1011f51a
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 0xd
call dword [sym.imp.KERNEL32.dll_MulDiv]
add esi, eax
mov eax, dword [edi + 0x24]
sub eax, dword [edi + 0x1c]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x18]
add esi, 0x18
mov edi, dword [esp + 0x14]
mov dword [esp + 0x2c], edi
sub eax, dword [esi + 0xc]
add eax, dword [esi + 4]
mov ecx, dword [esi + 0xc]
sub ecx, dword [esi + 4]
movd xmm0, eax
mov eax, dword [esi + 8]
sub eax, dword [esi]
cvtdq2pd xmm0, xmm0
add eax, edi
mov dword [esp + 0x34], eax
mulsd xmm0, qword [0x10588a80]
cvttsd2si edx, xmm0
mov dword [esp + 0x30], edx
lea eax, [ecx + edx]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x2c]
push eax
push esi
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [esi + 8]
sub eax, dword [esi]
mov esi, edi
mov edi, dword [esp + 0x20]
add esi, eax
mov dword [esp + 0x14], esi
push 0x14f
mov ecx, edi
call fcn.1014ca80
mov dword [esp + 0x18], eax
test eax, eax
je 0x1011f5aa
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 0xd
call dword [sym.imp.KERNEL32.dll_MulDiv]
add esi, eax
mov eax, dword [edi + 0x24]
sub eax, dword [edi + 0x1c]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x18]
add esi, 0x18
mov edi, dword [esp + 0x14]
mov dword [esp + 0x2c], edi
sub eax, dword [esi + 0xc]
add eax, dword [esi + 4]
mov ecx, dword [esi + 0xc]
sub ecx, dword [esi + 4]
movd xmm0, eax
mov eax, dword [esi + 8]
sub eax, dword [esi]
cvtdq2pd xmm0, xmm0
add eax, edi
mov dword [esp + 0x34], eax
mulsd xmm0, qword [0x10588a80]
cvttsd2si edx, xmm0
mov dword [esp + 0x30], edx
lea eax, [ecx + edx]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x2c]
push eax
push esi
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [esi + 8]
sub eax, dword [esi]
add dword [esp + 0x14], eax
mov edi, dword [esp + 0x20]
mov esi, dword [edi + 0x20]
sub esi, dword [edi + 0x18]
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 0x339
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, edi
push 0x150
cmp esi, eax
jge 0x1011f6fc
call fcn.1014ca80
test eax, eax
je 0x1011f5e6
mov edx, dword [eax]
mov ecx, eax
push 0
call dword [edx + 0x18]
push 0
push dword [edi + 0x70]
call dword [sym.imp.USER32.dll_ShowWindow]
mov esi, dword [esp + 0x14]
push 0x14e
mov ecx, edi
call fcn.1014ca80
mov dword [esp + 0x18], eax
test eax, eax
je 0x1011f685
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 5
call dword [sym.imp.KERNEL32.dll_MulDiv]
add esi, eax
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x18]
add esi, 0x18
mov eax, dword [esi + 4]
sub eax, dword [esi + 0xc]
sub eax, dword [edi + 0x1c]
add eax, dword [edi + 0x24]
mov ecx, dword [esi + 0xc]
sub ecx, dword [esi + 4]
mov edi, dword [esp + 0x14]
movd xmm0, eax
mov eax, dword [esi + 8]
sub eax, dword [esi]
cvtdq2pd xmm0, xmm0
add eax, edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], eax
mulsd xmm0, qword [0x10588a80]
cvttsd2si edx, xmm0
mov dword [esp + 0x30], edx
lea eax, [ecx + edx]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x2c]
push eax
push esi
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [esi + 8]
sub eax, dword [esi]
add dword [esp + 0x14], eax
mov edi, dword [esp + 0x20]
mov esi, dword [edi + 0x20]
sub esi, dword [edi + 0x18]
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 0x395
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, edi
push 0x151
cmp esi, eax
jge 0x1011f8b5
call fcn.1014ca80
test eax, eax
je 0x1011f6c1
mov edx, dword [eax]
mov ecx, eax
push 0
call dword [edx + 0x18]
push 0x152
mov ecx, edi
call fcn.1014ca80
test eax, eax
je 0x1011f6da
mov edx, dword [eax]
mov ecx, eax
push 0
call dword [edx + 0x18]
push 0x153
mov ecx, edi
call fcn.1014ca80
test eax, eax
je 0x1011fa8b
mov edx, dword [eax]
mov ecx, eax
push 0
call dword [edx + 0x18]
jmp 0x1011fa8b
call fcn.1014ca80
mov dword [esp + 0x1c], eax
test eax, eax
je 0x1011f5f1
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx + 0x18]
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 5
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
add esi, eax
mov dword [esp + 0x2c], esi
mov eax, dword [ecx + 0x1c]
sub eax, dword [ecx + 0x24]
sub eax, dword [edi + 0x1c]
add eax, dword [edi + 0x24]
mov edi, dword [esp + 0x1c]
movd xmm0, eax
mov eax, dword [ecx + 0x20]
sub eax, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x24]
add eax, esi
sub ecx, dword [edi + 0x1c]
cvtdq2pd xmm0, xmm0
mov dword [esp + 0x34], eax
mulsd xmm0, qword [0x10588a80]
cvttsd2si edx, xmm0
mov dword [esp + 0x30], edx
lea eax, [ecx + edx]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x2c]
push eax
mov eax, edi
add eax, 0x18
push eax
call dword [sym.imp.USER32.dll_CopyRect]
mov ecx, edi
mov edi, dword [esp + 0x20]
mov eax, dword [ecx + 0x20]
sub eax, dword [ecx + 0x18]
push dword [edi + 0x70]
add esi, eax
mov dword [esp + 0x18], esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1011f5f5
push 5
push dword [edi + 0x70]
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x30]
push eax
movdqu xmm0, xmmword [ecx + 0x18]
movdqu xmmword [esp + 0x4c], xmm0
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x34]
lea edx, [esp + 0x2c]
mov ecx, edi
call fcn.1014c830
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 2
call dword [sym.imp.KERNEL32.dll_MulDiv]
add eax, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
call fcn.100e9040
push 0x60
push dword [eax]
push 2
call dword [sym.imp.KERNEL32.dll_MulDiv]
add eax, dword [esp + 0x30]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x34]
sub eax, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 0x14
call dword [sym.imp.KERNEL32.dll_MulDiv]
sub dword [esp + 0x18], eax
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
call fcn.100e9040
push 0x60
push dword [eax]
push 4
call dword [sym.imp.KERNEL32.dll_MulDiv]
sub dword [esp + 0x1c], eax
call fcn.1018fb50
test al, al
jne 0x1011f894
call fcn.100e9040
push 0x60
push dword [eax]
push 3
call dword [sym.imp.KERNEL32.dll_MulDiv]
add dword [esp + 0x24], eax
call fcn.100e9040
push 0x60
push dword [eax]
push 2
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [esp + 0x1c]
sub ecx, eax
jmp 0x1011f898
mov ecx, dword [esp + 0x1c]
push 1
push ecx
push dword [esp + 0x20]
push dword [esp + 0x30]
push dword [esp + 0x38]
push dword [edi + 0x70]
call dword [sym.imp.USER32.dll_MoveWindow]
jmp 0x1011f5f5
call fcn.1014ca80
mov esi, eax
test esi, esi
je 0x1011f949
mov edx, dword [esi]
mov ecx, esi
push 1
call dword [edx + 0x18]
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 0xd
call dword [sym.imp.KERNEL32.dll_MulDiv]
add dword [esp + 0x14], eax
add esi, 0x18
mov eax, dword [esi + 4]
sub eax, dword [esi + 0xc]
sub eax, dword [edi + 0x1c]
add eax, dword [edi + 0x24]
mov ecx, dword [esi + 0xc]
sub ecx, dword [esi + 4]
mov edi, dword [esp + 0x14]
movd xmm0, eax
mov eax, dword [esi + 8]
sub eax, dword [esi]
cvtdq2pd xmm0, xmm0
add eax, edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], eax
mulsd xmm0, qword [0x10588a80]
cvttsd2si edx, xmm0
mov dword [esp + 0x30], edx
lea eax, [ecx + edx]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x2c]
push eax
push esi
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [esi + 8]
sub eax, dword [esi]
mov esi, edi
mov edi, dword [esp + 0x20]
add esi, eax
mov dword [esp + 0x14], esi
jmp 0x1011f94d
mov esi, dword [esp + 0x14]
push 0x152
mov ecx, edi
call fcn.1014ca80
mov dword [esp + 0x18], eax
test eax, eax
je 0x1011f9ee
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx + 0x18]
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 0xd
call dword [sym.imp.KERNEL32.dll_MulDiv]
add esi, eax
mov eax, dword [edi + 0x24]
sub eax, dword [edi + 0x1c]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x18]
add esi, 0x18
mov edi, dword [esp + 0x14]
mov dword [esp + 0x2c], edi
sub eax, dword [esi + 0xc]
add eax, dword [esi + 4]
mov ecx, dword [esi + 0xc]
sub ecx, dword [esi + 4]
movd xmm0, eax
mov eax, dword [esi + 8]
sub eax, dword [esi]
cvtdq2pd xmm0, xmm0
add eax, edi
mov dword [esp + 0x34], eax
mulsd xmm0, qword [0x10588a80]
cvttsd2si edx, xmm0
mov dword [esp + 0x30], edx
lea eax, [ecx + edx]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x2c]
push eax
push esi
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [esi + 8]
sub eax, dword [esi]
mov esi, edi
mov edi, dword [esp + 0x20]
add esi, eax
mov dword [esp + 0x14], esi
push 0x153
mov ecx, edi
call fcn.1014ca80
mov dword [esp + 0x18], eax
test eax, eax
je 0x1011fa8b
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx + 0x18]
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 5
call dword [sym.imp.KERNEL32.dll_MulDiv]
add esi, eax
mov eax, dword [edi + 0x24]
sub eax, dword [edi + 0x1c]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x18]
add esi, 0x18
mov edi, dword [esp + 0x14]
mov dword [esp + 0x2c], edi
sub eax, dword [esi + 0xc]
add eax, dword [esi + 4]
mov ecx, dword [esi + 0xc]
sub ecx, dword [esi + 4]
movd xmm0, eax
mov eax, dword [esi + 8]
sub eax, dword [esi]
cvtdq2pd xmm0, xmm0
add eax, edi
mov dword [esp + 0x34], eax
mulsd xmm0, qword [0x10588a80]
cvttsd2si edx, xmm0
mov dword [esp + 0x30], edx
lea eax, [ecx + edx]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x2c]
push eax
push esi
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [esi + 8]
sub eax, dword [esi]
add dword [esp + 0x14], eax
mov edi, dword [esp + 0x20]
mov esi, dword [edi + 0x20]
sub esi, dword [edi + 0x18]
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 0x401
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, edi
push 0x160
cmp esi, eax
jge 0x1011fae5
call fcn.1014ca80
test eax, eax
je 0x1011fac3
mov edx, dword [eax]
mov ecx, eax
push 0
call dword [edx + 0x18]
push 0x161
mov ecx, edi
call fcn.1014ca80
test eax, eax
je 0x1011fc1a
mov edx, dword [eax]
mov ecx, eax
push 0
call dword [edx + 0x18]
jmp 0x1011fc1a
call fcn.1014ca80
mov esi, eax
test esi, esi
je 0x1011fb79
mov edx, dword [esi]
mov ecx, esi
push 1
call dword [edx + 0x18]
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 0xd
call dword [sym.imp.KERNEL32.dll_MulDiv]
add dword [esp + 0x14], eax
add esi, 0x18
mov eax, dword [esi + 4]
sub eax, dword [esi + 0xc]
sub eax, dword [edi + 0x1c]
add eax, dword [edi + 0x24]
mov ecx, dword [esi + 0xc]
sub ecx, dword [esi + 4]
mov edi, dword [esp + 0x14]
movd xmm0, eax
mov eax, dword [esi + 8]
sub eax, dword [esi]
cvtdq2pd xmm0, xmm0
add eax, edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], eax
mulsd xmm0, qword [0x10588a80]
cvttsd2si edx, xmm0
mov dword [esp + 0x30], edx
lea eax, [ecx + edx]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x2c]
push eax
push esi
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [esi + 8]
sub eax, dword [esi]
mov esi, edi
mov edi, dword [esp + 0x20]
add esi, eax
mov dword [esp + 0x14], esi
jmp 0x1011fb7d
mov esi, dword [esp + 0x14]
push 0x161
mov ecx, edi
call fcn.1014ca80
mov dword [esp + 0x18], eax
test eax, eax
je 0x1011fc1a
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx + 0x18]
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 0xd
call dword [sym.imp.KERNEL32.dll_MulDiv]
add esi, eax
mov eax, dword [edi + 0x24]
sub eax, dword [edi + 0x1c]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x18]
add esi, 0x18
mov edi, dword [esp + 0x14]
mov dword [esp + 0x2c], edi
sub eax, dword [esi + 0xc]
add eax, dword [esi + 4]
mov ecx, dword [esi + 0xc]
sub ecx, dword [esi + 4]
movd xmm0, eax
mov eax, dword [esi + 8]
sub eax, dword [esi]
cvtdq2pd xmm0, xmm0
add eax, edi
mov dword [esp + 0x34], eax
mulsd xmm0, qword [0x10588a80]
cvttsd2si edx, xmm0
mov dword [esp + 0x30], edx
lea eax, [ecx + edx]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x2c]
push eax
push esi
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [esi + 8]
sub eax, dword [esi]
add dword [esp + 0x14], eax
mov edi, dword [esp + 0x20]
mov esi, dword [edi + 0x20]
sub esi, dword [edi + 0x18]
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 0x46a
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, edi
push 0x162
cmp esi, eax
jge 0x1011fc5b
call fcn.1014ca80
test eax, eax
je 0x1011fce5
mov edx, dword [eax]
mov ecx, eax
push 0
call dword [edx + 0x18]
jmp 0x1011fce5
call fcn.1014ca80
mov esi, eax
test esi, esi
je 0x1011fce5
mov edx, dword [esi]
mov ecx, esi
push 1
call dword [edx + 0x18]
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 0xf
call dword [sym.imp.KERNEL32.dll_MulDiv]
add dword [esp + 0x14], eax
add esi, 0x18
mov eax, dword [esi + 4]
sub eax, dword [esi + 0xc]
sub eax, dword [edi + 0x1c]
add eax, dword [edi + 0x24]
mov ecx, dword [esi + 0xc]
sub ecx, dword [esi + 4]
mov edi, dword [esp + 0x14]
movd xmm0, eax
mov eax, dword [esi + 8]
sub eax, dword [esi]
cvtdq2pd xmm0, xmm0
add eax, edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], eax
mulsd xmm0, qword [0x10588a80]
cvttsd2si edx, xmm0
mov dword [esp + 0x30], edx
lea eax, [ecx + edx]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x2c]
push eax
push esi
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [esi + 8]
sub eax, dword [esi]
add dword [esp + 0x14], eax
mov edi, dword [esp + 0x20]
push 0x163
mov ecx, edi
call fcn.1014ca80
push 0x164
mov ecx, edi
mov dword [esp + 0x2c], eax
call fcn.1014ca80
mov edx, eax
mov ecx, edi
push 0x167
mov dword [esp + 0x28], edx
call fcn.1014ca80
mov esi, eax
mov ecx, edi
push 0x16a
mov dword [esp + 0x20], esi
call fcn.1014ca80
mov dword [esp + 0x18], eax
test edx, edx
je 0x10120222
test esi, esi
je 0x10120222
test eax, eax
je 0x10120222
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 0x50f
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov esi, eax
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 0x4d3
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [esp + 0x44], eax
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 0x4a6
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [edi + 0x20]
mov edx, eax
sub ecx, dword [edi + 0x18]
cmp ecx, esi
jle 0x1011ff70
mov esi, dword [esp + 0x28]
mov ecx, esi
push 1
mov eax, dword [esi]
call dword [eax + 0x18]
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 0xd
call dword [sym.imp.KERNEL32.dll_MulDiv]
add dword [esp + 0x14], eax
add esi, 0x18
mov eax, dword [esi + 4]
sub eax, dword [esi + 0xc]
sub eax, dword [edi + 0x1c]
add eax, dword [edi + 0x24]
mov ecx, dword [esi + 8]
sub ecx, dword [esi]
movd xmm0, eax
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 4]
cvtdq2pd xmm0, xmm0
push eax
push ecx
lea ecx, [esp + 0x34]
mulsd xmm0, qword [0x10588a80]
cvttsd2si edx, xmm0
push edx
push dword [esp + 0x20]
call fcn.1010fb70
push eax
push esi
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [esi + 8]
sub eax, dword [esi]
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
add esi, eax
push 1
mov eax, dword [ecx]
call dword [eax + 0x18]
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 0xd
call dword [sym.imp.KERNEL32.dll_MulDiv]
add esi, eax
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x24]
add esi, 0x18
mov eax, dword [esi + 4]
sub eax, dword [esi + 0xc]
sub eax, dword [edi + 0x1c]
add eax, dword [edi + 0x24]
mov ecx, dword [esi + 8]
sub ecx, dword [esi]
movd xmm0, eax
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 4]
cvtdq2pd xmm0, xmm0
push eax
push ecx
lea ecx, [esp + 0x34]
mulsd xmm0, qword [0x10588a80]
cvttsd2si edx, xmm0
push edx
push dword [esp + 0x20]
call fcn.1010fb70
push eax
push esi
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [esi + 8]
sub eax, dword [esi]
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
add esi, eax
push 1
mov eax, dword [ecx]
call dword [eax + 0x18]
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 5
call dword [sym.imp.KERNEL32.dll_MulDiv]
add esi, eax
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x1c]
add esi, 0x18
mov eax, dword [esi + 4]
sub eax, dword [esi + 0xc]
sub eax, dword [edi + 0x1c]
add eax, dword [edi + 0x24]
mov ecx, dword [esi + 8]
sub ecx, dword [esi]
mov edi, dword [esp + 0x14]
movd xmm0, eax
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 4]
cvtdq2pd xmm0, xmm0
push eax
push ecx
lea ecx, [esp + 0x34]
mulsd xmm0, qword [0x10588a80]
cvttsd2si edx, xmm0
push edx
push edi
call fcn.1010fb70
push eax
push esi
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [esi + 8]
sub eax, dword [esi]
mov esi, dword [esp + 0x18]
add edi, eax
push 1
mov ecx, esi
mov dword [esp + 0x18], edi
mov eax, dword [esi]
call dword [eax + 0x18]
call fcn.100e9040
push 0x60
lea edi, [esi + 0x18]
push dword [eax + 4]
push 5
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [esp + 0x20]
mov esi, eax
mov ecx, dword [edi + 4]
sub ecx, dword [edi + 0xc]
mov eax, dword [edi + 0xc]
sub ecx, dword [edx + 0x1c]
add ecx, dword [edx + 0x24]
sub eax, dword [edi + 4]
add esi, dword [esp + 0x14]
push eax
movd xmm0, ecx
mov ecx, dword [edi + 8]
sub ecx, dword [edi]
cvtdq2pd xmm0, xmm0
push ecx
lea ecx, [esp + 0x34]
mulsd xmm0, qword [0x10588a80]
cvttsd2si edx, xmm0
push edx
push esi
call fcn.1010fb70
push eax
push edi
call dword [sym.imp.USER32.dll_CopyRect]
mov edi, dword [esp + 0x20]
jmp 0x10120222
mov eax, dword [edi + 0x20]
sub eax, dword [edi + 0x18]
mov ecx, dword [esp + 0x28]
cmp eax, dword [esp + 0x44]
jle 0x101200ee
mov eax, dword [ecx]
push 1
call dword [eax + 0x18]
push 0xd
call fcn.100e9040
mov ecx, eax
call fcn.100ea6f0
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
add esi, eax
mov eax, dword [ecx + 0x1c]
sub eax, dword [ecx + 0x24]
sub eax, dword [edi + 0x1c]
add eax, dword [edi + 0x24]
mov edi, dword [esp + 0x28]
movd xmm0, eax
mov eax, ecx
cvtdq2pd xmm0, xmm0
mov ecx, dword [eax + 0x20]
sub ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x24]
sub eax, dword [edi + 0x1c]
mulsd xmm0, qword [0x10588a80]
push eax
push ecx
lea ecx, [esp + 0x34]
cvttsd2si edx, xmm0
push edx
push esi
call fcn.1010fb70
push eax
mov ecx, edi
call fcn.1014c450
mov ecx, edi
mov edi, dword [esp + 0x24]
push 1
mov eax, dword [ecx + 0x20]
sub eax, dword [ecx + 0x18]
mov ecx, edi
add esi, eax
mov eax, dword [edi]
call dword [eax + 0x18]
push 0xd
call fcn.100e9040
mov ecx, eax
call fcn.100ea6f0
add esi, eax
mov eax, dword [edi + 0x1c]
sub eax, dword [edi + 0x24]
mov edi, dword [esp + 0x20]
sub eax, dword [edi + 0x1c]
add eax, dword [edi + 0x24]
mov edi, dword [esp + 0x24]
movd xmm0, eax
mov eax, dword [esp + 0x24]
cvtdq2pd xmm0, xmm0
mov ecx, dword [eax + 0x20]
sub ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x24]
sub eax, dword [edi + 0x1c]
mulsd xmm0, qword [0x10588a80]
push eax
push ecx
lea ecx, [esp + 0x34]
cvttsd2si edx, xmm0
push edx
push esi
call fcn.1010fb70
push eax
mov ecx, edi
call fcn.1014c450
mov ecx, edi
push 1
mov eax, dword [ecx + 0x20]
sub eax, dword [ecx + 0x18]
mov ecx, dword [esp + 0x20]
add esi, eax
mov dword [esp + 0x18], esi
mov eax, dword [ecx]
call dword [eax + 0x18]
push 5
call fcn.100e9040
mov ecx, eax
call fcn.100ea6f0
mov edi, dword [esp + 0x20]
mov esi, eax
mov eax, dword [esp + 0x1c]
add esi, dword [esp + 0x14]
mov ecx, dword [eax + 0x1c]
sub ecx, dword [eax + 0x24]
sub ecx, dword [edi + 0x1c]
add ecx, dword [edi + 0x24]
mov edi, dword [esp + 0x1c]
movd xmm0, ecx
mov ecx, dword [eax + 0x20]
sub ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x24]
sub eax, dword [edi + 0x1c]
cvtdq2pd xmm0, xmm0
push eax
push ecx
lea ecx, [esp + 0x34]
mulsd xmm0, qword [0x10588a80]
cvttsd2si edx, xmm0
push edx
push esi
call fcn.1010fb70
push eax
mov ecx, edi
call fcn.1014c450
mov esi, dword [esp + 0x18]
mov ecx, esi
push 0
mov eax, dword [esi]
call dword [eax + 0x18]
mov edi, dword [esp + 0x20]
jmp 0x10120222
mov eax, dword [edi + 0x20]
sub eax, dword [edi + 0x18]
cmp eax, edx
mov eax, dword [ecx]
jle 0x101201fa
push 1
call dword [eax + 0x18]
push 0xd
call fcn.100e9040
mov ecx, eax
call fcn.100ea6f0
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
add esi, eax
mov eax, dword [edi + 0x24]
sub eax, dword [edi + 0x1c]
sub eax, dword [ecx + 0x24]
add eax, dword [ecx + 0x1c]
mov edi, dword [esp + 0x28]
movd xmm0, eax
mov eax, ecx
cvtdq2pd xmm0, xmm0
mov ecx, dword [eax + 0x20]
sub ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x24]
sub eax, dword [edi + 0x1c]
mulsd xmm0, qword [0x10588a80]
push eax
push ecx
lea ecx, [esp + 0x34]
cvttsd2si edx, xmm0
push edx
push esi
call fcn.1010fb70
push eax
mov ecx, edi
call fcn.1014c450
mov ecx, edi
push 1
mov eax, dword [ecx + 0x20]
sub eax, dword [ecx + 0x18]
mov ecx, dword [esp + 0x28]
add esi, eax
mov dword [esp + 0x18], esi
mov eax, dword [ecx]
call dword [eax + 0x18]
push 0xd
call fcn.100e9040
mov ecx, eax
call fcn.100ea6f0
mov edi, dword [esp + 0x20]
mov esi, eax
mov eax, dword [esp + 0x24]
add esi, dword [esp + 0x14]
mov ecx, dword [eax + 0x1c]
sub ecx, dword [eax + 0x24]
sub ecx, dword [edi + 0x1c]
add ecx, dword [edi + 0x24]
mov edi, dword [esp + 0x24]
movd xmm0, ecx
mov ecx, dword [eax + 0x20]
sub ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x24]
sub eax, dword [edi + 0x1c]
cvtdq2pd xmm0, xmm0
push eax
push ecx
lea ecx, [esp + 0x34]
mulsd xmm0, qword [0x10588a80]
cvttsd2si edx, xmm0
push edx
push esi
call fcn.1010fb70
push eax
mov ecx, edi
call fcn.1014c450
mov ecx, dword [esp + 0x1c]
push 0
mov eax, dword [ecx]
call dword [eax + 0x18]
mov esi, dword [esp + 0x18]
mov ecx, esi
push 0
mov eax, dword [esi]
call dword [eax + 0x18]
mov edi, dword [esp + 0x20]
jmp 0x10120222
push 0
call dword [eax + 0x18]
mov ecx, dword [esp + 0x24]
push 0
mov eax, dword [ecx]
call dword [eax + 0x18]
mov ecx, dword [esp + 0x1c]
push 0
mov eax, dword [ecx]
call dword [eax + 0x18]
mov esi, dword [esp + 0x18]
mov ecx, esi
push 0
mov eax, dword [esi]
call dword [eax + 0x18]
push 0x15b
mov ecx, edi
call fcn.1014ca80
mov dword [esp + 0x44], eax
test eax, eax
je 0x101202b2
mov esi, dword [edi + 0x20]
sub esi, dword [edi + 0x18]
call fcn.100e9040
push 0x60
push dword [eax + 4]
push 5
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edi, dword [esp + 0x44]
mov edx, dword [esp + 0x20]
add edi, 0x18
mov ecx, dword [edi]
sub ecx, dword [edi + 8]
sub ecx, eax
mov eax, dword [edi + 4]
sub eax, dword [edi + 0xc]
add ecx, esi
sub eax, dword [edx + 0x1c]
add eax, dword [edx + 0x24]
mov edx, dword [edi + 0xc]
sub edx, dword [edi + 4]
mov dword [esp + 0x2c], ecx
movd xmm0, eax
mov eax, dword [edi + 8]
sub eax, dword [edi]
cvtdq2pd xmm0, xmm0
add eax, ecx
mov dword [esp + 0x34], eax
mulsd xmm0, qword [0x10588a80]
cvttsd2si esi, xmm0
mov dword [esp + 0x30], esi
lea eax, [edx + esi]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x2c]
push eax
push edi
call dword [sym.imp.USER32.dll_CopyRect]
mov edi, dword [esp + 0x20]
mov ecx, edi
call fcn.1014c4b0
mov ecx, dword [esp + 0xa8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0x94]
xor ecx, esp
call fcn.1033d458
mov esp, ebp
pop ebp
ret