Function at 0x100b99c3
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x1a8
mov eax, dword [0x10210050]
xor eax, esp
mov dword [esp + 0x1a4], eax
push esi
push edi
mov dword [esp + 0x24], edx
mov edi, ecx
mov dword [esp + 0x10], edi
mov esi, dword [esp + 0xec]
mov ecx, edx
movsd xmm0, qword [0x101ede60]
mov edx, dword [esp + 0x44]
mov dword [esp + 0xe0], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0xd8], edx
lea eax, [ecx + 0x22]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0xe4], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xa0], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x9c], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xa8], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x94], esi
mov esi, dword [esp + 0xe8]
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x90], esi
mov esi, dword [esp + 0xf4]
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xb8], esi
mov esi, dword [esp + 0xf0]
mov dword [esp + 0xbc], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xb4], esi
mov esi, dword [esp + 0x28]
mov dword [esp + 0xcc], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0xdc], eax
lea eax, [ecx + 4]
mov dword [esp + 0x7c], esi
mov esi, dword [esp + 0xfc]
mov dword [esp + 0xc8], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x3c], eax
lea eax, [edi + 0xc]
mov dword [esp + 0xc4], esi
mov esi, dword [esp + 0xf8]
mov dword [esp + 0xd4], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x34], eax
mov dword [esp + 0x104], 0xf4240
movsd qword [esp + 0x110], xmm0
mov dword [esp + 0xc0], esi
mov dword [esp + 0xd0], edx
mov edx, dword [edi + 0x70]
mov dword [esp + 0x100], eax
mov dword [esp + 0x80], eax
mov eax, dword [ecx]
mov dword [esp + 0x18], edx
mov eax, dword [eax]
mov dword [esp + 0x5c], eax
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x30]
mov dword [esp + 0x4c], esi
mov esi, dword [ecx + 0x10]
test edx, edx
je 0x100b639c
cmp byte [eax + 7], 0
je 0x100b633f
mov eax, dword [ecx]
add eax, 0x10
mov dword [esp + 0x18], 0
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x18]
mov dword [ecx + 0x14], 1
jmp 0x100b63bc
cmp esi, dword [eax + 0x34]
jne 0x100b6395
mov eax, dword [esp + 0xdc]
movzx edx, word [eax]
mov eax, dword [edi + 0x70]
shr edx, 2
and edx, 4
test al, 1
je 0x100b6395
mov eax, dword [ecx]
mov edi, dword [esp + 0x34]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [edi], eax
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x10]
add dword [eax + 0x10], 4
movzx eax, byte [ecx + 6]
mov ecx, edi
push eax
push 1
push 0xffffffffffffffff
call fcn.100969c0
mov ecx, dword [esp + 0x30]
add esp, 0xc
add dword [ecx + 0x10], 0xfffffffc
mov dword [ecx + 0x14], 1
mov eax, dword [ecx]
add eax, 0x10
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x18]
jmp 0x100b63bc
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
test eax, eax
je 0x100b63dc
mov edx, esi
mov ecx, edi
call fcn.100963f0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
add eax, 0x10
mov dword [esp + 0x38], eax
jmp 0x100b63e0
mov eax, dword [esp + 0x38]
mov edx, dword [esi]
add esi, 4
mov ecx, edx
mov dword [esp + 0x14], esi
shr ecx, 7
movzx edi, cl
mov esi, edi
mov dword [esp + 0x20], edx
shl esi, 4
add eax, esi
mov dword [esp + 0x40], edi
mov dword [esp + 0x1c], eax
mov eax, edx
and eax, 0x7f
mov dword [esp + 0x28], esi
cmp eax, 0x51
ja case.default.0x100b6412
jmp dword [eax*4 + 0x100ba1fc]
shr edx, 0x10
movzx edx, dl
shl edx, 4
add edx, dword [esp + 0x38]
mov esi, dword [esp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov edi, dword [esp + 0x10]
mov dword [esi], eax
mov dword [esi + 4], ecx
mov al, byte [edx + 8]
mov byte [esi + 8], al
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
jmp 0x100b63bc
mov ecx, dword [esp + 0x1c]
xor eax, eax
shr edx, 0xf
sub edx, 0xffff
sbb eax, eax
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov byte [ecx + 8], 3
jmp case.default.0x100b6412
mov eax, dword [esp + 0x1c]
shr edx, 0xf
sub edx, 0xffff
mov byte [eax + 8], 0x13
movd xmm0, edx
cvtdq2pd xmm0, xmm0
movsd qword [eax], xmm0
jmp case.default.0x100b6412
shr edx, 0xf
shl edx, 4
add edx, dword [esp + 0x4c]
jmp 0x100b6426
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
shr edx, 7
shl edx, 4
add edx, dword [esp + 0x4c]
add eax, 4
mov dword [esp + 0x14], eax
jmp 0x100b6426
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov byte [eax + 8], 1
mov eax, dword [esp + 0x18]
jmp 0x100b63bc
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
add esi, 4
mov byte [eax + 8], 1
mov eax, dword [esp + 0x18]
jmp 0x100b63bc
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov byte [eax + 8], 0x11
mov eax, dword [esp + 0x18]
jmp 0x100b63bc
shr edx, 0x10
movzx ecx, dl
mov edx, dword [esp + 0x1c]
add edx, 8
nop
mov eax, ecx
mov byte [edx], 0
dec ecx
lea edx, [edx + 0x10]
test eax, eax
jne 0x100b6510
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
jmp 0x100b63bc
mov ecx, dword [esp + 0x5c]
shr edx, 0x10
movzx eax, dl
mov eax, dword [ecx + eax*4 + 0x10]
mov edx, dword [eax + 8]
jmp 0x100b6426
mov ecx, dword [esp + 0x5c]
mov esi, dword [esp + 0x1c]
shr edx, 0x10
movzx eax, dl
mov edi, dword [ecx + eax*4 + 0x10]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edx, dword [edi + 8]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov al, byte [esi + 8]
mov byte [edx + 8], al
test byte [esi + 8], 0x40
mov eax, dword [esp + 0x18]
je 0x100b86ca
mov cl, byte [edi + 5]
test cl, 0x20
je 0x100b86ca
mov esi, dword [esi]
test byte [esi + 5], 0x18
je 0x100b86ca
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x4d], 2
ja 0x100b65d1
mov edx, esi
mov ecx, eax
call fcn.10098860
mov al, byte [edi + 5]
mov edi, dword [esp + 0x10]
and al, 7
cmp al, 1
mov eax, dword [esp + 0x18]
jbe 0x100b63b8
mov al, byte [esi + 5]
and al, 0xfa
or al, 2
mov byte [esi + 5], al
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
jmp 0x100b63bc
mov al, byte [eax + 0x4c]
and cl, 0xc0
mov esi, dword [esp + 0x14]
and al, 0x18
or al, cl
mov byte [edi + 5], al
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x100b63bc
mov ecx, dword [esp + 0x5c]
mov eax, edx
shr eax, 0x10
movzx eax, al
shr edx, 0x18
shl edx, 4
add edx, dword [esp + 0x4c]
mov eax, dword [ecx + eax*4 + 0x10]
mov dword [esp + 0x20], edx
mov edi, dword [eax + 8]
cmp byte [edi + 8], 0x45
je 0x100b661a
xor esi, esi
jmp 0x100b6654
mov ecx, dword [edi]
mov edx, dword [edx]
call fcn.100b13f0
mov esi, eax
test byte [esi + 8], 0xf
je 0x100b6650
mov edx, dword [esp + 0x1c]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edi, dword [esp + 0x10]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov al, byte [esi + 8]
mov esi, dword [esp + 0x14]
mov byte [edx + 8], al
mov eax, dword [esp + 0x18]
jmp 0x100b63bc
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
push esi
push dword [esp + 0x20]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x3c]
push edx
mov edx, edi
mov edi, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [ecx], eax
mov ecx, edi
call fcn.100b5020
mov edx, dword [esp + 0x30]
add esp, 0xc
mov eax, dword [edx + 0x14]
mov dword [esp + 0x18], eax
jmp 0x100b63b8
mov eax, edx
shr edx, 0x18
shr eax, 0x10
shl edx, 4
add edx, dword [esp + 0x38]
movzx edi, al
shl edi, 4
add edi, dword [esp + 0x38]
cmp byte [edx + 8], 3
mov dword [esp + 0x20], edx
jne 0x100b66fa
cmp byte [edi + 8], 0x45
mov eax, dword [edx + 4]
mov ecx, dword [edx]
mov dword [esp + 0x28], eax
je 0x100b66c7
xor esi, esi
jmp 0x100b6725
mov esi, dword [edi]
mov edx, ecx
add edx, 0xffffffff
adc eax, 0xffffffff
test eax, eax
ja 0x100b66e9
jb 0x100b66dc
cmp edx, dword [esi + 8]
jae 0x100b66e9
mov esi, dword [esi + 0xc]
shl ecx, 4
add esi, 0xfffffff0
add esi, ecx
jmp 0x100b670d
push dword [esp + 0x28]
push ecx
mov ecx, esi
call fcn.100b1340
add esp, 8
jmp 0x100b670b
cmp byte [edi + 8], 0x45
je 0x100b6704
xor esi, esi
jmp 0x100b6725
mov ecx, dword [edi]
call fcn.100b1430
mov esi, eax
test byte [esi + 8], 0xf
mov eax, 0
setne al
test eax, eax
jne 0x100b662b
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
push esi
push dword [esp + 0x20]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x3c]
push edx
mov eax, dword [eax]
mov dword [ecx], eax
mov edx, edi
mov edi, dword [esp + 0x1c]
mov ecx, edi
call fcn.100b5020
add esp, 0xc
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], eax
jmp 0x100b63b8
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx edi, al
shl edi, 4
add edi, dword [esp + 0x38]
mov dword [esp + 0x20], edx
cmp byte [edi + 8], 0x45
je 0x100b6782
xor esi, esi
jmp 0x100b67c8
mov esi, dword [edi]
mov ecx, edx
add ecx, 0xffffffff
mov eax, 0
adc eax, 0xffffffff
test eax, eax
ja 0x100b67ab
jb 0x100b679c
cmp ecx, dword [esi + 8]
jae 0x100b67ab
mov esi, dword [esi + 0xc]
mov ecx, edx
shl ecx, 4
add esi, 0xfffffff0
add esi, ecx
jmp 0x100b67be
push 0
push edx
mov ecx, esi
call fcn.100b1340
mov edx, dword [esp + 0x28]
add esp, 8
mov esi, eax
test byte [esi + 8], 0xf
jne 0x100b662b
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
push esi
push dword [esp + 0x20]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x180], edx
mov dword [esp + 0x184], 0
mov eax, dword [eax]
mov dword [ecx], eax
lea eax, [esp + 0x180]
mov byte [esp + 0x188], 3
push eax
jmp 0x100b6742
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx edi, al
shl edi, 4
add edi, dword [esp + 0x38]
shl edx, 4
add edx, dword [esp + 0x4c]
mov dword [esp + 0x20], edx
cmp byte [edi + 8], 0x45
je 0x100b6835
xor esi, esi
jmp 0x100b6725
mov ecx, dword [edi]
mov edx, dword [edx]
call fcn.100b13f0
mov esi, eax
test byte [esi + 8], 0xf
je 0x100b6721
jmp 0x100b662b
mov eax, dword [esp + 0x5c]
mov eax, dword [eax + edi*4 + 0x10]
mov ecx, dword [eax + 8]
mov eax, edx
shr eax, 0x10
movzx edi, al
mov eax, dword [esp + 0x4c]
shl edi, 4
add edi, eax
mov dword [esp + 0x50], ecx
test edx, 0x8000
je 0x100b6881
shr edx, 0x18
shl edx, 4
add edx, eax
jmp 0x100b688b
shr edx, 0x18
shl edx, 4
add edx, dword [esp + 0x38]
cmp byte [ecx + 8], 0x45
mov dword [esp + 0x20], edx
je 0x100b68d3
xor esi, esi
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
push esi
push edx
mov edx, dword [esp + 0x58]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x3c]
push edi
mov edi, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [ecx], eax
mov ecx, edi
call fcn.100b5180
mov eax, dword [esp + 0x30]
add esp, 0xc
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], eax
jmp 0x100b63b8
mov ecx, dword [ecx]
mov edx, dword [edi]
call fcn.100b13f0
mov edx, dword [esp + 0x20]
mov esi, eax
test byte [esi + 8], 0xf
je 0x100b6897
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov edi, dword [esp + 0x10]
mov dword [esi], eax
mov dword [esi + 4], ecx
mov al, byte [edx + 8]
mov byte [esi + 8], al
test byte [edx + 8], 0x40
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
je 0x100b63bc
mov esi, dword [esp + 0x50]
mov esi, dword [esi]
mov cl, byte [esi + 5]
mov eax, dword [esp + 0x18]
test cl, 0x20
je 0x100b63b8
mov eax, dword [edx]
test byte [eax + 5], 0x18
mov eax, dword [esp + 0x18]
je 0x100b63b8
mov edx, dword [edi + 0x10]
and cl, 7
cmp cl, 6
je 0x100b6950
mov ecx, esi
call fcn.10098770
mov ecx, eax
mov eax, dword [edx + 0x68]
mov dword [ecx], eax
mov dword [edx + 0x68], esi
mov al, byte [esi + 5]
and al, 0xdd
or al, 5
mov byte [esi + 5], al
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
jmp 0x100b63bc
mov eax, edx
shr eax, 0x10
movzx edi, al
mov eax, dword [esp + 0x38]
shl edi, 4
add edi, eax
test edx, 0x8000
je 0x100b698c
shr edx, 0x18
shl edx, 4
add edx, dword [esp + 0x4c]
jmp 0x100b6994
shr edx, 0x18
shl edx, 4
add edx, eax
cmp byte [edi + 8], 3
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], edx
jne 0x100b69e3
cmp byte [eax + 8], 0x45
mov ecx, dword [edi]
jne 0x100b6a39
mov esi, dword [eax]
mov edx, ecx
mov eax, dword [edi + 4]
add edx, 0xffffffff
adc eax, 0xffffffff
test eax, eax
ja 0x100b69d3
jb 0x100b69c6
cmp edx, dword [esi + 8]
jae 0x100b69d3
mov esi, dword [esi + 0xc]
shl ecx, 4
add esi, 0xfffffff0
add esi, ecx
jmp 0x100b69f4
push dword [edi + 4]
push ecx
mov ecx, esi
call fcn.100b1340
add esp, 8
jmp 0x100b69f2
cmp byte [eax + 8], 0x45
jne 0x100b6a39
mov ecx, dword [eax]
mov edx, edi
call fcn.100b1430
mov esi, eax
test byte [esi + 8], 0xf
mov eax, 0
setne al
test eax, eax
mov edx, dword [esp + 0x20]
je 0x100b6a3b
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov edi, dword [esp + 0x10]
mov dword [esi], eax
mov dword [esi + 4], ecx
mov al, byte [edx + 8]
mov byte [esi + 8], al
test byte [edx + 8], 0x40
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
je 0x100b63bc
mov eax, dword [esp + 0x1c]
mov esi, dword [eax]
jmp 0x100b6914
xor esi, esi
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
push esi
push edx
mov edx, dword [esp + 0x24]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x3c]
push edi
mov edi, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [ecx], eax
mov ecx, edi
call fcn.100b5180
mov eax, dword [esp + 0x30]
add esp, 0xc
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], eax
jmp 0x100b63b8
mov eax, edx
shr eax, 0x10
movzx edi, al
test edx, 0x8000
je 0x100b6a93
shr edx, 0x18
shl edx, 4
add edx, dword [esp + 0x4c]
jmp 0x100b6a9d
shr edx, 0x18
shl edx, 4
add edx, dword [esp + 0x38]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], edx
cmp byte [eax + 8], 0x45
je 0x100b6b0a
xor esi, esi
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
push esi
push edx
mov edx, dword [esp + 0x24]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x190], edi
mov edi, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [ecx], eax
lea eax, [esp + 0x190]
push eax
mov ecx, edi
mov dword [esp + 0x198], 0
mov byte [esp + 0x19c], 3
call fcn.100b5180
mov eax, dword [esp + 0x30]
add esp, 0xc
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], eax
jmp 0x100b63b8
mov esi, dword [eax]
mov ecx, edi
add ecx, 0xffffffff
mov eax, 0
adc eax, 0xffffffff
test eax, eax
ja 0x100b6b33
jb 0x100b6b24
cmp ecx, dword [esi + 8]
jae 0x100b6b33
mov esi, dword [esi + 0xc]
mov ecx, edi
shl ecx, 4
add esi, 0xfffffff0
add esi, ecx
jmp 0x100b6b46
push 0
push edi
mov ecx, esi
call fcn.100b1340
mov edx, dword [esp + 0x28]
add esp, 8
mov esi, eax
test byte [esi + 8], 0xf
je 0x100b6aad
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov edi, dword [esp + 0x10]
mov dword [esi], eax
mov dword [esi + 4], ecx
mov al, byte [edx + 8]
mov byte [esi + 8], al
test byte [edx + 8], 0x40
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
je 0x100b63bc
mov eax, dword [esp + 0x1c]
mov esi, dword [eax]
jmp 0x100b6914
mov eax, edx
shr eax, 0x10
movzx edi, al
mov eax, dword [esp + 0x4c]
shl edi, 4
add edi, eax
test edx, 0x8000
je 0x100b6ba4
shr edx, 0x18
shl edx, 4
add edx, eax
jmp 0x100b6bae
shr edx, 0x18
shl edx, 4
add edx, dword [esp + 0x38]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], edx
cmp byte [eax + 8], 0x45
jne 0x100b6a39
mov ecx, dword [eax]
mov edx, dword [edi]
call fcn.100b13f0
mov esi, eax
test byte [esi + 8], 0xf
jmp 0x100b6a02
mov eax, edx
mov esi, edx
shr eax, 0x10
shr esi, 0x18
movzx edi, al
test al, al
je 0x100b6bef
lea ecx, [edi - 1]
mov edi, 1
shl edi, cl
test edx, 0x8000
je 0x100b6c05
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
shr eax, 7
shl eax, 8
add esi, eax
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x1c]
add dword [esp + 0x14], 4
add eax, 0x10
mov dword [ecx], eax
mov ecx, dword [esp + 0x10]
call fcn.100b1070
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov byte [ecx + 8], 0x45
test edi, edi
jne 0x100b6c32
test esi, esi
je 0x100b6c4a
push edi
mov edi, dword [esp + 0x14]
mov edx, eax
push esi
mov ecx, edi
call fcn.100b0a30
mov ecx, dword [esp + 0x24]
add esp, 8
jmp 0x100b6c4e
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x10]
mov esi, dword [esp + 0x14]
cmp dword [eax + 0xc], 0
mov eax, dword [esp + 0x18]
jle 0x100b63bc
mov edx, dword [esp + 0x34]
lea eax, [ecx + 0x10]
mov ecx, edi
mov dword [edx], eax
call fcn.1009b960
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], eax
jmp 0x100b63b8
mov eax, edx
shr eax, 0x10
movzx edi, al
mov eax, dword [esp + 0x38]
shl edi, 4
add edi, eax
test edx, 0x8000
je 0x100b6ca8
shr edx, 0x18
shl edx, 4
add edx, dword [esp + 0x4c]
jmp 0x100b6cb0
shr edx, 0x18
shl edx, 4
add edx, eax
mov esi, dword [edx]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x20], edx
mov dword [esi + 0x10], eax
mov eax, esi
mov dword [eax + 0x14], ecx
mov ecx, esi
mov al, byte [edi + 8]
mov esi, dword [esp + 0x28]
mov byte [ecx + 0x18], al
cmp byte [edi + 8], 0x45
je 0x100b6ce4
xor esi, esi
jmp 0x100b6725
mov al, byte [esi + 4]
mov ecx, dword [edi]
cmp al, 4
jne 0x100b6cf6
mov edx, esi
call fcn.100b13f0
jmp 0x100b6d12
or al, 0x40
mov dword [esp + 0x198], esi
lea edx, [esp + 0x198]
mov byte [esp + 0x1a0], al
call fcn.100b06e0
mov esi, eax
test byte [esi + 8], 0xf
je 0x100b6721
jmp 0x100b662b
mov esi, dword [esp + 0x14]
mov eax, edx
shr eax, 0x10
movzx ecx, al
shl ecx, 4
add ecx, dword [esp + 0x38]
shr edx, 0x18
mov al, byte [ecx + 8]
cmp al, 3
jne 0x100b6d6a
mov edi, dword [esp + 0x10]
xor eax, eax
add esi, 4
add edx, dword [ecx]
adc eax, dword [ecx + 4]
sub edx, 0x7f
mov ecx, dword [esp + 0x1c]
sbb eax, 0
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x18]
mov dword [ecx], edx
mov byte [ecx + 8], 3
jmp 0x100b63bc
mov edi, dword [esp + 0x10]
cmp al, 0x13
mov eax, dword [esp + 0x18]
jne 0x100b63bc
mov esi, dword [esp + 0x14]
lea eax, [edx - 0x7f]
movd xmm0, eax
add esi, 4
mov eax, dword [esp + 0x1c]
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [ecx]
mov byte [eax + 8], 0x13
movsd qword [eax], xmm0
mov eax, dword [esp + 0x18]
jmp 0x100b63bc
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx esi, al
shl esi, 4
add esi, dword [esp + 0x38]
shl edx, 4
add edx, dword [esp + 0x4c]
mov dword [esp + 0x20], edx
mov al, byte [esi + 8]
cmp al, 3
jne 0x100b79de
cmp byte [edx + 8], 3
lea edi, [edx + 8]
jne 0x100b79f1
add dword [esp + 0x14], 4
mov ecx, dword [edx]
add ecx, dword [esi]
mov eax, dword [edx + 4]
adc eax, dword [esi + 4]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov dword [edx], ecx
mov dword [edx + 4], eax
mov eax, dword [esp + 0x18]
mov byte [edx + 8], 3
jmp 0x100b63bc
mov edi, dword [esp + 0x10]
cmp al, 3
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
jne 0x100b63bc
mov eax, dword [esp + 0x20]
mov edx, dword [edx + 4]
mov ecx, dword [eax]
call fcn.101a01d0
mov eax, dword [esp + 0x1c]
addsd xmm0, qword [esp + 0x28]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
add esi, 4
movsd qword [eax], xmm0
mov byte [eax + 8], 0x13
mov eax, dword [esp + 0x18]
jmp 0x100b63bc
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x38]
shl edx, 4
add edx, dword [esp + 0x4c]
mov dword [esp + 0x20], edx
mov cl, byte [eax + 8]
lea esi, [edx + 8]
cmp cl, 3
jne 0x100b7a50
cmp byte [esi], 3
jne 0x100b6eab
mov ecx, dword [eax]
mov esi, dword [esp + 0x14]
mov eax, dword [eax + 4]
add esi, 4
sub ecx, dword [edx]
mov edi, dword [esp + 0x10]
sbb eax, dword [edx + 4]
mov edx, dword [esp + 0x1c]
mov dword [edx], ecx
mov dword [edx + 4], eax
mov eax, dword [esp + 0x18]
mov byte [edx + 8], 3
jmp 0x100b63bc
mov edi, dword [esp + 0x10]
cmp cl, 3
jne 0x100b63b4
mov edx, dword [eax + 4]
mov ecx, dword [eax]
call fcn.101a01d0
mov edx, dword [esp + 0x20]
movsd qword [esp + 0x28], xmm0
mov al, byte [esi]
cmp al, 0x13
jne 0x100b6ed8
movsd xmm0, qword [edx]
jmp 0x100b6efa
mov edi, dword [esp + 0x10]
cmp al, 3
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
jne 0x100b63bc
mov eax, dword [esp + 0x20]
mov edx, dword [edx + 4]
mov ecx, dword [eax]
call fcn.101a01d0
movsd xmm1, qword [esp + 0x28]
mov eax, dword [esp + 0x1c]
subsd xmm1, xmm0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
add esi, 4
movsd qword [eax], xmm1
mov byte [eax + 8], 0x13
mov eax, dword [esp + 0x18]
jmp 0x100b63bc
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx ecx, al
shl ecx, 4
add ecx, dword [esp + 0x38]
shl edx, 4
add edx, dword [esp + 0x4c]
mov dword [esp + 0x20], edx
mov al, byte [ecx + 8]
cmp al, 3
jne 0x100b7a90
cmp byte [edx + 8], 3
lea esi, [edx + 8]
jne 0x100b7aa3
push dword [ecx + 4]
mov esi, dword [esp + 0x18]
push dword [ecx]
add esi, 4
push dword [edx + 4]
push dword [edx]
call fcn.10170aa0
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
mov dword [ecx], eax
mov eax, dword [esp + 0x18]
mov dword [ecx + 4], edx
mov byte [ecx + 8], 3
jmp 0x100b63bc
mov edi, dword [esp + 0x10]
cmp al, 3
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
jne 0x100b63bc
mov eax, dword [esp + 0x20]
mov edx, dword [edx + 4]
mov ecx, dword [eax]
call fcn.101a01d0
mov eax, dword [esp + 0x1c]
mulsd xmm0, qword [esp + 0x28]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
add esi, 4
movsd qword [eax], xmm0
mov byte [eax + 8], 0x13
mov eax, dword [esp + 0x18]
jmp 0x100b63bc
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx ecx, al
shl ecx, 4
add ecx, dword [esp + 0x38]
shl edx, 4
add edx, dword [esp + 0x4c]
mov dword [esp + 0x20], edx
mov al, byte [ecx + 8]
lea esi, [edx + 8]
cmp al, 3
jne 0x100b7b05
cmp byte [esi], 3
jne 0x100b7036
push dword [edx + 4]
mov esi, dword [esp + 0x18]
push dword [edx]
mov edi, dword [esp + 0x18]
add esi, 4
push dword [ecx + 4]
push dword [ecx]
mov ecx, edi
call fcn.100b6010
mov ecx, dword [esp + 0x2c]
add esp, 0x10
mov dword [ecx], eax
mov eax, dword [esp + 0x18]
mov dword [ecx + 4], edx
mov byte [ecx + 8], 3
jmp 0x100b63bc
mov edi, dword [esp + 0x10]
cmp al, 3
mov eax, dword [esp + 0x18]
jne 0x100b63b8
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
call fcn.101a01d0
mov edx, dword [esp + 0x20]
mov al, byte [esi]
movsd qword [esp + 0x50], xmm0
cmp al, 0x13
jne 0x100b7066
movsd xmm0, qword [edx]
jmp 0x100b7088
mov edi, dword [esp + 0x10]
cmp al, 3
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
jne 0x100b63bc
mov eax, dword [esp + 0x20]
mov edx, dword [edx + 4]
mov ecx, dword [eax]
call fcn.101a01d0
fld qword [esp + 0x50]
mov esi, dword [esp + 0x14]
movsd qword [esp + 0x40], xmm0
add esi, 4
fld qword [esp + 0x40]
movsd qword [esp + 0x28], xmm0
call fcn.101a02d0
fstp qword [esp + 0x40]
movsd xmm2, qword [esp + 0x40]
xorps xmm1, xmm1
comisd xmm2, xmm1
jbe 0x100b70d0
movsd xmm0, qword [esp + 0x28]
xor eax, eax
comisd xmm1, xmm0
seta al
test eax, eax
je 0x100b70e6
jmp 0x100b70e2
comisd xmm1, xmm2
jbe 0x100b70e6
movsd xmm0, qword [esp + 0x28]
comisd xmm0, xmm1
jbe 0x100b70e6
addsd xmm2, xmm0
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
movsd qword [eax], xmm2
mov byte [eax + 8], 0x13
mov eax, dword [esp + 0x18]
jmp 0x100b63bc
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx ecx, al
shl ecx, 4
add ecx, dword [esp + 0x38]
shl edx, 4
add edx, dword [esp + 0x4c]
mov al, byte [ecx + 8]
mov dword [esp + 0x20], edx
cmp al, 0x13
jne 0x100b712f
movsd xmm0, qword [ecx]
movsd qword [esp + 0x28], xmm0
jmp 0x100b7157
mov edi, dword [esp + 0x10]
cmp al, 3
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
jne 0x100b63bc
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
call fcn.101a01d0
mov edx, dword [esp + 0x20]
movsd qword [esp + 0x28], xmm0
mov al, byte [edx + 8]
cmp al, 0x13
jne 0x100b7164
movsd xmm1, qword [edx]
jmp 0x100b7189
mov edi, dword [esp + 0x10]
cmp al, 3
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
jne 0x100b63bc
mov eax, dword [esp + 0x20]
mov edx, dword [edx + 4]
mov ecx, dword [eax]
call fcn.101a01d0
movaps xmm1, xmm0
mov esi, dword [esp + 0x14]
movsd xmm0, qword [esp + 0x28]
add esi, 4
call fcn.101a1a30
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
movsd qword [eax], xmm0
mov byte [eax + 8], 0x13
mov eax, dword [esp + 0x18]
jmp 0x100b63bc
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx ecx, al
shl ecx, 4
add ecx, dword [esp + 0x38]
shl edx, 4
add edx, dword [esp + 0x4c]
mov al, byte [ecx + 8]
mov dword [esp + 0x20], edx
cmp al, 0x13
jne 0x100b71e4
movsd xmm0, qword [ecx]
movsd qword [esp + 0x28], xmm0
jmp 0x100b720c
mov edi, dword [esp + 0x10]
cmp al, 3
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
jne 0x100b63bc
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
call fcn.101a01d0
mov edx, dword [esp + 0x20]
movsd qword [esp + 0x28], xmm0
mov al, byte [edx + 8]
cmp al, 0x13
jne 0x100b7219
movsd xmm0, qword [edx]
jmp 0x100b723b
mov edi, dword [esp + 0x10]
cmp al, 3
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
jne 0x100b63bc
mov eax, dword [esp + 0x20]
mov edx, dword [edx + 4]
mov ecx, dword [eax]
call fcn.101a01d0
movsd xmm1, qword [esp + 0x28]
divsd xmm1, xmm0
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
add esi, 4
movsd qword [eax], xmm1
mov byte [eax + 8], 0x13
mov eax, dword [esp + 0x18]
jmp 0x100b63bc
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx ecx, al
shl ecx, 4
add ecx, dword [esp + 0x38]
shl edx, 4
add edx, dword [esp + 0x4c]
mov dword [esp + 0x20], edx
mov al, byte [ecx + 8]
lea esi, [edx + 8]
cmp al, 3
jne 0x100b72c5
cmp byte [esi], al
jne 0x100b72d5
push dword [edx + 4]
mov esi, dword [esp + 0x18]
push dword [edx]
mov edi, dword [esp + 0x18]
add esi, 4
push dword [ecx + 4]
push dword [ecx]
mov ecx, edi
call fcn.100b5f80
mov ecx, dword [esp + 0x2c]
add esp, 0x10
mov dword [ecx], eax
mov eax, dword [esp + 0x18]
mov dword [ecx + 4], edx
mov byte [ecx + 8], 3
jmp 0x100b63bc
cmp al, 0x13
jne 0x100b72d5
movsd xmm0, qword [ecx]
movsd qword [esp + 0x28], xmm0
jmp 0x100b72f9
mov edi, dword [esp + 0x10]
cmp al, 3
mov eax, dword [esp + 0x18]
jne 0x100b63b8
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
call fcn.101a01d0
mov edx, dword [esp + 0x20]
movsd qword [esp + 0x28], xmm0
mov al, byte [esi]
cmp al, 0x13
jne 0x100b7305
movsd xmm0, qword [edx]
jmp 0x100b7327
mov edi, dword [esp + 0x10]
cmp al, 3
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
jne 0x100b63bc
mov eax, dword [esp + 0x20]
mov edx, dword [edx + 4]
mov ecx, dword [eax]
call fcn.101a01d0
movsd xmm1, qword [esp + 0x28]
divsd xmm1, xmm0
movsd qword [esp + 0x28], xmm1
fld qword [esp + 0x28]
mov esi, dword [esp + 0x14]
sub esp, 8
add esi, 4
fstp qword [esp]
call fcn.101a2ac0
mov eax, dword [esp + 0x24]
add esp, 8
mov edi, dword [esp + 0x10]
fstp qword [eax]
mov byte [eax + 8], 0x13
mov eax, dword [esp + 0x18]
jmp 0x100b63bc
mov ecx, dword [esp + 0x4c]
mov eax, edx
shr eax, 0x10
movzx esi, al
shr edx, 0x18
add edx, edx
shl esi, 4
add esi, dword [esp + 0x38]
mov eax, dword [ecx + edx*8 + 4]
mov edi, dword [ecx + edx*8]
mov dword [esp + 0x28], eax
mov al, byte [esi + 8]
cmp al, 3
jne 0x100b73a9
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xe0], edx
jmp 0x100b7450
cmp al, 0x13
mov eax, dword [esp + 0x18]
jne 0x100b86ca
movsd xmm0, qword [esi]
sub esp, 8
mov eax, esp
movsd qword [esp + 0x48], xmm0
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [eax], ecx
mov dword [eax + 4], edx
call fcn.101a2ac0
movsd xmm0, qword [esi]
add esp, 8
fstp qword [esp + 0x40]
movsd xmm2, qword [esp + 0x40]
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jp 0x100b741a
comisd xmm2, xmmword [0x101ed738]
jb 0x100b741a
movsd xmm1, qword [0x101ed638]
comisd xmm1, xmm2
jbe 0x100b741a
movaps xmm0, xmm2
call fcn.101a00c0
mov ecx, eax
mov eax, 1
jmp 0x100b742a
mov ecx, dword [esp + 0xd8]
xor eax, eax
mov edx, dword [esp + 0xe0]
mov esi, dword [esp + 0x14]
test eax, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xe0], edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
je 0x100b8b31
mov esi, dword [esp + 0x14]
mov eax, edx
mov edx, dword [esp + 0x1c]
and ecx, edi
mov edi, dword [esp + 0x10]
add esi, 4
and eax, dword [esp + 0x28]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x18]
mov dword [edx], ecx
mov byte [edx + 8], 3
jmp 0x100b63bc
mov ecx, dword [esp + 0x4c]
mov eax, edx
shr eax, 0x10
movzx esi, al
shr edx, 0x18
add edx, edx
shl esi, 4
add esi, dword [esp + 0x38]
mov eax, dword [ecx + edx*8 + 4]
mov edi, dword [ecx + edx*8]
mov dword [esp + 0x28], eax
mov al, byte [esi + 8]
cmp al, 3
jne 0x100b74bb
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0x84], edx
jmp 0x100b7562
cmp al, 0x13
mov eax, dword [esp + 0x18]
jne 0x100b86ca
movsd xmm0, qword [esi]
sub esp, 8
mov eax, esp
movsd qword [esp + 0x48], xmm0
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [eax], ecx
mov dword [eax + 4], edx
call fcn.101a2ac0
movsd xmm0, qword [esi]
add esp, 8
fstp qword [esp + 0x40]
movsd xmm2, qword [esp + 0x40]
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jp 0x100b752c
comisd xmm2, xmmword [0x101ed738]
jb 0x100b752c
movsd xmm1, qword [0x101ed638]
comisd xmm1, xmm2
jbe 0x100b752c
movaps xmm0, xmm2
call fcn.101a00c0
mov ecx, eax
mov eax, 1
jmp 0x100b753c
mov ecx, dword [esp + 0xe4]
xor eax, eax
mov edx, dword [esp + 0x84]
mov esi, dword [esp + 0x14]
test eax, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0x84], edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
je 0x100b8b31
mov esi, dword [esp + 0x14]
mov eax, edx
mov edx, dword [esp + 0x1c]
or ecx, edi
mov edi, dword [esp + 0x10]
add esi, 4
or eax, dword [esp + 0x28]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x18]
mov dword [edx], ecx
mov byte [edx + 8], 3
jmp 0x100b63bc
mov eax, edx
shr edx, 0x18
shr eax, 0x10
add edx, edx
movzx esi, al
mov eax, dword [esp + 0x4c]
shl esi, 4
add esi, dword [esp + 0x38]
mov edi, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
mov dword [esp + 0x28], eax
mov al, byte [esi + 8]
cmp al, 3
jne 0x100b75cd
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], edx
jmp 0x100b7674
cmp al, 0x13
mov eax, dword [esp + 0x18]
jne 0x100b86ca
movsd xmm0, qword [esi]
sub esp, 8
mov eax, esp
movsd qword [esp + 0x48], xmm0
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [eax], ecx
mov dword [eax + 4], edx
call fcn.101a2ac0
movsd xmm0, qword [esi]
add esp, 8
fstp qword [esp + 0x40]
movsd xmm2, qword [esp + 0x40]
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jp 0x100b763e
comisd xmm2, xmmword [0x101ed738]
jb 0x100b763e
movsd xmm1, qword [0x101ed638]
comisd xmm1, xmm2
jbe 0x100b763e
movaps xmm0, xmm2
call fcn.101a00c0
mov ecx, eax
mov eax, 1
jmp 0x100b764e
mov ecx, dword [esp + 0x88]
xor eax, eax
mov edx, dword [esp + 0x8c]
mov esi, dword [esp + 0x14]
test eax, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
je 0x100b8b31
mov esi, dword [esp + 0x14]
mov eax, edx
mov edx, dword [esp + 0x1c]
xor ecx, edi
mov edi, dword [esp + 0x10]
add esi, 4
xor eax, dword [esp + 0x28]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x18]
mov dword [edx], ecx
mov byte [edx + 8], 3
jmp 0x100b63bc
mov eax, edx
shr edx, 0x18
shr eax, 0x10
sub edx, 0x7f
movzx esi, al
shl esi, 4
add esi, dword [esp + 0x38]
mov dword [esp + 0x20], edx
mov al, byte [esi + 8]
cmp al, 3
jne 0x100b76e3
mov eax, dword [esi]
mov esi, dword [esi + 4]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], esi
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], esi
jmp 0x100b779f
mov edi, dword [esp + 0x10]
cmp al, 0x13
mov eax, dword [esp + 0x18]
jne 0x100b63b8
movsd xmm0, qword [esi]
sub esp, 8
mov eax, esp
movsd qword [esp + 0x30], xmm0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [eax], ecx
mov dword [eax + 4], edx
call fcn.101a2ac0
movsd xmm0, qword [esi]
add esp, 8
fstp qword [esp + 0x28]
movsd xmm2, qword [esp + 0x28]
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jp 0x100b775f
comisd xmm2, xmmword [0x101ed738]
jb 0x100b775f
movsd xmm1, qword [0x101ed638]
comisd xmm1, xmm2
jbe 0x100b775f
movaps xmm0, xmm2
call fcn.101a00c0
mov dword [esp + 0x90], eax
mov ecx, edx
mov eax, 1
jmp 0x100b7768
mov ecx, dword [esp + 0x94]
xor eax, eax
mov edx, dword [esp + 0x90]
test eax, eax
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], ecx
mov dword [esp + 0xe8], edx
mov dword [esp + 0xec], ecx
je 0x100b63bc
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
mov ecx, edx
neg ecx
add esi, 4
mov eax, ecx
cdq
test edx, edx
jg 0x100b77c3
jl 0x100b77b7
test eax, eax
jae 0x100b77e5
cmp edx, 0xffffffff
jg 0x100b77ce
jl 0x100b77c3
cmp eax, 0xffffffc0
ja 0x100b77ce
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
jmp 0x100b7812
mov eax, dword [esp + 0x20]
movq xmm1, qword [esp + 0xe8]
movd xmm0, eax
psrlq xmm1, xmm0
jmp 0x100b780c
test edx, edx
jl 0x100b77fb
jg 0x100b77c3
cmp eax, 0x40
jb 0x100b77fb
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
jmp 0x100b7812
movq xmm1, qword [esp + 0xe8]
movd xmm0, ecx
psllq xmm1, xmm0
movq qword [esp + 0x28], xmm1
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x18]
mov dword [edx + 4], ecx
mov byte [edx + 8], 3
jmp 0x100b63bc
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx esi, al
shl esi, 4
add esi, dword [esp + 0x38]
mov dword [esp + 0x20], edx
mov al, byte [esi + 8]
cmp al, 3
jne 0x100b7866
mov ecx, dword [esi]
mov edi, dword [esi + 4]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x60], edi
jmp 0x100b7913
mov edi, dword [esp + 0x10]
cmp al, 0x13
mov eax, dword [esp + 0x18]
jne 0x100b63b8
movsd xmm0, qword [esi]
sub esp, 8
mov eax, esp
movsd qword [esp + 0x30], xmm0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [eax], ecx
mov dword [eax + 4], edx
call fcn.101a2ac0
movsd xmm0, qword [esi]
add esp, 8
fstp qword [esp + 0x28]
movsd xmm2, qword [esp + 0x28]
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jp 0x100b78db
comisd xmm2, xmmword [0x101ed738]
jb 0x100b78db
movsd xmm1, qword [0x101ed638]
comisd xmm1, xmm2
jbe 0x100b78db
movaps xmm0, xmm2
call fcn.101a00c0
mov ecx, eax
mov eax, 1
jmp 0x100b78e8
mov edx, dword [esp + 0x60]
xor eax, eax
mov ecx, dword [esp + 0x98]
mov esi, dword [esp + 0x14]
test eax, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x60], edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
je 0x100b63bc
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x14]
xor eax, eax
add esi, 4
sub edx, 0x7f
mov dword [esp + 0x108], edx
sbb eax, eax
mov dword [esp + 0x10c], eax
test edi, edi
jg 0x100b7945
jl 0x100b7939
test ecx, ecx
jae 0x100b7967
cmp edi, 0xffffffff
jg 0x100b7950
jl 0x100b7945
cmp ecx, 0xffffffc0
ja 0x100b7950
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
jmp 0x100b7994
movq xmm1, qword [esp + 0x108]
mov eax, ecx
neg eax
movd xmm0, eax
psrlq xmm1, xmm0
jmp 0x100b798e
test edi, edi
jl 0x100b797d
jg 0x100b7945
cmp ecx, 0x40
jb 0x100b797d
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
jmp 0x100b7994
movq xmm1, qword [esp + 0x108]
movd xmm0, ecx
psllq xmm1, xmm0
movq qword [esp + 0x28], xmm1
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x18]
mov dword [edx + 4], ecx
mov byte [edx + 8], 3
jmp 0x100b63bc
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx esi, al
shl esi, 4
add esi, dword [esp + 0x38]
shl edx, 4
add edx, dword [esp + 0x38]
mov dword [esp + 0x20], edx
mov al, byte [esi + 8]
cmp al, 3
je 0x100b6dcd
lea edi, [edx + 8]
cmp al, 0x13
jne 0x100b79f1
movsd xmm0, qword [esi]
movsd qword [esp + 0x28], xmm0
jmp 0x100b7a11
cmp al, 3
mov eax, dword [esp + 0x18]
jne 0x100b86ca
mov edx, dword [esi + 4]
mov ecx, dword [esi]
call fcn.101a01d0
mov edx, dword [esp + 0x20]
movsd qword [esp + 0x28], xmm0
mov al, byte [edi]
cmp al, 0x13
jne 0x100b6e07
movsd xmm0, qword [edx]
jmp 0x100b6e29
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x38]
shl edx, 4
add edx, dword [esp + 0x38]
mov dword [esp + 0x20], edx
mov cl, byte [eax + 8]
lea esi, [edx + 8]
cmp cl, 3
je 0x100b6e7b
cmp cl, 0x13
jne 0x100b6eab
movsd xmm0, qword [eax]
movsd qword [esp + 0x28], xmm0
jmp 0x100b6ecc
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx ecx, al
shl ecx, 4
add ecx, dword [esp + 0x38]
shl edx, 4
add edx, dword [esp + 0x38]
mov dword [esp + 0x20], edx
mov al, byte [ecx + 8]
cmp al, 3
je 0x100b6f4c
lea esi, [edx + 8]
cmp al, 0x13
jne 0x100b7aa3
movsd xmm0, qword [ecx]
movsd qword [esp + 0x28], xmm0
jmp 0x100b7ac7
mov edi, dword [esp + 0x10]
cmp al, 3
mov eax, dword [esp + 0x18]
jne 0x100b63b8
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
call fcn.101a01d0
mov edx, dword [esp + 0x20]
movsd qword [esp + 0x28], xmm0
mov al, byte [esi]
cmp al, 0x13
jne 0x100b6f89
movsd xmm0, qword [edx]
jmp 0x100b6fab
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx ecx, al
shl ecx, 4
add ecx, dword [esp + 0x38]
shl edx, 4
add edx, dword [esp + 0x38]
mov dword [esp + 0x20], edx
mov al, byte [ecx + 8]
lea esi, [edx + 8]
cmp al, 3
je 0x100b6ffc
cmp al, 0x13
jne 0x100b7036
movsd xmm0, qword [ecx]
jmp 0x100b7054
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx ecx, al
shl ecx, 4
add ecx, dword [esp + 0x38]
shl edx, 4
add edx, dword [esp + 0x38]
jmp 0x100b7118
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx ecx, al
shl ecx, 4
add ecx, dword [esp + 0x38]
shl edx, 4
add edx, dword [esp + 0x38]
jmp 0x100b71cd
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx ecx, al
shl ecx, 4
add ecx, dword [esp + 0x38]
shl edx, 4
add edx, dword [esp + 0x38]
mov dword [esp + 0x20], edx
mov al, byte [ecx + 8]
lea esi, [edx + 8]
cmp al, 3
jne 0x100b7b9e
cmp byte [esi], al
jne 0x100b7bae
push dword [edx + 4]
mov esi, dword [esp + 0x18]
push dword [edx]
mov edi, dword [esp + 0x18]
add esi, 4
push dword [ecx + 4]
push dword [ecx]
mov ecx, edi
call fcn.100b5f80
jmp 0x100b701d
cmp al, 0x13
jne 0x100b7bae
movsd xmm0, qword [ecx]
movsd qword [esp + 0x28], xmm0
jmp 0x100b7bd2
mov edi, dword [esp + 0x10]
cmp al, 3
mov eax, dword [esp + 0x18]
jne 0x100b63b8
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
call fcn.101a01d0
mov edx, dword [esp + 0x20]
movsd qword [esp + 0x28], xmm0
mov al, byte [esi]
cmp al, 0x13
jne 0x100b7bde
movsd xmm0, qword [edx]
jmp 0x100b7c00
mov edi, dword [esp + 0x10]
cmp al, 3
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
jne 0x100b63bc
mov eax, dword [esp + 0x20]
mov edx, dword [edx + 4]
mov ecx, dword [eax]
call fcn.101a01d0
movsd xmm1, qword [esp + 0x28]
divsd xmm1, xmm0
movsd qword [esp + 0x28], xmm1
fld qword [esp + 0x28]
jmp 0x100b733b
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx esi, al
shl esi, 4
add esi, dword [esp + 0x38]
shl edx, 4
add edx, dword [esp + 0x38]
mov dword [esp + 0x20], edx
mov al, byte [esi + 8]
cmp al, 3
jne 0x100b7c4f
mov eax, dword [esi]
mov dword [esp + 0x64], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x68], eax
jmp 0x100b7cf6
mov edi, dword [esp + 0x10]
cmp al, 0x13
mov eax, dword [esp + 0x18]
jne 0x100b63b8
movsd xmm0, qword [esi]
sub esp, 8
mov eax, esp
movsd qword [esp + 0x30], xmm0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [eax], ecx
mov dword [eax + 4], edx
call fcn.101a2ac0
movsd xmm0, qword [esi]
add esp, 8
fstp qword [esp + 0x28]
movsd xmm2, qword [esp + 0x28]
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jp 0x100b7cc8
comisd xmm2, xmmword [0x101ed738]
jb 0x100b7cc8
movsd xmm1, qword [0x101ed638]
comisd xmm1, xmm2
jbe 0x100b7cc8
movaps xmm0, xmm2
call fcn.101a00c0
mov dword [esp + 0x64], eax
mov ecx, edx
mov eax, 1
jmp 0x100b7cce
mov ecx, dword [esp + 0x68]
xor eax, eax
mov edx, dword [esp + 0x64]
test eax, eax
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ecx
je 0x100b63bc
mov edx, dword [esp + 0x20]
mov al, byte [edx + 8]
cmp al, 3
jne 0x100b7d15
mov ecx, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], edx
jmp 0x100b7dc8
mov edi, dword [esp + 0x10]
cmp al, 0x13
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
jne 0x100b63bc
movsd xmm0, qword [edx]
sub esp, 8
mov eax, esp
movsd qword [esp + 0x30], xmm0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [eax], ecx
mov dword [eax + 4], edx
call fcn.101a2ac0
mov eax, dword [esp + 0x28]
add esp, 8
fstp qword [esp + 0x28]
movsd xmm2, qword [esp + 0x28]
movsd xmm0, qword [eax]
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jp 0x100b7d92
comisd xmm2, xmmword [0x101ed738]
jb 0x100b7d92
movsd xmm1, qword [0x101ed638]
comisd xmm1, xmm2
jbe 0x100b7d92
movaps xmm0, xmm2
call fcn.101a00c0
mov ecx, eax
mov eax, 1
jmp 0x100b7da2
mov ecx, dword [esp + 0x9c]
xor eax, eax
mov edx, dword [esp + 0xa0]
mov esi, dword [esp + 0x14]
test eax, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
je 0x100b63bc
mov esi, dword [esp + 0x14]
mov eax, edx
mov edx, dword [esp + 0x1c]
add esi, 4
and ecx, dword [esp + 0x64]
and eax, dword [esp + 0x68]
mov edi, dword [esp + 0x10]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x18]
mov dword [edx], ecx
mov byte [edx + 8], 3
jmp 0x100b63bc
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx esi, al
shl esi, 4
add esi, dword [esp + 0x38]
shl edx, 4
add edx, dword [esp + 0x38]
mov dword [esp + 0x20], edx
mov al, byte [esi + 8]
cmp al, 3
jne 0x100b7e29
mov eax, dword [esi]
mov dword [esp + 0x6c], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x70], eax
jmp 0x100b7ed0
mov edi, dword [esp + 0x10]
cmp al, 0x13
mov eax, dword [esp + 0x18]
jne 0x100b63b8
movsd xmm0, qword [esi]
sub esp, 8
mov eax, esp
movsd qword [esp + 0x30], xmm0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [eax], ecx
mov dword [eax + 4], edx
call fcn.101a2ac0
movsd xmm0, qword [esi]
add esp, 8
fstp qword [esp + 0x28]
movsd xmm2, qword [esp + 0x28]
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jp 0x100b7ea2
comisd xmm2, xmmword [0x101ed738]
jb 0x100b7ea2
movsd xmm1, qword [0x101ed638]
comisd xmm1, xmm2
jbe 0x100b7ea2
movaps xmm0, xmm2
call fcn.101a00c0
mov dword [esp + 0x6c], eax
mov ecx, edx
mov eax, 1
jmp 0x100b7ea8
mov ecx, dword [esp + 0x70]
xor eax, eax
mov edx, dword [esp + 0x6c]
test eax, eax
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ecx
je 0x100b63bc
mov edx, dword [esp + 0x20]
mov al, byte [edx + 8]
cmp al, 3
jne 0x100b7eef
mov ecx, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], edx
jmp 0x100b7fa2
mov edi, dword [esp + 0x10]
cmp al, 0x13
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
jne 0x100b63bc
movsd xmm0, qword [edx]
sub esp, 8
mov eax, esp
movsd qword [esp + 0x30], xmm0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [eax], ecx
mov dword [eax + 4], edx
call fcn.101a2ac0
mov eax, dword [esp + 0x28]
add esp, 8
fstp qword [esp + 0x28]
movsd xmm2, qword [esp + 0x28]
movsd xmm0, qword [eax]
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jp 0x100b7f6c
comisd xmm2, xmmword [0x101ed738]
jb 0x100b7f6c
movsd xmm1, qword [0x101ed638]
comisd xmm1, xmm2
jbe 0x100b7f6c
movaps xmm0, xmm2
call fcn.101a00c0
mov ecx, eax
mov eax, 1
jmp 0x100b7f7c
mov ecx, dword [esp + 0xa4]
xor eax, eax
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0x14]
test eax, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
je 0x100b63bc
mov esi, dword [esp + 0x14]
mov eax, edx
mov edx, dword [esp + 0x1c]
add esi, 4
or ecx, dword [esp + 0x6c]
or eax, dword [esp + 0x70]
mov edi, dword [esp + 0x10]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x18]
mov dword [edx], ecx
mov byte [edx + 8], 3
jmp 0x100b63bc
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx esi, al
shl esi, 4
add esi, dword [esp + 0x38]
shl edx, 4
add edx, dword [esp + 0x38]
mov dword [esp + 0x20], edx
mov al, byte [esi + 8]
cmp al, 3
jne 0x100b8003
mov eax, dword [esi]
mov dword [esp + 0x74], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x78], eax
jmp 0x100b80aa
mov edi, dword [esp + 0x10]
cmp al, 0x13
mov eax, dword [esp + 0x18]
jne 0x100b63b8
movsd xmm0, qword [esi]
sub esp, 8
mov eax, esp
movsd qword [esp + 0x30], xmm0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [eax], ecx
mov dword [eax + 4], edx
call fcn.101a2ac0
movsd xmm0, qword [esi]
add esp, 8
fstp qword [esp + 0x28]
movsd xmm2, qword [esp + 0x28]
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jp 0x100b807c
comisd xmm2, xmmword [0x101ed738]
jb 0x100b807c
movsd xmm1, qword [0x101ed638]
comisd xmm1, xmm2
jbe 0x100b807c
movaps xmm0, xmm2
call fcn.101a00c0
mov dword [esp + 0x74], eax
mov ecx, edx
mov eax, 1
jmp 0x100b8082
mov ecx, dword [esp + 0x78]
xor eax, eax
mov edx, dword [esp + 0x74]
test eax, eax
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ecx
je 0x100b63bc
mov edx, dword [esp + 0x20]
mov al, byte [edx + 8]
cmp al, 3
jne 0x100b80c9
mov ecx, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], edx
jmp 0x100b817c
mov edi, dword [esp + 0x10]
cmp al, 0x13
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
jne 0x100b63bc
movsd xmm0, qword [edx]
sub esp, 8
mov eax, esp
movsd qword [esp + 0x30], xmm0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [eax], ecx
mov dword [eax + 4], edx
call fcn.101a2ac0
mov eax, dword [esp + 0x28]
add esp, 8
fstp qword [esp + 0x28]
movsd xmm2, qword [esp + 0x28]
movsd xmm0, qword [eax]
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jp 0x100b8146
comisd xmm2, xmmword [0x101ed738]
jb 0x100b8146
movsd xmm1, qword [0x101ed638]
comisd xmm1, xmm2
jbe 0x100b8146
movaps xmm0, xmm2
call fcn.101a00c0
mov ecx, eax
mov eax, 1
jmp 0x100b8156
mov ecx, dword [esp + 0xac]
xor eax, eax
mov edx, dword [esp + 0xb0]
mov esi, dword [esp + 0x14]
test eax, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
je 0x100b63bc
mov esi, dword [esp + 0x14]
mov eax, edx
mov edx, dword [esp + 0x1c]
add esi, 4
xor ecx, dword [esp + 0x74]
xor eax, dword [esp + 0x78]
mov edi, dword [esp + 0x10]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x18]
mov dword [edx], ecx
mov byte [edx + 8], 3
jmp 0x100b63bc
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx esi, al
shl esi, 4
add esi, dword [esp + 0x38]
shl edx, 4
add edx, dword [esp + 0x38]
mov dword [esp + 0x20], edx
mov al, byte [esi + 8]
cmp al, 3
jne 0x100b81f1
mov eax, dword [esi]
mov esi, dword [esi + 4]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], esi
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], esi
jmp 0x100b82ad
mov edi, dword [esp + 0x10]
cmp al, 0x13
mov eax, dword [esp + 0x18]
jne 0x100b63b8
movsd xmm0, qword [esi]
sub esp, 8
mov eax, esp
movsd qword [esp + 0x30], xmm0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [eax], ecx
mov dword [eax + 4], edx
call fcn.101a2ac0
movsd xmm0, qword [esi]
add esp, 8
fstp qword [esp + 0x28]
movsd xmm2, qword [esp + 0x28]
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jp 0x100b826d
comisd xmm2, xmmword [0x101ed738]
jb 0x100b826d
movsd xmm1, qword [0x101ed638]
comisd xmm1, xmm2
jbe 0x100b826d
movaps xmm0, xmm2
call fcn.101a00c0
mov dword [esp + 0xb4], eax
mov ecx, edx
mov eax, 1
jmp 0x100b8276
mov ecx, dword [esp + 0xb8]
xor eax, eax
mov edx, dword [esp + 0xb4]
test eax, eax
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xf0], edx
mov dword [esp + 0xf4], ecx
je 0x100b63bc
mov edx, dword [esp + 0x20]
mov al, byte [edx + 8]
cmp al, 3
jne 0x100b82cb
mov esi, dword [edx]
mov ecx, dword [edx + 4]
mov edx, esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0xbc], ecx
jmp 0x100b837c
mov edi, dword [esp + 0x10]
cmp al, 0x13
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
jne 0x100b63bc
movsd xmm0, qword [edx]
sub esp, 8
mov eax, esp
movsd qword [esp + 0x30], xmm0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [eax], ecx
mov dword [eax + 4], edx
call fcn.101a2ac0
mov eax, dword [esp + 0x28]
add esp, 8
fstp qword [esp + 0x28]
movsd xmm2, qword [esp + 0x28]
movsd xmm0, qword [eax]
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jp 0x100b834c
comisd xmm2, xmmword [0x101ed738]
jb 0x100b834c
movsd xmm1, qword [0x101ed638]
comisd xmm1, xmm2
jbe 0x100b834c
movaps xmm0, xmm2
call fcn.101a00c0
mov dword [esp + 0x7c], eax
mov ecx, edx
mov eax, 1
jmp 0x100b8355
mov ecx, dword [esp + 0xbc]
xor eax, eax
mov edx, dword [esp + 0x7c]
test eax, eax
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x7c], edx
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ecx
je 0x100b63bc
mov esi, dword [esp + 0x14]
mov eax, edx
add esi, 4
neg eax
adc ecx, 0
neg ecx
test ecx, ecx
jg 0x100b83a2
jl 0x100b8396
test eax, eax
jae 0x100b83c2
cmp ecx, 0xffffffff
jg 0x100b83ad
jl 0x100b83a2
cmp eax, 0xffffffc0
ja 0x100b83ad
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
jmp 0x100b83ef
movq xmm1, qword [esp + 0xf0]
neg eax
movd xmm0, eax
psrlq xmm1, xmm0
jmp 0x100b83e9
test ecx, ecx
jl 0x100b83d8
jg 0x100b83a2
cmp eax, 0x40
jb 0x100b83d8
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
jmp 0x100b83ef
movq xmm1, qword [esp + 0xf0]
movd xmm0, eax
psllq xmm1, xmm0
movq qword [esp + 0x28], xmm1
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x18]
mov dword [edx + 4], ecx
mov byte [edx + 8], 3
jmp 0x100b63bc
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx esi, al
shl esi, 4
add esi, dword [esp + 0x38]
shl edx, 4
add edx, dword [esp + 0x38]
mov dword [esp + 0x20], edx
mov al, byte [esi + 8]
cmp al, 3
jne 0x100b845b
mov eax, dword [esi]
mov esi, dword [esi + 4]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], esi
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], esi
jmp 0x100b8517
mov edi, dword [esp + 0x10]
cmp al, 0x13
mov eax, dword [esp + 0x18]
jne 0x100b63b8
movsd xmm0, qword [esi]
sub esp, 8
mov eax, esp
movsd qword [esp + 0x30], xmm0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [eax], ecx
mov dword [eax + 4], edx
call fcn.101a2ac0
movsd xmm0, qword [esi]
add esp, 8
fstp qword [esp + 0x28]
movsd xmm2, qword [esp + 0x28]
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jp 0x100b84d7
comisd xmm2, xmmword [0x101ed738]
jb 0x100b84d7
movsd xmm1, qword [0x101ed638]
comisd xmm1, xmm2
jbe 0x100b84d7
movaps xmm0, xmm2
call fcn.101a00c0
mov dword [esp + 0xc0], eax
mov ecx, edx
mov eax, 1
jmp 0x100b84e0
mov ecx, dword [esp + 0xc4]
xor eax, eax
mov edx, dword [esp + 0xc0]
test eax, eax
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xf8], edx
mov dword [esp + 0xfc], ecx
je 0x100b63bc
mov edx, dword [esp + 0x20]
mov al, byte [edx + 8]
cmp al, 3
jne 0x100b8536
mov ecx, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], edx
jmp 0x100b85e9
mov edi, dword [esp + 0x10]
cmp al, 0x13
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
jne 0x100b63bc
movsd xmm0, qword [edx]
sub esp, 8
mov eax, esp
movsd qword [esp + 0x30], xmm0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [eax], ecx
mov dword [eax + 4], edx
call fcn.101a2ac0
mov eax, dword [esp + 0x28]
add esp, 8
fstp qword [esp + 0x28]
movsd xmm2, qword [esp + 0x28]
movsd xmm0, qword [eax]
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jp 0x100b85b3
comisd xmm2, xmmword [0x101ed738]
jb 0x100b85b3
movsd xmm1, qword [0x101ed638]
comisd xmm1, xmm2
jbe 0x100b85b3
movaps xmm0, xmm2
call fcn.101a00c0
mov ecx, eax
mov eax, 1
jmp 0x100b85c3
mov edx, dword [esp + 0xcc]
xor eax, eax
mov ecx, dword [esp + 0xc8]
mov esi, dword [esp + 0x14]
test eax, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
je 0x100b63bc
mov esi, dword [esp + 0x14]
add esi, 4
test edx, edx
jg 0x100b83a2
jl 0x100b85fe
test ecx, ecx
jae 0x100b8636
cmp edx, 0xffffffff
jg 0x100b861c
jl 0x100b83a2
cmp ecx, 0xffffffc0
ja 0x100b861c
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
jmp 0x100b83ef
movq xmm1, qword [esp + 0xf8]
mov eax, ecx
neg eax
movd xmm0, eax
psrlq xmm1, xmm0
jmp 0x100b83e9
test edx, edx
jl 0x100b8653
jg 0x100b83a2
cmp ecx, 0x40
jb 0x100b8653
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
jmp 0x100b83ef
movq xmm1, qword [esp + 0xf8]
movd xmm0, ecx
jmp 0x100b83e5
mov edi, dword [esp + 0x14]
mov eax, edx
shr eax, 0x10
movzx esi, al
shr edx, 0x18
mov eax, dword [edi - 8]
shr eax, 7
movzx ecx, al
mov eax, dword [esp + 0x24]
shl ecx, 4
add ecx, dword [esp + 0x38]
push edx
mov dword [eax + 0x10], edi
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x38]
shl esi, 4
add esi, dword [esp + 0x3c]
mov eax, dword [eax]
push ecx
mov ecx, dword [esp + 0x18]
mov dword [edi], eax
mov edi, dword [esp + 0x24]
mov dword [esp + 0x28], edx
mov edx, edi
push esi
call fcn.100b2e20
add esp, 0xc
test eax, eax
je 0x100b9e0e
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x10]
jmp 0x100b63b8
mov ecx, dword [esp + 0x14]
mov esi, edx
shr esi, 0x18
push esi
mov byte [esp + 0x134], 3
mov eax, dword [ecx - 8]
shr eax, 7
movzx edi, al
mov eax, dword [esp + 0x28]
shl edi, 4
add edi, dword [esp + 0x3c]
push edi
mov dword [eax + 0x10], ecx
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, edx
shr eax, 0x10
movzx ecx, al
xor eax, eax
sub ecx, 0x7f
mov dword [esp + 0x130], ecx
sbb eax, eax
mov dword [esp + 0x134], eax
test edx, 0x8000
je 0x100b8762
mov edi, dword [esp + 0x24]
lea edx, [esp + 0x130]
mov ecx, dword [esp + 0x18]
push edi
call fcn.100b2e20
add esp, 0xc
test eax, eax
je 0x100b9e4b
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], eax
jmp 0x100b63b8
mov edi, dword [esp + 0x18]
lea eax, [esp + 0x130]
mov edx, dword [esp + 0x24]
mov ecx, edi
push eax
call fcn.100b2f00
mov eax, dword [esp + 0x30]
add esp, 0xc
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], eax
jmp 0x100b63b8
mov eax, edx
mov edi, edx
shr eax, 0x10
movzx esi, al
mov eax, dword [esp + 0x14]
shr edi, 0x18
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x24]
mov eax, dword [eax - 8]
shr eax, 7
movzx ecx, al
mov eax, dword [esp + 0x14]
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x34]
shl esi, 4
add esi, dword [esp + 0x4c]
mov eax, dword [eax]
shl ecx, 4
add ecx, dword [esp + 0x38]
mov dword [edi], eax
mov edi, dword [esp + 0x28]
test edx, 0x8000
je 0x100b8802
mov eax, dword [esp + 0x1c]
mov edx, esi
push edi
mov edi, dword [esp + 0x14]
push ecx
push eax
mov ecx, edi
call fcn.100b2f00
mov eax, dword [esp + 0x30]
add esp, 0xc
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], eax
jmp 0x100b63b8
mov edx, dword [esp + 0x1c]
mov eax, esi
push edi
mov edi, dword [esp + 0x14]
push ecx
push eax
mov ecx, edi
call fcn.100b2f00
mov eax, dword [esp + 0x30]
add esp, 0xc
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], eax
jmp 0x100b63b8
shr edx, 0x10
movzx esi, dl
shl esi, 4
add esi, dword [esp + 0x38]
mov al, byte [esi + 8]
cmp al, 3
jne 0x100b884e
mov ecx, dword [esi]
mov eax, dword [esi + 4]
neg ecx
adc eax, 0
neg eax
jmp 0x100b6de9
cmp al, 0x13
jne 0x100b887b
movsd xmm0, qword [esi]
mov eax, dword [esp + 0x1c]
xorps xmm0, xmmword [esp + 0x110]
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
movsd qword [eax], xmm0
mov byte [eax + 8], 0x13
mov eax, dword [esp + 0x18]
jmp 0x100b63bc
mov ecx, dword [esp + 0x24]
mov edx, esi
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
push 0x12
push dword [esp + 0x20]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x3c]
push esi
mov eax, dword [eax]
mov dword [ecx], eax
mov ecx, edi
call fcn.100b2e20
add esp, 0xc
test eax, eax
je 0x100ba0e2
jmp 0x100b6752
shr edx, 0x10
movzx esi, dl
shl esi, 4
add esi, dword [esp + 0x38]
mov al, byte [esi + 8]
cmp al, 3
jne 0x100b88e8
mov edx, dword [esi + 4]
mov eax, edx
mov ecx, dword [esi]
not eax
mov dword [esp + 0xd0], ecx
not ecx
mov dword [esp + 0xd4], edx
jmp 0x100b6de9
cmp al, 0x13
jne 0x100b898a
movsd xmm0, qword [esi]
sub esp, 8
mov eax, esp
movsd qword [esp + 0x30], xmm0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [eax], ecx
mov dword [eax + 4], edx
call fcn.101a2ac0
movsd xmm0, qword [esi]
add esp, 8
fstp qword [esp + 0x28]
movsd xmm2, qword [esp + 0x28]
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jp 0x100b8955
comisd xmm2, xmmword [0x101ed738]
jb 0x100b8955
movsd xmm1, qword [0x101ed638]
comisd xmm1, xmm2
jbe 0x100b8955
movaps xmm0, xmm2
call fcn.101a00c0
mov ecx, eax
mov eax, 1
jmp 0x100b8965
mov ecx, dword [esp + 0xd0]
xor eax, eax
mov edx, dword [esp + 0xd4]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
test eax, eax
je 0x100b898a
mov eax, edx
not ecx
not eax
jmp 0x100b6de9
mov ecx, dword [esp + 0x24]
mov edx, esi
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
push 0x13
push dword [esp + 0x20]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x3c]
push esi
mov eax, dword [eax]
mov dword [ecx], eax
mov ecx, edi
call fcn.100b2e20
add esp, 0xc
test eax, eax
jne 0x100b6752
mov al, byte [esi + 8]
mov edx, esi
and al, 0xf
mov ecx, edi
cmp al, 3
je 0x100ba0f1
jmp 0x100ba19d
mov ecx, dword [esp + 0x38]
shr edx, 0x10
movzx eax, dl
add eax, eax
mov al, byte [ecx + eax*8 + 8]
cmp al, 1
je 0x100b89f0
test al, 0xf
mov al, 1
jne 0x100b89f2
mov al, 0x11
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov byte [ecx + 8], al
mov eax, dword [esp + 0x18]
jmp 0x100b63bc
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x10]
mov dword [eax + 0x10], esi
mov eax, dword [esp + 0x3c]
shr edx, 0x10
mov eax, dword [eax]
mov dword [ecx], eax
mov ecx, edi
movzx eax, dl
mov edx, dword [esp + 0x1c]
shl eax, 4
add eax, dword [esp + 0x38]
push eax
call fcn.100b5e90
mov eax, dword [esp + 0x28]
add esp, 4
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], eax
jmp 0x100b63bc
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
shr edx, 0x10
movzx edx, dl
mov eax, edx
shl eax, 4
add eax, dword [esp + 0x1c]
mov dword [ecx], eax
mov ecx, edi
mov eax, dword [esp + 0x24]
mov dword [eax + 0x10], esi
call fcn.100b5c10
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0x10]
cmp dword [eax + 0xc], 0
mov eax, dword [esp + 0x18]
jle 0x100b63bc
mov ecx, edi
call fcn.1009b960
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], eax
jmp 0x100b63bc
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
mov dword [eax + 0x10], esi
mov eax, dword [esp + 0x3c]
push 0
mov eax, dword [eax]
mov dword [ecx], eax
mov ecx, edi
call fcn.10098480
mov eax, dword [esp + 0x28]
add esp, 4
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], eax
jmp 0x100b63bc
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
mov dword [eax + 0x10], esi
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [ecx], eax
mov ecx, edi
call fcn.10098400
mov eax, dword [esp + 0x18]
jmp 0x100b63bc
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
lea esi, [esi + ecx*4]
mov eax, dword [eax + 0x14]
add esi, 0xfc000004
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x10]
jmp 0x100b63bc
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x10]
mov dword [eax + 0x10], esi
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, edx
mov edx, dword [esp + 0x1c]
mov ecx, edi
shr eax, 0x10
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x38]
push eax
call fcn.100b5990
mov edx, dword [esp + 0x28]
add esp, 4
mov ecx, dword [edx + 0x14]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x20]
shr ecx, 0xf
and ecx, 1
cmp eax, ecx
je 0x100b8b98
mov eax, dword [esp + 0x18]
add esi, 4
jmp 0x100b63bc
mov eax, dword [esi]
shr eax, 7
lea esi, [esi + eax*4]
mov eax, dword [edx + 0x14]
add esi, 0xfc000008
mov dword [esp + 0x18], eax
jmp 0x100b63bc
mov edi, dword [esp + 0x1c]
mov eax, edx
shr eax, 0x10
movzx esi, al
shl esi, 4
mov al, byte [edi + 8]
add esi, dword [esp + 0x38]
cmp al, 3
jne 0x100b8c02
cmp byte [esi + 8], al
jne 0x100b8c02
mov eax, dword [edi + 4]
cmp eax, dword [esi + 4]
jg 0x100b8bf3
jl 0x100b8be1
mov eax, dword [edi]
cmp eax, dword [esi]
jae 0x100b8bf3
mov edi, dword [esp + 0x24]
mov ecx, 1
mov eax, dword [esp + 0x18]
jmp 0x100b8ca4
mov edi, dword [esp + 0x24]
xor ecx, ecx
mov eax, dword [esp + 0x18]
jmp 0x100b8ca4
and al, 0xf
cmp al, 3
jne 0x100b8c26
mov al, byte [esi + 8]
and al, 0xf
cmp al, 3
jne 0x100b8c26
mov edx, esi
mov ecx, edi
call fcn.100b54b0
mov edi, dword [esp + 0x24]
mov ecx, eax
mov eax, dword [esp + 0x18]
jmp 0x100b8ca0
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax]
mov eax, dword [esp + 0x34]
mov dword [eax], ecx
mov al, byte [edi + 8]
and al, 0xf
cmp al, 4
jne 0x100b8c61
mov al, byte [esi + 8]
and al, 0xf
cmp al, 4
jne 0x100b8c61
mov edx, dword [esi]
mov ecx, dword [edi]
call fcn.100b5410
xor ecx, ecx
test eax, eax
sets cl
jmp 0x100b8c95
push 0x14
push ecx
mov ecx, dword [esp + 0x18]
mov edx, edi
push esi
call fcn.100b2e20
add esp, 0xc
test eax, eax
je 0x100ba1a8
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
mov al, byte [eax + 8]
cmp al, 1
je 0x100b8c93
test al, 0xf
je 0x100b8c93
mov ecx, 1
jmp 0x100b8c95
xor ecx, ecx
mov edi, dword [esp + 0x24]
mov eax, dword [edi + 0x14]
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
shr edx, 0xf
and edx, 1
cmp ecx, edx
je 0x100b8cbe
mov edi, dword [esp + 0x10]
add esi, 4
jmp 0x100b63bc
mov eax, dword [esi]
shr eax, 7
lea esi, [esi + eax*4]
mov eax, dword [edi + 0x14]
mov edi, dword [esp + 0x10]
add esi, 0xfc000008
mov dword [esp + 0x18], eax
jmp 0x100b63bc
mov edi, dword [esp + 0x1c]
mov eax, edx
shr eax, 0x10
movzx esi, al
shl esi, 4
mov al, byte [edi + 8]
add esi, dword [esp + 0x38]
cmp al, 3
jne 0x100b8d29
cmp byte [esi + 8], al
jne 0x100b8d29
mov eax, dword [edi + 4]
cmp eax, dword [esi + 4]
jg 0x100b8bf3
jl 0x100b8be1
mov eax, dword [edi]
cmp eax, dword [esi]
ja 0x100b8bf3
mov edi, dword [esp + 0x24]
mov ecx, 1
mov eax, dword [esp + 0x18]
jmp 0x100b8ca4
and al, 0xf
cmp al, 3
jne 0x100b8d50
mov al, byte [esi + 8]
and al, 0xf
cmp al, 3
jne 0x100b8d50
mov edx, esi
mov ecx, edi
call fcn.100b56a0
mov edi, dword [esp + 0x24]
mov ecx, eax
mov eax, dword [esp + 0x18]
jmp 0x100b8ca0
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax]
mov eax, dword [esp + 0x34]
mov dword [eax], ecx
mov al, byte [edi + 8]
and al, 0xf
cmp al, 4
jne 0x100b8d8e
mov al, byte [esi + 8]
and al, 0xf
cmp al, 4
jne 0x100b8d8e
mov edx, dword [esi]
mov ecx, dword [edi]
call fcn.100b5410
xor ecx, ecx
test eax, eax
setle cl
jmp 0x100b8c95
push 0x15
push ecx
mov ecx, dword [esp + 0x18]
mov edx, edi
push esi
call fcn.100b2e20
add esp, 0xc
test eax, eax
je 0x100ba0f7
jmp 0x100b8c7b
mov eax, edx
xor ecx, ecx
mov edx, dword [esp + 0x1c]
shr eax, 0x10
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x4c]
push eax
call fcn.100b5990
mov ecx, dword [esp + 0x24]
add esp, 4
shr ecx, 0xf
and ecx, 1
cmp eax, ecx
je 0x100b92e3
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
add esi, 4
mov eax, dword [esp + 0x18]
jmp 0x100b63bc
mov edi, dword [esp + 0x1c]
mov eax, edx
shr eax, 0x10
movzx eax, al
mov cl, byte [edi + 8]
lea esi, [eax - 0x7f]
cmp cl, 3
jne 0x100b8e1f
xor ecx, ecx
sub eax, 0x7f
sbb ecx, ecx
cmp dword [edi], eax
jne 0x100b8e41
cmp dword [edi + 4], ecx
jne 0x100b8e41
mov eax, 1
jmp 0x100b8e43
cmp cl, 0x13
jne 0x100b8e41
movsd xmm0, qword [edi]
movd xmm1, esi
cvtdq2pd xmm1, xmm1
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x100b8e41
mov eax, 1
jmp 0x100b8e43
xor eax, eax
shr edx, 0xf
and edx, 1
cmp eax, edx
je 0x100b92e3
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
add esi, 4
mov eax, dword [esp + 0x18]
jmp 0x100b63bc
mov esi, dword [esp + 0x1c]
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov al, byte [esi + 8]
lea edi, [ecx - 0x7f]
cmp al, 3
jne 0x100b8eae
xor eax, eax
sub ecx, 0x7f
sbb eax, eax
cmp dword [esi + 4], eax
jg 0x100b8e9f
jl 0x100b8e8d
cmp dword [esi], ecx
jae 0x100b8e9f
mov edi, dword [esp + 0x10]
mov eax, 1
mov ecx, dword [esp + 0x24]
jmp 0x100b8f77
mov edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x24]
jmp 0x100b8f77
cmp al, 0x13
jne 0x100b8ed0
mov ecx, dword [esp + 0x24]
xor eax, eax
movd xmm0, edi
mov edi, dword [esp + 0x10]
cvtdq2pd xmm0, xmm0
comisd xmm0, xmmword [esi]
seta al
jmp 0x100b8f77
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x3c]
mov esi, dword [eax]
mov eax, dword [esp + 0x34]
mov dword [eax], esi
cmp edx, 0x1000000
jb 0x100b8f0a
movd xmm0, edi
cvtdq2pd xmm0, xmm0
mov byte [esp + 0x140], 0x13
movsd qword [esp + 0x138], xmm0
jmp 0x100b8f27
xor eax, eax
mov byte [esp + 0x140], 3
sub ecx, 0x7f
mov dword [esp + 0x138], ecx
sbb eax, eax
mov dword [esp + 0x13c], eax
mov edi, dword [esp + 0x10]
lea eax, [esp + 0x138]
push 0x14
push esi
mov esi, dword [esp + 0x24]
mov ecx, edi
push eax
mov edx, esi
call fcn.100b2e20
add esp, 0xc
test eax, eax
je 0x100ba1b4
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
mov al, byte [eax + 8]
cmp al, 1
je 0x100b8f66
test al, 0xf
je 0x100b8f66
mov eax, 1
jmp 0x100b8f68
xor eax, eax
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
shr edx, 0xf
and edx, 1
cmp eax, edx
je 0x100b8f91
mov eax, dword [esp + 0x18]
add esi, 4
jmp 0x100b63bc
mov eax, dword [esi]
shr eax, 7
lea esi, [esi + eax*4]
mov eax, dword [ecx + 0x14]
add esi, 0xfc000008
mov dword [esp + 0x18], eax
jmp 0x100b63bc
mov esi, dword [esp + 0x1c]
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov al, byte [esi + 8]
lea edi, [ecx - 0x7f]
cmp al, 3
jne 0x100b8fee
xor eax, eax
sub ecx, 0x7f
sbb eax, eax
cmp dword [esi + 4], eax
jg 0x100b8e9f
jl 0x100b8e8d
cmp dword [esi], ecx
ja 0x100b8e9f
mov edi, dword [esp + 0x10]
mov eax, 1
mov ecx, dword [esp + 0x24]
jmp 0x100b8f77
cmp al, 0x13
jne 0x100b9010
mov ecx, dword [esp + 0x24]
xor eax, eax
movd xmm0, edi
mov edi, dword [esp + 0x10]
cvtdq2pd xmm0, xmm0
comisd xmm0, xmmword [esi]
setae al
jmp 0x100b8f77
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x3c]
mov esi, dword [eax]
mov eax, dword [esp + 0x34]
mov dword [eax], esi
cmp edx, 0x1000000
jb 0x100b904a
movd xmm0, edi
cvtdq2pd xmm0, xmm0
mov byte [esp + 0x150], 0x13
movsd qword [esp + 0x148], xmm0
jmp 0x100b9067
xor eax, eax
mov byte [esp + 0x150], 3
sub ecx, 0x7f
mov dword [esp + 0x148], ecx
sbb eax, eax
mov dword [esp + 0x14c], eax
mov edi, dword [esp + 0x10]
lea eax, [esp + 0x148]
push 0x15
push esi
mov esi, dword [esp + 0x24]
mov ecx, edi
push eax
mov edx, esi
call fcn.100b2e20
add esp, 0xc
test eax, eax
je 0x100ba103
jmp 0x100b8f4e
mov esi, dword [esp + 0x1c]
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov al, byte [esi + 8]
lea edi, [ecx - 0x7f]
cmp al, 3
jne 0x100b90d9
xor eax, eax
sub ecx, 0x7f
sbb eax, eax
cmp dword [esi + 4], eax
jl 0x100b8e9f
jg 0x100b8e8d
cmp dword [esi], ecx
jbe 0x100b8e9f
mov edi, dword [esp + 0x10]
mov eax, 1
mov ecx, dword [esp + 0x24]
jmp 0x100b8f77
cmp al, 0x13
jne 0x100b90ff
movsd xmm0, qword [esi]
xor eax, eax
mov ecx, dword [esp + 0x24]
movd xmm1, edi
mov edi, dword [esp + 0x10]
cvtdq2pd xmm1, xmm1
comisd xmm0, xmm1
seta al
jmp 0x100b8f77
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x3c]
mov esi, dword [eax]
mov eax, dword [esp + 0x34]
mov dword [eax], esi
cmp edx, 0x1000000
jb 0x100b9139
movd xmm0, edi
cvtdq2pd xmm0, xmm0
mov byte [esp + 0x160], 0x13
movsd qword [esp + 0x158], xmm0
jmp 0x100b9156
xor eax, eax
mov byte [esp + 0x160], 3
sub ecx, 0x7f
mov dword [esp + 0x158], ecx
sbb eax, eax
mov dword [esp + 0x15c], eax
mov edi, dword [esp + 0x10]
lea edx, [esp + 0x158]
push 0x14
push esi
mov esi, dword [esp + 0x24]
mov ecx, edi
push esi
call fcn.100b2e20
add esp, 0xc
test eax, eax
je 0x100ba114
jmp 0x100b8f4e
mov esi, dword [esp + 0x1c]
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov al, byte [esi + 8]
lea edi, [ecx - 0x7f]
cmp al, 3
jne 0x100b91c6
xor eax, eax
sub ecx, 0x7f
sbb eax, eax
cmp dword [esi + 4], eax
jl 0x100b8e9f
jg 0x100b8e8d
cmp dword [esi], ecx
jb 0x100b8e9f
mov edi, dword [esp + 0x10]
mov eax, 1
mov ecx, dword [esp + 0x24]
jmp 0x100b8f77
cmp al, 0x13
jne 0x100b91ec
movsd xmm0, qword [esi]
xor eax, eax
mov ecx, dword [esp + 0x24]
movd xmm1, edi
mov edi, dword [esp + 0x10]
cvtdq2pd xmm1, xmm1
comisd xmm0, xmm1
setae al
jmp 0x100b8f77
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x3c]
mov esi, dword [eax]
mov eax, dword [esp + 0x34]
mov dword [eax], esi
cmp edx, 0x1000000
jb 0x100b9226
movd xmm0, edi
cvtdq2pd xmm0, xmm0
mov byte [esp + 0x170], 0x13
movsd qword [esp + 0x168], xmm0
jmp 0x100b9243
xor eax, eax
mov byte [esp + 0x170], 3
sub ecx, 0x7f
mov dword [esp + 0x168], ecx
sbb eax, eax
mov dword [esp + 0x16c], eax
mov edi, dword [esp + 0x10]
lea edx, [esp + 0x168]
push 0x15
push esi
mov esi, dword [esp + 0x24]
mov ecx, edi
push esi
call fcn.100b2e20
add esp, 0xc
test eax, eax
je 0x100ba123
jmp 0x100b8f4e
mov eax, dword [esp + 0x1c]
mov al, byte [eax + 8]
cmp al, 1
je 0x100b8e41
test al, 0xf
je 0x100b8e41
mov eax, 1
jmp 0x100b8e43
mov eax, edx
shr eax, 0x10
movzx esi, al
shl esi, 4
add esi, dword [esp + 0x38]
mov al, byte [esi + 8]
cmp al, 1
je 0x100b92ac
test al, 0xf
je 0x100b92ac
xor eax, eax
jmp 0x100b92b1
mov eax, 1
shr edx, 0xf
and edx, 1
cmp eax, edx
jne 0x100b92cf
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
add esi, 4
mov eax, dword [esp + 0x18]
jmp 0x100b63bc
mov edx, dword [esp + 0x1c]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov al, byte [esi + 8]
mov byte [edx + 8], al
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov eax, dword [esi]
shr eax, 7
lea esi, [esi + eax*4]
mov eax, dword [esp + 0x24]
add esi, 0xfc000008
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], eax
jmp 0x100b63bc
mov eax, edx
shr edx, 0x18
shr eax, 0x10
dec edx
movzx eax, al
test eax, eax
je 0x100b9326
mov ecx, dword [esp + 0x34]
shl eax, 4
add eax, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x10]
mov ecx, edi
mov esi, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x20]
mov dword [eax + 0x10], esi
call fcn.10096dd0
mov eax, dword [esp + 0x28]
add esp, 4
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], eax
jmp 0x100b63bc
mov ecx, dword [esp + 0x1c]
cmp byte [ecx + 0x28], 3
jne 0x100b93c4
mov edi, dword [ecx + 0x14]
mov esi, dword [ecx + 0x10]
test edi, edi
jne 0x100b9370
test esi, esi
je 0x100b941f
mov eax, dword [ecx]
sub esi, 1
mov ecx, dword [ecx + 4]
mov dword [esp + 0x28], ecx
sbb edi, 0
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x10], esi
mov esi, ecx
mov ecx, dword [esp + 0x28]
add eax, dword [esi + 0x20]
mov dword [esi + 0x14], edi
adc ecx, dword [esi + 0x24]
mov edi, dword [esp + 0x10]
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x24]
mov dword [esi + 0x34], ecx
mov byte [esi + 0x38], 3
mov esi, dword [esp + 0x14]
mov eax, dword [eax + 0x14]
shr edx, 0xf
neg edx
mov dword [esp + 0x18], eax
lea esi, [esi + edx*4]
jmp 0x100b63bc
movsd xmm0, qword [ecx + 0x20]
xor eax, eax
comisd xmm0, xmmword [0x101ed248]
movsd xmm2, qword [ecx + 0x10]
movaps xmm1, xmm0
addsd xmm1, qword [ecx]
jbe 0x100b93e7
comisd xmm2, xmm1
jmp 0x100b93eb
comisd xmm1, xmm2
mov esi, dword [esp + 0x14]
setae al
test eax, eax
je 0x100b9423
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x10]
shr edx, 0xf
movsd qword [ecx], xmm1
neg edx
movsd qword [ecx + 0x30], xmm1
mov byte [ecx + 0x38], 0x13
mov eax, dword [eax + 0x14]
lea esi, [esi + edx*4]
mov dword [esp + 0x18], eax
jmp 0x100b63bc
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], eax
jmp 0x100b63bc
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
mov dword [eax + 0x10], esi
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [ecx], eax
mov ecx, edi
call fcn.100b4d90
test eax, eax
mov eax, dword [esp + 0x18]
je 0x100b63bc
mov eax, dword [esp + 0x20]
shr eax, 0xf
lea esi, [esi + eax*4]
mov eax, dword [esp + 0x18]
add esi, 4
jmp 0x100b63bc
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
lea edx, [esi + 0x30]
mov eax, dword [eax]
mov dword [ecx], eax
mov ecx, edi
call fcn.10098400
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
shr eax, 0xf
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
add ecx, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ecx
jmp 0x100b94d1
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
movups xmm0, xmmword [esi]
lea edx, [esi + 0x40]
lea eax, [esi + 0x70]
movups xmmword [edx], xmm0
movups xmm0, xmmword [esi + 0x10]
movups xmmword [edx + 0x10], xmm0
movups xmm0, xmmword [esi + 0x20]
mov esi, dword [esp + 0x34]
movups xmmword [edx + 0x20], xmm0
mov dword [esi], eax
mov eax, dword [esp + 0x24]
mov dword [eax + 0x10], ecx
mov ecx, edi
mov eax, dword [esp + 0x20]
shr eax, 0x18
push eax
call fcn.10096dd0
mov ecx, dword [esp + 0x28]
add esp, 4
mov eax, dword [ecx + 0x14]
mov dword [esp + 0x18], eax
test eax, eax
je 0x100b9537
mov eax, dword [esp + 0x20]
mov ecx, dword [ecx]
shr eax, 7
add ecx, 0x10
movzx eax, al
shl eax, 4
add eax, ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
add eax, 4
mov dword [esp + 0x14], eax
jmp 0x100b954a
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
test byte [esi + 0x48], 0xf
je 0x100b63b8
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
mov al, byte [esi + 0x48]
mov byte [esi + 0x28], al
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
shr edx, 0xf
neg edx
lea esi, [esi + edx*4]
jmp 0x100b63bc
mov eax, edx
mov esi, edx
shr eax, 0x10
movzx ecx, al
mov eax, dword [esp + 0x1c]
shr esi, 0x18
mov dword [esp + 0x50], ecx
mov edi, dword [eax]
mov dword [esp + 0x40], edi
test ecx, ecx
jne 0x100b95b4
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx]
sub ecx, eax
sar ecx, 4
dec ecx
mov dword [esp + 0x50], ecx
jmp 0x100b95c4
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x34]
mov eax, dword [eax]
mov dword [edi], eax
mov edi, dword [esp + 0x40]
add esi, ecx
test edx, 0x8000
je 0x100b95e3
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
shr eax, 7
shl eax, 8
add esi, eax
add ecx, 4
mov dword [esp + 0x14], ecx
cmp byte [edi + 5], 0
jge 0x100b9618
mov ecx, dword [edi + 8]
lea eax, [ecx - 1]
test ecx, eax
je 0x100b9618
mov eax, ecx
shr eax, 1
or ecx, eax
mov eax, ecx
shr eax, 2
or ecx, eax
mov eax, ecx
shr eax, 4
or ecx, eax
mov eax, ecx
shr eax, 8
or ecx, eax
mov eax, ecx
shr eax, 0x10
or eax, ecx
inc eax
jmp 0x100b961b
mov eax, dword [edi + 8]
cmp esi, eax
jbe 0x100b9643
cmp dword [edi + 0x14], 0
jne 0x100b9629
xor eax, eax
jmp 0x100b9633
mov cl, byte [edi + 7]
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x10]
mov edx, edi
push eax
push esi
call fcn.100b0a30
add esp, 8
mov eax, dword [esp + 0x50]
test eax, eax
jle case.default.0x100b6412
shl esi, 4
mov dword [esp + 0x20], esi
mov esi, eax
shl esi, 4
add esi, dword [esp + 0x1c]
nop
mov edx, dword [edi + 0xc]
mov edi, dword [esp + 0x20]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [edi + edx - 0x10], eax
mov eax, edi
mov dword [eax + edx - 0xc], ecx
mov ecx, edi
mov al, byte [esi + 8]
mov edi, dword [esp + 0x40]
mov byte [ecx + edx - 8], al
sub ecx, 0x10
test byte [esi + 8], 0x40
mov dword [esp + 0x20], ecx
je 0x100b96c8
mov cl, byte [edi + 5]
test cl, 0x20
je 0x100b96c8
mov eax, dword [esi]
test byte [eax + 5], 0x18
je 0x100b96c8
mov eax, dword [esp + 0x10]
and cl, 7
mov edx, dword [eax + 0x10]
cmp cl, 6
je 0x100b96be
mov ecx, edi
call fcn.10098770
mov ecx, dword [edx + 0x68]
mov dword [eax], ecx
mov dword [edx + 0x68], edi
mov al, byte [edi + 5]
and al, 0xdd
or al, 5
mov byte [edi + 5], al
mov eax, dword [esp + 0x50]
sub esi, 0x10
dec eax
mov dword [esp + 0x50], eax
test eax, eax
jg 0x100b9660
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
jmp 0x100b63bc
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x24]
shr edx, 0xf
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + edx*4]
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [esi + 0xc]
mov edx, eax
mov ecx, dword [esp + 0x10]
mov edi, dword [esi + 0x3c]
mov dword [esp + 0x20], eax
call fcn.10098210
cmp dword [esp + 0x20], 0
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
mov dword [eax + 0xc], esi
mov dword [esp + 0x50], 0
mov dword [ecx], eax
mov byte [ecx + 8], 0x46
jle 0x100b980d
lea eax, [edi + 5]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x40], eax
cmp byte [eax - 1], 0
movzx ecx, byte [eax]
je 0x100b9795
mov edx, dword [esp + 0x10]
add edx, 0x24
shl ecx, 4
add ecx, dword [esp + 0x38]
mov esi, dword [edx]
test esi, esi
je 0x100b9781
cmp dword [esi + 8], ecx
jb 0x100b9781
je 0x100b979d
lea edx, [esi + 0x10]
mov esi, dword [edx]
test esi, esi
jne 0x100b9771
push edx
push ecx
mov ecx, dword [esp + 0x18]
xor edx, edx
call fcn.10098270
add esp, 8
mov esi, eax
jmp 0x100b979d
mov eax, dword [esp + 0x5c]
mov esi, dword [eax + ecx*4 + 0x10]
mov eax, dword [esp + 0x50]
mov dword [edi + eax*4 + 0x10], esi
mov cl, byte [edi + 5]
test cl, 0x20
je 0x100b97eb
test byte [esi + 5], 0x18
je 0x100b97eb
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x4d], 2
ja 0x100b97de
mov edx, esi
mov ecx, eax
call fcn.10098860
mov al, byte [edi + 5]
and al, 7
cmp al, 1
jbe 0x100b97eb
mov al, byte [esi + 5]
and al, 0xfa
or al, 2
mov byte [esi + 5], al
jmp 0x100b97eb
mov al, byte [eax + 0x4c]
and cl, 0xc0
and al, 0x18
or al, cl
mov byte [edi + 5], al
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x40]
inc esi
add eax, 8
mov dword [esp + 0x50], esi
mov dword [esp + 0x40], eax
cmp esi, dword [esp + 0x20]
jl 0x100b9754
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov eax, dword [edi + 0x10]
cmp dword [eax + 0xc], 0
mov eax, dword [esp + 0x18]
jle 0x100b63bc
lea eax, [ecx + 0x10]
mov ecx, dword [esp + 0x34]
mov dword [ecx], eax
mov ecx, edi
call fcn.1009b960
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], eax
jmp 0x100b63b8
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
shr edx, 0x18
sub edx, 1
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x20], edx
mov esi, dword [eax]
mov eax, dword [esp + 0x34]
mov dword [eax], esi
mov ecx, dword [ecx + 0x18]
mov dword [esp + 0x50], ecx
jns 0x100b9926
mov edi, dword [esp + 0x10]
mov edx, ecx
mov dword [esp + 0x20], edx
mov eax, dword [edi + 0x1c]
sub eax, esi
sar eax, 4
cmp eax, ecx
jg 0x100b9913
mov eax, dword [edi + 0x10]
mov esi, dword [esp + 0x1c]
sub esi, dword [edi + 0x20]
cmp dword [eax + 0xc], 0
jle 0x100b98a9
mov ecx, edi
call fcn.1009b960
mov ecx, dword [esp + 0x50]
mov eax, dword [edi + 0x64]
lea edx, [eax + eax]
cmp eax, 0xf4240
jg 0x100ba1ea
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
sub eax, dword [edi + 0x20]
sar eax, 4
add eax, 5
add eax, ecx
cmp edx, 0xf4240
mov ecx, 0xf4240
cmovg edx, ecx
cmp edx, eax
jge 0x100b98e7
mov edx, eax
cmp edx, ecx
jg 0x100ba1c5
push 1
mov ecx, edi
call fcn.10096780
mov edi, dword [edi + 0x20]
add esp, 4
mov ecx, dword [esp + 0x50]
add edi, esi
mov esi, dword [esp + 0x34]
mov eax, ecx
mov edx, dword [esp + 0x20]
shl eax, 4
add eax, edi
mov dword [esp + 0x1c], edi
mov dword [esi], eax
jmp 0x100b992a
mov esi, dword [esp + 0x34]
mov eax, ecx
mov edi, dword [esp + 0x1c]
shl eax, 4
add eax, edi
mov dword [esi], eax
jmp 0x100b992a
mov edi, dword [esp + 0x1c]
xor esi, esi
test edx, edx
jle 0x100b86bf
mov eax, ecx
neg eax
shl eax, 4
mov dword [esp + 0x40], eax
nop
cmp esi, ecx
jge 0x100b998c
mov ecx, dword [esp + 0x24]
inc esi
mov edx, dword [ecx]
mov ecx, dword [edx + eax + 4]
add edx, eax
mov eax, dword [edx]
mov dword [edi], eax
mov dword [edi + 4], ecx
mov al, byte [edx + 8]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x50]
mov byte [edi + 8], al
add edi, 0x10
mov eax, dword [esp + 0x40]
add eax, 0x10
mov dword [esp + 0x40], eax
cmp esi, edx
jl 0x100b9940
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], eax
jmp 0x100b63b8
cmp esi, edx
jge 0x100b86bf
mov ecx, dword [esp + 0x1c]
mov eax, esi
shl eax, 4
add ecx, 8
add eax, ecx
sub edx, esi
mov byte [eax], 0
lea eax, [eax + 0x10]
sub edx, 1
jne 0x100b99a4
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], eax
jmp 0x100b63b8
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x24]
mov ecx, dword [eax + 0xc]
mov eax, dword [edx]
sub eax, dword [esi]
sar eax, 4
dec eax
mov dword [esp + 0x50], eax
sub eax, edi
mov dword [esi + 0x18], eax
movzx eax, byte [ecx + 8]
mov ecx, dword [esp + 0x10]
mov esi, dword [edx]
mov dword [esp + 0x28], eax
inc eax
mov ecx, dword [ecx + 0x1c]
sub ecx, esi
sar ecx, 4
cmp ecx, eax
jg 0x100b9a5a
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x64]
lea edx, [eax + eax]
cmp eax, 0xf4240
jg 0x100ba1f2
sub esi, dword [ecx + 0x20]
mov eax, dword [esp + 0x28]
sar esi, 4
add eax, 6
add eax, esi
cmp edx, 0xf4240
mov esi, 0xf4240
cmovg edx, esi
cmp edx, eax
jge 0x100b9a3e
mov edx, eax
cmp edx, esi
jg 0x100ba1cd
push 1
call fcn.10096780
mov ecx, dword [esp + 0x14]
add esp, 4
mov eax, dword [ecx + 0x10]
cmp dword [eax + 0xc], 0
jle 0x100b9a5a
call fcn.1009b960
mov ecx, dword [esp + 0x34]
mov esi, dword [ecx]
lea eax, [esi + 0x10]
mov dword [ecx], eax
mov eax, dword [esp + 0x24]
mov edx, dword [eax]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esi], eax
mov dword [esi + 4], ecx
mov al, byte [edx + 8]
mov edx, dword [esp + 0x24]
mov byte [esi + 8], al
cmp edi, 1
jb 0x100b9ac6
mov edi, 0x10
nop dword [eax]
sub dword [esp + 0x40], 1
lea edi, [edi + 0x10]
mov ecx, dword [esp + 0x34]
mov esi, dword [ecx]
lea eax, [esi + 0x10]
mov dword [ecx], eax
mov edx, dword [edx]
mov eax, dword [edx + edi - 0x10]
mov ecx, dword [edx + edi - 0xc]
mov dword [esi], eax
mov dword [esi + 4], ecx
mov al, byte [edx + edi - 8]
mov edx, dword [esp + 0x24]
mov byte [esi + 8], al
mov eax, dword [edx]
mov byte [eax + edi - 8], 0
jne 0x100b9a90
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x10]
shl ecx, 4
lea eax, [ecx + 0x10]
add dword [edx], eax
lea eax, [ecx + 0x10]
mov ecx, dword [esp + 0x24]
add dword [esi], eax
mov eax, dword [ecx + 0x14]
mov dword [esp + 0x18], eax
test eax, eax
je 0x100b9b56
mov eax, dword [esp + 0xdc]
movzx edx, word [eax]
mov eax, dword [edi + 0x70]
shr edx, 2
and edx, 4
test al, 1
je 0x100b9b3a
mov eax, dword [ecx]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi]
mov esi, dword [esp + 0x80]
mov dword [esi], eax
mov eax, dword [esp + 0x24]
add dword [eax + 0x10], 4
movzx eax, byte [ecx + 6]
mov ecx, edi
push eax
push 1
push 0xffffffffffffffff
call fcn.100969c0
mov ecx, dword [esp + 0x30]
add esp, 0xc
add dword [ecx + 0x10], 0xfffffffc
mov esi, dword [esp + 0x14]
lea eax, [esi + 4]
mov dword [edi + 0x18], eax
mov ecx, dword [ecx]
mov eax, dword [esp + 0x18]
add ecx, 0x10
mov dword [esp + 0x38], ecx
jmp 0x100b63bc
mov ecx, dword [ecx]
mov esi, dword [esp + 0x14]
add ecx, 0x10
mov dword [esp + 0x38], ecx
jmp 0x100b63bc
mov eax, edx
shr eax, 0x10
movzx edi, al
mov eax, edx
shr eax, 0x18
mov dword [esp + 0x5c], edi
test eax, eax
je 0x100b9b88
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + 0x18]
add ecx, eax
jmp 0x100b9b8a
xor ecx, ecx
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x34], ecx
test edi, edi
je 0x100b9baa
mov eax, edi
shl eax, 4
add eax, dword [esp + 0x1c]
mov dword [ecx], eax
jmp 0x100b9bb7
mov edi, dword [ecx]
sub edi, dword [esp + 0x1c]
sar edi, 4
mov dword [esp + 0x5c], edi
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x10], eax
test edx, 0x8000
je 0x100b9bdc
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
push 0xffffffffffffffff
call fcn.10098480
add esp, 4
mov ecx, dword [esp + 0x1c]
mov al, byte [ecx + 8]
and al, 0xf
cmp al, 6
je 0x100b9ca6
nop dword [eax]
mov edx, ecx
mov ecx, dword [esp + 0x10]
call fcn.10096b10
mov ecx, dword [esp + 0x10]
inc edi
mov edx, dword [esp + 0x80]
mov dword [esp + 0x5c], edi
mov eax, dword [ecx + 0x1c]
sub eax, dword [edx]
and eax, 0xfffffff0
cmp eax, 0x10
jg 0x100b9c91
mov eax, dword [ecx + 0x10]
mov esi, dword [esp + 0x1c]
sub esi, dword [ecx + 0x20]
cmp dword [eax + 0xc], 0
jle 0x100b9c35
call fcn.1009b960
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x64]
lea edx, [eax + eax]
cmp eax, 0xf4240
jg 0x100ba1f2
mov eax, dword [esp + 0x80]
mov eax, dword [eax]
sub eax, dword [ecx + 0x20]
sar eax, 4
add eax, 6
cmp edx, 0xf4240
cmovg edx, dword [esp + 0x104]
cmp edx, eax
jge 0x100b9c78
mov edx, eax
cmp edx, 0xf4240
jg 0x100ba1cd
push 1
call fcn.10096780
mov eax, dword [esp + 0x14]
add esp, 4
mov ecx, dword [eax + 0x20]
add ecx, esi
mov dword [esp + 0x1c], ecx
jmp 0x100b9c95
mov ecx, dword [esp + 0x1c]
mov al, byte [ecx + 8]
and al, 0xf
cmp al, 6
jne 0x100b9bf0
mov esi, dword [esp + 0x28]
cmp byte [ecx + 8], 0x46
jne 0x100b9e88
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x24]
neg eax
shl eax, 4
add dword [edx], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x4c], eax
movzx edx, byte [eax + 8]
movzx esi, byte [eax + 6]
mov dword [esp + 0x50], edx
mov dword [esp + 0x40], esi
test edi, edi
jle 0x100b9d18
xor esi, esi
mov dword [esp + 0x28], edi
mov eax, dword [esp + 0x24]
lea esi, [esi + 0x10]
mov edx, dword [eax]
mov eax, dword [esi + ecx - 0x10]
mov ecx, dword [esi + ecx - 0xc]
mov dword [edx + esi - 0xc], ecx
mov ecx, dword [esp + 0x1c]
mov dword [edx + esi - 0x10], eax
mov al, byte [ecx + esi - 8]
mov byte [edx + esi - 8], al
sub edi, 1
jne 0x100b9ce2
mov edi, dword [esp + 0x5c]
mov esi, dword [esp + 0x40]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x80]
mov ecx, dword [eax]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1c]
sub eax, ecx
sar eax, 4
cmp eax, edx
jg 0x100b9d99
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x64]
lea edx, [eax + eax]
cmp eax, 0xf4240
jg 0x100ba1ee
mov eax, dword [esp + 0x10]
sub ecx, dword [eax + 0x20]
mov eax, dword [esp + 0x50]
sar ecx, 4
add eax, 5
add eax, ecx
cmp edx, 0xf4240
mov ecx, 0xf4240
cmovg edx, ecx
cmp edx, eax
jge 0x100b9d75
mov edx, eax
cmp edx, ecx
jg 0x100ba1c9
mov ecx, dword [esp + 0x10]
push 1
call fcn.10096780
mov ecx, dword [esp + 0x14]
add esp, 4
mov eax, dword [ecx + 0x10]
cmp dword [eax + 0xc], 0
jle 0x100b9d95
call fcn.1009b960
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
cmp edi, esi
jg 0x100b9dbd
mov eax, edi
sub esi, edi
shl eax, 4
inc esi
add eax, 8
add eax, ecx
add edi, esi
mov byte [eax], 0
lea eax, [eax + 0x10]
sub esi, 1
jne 0x100b9db2
mov esi, dword [esp + 0x3c]
lea eax, [edx + 1]
mov edx, dword [esp + 0x24]
shl eax, 4
add eax, ecx
shl edi, 4
mov dword [esi], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x3c], esi
mov eax, dword [eax + 0x34]
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0x100]
mov dword [esp + 0xdc], eax
or word [eax], 0x10
add edi, ecx
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x34]
mov dword [edx], edi
mov edi, dword [esp + 0x10]
jmp 0x100b62e6
mov eax, dword [esp + 0x20]
add eax, 0xfffffff3
cmp eax, 6
ja case.0x100b9e25.18
movzx eax, byte [eax + 0x100ba34c]
jmp dword [eax*4 + 0x100ba344]
mov al, byte [edi + 8]
and al, 0xf
cmp al, 3
jne 0x100ba13e
mov al, byte [esi + 8]
and al, 0xf
cmp al, 3
jne 0x100ba13e
jmp 0x100ba132
add esi, 0xfffffff3
cmp esi, 6
ja case.0x100b9e5e.18
movzx eax, byte [esi + 0x100ba35c]
jmp dword [eax*4 + 0x100ba354]
mov al, byte [esp + 0x130]
and al, 0xf
cmp al, 3
jne 0x100ba171
mov al, byte [edi + 8]
and al, 0xf
cmp al, 3
jne 0x100ba171
jmp 0x100ba160
mov edi, dword [esp + 0x10]
mov edx, ecx
push 0xffffffffffffffff
mov ecx, edi
call fcn.10096dd0
mov ecx, dword [esp + 0x28]
add esp, 4
mov eax, dword [ecx + 0x14]
test eax, eax
je 0x100b9eb0
mov eax, dword [ecx]
add eax, 0x10
add eax, esi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x100]
neg eax
shl eax, 4
add dword [ecx], eax
mov eax, dword [edx]
mov edx, ecx
sub eax, dword [esp + 0x1c]
mov ecx, edi
sar eax, 4
push eax
call fcn.10096bc0
add esp, 4
pop edi
pop esi
mov ecx, dword [esp + 0x1a4]
xor ecx, esp
call fcn.1016fd3e
mov esp, ebp
pop ebp
ret
mov eax, edx
mov edi, edx
shr eax, 0x10
movzx esi, al
shr edi, 0x18
sub esi, 1
jns 0x100b9f0e
mov eax, dword [esp + 0x100]
mov esi, dword [eax]
sub esi, dword [esp + 0x1c]
sar esi, 4
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x10], eax
test edx, 0x8000
je 0x100b9f59
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
mov eax, dword [eax]
cmp dword [ecx], eax
jae 0x100b9f31
mov dword [ecx], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
push 0
call fcn.10098480
mov edx, dword [esp + 0x28]
add esp, 4
mov eax, dword [edx + 0x14]
test eax, eax
je 0x100b9f5d
mov ecx, dword [esp + 0x28]
add ecx, 0x10
add ecx, dword [edx]
jmp 0x100b9f61
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
test edi, edi
je 0x100b9f71
mov eax, dword [edx + 0x18]
add eax, edi
neg eax
shl eax, 4
add dword [edx], eax
mov eax, esi
shl eax, 4
add eax, ecx
mov ecx, dword [esp + 0x34]
push esi
mov dword [ecx], eax
mov ecx, dword [esp + 0x14]
call fcn.10096bc0
add esp, 4
pop edi
pop esi
mov ecx, dword [esp + 0x1a4]
xor ecx, esp
call fcn.1016fd3e
mov esp, ebp
pop ebp
ret
mov esi, dword [esp + 0x10]
cmp dword [esi + 0x70], 0
je 0x100b9fe0
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x1c]
push 0
mov dword [ecx], eax
mov ecx, dword [esp + 0x28]
mov edx, ecx
mov eax, dword [esp + 0x18]
mov dword [ecx + 0x10], eax
mov ecx, esi
call fcn.10096bc0
add esp, 4
pop edi
pop esi
mov ecx, dword [esp + 0x1a4]
xor ecx, esp
call fcn.1016fd3e
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x38]
add edx, 0xfffffff0
movzx ecx, word [eax + 0x20]
mov eax, dword [eax + 8]
mov dword [esi + 0x14], eax
mov esi, dword [esp + 0x34]
movsx eax, cx
mov dword [esi], edx
test eax, eax
jle 0x100ba0ce
mov byte [edx + 8], 0
dec eax
add dword [esi], 0x10
mov edx, dword [esi]
test eax, eax
jg 0x100ba006
pop edi
pop esi
mov ecx, dword [esp + 0x1a4]
xor ecx, esp
call fcn.1016fd3e
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x70], 0
je 0x100ba068
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x1c]
add eax, 0x10
push 1
mov dword [edx], eax
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
mov dword [edx + 0x10], eax
call fcn.10096bc0
add esp, 4
pop edi
pop esi
mov ecx, dword [esp + 0x1a4]
xor ecx, esp
call fcn.1016fd3e
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x24]
movsx edx, word [eax + 0x20]
mov eax, dword [eax + 8]
mov dword [ecx + 0x14], eax
test edx, edx
jne 0x100ba09b
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
mov dword [ecx], eax
pop edi
pop esi
mov ecx, dword [esp + 0x1a4]
xor ecx, esp
call fcn.1016fd3e
mov esp, ebp
pop ebp
ret
mov esi, dword [esp + 0x1c]
dec edx
mov edi, dword [esp + 0x38]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [edi - 0x10], eax
mov dword [edi - 0xc], ecx
mov al, byte [esi + 8]
mov byte [edi - 8], al
mov eax, dword [esp + 0x34]
mov dword [eax], edi
test edx, edx
jle 0x100ba0ce
nop
mov byte [edi + 8], 0
dec edx
add dword [eax], 0x10
mov edi, dword [eax]
test edx, edx
jg 0x100ba0c0
mov ecx, dword [esp + 0x1ac]
pop edi
pop esi
xor ecx, esp
call fcn.1016fd3e
mov esp, ebp
pop ebp
ret
push str.perform_arithmetic_on
push esi
mov edx, esi
mov ecx, edi
call fcn.100961d0
push esi
call fcn.100961f0
mov ecx, dword [esp + 0x10]
mov edx, edi
push esi
call fcn.10096240
lea eax, [esp + 0x148]
mov edx, esi
push eax
mov ecx, edi
call fcn.10096240
push esi
lea edx, [esp + 0x15c]
mov ecx, edi
call fcn.10096240
push esi
lea edx, [esp + 0x16c]
mov ecx, edi
call fcn.10096240
mov ecx, dword [esp + 0x10]
mov edx, edi
push esi
call fcn.100961f0
mov ecx, dword [esp + 0x10]
mov edx, edi
push str.perform_bitwise_operation_on
push esi
call fcn.100961d0
mov ecx, dword [esp + 0x10]
mov edx, edi
push str.perform_arithmetic_on
push esi
call fcn.100961d0
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x128]
push edi
call fcn.100961f0
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x128]
push str.perform_bitwise_operation_on
push edi
call fcn.100961d0
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x128]
push str.perform_arithmetic_on
push edi
call fcn.100961d0
push str.perform_bitwise_operation_on
push esi
call fcn.100961d0
mov ecx, dword [esp + 0x10]
mov edx, edi
push esi
call fcn.10096240
lea eax, [esp + 0x138]
mov edx, esi
push eax
mov ecx, edi
call fcn.10096240
mov ecx, edi
jmp 0x100ba1cd
mov ecx, dword [esp + 0x10]
push 1
mov edx, 0xf4308
call fcn.10096780
add esp, 4
push str.stack_overflow
push dword [esp + 0x14]
call fcn.10096390
mov ecx, edi
jmp 0x100ba1f2
mov ecx, dword [esp + 0x10]
mov edx, 5
call fcn.10096620
sbb dword [ebx + ecx + 0x10], esp
dec ebx
or edx, dword fs:[eax]
push 0x64
or edx, dword [eax]
mov word [ebx + ecx + 0x10], fs
cwde
or edx, dword fs:[eax]
mov ah, 0x64
or edx, dword [eax]
int 0x64
or edx, dword [eax]
jmp 0x121bad81