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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x218
movsd xmm0, qword [0x10251e30]
xorps xmm3, xmm3
push esi
push edi
mov edi, ecx
movsd qword [esp + 0x1f0], xmm0
mov dword [esp + 0x58], edi
movsd qword [esp + 0x48], xmm3
mov ecx, dword [edi + 0x14]
or word [ecx + 0x22], 8
mov dword [esp + 0x24], ecx
nop word [eax + eax]
mov eax, dword [ecx]
mov esi, dword [ecx + 0x10]
mov dword [esp + 0x14], esi
mov eax, dword [eax]
mov dword [esp + 0x5c], eax
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x34], eax
lea eax, [ecx + 0x14]
mov dword [esp + 0x1c], eax
jmp 0x1010e880
movups xmm0, xmmword [edx]
movups xmmword [esi], xmm0
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [eax]
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax]
add eax, 4
mov dword [ecx], eax
mov ecx, dword [edi + 0x70]
mov dword [esp + 0x18], edx
test cl, 0xc
je 0x1010e9a2
add dword [edi + 0x68], 0xffffffff
mov esi, dword [edi + 0x14]
jne 0x1010e8c5
test cl, 8
je 0x1010e8c5
mov eax, dword [edi + 0x64]
and ecx, 0xffffff04
mov dword [esp + 0x30], 1
mov dword [edi + 0x68], eax
mov dword [esp + 0x40], ecx
jmp 0x1010e8da
and cl, 4
mov dword [esp + 0x30], 0
mov dword [esp + 0x40], ecx
je 0x1010e997
movzx eax, word [esi + 0x22]
test al, 0x40
je 0x1010e8f0
and eax, 0xffbf
mov word [esi + 0x22], ax
jmp 0x1010e997
cmp dword [esp + 0x30], 0
je 0x1010e90c
push 0xffffffffffffffff
mov edx, 3
mov ecx, edi
call fcn.100f57e0
mov ecx, dword [esp + 0x44]
add esp, 4
test cl, cl
je 0x1010e97d
mov eax, dword [esi]
mov ecx, dword [esi + 0x14]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x30]
sub ecx, edx
sar ecx, 2
mov dword [esp + 0x28], edx
dec ecx
mov edx, dword [eax + 0x38]
test edx, edx
je 0x1010e937
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x40], eax
jmp 0x1010e93f
mov dword [esp + 0x40], 0xffffffff
test ecx, ecx
je 0x1010e969
mov eax, dword [edi + 0x18]
cmp dword [esi + 0x14], eax
jbe 0x1010e969
test edx, edx
je 0x1010e95c
sub eax, dword [esp + 0x28]
sar eax, 2
mov ecx, dword [edx + eax*4 - 4]
jmp 0x1010e95f
or ecx, 0xffffffff
mov eax, dword [esp + 0x40]
cmp eax, ecx
je 0x1010e97d
jmp 0x1010e96d
mov eax, dword [esp + 0x40]
push eax
mov edx, 2
mov ecx, edi
call fcn.100f57e0
add esp, 4
cmp byte [edi + 8], 1
mov eax, dword [esi + 0x14]
mov dword [edi + 0x18], eax
je 0x101113b7
movsd xmm3, qword [esp + 0x48]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
mov esi, dword [eax + 0x10]
mov dword [esp + 0x14], esi
mov eax, edx
shr eax, 6
movzx eax, al
mov ecx, eax
mov dword [esp + 0x40], eax
shl ecx, 4
mov eax, edx
add esi, ecx
mov dword [esp + 0x28], ecx
and eax, 0x3f
mov dword [esp + 0x30], esi
cmp eax, 0x2d
ja case.default.0x1010e9cb
jmp dword [eax*4 + 0x10111430]
shr edx, 0x17
shl edx, 4
add edx, dword [esp + 0x14]
jmp 0x1010e872
shr edx, 0xe
shl edx, 4
add edx, dword [esp + 0x34]
jmp 0x1010e872
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
mov eax, dword [eax]
mov ecx, dword [eax]
shr ecx, 6
shl ecx, 4
add ecx, dword [esp + 0x34]
add eax, 4
mov dword [edx], eax
movups xmm0, xmmword [ecx]
jmp 0x1010e875
mov eax, edx
mov dword [esi + 8], 1
shr eax, 0x17
mov dword [esi], eax
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
test edx, 0x7fc000
je 0x1010e880
mov esi, eax
add dword [esi], 4
jmp case.default.0x1010e9cb
shr edx, 0x17
lea ecx, [esi + 8]
mov eax, edx
mov dword [ecx], 0
dec edx
lea ecx, [ecx + 0x10]
test eax, eax
jne 0x1010ea45
jmp case.default.0x1010e9cb
mov eax, dword [esp + 0x5c]
shr edx, 0x17
mov eax, dword [eax + edx*4 + 0x10]
mov eax, dword [eax]
movups xmm0, xmmword [eax]
jmp 0x1010e875
mov ecx, dword [esp + 0x5c]
mov eax, edx
shr eax, 0x17
shr edx, 0xe
mov eax, dword [ecx + eax*4 + 0x10]
mov eax, dword [eax]
mov dword [esp + 0x28], eax
test edx, 0x100
je 0x1010ea99
movzx edx, dl
shl edx, 4
add edx, dword [esp + 0x34]
jmp 0x1010eaa6
and edx, 0x1ff
shl edx, 4
add edx, dword [esp + 0x14]
cmp dword [eax + 8], 0x45
mov dword [esp + 0x18], edx
je 0x1010eab4
xor eax, eax
jmp 0x1010eade
mov ecx, dword [eax]
call fcn.1010a120
cmp dword [eax + 8], 0
je 0x1010eada
movups xmm0, xmmword [eax]
mov eax, dword [esp + 0x1c]
movsd xmm3, qword [esp + 0x48]
movups xmmword [esi], xmm0
mov esi, dword [esp + 0x14]
jmp 0x1010e880
mov edx, dword [esp + 0x18]
push eax
push esi
push edx
mov edx, dword [esp + 0x34]
mov ecx, edi
call fcn.1010d890
add esp, 0xc
mov eax, dword [esp + 0x24]
movsd xmm3, qword [esp + 0x48]
mov esi, dword [eax + 0x10]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], esi
jmp 0x1010e880
mov ecx, dword [esp + 0x14]
mov eax, edx
shr eax, 0x17
shl eax, 4
add eax, ecx
shr edx, 0xe
mov dword [esp + 0x28], eax
test edx, 0x100
je 0x1010eb32
movzx edx, dl
shl edx, 4
add edx, dword [esp + 0x34]
jmp 0x1010eb3d
and edx, 0x1ff
shl edx, 4
add edx, ecx
cmp dword [eax + 8], 0x45
mov dword [esp + 0x18], edx
je 0x1010eb50
xor ecx, ecx
push ecx
push esi
push edx
mov edx, eax
jmp 0x1010eae5
mov ecx, dword [eax]
call fcn.1010a120
mov ecx, eax
cmp dword [ecx + 8], 0
je 0x1010eb78
movups xmm0, xmmword [ecx]
mov eax, dword [esp + 0x1c]
movsd xmm3, qword [esp + 0x48]
movups xmmword [esi], xmm0
mov esi, dword [esp + 0x14]
jmp 0x1010e880
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
push ecx
push esi
push edx
mov edx, eax
jmp 0x1010eae5
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + esi*4 + 0x10]
mov esi, dword [eax]
mov eax, edx
shr eax, 0x17
mov dword [esp + 0x28], esi
test eax, 0x100
je 0x1010ebb8
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x34]
jmp 0x1010ebbd
shl eax, 4
add eax, ecx
shr edx, 0xe
mov dword [esp + 0x40], eax
test edx, 0x100
je 0x1010ebd8
movzx edx, dl
shl edx, 4
add edx, dword [esp + 0x34]
jmp 0x1010ebe3
and edx, 0x1ff
shl edx, 4
add edx, ecx
cmp dword [esi + 8], 0x45
mov dword [esp + 0x18], edx
je 0x1010ec00
xor ecx, ecx
push ecx
push edx
push eax
mov edx, esi
mov ecx, edi
call fcn.1010d9e0
jmp 0x1010eaec
mov ecx, dword [esi]
mov edx, eax
call fcn.1010a120
mov ecx, eax
mov dword [esp + 0x38], ecx
cmp dword [ecx + 8], 0
jne 0x1010ec2e
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x40]
push ecx
push edx
push eax
mov edx, esi
mov ecx, edi
call fcn.1010d9e0
jmp 0x1010eaec
mov esi, dword [esp + 0x18]
test byte [esi + 8], 0x40
je 0x1010ec60
mov edx, dword [esp + 0x28]
mov edx, dword [edx]
test byte [edx + 5], 4
je 0x1010ec60
mov eax, dword [esi]
test byte [eax + 5], 3
je 0x1010ec60
mov ecx, dword [edi + 0x10]
and byte [edx + 5], 0xfb
mov eax, dword [ecx + 0x50]
mov dword [edx + 0x1c], eax
mov dword [ecx + 0x50], edx
mov ecx, dword [esp + 0x38]
movups xmm0, xmmword [esi]
mov esi, dword [esp + 0x14]
movsd xmm3, qword [esp + 0x48]
mov eax, dword [esp + 0x1c]
movups xmmword [ecx], xmm0
jmp 0x1010e880
mov eax, dword [esp + 0x5c]
movups xmm0, xmmword [esi]
mov esi, dword [esp + 0x14]
shr edx, 0x17
mov ecx, dword [eax + edx*4 + 0x10]
mov eax, dword [ecx]
movups xmmword [eax], xmm0
mov edx, dword [ecx]
mov eax, dword [esp + 0x1c]
test byte [edx + 8], 0x40
je 0x1010e880
lea eax, [ecx + 8]
cmp edx, eax
mov eax, dword [esp + 0x1c]
jne 0x1010e880
mov ecx, dword [edi + 0x10]
cmp byte [ecx + 0x3d], 1
ja 0x1010e880
mov edx, dword [edx]
test byte [edx + 5], 3
je 0x1010e880
call fcn.100f6fe0
mov eax, dword [esp + 0x1c]
jmp 0x1010e880
mov ecx, dword [esp + 0x14]
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x1010ecf2
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x34]
jmp 0x1010ecf7
shl eax, 4
add eax, ecx
shr edx, 0xe
mov dword [esp + 0x40], eax
test edx, 0x100
je 0x1010ed12
movzx edx, dl
shl edx, 4
add edx, dword [esp + 0x34]
jmp 0x1010ed1d
and edx, 0x1ff
shl edx, 4
add edx, ecx
cmp dword [esi + 8], 0x45
mov dword [esp + 0x18], edx
je 0x1010ed3a
xor ecx, ecx
push ecx
push edx
push eax
mov edx, esi
mov ecx, edi
call fcn.1010d9e0
jmp 0x1010eaec
mov ecx, dword [esi]
mov edx, eax
call fcn.1010a120
mov ecx, eax
mov dword [esp + 0x28], ecx
cmp dword [ecx + 8], 0
je 0x1010ec15
mov esi, dword [esp + 0x18]
test byte [esi + 8], 0x40
je 0x1010ed85
mov eax, dword [esp + 0x30]
mov edx, dword [eax]
test byte [edx + 5], 4
je 0x1010ed85
mov eax, dword [esi]
test byte [eax + 5], 3
je 0x1010ed85
mov ecx, dword [edi + 0x10]
and byte [edx + 5], 0xfb
mov eax, dword [ecx + 0x50]
mov dword [edx + 0x1c], eax
mov dword [ecx + 0x50], edx
mov ecx, dword [esp + 0x28]
movups xmm0, xmmword [esi]
mov esi, dword [esp + 0x14]
movsd xmm3, qword [esp + 0x48]
mov eax, dword [esp + 0x1c]
movups xmmword [ecx], xmm0
jmp 0x1010e880
mov eax, edx
mov ecx, edi
shr edx, 0xe
shr eax, 0x17
and edx, 0x1ff
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], edx
call fcn.10109da0
mov edx, dword [esp + 0x28]
mov dword [esi], eax
mov dword [esi + 8], 0x45
mov esi, dword [esp + 0x18]
mov dword [esp + 0x38], eax
test edx, edx
jne 0x1010edd8
test esi, esi
je 0x1010ee14
cmp esi, 8
jb 0x1010edeb
mov ecx, esi
and esi, 7
shr ecx, 3
add esi, 8
dec ecx
shl esi, cl
cmp edx, 8
jb 0x1010ee06
mov eax, edx
sar edx, 3
and eax, 7
add eax, 8
lea ecx, [edx - 1]
shl eax, cl
mov edx, eax
mov eax, dword [esp + 0x38]
push esi
push edx
mov edx, eax
mov ecx, edi
call fcn.10109a00
add esp, 8
mov eax, dword [edi + 0x10]
movsd xmm3, qword [esp + 0x48]
mov esi, dword [esp + 0x14]
cmp dword [eax + 0xc], 0
mov eax, dword [esp + 0x1c]
jle 0x1010e880
mov eax, dword [esp + 0x30]
add eax, 0x10
mov ecx, edi
mov dword [edi + 0xc], eax
call fcn.100f8530
mov ecx, dword [esp + 0x24]
movsd xmm3, qword [esp + 0x48]
mov eax, dword [ecx + 4]
mov dword [edi + 0xc], eax
mov esi, dword [ecx + 0x10]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], esi
jmp 0x1010e880
mov ecx, dword [esp + 0x14]
mov eax, edx
shr eax, 0x17
shl eax, 4
add eax, ecx
shr edx, 0xe
mov dword [esp + 0x28], eax
test edx, 0x100
je 0x1010ee89
movzx edx, dl
shl edx, 4
add edx, dword [esp + 0x34]
jmp 0x1010ee94
and edx, 0x1ff
shl edx, 4
add edx, ecx
movups xmm0, xmmword [eax]
mov ecx, dword [edx]
mov dword [esp + 0x18], edx
movups xmmword [esi + 0x10], xmm0
cmp dword [eax + 8], 0x45
je 0x1010eeb3
xor ecx, ecx
push ecx
push esi
push edx
mov edx, eax
jmp 0x1010eae5
mov eax, dword [eax]
mov dword [esp + 0x40], eax
mov al, byte [ecx + 4]
cmp al, 4
jne 0x1010eed0
mov edx, ecx
mov ecx, dword [esp + 0x40]
call fcn.1010a050
jmp 0x1010eb57
movzx eax, al
lea edx, [esp + 0x210]
mov dword [esp + 0x210], ecx
or eax, 0x40
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x218], eax
call fcn.1010a090
jmp 0x1010eb57
mov ecx, dword [esp + 0x14]
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x1010ef15
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x34]
jmp 0x1010ef1a
shl eax, 4
add eax, ecx
shr edx, 0xe
mov dword [esp + 0x40], eax
test edx, 0x100
je 0x1010ef35
movzx edx, dl
shl edx, 4
add edx, dword [esp + 0x34]
jmp 0x1010ef40
and edx, 0x1ff
shl edx, 4
add edx, ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x18], edx
cmp ecx, 0x13
jne 0x1010ef8d
cmp dword [edx + 8], ecx
jne 0x1010ef78
mov ecx, dword [edx]
add ecx, dword [eax]
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x40]
adc eax, dword [edx + 4]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x1c]
mov dword [esi], ecx
mov dword [esi + 8], 0x13
mov esi, dword [esp + 0x14]
jmp 0x1010e880
mov edx, dword [eax + 4]
mov ecx, dword [eax]
call fcn.1019bbd0
movsd qword [esp + 0x28], xmm0
jmp 0x1010f00f
cmp ecx, 3
jne 0x1010ef9e
movsd xmm0, qword [eax]
movsd qword [esp + 0x28], xmm0
jmp 0x1010f013
and cl, 0xf
cmp cl, 4
jne 0x1010f0bc
mov ecx, dword [eax]
cmp byte [ecx + 4], 4
jne 0x1010efb8
movzx eax, byte [ecx + 7]
jmp 0x1010efbb
mov eax, dword [ecx + 0xc]
add ecx, 0x10
mov dword [esp + 0x20], eax
lea edx, [esp + 0xc0]
call fcn.100ff630
mov ecx, dword [esp + 0x20]
inc ecx
cmp eax, ecx
jne 0x1010f0b8
cmp dword [esp + 0xc8], 0x13
jne 0x1010f000
mov edx, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc0]
call fcn.1019bbd0
movsd qword [esp + 0x28], xmm0
jmp 0x1010f00f
movsd xmm0, qword [esp + 0xc0]
movsd qword [esp + 0x28], xmm0
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 8]
cmp eax, 3
jne 0x1010f021
movsd xmm0, qword [edx]
jmp 0x1010f094
cmp eax, 0x13
jne 0x1010f03a
mov esi, dword [esp + 0x18]
mov edx, dword [edx + 4]
mov ecx, dword [esi]
call fcn.1019bbd0
mov esi, dword [esp + 0x30]
jmp 0x1010f094
and al, 0xf
cmp al, 4
jne 0x1010f0bc
mov ecx, dword [edx]
cmp byte [ecx + 4], al
jne 0x1010f04d
movzx eax, byte [ecx + 7]
jmp 0x1010f050
mov eax, dword [ecx + 0xc]
add ecx, 0x10
mov dword [esp + 0x20], eax
lea edx, [esp + 0xd0]
call fcn.100ff630
mov ecx, dword [esp + 0x20]
inc ecx
cmp eax, ecx
jne 0x1010f0b8
cmp dword [esp + 0xd8], 0x13
jne 0x1010f08b
mov edx, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd0]
call fcn.1019bbd0
jmp 0x1010f094
movsd xmm0, qword [esp + 0xd0]
addsd xmm0, qword [esp + 0x28]
movsd xmm3, qword [esp + 0x48]
mov eax, dword [esp + 0x1c]
mov dword [esi + 8], 3
movsd qword [esi], xmm0
mov esi, dword [esp + 0x14]
jmp 0x1010e880
mov edx, dword [esp + 0x18]
push 6
push esi
push edx
mov edx, dword [esp + 0x4c]
mov ecx, edi
call fcn.1010bf20
jmp 0x1010eaec
mov ecx, dword [esp + 0x14]
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x1010f0ec
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x34]
jmp 0x1010f0f1
shl eax, 4
add eax, ecx
shr edx, 0xe
mov dword [esp + 0x40], eax
test edx, 0x100
je 0x1010f10c
movzx edx, dl
shl edx, 4
add edx, dword [esp + 0x34]
jmp 0x1010f117
and edx, 0x1ff
shl edx, 4
add edx, ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x18], edx
cmp ecx, 0x13
jne 0x1010f15b
cmp dword [edx + 8], 0x13
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jne 0x1010f14c
sub ecx, dword [edx]
sbb eax, dword [edx + 4]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x1c]
mov dword [esi], ecx
mov dword [esi + 8], 0x13
mov esi, dword [esp + 0x14]
jmp 0x1010e880
mov edx, eax
call fcn.1019bbd0
movsd qword [esp + 0x28], xmm0
jmp 0x1010f1d7
cmp ecx, 3
jne 0x1010f16c
movsd xmm0, qword [eax]
movsd qword [esp + 0x28], xmm0
jmp 0x1010f1db
and cl, 0xf
cmp cl, 4
jne 0x1010f292
mov ecx, dword [eax]
cmp byte [ecx + 4], 4
jne 0x1010f186
movzx eax, byte [ecx + 7]
jmp 0x1010f189
mov eax, dword [ecx + 0xc]
add ecx, 0x10
mov dword [esp + 0x20], eax
lea edx, [esp + 0xe0]
call fcn.100ff630
mov ecx, dword [esp + 0x20]
inc ecx
cmp eax, ecx
jne 0x1010f28e
cmp dword [esp + 0xe8], 0x13
jne 0x1010f1c8
mov edx, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe0]
call fcn.1019bbd0
jmp 0x1010f1d1
movsd xmm0, qword [esp + 0xe0]
movsd qword [esp + 0x28], xmm0
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 8]
cmp eax, 3
jne 0x1010f1e9
movsd xmm1, qword [edx]
jmp 0x1010f266
cmp eax, 0x13
jne 0x1010f205
mov esi, dword [esp + 0x18]
mov edx, dword [edx + 4]
mov ecx, dword [esi]
call fcn.1019bbd0
mov esi, dword [esp + 0x30]
movaps xmm1, xmm0
jmp 0x1010f266
and al, 0xf
cmp al, 4
jne 0x1010f292
mov ecx, dword [edx]
cmp byte [ecx + 4], al
jne 0x1010f21c
movzx eax, byte [ecx + 7]
jmp 0x1010f21f
mov eax, dword [ecx + 0xc]
add ecx, 0x10
mov dword [esp + 0x20], eax
lea edx, [esp + 0xf0]
call fcn.100ff630
mov ecx, dword [esp + 0x20]
inc ecx
cmp eax, ecx
jne 0x1010f28e
cmp dword [esp + 0xf8], 0x13
jne 0x1010f25d
mov edx, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf0]
call fcn.1019bbd0
movaps xmm1, xmm0
jmp 0x1010f266
movsd xmm1, qword [esp + 0xf0]
movsd xmm0, qword [esp + 0x28]
movsd xmm3, qword [esp + 0x48]
subsd xmm0, xmm1
mov eax, dword [esp + 0x1c]
mov dword [esi + 8], 3
movsd qword [esi], xmm0
mov esi, dword [esp + 0x14]
jmp 0x1010e880
mov edx, dword [esp + 0x18]
push 7
push esi
push edx
mov edx, dword [esp + 0x4c]
mov ecx, edi
call fcn.1010bf20
jmp 0x1010eaec
mov ecx, dword [esp + 0x14]
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x1010f2c2
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x34]
jmp 0x1010f2c7
shl eax, 4
add eax, ecx
shr edx, 0xe
mov dword [esp + 0x40], eax
test edx, 0x100
je 0x1010f2e2
movzx edx, dl
shl edx, 4
add edx, dword [esp + 0x34]
jmp 0x1010f2ed
and edx, 0x1ff
shl edx, 4
add edx, ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x18], edx
cmp ecx, 0x13
jne 0x1010f341
cmp dword [edx + 8], ecx
jne 0x1010f32c
push dword [eax + 4]
push dword [eax]
push dword [edx + 4]
push dword [edx]
call fcn.1019afe0
movsd xmm3, qword [esp + 0x48]
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 4], edx
mov dword [esi + 8], 0x13
mov esi, dword [esp + 0x14]
jmp 0x1010e880
mov edx, dword [eax + 4]
mov ecx, dword [eax]
call fcn.1019bbd0
movsd qword [esp + 0x28], xmm0
jmp 0x1010f3c3
cmp ecx, 3
jne 0x1010f352
movsd xmm0, qword [eax]
movsd qword [esp + 0x28], xmm0
jmp 0x1010f3c7
and cl, 0xf
cmp cl, 4
jne 0x1010f470
mov ecx, dword [eax]
cmp byte [ecx + 4], 4
jne 0x1010f36c
movzx eax, byte [ecx + 7]
jmp 0x1010f36f
mov eax, dword [ecx + 0xc]
add ecx, 0x10
mov dword [esp + 0x20], eax
lea edx, [esp + 0x100]
call fcn.100ff630
mov ecx, dword [esp + 0x20]
inc ecx
cmp eax, ecx
jne 0x1010f46c
cmp dword [esp + 0x108], 0x13
jne 0x1010f3b4
mov edx, dword [esp + 0x104]
mov ecx, dword [esp + 0x100]
call fcn.1019bbd0
movsd qword [esp + 0x28], xmm0
jmp 0x1010f3c3
movsd xmm0, qword [esp + 0x100]
movsd qword [esp + 0x28], xmm0
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 8]
cmp eax, 3
jne 0x1010f3d5
movsd xmm0, qword [edx]
jmp 0x1010f448
cmp eax, 0x13
jne 0x1010f3ee
mov esi, dword [esp + 0x18]
mov edx, dword [edx + 4]
mov ecx, dword [esi]
call fcn.1019bbd0
mov esi, dword [esp + 0x30]
jmp 0x1010f448
and al, 0xf
cmp al, 4
jne 0x1010f470
mov ecx, dword [edx]
cmp byte [ecx + 4], al
jne 0x1010f401
movzx eax, byte [ecx + 7]
jmp 0x1010f404
mov eax, dword [ecx + 0xc]
add ecx, 0x10
mov dword [esp + 0x20], eax
lea edx, [esp + 0x110]
call fcn.100ff630
mov ecx, dword [esp + 0x20]
inc ecx
cmp eax, ecx
jne 0x1010f46c
cmp dword [esp + 0x118], 0x13
jne 0x1010f43f
mov edx, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
call fcn.1019bbd0
jmp 0x1010f448
movsd xmm0, qword [esp + 0x110]
mulsd xmm0, qword [esp + 0x28]
mov eax, dword [esp + 0x1c]
movsd xmm3, qword [esp + 0x48]
mov dword [esi + 8], 3
movsd qword [esi], xmm0
mov esi, dword [esp + 0x14]
jmp 0x1010e880
mov edx, dword [esp + 0x18]
push 8
push esi
push edx
mov edx, dword [esp + 0x4c]
mov ecx, edi
call fcn.1010bf20
jmp 0x1010eaec
mov ecx, dword [esp + 0x14]
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x1010f4a0
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x34]
jmp 0x1010f4a5
shl eax, 4
add eax, ecx
shr edx, 0xe
mov dword [esp + 0x40], eax
test edx, 0x100
je 0x1010f4c0
movzx edx, dl
shl edx, 4
add edx, dword [esp + 0x34]
jmp 0x1010f4cb
and edx, 0x1ff
shl edx, 4
add edx, ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x18], edx
cmp ecx, 3
jne 0x1010f4e0
movsd xmm0, qword [eax]
jmp 0x1010f564
cmp ecx, 0x13
jne 0x1010f4fb
mov edx, dword [eax + 4]
mov ecx, dword [eax]
call fcn.1019bbd0
mov edx, dword [esp + 0x18]
movsd qword [esp + 0x28], xmm0
jmp 0x1010f56a
and cl, 0xf
cmp cl, 4
jne 0x1010f621
mov ecx, dword [eax]
cmp byte [ecx + 4], 4
jne 0x1010f515
movzx eax, byte [ecx + 7]
jmp 0x1010f518
mov eax, dword [ecx + 0xc]
add ecx, 0x10
mov dword [esp + 0x20], eax
lea edx, [esp + 0x120]
call fcn.100ff630
mov ecx, dword [esp + 0x20]
inc ecx
cmp eax, ecx
jne 0x1010f61d
cmp dword [esp + 0x128], 0x13
jne 0x1010f557
mov edx, dword [esp + 0x124]
mov ecx, dword [esp + 0x120]
call fcn.1019bbd0
jmp 0x1010f560
movsd xmm0, qword [esp + 0x120]
mov edx, dword [esp + 0x18]
movsd qword [esp + 0x28], xmm0
mov eax, dword [edx + 8]
cmp eax, 3
jne 0x1010f578
movsd xmm1, qword [edx]
jmp 0x1010f5f5
cmp eax, 0x13
jne 0x1010f594
mov esi, dword [esp + 0x18]
mov edx, dword [edx + 4]
mov ecx, dword [esi]
call fcn.1019bbd0
mov esi, dword [esp + 0x30]
movaps xmm1, xmm0
jmp 0x1010f5f5
and al, 0xf
cmp al, 4
jne 0x1010f621
mov ecx, dword [edx]
cmp byte [ecx + 4], al
jne 0x1010f5ab
movzx eax, byte [ecx + 7]
jmp 0x1010f5ae
mov eax, dword [ecx + 0xc]
add ecx, 0x10
mov dword [esp + 0x20], eax
lea edx, [esp + 0x130]
call fcn.100ff630
mov ecx, dword [esp + 0x20]
inc ecx
cmp eax, ecx
jne 0x1010f61d
cmp dword [esp + 0x138], 0x13
jne 0x1010f5ec
mov edx, dword [esp + 0x134]
mov ecx, dword [esp + 0x130]
call fcn.1019bbd0
movaps xmm1, xmm0
jmp 0x1010f5f5
movsd xmm1, qword [esp + 0x130]
movsd xmm0, qword [esp + 0x28]
divsd xmm0, xmm1
mov eax, dword [esp + 0x1c]
mov dword [esi + 8], 3
movsd xmm3, qword [esp + 0x48]
movsd qword [esi], xmm0
mov esi, dword [esp + 0x14]
jmp 0x1010e880
mov edx, dword [esp + 0x18]
push 0xb
push esi
push edx
mov edx, dword [esp + 0x4c]
mov ecx, edi
call fcn.1010bf20
jmp 0x1010eaec
mov ecx, dword [esp + 0x14]
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x1010f651
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x34]
jmp 0x1010f656
shl eax, 4
add eax, ecx
shr edx, 0xe
mov dword [esp + 0x38], eax
test edx, 0x100
je 0x1010f671
movzx edx, dl
shl edx, 4
add edx, dword [esp + 0x34]
jmp 0x1010f67c
and edx, 0x1ff
shl edx, 4
add edx, ecx
cmp dword [eax + 8], 0x13
mov dword [esp + 0x18], edx
jne 0x1010f69d
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
jmp 0x1010f6c5
push 0
lea edx, [esp + 0x6c]
mov ecx, eax
call fcn.1010d7a0
add esp, 4
test eax, eax
je 0x1010f725
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x20], eax
cmp dword [edx + 8], 0x13
jne 0x1010f6da
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
jmp 0x1010f6fe
mov esi, dword [esp + 0x18]
lea edx, [esp + 0x70]
push 0
mov ecx, esi
call fcn.1010d7a0
add esp, 4
test eax, eax
je 0x1010f729
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x30]
and eax, dword [esp + 0x20]
and ecx, dword [esp + 0x40]
movsd xmm3, qword [esp + 0x48]
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 4], ecx
mov dword [esi + 8], 0x13
mov esi, dword [esp + 0x14]
jmp 0x1010e880
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x38]
mov ecx, edi
push 0xd
push dword [esp + 0x34]
push esi
call fcn.1010bf20
jmp 0x1010eaec
mov ecx, dword [esp + 0x14]
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x1010f75c
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x34]
jmp 0x1010f761
shl eax, 4
add eax, ecx
shr edx, 0xe
mov dword [esp + 0x40], eax
test edx, 0x100
je 0x1010f77c
movzx edx, dl
shl edx, 4
add edx, dword [esp + 0x34]
jmp 0x1010f787
and edx, 0x1ff
shl edx, 4
add edx, ecx
cmp dword [eax + 8], 0x13
mov dword [esp + 0x18], edx
jne 0x1010f7a8
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
jmp 0x1010f7d4
push 0
lea edx, [esp + 0x7c]
mov ecx, eax
call fcn.1010d7a0
add esp, 4
test eax, eax
je 0x1010f843
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x38], eax
cmp dword [edx + 8], 0x13
jne 0x1010f7ef
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
jmp 0x1010f81c
mov esi, dword [esp + 0x18]
lea edx, [esp + 0x80]
push 0
mov ecx, esi
call fcn.1010d7a0
add esp, 4
test eax, eax
je 0x1010f847
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
mov esi, dword [esp + 0x30]
or eax, dword [esp + 0x38]
or ecx, dword [esp + 0x20]
movsd xmm3, qword [esp + 0x48]
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 4], ecx
mov dword [esi + 8], 0x13
mov esi, dword [esp + 0x14]
jmp 0x1010e880
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x40]
mov ecx, edi
push 0xe
push dword [esp + 0x34]
push esi
call fcn.1010bf20
jmp 0x1010eaec
mov ecx, dword [esp + 0x14]
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x1010f87a
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x34]
jmp 0x1010f87f
shl eax, 4
add eax, ecx
shr edx, 0xe
mov dword [esp + 0x40], eax
test edx, 0x100
je 0x1010f89a
movzx edx, dl
shl edx, 4
add edx, dword [esp + 0x34]
jmp 0x1010f8a5
and edx, 0x1ff
shl edx, 4
add edx, ecx
cmp dword [eax + 8], 0x13
mov dword [esp + 0x18], edx
jne 0x1010f8cc
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
jmp 0x1010f901
push 0
lea edx, [esp + 0x8c]
mov ecx, eax
call fcn.1010d7a0
add esp, 4
test eax, eax
je 0x1010f970
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x38], eax
cmp dword [edx + 8], 0x13
jne 0x1010f91c
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
jmp 0x1010f949
mov esi, dword [esp + 0x18]
lea edx, [esp + 0x90]
push 0
mov ecx, esi
call fcn.1010d7a0
add esp, 4
test eax, eax
je 0x1010f974
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0x30]
xor eax, dword [esp + 0x38]
xor ecx, dword [esp + 0x20]
movsd xmm3, qword [esp + 0x48]
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 4], ecx
mov dword [esi + 8], 0x13
mov esi, dword [esp + 0x14]
jmp 0x1010e880
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x40]
mov ecx, edi
push 0xf
push dword [esp + 0x34]
push esi
call fcn.1010bf20
jmp 0x1010eaec
mov eax, dword [esp + 0x14]
mov ecx, edx
shr ecx, 0x17
test ecx, 0x100
je 0x1010f9a8
movzx ecx, cl
shl ecx, 4
add ecx, dword [esp + 0x34]
jmp 0x1010f9ad
shl ecx, 4
add ecx, eax
shr edx, 0xe
mov dword [esp + 0x38], ecx
test edx, 0x100
je 0x1010f9c8
movzx edx, dl
shl edx, 4
add edx, dword [esp + 0x34]
jmp 0x1010f9d3
and edx, 0x1ff
shl edx, 4
add edx, eax
cmp dword [ecx + 8], 0x13
mov dword [esp + 0x18], edx
jne 0x1010f9f2
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], ecx
jmp 0x1010fa0f
push 0
lea edx, [esp + 0xa4]
call fcn.1010d7a0
add esp, 4
test eax, eax
je 0x1010fae5
mov edx, dword [esp + 0x18]
cmp dword [edx + 8], 0x13
jne 0x1010fa2a
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
jmp 0x1010fa5b
mov esi, dword [esp + 0x18]
lea edx, [esp + 0x98]
push 0
mov ecx, esi
call fcn.1010d7a0
add esp, 4
test eax, eax
je 0x1010fae9
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
mov esi, dword [esp + 0x30]
test ecx, ecx
jg 0x1010fa71
jl 0x1010fa65
test eax, eax
jae 0x1010fa91
cmp ecx, 0xffffffff
jg 0x1010fa7c
jl 0x1010fa71
cmp eax, 0xffffffc0
ja 0x1010fa7c
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
jmp 0x1010fabe
movq xmm1, qword [esp + 0xa0]
neg eax
movd xmm0, eax
psrlq xmm1, xmm0
jmp 0x1010fab8
test ecx, ecx
jl 0x1010faa7
jg 0x1010fa71
cmp eax, 0x40
jb 0x1010faa7
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
jmp 0x1010fabe
movq xmm1, qword [esp + 0xa0]
movd xmm0, eax
psllq xmm1, xmm0
movq qword [esp + 0x28], xmm1
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
movsd xmm3, qword [esp + 0x48]
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 4], ecx
mov dword [esi + 8], 0x13
mov esi, dword [esp + 0x14]
jmp 0x1010e880
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x38]
mov ecx, edi
push 0x10
push dword [esp + 0x34]
push esi
call fcn.1010bf20
jmp 0x1010eaec
mov eax, dword [esp + 0x14]
mov ecx, edx
shr ecx, 0x17
test ecx, 0x100
je 0x1010fb1d
movzx ecx, cl
shl ecx, 4
add ecx, dword [esp + 0x34]
jmp 0x1010fb22
shl ecx, 4
add ecx, eax
shr edx, 0xe
mov dword [esp + 0x38], ecx
test edx, 0x100
je 0x1010fb3d
movzx edx, dl
shl edx, 4
add edx, dword [esp + 0x34]
jmp 0x1010fb48
and edx, 0x1ff
shl edx, 4
add edx, eax
cmp dword [ecx + 8], 0x13
mov dword [esp + 0x18], edx
jne 0x1010fb67
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], ecx
jmp 0x1010fb84
push 0
lea edx, [esp + 0xb4]
call fcn.1010d7a0
add esp, 4
test eax, eax
je 0x1010fc61
mov edx, dword [esp + 0x18]
cmp dword [edx + 8], 0x13
jne 0x1010fb9f
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
jmp 0x1010fbd0
mov esi, dword [esp + 0x18]
lea edx, [esp + 0xa8]
push 0
mov ecx, esi
call fcn.1010d7a0
add esp, 4
test eax, eax
je 0x1010fc65
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0xa8]
mov esi, dword [esp + 0x30]
neg eax
adc ecx, 0
neg ecx
test ecx, ecx
jg 0x1010fbed
jl 0x1010fbe1
test eax, eax
jae 0x1010fc0d
cmp ecx, 0xffffffff
jg 0x1010fbf8
jl 0x1010fbed
cmp eax, 0xffffffc0
ja 0x1010fbf8
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
jmp 0x1010fc3a
movq xmm1, qword [esp + 0xb0]
neg eax
movd xmm0, eax
psrlq xmm1, xmm0
jmp 0x1010fc34
test ecx, ecx
jl 0x1010fc23
jg 0x1010fbed
cmp eax, 0x40
jb 0x1010fc23
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
jmp 0x1010fc3a
movq xmm1, qword [esp + 0xb0]
movd xmm0, eax
psllq xmm1, xmm0
movq qword [esp + 0x28], xmm1
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
movsd xmm3, qword [esp + 0x48]
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 4], ecx
mov dword [esi + 8], 0x13
mov esi, dword [esp + 0x14]
jmp 0x1010e880
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x38]
mov ecx, edi
push 0x11
push dword [esp + 0x34]
push esi
call fcn.1010bf20
jmp 0x1010eaec
mov eax, dword [esp + 0x14]
mov ecx, edx
shr ecx, 0x17
test ecx, 0x100
je 0x1010fc99
movzx ecx, cl
shl ecx, 4
add ecx, dword [esp + 0x34]
jmp 0x1010fc9e
shl ecx, 4
add ecx, eax
shr edx, 0xe
mov dword [esp + 0x20], ecx
test edx, 0x100
je 0x1010fcb9
movzx edx, dl
shl edx, 4
add edx, dword [esp + 0x34]
jmp 0x1010fcc4
and edx, 0x1ff
shl edx, 4
add edx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x18], edx
cmp eax, 0x13
jne 0x1010fdc0
cmp dword [edx + 8], eax
jne 0x1010fdb4
mov eax, dword [edx]
mov dword [esp + 0x38], eax
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x30], edx
add dword [esp + 0x30], 1
mov dword [esp + 0x40], eax
adc eax, 0
test eax, eax
ja 0x1010fd41
jb 0x1010fd07
cmp dword [esp + 0x30], 1
ja 0x1010fd41
or edx, dword [esp + 0x40]
je 0x101113e2
movsd xmm3, qword [esp + 0x48]
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 4], edx
mov dword [esi + 8], 0x13
mov esi, dword [esp + 0x14]
jmp 0x1010e880
push dword [esp + 0x40]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
push edx
push ecx
push eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x30], ecx
call fcn.1019b6d0
mov ecx, eax
mov dword [esp + 0x30], eax
or ecx, edx
je 0x1010fd95
mov eax, dword [esp + 0x38]
mov ecx, eax
xor ecx, dword [esp + 0x28]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x40]
xor ecx, dword [esp + 0x20]
mov dword [esp + 0x3c], ecx
jg 0x1010fd91
jl 0x1010fd89
cmp dword [esp + 0x28], 0
jae 0x1010fd91
add dword [esp + 0x30], eax
adc edx, dword [esp + 0x40]
mov eax, dword [esp + 0x30]
movsd xmm3, qword [esp + 0x48]
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 4], edx
mov dword [esi + 8], 0x13
mov esi, dword [esp + 0x14]
jmp 0x1010e880
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
call fcn.1019bbd0
jmp 0x1010fe2d
cmp eax, 3
jne 0x1010fdcb
movsd xmm0, qword [ecx]
jmp 0x1010fe31
and al, 0xf
cmp al, 4
jne 0x1010ff1c
mov ecx, dword [ecx]
cmp byte [ecx + 4], al
jne 0x1010fde2
movzx eax, byte [ecx + 7]
jmp 0x1010fde5
mov eax, dword [ecx + 0xc]
add ecx, 0x10
mov dword [esp + 0x38], eax
lea edx, [esp + 0x140]
call fcn.100ff630
mov ecx, dword [esp + 0x38]
inc ecx
cmp eax, ecx
jne 0x1010ff18
cmp dword [esp + 0x148], 0x13
jne 0x1010fe24
mov edx, dword [esp + 0x144]
mov ecx, dword [esp + 0x140]
call fcn.1019bbd0
jmp 0x1010fe2d
movsd xmm0, qword [esp + 0x140]
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 8]
movsd qword [esp + 0x40], xmm0
cmp eax, 3
jne 0x1010fe45
movsd xmm0, qword [edx]
jmp 0x1010fec0
cmp eax, 0x13
jne 0x1010fe5e
mov esi, dword [esp + 0x18]
mov edx, dword [edx + 4]
mov ecx, dword [esi]
call fcn.1019bbd0
mov esi, dword [esp + 0x30]
jmp 0x1010fec0
and al, 0xf
cmp al, 4
jne 0x1010ff1c
mov ecx, dword [edx]
cmp byte [ecx + 4], al
jne 0x1010fe75
movzx eax, byte [ecx + 7]
jmp 0x1010fe78
mov eax, dword [ecx + 0xc]
add ecx, 0x10
mov dword [esp + 0x38], eax
lea edx, [esp + 0x150]
call fcn.100ff630
mov ecx, dword [esp + 0x38]
inc ecx
cmp eax, ecx
jne 0x1010ff18
cmp dword [esp + 0x158], 0x13
jne 0x1010feb7
mov edx, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
call fcn.1019bbd0
jmp 0x1010fec0
movsd xmm0, qword [esp + 0x150]
fld qword [esp + 0x40]
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
movsd qword [esp + 0x38], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movsd xmm1, qword [esp + 0x38]
movsd xmm3, qword [esp + 0x48]
fstp qword [esp + 0x28]
movsd xmm2, qword [esp + 0x28]
movaps xmm0, xmm2
mulsd xmm0, xmm1
comisd xmm3, xmm0
jbe 0x1010ff00
addsd xmm2, xmm1
mov eax, dword [esp + 0x1c]
movsd qword [esi], xmm2
mov dword [esi + 8], 3
mov esi, dword [esp + 0x14]
jmp 0x1010e880
mov edx, dword [esp + 0x18]
push 9
push esi
push edx
mov edx, dword [esp + 0x2c]
mov ecx, edi
call fcn.1010bf20
jmp 0x1010eaec
mov ecx, dword [esp + 0x14]
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x1010ff4c
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x34]
jmp 0x1010ff51
shl eax, 4
add eax, ecx
shr edx, 0xe
mov dword [esp + 0x20], eax
test edx, 0x100
je 0x1010ff6c
movzx edx, dl
shl edx, 4
add edx, dword [esp + 0x34]
jmp 0x1010ff77
and edx, 0x1ff
shl edx, 4
add edx, ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x18], edx
cmp ecx, 0x13
jne 0x1010ffd0
cmp dword [edx + 8], 0x13
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jne 0x1010ffbe
push dword [edx + 4]
push dword [edx]
push eax
push ecx
mov ecx, edi
call fcn.1010e790
movsd xmm3, qword [esp + 0x58]
add esp, 0x10
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 4], edx
mov dword [esi + 8], 0x13
mov esi, dword [esp + 0x14]
jmp 0x1010e880
mov edx, eax
call fcn.1019bbd0
movsd qword [esp + 0x28], xmm0
jmp 0x10110052
cmp ecx, 3
jne 0x1010ffe1
movsd xmm0, qword [eax]
movsd qword [esp + 0x28], xmm0
jmp 0x10110056
and cl, 0xf
cmp cl, 4
jne 0x1011011d
mov ecx, dword [eax]
cmp byte [ecx + 4], 4
jne 0x1010fffb
movzx eax, byte [ecx + 7]
jmp 0x1010fffe
mov eax, dword [ecx + 0xc]
add ecx, 0x10
mov dword [esp + 0x38], eax
lea edx, [esp + 0x160]
call fcn.100ff630
mov ecx, dword [esp + 0x38]
inc ecx
cmp eax, ecx
jne 0x10110119
cmp dword [esp + 0x168], 0x13
jne 0x10110043
mov edx, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
call fcn.1019bbd0
movsd qword [esp + 0x28], xmm0
jmp 0x10110052
movsd xmm0, qword [esp + 0x160]
movsd qword [esp + 0x28], xmm0
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 8]
cmp eax, 3
jne 0x10110064
movsd xmm0, qword [edx]
jmp 0x101100db
cmp eax, 0x13
jne 0x1011007d
mov esi, dword [esp + 0x18]
mov edx, dword [edx + 4]
mov ecx, dword [esi]
call fcn.1019bbd0
mov esi, dword [esp + 0x30]
jmp 0x101100db
and al, 0xf
cmp al, 4
jne 0x1011011d
mov ecx, dword [edx]
cmp byte [ecx + 4], al
jne 0x10110094
movzx eax, byte [ecx + 7]
jmp 0x10110097
mov eax, dword [ecx + 0xc]
add ecx, 0x10
mov dword [esp + 0x38], eax
lea edx, [esp + 0x170]
call fcn.100ff630
mov ecx, dword [esp + 0x38]
inc ecx
cmp eax, ecx
jne 0x10110119
cmp dword [esp + 0x178], 0x13
jne 0x101100d2
mov edx, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
call fcn.1019bbd0
jmp 0x101100db
movsd xmm0, qword [esp + 0x170]
movsd xmm1, qword [esp + 0x28]
sub esp, 8
divsd xmm1, xmm0
movsd qword [esp + 0x30], xmm1
fld qword [esp + 0x30]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movsd xmm3, qword [esp + 0x50]
add esp, 8
mov eax, dword [esp + 0x1c]
fstp qword [esi]
mov dword [esi + 8], 3
mov esi, dword [esp + 0x14]
jmp 0x1010e880
mov edx, dword [esp + 0x18]
push 0xc
push esi
push edx
mov edx, dword [esp + 0x2c]
mov ecx, edi
call fcn.1010bf20
jmp 0x1010eaec
mov ecx, dword [esp + 0x14]
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x1011014d
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x34]
jmp 0x10110152
shl eax, 4
add eax, ecx
shr edx, 0xe
mov dword [esp + 0x20], eax
test edx, 0x100
je 0x1011016d
movzx edx, dl
shl edx, 4
add edx, dword [esp + 0x34]
jmp 0x10110178
and edx, 0x1ff
shl edx, 4
add edx, ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x18], edx
cmp ecx, 3
jne 0x1011018d
movsd xmm0, qword [eax]
jmp 0x1011021b
cmp ecx, 0x13
jne 0x101101a8
mov edx, dword [eax + 4]
mov ecx, dword [eax]
call fcn.1019bbd0
mov edx, dword [esp + 0x18]
movsd qword [esp + 0x28], xmm0
jmp 0x10110221
and cl, 0xf
cmp cl, 4
jne 0x101102d9
mov ecx, dword [eax]
cmp byte [ecx + 4], 4
jne 0x101101c2
movzx eax, byte [ecx + 7]
jmp 0x101101c5
mov eax, dword [ecx + 0xc]
add ecx, 0x10
mov dword [esp + 0x38], eax
lea edx, [esp + 0x180]
call fcn.100ff630
mov ecx, dword [esp + 0x38]
inc ecx
cmp eax, ecx
jne 0x101102d5
cmp dword [esp + 0x188], 0x13
jne 0x1011020e
mov edx, dword [esp + 0x184]
mov ecx, dword [esp + 0x180]
call fcn.1019bbd0
mov edx, dword [esp + 0x18]
movsd qword [esp + 0x28], xmm0
jmp 0x10110221
movsd xmm0, qword [esp + 0x180]
mov edx, dword [esp + 0x18]
movsd qword [esp + 0x28], xmm0
mov eax, dword [edx + 8]
cmp eax, 3
jne 0x1011022f
movsd xmm1, qword [edx]
jmp 0x101102ac
cmp eax, 0x13
jne 0x1011024b
mov esi, dword [esp + 0x18]
mov edx, dword [edx + 4]
mov ecx, dword [esi]
call fcn.1019bbd0
mov esi, dword [esp + 0x30]
movaps xmm1, xmm0
jmp 0x101102ac
and al, 0xf
cmp al, 4
jne 0x101102d9
mov ecx, dword [edx]
cmp byte [ecx + 4], al
jne 0x10110262
movzx eax, byte [ecx + 7]
jmp 0x10110265
mov eax, dword [ecx + 0xc]
add ecx, 0x10
mov dword [esp + 0x38], eax
lea edx, [esp + 0x190]
call fcn.100ff630
mov ecx, dword [esp + 0x38]
inc ecx
cmp eax, ecx
jne 0x101102d5
cmp dword [esp + 0x198], 0x13
jne 0x101102a3
mov edx, dword [esp + 0x194]
mov ecx, dword [esp + 0x190]
call fcn.1019bbd0
movaps xmm1, xmm0
jmp 0x101102ac
movsd xmm1, qword [esp + 0x190]
movsd xmm0, qword [esp + 0x28]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
movsd xmm3, qword [esp + 0x48]
mov eax, dword [esp + 0x1c]
movsd qword [esi], xmm0
mov dword [esi + 8], 3
mov esi, dword [esp + 0x14]
jmp 0x1010e880
mov edx, dword [esp + 0x18]
push 0xa
push esi
push edx
mov edx, dword [esp + 0x2c]
mov ecx, edi
call fcn.1010bf20
jmp 0x1010eaec
shr edx, 0x17
shl edx, 4
add edx, dword [esp + 0x14]
mov dword [esp + 0x18], edx
mov eax, dword [edx + 8]
cmp eax, 0x13
jne 0x10110328
mov ecx, dword [edx]
mov eax, dword [edx + 4]
neg ecx
mov dword [esi], ecx
adc eax, 0
mov dword [esi + 8], 0x13
neg eax
mov dword [esi + 4], eax
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
jmp 0x1010e880
cmp eax, 3
jne 0x10110353
movsd xmm0, qword [edx]
xorps xmm0, xmmword [esp + 0x1f0]
movsd xmm3, qword [esp + 0x48]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x1c]
movsd qword [esi], xmm0
mov esi, dword [esp + 0x14]
jmp 0x1010e880
and al, 0xf
cmp al, 4
jne 0x101103ff
mov ecx, dword [edx]
cmp byte [ecx + 4], al
jne 0x1011036a
movzx eax, byte [ecx + 7]
jmp 0x1011036d
mov eax, dword [ecx + 0xc]
add ecx, 0x10
mov dword [esp + 0x38], eax
lea edx, [esp + 0x1a0]
call fcn.100ff630
mov ecx, dword [esp + 0x38]
inc ecx
cmp eax, ecx
jne 0x101103fb
cmp dword [esp + 0x1a8], 0x13
jne 0x101103cc
mov edx, dword [esp + 0x1a4]
mov ecx, dword [esp + 0x1a0]
call fcn.1019bbd0
xorps xmm0, xmmword [esp + 0x1f0]
movsd xmm3, qword [esp + 0x48]
mov eax, dword [esp + 0x1c]
movsd qword [esi], xmm0
mov dword [esi + 8], 3
mov esi, dword [esp + 0x14]
jmp 0x1010e880
movsd xmm0, qword [esp + 0x1a0]
xorps xmm0, xmmword [esp + 0x1f0]
movsd xmm3, qword [esp + 0x48]
mov eax, dword [esp + 0x1c]
movsd qword [esi], xmm0
mov dword [esi + 8], 3
mov esi, dword [esp + 0x14]
jmp 0x1010e880
mov edx, dword [esp + 0x18]
push 0x12
push esi
push edx
mov ecx, edi
call fcn.1010bf20
jmp 0x1010eaec
shr edx, 0x17
shl edx, 4
add edx, dword [esp + 0x14]
mov dword [esp + 0x18], edx
cmp dword [edx + 8], 0x13
jne 0x10110438
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], ecx
jmp 0x10110465
mov esi, dword [esp + 0x18]
lea edx, [esp + 0xb8]
push 0
mov ecx, esi
call fcn.1010d7a0
add esp, 4
test eax, eax
je 0x10110488
mov ecx, dword [esp + 0xbc]
mov eax, dword [esp + 0xb8]
mov esi, dword [esp + 0x30]
movsd xmm3, qword [esp + 0x48]
not eax
not ecx
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 4], ecx
mov dword [esi + 8], 0x13
mov esi, dword [esp + 0x14]
jmp 0x1010e880
push 0x13
push dword [esp + 0x34]
mov edx, esi
mov ecx, edi
push esi
call fcn.1010bf20
jmp 0x1010eaec
shr edx, 0x17
shl edx, 4
add edx, dword [esp + 0x14]
mov eax, dword [edx + 8]
test eax, eax
je 0x101104d0
cmp eax, 1
jne 0x101104b8
cmp dword [edx], 0
je 0x101104d0
xor eax, eax
mov dword [esi + 8], 1
mov dword [esi], eax
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
jmp 0x1010e880
mov eax, 1
mov dword [esi], eax
mov dword [esi + 8], eax
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
jmp 0x1010e880
shr edx, 0x17
mov ecx, edi
shl edx, 4
add edx, dword [esp + 0x14]
push edx
mov edx, esi
call fcn.1010e650
add esp, 4
jmp 0x1010eaef
mov esi, edx
mov ecx, edi
shr edx, 0xe
and edx, 0x1ff
shr esi, 0x17
lea eax, [edx + 1]
sub edx, esi
shl eax, 4
inc edx
add eax, dword [esp + 0x14]
mov dword [edi + 0xc], eax
call fcn.1010e420
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
shl esi, 4
mov edx, dword [eax + 0x10]
add ecx, edx
mov dword [esp + 0x14], edx
add edx, esi
movups xmm0, xmmword [edx]
movups xmmword [ecx], xmm0
mov eax, dword [edi + 0x10]
cmp dword [eax + 0xc], 0
jle 0x10110585
cmp ecx, edx
lea eax, [ecx + 0x10]
mov ecx, edi
cmovb eax, edx
mov dword [edi + 0xc], eax
call fcn.100f8530
mov ecx, dword [esp + 0x24]
movsd xmm3, qword [esp + 0x48]
mov eax, dword [ecx + 4]
mov dword [edi + 0xc], eax
mov esi, dword [ecx + 0x10]
mov eax, dword [ecx + 4]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], esi
jmp 0x1010e880
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
movsd xmm3, qword [esp + 0x48]
mov eax, dword [ecx + 4]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x1c]
jmp 0x1010e880
cmp dword [esp + 0x40], 0
je 0x101105c0
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0x10]
add edx, 0xfffffff0
add edx, ecx
mov ecx, edi
call fcn.100f6e70
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
movsd xmm3, qword [esp + 0x48]
shr edx, 0xe
lea eax, [edx*4 - 0x7fffc]
add dword [esi], eax
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
jmp 0x1010e880
mov esi, dword [esp + 0x34]
mov eax, edx
mov ecx, dword [esp + 0x14]
shr eax, 0x17
test eax, 0x100
je 0x10110601
movzx eax, al
shl eax, 4
add eax, esi
jmp 0x10110606
shl eax, 4
add eax, ecx
shr edx, 0xe
test edx, 0x100
je 0x1011061b
movzx edx, dl
shl edx, 4
add edx, esi
jmp 0x10110626
and edx, 0x1ff
shl edx, 4
add edx, ecx
push edx
mov edx, eax
mov ecx, edi
call fcn.1010e0e0
mov ecx, dword [esp + 0x20]
add esp, 4
mov ecx, dword [ecx]
cmp eax, dword [esp + 0x40]
je 0x1011064d
mov eax, dword [esp + 0x1c]
add ecx, 4
mov dword [eax], ecx
jmp 0x1010eaef
mov esi, dword [ecx]
mov eax, esi
shr eax, 6
movzx edx, al
test al, al
je 0x10110677
mov eax, dword [esp + 0x24]
mov ecx, edi
shl edx, 4
mov eax, dword [eax + 0x10]
add eax, 0xfffffff0
add edx, eax
call fcn.100f6e70
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
shr esi, 0xe
lea ecx, [ecx + esi*4]
add ecx, 0xfff80008
mov dword [eax], ecx
jmp 0x1010eaef
mov esi, dword [esp + 0x34]
mov eax, edx
mov ecx, dword [esp + 0x14]
shr eax, 0xe
test eax, 0x100
je 0x101106ac
movzx eax, al
shl eax, 4
add eax, esi
jmp 0x101106b6
and eax, 0x1ff
shl eax, 4
add eax, ecx
shr edx, 0x17
test edx, 0x100
je 0x101106cb
movzx edx, dl
shl edx, 4
add edx, esi
jmp 0x101106d0
shl edx, 4
add edx, ecx
push eax
mov ecx, edi
call fcn.1010df30
mov ecx, dword [esp + 0x20]
add esp, 4
mov ecx, dword [ecx]
cmp eax, dword [esp + 0x40]
je 0x1011064d
mov eax, dword [esp + 0x1c]
add ecx, 4
mov dword [eax], ecx
jmp 0x1010eaef
mov esi, dword [esp + 0x34]
mov eax, edx
mov ecx, dword [esp + 0x14]
shr eax, 0xe
test eax, 0x100
je 0x10110717
movzx eax, al
shl eax, 4
add eax, esi
jmp 0x10110721
and eax, 0x1ff
shl eax, 4
add eax, ecx
shr edx, 0x17
test edx, 0x100
je 0x10110736
movzx edx, dl
shl edx, 4
add edx, esi
jmp 0x1011073b
shl edx, 4
add edx, ecx
push eax
mov ecx, edi
call fcn.1010dfd0
mov ecx, dword [esp + 0x20]
add esp, 4
mov ecx, dword [ecx]
cmp eax, dword [esp + 0x40]
je 0x1011064d
mov eax, dword [esp + 0x1c]
add ecx, 4
mov dword [eax], ecx
jmp 0x1010eaef
mov eax, dword [esi + 8]
test edx, 0x7fc000
je 0x101107a8
test eax, eax
je 0x10110781
cmp eax, 1
jne 0x1011077d
cmp dword [esi], 0
je 0x10110781
xor eax, eax
jmp 0x10110786
mov eax, 1
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi]
test eax, eax
je 0x101107dc
movsd xmm3, qword [esp + 0x48]
add ecx, 4
mov eax, dword [esp + 0x1c]
mov dword [esi], ecx
mov esi, dword [esp + 0x14]
jmp 0x1010e880
test eax, eax
je 0x101107d6
cmp eax, 1
jne 0x101107b6
cmp dword [esi], 0
je 0x101107d6
mov eax, dword [esp + 0x1c]
mov esi, eax
movsd xmm3, qword [esp + 0x48]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
add ecx, 4
mov dword [esi], ecx
mov esi, dword [esp + 0x14]
jmp 0x1010e880
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, edx
shr eax, 6
movzx eax, al
mov dword [esp + 0x38], edx
test eax, eax
je 0x10110812
shl eax, 4
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
add ecx, 0xfffffff0
mov edx, dword [eax + 0x10]
add edx, ecx
mov ecx, edi
call fcn.100f6e70
mov ecx, dword [esi]
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x1c]
movsd xmm3, qword [esp + 0x48]
mov eax, dword [esp + 0x1c]
shr edx, 0xe
lea ecx, [ecx + edx*4]
add ecx, 0xfff80008
mov dword [esi], ecx
mov esi, dword [esp + 0x14]
jmp 0x1010e880
mov eax, edx
shr eax, 0x17
shl eax, 4
add eax, dword [esp + 0x14]
mov ecx, dword [eax + 8]
test edx, 0x7fc000
je 0x10110881
test ecx, ecx
je 0x10110860
cmp ecx, 1
jne 0x1011085c
cmp dword [eax], 0
je 0x10110860
xor edx, edx
jmp 0x10110865
mov edx, 1
mov ecx, dword [esp + 0x1c]
test edx, edx
je 0x101108ab
mov eax, dword [ecx]
mov esi, ecx
add eax, 4
mov dword [esi], eax
mov eax, ecx
mov esi, dword [esp + 0x14]
jmp 0x1010e880
test ecx, ecx
je 0x101108a7
cmp ecx, 1
jne 0x1011088f
cmp dword [eax], 0
je 0x101108a7
mov ecx, dword [esp + 0x1c]
mov esi, ecx
mov eax, dword [ecx]
add eax, 4
mov dword [esi], eax
mov eax, ecx
mov esi, dword [esp + 0x14]
jmp 0x1010e880
mov ecx, dword [esp + 0x1c]
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
mov edx, dword [ecx]
mov esi, dword [edx]
mov eax, esi
shr eax, 6
movzx ecx, al
test al, al
je 0x101108dd
mov eax, dword [esp + 0x24]
shl ecx, 4
mov edx, dword [eax + 0x10]
add edx, 0xfffffff0
add edx, ecx
mov ecx, edi
call fcn.100f6e70
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
movsd xmm3, qword [esp + 0x48]
shr esi, 0xe
add esi, 0xfffe0002
lea eax, [edx + esi*4]
mov esi, dword [esp + 0x1c]
mov dword [esi], eax
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
jmp 0x1010e880
mov eax, edx
shr edx, 0xe
and edx, 0x1ff
shr eax, 0x17
dec edx
mov dword [esp + 0x18], edx
test eax, eax
je 0x10110921
shl eax, 4
add eax, esi
mov dword [edi + 0xc], eax
push edx
mov edx, esi
mov ecx, edi
call fcn.100f5a30
add esp, 4
test eax, eax
je 0x10111339
mov esi, dword [esp + 0x18]
test esi, esi
js 0x1010eaef
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 4]
mov dword [edi + 0xc], eax
jmp 0x1010eaef
shr edx, 0x17
test edx, edx
je 0x10110960
shl edx, 4
add edx, esi
mov dword [edi + 0xc], edx
push 0xffffffffffffffff
mov edx, esi
mov ecx, edi
call fcn.100f5a30
add esp, 4
test eax, eax
jne 0x1010eaef
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x20], ecx
mov edx, dword [ecx + 8]
mov esi, dword [ecx]
mov dword [esp + 0x24], edx
mov eax, dword [edx]
mov dword [esp + 0x38], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
movzx eax, byte [eax + 6]
shl eax, 4
add eax, dword [ecx + 0x10]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x5c]
mov eax, dword [eax + 0xc]
cmp dword [eax + 0x1c], 0
jle 0x101109b6
mov edx, dword [edx + 0x10]
mov ecx, edi
call fcn.100f6e70
xor ecx, ecx
cmp esi, dword [esp + 0x28]
jae 0x101109e0
mov edi, dword [esp + 0x38]
mov edx, esi
xor eax, eax
movups xmm0, xmmword [edx]
inc ecx
movups xmmword [eax + edi], xmm0
mov eax, ecx
shl eax, 4
lea edx, [eax + esi]
cmp edx, dword [esp + 0x28]
jb 0x101109c6
mov edi, dword [esp + 0x58]
mov edx, dword [esp + 0x20]
movsd xmm3, qword [esp + 0x48]
mov eax, dword [edx + 0x10]
mov edx, dword [esp + 0x24]
sub eax, esi
and eax, 0xfffffff0
mov ecx, edx
add eax, dword [esp + 0x38]
mov dword [edx + 0x10], eax
mov eax, dword [edi + 0xc]
mov edx, dword [esp + 0x20]
sub eax, esi
and eax, 0xfffffff0
add eax, dword [esp + 0x38]
mov dword [edi + 0xc], eax
mov dword [ecx + 4], eax
mov eax, dword [edx + 0x14]
or word [ecx + 0x22], 0x20
mov dword [ecx + 0x14], eax
mov dword [edi + 0x14], ecx
jmp 0x1010e850
cmp dword [esi + 8], 0x13
jne 0x10110aac
mov ecx, dword [esi + 0x20]
add ecx, dword [esi]
mov eax, dword [esi + 0x24]
mov edi, dword [esi + 4]
adc edi, eax
mov dword [esp + 0x40], edi
mov edi, dword [esp + 0x58]
test eax, eax
jl 0x10110a63
jg 0x10110a4f
cmp dword [esi + 0x20], 0
jbe 0x10110a63
mov eax, dword [esi + 0x14]
cmp dword [esp + 0x40], eax
jg case.default.0x1010e9cb
jl 0x10110a7b
cmp ecx, dword [esi + 0x10]
jmp 0x10110a75
mov eax, dword [esi + 0x14]
cmp eax, dword [esp + 0x40]
jg case.default.0x1010e9cb
jl 0x10110a7b
cmp dword [esi + 0x10], ecx
ja case.default.0x1010e9cb
shr edx, 0xe
lea eax, [edx*4 - 0x7fffc]
mov edx, dword [esp + 0x1c]
add dword [edx], eax
mov eax, dword [esp + 0x40]
mov dword [esi + 4], eax
mov dword [esi], ecx
mov dword [esi + 0x34], eax
mov eax, edx
mov dword [esi + 0x30], ecx
mov dword [esi + 0x38], 0x13
mov esi, dword [esp + 0x14]
jmp 0x1010e880
movsd xmm0, qword [esi + 0x20]
xor eax, eax
comisd xmm0, xmm3
movsd xmm2, qword [esi + 0x10]
movaps xmm1, xmm0
addsd xmm1, qword [esi]
jbe 0x10110acb
comisd xmm2, xmm1
jmp 0x10110acf
comisd xmm1, xmm2
setae al
test eax, eax
je case.default.0x1010e9cb
mov ecx, dword [esp + 0x1c]
shr edx, 0xe
lea eax, [edx*4 - 0x7fffc]
add dword [ecx], eax
mov eax, ecx
movsd qword [esi], xmm1
movsd qword [esi + 0x30], xmm1
mov dword [esi + 0x38], 3
mov esi, dword [esp + 0x14]
jmp 0x1010e880
cmp dword [esi + 8], 0x13
lea eax, [esi + 0x10]
jne 0x10110c91
cmp dword [esi + 0x28], 0x13
jne 0x10110c91
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x20]
mov dword [esp + 0x30], edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x20], 0
test ecx, ecx
jg 0x10110b43
jl 0x10110b3c
test edx, edx
jae 0x10110b43
mov ecx, 2
jmp 0x10110b48
mov ecx, 1
push ecx
lea edx, [esp + 0x64]
mov ecx, eax
call fcn.1010d7a0
add esp, 4
test eax, eax
jne 0x10110c57
mov ecx, dword [esi + 0x18]
lea eax, [esi + 0x10]
cmp ecx, 3
jne 0x10110b70
movsd xmm0, qword [eax]
jmp 0x10110be6
cmp ecx, 0x13
jne 0x10110b81
mov edx, dword [eax + 4]
mov ecx, dword [eax]
call fcn.1019bbd0
jmp 0x10110be6
and cl, 0xf
cmp cl, 4
jne 0x10110c91
mov ecx, dword [eax]
cmp byte [ecx + 4], 4
jne 0x10110b9b
movzx eax, byte [ecx + 7]
jmp 0x10110b9e
mov eax, dword [ecx + 0xc]
add ecx, 0x10
mov dword [esp + 0x38], eax
lea edx, [esp + 0x1b0]
call fcn.100ff630
mov ecx, dword [esp + 0x38]
inc ecx
cmp eax, ecx
jne 0x10110c8e
cmp dword [esp + 0x1b8], 0x13
jne 0x10110bdd
mov edx, dword [esp + 0x1b4]
mov ecx, dword [esp + 0x1b0]
call fcn.1019bbd0
jmp 0x10110be6
movsd xmm0, qword [esp + 0x1b0]
comisd xmm0, xmmword [esp + 0x48]
jbe 0x10110c1f
or eax, 0xffffffff
mov ecx, 0x7fffffff
cmp dword [esp + 0x40], 0
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
jg 0x10110c15
jl 0x10110c0e
cmp dword [esp + 0x30], 0
jae 0x10110c15
mov edx, 1
jmp 0x10110c19
mov edx, dword [esp + 0x20]
test edx, edx
je 0x10110c5f
jmp 0x10110c3c
xor eax, eax
mov ecx, 0x80000000
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
cmp dword [esp + 0x40], eax
jl 0x10110c5f
jg 0x10110c3c
cmp dword [esp + 0x30], eax
jb 0x10110c5f
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x58]
jmp 0x10110c68
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
mov edx, dword [esi]
mov dword [esp + 0x38], edx
mov edx, dword [esi + 4]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x38]
mov dword [esi + 0x14], ecx
mov dword [esi + 0x18], 0x13
sub eax, dword [esi + 0x20]
sbb edx, dword [esi + 0x24]
mov dword [esi], eax
mov eax, 0x13
mov dword [esi + 4], edx
jmp 0x10110e49
lea eax, [esi + 0x10]
mov ecx, dword [eax + 8]
cmp ecx, 3
jne 0x10110c9f
movsd xmm0, qword [eax]
jmp 0x10110d18
cmp ecx, 0x13
jne 0x10110cb0
mov edx, dword [eax + 4]
mov ecx, dword [eax]
call fcn.1019bbd0
jmp 0x10110d15
and cl, 0xf
cmp cl, 4
jne 0x10111403
mov ecx, dword [eax]
cmp byte [ecx + 4], 4
jne 0x10110cca
movzx eax, byte [ecx + 7]
jmp 0x10110ccd
mov eax, dword [ecx + 0xc]
add ecx, 0x10
mov dword [esp + 0x38], eax
lea edx, [esp + 0x1c0]
call fcn.100ff630
mov ecx, dword [esp + 0x38]
inc ecx
cmp eax, ecx
jne 0x10111403
cmp dword [esp + 0x1c8], 0x13
jne 0x10110d0c
mov edx, dword [esp + 0x1c4]
mov ecx, dword [esp + 0x1c0]
call fcn.1019bbd0
jmp 0x10110d15
movsd xmm0, qword [esp + 0x1c0]
lea eax, [esi + 0x10]
movsd qword [eax], xmm0
mov dword [eax + 8], 3
mov eax, dword [esi + 0x28]
cmp eax, 3
jne 0x10110d32
movsd xmm0, qword [esi + 0x20]
jmp 0x10110da7
cmp eax, 0x13
jne 0x10110d44
mov edx, dword [esi + 0x24]
mov ecx, dword [esi + 0x20]
call fcn.1019bbd0
jmp 0x10110da7
and al, 0xf
cmp al, 4
jne 0x101113f8
mov ecx, dword [esi + 0x20]
cmp byte [ecx + 4], al
jne 0x10110d5c
movzx eax, byte [ecx + 7]
jmp 0x10110d5f
mov eax, dword [ecx + 0xc]
add ecx, 0x10
mov dword [esp + 0x38], eax
lea edx, [esp + 0x1d0]
call fcn.100ff630
mov ecx, dword [esp + 0x38]
inc ecx
cmp eax, ecx
jne 0x101113f8
cmp dword [esp + 0x1d8], 0x13
jne 0x10110d9e
mov edx, dword [esp + 0x1d4]
mov ecx, dword [esp + 0x1d0]
call fcn.1019bbd0
jmp 0x10110da7
movsd xmm0, qword [esp + 0x1d0]
movsd qword [esi + 0x20], xmm0
mov dword [esi + 0x28], 3
mov eax, dword [esi + 8]
movsd qword [esp + 0x28], xmm0
cmp eax, 3
jne 0x10110dc7
movsd xmm0, qword [esi]
jmp 0x10110e3a
cmp eax, 0x13
jne 0x10110dd8
mov edx, dword [esi + 4]
mov ecx, dword [esi]
call fcn.1019bbd0
jmp 0x10110e3a
and al, 0xf
cmp al, 4
jne 0x101113ed
mov ecx, dword [esi]
cmp byte [ecx + 4], al
jne 0x10110def
movzx eax, byte [ecx + 7]
jmp 0x10110df2
mov eax, dword [ecx + 0xc]
add ecx, 0x10
mov dword [esp + 0x38], eax
lea edx, [esp + 0x1e0]
call fcn.100ff630
mov ecx, dword [esp + 0x38]
inc ecx
cmp eax, ecx
jne 0x101113ed
cmp dword [esp + 0x1e8], 0x13
jne 0x10110e31
mov edx, dword [esp + 0x1e4]
mov ecx, dword [esp + 0x1e0]
call fcn.1019bbd0
jmp 0x10110e3a
movsd xmm0, qword [esp + 0x1e0]
subsd xmm0, qword [esp + 0x28]
mov eax, 3
movsd qword [esi], xmm0
movsd xmm3, qword [esp + 0x48]
mov dword [esi + 8], eax
mov esi, dword [esp + 0x18]
shr esi, 0xe
lea eax, [esi*4 - 0x7fffc]
mov esi, dword [esp + 0x1c]
add dword [esi], eax
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
jmp 0x1010e880
movups xmm0, xmmword [esi + 0x20]
lea edx, [esi + 0x30]
mov ecx, edi
lea eax, [edx + 0x30]
movups xmmword [edx + 0x20], xmm0
movups xmm0, xmmword [esi + 0x10]
movups xmmword [edx + 0x10], xmm0
movups xmm0, xmmword [esi]
mov esi, dword [esp + 0x18]
shr esi, 0xe
and esi, 0x1ff
movups xmmword [edx], xmm0
push esi
mov dword [edi + 0xc], eax
call fcn.100f5e70
mov eax, dword [esp + 0x28]
add esp, 4
mov esi, dword [esp + 0x1c]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 4]
mov dword [edi + 0xc], eax
mov eax, dword [esi]
mov dword [esp + 0x14], ecx
mov edx, dword [eax]
add eax, 4
mov dword [esi], eax
mov eax, edx
shr eax, 6
movzx esi, al
shl esi, 4
add esi, ecx
cmp dword [esi + 0x18], 0
movsd xmm3, qword [esp + 0x48]
mov eax, dword [esp + 0x1c]
je 0x1010e87c
movups xmm0, xmmword [esi + 0x10]
movups xmmword [esi], xmm0
jmp 0x101105c0
mov ecx, edx
shr edx, 0xe
shr ecx, 0x17
and edx, 0x1ff
mov dword [esp + 0x40], ecx
test ecx, ecx
jne 0x10110f18
mov ecx, dword [edi + 0xc]
sub ecx, esi
sar ecx, 4
dec ecx
mov dword [esp + 0x40], ecx
test edx, edx
jne 0x10110f34
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x1c]
mov eax, dword [eax]
mov edx, dword [eax]
shr edx, 6
add eax, 4
mov dword [edi], eax
mov edi, dword [esp + 0x58]
mov esi, dword [esi]
imul eax, edx, 0x32
lea edx, [ecx - 0x32]
add edx, eax
mov dword [esp + 0x18], edx
cmp edx, dword [esi + 8]
jbe 0x10110f71
cmp dword [esi + 0x14], 0
jne 0x10110f51
xor eax, eax
jmp 0x10110f5b
mov cl, byte [esi + 7]
mov eax, 1
shl eax, cl
push eax
push edx
mov edx, esi
mov ecx, edi
call fcn.10109a00
mov ecx, dword [esp + 0x48]
add esp, 8
mov edx, dword [esp + 0x18]
test ecx, ecx
jle 0x10111024
mov edi, ecx
shl edi, 4
add edi, dword [esp + 0x30]
push 0
push edx
mov ecx, esi
call fcn.10109fe0
add esp, 8
cmp eax, 0x10207740
jne 0x10110fcd
mov eax, dword [esp + 0x18]
mov edx, esi
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x200], eax
lea eax, [esp + 0x200]
push eax
mov dword [esp + 0x208], 0
mov dword [esp + 0x20c], 0x13
call fcn.10109e00
add esp, 4
movups xmm0, xmmword [edi]
mov edx, dword [esp + 0x18]
dec edx
movups xmmword [eax], xmm0
test byte [edi + 8], 0x40
mov dword [esp + 0x18], edx
je 0x1011100c
mov dl, byte [esi + 5]
test dl, 4
je 0x10111008
mov eax, dword [edi]
test byte [eax + 5], 3
je 0x10111008
mov eax, dword [esp + 0x58]
and dl, 0xfb
mov ecx, dword [eax + 0x10]
mov byte [esi + 5], dl
mov eax, dword [ecx + 0x50]
mov dword [esi + 0x1c], eax
mov dword [ecx + 0x50], esi
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x40]
sub edi, 0x10
dec eax
mov dword [esp + 0x40], eax
test eax, eax
jg 0x10110f82
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
movsd xmm3, qword [esp + 0x48]
mov eax, dword [eax + 4]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x1c]
jmp 0x1010e880
mov eax, dword [esp + 0x5c]
shr edx, 0xe
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x34]
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x40], ecx
mov eax, dword [ecx + 0x44]
mov dword [esp + 0x28], eax
test eax, eax
je 0x101110cb
cmp dword [ecx + 0xc], 0
mov edx, dword [ecx + 0x40]
mov dword [esp + 0x38], 0
jle 0x101110b9
lea esi, [eax + 0x10]
add edx, 5
cmp byte [edx - 1], 0
movzx ecx, byte [edx]
je 0x10111089
shl ecx, 4
add ecx, dword [esp + 0x14]
jmp 0x10111093
mov eax, dword [esp + 0x5c]
mov eax, dword [eax + ecx*4 + 0x10]
mov ecx, dword [eax]
mov eax, dword [esi]
cmp dword [eax], ecx
mov ecx, dword [esp + 0x40]
jne 0x101110c7
mov eax, dword [esp + 0x38]
add esi, 4
inc eax
add edx, 8
mov dword [esp + 0x38], eax
cmp eax, dword [ecx + 0xc]
jl 0x10111077
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
mov dword [esi], eax
mov dword [esi + 8], 0x46
jmp 0x101111e3
mov esi, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov edx, ecx
mov eax, dword [esp + 0x40]
mov dword [esp + 0x18], ecx
mov ecx, edi
mov eax, dword [eax + 0x40]
mov dword [esp + 0x20], eax
call fcn.100f6e00
cmp dword [esp + 0x18], 0
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x28], eax
mov dword [eax + 0xc], ecx
mov dword [esi], eax
mov dword [esi + 8], 0x46
jle 0x101111da
mov ecx, dword [esp + 0x20]
mov eax, 0x10
add ecx, 5
mov dword [esp + 0x38], eax
mov dword [esp + 0x20], ecx
nop dword [eax]
cmp byte [ecx - 1], 0
movzx esi, byte [ecx]
je 0x101111a3
mov edx, dword [edi + 0x24]
add edi, 0x24
shl esi, 4
add esi, dword [esp + 0x14]
test edx, edx
je 0x1011114f
nop word [eax + eax]
cmp dword [edx], esi
jb 0x1011114f
je 0x10111199
lea edi, [edx + 8]
mov edx, dword [edi]
test edx, edx
jne 0x10111140
mov ecx, dword [esp + 0x58]
xor edx, edx
push 0x18
push 0
call fcn.100fd750
mov edx, eax
add esp, 8
mov dword [edx + 4], 0
mov ecx, dword [edi]
mov dword [edx + 8], ecx
mov dword [edx + 0xc], 1
mov dword [edi], edx
mov edi, dword [esp + 0x58]
mov dword [edx], esi
cmp dword [edi + 0x2c], edi
jne 0x1011118f
mov ecx, dword [edi + 0x10]
mov eax, dword [ecx + 0x68]
mov dword [edi + 0x2c], eax
mov dword [ecx + 0x68], edi
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x38]
jmp 0x101111ab
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x38]
jmp 0x101111ab
mov edx, dword [esp + 0x5c]
mov edx, dword [edx + esi*4 + 0x10]
mov esi, dword [esp + 0x28]
add ecx, 8
mov dword [eax + esi], edx
add eax, 4
inc dword [edx + 4]
sub dword [esp + 0x18], 1
mov dword [esp + 0x38], eax
mov dword [esp + 0x20], ecx
jne 0x10111120
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
test byte [ecx + 5], 4
jne 0x101111e3
mov dword [ecx + 0x44], eax
mov eax, dword [edi + 0x10]
movsd xmm3, qword [esp + 0x48]
cmp dword [eax + 0xc], 0
mov eax, dword [esp + 0x1c]
jle 0x1010e87c
lea eax, [esi + 0x10]
jmp 0x1010ee36
mov eax, dword [esp + 0x24]
xor esi, esi
mov ecx, dword [esp + 0x14]
shr edx, 0x17
sub ecx, dword [eax]
mov eax, dword [esp + 0x5c]
sar ecx, 4
mov eax, dword [eax + 0xc]
movzx eax, byte [eax + 6]
sub ecx, eax
lea eax, [ecx - 1]
test eax, eax
cmovns esi, eax
sub edx, 1
mov dword [esp + 0x38], esi
jns 0x101112a2
mov eax, dword [edi + 0x1c]
mov edx, esi
mov ecx, dword [edi + 0xc]
sub eax, ecx
sar eax, 4
mov dword [esp + 0x18], edx
cmp eax, esi
jg 0x10111285
mov eax, dword [edi + 0x60]
cmp eax, 0xf4240
jg 0x10111423
sub ecx, dword [edi + 0x20]
lea edx, [esi + 5]
sar ecx, 4
add eax, eax
add edx, ecx
cmp eax, 0xf4240
mov ecx, 0xf4240
cmovg eax, ecx
cmp eax, edx
cmovge edx, eax
cmp edx, ecx
mov ecx, edi
jg 0x1011140e
call fcn.100f55b0
mov edx, esi
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x10]
mov eax, esi
mov dword [esp + 0x14], ecx
add ecx, dword [esp + 0x28]
shl eax, 4
add eax, ecx
mov dword [esp + 0x30], ecx
mov dword [edi + 0xc], eax
movsd xmm3, qword [esp + 0x48]
xor ecx, ecx
mov eax, dword [esp + 0x1c]
test edx, edx
jle 0x1010e87c
mov esi, dword [esp + 0x30]
nop word [eax + eax]
cmp ecx, dword [esp + 0x38]
jge 0x101112f4
mov eax, ecx
inc ecx
sub eax, dword [esp + 0x38]
shl eax, 4
add eax, dword [esp + 0x14]
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
add esi, 0x10
cmp ecx, edx
jl 0x101112c0
mov esi, dword [esp + 0x14]
movsd xmm3, qword [esp + 0x48]
mov eax, dword [esp + 0x1c]
jmp 0x1010e880
movsd xmm3, qword [esp + 0x48]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
cmp ecx, edx
jge 0x1010e880
mov esi, dword [esp + 0x30]
mov eax, ecx
shl eax, 4
add esi, 8
add eax, esi
sub edx, ecx
nop word [eax + eax]
mov dword [eax], 0
lea eax, [eax + 0x10]
sub edx, 1
jne 0x10111320
movsd xmm3, qword [esp + 0x48]
jmp case.default.0x1010e9cb
mov ecx, dword [edi + 0x14]
movsd xmm3, qword [esp + 0x48]
jmp 0x1010e846
mov eax, dword [esp + 0x5c]
shr edx, 0x17
mov dword [esp + 0x18], edx
mov eax, dword [eax + 0xc]
cmp dword [eax + 0x1c], 0
jle 0x1011136a
mov edx, dword [esp + 0x14]
mov ecx, edi
call fcn.100f6e70
mov edx, dword [esp + 0x18]
test edx, edx
je 0x10111371
dec edx
jmp 0x10111379
mov edx, dword [edi + 0xc]
sub edx, esi
sar edx, 4
push edx
push esi
mov esi, dword [esp + 0x2c]
mov ecx, edi
mov edx, esi
call fcn.100f58d0
add esp, 8
test byte [esi + 0x22], 8
jne 0x101113b1
mov ecx, dword [edi + 0x14]
movsd xmm3, qword [esp + 0x48]
mov dword [esp + 0x24], ecx
test eax, eax
je 0x1010e850
mov eax, dword [ecx + 4]
mov dword [edi + 0xc], eax
jmp 0x1010e850
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0x30], 0
je 0x101113c5
mov dword [edi + 0x68], 1
add dword [esi + 0x14], 0xfffffffc
mov edx, 1
or word [esi + 0x22], 0x40
mov ecx, edi
mov eax, dword [edi + 0xc]
sub eax, 0x10
mov dword [esi], eax
call fcn.100f54c0
push str.attempt_to_perform_n__0
push edi
call fcn.100f5400
push str.for_initial_value_must_be_a_number
push edi
call fcn.100f5400
push str.for_step_must_be_a_number
push edi
call fcn.100f5400
push str.for_limit_must_be_a_number
push edi
call fcn.100f5400
mov edx, 0xf4308
call fcn.100f55b0
push str.stack_overflow
push edi
call fcn.100f5400
fnstsw word [edi]
invalid
mov edx, 6
mov ecx, edi
call fcn.100f54c0
nop
shr cl, cl
adc byte [eax], dl
loope 0x1011141f
adc byte [eax], dl
invalid