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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24c
mov eax, dword [0x1029912c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1d4], edi
mov byte [ebp - 0x215], 0
mov dword [ebp - 0x22c], 0
mov eax, dword [edi]
mov ebx, dword [edi + 0x68]
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x1e0], ebx
mov al, byte [eax + 0x4e]
mov byte [ebp - 0x208], al
mov eax, dword [edi + 0x58]
mov dword [ebp - 0x1cc], ebx
mov dword [ebp - 0x1d8], 0
mov dword [ebp - 0x1e4], eax
call fcn.10101bc0
cmp dword [edi + 0x28], 7
mov ecx, dword [ebp - 0x1d0]
je 0x1010ad5f
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0
mov dword [edi + 0x78], 0
cmp dword [ecx + 0x108], 0
mov dword [ecx + 0x194], 0
jne 0x1010f150
cmp dword [ecx + 0x140], 0
je 0x10108a30
mov esi, dword [ecx + 0x148]
xor edx, edx
mov eax, dword [edi + 0xb4]
div esi
sub esi, edx
mov dword [ebp - 0x230], esi
jmp 0x10108a3a
mov dword [ebp - 0x230], 0xffffffff
mov eax, dword [edi + 0x24]
xorps xmm0, xmm0
movsd qword [ebp - 0x248], xmm0
lea eax, [eax + eax*4]
lea esi, [ebx + eax*4]
xor eax, eax
mov dl, byte [esi]
inc eax
movzx ebx, dl
mov dword [ebp - 0x1cc], esi
mov dword [ebp - 0x1d8], eax
mov byte [ebp - 0x1e9], dl
cmp ebx, 0xa8
ja case.0x10108a74.86
jmp dword [ebx*4 + 0x1010f1cc]
mov edx, dword [ebp - 0x1cc]
mov ecx, edx
mov ebx, dword [ebp - 0x1e4]
sub ecx, dword [ebp - 0x1e0]
mov eax, dword [edx + 4]
lea esi, [eax + eax*4]
mov eax, 4
mov word [ebx + esi*8 + 8], ax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8], eax
mov dword [ebx + esi*8 + 4], edx
jmp 0x1010da32
mov edx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e0]
mov eax, dword [edx + 4]
mov edx, dword [ebp - 0x1e4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*4]
mov eax, 0x80
mov word [edx + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov esi, dword [ebp - 0x1cc]
mov eax, dword [edx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
dec eax
cdq
mov dword [ebx + ecx*8], eax
mov eax, 4
mov dword [ebx + ecx*8 + 4], edx
mov word [ebx + ecx*8 + 8], ax
cmp dword [esi + 8], 0
jne 0x1010e4e2
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov eax, dword [edx + 4]
mov edx, dword [ebp - 0x1e0]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + ecx*8]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea esi, [edx + eax*4]
mov eax, 0x80
mov word [ebx + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov eax, dword [edx + 4]
sub edx, dword [ebp - 0x1e0]
lea esi, [eax + eax*4]
mov eax, 4
mov ecx, dword [ebx + esi*8]
mov word [ebx + esi*8 + 8], ax
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8], eax
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x1e0]
mov dword [ebx + esi*8 + 4], edx
lea esi, [ecx + eax*4]
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 1
je 0x10108b3a
mov ecx, esi
mov eax, 0x66666667
sub ecx, dword [ebp - 0x1e0]
imul ecx
sar edx, 3
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, dword [ebp - 0x1cc]
mov ecx, dword [edx + 4]
test ecx, ecx
jne 0x1010ec11
mov edx, dword [edi + 0xc8]
test edx, edx
je 0x1010ec0b
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x1d0]
dec dword [edi + 0xd0]
mov dword [edi + 0xc8], eax
mov eax, dword [edi + 0x2c]
add dword [ecx + 0x68], eax
mov dword [ecx + 0x64], eax
mov ecx, edx
call fcn.10102670
mov ebx, dword [edi + 0x68]
mov ecx, eax
mov eax, dword [ebp - 0x1cc]
mov dword [ebp - 0x1e0], ebx
cmp dword [eax + 8], 4
jne 0x10108c82
lea eax, [ecx + ecx*4]
mov ecx, dword [ebx + eax*4 + 8]
dec ecx
mov eax, dword [edi + 0x58]
mov dword [ebp - 0x1e4], eax
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x1d0]
lea esi, [ebx + eax*4]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x10108cf2
call fcn.10108910
mov esi, dword [ebp - 0x1cc]
mov ecx, eax
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax + 4]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x1d8]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x1d0]
add esi, 0x14
jmp 0x10108a50
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x2400
test word [edx + 8], ax
je 0x10108d4c
mov ecx, edx
call fcn.10108910
mov edx, eax
jmp 0x10108d55
mov eax, 4
mov word [edx + 8], ax
mov eax, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x1d0]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x10108da6
call fcn.10108910
mov ecx, eax
mov esi, dword [ebp - 0x1cc]
mov eax, 8
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax + 0x10]
movsd xmm0, qword [eax]
mov eax, dword [ebp - 0x1d8]
movsd qword [ecx], xmm0
mov ecx, dword [ebp - 0x1d0]
add esi, 0x14
jmp 0x10108a50
mov ebx, dword [ebp - 0x1cc]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x2400
test word [esi + 8], ax
je 0x10108e02
mov ecx, esi
call fcn.10108910
mov esi, eax
jmp 0x10108e0b
mov eax, 4
mov word [esi + 8], ax
mov edx, dword [ebx + 0x10]
mov byte [ebx], 0x48
test edx, edx
jne 0x10108e19
xor ecx, ecx
jmp 0x10108e35
mov ecx, edx
lea edi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10108e20
sub ecx, edi
mov edi, dword [ebp - 0x1d4]
and ecx, 0x3fffffff
mov dword [ebx + 4], ecx
mov bl, byte [ebp - 0x208]
cmp bl, 1
je 0x10108ebf
push 0
push 1
push 0xffffffffffffffff
mov ecx, esi
call fcn.100ffbb0
add esp, 0xc
mov dword [ebp - 0x1dc], eax
test byte [esi + 8], 2
je 0x10108e75
cmp byte [esi + 0xa], bl
je 0x10108e75
mov dl, bl
mov ecx, esi
call fcn.100e2a50
test eax, eax
jne 0x1010f189
mov ecx, dword [ebp - 0x1cc]
mov eax, 0x800
or word [esi + 8], ax
mov dword [esi + 0x18], 0
cmp byte [ecx + 1], 0xf9
jne 0x10108ea9
mov edx, dword [ecx + 0x10]
test edx, edx
je 0x10108ea9
mov ecx, dword [ebp - 0x1d0]
call fcn.100dfdf0
mov ecx, dword [ebp - 0x1cc]
mov byte [ecx + 1], 0xf9
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [esi + 0xc]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x1d0]
cmp ecx, dword [eax + 0x6c]
jg 0x1010eed7
mov ebx, dword [ebp - 0x1cc]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x10108ef2
call fcn.10108910
mov ecx, eax
mov eax, 0xa02
mov word [ecx + 8], ax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [ebx + 4]
mov dword [ecx + 0xc], eax
mov al, byte [ebp - 0x208]
mov byte [ecx + 0xa], al
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax + 0xc]
test eax, eax
jle 0x10108d0a
mov ebx, dword [ebp - 0x1e4]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0x1cc]
movzx eax, word [eax + 2]
cdq
cmp dword [ebx + esi*8], eax
jne 0x10108d0a
cmp dword [ebx + esi*8 + 4], edx
mov esi, dword [ebp - 0x1cc]
jne 0x10108b34
mov eax, 0xa10
mov word [ecx + 8], ax
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov ebx, dword [ebp - 0x1cc]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x2400
test word [edx + 8], ax
je 0x10108f93
mov ecx, edx
call fcn.10108910
mov edx, eax
jmp 0x10108f9c
mov eax, 4
mov word [edx + 8], ax
cmp dword [ebx + 4], 0
lea esi, [edx + 8]
mov edi, dword [ebx + 0xc]
mov eax, 1
mov ecx, dword [ebx + 8]
mov ebx, 0x101
cmovne eax, ebx
mov dword [edx + 0xc], 0
sub edi, ecx
movzx ebx, ax
mov word [esi], bx
test edi, edi
jle 0x10108ff5
mov eax, 0x2400
nop
test word [esi + 0x28], ax
lea esi, [esi + 0x28]
je 0x10108fe6
lea ecx, [esi - 8]
call fcn.100ff3e0
mov eax, 0x2400
dec edi
mov word [esi], bx
mov dword [esi + 4], 0
test edi, edi
jg 0x10108fd0
mov esi, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov eax, dword [esi + 4]
mov edx, 0xff61
mov ebx, dword [ebp - 0x1e4]
lea ecx, [eax + eax*4]
mov ax, word [ebx + ecx*8 + 8]
and ax, dx
or ax, 1
mov word [ebx + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x2400
test word [esi + 8], ax
je 0x10109073
mov ecx, esi
call fcn.10108910
mov esi, eax
jmp 0x1010907c
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0x1cc]
mov ecx, esi
push 0
push 0
push dword [eax + 4]
mov edx, dword [eax + 0x10]
call fcn.100ffbb0
mov al, byte [ebp - 0x208]
add esp, 0xc
mov ecx, dword [ebp - 0x1d0]
mov byte [esi + 0xa], al
mov esi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x64]
lea esi, [eax + ecx*8]
lea ecx, [esi - 0x28]
call fcn.100ffa90
test eax, eax
jne 0x1010eed7
mov eax, dword [ebp - 0x1cc]
lea edx, [esi - 0x28]
mov ecx, dword [ebp - 0x1e4]
push 0x800
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.100ffaf0
mov esi, dword [ebp - 0x1cc]
add esp, 4
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [edx + 4]
mov ebx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
nop dword [eax + eax]
mov eax, 0x2400
test word [esi + 8], ax
jne 0x10109151
cmp dword [esi + 0x18], 0
je 0x10109158
mov ecx, esi
call fcn.100ff420
movups xmm0, xmmword [edi]
mov eax, 1
movups xmmword [esi], xmm0
movups xmm0, xmmword [edi + 0x10]
movups xmmword [esi + 0x10], xmm0
movq xmm0, qword [edi + 0x20]
movq qword [esi + 0x20], xmm0
mov word [edi + 8], ax
mov eax, 0x1000
mov dword [edi + 0x18], 0
test word [esi + 8], ax
je 0x1010919a
mov ecx, esi
call fcn.100ff0f0
test eax, eax
jne 0x1010ad4d
add edi, 0x28
add esi, 0x28
sub ebx, 1
jne 0x10109140
mov esi, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [edx + 4]
mov ebx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push 0x1000
mov edx, edi
mov ecx, esi
call fcn.100ffaf0
mov eax, 0x1000
add esp, 4
test word [esi + 8], ax
je 0x10109211
mov ecx, esi
call fcn.100ff0f0
test eax, eax
jne 0x1010ad4d
mov eax, ebx
dec ebx
test eax, eax
je 0x10108ff5
add esi, 0x28
add edi, 0x28
jmp 0x101091e6
mov edx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
push 0x1000
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.100ffaf0
mov esi, dword [ebp - 0x1cc]
add esp, 4
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
mov edx, dword [ebx + eax*8]
mov eax, dword [ebx + eax*8 + 4]
mov ebx, 0x2400
test word [ecx + 8], bx
je 0x101092c0
push eax
push edx
call fcn.100ff960
mov esi, dword [ebp - 0x1cc]
add esp, 8
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov esi, dword [ebp - 0x1cc]
mov dword [ecx + 4], eax
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x1d8]
mov dword [ecx], edx
mov ecx, dword [ebp - 0x1d0]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, edx
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx ecx, word [ebx + 8]
mov al, byte [edi + 8]
or al, cl
test al, 1
je 0x10109379
mov eax, 0x2400
test word [esi + 8], ax
je 0x10109350
mov ecx, esi
call fcn.100ff3e0
mov esi, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edi, dword [ebp - 0x1d4]
mov eax, 1
mov ecx, dword [ebp - 0x1d0]
mov word [esi + 8], ax
mov esi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
test ecx, 0x4000
je 0x10109390
mov ecx, ebx
call fcn.100ff140
test eax, eax
jne 0x1010ad4d
mov eax, 0x4000
test word [edi + 8], ax
je 0x101093aa
mov ecx, edi
call fcn.100ff140
test eax, eax
jne 0x1010ad4d
test byte [ebx + 8], 0x12
jne 0x101093ca
mov dl, byte [ebp - 0x208]
mov ecx, ebx
push 0
call fcn.100ff190
add esp, 4
test eax, eax
jne 0x1010ad4d
test byte [edi + 8], 0x12
jne 0x101093ea
mov dl, byte [ebp - 0x208]
mov ecx, edi
push 0
call fcn.100ff190
add esp, 4
test eax, eax
jne 0x1010ad4d
mov eax, dword [ebp - 0x1d0]
mov ecx, dword [ebx + 0xc]
add ecx, dword [edi + 0xc]
mov dword [ebp - 0x1fc], ecx
cmp ecx, dword [eax + 0x6c]
jg 0x1010eed1
xor eax, eax
lea edx, [ecx + 2]
cmp esi, edi
mov ecx, esi
sete al
push eax
call fcn.100fef50
add esp, 4
test eax, eax
jne 0x1010ad4d
mov ax, word [esi + 8]
mov ecx, 0x3e00
and ax, cx
or ax, 2
mov word [esi + 8], ax
cmp esi, edi
je 0x1010944b
push dword [edi + 0xc]
push dword [edi + 0x10]
push dword [esi + 0x10]
call fcn.101ec960
add esp, 0xc
push dword [ebx + 0xc]
mov eax, dword [esi + 0x10]
push dword [ebx + 0x10]
add eax, dword [edi + 0xc]
push eax
call fcn.101ec960
mov eax, dword [esi + 0x10]
add esp, 0xc
mov ecx, dword [ebp - 0x1fc]
mov edi, dword [ebp - 0x1d4]
mov byte [ecx + eax], 0
mov eax, dword [esi + 0x10]
mov byte [ecx + eax + 1], 0
mov eax, 0x200
or word [esi + 8], ax
mov al, byte [ebp - 0x208]
mov dword [esi + 0xc], ecx
mov ecx, dword [ebp - 0x1d0]
mov byte [esi + 0xa], al
mov esi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov ebx, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1e4]
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov ecx, eax
mov dword [ebp - 0x1e8], eax
call fcn.101088f0
movzx eax, ax
mov dword [ebp - 0x204], eax
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
mov ecx, esi
mov dword [ebp - 0x21c], esi
call fcn.101088f0
movzx edx, ax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x1fc], edx
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov ax, word [esi + 8]
mov esi, dword [ebp - 0x1e8]
mov dword [ebp - 0x1f4], ebx
or ax, word [esi + 8]
movzx ecx, ax
mov al, dl
and al, byte [ebp - 0x204]
test al, 4
je 0x101096ff
mov eax, esi
mov byte [ebp - 0x1e9], 1
mov edx, dword [eax]
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0x21c]
mov ebx, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0x1cc]
mov dword [ebp - 0x1f0], ebx
mov dword [ebp - 0x214], edi
mov dword [ebp - 0x28], ebx
movzx eax, byte [eax]
add eax, 0xffffffa0
mov dword [ebp - 0x24], edi
cmp eax, 3
ja case.default.0x10109564
jmp dword [eax*4 + 0x1010f470]
test esi, esi
jl 0x101095ea
jg 0x10109575
test edx, edx
jb 0x101095ea
test edi, edi
jl 0x10109626
jg 0x10109587
test ebx, ebx
je 0x10109626
or ecx, 0xffffffff
mov eax, bind
sub ecx, ebx
sbb eax, edi
cmp eax, esi
jg 0x10109626
jl 0x101095a5
cmp ecx, edx
jae 0x10109626
mov esi, dword [ebp - 0x1e8]
mov ebx, dword [ebp - 0x1f4]
mov ecx, esi
call fcn.100ff5e0
mov ecx, dword [ebp - 0x21c]
movsd qword [ebp - 0x210], xmm0
call fcn.100ff5e0
mov eax, dword [ebp - 0x1cc]
movaps xmm1, xmm0
movzx eax, byte [eax]
add eax, 0xffffffa0
cmp eax, 3
ja case.default.0x101095e3
jmp dword [eax*4 + 0x1010f480]
test edi, edi
jg 0x10109626
jl 0x101095f4
test ebx, ebx
jae 0x10109626
mov ebx, 1
mov ecx, bind
sub ebx, dword [ebp - 0x1f0]
mov eax, esi
sbb ecx, edi
mov edi, edx
add edi, 1
adc eax, 0
cmp ecx, eax
jg 0x101095a5
jl 0x1010961a
cmp ebx, edi
ja 0x101095a5
mov ebx, dword [ebp - 0x1f0]
mov edi, dword [ebp - 0x214]
add edx, ebx
mov dword [ebp - 0x28], edx
adc esi, edi
mov dword [ebp - 0x24], esi
jmp 0x101096ba
push esi
push edx
lea ecx, [ebp - 0x28]
call fcn.100e4360
add esp, 8
test eax, eax
jne 0x101095a5
jmp 0x101096ba
push esi
push edx
lea ecx, [ebp - 0x28]
call fcn.100e43b0
add esp, 8
test eax, eax
jne 0x101095a5
jmp 0x101096ba
mov eax, edx
or eax, esi
je 0x1010982b
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x10109686
test ebx, ebx
jne 0x10109686
cmp edi, 0x80000000
je 0x101095a5
push esi
push edx
push edi
push ebx
call fcn.101d60c0
jmp 0x101096b4
mov eax, edx
or eax, esi
je 0x1010982b
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x101096ab
mov edx, 1
xor esi, esi
push esi
push edx
push edi
push ebx
call fcn.101d65d0
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x1f4]
mov edx, 0x3e00
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1d4]
mov dword [ecx], eax
mov eax, dword [ebp - 0x24]
mov dword [ecx + 4], eax
mov ax, word [ecx + 8]
and ax, dx
or ax, 4
mov word [ecx + 8], ax
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
test cl, 1
jne 0x1010982b
mov byte [ebp - 0x1e9], 0
jmp 0x101095b1
addsd xmm1, qword [ebp - 0x210]
jmp 0x1010979d
subsd xmm1, qword [ebp - 0x210]
jmp 0x1010979d
mulsd xmm1, qword [ebp - 0x210]
jmp 0x1010979d
movsd xmm0, qword [ebp - 0x210]
ucomisd xmm0, qword [ebp - 0x248]
lahf
test ah, 0x44
jnp 0x1010982b
divsd xmm1, xmm0
jmp 0x1010979d
mov ecx, esi
call fcn.100ff560
mov ecx, dword [ebp - 0x21c]
mov esi, eax
mov edi, edx
call fcn.100ff560
mov ecx, eax
mov dword [ebp - 0x24], edx
mov eax, esi
mov dword [ebp - 0x28], ecx
or eax, edi
je 0x1010982b
mov eax, esi
and eax, edi
cmp eax, 0xffffffff
jne 0x1010978a
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push ecx
call fcn.101d65d0
mov ecx, eax
call fcn.101d65a0
movaps xmm1, xmm0
movsd qword [ebp - 0x210], xmm1
movsd xmm0, qword [ebp - 0x210]
movsd qword [ebp - 0x228], xmm0
movsd xmm0, qword [ebp - 0x210]
ucomisd xmm0, qword [ebp - 0x228]
lahf
test ah, 0x44
jp 0x1010982b
mov ax, word [ebx + 8]
mov ecx, 0x3e00
and ax, cx
movsd qword [ebx], xmm1
or ax, 8
mov word [ebx + 8], ax
mov eax, dword [ebp - 0x1fc]
or al, byte [ebp - 0x204]
test al, 8
jne 0x10108ff5
cmp byte [ebp - 0x1e9], 0
jne 0x10108ff5
mov ecx, ebx
call fcn.100ff660
mov esi, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov ecx, dword [ebp - 0x1f4]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x10109861
call fcn.100ff3e0
mov esi, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov esi, dword [ebp - 0x1cc]
mov eax, 1
mov edi, dword [ebp - 0x1d4]
mov word [ecx + 8], ax
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov eax, dword [esi + 4]
test eax, eax
je 0x10108b3a
mov edx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, 0x2400
test word [eax + 8], dx
je 0x101098ce
push 0
push 0
mov ecx, eax
call fcn.100ff960
mov ecx, dword [ebp - 0x1d0]
add esp, 8
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, 4
mov dword [eax], 0
mov dword [eax + 4], 0
mov word [eax + 8], dx
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov al, byte [ecx + 8]
or al, byte [edi + 8]
mov dword [ebp - 0x1fc], edx
test al, 1
je 0x10109984
mov eax, 0x2400
test word [edx + 8], ax
je 0x1010995b
mov ecx, edx
call fcn.100ff3e0
mov esi, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov esi, dword [ebp - 0x1cc]
mov eax, 1
mov edi, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d0]
mov word [edx + 8], ax
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
call fcn.100ff560
mov ebx, eax
mov esi, edx
mov ecx, edi
mov dword [ebp - 0x240], ebx
mov dword [ebp - 0x23c], esi
call fcn.100ff560
mov edi, eax
mov eax, dword [ebp - 0x1cc]
mov cl, byte [eax]
cmp cl, 0x5c
jne 0x101099b5
and ebx, edi
and esi, edx
jmp 0x10109a21
cmp cl, 0x5d
jne 0x101099c0
or ebx, edi
or esi, edx
jmp 0x10109a21
mov eax, edi
or eax, edx
je 0x10109a21
test edx, edx
jg 0x101099f4
jl 0x101099d0
test edi, edi
jae 0x101099e9
mov al, 0xbd
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x101099f4
jg 0x101099e2
cmp edi, 0xffffffc0
jbe 0x101099f4
neg edi
adc edx, 0
neg edx
test edx, edx
jl 0x10109a60
jg 0x101099f4
cmp edi, 0x40
jb 0x10109a60
test esi, esi
jg 0x10109a0a
jl 0x101099fe
test ebx, ebx
jae 0x10109a0a
cmp cl, 0x5e
je 0x10109a0a
or ebx, 0xffffffff
or esi, ebx
jmp 0x10109a21
xorps xmm0, xmm0
movlpd qword [ebp - 0x210], xmm0
mov esi, dword [ebp - 0x20c]
mov ebx, dword [ebp - 0x210]
mov ecx, dword [ebp - 0x1fc]
mov edx, 0x3e00
mov edi, dword [ebp - 0x1d4]
mov ax, word [ecx + 8]
and ax, dx
mov dword [ecx + 4], esi
mov esi, dword [ebp - 0x1cc]
or ax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x1d8]
mov dword [ecx], ebx
mov ecx, dword [ebp - 0x1d0]
add esi, 0x14
jmp 0x10108a50
movq xmm1, qword [ebp - 0x240]
movd xmm0, edi
cmp cl, 0x5e
jne 0x10109a7f
psllq xmm1, xmm0
movq qword [ebp - 0x210], xmm1
jmp 0x10109a15
psrlq xmm1, xmm0
movq qword [ebp - 0x210], xmm1
test esi, esi
jg 0x10109a15
jl 0x10109a95
test ebx, ebx
jae 0x10109a15
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, edi
or edx, 0xffffffff
call fcn.101d5e50
mov ebx, dword [ebp - 0x210]
mov esi, dword [ebp - 0x20c]
or ebx, eax
or esi, edx
jmp 0x10109a21
mov edx, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.100ff560
mov dword [esi], eax
mov ecx, 0x3e00
mov ax, word [esi + 8]
and ax, cx
mov dword [esi + 4], edx
mov ecx, dword [ebp - 0x1d0]
or ax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax + 8]
cdq
add dword [esi], eax
mov eax, dword [ebp - 0x1d8]
adc dword [esi + 4], edx
mov esi, dword [ebp - 0x1cc]
add esi, 0x14
jmp 0x10108a50
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 8]
mov ecx, eax
test al, 4
jne 0x10109b69
push dword [ebp - 0x208]
mov dl, 0x43
mov ecx, esi
call fcn.101087e0
movzx eax, word [esi + 8]
add esp, 4
mov ecx, eax
test al, 4
jne 0x10109b69
mov esi, dword [ebp - 0x1cc]
cmp dword [esi + 8], 0
jne 0x1010da38
mov eax, 0x14
jmp 0x1010c33b
mov eax, dword [ebp - 0x1d8]
and ecx, 0x3e00
or ecx, 4
mov word [esi + 8], cx
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
add esi, 0x14
jmp 0x10108a50
mov eax, dword [esi + 4]
mov edx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 4
lea esi, [edx + eax*8]
je 0x1010b487
mov ecx, esi
call fcn.100ff5e0
mov ax, word [esi + 8]
mov ecx, 0x3e00
and ax, cx
movsd qword [esi], xmm0
mov ecx, dword [ebp - 0x1d0]
or ax, 8
mov word [esi + 8], ax
mov esi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x4000
test word [esi + 8], ax
je 0x10109c12
mov ecx, esi
call fcn.100ff140
mov dword [ebp - 0x1dc], eax
jmp 0x10109c1c
mov dword [ebp - 0x1dc], 0
mov eax, dword [ebp - 0x1cc]
mov ecx, esi
push dword [ebp - 0x208]
mov dl, byte [eax + 8]
call fcn.100ff860
mov eax, dword [ebp - 0x1dc]
add esp, 4
test eax, eax
jne 0x1010c33b
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
movzx esi, word [ecx + eax*8 + 8]
lea edi, [ecx + eax*8]
movzx eax, word [ebx + 8]
mov ecx, esi
mov edx, ecx
mov dword [ebp - 0x1f4], eax
or edx, eax
mov dword [ebp - 0x1e8], ecx
mov eax, dword [ebp - 0x1cc]
test dl, 1
je 0x10109d42
movzx eax, word [eax + 2]
test al, al
jns 0x10109cd4
mov al, byte [ebp - 0x1e8]
and al, byte [ebp - 0x1f4]
test al, 1
je 0x10109db6
test ecx, 0x100
jne 0x10109db6
xor ecx, ecx
jmp 0x10109e6b
mov esi, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1d4]
test al, 0x20
je 0x10109d26
mov ebx, dword [ebp - 0x1e4]
mov eax, esi
mov edx, 0x3e00
mov dword [ebp - 0x22c], 1
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov ax, word [ebx + ecx*8 + 8]
and ax, dx
or ax, 1
mov word [ebx + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov ecx, dword [ebp - 0x1d0]
test al, 0x10
jne 0x1010da3e
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov al, byte [eax + 2]
and al, 0x47
cmp al, 0x43
jb 0x10109dda
mov ecx, esi
test dl, 2
je 0x10109d95
mov al, byte [ebp - 0x1f4]
and al, 0xe
cmp al, 2
jne 0x10109d75
xor edx, edx
mov ecx, ebx
call fcn.10108730
movzx eax, word [edi + 8]
mov dword [ebp - 0x1e8], eax
mov al, byte [ebp - 0x1e8]
movzx ecx, word [ebp - 0x1e8]
and al, 0xe
cmp al, 2
jne 0x10109d95
xor edx, edx
mov ecx, edi
call fcn.10108730
movzx ecx, word [edi + 8]
mov al, byte [ebx + 8]
and al, cl
test al, 4
je 0x10109e54
mov esi, dword [edi + 4]
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
mov eax, dword [ebx]
cmp esi, edx
jl 0x10109dd2
jg 0x10109db6
cmp ecx, eax
jbe 0x10109dc0
mov ecx, 1
jmp 0x10109e6b
cmp esi, edx
jg 0x10109ccd
jl 0x10109dd2
cmp ecx, eax
jae 0x10109ccd
or ecx, 0xffffffff
jmp 0x10109e6b
cmp al, 0x42
jne 0x10109e54
mov al, byte [ebp - 0x1f4]
test al, 2
jne 0x10109e1a
test al, 0xc
je 0x10109e1a
mov dl, byte [ebp - 0x208]
mov ecx, ebx
push 1
call fcn.100ff190
mov ax, word [ebx + 8]
mov esi, 0x3e00
xor ax, word [ebp - 0x1f4]
add esp, 4
and ax, si
xor word [ebp - 0x1f4], ax
jmp 0x10109e1f
mov esi, 0x3e00
mov al, byte [ebp - 0x1e8]
test al, 2
jne 0x10109e54
test al, 0xc
je 0x10109e54
mov dl, byte [ebp - 0x208]
mov ecx, edi
push 1
call fcn.100ff190
mov ax, word [edi + 8]
add esp, 4
xor ax, word [ebp - 0x1e8]
and ax, si
xor word [ebp - 0x1e8], ax
mov eax, dword [ebp - 0x1cc]
mov edx, ebx
mov ecx, edi
push dword [eax + 0x10]
call fcn.10104510
add esp, 4
mov ecx, eax
mov eax, dword [ebp - 0x1cc]
movzx eax, byte [eax]
test ecx, ecx
jns 0x10109e80
mov al, byte [eax + 0x10266e94]
jmp 0x10109e90
jne 0x10109e8a
mov al, byte [eax + 0x10261e44]
jmp 0x10109e90
mov al, byte [eax + 0x1025fd78]
movzx edx, al
movzx eax, word [ebp - 0x1f4]
mov word [ebx + 8], ax
movzx eax, word [ebp - 0x1e8]
mov word [edi + 8], ax
mov eax, dword [ebp - 0x1cc]
movzx eax, word [eax + 2]
test al, 0x20
je 0x10109f29
mov dword [ebp - 0x22c], ecx
test al, 8
je 0x10109ed7
mov esi, dword [ebp - 0x1cc]
xor eax, eax
cmp byte [esi], 0x35
sete al
cmp eax, edx
je 0x10108ffb
mov eax, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov edi, dword [ebp - 0x1d4]
mov eax, dword [eax + 8]
lea esi, [eax + eax*4]
mov eax, 0x3e00
mov cx, word [ebx + esi*8 + 8]
and cx, ax
mov eax, edx
cdq
or cx, 4
mov word [ebx + esi*8 + 8], cx
mov ecx, dword [ebp - 0x1d0]
mov dword [ebx + esi*8], eax
mov eax, dword [ebp - 0x1d8]
mov dword [ebx + esi*8 + 4], edx
mov esi, dword [ebp - 0x1cc]
add esi, 0x14
jmp 0x10108a50
mov esi, dword [ebp - 0x1cc]
test edx, edx
jne 0x1010e4e2
mov edi, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
cmp dword [ebp - 0x22c], 0
jne 0x1010da3e
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
test byte [edx + 2], 1
jne 0x10109f76
xor ebx, ebx
jmp 0x10109f7c
mov ebx, dword [edx - 4]
add ebx, 4
mov esi, dword [ebp - 0x1cc]
mov eax, dword [edx + 0xc]
mov edx, dword [edx + 0x10]
mov dword [ebp - 0x224], eax
mov ecx, dword [esi + 4]
mov dword [ebp - 0x20c], ecx
mov ecx, dword [esi + 8]
xor esi, esi
mov dword [ebp - 0x1f0], edx
mov dword [ebp - 0x1fc], ecx
test eax, eax
jle 0x10108d0a
lea edi, [edx + 0x14]
test ebx, ebx
je 0x10109fbc
mov ecx, dword [ebx + esi*4]
jmp 0x10109fbe
mov ecx, esi
mov eax, dword [edx + 0x10]
mov edx, dword [ebp - 0x1e4]
push dword [edi]
mov al, byte [esi + eax]
mov byte [ebp - 0x1e9], al
mov eax, dword [ebp - 0x1fc]
add eax, ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [ebp - 0x20c]
add eax, ecx
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.10104510
mov edx, eax
add esp, 4
mov dword [ebp - 0x22c], edx
test edx, edx
jne 0x1010a03a
mov edx, dword [ebp - 0x1f0]
inc esi
add edi, 4
cmp esi, dword [ebp - 0x224]
jl 0x10109fb3
mov esi, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
cmp byte [ebp - 0x1e9], 0
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
je case.0x10108a74.86
neg edx
mov dword [ebp - 0x22c], edx
add esi, 0x14
jmp 0x10108a50
mov eax, dword [ebp - 0x22c]
mov edx, dword [ebp - 0x1cc]
test eax, eax
jns 0x1010a09f
mov eax, dword [edx + 4]
mov edx, dword [ebp - 0x1e0]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea esi, [edx + eax*4]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
jne 0x1010a0c1
mov eax, dword [edx + 8]
mov edx, dword [ebp - 0x1e0]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea esi, [edx + eax*4]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0x1e0]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea esi, [edx + eax*4]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov ebx, dword [ebp - 0x1cc]
mov edx, 2
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.100ff610
mov ecx, dword [ebx + 8]
mov edx, 2
mov ebx, dword [ebp - 0x1e4]
mov esi, eax
lea ecx, [ecx + ecx*4]
lea ecx, [ebx + ecx*8]
call fcn.100ff610
mov ecx, dword [ebp - 0x1cc]
lea eax, [eax + esi*2]
cmp byte [ecx], 0x2c
jne 0x1010a132
mov dl, byte [esi + eax + 0x102626dc]
jmp 0x1010a139
mov dl, byte [esi + eax + 0x10262214]
mov eax, dword [ecx + 0xc]
mov esi, 0x3e00
lea ecx, [eax + eax*4]
mov ax, word [ebx + ecx*8 + 8]
and ax, si
movzx esi, ax
cmp dl, 2
jne 0x1010a17a
mov eax, 1
or eax, esi
mov esi, dword [ebp - 0x1cc]
mov word [ebx + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
movzx eax, dl
cdq
mov dword [ebx + ecx*8], eax
mov eax, 4
or eax, esi
mov dword [ebx + ecx*8 + 4], edx
mov esi, dword [ebp - 0x1cc]
mov word [ebx + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.100ff610
mov ecx, dword [ebp - 0x1cc]
xor eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 8]
cdq
lea ecx, [ecx + ecx*4]
lea ecx, [ebx + ecx*8]
mov ebx, 0x2400
test word [ecx + 8], bx
je 0x1010a20a
push edx
push eax
call fcn.100ff960
mov esi, dword [ebp - 0x1cc]
add esp, 8
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov esi, dword [ebp - 0x1cc]
mov dword [ecx], eax
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x1d8]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x1d0]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 8], 1
lea ecx, [ebx + eax*8]
mov eax, edx
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
jne 0x1010a2c3
xor edx, edx
call fcn.100ff610
neg eax
mov ecx, 0x2400
sbb eax, eax
inc eax
test word [esi + 8], cx
je 0x1010a297
push 0
push eax
mov ecx, esi
call fcn.100ff960
mov esi, dword [ebp - 0x1cc]
add esp, 8
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov ecx, dword [ebp - 0x1d0]
mov dword [esi], eax
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0x1d8]
mov dword [esi + 4], 0
mov esi, dword [ebp - 0x1cc]
add esi, 0x14
jmp 0x10108a50
mov eax, 0x2400
test word [esi + 8], ax
je 0x1010a2ef
mov ecx, esi
call fcn.100ff3e0
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov ecx, dword [ebp - 0x1d0]
mov eax, 1
mov word [esi + 8], ax
mov esi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov eax, edx
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov eax, 0x2400
test word [esi + 8], ax
je 0x1010a34c
mov ecx, esi
call fcn.100ff3e0
mov ecx, dword [ebp - 0x1d0]
jmp 0x1010a355
mov eax, 1
mov word [esi + 8], ax
test byte [edi + 8], 1
jne 0x1010b17f
mov eax, 4
mov ecx, edi
mov word [esi + 8], ax
call fcn.100ff560
mov edi, dword [ebp - 0x1d4]
not eax
mov ecx, dword [ebp - 0x1d0]
not edx
mov dword [esi], eax
mov eax, dword [ebp - 0x1d8]
mov dword [esi + 4], edx
mov esi, dword [ebp - 0x1cc]
add esi, 0x14
jmp 0x10108a50
mov edi, dword [edi + 0xc8]
test edi, edi
je 0x1010a40f
mov edx, dword [ebp - 0x1d4]
mov eax, 0x66666667
mov ecx, dword [ebp - 0x1cc]
mov edi, dword [edi + 0x18]
sub ecx, dword [edx + 0x68]
imul ecx
mov eax, 1
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov esi, ecx
and ecx, 7
shr esi, 3
shl eax, cl
movzx edx, byte [esi + edi]
test edx, eax
jne 0x1010da2c
bts edx, ecx
mov byte [esi + edi], dl
mov edi, dword [ebp - 0x1d4]
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [edi + 0x68]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x1d0]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edi, dword [ebp - 0x1d4]
mov ecx, dword [edi + 0x68]
mov eax, dword [ecx + 4]
cmp eax, dword [esi + 4]
je 0x1010da38
mov ecx, dword [ebp - 0x1d0]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.100ff610
mov esi, dword [ebp - 0x1cc]
test eax, eax
jmp 0x10108b2e
mov eax, dword [esi + 4]
xor edx, edx
mov ecx, dword [ebp - 0x1e4]
cmp dword [esi + 0xc], edx
lea eax, [eax + eax*4]
sete dl
lea ecx, [ecx + eax*8]
call fcn.100ff610
test eax, eax
je 0x1010e4e2
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov eax, dword [esi + 4]
mov edx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 1
jne 0x1010da3e
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov eax, dword [esi + 4]
mov edx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 1
je 0x1010da3e
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov ecx, dword [esi + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
cmp byte [eax + 2], 0
je 0x10108b34
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, 0x2400
test word [eax + 8], cx
je 0x1010a526
mov ecx, eax
call fcn.100ff3e0
jmp 0x1010da32
mov ecx, 1
mov word [eax + 8], cx
jmp 0x1010da32
mov ebx, dword [ebp - 0x1cc]
lea edx, [ebp - 0xac]
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0xac], eax
call fcn.10103ae0
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010c33b
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x1e4]
mov ebx, dword [ebp - 0xa4]
mov edx, dword [ebp - 0x1d4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebx + 0x1c]
mov esi, dword [ebx + 0x48]
mov dword [ebp - 0x1e8], edi
mov dword [ebp - 0x204], esi
cmp eax, dword [edx + 0x20]
je 0x1010a70d
cmp byte [ebx + 2], 0
je 0x1010a644
cmp byte [ebx], 3
jne 0x1010a5ed
mov eax, dword [ebx + 0x20]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*8 + 0xc]
mov dword [ebx + 0x54], eax
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ecx + 0x54]
mov dword [ecx + 0x50], eax
mov eax, dword [ebp - 0x1e4]
mov ecx, dword [eax + edx*8 + 0x10]
mov eax, dword [ebp - 0xa4]
mov dword [eax + 0x4c], ecx
mov ecx, dword [ebp - 0xa4]
jmp 0x1010a691
mov eax, 0x2400
test word [edi + 8], ax
je 0x1010a61f
mov ecx, edi
call fcn.100ff3e0
mov esi, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov esi, dword [ebp - 0x1cc]
mov eax, 1
mov ecx, dword [ebp - 0x1d0]
mov word [edi + 8], ax
mov edi, edx
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov esi, dword [ebx + 0x28]
mov ecx, esi
call fcn.100f6a50
mov eax, dword [ebp - 0xa4]
mov ecx, dword [esi + 0x2c]
mov dword [eax + 0x50], ecx
mov ecx, esi
mov edx, dword [ebp - 0xa4]
lea edx, [edx + 0x54]
call fcn.100f70e0
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ebp - 0x1d0]
mov dword [ecx + 0x4c], eax
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ecx + 0x50]
cmp eax, dword [edx + 0x6c]
ja 0x1010eed1
mov esi, dword [ebp - 0x204]
mov eax, dword [ebp - 0x1d4]
mov eax, dword [eax + 0x20]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebp - 0xa4]
mov ecx, dword [eax + 0x4c]
mov al, byte [ecx]
cmp al, 0x80
jae 0x1010a6b5
movzx eax, al
mov dword [esi], eax
mov al, 1
jmp 0x1010a6bc
mov edx, esi
call fcn.100e4140
movzx ecx, al
mov eax, dword [ebp - 0xa4]
mov dword [eax + 0x30], ecx
xor ecx, ecx
mov eax, dword [ebp - 0xa4]
mov word [eax + 0x3a], cx
mov ebx, dword [ebp - 0xa4]
mov eax, dword [esi]
cmp dword [ebx + 0x54], eax
jae 0x1010a7fe
mov dword [ebx + 0x4c], ecx
mov eax, dword [ebp - 0xa4]
mov dword [eax + 0x54], ecx
mov eax, dword [esi]
cmp eax, 0x18003
ja 0x1010a8f2
mov ebx, dword [ebp - 0xa4]
cmp eax, dword [ebx + 0x50]
ja 0x1010a8f2
movzx eax, word [ebx + 0x3a]
mov edx, dword [ebp - 0xac]
cmp eax, edx
jg 0x1010aa20
mov eax, dword [esi]
cmp dword [ebx + 0x30], eax
jae 0x1010a985
mov ecx, dword [ebx + 0x4c]
mov dword [ebp - 0x1f4], ecx
test ecx, ecx
jne 0x1010a788
xorps xmm0, xmm0
lea eax, [ebp - 0x120]
movups xmmword [ebp - 0x120], xmm0
push eax
movups xmmword [ebp - 0x110], xmm0
xor edx, edx
movq qword [ebp - 0x100], xmm0
push dword [esi]
mov ecx, dword [ebx + 0x28]
call fcn.100fff30
add esp, 8
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010c335
mov eax, dword [ebp - 0x110]
mov ebx, dword [ebp - 0xa4]
mov dword [ebp - 0x1f4], eax
mov eax, dword [esi]
add eax, dword [ebp - 0x1f4]
xor edx, edx
movzx ecx, word [ebx + 0x3a]
mov edi, dword [ebx + 0x30]
add edi, dword [ebp - 0x1f4]
mov dword [ebp - 0x214], eax
mov eax, 0x58
sub eax, dword [ebp - 0x204]
mov dword [ebp - 0x21c], ecx
lea ecx, [esi + ecx*4]
mov esi, dword [ecx]
mov dword [ebp - 0x1f0], ecx
mov dword [ebp - 0x224], eax
nop word [eax + eax]
movzx ecx, byte [edi]
mov dword [ebp - 0x1fc], esi
mov dword [ebp - 0x20c], edx
mov dword [ebp - 0xa8], ecx
cmp ecx, 0x80
jae 0x1010a80c
movzx eax, byte [ecx + 0x102627d8]
cdq
mov esi, eax
mov eax, 1
jmp 0x1010a840
mov ecx, dword [ebx + 0x4c]
mov dword [ebp - 0x1f4], ecx
jmp 0x1010a788
lea edx, [ebp - 0xa8]
mov ecx, edi
call fcn.100e4140
mov ecx, dword [ebp - 0xa8]
movzx eax, al
cmp ecx, 0x80
jb 0x1010a831
lea esi, [ecx - 0xc]
shr esi, 1
jmp 0x1010a838
movzx esi, byte [ecx + 0x102627d8]
mov ebx, dword [ebp - 0xa4]
xor edx, edx
add esi, dword [ebp - 0x1fc]
adc edx, dword [ebp - 0x20c]
add edi, eax
mov eax, dword [ebp - 0x1f0]
add eax, dword [ebp - 0x224]
mov dword [ebp - 0x1fc], edx
mov dword [eax + ebx], ecx
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [ebp - 0x21c]
add eax, 4
inc ecx
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x21c], ecx
mov dword [eax], esi
mov ebx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x214]
cmp ecx, dword [ebp - 0xac]
jg 0x1010a89f
cmp edi, eax
jb 0x1010a7d0
jmp 0x1010a8a3
cmp edi, eax
jb 0x1010a8b0
cmp edi, eax
ja 0x1010a8bb
cmp esi, dword [ebx + 0x50]
jne 0x1010a8bb
test edx, edx
jne 0x1010a8bb
test edx, edx
jb 0x1010a926
ja 0x1010a8bb
cmp esi, dword [ebx + 0x50]
jbe 0x1010a926
mov esi, dword [ebp - 0x204]
cmp dword [esi], 0
jne 0x1010a8cc
xor ecx, ecx
mov edi, eax
jmp 0x1010a92c
cmp dword [ebx + 0x4c], 0
jne 0x1010a8f2
test dword [ebp - 0x118], 0x2400
jne 0x1010a8e7
cmp dword [ebp - 0x108], 0
je 0x1010a8f2
lea ecx, [ebp - 0x120]
call fcn.100ff420
mov ebx, dword [ebp - 0x1e0]
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x1010ecba
mov edi, dword [ebp - 0x1d4]
lea eax, [eax + eax*4]
mov ecx, dword [ebp - 0x1d0]
lea eax, [eax - 5]
lea esi, [ebx + eax*4]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov esi, dword [ebp - 0x204]
sub edi, dword [ebp - 0x1f4]
mov word [ebx + 0x3a], cx
mov eax, dword [ebp - 0xa4]
mov dword [eax + 0x30], edi
mov ebx, dword [ebp - 0xa4]
cmp dword [ebx + 0x4c], 0
jne 0x1010a971
test dword [ebp - 0x118], 0x2400
jne 0x1010a960
cmp dword [ebp - 0x108], 0
je 0x1010a971
lea ecx, [ebp - 0x120]
call fcn.100ff420
mov ebx, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xa8]
mov edi, dword [ebp - 0x1e8]
jmp 0x1010a98d
xor ecx, ecx
mov dword [ebp - 0xa8], ecx
movzx eax, word [ebx + 0x3a]
cmp eax, edx
jg 0x1010aa2a
mov esi, dword [ebp - 0x1cc]
cmp byte [esi + 1], 0xf5
jne 0x1010a9d1
mov edx, dword [esi + 0x10]
mov ecx, edi
push 0x800
call fcn.100ffaf0
mov edi, dword [ebp - 0x1d4]
add esp, 4
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov eax, 0x2400
test word [edi + 8], ax
je 0x1010a9fd
mov ecx, edi
call fcn.100ff3e0
mov edi, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov ecx, dword [ebp - 0x1d0]
mov eax, 1
mov word [edi + 8], ax
mov edi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov ecx, dword [ebx + edx*4 + 0x58]
mov dword [ebp - 0xa8], ecx
mov eax, 0x2400
test word [edi + 8], ax
je 0x1010aa4e
mov ecx, edi
call fcn.100ff3e0
mov ebx, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ebx + 0x54]
cmp eax, dword [esi + edx*4 + 4]
jb 0x1010ab29
mov edi, dword [ebx + 0x4c]
add edi, dword [esi + edx*4]
mov ebx, dword [ebp - 0x1e8]
cmp ecx, 0xc
jae 0x1010aa99
mov edx, ecx
mov ecx, edi
push ebx
call fcn.10103df0
mov esi, dword [ebp - 0x1cc]
add esp, 4
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov al, byte [ebp - 0x208]
lea esi, [ecx - 0xc]
shr esi, 1
mov dword [ebx + 0xc], esi
mov byte [ebx + 0xa], al
lea edx, [esi + 2]
cmp dword [ebx + 0x18], edx
jge 0x1010aad4
mov eax, 1
mov ecx, ebx
push 0
mov word [ebx + 8], ax
call fcn.100fef50
add esp, 4
test eax, eax
jne 0x1010ad4d
mov eax, dword [ebx + 0x10]
jmp 0x1010aada
mov eax, dword [ebx + 0x14]
mov dword [ebx + 0x10], eax
push esi
push edi
push eax
call fcn.101ec960
mov eax, dword [ebx + 0x10]
add esp, 0xc
mov edi, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d0]
mov byte [esi + eax], 0
mov eax, dword [ebx + 0x10]
mov byte [esi + eax + 1], 0
mov eax, dword [ebp - 0xa8]
mov esi, dword [ebp - 0x1cc]
and eax, 1
mov ax, word [eax*2 + 0x10263dc4]
mov word [ebx + 8], ax
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov al, byte [ebp - 0x208]
mov byte [edi + 0xa], al
mov eax, dword [ebp - 0x1cc]
mov edx, dword [ebp - 0xa8]
movzx eax, word [eax + 2]
test al, 0xc0
je 0x1010ab54
cmp edx, 0xc
jb 0x1010ab50
test dl, 1
je 0x1010ab6e
test al, al
js 0x1010ab6e
cmp edx, 0x80
jb 0x1010ab63
lea eax, [edx - 0xc]
shr eax, 1
jmp 0x1010ab6a
movzx eax, byte [edx + 0x102627d8]
test eax, eax
jne 0x1010ab79
push edi
mov ecx, 0x102ad2b8
jmp 0x1010aa71
mov edx, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xa4]
push edi
push eax
mov edx, dword [esi + edx*4]
mov ecx, dword [ecx + 0x28]
call fcn.100fff30
add esp, 8
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010c335
mov edx, dword [ebp - 0xa8]
mov ecx, dword [edi + 0x10]
push edi
call fcn.10103df0
mov esi, dword [ebp - 0x1cc]
mov eax, 0xefff
mov ecx, dword [ebp - 0x1d0]
add esp, 4
and word [edi + 8], ax
mov edi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [edx + 4]
mov esi, dword [edx + 0x10]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov al, byte [esi]
nop dword [eax + eax]
push dword [ebp - 0x208]
mov dl, al
mov ecx, edi
call fcn.101087e0
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 4
add edi, 0x28
test al, al
jne 0x1010ac00
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
xor eax, eax
mov ecx, dword [ebp - 0x1e4]
xorps xmm0, xmm0
mov dword [ebp - 0x1e8], eax
movzx ebx, byte [edi + 0x93]
mov eax, dword [edx + 4]
mov esi, dword [edx + 0x10]
movlpd qword [ebp - 0x210], xmm0
movlpd qword [ebp - 0x220], xmm0
mov dword [ebp - 0x224], ebx
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [edx + 8]
mov dword [ebp - 0x214], ecx
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x1fc], eax
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x204], eax
test esi, esi
je 0x1010ace0
mov al, byte [esi]
mov edi, ecx
mov ebx, dword [ebp - 0x208]
nop word [eax + eax]
push ebx
mov dl, al
mov ecx, edi
call fcn.101087e0
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 4
add edi, 0x28
test al, al
jne 0x1010acc0
mov ebx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x210]
mov edi, dword [ebp - 0x1fc]
mov dword [ebp - 0x1f4], eax
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0x1f0], eax
mov eax, dword [ebp - 0x220]
mov dword [ebp - 0x21c], eax
mov esi, dword [ebp - 0x20c]
lea eax, [ebp - 0x38]
push eax
mov edx, ebx
mov ecx, edi
call fcn.10103b30
mov ebx, eax
add esp, 4
mov eax, 0x4000
test word [edi + 8], ax
je 0x1010ad90
test ebx, ebx
jne 0x1010ad38
mov ebx, 0xa
jmp 0x1010ad90
mov eax, dword [ebp - 0x1f4]
or eax, esi
je 0x1010ad7c
mov ecx, edi
call fcn.100ff140
test eax, eax
je 0x1010ad90
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1d4]
mov ebx, dword [ebp - 0x1e0]
call fcn.100e0520
push str.out_of_memory
push edi
call fcn.10100770
add esp, 8
mov eax, 7
jmp 0x1010c341
mov ecx, dword [edi]
mov eax, ecx
cdq
add dword [ebp - 0x21c], eax
adc dword [ebp - 0x1f0], edx
sub dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x1f4]
add eax, dword [ebp - 0x38]
mov dword [ebp - 0x1f4], eax
adc esi, 0
mov dword [ebp - 0x20c], esi
mov esi, 1
cmp ebx, 0x7f
jbe 0x1010adce
mov edx, ebx
xor ecx, ecx
shr edx, 7
mov eax, edx
or eax, ecx
je 0x1010adce
nop
shrd edx, ecx, 7
inc esi
shr ecx, 7
mov eax, edx
or eax, ecx
jne 0x1010adc0
mov eax, dword [ebp - 0x1e8]
add eax, esi
mov dword [edi + 0x1c], ebx
mov dword [ebp - 0x1e8], eax
cmp edi, dword [ebp - 0x214]
je 0x1010adf5
mov ebx, dword [ebp - 0x224]
sub edi, 0x28
jmp 0x1010ad0a
cmp eax, 0x7e
jle 0x1010ae59
cdq
mov ebx, 1
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x1010ae1e
nop
shrd esi, edx, 7
inc ebx
shr edx, 7
mov eax, esi
or eax, edx
jne 0x1010ae10
mov eax, dword [ebp - 0x1e8]
mov edi, 1
add eax, ebx
mov dword [ebp - 0x1e8], eax
cdq
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x1010ae4f
shrd esi, edx, 7
inc edi
shr edx, 7
mov eax, esi
or eax, edx
jne 0x1010ae41
mov eax, dword [ebp - 0x1e8]
cmp ebx, edi
jge 0x1010ae60
inc eax
mov dword [ebp - 0x1e8], eax
mov ecx, dword [ebp - 0x1f4]
mov esi, dword [ebp - 0x204]
mov edi, dword [ebp - 0x20c]
cdq
add ecx, eax
mov dword [ebp - 0x224], eax
mov esi, dword [esi + 0x18]
mov ebx, edx
adc edi, ebx
mov dword [ebp - 0x1f4], ecx
add ecx, dword [ebp - 0x21c]
mov eax, esi
cdq
adc edi, dword [ebp - 0x1f0]
cmp edi, edx
jg 0x1010aea9
jl 0x1010aea1
cmp ecx, eax
ja 0x1010aea9
mov ecx, dword [ebp - 0x204]
jmp 0x1010aef6
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 0x6c]
cdq
cmp edi, edx
jg 0x1010eed1
jl 0x1010aec5
cmp ecx, eax
ja 0x1010eed1
mov eax, dword [ebp - 0x1f4]
mov ecx, dword [ebp - 0x204]
cmp esi, eax
jge 0x1010aef1
push 0
mov edx, eax
call fcn.100fef50
add esp, 4
test eax, eax
jne 0x1010ad4d
mov ecx, dword [ebp - 0x204]
jmp 0x1010aefc
and word [ecx + 8], 0xd
mov eax, dword [ecx + 0x14]
mov dword [ecx + 0x10], eax
mov edx, dword [ebp - 0x1e8]
mov edi, dword [ecx + 0x10]
cmp edx, 0x80
jae 0x1010af16
mov byte [edi], dl
mov eax, 1
jmp 0x1010af27
push ebx
push dword [ebp - 0x224]
mov ecx, edi
call fcn.100e3f40
add esp, 8
mov ebx, dword [ebp - 0x214]
movzx esi, al
mov ebx, dword [ebx + 0x1c]
lea ecx, [esi + edi]
cmp ebx, 0x80
jae 0x1010af47
mov byte [ecx], bl
mov eax, 1
jmp 0x1010af52
push 0
push ebx
call fcn.100e3f40
add esp, 8
mov ecx, dword [ebp - 0x1e8]
push ebx
mov ebx, dword [ebp - 0x214]
mov edx, ebx
movzx eax, al
lea ecx, [ecx + edi]
add esi, eax
call fcn.10103c90
add dword [ebp - 0x1e8], eax
add ebx, 0x28
add esp, 4
mov dword [ebp - 0x214], ebx
cmp ebx, dword [ebp - 0x1fc]
jbe 0x1010af30
mov edx, dword [ebp - 0x204]
mov eax, dword [ebp - 0x1f4]
mov ecx, dword [ebp - 0x21c]
mov esi, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1d4]
mov dword [edx + 0xc], eax
mov eax, 0x10
mov word [edx + 8], ax
mov eax, ecx
or eax, dword [ebp - 0x1f0]
je 0x10108b34
mov eax, 0x4010
mov dword [edx], ecx
mov ecx, dword [ebp - 0x1d0]
mov word [edx + 8], ax
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
xorps xmm0, xmm0
mov eax, dword [edi + 0x60]
mov ecx, dword [edx + 4]
lea edx, [ebp - 0x80]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x28]
movlpd qword [ebp - 0x80], xmm0
call fcn.100fcdb0
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010c33b
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x1010b058
call fcn.10108910
mov esi, dword [ebp - 0x1cc]
mov ecx, eax
mov eax, dword [ebp - 0x80]
mov dword [ecx], eax
mov eax, dword [ebp - 0x7c]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov esi, dword [ebp - 0x1cc]
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x80]
mov dword [ecx], eax
mov eax, dword [ebp - 0x7c]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edx + 4]
mov edi, dword [edx + 0x10]
mov dword [ebp - 0x204], eax
mov dword [ebp - 0x1fc], edi
test eax, eax
jne 0x1010b199
cmp dword [ecx + 0xb4], eax
jg 0x1010ece8
test edi, edi
jne 0x1010b0ba
xor esi, esi
jmp 0x1010b0d5
mov esi, edi
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x1010b0c0
sub esi, ecx
mov ecx, dword [ebp - 0x1d0]
and esi, 0x3fffffff
mov eax, dword [ecx + 0x1c8]
xor edx, edx
add eax, dword [ecx + 0x1c4]
push eax
call fcn.1014b4c0
add esp, 4
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010c335
mov ecx, dword [ebp - 0x1d0]
lea eax, [esi + 0x21]
push 0
push eax
call fcn.100e0100
mov edi, eax
add esp, 8
test edi, edi
je 0x10108ff5
lea ecx, [esi + 1]
push ecx
push dword [ebp - 0x1fc]
lea edx, [edi + 0x20]
push edx
mov dword [edi], edx
call fcn.101ec960
mov ecx, dword [ebp - 0x1d0]
add esp, 0xc
cmp byte [ecx + 0x4f], 0
je 0x1010b146
mov byte [ecx + 0x4f], 0
mov byte [ecx + 0x57], 1
jmp 0x1010b14c
inc dword [ecx + 0x1c4]
mov eax, dword [ecx + 0x1bc]
mov dword [edi + 0x18], eax
mov eax, dword [ecx + 0x1d0]
mov dword [ecx + 0x1bc], edi
mov dword [edi + 8], eax
mov eax, dword [ecx + 0x1d4]
mov dword [edi + 0xc], eax
mov eax, dword [ecx + 0x1d8]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 0x1dc]
mov dword [edi + 0x14], eax
mov esi, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov esi, dword [ecx + 0x1bc]
xor ebx, ebx
test esi, esi
je 0x1010b1ba
mov ecx, dword [esi]
mov edx, edi
call fcn.100e33b0
test eax, eax
je 0x1010b1d9
mov esi, dword [esi + 0x18]
inc ebx
test esi, esi
jne 0x1010b1a5
push edi
push str.no_such_savepoint:__s
mov edi, dword [ebp - 0x1d4]
push edi
call fcn.10100770
add esp, 0xc
mov eax, 1
jmp 0x1010c33b
mov edx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x204]
cmp dword [edx + 0xb4], 0
jle 0x1010b1f7
cmp edi, 1
je 0x1010ed06
cmp dword [esi + 0x18], 0
jne 0x1010b269
cmp byte [edx + 0x57], 0
je 0x1010b269
mov dword [ebp - 0x214], 1
cmp edi, 1
jne 0x1010b273
mov ecx, dword [ebp - 0x1d4]
mov edx, edi
call fcn.10103180
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010f19b
mov eax, dword [ebp - 0x1d0]
mov ecx, dword [ebp - 0x1d4]
mov byte [eax + 0x4f], 1
call fcn.101031e0
cmp eax, 5
je 0x1010ed0d
mov eax, dword [ebp - 0x1d0]
mov byte [eax + 0x57], 0
mov eax, dword [ebp - 0x1d4]
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x1dc], ecx
jmp 0x1010b394
mov dword [ebp - 0x214], 0
mov ecx, dword [edx + 0x1c4]
mov eax, dword [edx + 0x14]
sub ecx, ebx
dec ecx
mov dword [ebp - 0x1f0], ecx
cmp edi, 2
jne 0x1010b2fe
mov edx, dword [edx + 0x18]
xor ebx, ebx
and edx, 1
mov dword [ebp - 0x21c], edx
test eax, eax
jle 0x1010b306
mov ecx, edx
xor ecx, 1
xor edi, edi
mov dword [ebp - 0x1fc], ecx
nop dword [eax]
mov eax, dword [ebp - 0x1d0]
mov edx, 0x204
push ecx
mov ecx, dword [eax + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.100f6530
add esp, 4
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010c335
mov eax, dword [ebp - 0x1d0]
inc ebx
mov ecx, dword [ebp - 0x1fc]
add edi, 0x10
mov eax, dword [eax + 0x14]
cmp ebx, eax
jl 0x1010b2b0
mov ecx, dword [ebp - 0x1f0]
mov edx, dword [ebp - 0x21c]
jmp 0x1010b306
xor edx, edx
mov dword [ebp - 0x21c], edx
xor ebx, ebx
test eax, eax
jle 0x1010b353
mov eax, dword [ebp - 0x1d0]
xor edi, edi
mov edx, dword [ebp - 0x204]
push ecx
mov ecx, dword [eax + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.100f67c0
add esp, 4
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010c335
mov eax, dword [ebp - 0x1d0]
inc ebx
mov ecx, dword [ebp - 0x1f0]
add edi, 0x10
cmp ebx, dword [eax + 0x14]
jl 0x1010b314
mov edx, dword [ebp - 0x21c]
test edx, edx
je 0x1010b388
mov ebx, dword [ebp - 0x1d0]
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x1010b37d
mov eax, dword [ecx + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [ecx + 0x98], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x1010b364
mov ecx, ebx
call fcn.101231a0
or dword [ebx + 0x18], 1
mov edi, dword [ebp - 0x204]
mov ebx, dword [ebp - 0x1f0]
mov ecx, dword [ebp - 0x1d0]
mov ecx, dword [ecx + 0x1bc]
cmp ecx, esi
je 0x1010b3d8
mov edi, dword [ebp - 0x1d0]
nop word [eax + eax]
mov eax, dword [ecx + 0x18]
mov edx, ecx
mov ecx, edi
mov dword [edi + 0x1bc], eax
call fcn.100dfdf0
mov ecx, dword [edi + 0x1bc]
dec dword [edi + 0x1c4]
cmp ecx, esi
jne 0x1010b3b0
mov edi, dword [ebp - 0x204]
mov ecx, dword [ebp - 0x1d0]
cmp edi, 1
jne 0x1010b441
mov eax, dword [esi + 0x18]
mov edx, esi
mov dword [ecx + 0x1bc], eax
call fcn.100dfdf0
cmp dword [ebp - 0x214], 0
mov ecx, dword [ebp - 0x1d0]
jne 0x1010b473
dec dword [ecx + 0x1c4]
push ebx
mov edx, edi
call fcn.1014b4c0
add esp, 4
mov dword [ebp - 0x1dc], eax
mov edi, dword [ebp - 0x1d4]
test eax, eax
jne 0x1010c33b
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
cmp dword [ebp - 0x214], 0
mov eax, dword [esi + 8]
mov dword [ecx + 0x1d0], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0x1d4], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x1d8], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x1dc], eax
je 0x1010b408
cmp edi, 2
je 0x1010b408
mov eax, dword [ebp - 0x1dc]
mov edi, dword [ebp - 0x1d4]
test eax, eax
jne 0x1010c33b
mov esi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov dword [ebp - 0x4c], 0
mov edx, dword [edx + 8]
test edx, edx
je 0x1010b4c0
mov eax, dword [ecx + 0x20]
and eax, 0x100000
or eax, 0
jne 0x1010ed53
mov eax, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1d0]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x1010b5a0
lea eax, [ebp - 0x4c]
mov ecx, esi
push eax
call fcn.100f5350
add esp, 4
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010ed5d
mov edi, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1d4]
cmp dword [edi + 8], eax
mov edi, dword [ebp - 0x1d0]
je 0x1010b5ac
test byte [ebx + 0x98], 0x80
je 0x1010b5ac
cmp byte [edi + 0x4f], al
je 0x1010b536
cmp dword [edi + 0xb0], 1
jle 0x1010b5ac
mov eax, dword [ebx + 0x30]
test eax, eax
jne 0x1010b552
mov eax, dword [edi + 0x1c4]
inc dword [edi + 0x1c8]
add eax, dword [edi + 0x1c8]
mov dword [ebx + 0x30], eax
dec eax
xor edx, edx
push eax
mov ecx, edi
call fcn.1014b4c0
add esp, 4
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010b57a
mov edx, dword [ebx + 0x30]
mov ecx, esi
call fcn.100f6760
mov dword [ebp - 0x1dc], eax
mov eax, dword [edi + 0x1d0]
mov dword [ebx + 0x48], eax
mov eax, dword [edi + 0x1d4]
mov dword [ebx + 0x4c], eax
mov eax, dword [edi + 0x1d8]
mov dword [ebx + 0x50], eax
mov eax, dword [edi + 0x1dc]
mov dword [ebx + 0x54], eax
jmp 0x1010b5a6
mov ebx, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1cc]
cmp word [esi + 2], 0
je 0x1010b5e5
mov eax, dword [ebp - 0x4c]
cmp eax, dword [esi + 0xc]
jne 0x1010ed99
mov eax, esi
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x10]
jne 0x1010ed99
mov eax, dword [ebp - 0x1dc]
mov edi, dword [ebp - 0x1d4]
test eax, eax
jne 0x1010c33b
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
lea eax, [ebp - 0x88]
mov ecx, dword [ecx + 0x10]
push eax
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.100fcca0
mov eax, dword [ebp - 0x1cc]
add esp, 4
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x1010b675
call fcn.10108910
mov esi, dword [ebp - 0x1cc]
mov ecx, eax
mov eax, dword [ebp - 0x88]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x1d8]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x1d0]
add esi, 0x14
jmp 0x10108a50
mov esi, dword [ebp - 0x1cc]
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x88]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x1d8]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x1d0]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov esi, dword [edx + 4]
push dword [edx + 0xc]
mov edx, dword [edx + 8]
shl esi, 4
add esi, dword [ecx + 0x10]
mov ecx, dword [esi + 4]
call fcn.100fcd00
mov dword [ebp - 0x1dc], eax
add esp, 4
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax + 8]
cmp eax, 1
jne 0x1010b6f2
mov ecx, dword [esi + 0xc]
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax + 0xc]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1d0]
or dword [eax + 0x18], 1
jmp 0x1010b70c
cmp eax, 2
jne 0x1010b706
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [esi + 0xc]
mov al, byte [eax + 0xc]
mov byte [ecx + 0x4c], al
mov eax, dword [ebp - 0x1d0]
mov esi, dword [ebp - 0x1cc]
cmp dword [esi + 4], 1
jne 0x1010b740
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1010b739
nop
mov eax, dword [ecx + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [ecx + 0x98], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x1010b720
and dword [edi + 0x98], 0xfffffffc
mov eax, dword [ebp - 0x1dc]
test eax, eax
jne 0x1010c33b
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov ebx, dword [ebp - 0x1cc]
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
test esi, esi
je case.0x10108a74.109
mov eax, dword [esi + 0x34]
cmp eax, dword [ebx + 8]
je 0x1010b8c0
mov eax, dword [edi + 0x98]
and al, 3
cmp al, 1
je 0x1010edfa
mov eax, dword [ebp - 0x1cc]
xor ebx, ebx
mov edi, dword [ebp - 0x1d0]
mov ecx, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov eax, esi
shl eax, 4
add eax, dword [edi + 0x10]
mov dword [ebp - 0x1fc], ecx
mov dword [ebp - 0x20c], esi
mov edi, dword [eax + 4]
mov dword [ebp - 0x1f0], edi
cmp dl, 0x6e
jne 0x1010b7f3
mov edx, dword [ebp - 0x1cc]
mov eax, dword [eax + 0xc]
movzx edi, word [edx + 2]
mov edx, dword [ebp - 0x1d4]
and edi, 8
mov al, byte [eax + 0x4c]
or edi, 4
cmp al, byte [edx + 0x93]
jae 0x1010b7f5
mov byte [edx + 0x93], al
jmp 0x1010b7f5
xor edi, edi
mov eax, dword [ebp - 0x1cc]
test byte [eax + 2], 0x10
je 0x1010b83b
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x1e4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.100ff560
mov dword [esi], eax
mov ecx, 0x3e00
mov ax, word [esi + 8]
and ax, cx
mov dword [esi + 4], edx
or ax, 4
mov word [esi + 8], ax
mov eax, dword [esi]
mov esi, dword [ebp - 0x20c]
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x1cc]
mov al, byte [ecx + 1]
cmp al, 0xf7
jne 0x1010b851
mov ebx, dword [ecx + 0x10]
movzx eax, word [ebx + 8]
jmp 0x1010b85c
cmp al, 0xfd
jne 0x1010b85a
mov eax, dword [ecx + 0x10]
jmp 0x1010b85c
mov eax, ebx
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x1d4]
push 0
push esi
push eax
call fcn.10108640
mov esi, eax
add esp, 0xc
test esi, esi
je 0x1010ad4d
push dword [esi + 0x28]
mov eax, dword [ebp - 0x1fc]
mov edx, eax
mov ecx, dword [ebp - 0x1f0]
or dword [esi + 8], 4
push ebx
push edi
mov byte [esi + 2], 1
mov dword [esi + 0x34], eax
call fcn.100f6880
mov edi, dword [ebp - 0x1d4]
add esp, 0xc
mov dword [ebp - 0x1dc], eax
mov eax, dword [ebp - 0x1cc]
mov dword [esi + 0x2c], ebx
cmp byte [eax + 1], 0xf7
setne al
mov byte [esi + 4], al
mov eax, dword [ebp - 0x1cc]
mov cl, byte [eax + 2]
mov eax, dword [esi + 0x28]
and cl, 3
mov byte [eax + 3], cl
mov eax, dword [ebp - 0x1dc]
test eax, eax
jne 0x1010c33b
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edi + 0x60]
push 0
push 0xffffffffffffffff
mov ecx, dword [edx + 8]
mov edx, dword [edx + 4]
mov edi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x1d4]
movsx eax, word [edi + 0x38]
push eax
call fcn.10108640
add esp, 0xc
test eax, eax
je 0x1010ad4d
or dword [eax + 8], 1
push dword [eax + 0x28]
mov byte [eax + 2], 1
mov esi, dword [edi + 0x2c]
mov dword [eax + 0x2c], esi
mov cl, byte [edi + 4]
mov byte [eax + 4], cl
mov edx, dword [edi + 0x34]
mov dword [eax + 0x34], edx
mov ecx, dword [edi + 0xc]
push esi
push 4
call fcn.100f6880
mov esi, dword [ebp - 0x1cc]
mov ecx, eax
mov edi, dword [ebp - 0x1d4]
add esp, 0xc
mov eax, dword [ebp - 0x1d8]
mov dword [ebp - 0x1dc], ecx
mov ecx, dword [ebp - 0x1d0]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edi + 0x60]
push 0
mov edx, dword [edx + 4]
mov ecx, dword [eax + edx*4]
test ecx, ecx
je 0x1010b9ac
mov edx, dword [ecx + 0x34]
mov ecx, dword [ecx + 0xc]
call fcn.100fc750
add esp, 4
mov dword [ebp - 0x1dc], eax
jmp 0x1010bac6
mov eax, dword [ebp - 0x1cc]
mov ecx, edi
push 0xffffffffffffffff
push dword [eax + 8]
call fcn.10108640
mov esi, eax
add esp, 0xc
test esi, esi
je 0x1010f189
mov eax, dword [ebp - 0x1cc]
lea edi, [esi + 0xc]
or dword [esi + 8], 1
xor edx, edx
mov byte [esi + 2], 1
push 0x41e
movzx eax, word [eax + 2]
or eax, 5
push eax
mov eax, dword [ebp - 0x1d0]
push edi
push eax
mov ecx, dword [eax]
call fcn.100f4120
add esp, 0x10
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010ba9a
mov ecx, dword [edi]
lea edx, [eax + 1]
push eax
call fcn.100f5350
add esp, 4
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010ba9a
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [edi]
mov ebx, dword [eax + 0x10]
mov dword [esi + 0x2c], ebx
test ebx, ebx
je 0x1010ba75
movzx eax, word [eax + 2]
lea edx, [esi + 0x34]
or eax, 2
push eax
call fcn.100fc4d0
add esp, 4
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010ba6f
push dword [esi + 0x28]
mov edx, dword [esi + 0x34]
mov ecx, dword [edi]
push ebx
push 4
call fcn.100f6880
add esp, 0xc
mov dword [ebp - 0x1dc], eax
mov byte [esi + 4], 0
jmp 0x1010ba9a
push dword [esi + 0x28]
mov edx, 1
mov dword [esi + 0x34], 1
push 0
push 4
call fcn.100f6880
add esp, 0xc
mov dword [ebp - 0x1dc], eax
mov byte [esi + 4], 1
mov eax, dword [ebp - 0x1cc]
xor ecx, ecx
mov edi, dword [ebp - 0x1d4]
cmp word [eax + 2], 8
mov eax, 4
cmovne ecx, eax
mov eax, dword [esi + 8]
and eax, 0xfffffffb
or ecx, eax
mov eax, dword [ebp - 0x1dc]
mov dword [esi + 8], ecx
test eax, eax
jne 0x1010c33b
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ecx, edi
push 1
push 0xffffffffffffffff
push dword [edx + 8]
mov edx, dword [edx + 4]
call fcn.10108640
add esp, 0xc
test eax, eax
je 0x1010f189
mov edx, dword [ebp - 0x1cc]
push eax
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x2c], ecx
mov edx, dword [edx + 0xc]
mov ecx, dword [ebp - 0x1d0]
call fcn.101108a0
add esp, 4
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010c33b
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edi + 0x60]
mov ecx, dword [edx + 4]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x10]
mov ecx, edi
mov esi, dword [edx + 0x14]
add ecx, 1
mov eax, esi
mov dword [edx + 0x10], ecx
adc eax, 0
or edi, esi
mov esi, dword [ebp - 0x1cc]
mov dword [edx + 0x14], eax
je 0x1010e4e2
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ecx, edi
push 3
push 0xffffffffffffffff
push dword [edx + 0xc]
mov edx, dword [edx + 4]
call fcn.10108640
add esp, 0xc
test eax, eax
je 0x1010f189
mov ecx, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1cc]
mov byte [eax + 2], 1
mov ecx, dword [ecx + 8]
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x1d0]
mov byte [eax + 4], 1
mov dword [eax + 0x28], 0x102ad290
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ecx, edi
mov eax, dword [edx + 4]
mov edx, dword [edi + 0x60]
mov edx, dword [edx + eax*4]
call fcn.10102590
mov eax, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x60]
mov dword [eax + ecx*4], 0
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edi + 0x60]
xor edi, edi
mov dword [ebp - 0x20c], edi
mov ecx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 4], 0
mov byte [esi + 2], 0
je 0x1010bd17
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov al, byte [edi + 8]
and al, 0xe
cmp al, 2
jne 0x1010bc7d
xor edx, edx
mov ecx, edi
call fcn.10108730
mov ecx, edi
call fcn.100ff560
movzx ecx, word [edi + 8]
mov dword [ebp - 0x1fc], eax
mov dword [ebp - 0x1f0], edx
test cl, 4
jne 0x1010bccc
test cl, 8
je 0x1010e4dc
mov ecx, eax
call fcn.101d65a0
movsd xmm1, qword [edi]
comisd xmm0, xmm1
jbe 0x1010bcc0
test bl, 1
lea eax, [ebx - 1]
cmove eax, ebx
mov ebx, eax
jmp 0x1010bccc
comisd xmm1, xmm0
jbe 0x1010bccc
test bl, 1
jne 0x1010bccc
inc ebx
mov edi, dword [ebp - 0x1fc]
lea eax, [ebp - 0x14]
mov ecx, dword [esi + 0x28]
xor edx, edx
push eax
push 0
push dword [ebp - 0x1f0]
push edi
call fcn.100f7570
mov dword [ebp - 0x1dc], eax
add esp, 0x10
mov eax, dword [ebp - 0x1f0]
mov dword [esi + 0x44], eax
mov eax, dword [ebp - 0x1dc]
mov dword [esi + 0x40], edi
test eax, eax
jne 0x1010c335
mov edi, dword [ebp - 0x20c]
jmp 0x1010bdb0
mov ecx, dword [esi + 0x28]
mov edx, 2
call fcn.100fdfe0
mov ecx, dword [ebp - 0x1cc]
lea edx, [ebp - 0xc0]
test eax, eax
mov eax, 1
cmovne edi, eax
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0xc0], eax
test bl, 1
mov ax, word [ecx + 0x10]
mov word [ebp - 0xb8], ax
sete al
mov byte [ebp - 0xb2], 0
lea eax, [eax*2 - 1]
mov byte [ebp - 0xb6], al
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xbc], eax
lea eax, [ebp - 0x14]
mov ecx, dword [esi + 0x28]
push eax
push 0
push 0
push 0
call fcn.100f7570
add esp, 0x10
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010c335
test edi, edi
je 0x1010bdb0
cmp byte [ebp - 0xb2], al
je 0x1010be6f
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
mov eax, dword [ebp - 0x14]
cmp ebx, 0x18
jl 0x1010be44
test eax, eax
js 0x1010be01
jne 0x1010bdd2
cmp ebx, 0x19
je 0x1010be01
mov ecx, dword [ebp - 0x1cc]
test edi, edi
mov edi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
mov dword [ebp - 0x14], 0
lea esi, [ecx + 0x14]
cmove esi, ecx
mov ecx, dword [ebp - 0x1d0]
add esi, 0x14
jmp 0x10108a50
mov dword [ebp - 0x14], 0
push 0
push dword [esi + 0x28]
call fcn.100f7ba0
add esp, 8
mov dword [ebp - 0x1dc], eax
test eax, eax
je 0x1010be6f
mov edi, dword [ebp - 0x1d4]
cmp eax, 0x65
jne 0x1010c33b
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x14], 1
jmp 0x1010da32
test eax, eax
jg 0x1010be5c
jne 0x1010be4f
cmp ebx, 0x16
je 0x1010be5c
mov ecx, dword [esi + 0x28]
call fcn.100f7a40
mov dword [ebp - 0x14], eax
jmp 0x1010be72
mov dword [ebp - 0x14], 0
push 0
push dword [esi + 0x28]
call fcn.100f7cd0
jmp 0x1010be12
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x1010e4dc
mov ecx, dword [ebp - 0x1cc]
test edi, edi
mov edi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
lea esi, [ecx + 0x14]
cmove esi, ecx
mov ecx, dword [ebp - 0x1d0]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov esi, edx
mov eax, dword [edi + 0x60]
mov ecx, dword [edx + 4]
mov ecx, dword [eax + ecx*4]
mov eax, edx
mov eax, dword [eax + 8]
shl eax, 3
xor eax, dword [ecx + 8]
and eax, 8
xor dword [ecx + 8], eax
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov ecx, dword [esi + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
test byte [eax + 8], 8
jne 0x10108b34
mov ecx, dword [esi + 4]
mov eax, dword [edi + 0x60]
mov edx, dword [ebp - 0x1e4]
mov ebx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
test ecx, ecx
jle 0x1010bf30
mov eax, dword [ebx + 0x2c]
lea edi, [ebp - 0x130]
mov dword [ebp - 0x12c], esi
xor esi, esi
mov dword [ebp - 0x130], eax
mov word [ebp - 0x128], cx
jmp 0x1010bf76
mov eax, 0x4000
test word [esi + 8], ax
je 0x1010bf4a
mov ecx, esi
call fcn.100ff140
test eax, eax
jne 0x1010f189
mov ecx, dword [ebx + 0x2c]
call fcn.10103fd0
mov edi, eax
mov dword [ebp - 0x1fc], edi
test edi, edi
je 0x1010ad4d
mov edx, dword [esi + 0xc]
mov ecx, dword [ebx + 0x2c]
push edi
push dword [esi + 0x10]
call fcn.10104030
add esp, 8
mov esi, edi
mov eax, dword [ebp - 0x1cc]
mov byte [edi + 0xa], 0
mov dword [ebp - 0x1fc], 0
cmp byte [eax], 0x1b
jne 0x1010bfb9
movzx edx, word [edi + 8]
xor ecx, ecx
test edx, edx
je 0x1010bfb9
mov eax, dword [edi + 4]
add eax, 8
nop
test byte [eax], 1
jne 0x1010bfaf
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x1010bfa0
jmp 0x1010bfb9
mov dword [ebp - 0x1fc], 1
mov ecx, dword [ebx + 0x28]
lea eax, [ebp - 0x70]
push eax
push 0
push 0
push 0
mov edx, edi
call fcn.100f7570
add esp, 0x10
mov dword [ebp - 0x1dc], eax
test esi, esi
je 0x1010bfed
mov ecx, dword [ebp - 0x1d0]
mov edx, esi
call fcn.100dfdf0
mov eax, dword [ebp - 0x1dc]
test eax, eax
jne 0x1010c335
mov eax, dword [ebp - 0x70]
xor ecx, ecx
mov esi, dword [ebp - 0x1cc]
mov dword [ebx + 0x20], eax
mov eax, dword [ebp - 0x70]
test eax, eax
mov byte [ebx + 3], 0
sete cl
mov dword [ebx + 0x1c], 0
test eax, eax
setne al
mov byte [ebx + 2], al
cmp byte [esi], 0x1d
jne 0x1010c045
test ecx, ecx
jne 0x1010e4e2
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
cmp dword [ebp - 0x1fc], 0
jne 0x1010e4e2
test ecx, ecx
je 0x1010e4e2
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 8]
mov edi, eax
test al, 4
jne 0x1010c0c0
push dword [ebp - 0x208]
mov dl, 0x43
mov ecx, esi
call fcn.101087e0
movzx eax, word [esi + 8]
add esp, 4
shr eax, 2
not eax
mov word [esi + 8], di
test al, 1
jne 0x1010e4dc
mov edx, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1d4]
mov ecx, dword [edx + 4]
mov eax, dword [edi + 0x60]
mov edx, dword [ebp - 0x1e4]
mov ebx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [ebx + 0x28]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x3c], 0
lea eax, [eax + eax*4]
mov esi, dword [edx + eax*8]
mov edi, dword [edx + eax*8 + 4]
lea eax, [ebp - 0x3c]
push eax
push 0
push edi
push esi
xor edx, edx
call fcn.100f7570
mov dword [ebx + 0x40], esi
add esp, 0x10
mov esi, dword [ebp - 0x1cc]
mov dword [ebx + 0x44], edi
mov word [ebx + 2], 0
mov dword [ebx + 0x1c], 0
mov dword [ebp - 0x1dc], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebx + 0x20], eax
cmp dword [ebp - 0x3c], 0
je 0x1010b5df
cmp dword [esi + 8], 0
jne 0x1010e4e2
mov ecx, 0x156b9
call fcn.10164260
mov dword [ebp - 0x1dc], eax
jmp 0x1010b5e5
mov edx, dword [ebp - 0x1cc]
jmp 0x1010c0c6
mov ebx, dword [ebp - 0x1cc]
mov ecx, edi
mov edx, ebx
call fcn.10108930
mov ecx, dword [edi + 0x60]
mov esi, ebx
mov edx, dword [ebx + 4]
mov edx, dword [ecx + edx*4]
mov ecx, dword [edx + 0x10]
mov dword [eax], ecx
mov ecx, dword [edx + 0x14]
mov dword [eax + 4], ecx
mov eax, ebx
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x1d0]
add dword [eax + 0x10], 1
adc dword [eax + 0x14], 0
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
xorps xmm0, xmm0
mov ecx, edi
movlpd qword [ebp - 0x20], xmm0
mov dword [ebp - 0x2c], 0
call fcn.10108930
mov ecx, dword [edi + 0x60]
mov ebx, eax
mov eax, dword [ebp - 0x1cc]
mov edx, dword [eax + 4]
mov edi, dword [ecx + edx*4]
test byte [edi + 8], 2
jne 0x1010c235
mov ecx, dword [edi + 0x28]
lea edx, [ebp - 0x2c]
call fcn.100f7510
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010c335
cmp dword [ebp - 0x2c], eax
je 0x1010c206
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x1c], eax
jmp 0x1010c235
mov ecx, dword [edi + 0x28]
call fcn.100f6aa0
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
cmp edx, 0x7fffffff
jl 0x1010c229
jg 0x1010c223
cmp eax, 0xffffffff
jb 0x1010c229
or dword [edi + 8], 2
jmp 0x1010c235
add eax, 1
mov dword [ebp - 0x20], eax
adc edx, 0
mov dword [ebp - 0x1c], edx
mov ecx, dword [ebp - 0x1cc]
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x1010c2d0
mov eax, dword [ebp - 0x1d4]
mov edx, dword [eax + 0xc8]
test edx, edx
je 0x1010c274
mov eax, dword [edx + 4]
test eax, eax
je 0x1010c269
nop dword [eax]
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x1010c260
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
jmp 0x1010c280
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x1e4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.100ff6c0
mov ecx, dword [esi]
mov edx, dword [esi + 4]
cmp ecx, 0xffffffff
jne 0x1010c29d
cmp edx, 0x7fffffff
je 0x1010c330
test byte [edi + 8], 2
jne 0x1010c330
add ecx, 1
adc edx, 0
cmp dword [ebp - 0x1c], edx
jg 0x1010c2c5
jl 0x1010c2bb
mov eax, dword [ebp - 0x20]
cmp eax, ecx
jae 0x1010c2c8
mov eax, ecx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], eax
jmp 0x1010c2c8
mov eax, dword [ebp - 0x20]
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], eax
test byte [edi + 8], 2
je 0x1010c412
xor esi, esi
nop dword [eax]
lea eax, [ebp - 0x20]
push eax
push 8
call fcn.100e2820
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
and eax, 0x3fffffff
add ecx, 1
push edx
adc eax, 0
mov dword [ebp - 0x20], ecx
push 0
push eax
mov dword [ebp - 0x1c], eax
xor edx, edx
push ecx
mov ecx, dword [edi + 0x28]
call fcn.100f7570
add esp, 0x18
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010c335
cmp dword [ebp - 0x2c], eax
jne 0x1010c412
inc esi
cmp esi, 0x64
jl 0x1010c2e0
mov eax, 0xd
mov edi, dword [ebp - 0x1d4]
mov ebx, dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x1d0]
mov edx, 7
cmp byte [ecx + 0x51], 0
cmovne eax, edx
cmp dword [edi + 0x7c], 0
mov dword [ebp - 0x1dc], eax
jne 0x1010c382
cmp eax, 0xc0a
je 0x1010c382
mov ecx, eax
call fcn.10161c30
push eax
push 0x102682b4
push edi
call fcn.10100770
mov eax, dword [ebp - 0x1dc]
add esp, 0xc
mov ecx, dword [ebp - 0x1d0]
mov edx, eax
mov dword [edi + 0x28], eax
call fcn.100e30d0
mov ecx, dword [ebp - 0x1cc]
mov eax, 0x66666667
push dword [edi + 0x7c]
sub ecx, ebx
push dword [edi + 0xc0]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.statement_aborts_at__d:___s___s
push dword [ebp - 0x1dc]
call fcn.100e2740
add esp, 0x14
mov ecx, edi
call fcn.101031e0
cmp dword [ebp - 0x1dc], 0xc0a
jne 0x1010c3e6
mov ecx, dword [ebp - 0x1d0]
call fcn.100e0520
mov al, byte [ebp - 0x215]
mov dword [ebp - 0x1dc], 1
test al, al
je 0x1010f1a1
mov ecx, dword [ebp - 0x1d0]
movzx edx, al
dec edx
call fcn.10123130
jmp 0x1010f1a1
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
mov byte [edi + 3], 0
mov dword [edi + 0x1c], 0
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x1d4]
mov dword [ebx], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
cmp byte [edx + 1], 0xfa
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
lea edi, [eax + eax*4]
mov eax, dword [ebp - 0x1d4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x1f0], esi
lea eax, [eax + eax*4]
mov ecx, dword [ebx + eax*8]
mov dword [ebp - 0x150], ecx
mov eax, dword [ebx + eax*8 + 4]
mov dword [ebp - 0x20c], ecx
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x14c], eax
jne 0x1010c4c0
mov eax, dword [ebp - 0x1d0]
cmp dword [eax + 0xec], 0
je 0x1010c4c0
movsx ecx, byte [esi + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov ebx, dword [edx + 0x10]
mov ecx, dword [eax + ecx*8]
mov dword [ebp - 0x1fc], ecx
jmp 0x1010c4c8
xor ebx, ebx
mov dword [ebp - 0x1fc], ebx
movzx eax, word [edx + 2]
mov edx, eax
test al, 1
je 0x1010c4e5
mov eax, dword [ebp - 0x1d4]
inc dword [eax + 0x2c]
mov eax, dword [ebp - 0x1cc]
movzx edx, word [eax + 2]
movzx ecx, dx
test dl, 0x20
je 0x1010c50f
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x20c]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x224]
mov dword [ecx + 0x2c], eax
mov eax, dword [ebp - 0x1cc]
movzx ecx, word [eax + 2]
mov edx, dword [ebp - 0x1e4]
mov eax, dword [edx + edi*8 + 0x10]
mov dword [ebp - 0x148], eax
mov eax, dword [edx + edi*8 + 0xc]
mov dword [ebp - 0x13c], eax
test cl, 0x10
je 0x1010c533
mov edx, dword [esi + 0x20]
jmp 0x1010c535
xor edx, edx
mov eax, dword [ebp - 0x1e4]
mov esi, 0x4000
test word [eax + edi*8 + 8], si
mov esi, dword [ebp - 0x1f0]
je 0x1010c558
mov eax, dword [eax + edi*8]
mov dword [ebp - 0x138], eax
jmp 0x1010c562
mov dword [ebp - 0x138], 0
push edx
and ecx, 0xa
mov dword [ebp - 0x158], 0
push ecx
mov ecx, dword [esi + 0x28]
lea edx, [ebp - 0x158]
call fcn.100fb840
add esp, 8
mov dword [ebp - 0x1dc], eax
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
test eax, eax
jne 0x1010c335
test ebx, ebx
je 0x10108ff5
push dword [ebp - 0x14c]
mov eax, dword [ebp - 0x1cc]
mov ecx, 0x17
push dword [ebp - 0x150]
push dword [ebx]
test byte [eax + 2], 4
mov eax, 0x12
push dword [ebp - 0x1fc]
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0x1d0]
push dword [eax + 0xe8]
mov eax, dword [eax + 0xec]
call eax
mov esi, dword [ebp - 0x1cc]
add esp, 0x18
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
cmp byte [edx + 1], 0xfa
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
mov dword [ebp - 0x1fc], eax
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
jne 0x1010c664
mov eax, dword [ebp - 0x1d0]
cmp dword [eax + 0xec], 0
je 0x1010c664
movsx ecx, byte [esi + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
test byte [edx + 2], 2
mov edi, dword [edx + 0x10]
mov ebx, dword [eax + ecx*8]
je 0x1010c668
cmp byte [esi + 4], 0
je 0x1010c668
mov ecx, dword [esi + 0x28]
call fcn.100f6aa0
mov dword [esi + 0x44], edx
mov edx, dword [ebp - 0x1cc]
mov dword [esi + 0x40], eax
jmp 0x1010c668
xor ebx, ebx
xor edi, edi
mov dl, byte [edx + 2]
mov ecx, dword [esi + 0x28]
call fcn.100fbc90
mov dword [ebp - 0x1dc], eax
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
test eax, eax
jne 0x1010c335
test byte [ebp - 0x1fc], 1
mov ecx, dword [ebp - 0x1d0]
je 0x1010b17f
mov eax, dword [ebp - 0x1d4]
inc dword [eax + 0x2c]
mov eax, dword [ecx + 0xec]
test eax, eax
je 0x1010b17f
test byte [edi + 0x24], 0x20
jne 0x1010b17f
push dword [esi + 0x44]
push dword [esi + 0x40]
push dword [edi]
push ebx
push 9
push dword [ecx + 0xe8]
call eax
mov esi, dword [ebp - 0x1cc]
add esp, 0x18
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [edi + 0x2c]
call fcn.10105490
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
mov dword [edi + 0x2c], 0
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edi + 0x60]
mov ecx, dword [edx + 4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0x1e4]
mov dword [ebp - 0x6c], 0
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
lea eax, [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x1cc]
push dword [eax + 0x10]
call fcn.10112b10
add esp, 8
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010c33b
mov esi, dword [ebp - 0x1cc]
cmp dword [ebp - 0x6c], eax
jmp 0x10108b2e
mov ebx, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov ecx, dword [eax + ecx*4]
call fcn.10112a70
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010c33b
mov eax, ebx
mov esi, ebx
mov ecx, dword [eax + 0xc]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x1d0]
mov dword [eax + 0x1c], 0
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ecx, edi
call fcn.10108930
mov ecx, dword [edi + 0x60]
mov esi, eax
mov eax, dword [ebp - 0x1cc]
mov edx, dword [eax + 4]
mov ecx, dword [ecx + edx*4]
mov edi, dword [ecx + 0x28]
mov ecx, edi
call fcn.100f6ab0
mov ecx, dword [ebp - 0x1d0]
cmp eax, dword [ecx + 0x6c]
ja 0x1010eed1
push esi
push eax
xor edx, edx
mov ecx, edi
call fcn.100fff30
add esp, 8
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010c335
mov edi, dword [ebp - 0x1cc]
cmp dword [edi + 0xc], eax
jne 0x10108ff5
mov eax, 0x1000
test word [esi + 8], ax
je 0x10108ff5
mov ecx, esi
call fcn.100ff0f0
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1d4]
test eax, eax
jne 0x1010ad59
mov esi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ecx, edi
call fcn.10108930
mov ecx, dword [ebp - 0x1cc]
mov edi, eax
mov ebx, dword [ebp - 0x1d4]
mov edx, dword [ecx + 4]
mov ecx, dword [ebx + 0x60]
mov esi, dword [ecx + edx*4]
cmp byte [esi + 2], 0
je 0x1010c8ba
mov esi, dword [ebp - 0x1cc]
mov eax, 1
mov ecx, dword [ebp - 0x1d0]
mov word [edi + 8], ax
mov edi, ebx
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
cmp byte [esi + 3], 0
je 0x1010c8f0
mov ecx, dword [esi + 0x40]
mov dword [ebp - 0x58], ecx
mov eax, dword [esi + 0x44]
mov esi, dword [ebp - 0x1cc]
mov dword [ebp - 0x54], eax
mov dword [edi], ecx
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x1d0]
mov dword [edi + 4], eax
mov edi, ebx
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
cmp byte [esi], 2
jne 0x1010c94d
mov ecx, dword [esi + 0x28]
lea edx, [ebp - 0x58]
push edx
push ecx
mov esi, dword [ecx]
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
add esp, 8
mov dword [ebp - 0x1dc], eax
mov edx, esi
mov ecx, ebx
call fcn.101055d0
mov eax, dword [ebp - 0x1dc]
test eax, eax
jne 0x1010f194
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x1cc]
mov dword [edi], ecx
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x1d0]
mov dword [edi + 4], eax
mov edi, ebx
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov ecx, esi
call fcn.10103ac0
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010f194
cmp byte [esi + 2], al
jne 0x1010c895
mov ecx, dword [esi + 0x28]
call fcn.100f6aa0
mov esi, dword [ebp - 0x1cc]
mov ecx, eax
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], edx
mov dword [edi], ecx
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x1d0]
mov dword [edi + 4], eax
mov edi, ebx
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov ecx, dword [esi + 4]
mov eax, dword [edi + 0x60]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 0
mov byte [ecx + 2], 1
mov dword [ecx + 0x1c], 0
jne 0x10108b34
mov ecx, dword [ecx + 0x28]
call fcn.100f2760
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov eax, dword [edi + 0x60]
mov ecx, dword [esi + 4]
mov esi, dword [eax + ecx*4]
mov edi, dword [esi + 0x28]
mov dword [ebp - 0x40], 0
cmp dl, 0x82
jne 0x1010ca06
mov ecx, edi
mov dword [esi + 0x20], 0xffffffff
call fcn.100f6a90
test eax, eax
jne 0x10108ff5
lea edx, [ebp - 0x40]
mov ecx, edi
call fcn.100f7510
mov dword [ebp - 0x1dc], eax
mov al, byte [ebp - 0x40]
mov byte [esi + 2], al
mov eax, dword [ebp - 0x1dc]
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
test eax, eax
jne 0x1010c335
mov esi, dword [ebp - 0x1cc]
cmp dword [esi + 8], eax
jle 0x10108ffb
cmp dword [ebp - 0x40], eax
jne 0x1010e4e2
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edi + 0x60]
mov ecx, dword [edx + 4]
lea edx, [ebp - 0x44]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x28]
mov ecx, esi
call fcn.100f74d0
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010c33b
cmp dword [ebp - 0x44], eax
jne 0x1010e4dc
mov ecx, esi
call fcn.100f7a50
test edx, edx
jl 0x1010cacd
jg 0x1010caab
test eax, eax
jb 0x1010cacd
push edx
push eax
call fcn.100e4560
mov esi, dword [ebp - 0x1cc]
add esp, 8
cwde
cmp eax, dword [esi + 0xc]
jge 0x1010cad3
mov dword [ebp - 0x44], 1
jmp 0x1010da38
mov esi, dword [ebp - 0x1cc]
cmp dword [ebp - 0x44], 0
jmp 0x10108b2e
inc dword [edi + 0xac]
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edi + 0x60]
mov ecx, dword [edx + 4]
lea edx, [ebp - 0x30]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x30], 1
cmp byte [esi], 1
jne 0x1010cb0f
mov ecx, esi
call fcn.10112940
mov dword [ebp - 0x1dc], eax
jmp 0x1010cb4a
mov edi, dword [esi + 0x28]
mov ecx, edi
call fcn.100f74d0
mov dword [ebp - 0x1dc], eax
mov eax, dword [ebp - 0x1cc]
cmp word [eax + 2], 0
je 0x1010cb33
mov ecx, edi
call fcn.100f7500
mov eax, dword [ebp - 0x1dc]
mov edi, dword [ebp - 0x1d4]
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
test eax, eax
jne 0x1010c33b
mov al, byte [ebp - 0x30]
mov byte [esi + 2], al
mov esi, dword [ebp - 0x1cc]
cmp dword [ebp - 0x30], 0
jmp 0x10108b2e
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edi + 0x60]
mov ecx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
mov edx, esi
mov ecx, dword [ebp - 0x1d0]
call fcn.101129e0
jmp 0x1010cba2
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edi + 0x60]
mov ecx, dword [edx + 4]
push dword [edx + 0xc]
mov esi, dword [eax + ecx*4]
mov eax, dword [edx + 0x10]
push dword [esi + 0x28]
call eax
add esp, 8
mov dword [ebp - 0x1dc], eax
mov dword [esi + 0x1c], 0
test eax, eax
jne 0x1010cbcc
mov byte [esi + 2], al
mov eax, dword [ebp - 0x1cc]
movzx eax, word [eax + 2]
inc dword [edi + eax*4 + 0xa4]
jmp 0x1010e66f
mov ebx, dword [ebp - 0x1e0]
cmp eax, 0x65
jne 0x1010c341
xor ecx, ecx
mov byte [esi + 2], 1
mov dword [ebp - 0x1dc], ecx
jmp 0x1010d4e1
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edi + 0x60]
mov ebx, dword [ebp - 0x1e4]
mov ecx, dword [edx + 4]
mov edi, dword [eax + ecx*4]
mov ecx, edx
test byte [ecx + 2], 1
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
je 0x1010cc1b
mov eax, dword [ebp - 0x1d4]
inc dword [eax + 0x2c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x1010cc3b
mov ecx, esi
call fcn.100ff140
test eax, eax
jne 0x1010c335
mov ecx, dword [ebp - 0x1cc]
cmp byte [ecx], 0x83
jne 0x1010cc4e
mov edx, esi
mov ecx, edi
call fcn.10111b00
jmp 0x1010b413
mov eax, dword [esi + 0xc]
cdq
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1bc], edx
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x1c8], eax
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [ebp - 0x1b4], eax
mov ax, word [ecx + 0x10]
mov word [ebp - 0x1b0], ax
movzx eax, word [ecx + 2]
test al, 0x10
je 0x1010cc8e
mov ecx, dword [edi + 0x20]
jmp 0x1010cc90
xor ecx, ecx
push ecx
mov ecx, dword [edi + 0x28]
lea edx, [ebp - 0x1c8]
and eax, 0xa
push eax
call fcn.100fb840
add esp, 8
mov dword [edi + 0x1c], 0
jmp 0x1010b413
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edi + 0x60]
mov ecx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [esi + 0x2c]
mov edi, dword [esi + 0x28]
mov dword [ebp - 0xe8], eax
mov ax, word [edx + 0xc]
mov word [ebp - 0xe0], ax
mov eax, dword [edx + 8]
lea edx, [ebp - 0xe8]
mov byte [ebp - 0xde], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [ebp - 0xe4], eax
lea eax, [ebp - 0x8c]
push eax
push 0
push 0
push 0
call fcn.100f7570
add esp, 0x10
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010c335
cmp dword [ebp - 0x8c], eax
jne 0x1010cd3e
mov dl, 4
mov ecx, edi
call fcn.100fbc90
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010c335
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov esi, dword [ebp - 0x1cc]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edi + 0x60]
mov ecx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
mov ecx, esi
call fcn.10103ac0
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010c33b
cmp byte [esi + 2], al
jne 0x1010ce43
mov ecx, dword [ebp - 0x1d0]
lea eax, [ebp - 0x60]
xorps xmm0, xmm0
movlpd qword [ebp - 0x60], xmm0
mov edx, dword [esi + 0x28]
push eax
call fcn.10105210
add esp, 4
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010c33b
mov eax, dword [ebp - 0x1cc]
cmp byte [eax], 0x86
jne 0x1010ce15
mov ecx, dword [eax + 0xc]
mov eax, dword [edi + 0x60]
mov ecx, dword [eax + ecx*4]
mov byte [ecx + 2], 0
mov eax, dword [ebp - 0x60]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0x5c]
mov dword [ecx + 0x44], eax
mov eax, dword [ebp - 0x1cc]
mov byte [ecx + 3], 1
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x18], eax
mov eax, dword [ebp - 0x1d8]
mov dword [ecx + 0x24], esi
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
add esi, 0x14
jmp 0x10108a50
mov edx, eax
mov ecx, edi
call fcn.10108930
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x1cc]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x5c]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.100ff940
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edi + 0x60]
cmp byte [ebp - 0x1e9], 0x27
mov ecx, dword [edx + 4]
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0xf8], eax
mov ax, word [ecx + 0x10]
mov word [ebp - 0xf0], ax
sbb al, al
mov byte [ebp - 0xee], al
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x1e4]
mov dword [ebp - 0x34], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, dword [ebp - 0x1d0]
mov dword [ebp - 0xf4], eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0xf8]
push eax
call fcn.10105370
mov dword [ebp - 0x1dc], eax
add esp, 8
mov eax, dword [ebp - 0x1cc]
test byte [eax], 1
mov eax, dword [ebp - 0x34]
je 0x1010cefc
neg eax
jmp 0x1010cefd
inc eax
cmp dword [ebp - 0x1dc], 0
mov dword [ebp - 0x34], eax
jne 0x1010ee80
mov esi, dword [ebp - 0x1cc]
test eax, eax
jg 0x1010e4e2
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ecx, edi
call fcn.10108930
mov esi, eax
mov eax, 1
mov word [esi + 8], ax
mov eax, dword [ebp - 0x1d0]
mov ecx, dword [eax + 0xbc]
inc ecx
cmp dword [eax + 0xb0], ecx
jg 0x1010ee04
mov edx, dword [ebp - 0x1cc]
lea eax, [ebp - 0x48]
mov ecx, dword [ebp - 0x1d0]
push eax
mov dword [ebp - 0x48], 0
mov ebx, dword [edx + 0xc]
mov eax, ebx
mov ecx, dword [ecx + 0x10]
add eax, eax
mov edx, dword [edx + 4]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.100fcc50
mov dword [ebp - 0x1dc], eax
add esp, 4
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0x48]
cdq
mov dword [esi], eax
mov eax, dword [ebp - 0x1dc]
mov dword [esi + 4], edx
test eax, eax
jne 0x1010c33b
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x10108d0a
mov ecx, dword [ebp - 0x1cc]
mov edx, ebx
push dword [ecx + 4]
mov ecx, dword [ebp - 0x1d0]
push eax
call fcn.10125b50
mov esi, dword [ebp - 0x1cc]
mov al, bl
mov ecx, dword [ebp - 0x1d0]
add esp, 8
inc al
mov byte [ebp - 0x215], al
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
lea eax, [ebp - 0x68]
mov ecx, dword [ecx + 0x10]
xor esi, esi
mov dword [ebp - 0x68], 0
cmp dword [edx + 0xc], esi
cmove eax, esi
push eax
mov eax, dword [edx + 8]
mov edx, dword [edx + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.100fc750
mov esi, dword [ebp - 0x1cc]
add esp, 4
mov dword [ebp - 0x1dc], eax
cmp dword [esi + 0xc], 0
je 0x1010d065
mov eax, dword [ebp - 0x68]
add dword [edi + 0x2c], eax
mov ecx, dword [esi + 0xc]
test ecx, ecx
jle 0x1010d05f
mov ebx, dword [ebp - 0x1e4]
lea ecx, [ecx + ecx*4]
cdq
add dword [ebx + ecx*8], eax
adc dword [ebx + ecx*8 + 4], edx
mov eax, dword [ebp - 0x1dc]
test eax, eax
jne 0x1010c33b
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edi + 0x60]
mov ecx, dword [edx + 4]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 1
jne 0x1010d0bd
mov edx, dword [ecx + 0x28]
mov ecx, dword [ebp - 0x1d0]
call fcn.10110df0
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov ecx, dword [ecx + 0x28]
call fcn.100fc810
mov dword [ebp - 0x1dc], eax
jmp 0x1010b41f
mov edx, dword [ebp - 0x1cc]
mov ecx, edi
call fcn.10108930
mov edx, dword [ebp - 0x1d0]
mov esi, eax
mov eax, dword [ebp - 0x1cc]
mov dword [ebp - 0x64], 0
mov ecx, dword [eax + 4]
push dword [eax + 0xc]
shl ecx, 4
add ecx, dword [edx + 0x10]
lea edx, [ebp - 0x64]
mov ecx, dword [ecx + 4]
call fcn.100fc4d0
add esp, 4
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010c33b
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x1d0]
cdq
mov dword [esi], eax
mov eax, dword [ebp - 0x1d8]
mov dword [esi + 4], edx
mov esi, dword [ebp - 0x1cc]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
inc byte [ecx + 0x5a]
push 0
push 0
push 0
push dword [edx + 0x10]
push ecx
call fcn.101356f0
mov ecx, dword [ebp - 0x1d0]
add esp, 0x14
mov dword [ebp - 0x1dc], eax
dec byte [ecx + 0x5a]
test eax, eax
jne 0x1010c33b
mov esi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ecx, dword [edx + 0x10]
mov esi, dword [edx + 4]
test ecx, ecx
jne 0x1010d1da
mov ebx, dword [ebp - 0x1d0]
mov ecx, esi
add ecx, ecx
mov eax, dword [ebx + 0x10]
push dword [eax + ecx*8 + 0xc]
call fcn.10129a00
and dword [ebx + 0x18], 0xfffffff7
lea eax, [edi + 0x7c]
add esp, 4
mov edx, esi
mov ecx, ebx
push 1
push eax
call fcn.10139ca0
mov ecx, ebx
mov dword [ebp - 0x1dc], eax
add esp, 8
or dword [ecx + 0x18], 1
and dword [edi + 0x98], 0xfffffffc
jmp 0x1010d2a8
mov edx, dword [ebp - 0x1d0]
lea eax, [edi + 0x7c]
mov dword [ebp - 0xd0], esi
add esi, esi
mov dword [ebp - 0xd4], eax
push ecx
mov eax, dword [edx + 0x10]
push str.sqlite_master
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0xc8], 0
push dword [eax + esi*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push edx
call fcn.100e2540
mov esi, eax
add esp, 0x14
test esi, esi
je 0x1010ee15
mov ebx, dword [ebp - 0x1d0]
lea eax, [ebp - 0xd8]
push 0
push eax
push fcn.10139a70
push esi
push ebx
mov byte [ebx + 0xa5], 1
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc4], 0
call fcn.101356f0
add esp, 0x14
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010d290
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010d290
cmp dword [ebp - 0xc4], eax
jne 0x1010d290
mov ecx, 0x15c40
call fcn.10164260
mov dword [ebp - 0x1dc], eax
mov edx, esi
mov ecx, ebx
call fcn.100dfdf0
mov eax, dword [ebp - 0x1dc]
mov ecx, ebx
mov byte [ecx + 0xa5], 0
test eax, eax
jne 0x1010ee1f
mov esi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov edx, dword [edx + 4]
call fcn.101210d0
mov dword [ebp - 0x1dc], eax
jmp 0x1010b41f
mov edx, dword [ebp - 0x1cc]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.10123650
mov esi, dword [ebp - 0x1cc]
add esp, 4
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.10122f60
mov esi, dword [ebp - 0x1cc]
add esp, 4
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.10146470
mov esi, dword [ebp - 0x1cc]
add esp, 4
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov ebx, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1e4]
mov ecx, dword [ecx + 0x10]
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
add edx, 4
lea esi, [eax + eax*4]
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
lea eax, [ebp - 0x84]
push eax
mov eax, dword [ebp - 0x1e4]
mov eax, dword [eax + esi*8]
inc eax
push eax
movzx eax, word [ebx + 2]
push dword [ebx + 8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.100fd880
add esp, 0xc
mov ecx, edi
mov ebx, eax
call fcn.100ff940
mov eax, dword [ebp - 0x84]
test eax, eax
je 0x1010d3f1
test ebx, ebx
je 0x1010ad4d
mov ecx, dword [ebp - 0x1e4]
dec eax
cdq
push fcn.100dfd40
push 1
sub dword [ecx + esi*8], eax
push 0xffffffffffffffff
sbb dword [ecx + esi*8 + 4], edx
mov edx, ebx
mov ecx, edi
call fcn.100ffbb0
add esp, 0xc
movzx edx, byte [ebp - 0x208]
mov ecx, edi
call fcn.100fef30
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 8], 0x10
lea esi, [ebx + eax*8]
mov eax, dword [edx + 8]
lea edi, [eax + eax*4]
jne 0x1010d450
mov ecx, esi
call fcn.100ff9d0
test eax, eax
jne 0x1010ad4d
push dword [ebx + edi*8 + 4]
mov ecx, dword [esi + 0x10]
push dword [ebx + edi*8]
call fcn.100e9d30
mov esi, dword [ebp - 0x1cc]
add esp, 8
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 8], 0x10
lea esi, [ebx + eax*8]
je 0x1010d567
mov ecx, dword [esi + 0x10]
lea edx, [ebp - 0xa0]
call fcn.100ea090
test eax, eax
je 0x1010d567
mov eax, dword [ebp - 0x1cc]
push dword [ebp - 0x9c]
push dword [ebp - 0xa0]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.100ff990
add esp, 8
mov ebx, dword [ebp - 0x1e0]
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
cmp dword [ecx + 0x108], 0
jne 0x1010f14a
mov eax, dword [ebp - 0x1d8]
cmp eax, dword [ebp - 0x230]
jb 0x1010eaeb
mov ecx, dword [ecx + 0x140]
test ecx, ecx
je 0x1010eae5
mov eax, dword [ebp - 0x1d0]
xor edx, edx
mov edi, dword [eax + 0x148]
mov eax, dword [ebp - 0x1d8]
div edi
mov eax, dword [ebp - 0x1d0]
sub edi, edx
add edi, dword [ebp - 0x1d8]
mov dword [ebp - 0x230], edi
push dword [eax + 0x144]
call ecx
mov edi, dword [ebp - 0x1d4]
add esp, 4
test eax, eax
je 0x10108b34
mov eax, 9
jmp 0x1010c341
mov ecx, esi
call fcn.100ff940
jmp 0x1010e66f
mov edx, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [edx + 4]
mov ebx, dword [edx + 0x10]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x10
lea esi, [ecx + eax*8]
mov eax, dword [edx + 0xc]
lea edi, [eax + eax*4]
jne 0x1010d5ad
mov ecx, esi
call fcn.100ff9d0
test eax, eax
jne 0x1010ad4d
mov ecx, dword [ebp - 0x1e4]
test ebx, ebx
je 0x1010d5cf
push dword [ecx + edi*8 + 4]
mov edx, ebx
push dword [ecx + edi*8]
mov ecx, dword [esi + 0x10]
call fcn.100ea0f0
add esp, 8
test eax, eax
jne 0x1010e4dc
test ebx, ebx
js 0x10108ff5
mov ebx, dword [ebp - 0x1e4]
jmp 0x1010d450
mov edx, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [edx + 0xc]
mov edi, dword [edx + 0x10]
mov dword [ebp - 0x1fc], edi
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, edx
mov dword [ebp - 0x1f0], ecx
cmp word [eax + 2], 0
je 0x1010d636
mov eax, dword [ebp - 0x1d4]
mov ecx, dword [edi + 0x14]
mov eax, dword [eax + 0xc8]
test eax, eax
je 0x1010d630
cmp dword [eax + 0x1c], ecx
je 0x10108ff5
mov eax, dword [eax + 4]
test eax, eax
jne 0x1010d620
mov ecx, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x1d4]
mov edx, dword [ebp - 0x1d0]
mov eax, dword [eax + 0xd0]
cmp eax, dword [edx + 0x94]
jge 0x1010ee4a
test byte [ecx + 8], 0x10
jne 0x1010d76e
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 8]
add eax, ecx
test ecx, ecx
lea esi, [eax + 1]
cmovne esi, eax
lea eax, [esi + 2]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*2]
mov eax, dword [edi + 4]
add eax, 7
mov eax, eax
test eax, eax
jns 0x1010d686
add eax, 7
sar eax, 3
lea edi, [eax + ecx*4]
mov ecx, dword [ebp - 0x1d0]
mov eax, edi
cdq
push edx
push eax
call fcn.100e0070
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x1010ad4d
mov ecx, dword [ebp - 0x1f0]
call fcn.100ff4b0
mov eax, dword [ebp - 0x1f0]
mov ecx, 0x410
mov dword [eax + 0xc], edi
mov edi, dword [ebp - 0x1fc]
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x1cc]
sub ecx, dword [ebp - 0x1e0]
mov dword [eax + 0x10], ebx
mov dword [eax + 0x24], 0x10101db0
mov eax, dword [ebp - 0x1d4]
mov dword [ebx], eax
mov dword [ebx + 0x3c], esi
mov eax, dword [edi + 0xc]
mov dword [ebx + 0x40], eax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1d4]
mov dword [ebx + 0x30], eax
mov eax, dword [edx + 0x58]
mov dword [ebx + 0x10], eax
mov eax, dword [edx + 0x18]
mov dword [ebx + 0x38], eax
mov eax, dword [edx + 0x60]
mov dword [ebx + 0x14], eax
mov eax, dword [edx + 0x1c]
mov dword [ebx + 0x2c], eax
mov eax, dword [edx + 0x68]
mov dword [ebx + 8], eax
mov eax, dword [edx + 0x6c]
mov dword [ebx + 0x34], eax
mov eax, dword [edi + 0x14]
mov dword [ebx + 0x1c], eax
lea eax, [esi + 2]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
lea eax, [ebx + 0x50]
cmp eax, ecx
je 0x1010d766
mov edx, dword [ebp - 0x1d0]
mov esi, 0x80
mov word [eax + 8], si
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x1010d752
mov edx, dword [ebp - 0x1d4]
mov eax, dword [edx + 0xd0]
jmp 0x1010d777
mov ebx, dword [ecx + 0x10]
mov edx, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d0]
lea esi, [ebx + 0x50]
inc eax
mov dword [ebp - 0x1e4], esi
mov dword [edx + 0xd0], eax
mov eax, dword [edx + 0xc8]
mov dword [ebx + 4], eax
mov eax, dword [ecx + 0x28]
mov dword [ebx + 0x20], eax
mov eax, dword [ecx + 0x2c]
mov dword [ebx + 0x24], eax
mov eax, dword [edx + 0x2c]
mov dword [ebx + 0x44], eax
mov eax, dword [edx]
mov eax, dword [eax + 0x64]
mov dword [ebx + 0x48], eax
mov eax, dword [edx + 0xdc]
mov dword [ebx + 0x28], eax
mov dword [edx + 0xdc], 0
mov dword [edx + 0x2c], 0
mov dword [edx + 0xc8], ebx
mov dword [edx + 0x58], esi
mov ecx, dword [ebx + 0x3c]
mov dword [edx + 0x18], ecx
movzx eax, word [ebx + 0x40]
mov dword [edx + 0x1c], eax
lea eax, [ecx + ecx*4]
lea ecx, [esi + eax*8]
mov dword [edx + 0x60], ecx
mov eax, dword [edi + 0xc]
lea ecx, [ecx + eax*4]
mov dword [ebx + 0x18], ecx
mov eax, dword [edi + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push 0
push ecx
call fcn.101ee530
mov eax, dword [ebp - 0x1d4]
add esp, 0xc
mov ebx, dword [edi]
mov ecx, dword [ebp - 0x1d0]
mov dword [ebp - 0x1e0], ebx
mov dword [eax + 0x68], ebx
mov eax, dword [edi + 4]
lea esi, [ebx - 0x14]
mov edi, dword [ebp - 0x1d4]
mov dword [edi + 0x6c], eax
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ecx, edi
call fcn.10108930
mov esi, eax
mov eax, dword [edi + 0xc8]
push 0x1000
mov ecx, dword [eax + 0x30]
lea edx, [ecx + ecx*4]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0x10]
mov ecx, dword [ecx + edx*4 + 4]
mov edx, dword [ebp - 0x1cc]
add ecx, dword [edx + 4]
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8]
mov ecx, esi
call fcn.100ffaf0
mov esi, dword [ebp - 0x1cc]
add esp, 4
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov eax, dword [ecx + 0x20]
and eax, 0x80000
or eax, 0
mov eax, dword [ebp - 0x1cc]
mov esi, eax
je 0x1010d8d1
mov eax, dword [eax + 8]
cdq
add dword [ecx + 0x1d8], eax
mov eax, dword [ebp - 0x1d8]
adc dword [ecx + 0x1dc], edx
add esi, 0x14
jmp 0x10108a50
cmp dword [eax + 4], 0
mov eax, dword [eax + 8]
cdq
je 0x1010d8f5
add dword [ecx + 0x1d0], eax
mov eax, dword [ebp - 0x1d8]
adc dword [ecx + 0x1d4], edx
add esi, 0x14
jmp 0x10108a50
add dword [edi + 0x40], eax
mov eax, dword [ebp - 0x1d8]
adc dword [edi + 0x44], edx
add esi, 0x14
jmp 0x10108a50
cmp dword [esi + 4], 0
je 0x1010d941
mov eax, dword [ecx + 0x1d0]
or eax, dword [ecx + 0x1d4]
jne 0x10108b3a
mov eax, dword [ecx + 0x1d8]
or eax, dword [ecx + 0x1dc]
je 0x1010da3e
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov eax, dword [edi + 0x40]
or eax, dword [edi + 0x44]
jmp 0x1010d91b
mov edx, dword [edi + 0xc8]
test edx, edx
je 0x1010d983
mov eax, dword [edx + 4]
test eax, eax
je 0x1010d969
nop word [eax + eax]
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x1010d960
mov eax, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edi, [eax + ecx*8]
jmp 0x1010d998
mov edx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov ecx, edi
call fcn.100ff6c0
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov ecx, esi
call fcn.100ff6c0
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x10108ff5
jl 0x1010d9cd
cmp dword [edi], eax
jae 0x10108ff5
mov esi, dword [ebp - 0x1cc]
mov dword [edi], eax
mov eax, dword [ebp - 0x1d8]
mov dword [edi + 4], ecx
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1d4]
add esi, 0x14
jmp 0x10108a50
mov eax, dword [esi + 4]
mov ebx, dword [ebp - 0x1e4]
lea esi, [eax + eax*4]
mov edi, dword [ebx + esi*8 + 4]
mov ecx, dword [ebx + esi*8]
test edi, edi
jl 0x10108ff5
jg 0x1010da17
test ecx, ecx
je 0x10108ff5
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax + 0xc]
cdq
sub ecx, eax
mov dword [ebx + esi*8], ecx
sbb edi, edx
mov dword [ebx + esi*8 + 4], edi
mov edi, dword [ebp - 0x1d4]
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [esi + 8]
mov edx, dword [ebp - 0x1e0]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea esi, [edx + eax*4]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ecx, edi
mov eax, dword [edx + 4]
lea esi, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea ebx, [eax + eax*4]
call fcn.10108930
mov edx, dword [ebp - 0x1e4]
mov edi, eax
mov ecx, dword [edx + esi*8 + 4]
mov eax, dword [edx + esi*8]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], ecx
test ecx, ecx
jl 0x1010dafa
jg 0x1010da96
test eax, eax
je 0x1010dafa
mov ecx, dword [edx + ebx*8 + 4]
mov eax, dword [edx + ebx*8]
test ecx, ecx
jl 0x1010daa7
jg 0x1010dabe
test eax, eax
jne 0x1010dabe
xorps xmm0, xmm0
movlpd qword [ebp - 0x200], xmm0
mov ecx, dword [ebp - 0x1fc]
mov eax, dword [ebp - 0x200]
push ecx
push eax
lea ecx, [ebp - 0x78]
call fcn.100e42c0
add esp, 8
test eax, eax
jne 0x1010dafa
mov eax, dword [ebp - 0x78]
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
mov dword [edi], eax
mov eax, dword [ebp - 0x74]
mov dword [edi + 4], eax
mov edi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
mov dword [edi], 0xffffffff
mov dword [edi + 4], 0xffffffff
mov edi, dword [ebp - 0x1d4]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov eax, dword [edx + 4]
lea esi, [eax + eax*4]
mov ecx, dword [ebx + esi*8]
mov eax, ecx
mov edx, dword [ebx + esi*8 + 4]
or eax, edx
je 0x10108d0a
test edx, edx
jl 0x1010da32
jg 0x1010db5c
test ecx, ecx
je 0x1010da32
sub ecx, 1
mov dword [ebx + esi*8], ecx
sbb edx, 0
mov dword [ebx + esi*8 + 4], edx
jmp 0x1010da32
mov edx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov eax, dword [edx + 4]
lea edx, [eax + eax*4]
mov ecx, dword [ebx + edx*8 + 4]
mov eax, dword [ebx + edx*8]
cmp ecx, 0x80000000
jl 0x1010dba2
jg 0x1010db95
test eax, eax
je 0x1010dba2
sub eax, 1
mov dword [ebx + edx*8], eax
sbb ecx, 0
mov dword [ebx + edx*8 + 4], ecx
mov esi, dword [ebp - 0x1cc]
or eax, ecx
mov ecx, dword [ebp - 0x1d0]
je 0x1010da3e
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
push 0
movzx ebx, word [edx + 2]
lea eax, [ebx*4 + 0x44]
push eax
call fcn.100e0100
mov esi, eax
add esp, 8
test esi, esi
je 0x1010f189
mov edx, dword [ebp - 0x1d0]
lea ecx, [ebx + 7]
lea ecx, [esi + ecx*4]
mov dword [esi + 8], 0
push 1
mov dword [esi], ecx
call fcn.100ff920
mov ecx, dword [ebp - 0x1cc]
add esp, 4
mov eax, dword [ecx + 0x10]
sub ecx, dword [ebp - 0x1e0]
mov dword [esi + 4], eax
mov eax, 0x66666667
imul ecx
mov dword [esi + 0xc], edi
sar edx, 3
mov eax, edx
mov byte [esi + 0x18], 0
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x14], 0
mov edx, dword [ebp - 0x1cc]
mov dword [esi + 0x10], eax
mov byte [esi + 0x19], bl
mov word [edx], 0xf09b
mov dword [edx + 0x10], esi
jmp 0x1010dc56
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edx + 0xc]
mov ebx, dword [ebp - 0x1e4]
mov esi, dword [edx + 0x10]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov dword [ebp - 0x1fc], edi
cmp dword [esi + 8], edi
je 0x1010dcac
movzx ecx, byte [esi + 0x19]
sub ecx, 1
mov dword [esi + 8], edi
js 0x1010dcac
mov edi, dword [ebp - 0x1cc]
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
nop dword [eax + eax]
mov eax, dword [edi + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [edx + 4], eax
jns 0x1010dc90
mov edi, dword [ebp - 0x1fc]
inc dword [edi + 0xc]
lea eax, [esi + 0x1c]
mov edi, dword [ebp - 0x1cc]
movzx edx, byte [esi + 0x19]
mov ecx, dword [esi + 4]
push eax
cmp dword [edi + 4], 0
push edx
push esi
je 0x1010dccd
mov eax, dword [ecx + 0x1c]
jmp 0x1010dcd0
mov eax, dword [ecx + 0x10]
call eax
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x10108ff5
jle 0x1010dd0c
push dword [esi]
call fcn.10105c90
mov edi, dword [ebp - 0x1d4]
add esp, 4
push eax
push 0x102682b4
push edi
call fcn.10100770
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x1dc], eax
jmp 0x1010dd12
mov edi, dword [ebp - 0x1d4]
cmp byte [esi + 0x18], 0
je 0x1010dd3b
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax - 0x10]
test eax, eax
je 0x1010dd37
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ebx + eax*8]
call fcn.100ff990
add esp, 8
mov byte [esi + 0x18], 0
mov ecx, dword [esi]
call fcn.100ff4b0
mov eax, dword [esi]
mov ecx, 1
mov word [eax + 8], cx
mov eax, dword [ebp - 0x1dc]
mov dword [esi + 0x14], 0
jmp 0x1010b41f
mov edx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov eax, dword [edx + 0xc]
mov ecx, esi
test eax, eax
je 0x1010dda1
push dword [edx + 0x10]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
call fcn.100ff360
mov ecx, eax
add esp, 4
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
jmp 0x1010ddab
mov edx, dword [edx + 0x10]
call fcn.100ff270
mov ecx, eax
mov dword [ebp - 0x1dc], ecx
test ecx, ecx
jne 0x1010ee68
movzx edx, byte [ebp - 0x208]
mov ecx, esi
call fcn.100fef30
mov ecx, esi
call fcn.100ffa90
test eax, eax
jne 0x1010eed7
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
mov dword [ebp - 0x10], 0
push eax
push dword [edx + 8]
mov edx, dword [edx + 4]
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0xc], 0xffffffff
call fcn.10162920
add esp, 0xc
mov dword [ebp - 0x1dc], eax
test eax, eax
je 0x1010de45
cmp eax, 5
jne 0x1010c33b
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x10], 1
mov eax, dword [ebp - 0x1cc]
xor esi, esi
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
nop dword [eax]
mov eax, dword [ebp + esi*4 - 0x10]
mov ecx, edi
cdq
push edx
push eax
call fcn.100ff990
inc esi
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x1010de60
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov ebx, dword [ebp - 0x1cc]
mov ecx, edi
mov edx, ebx
call fcn.10108930
mov edx, dword [ebx + 4]
mov esi, dword [ebx + 0xc]
add edx, edx
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x1d0]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + edx*8 + 4]
mov ecx, eax
mov dword [ebp - 0x1fc], eax
call fcn.100fcea0
mov ebx, eax
mov ecx, ebx
call fcn.100ef370
mov edi, eax
cmp esi, 0xffffffff
mov ecx, ebx
cmove esi, edi
call fcn.100ef380
test eax, eax
mov edx, 1
mov ecx, ebx
cmove esi, edi
call fcn.100ef050
cmp esi, 5
jne 0x1010df6c
mov ecx, eax
call fcn.100e3010
test eax, eax
je 0x1010df15
mov ecx, ebx
call fcn.100ef3b0
test eax, eax
jne 0x1010df6c
mov esi, edi
mov eax, dword [ebp - 0x1dc]
test eax, eax
je 0x1010df23
mov esi, edi
mov edx, esi
mov ecx, ebx
call fcn.100ef260
mov ebx, dword [ebp - 0x20c]
mov ecx, 0xa02
mov word [ebx + 8], cx
mov ecx, eax
call fcn.10136730
mov ecx, eax
mov dword [ebx + 0x10], eax
call fcn.100e3010
movzx edx, byte [ebp - 0x208]
mov ecx, ebx
mov dword [ebx + 0xc], eax
mov byte [ebx + 0xa], 1
call fcn.100fef30
mov eax, dword [ebp - 0x1dc]
jmp 0x1010b419
cmp esi, edi
je 0x1010df17
cmp edi, 5
je 0x1010df7a
cmp esi, 5
jne 0x1010df17
mov eax, dword [ebp - 0x1d0]
cmp byte [eax + 0x4f], 0
je 0x1010ee8b
cmp dword [eax + 0xb0], 1
jg 0x1010ee8b
cmp edi, 5
jne 0x1010dfbe
mov edx, eax
mov ecx, ebx
call fcn.100ef5c0
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010df21
mov edx, esi
mov ecx, ebx
call fcn.100ef260
jmp 0x1010dfda
cmp edi, 4
jne 0x1010dfcd
lea edx, [edi - 2]
mov ecx, ebx
call fcn.100ef260
cmp dword [ebp - 0x1dc], 0
jne 0x1010df21
mov ecx, dword [ebp - 0x1fc]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.100fdf50
mov dword [ebp - 0x1dc], eax
jmp 0x1010df1d
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edx + 8]
test eax, eax
je 0x1010e014
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
jmp 0x1010e016
xor eax, eax
push eax
push dword [edx + 4]
mov edx, dword [ebp - 0x1d0]
lea ecx, [edi + 0x7c]
call fcn.10149b80
add esp, 8
mov dword [ebp - 0x1dc], eax
jmp 0x1010b41f
mov edx, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d0]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.100f5f50
mov dword [ebp - 0x1dc], eax
test eax, eax
je 0x10108d0a
cmp eax, 0x65
jne 0x1010c33b
mov dword [ebp - 0x1dc], 0
jmp 0x1010da32
cmp dword [esi + 4], 0
jne 0x1010e09b
mov edx, dword [esi + 8]
call fcn.101054a0
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov eax, dword [esi + 8]
inc eax
xor eax, dword [edi + 0x98]
and eax, 3
xor dword [edi + 0x98], eax
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov al, byte [esi + 0xc]
mov byte [ebp - 0x234], al
test al, al
jne 0x1010e0dd
mov eax, dword [ecx + 0x20]
and eax, 0x400
mov dword [ebp - 0x200], eax
jne 0x10108b3a
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [ecx + 0x10]
mov edx, dword [ebp - 0x1cc]
push dword [ebp - 0x234]
mov eax, dword [eax + 4]
add eax, eax
mov edx, dword [edx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.100fde20
add esp, 4
mov dword [ebp - 0x1dc], eax
test eax, eax
je 0x10108d0a
cmp al, 6
jne 0x1010c33b
mov eax, dword [ebp - 0x1cc]
push dword [eax + 0x10]
push str.database_table_is_locked:__s
push edi
call fcn.10100770
mov eax, dword [ebp - 0x1dc]
add esp, 0xc
jmp 0x1010c33b
mov edx, dword [ebp - 0x1cc]
mov esi, dword [edx + 0x10]
mov edx, esi
call fcn.1014b3a0
mov dword [ebp - 0x1dc], eax
test esi, esi
je 0x1010b41f
mov edx, dword [esi + 8]
mov ecx, edi
call fcn.101055d0
mov eax, dword [ebp - 0x1dc]
jmp 0x1010b41f
mov edx, dword [ebp - 0x1cc]
xorps xmm0, xmm0
movq qword [ebp - 0x180], xmm0
mov dword [ebp - 0x180], ecx
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [edx + 8]
movups xmmword [ebp - 0x1a0], xmm0
movups xmmword [ebp - 0x190], xmm0
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
lea ecx, [ebp - 0x1a0]
call fcn.100ffb40
mov dword [ebp - 0x1dc], eax
lea eax, [ebp - 0x1a0]
push eax
call fcn.10105c90
add esp, 4
test eax, eax
je 0x1010e1eb
lea ecx, [edi + 0x7c]
push ecx
mov ecx, dword [ebp - 0x1d0]
push eax
mov eax, dword [ebp - 0x1cc]
mov edx, dword [eax + 4]
call fcn.1014ae50
add esp, 8
mov dword [ebp - 0x1dc], eax
lea ecx, [ebp - 0x1a0]
call fcn.100ff4b0
mov eax, dword [ebp - 0x1dc]
jmp 0x1010b41f
mov edx, dword [ebp - 0x1cc]
inc dword [ecx + 0xbc]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.1014b1e0
mov ecx, dword [ebp - 0x1d0]
add esp, 4
mov dword [ebp - 0x1dc], eax
dec dword [ecx + 0xbc]
test eax, eax
jne 0x1010c33b
mov esi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov dword [ebp - 0xb0], 0
mov eax, dword [edx + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x1010eec7
mov edi, dword [esi]
test edi, edi
je 0x1010eec1
lea eax, [ebp - 0xb0]
push eax
mov eax, dword [edi + 0x18]
push esi
call eax
mov ebx, dword [ebp - 0x1d4]
add esp, 8
mov edx, esi
mov dword [ebp - 0x1dc], eax
mov ecx, ebx
call fcn.101055d0
mov eax, dword [ebp - 0x1dc]
test eax, eax
jne 0x1010f194
mov eax, dword [ebp - 0xb0]
mov ecx, ebx
push 2
push 0xffffffffffffffff
push 0
mov dword [eax], esi
mov eax, dword [ebp - 0x1cc]
mov edx, dword [eax + 4]
call fcn.10108640
add esp, 0xc
test eax, eax
je 0x1010eea6
mov ecx, dword [ebp - 0xb0]
mov edi, ebx
mov dword [eax + 0x28], ecx
inc dword [esi + 4]
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov ebx, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1e4]
add esi, 0x28
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x60]
mov edi, dword [esi + edx*8]
lea esi, [esi + edx*8]
movd xmm0, esi
mov dword [ebp - 0x224], esi
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x1f4], eax
pshufd xmm3, xmm0, 0
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x21c], eax
mov eax, dword [eax]
mov dword [ebp - 0x204], eax
mov eax, dword [eax]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x1e4]
mov edx, dword [eax + edx*8]
mov eax, dword [ebp - 0x1d4]
mov dword [ebp - 0x1f0], edx
mov ebx, dword [eax + 0x5c]
mov dword [ebp - 0x20c], ebx
test edi, edi
jle 0x1010e47b
cmp edi, 0x10
jb 0x1010e461
cmp dword [0x102a80b8], 2
jl 0x1010e461
movaps xmm2, xmmword [0x1027a4c0]
mov eax, edi
and eax, reloc.WS2_32.dll_ntohs
jns 0x1010e39a
dec eax
or eax, 0xfffffff0
inc eax
movaps xmm1, xmmword [0x1027a4e0]
mov edx, edi
sub edx, eax
mov esi, 8
mov dword [ebp - 0x1fc], edx
lea edx, [ebx + 0x20]
mov ebx, dword [ebp - 0x1fc]
nop dword [eax]
movd xmm0, ecx
lea eax, [esi - 4]
pshufd xmm0, xmm0, 0
lea edx, [edx + 0x40]
paddd xmm0, xmm2
add ecx, 0x10
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x60], xmm0
movd xmm0, eax
lea eax, [esi + 4]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x50], xmm0
movd xmm0, esi
add esi, 0x10
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x40], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x30], xmm0
cmp ecx, ebx
jl 0x1010e3c0
mov ebx, dword [ebp - 0x20c]
mov esi, dword [ebp - 0x224]
mov edx, dword [ebp - 0x1f0]
cmp ecx, edi
jge 0x1010e47b
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
nop
mov dword [ebx + ecx*4], eax
inc ecx
add eax, 0x28
cmp ecx, edi
jl 0x1010e470
mov eax, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x21c]
push ebx
push edi
push dword [eax + 0x10]
mov edi, dword [ebp - 0x214]
push edx
push esi
mov eax, dword [edi + 0x20]
call eax
mov edx, dword [ebp - 0x204]
add esp, 0x14
mov ecx, dword [ebp - 0x1d4]
mov dword [ebp - 0x1dc], eax
call fcn.101055d0
mov eax, dword [ebp - 0x1dc]
test eax, eax
jne 0x1010c335
mov eax, dword [edi + 0x28]
push esi
call eax
mov ecx, dword [ebp - 0x1f4]
add esp, 4
mov byte [ecx + 2], 0
test eax, eax
je 0x10108ff5
mov esi, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1d4]
jmp 0x1010da38
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edi + 0x60]
mov ecx, dword [edx + 4]
mov edi, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x1e4]
cmp byte [edi + 2], 0
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
je 0x1010e538
mov ecx, esi
call fcn.100ff940
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
test byte [edx + 2], 1
xorps xmm0, xmm0
mov eax, dword [edi + 0x28]
mov ebx, dword [eax]
mov eax, dword [ebx]
movups xmmword [ebp - 0x178], xmm0
mov dword [ebp - 0x1fc], eax
movups xmmword [ebp - 0x168], xmm0
mov dword [ebp - 0x178], esi
je 0x1010e57c
mov ecx, esi
call fcn.100ff940
mov edx, dword [ebp - 0x1cc]
mov eax, 0x4001
mov dword [esi], 0
jmp 0x1010e58f
mov ax, word [esi + 8]
mov ecx, 0x3e00
and ax, cx
or ax, 1
movzx eax, ax
mov word [esi + 8], ax
lea eax, [ebp - 0x178]
push dword [edx + 8]
push eax
mov eax, dword [ebp - 0x1fc]
push dword [edi + 0x28]
mov eax, dword [eax + 0x2c]
call eax
mov edi, dword [ebp - 0x1d4]
add esp, 0xc
mov edx, ebx
mov dword [ebp - 0x1dc], eax
mov ecx, edi
call fcn.101055d0
cmp dword [ebp - 0x164], 0
jle 0x1010e5f0
push esi
call fcn.10105c90
add esp, 4
push eax
push 0x102682b4
push edi
call fcn.10100770
mov eax, dword [ebp - 0x164]
add esp, 0xc
mov dword [ebp - 0x1dc], eax
movzx edx, byte [ebp - 0x208]
mov ecx, esi
call fcn.100fef30
mov ecx, esi
call fcn.100ffa90
test eax, eax
jne 0x1010eed7
mov eax, dword [ebp - 0x1dc]
jmp 0x1010b41f
mov ecx, dword [esi + 4]
mov eax, dword [edi + 0x60]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 2], 0
jne 0x10108ffb
mov eax, dword [edi + 0x28]
push eax
mov esi, dword [eax]
mov ebx, dword [esi]
mov eax, dword [ebx + 0x24]
call eax
mov ecx, dword [ebp - 0x1d4]
add esp, 4
mov edx, esi
mov dword [ebp - 0x1dc], eax
call fcn.101055d0
mov eax, dword [ebp - 0x1dc]
test eax, eax
jne 0x1010c335
push dword [edi + 0x28]
mov eax, dword [ebx + 0x28]
call eax
add esp, 4
test eax, eax
jne 0x1010d4db
mov ecx, dword [ebp - 0x1d0]
mov edx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e0]
mov esi, dword [edx + 8]
dec esi
lea esi, [esi + esi*4]
lea esi, [ebx + esi*4]
mov dword [ebp - 0x1cc], esi
jmp 0x1010d4ed
mov edi, dword [ecx + 0x20]
mov edx, dword [ebp - 0x1cc]
and edi, 0x4000000
or dword [ecx + 0x20], 0x4000000
mov eax, dword [ecx + 0x24]
mov dword [ecx + 0x24], eax
mov eax, dword [edx + 0x10]
mov ecx, dword [ebp - 0x1e4]
mov esi, dword [eax + 8]
mov eax, dword [edx + 4]
mov edx, 1
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov ecx, ebx
call fcn.100fef30
test eax, eax
jne 0x1010c335
mov eax, dword [esi]
push dword [ebx + 0x10]
push esi
mov eax, dword [eax + 0x4c]
call eax
add esp, 8
mov dword [ebp - 0x1dc], eax
test edi, edi
jne 0x1010e706
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ecx + 0x24]
and dword [ecx + 0x20], 0xfbffffff
mov dword [ecx + 0x24], eax
mov edi, dword [ebp - 0x1d4]
mov edx, esi
mov ecx, edi
call fcn.101055d0
and dword [edi + 0x98], 0xfffffffc
mov eax, dword [ebp - 0x1dc]
jmp 0x1010b41f
cmp byte [ecx + 0x51], 0
jne 0x1010ad59
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edx + 0x10]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x1010eec7
mov edx, dword [ebx]
test edx, edx
je 0x1010eec7
cmp dword [edx + 0x34], 0
mov esi, dword [ebp - 0x1cc]
mov esi, dword [esi + 8]
je 0x1010b487
mov al, byte [ecx + 0x56]
mov ecx, dword [ebp - 0x1e4]
mov edi, dword [edi + 0x5c]
mov byte [ebp - 0x1e9], al
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test esi, esi
jle 0x1010e79b
nop dword [eax]
mov dword [edi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, esi
jl 0x1010e790
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
mov al, byte [eax + 2]
mov byte [ecx + 0x56], al
lea eax, [ebp - 0x98]
push eax
mov eax, dword [edx + 0x34]
push edi
push esi
push ebx
call eax
mov ecx, dword [ebp - 0x1d0]
add esp, 0x10
mov edi, dword [ebp - 0x1d4]
mov edx, ebx
mov dword [ebp - 0x1dc], eax
mov al, byte [ebp - 0x1e9]
mov byte [ecx + 0x56], al
mov ecx, edi
call fcn.101055d0
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1cc]
test eax, eax
jne 0x1010e816
cmp dword [ecx + 4], eax
je 0x1010e816
mov edx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x98]
mov dword [edx + 0x28], eax
mov eax, dword [ebp - 0x94]
mov dword [edx + 0x2c], eax
mov eax, dword [ebp - 0x1dc]
cmp al, 0x13
jne 0x1010e86d
mov eax, dword [ecx + 0x10]
cmp byte [eax + 0x10], 0
je 0x1010e86d
movzx ecx, word [ecx + 2]
cmp ecx, 4
jne 0x1010e84e
mov esi, dword [ebp - 0x1cc]
xor ecx, ecx
mov eax, dword [ebp - 0x1d8]
mov dword [ebp - 0x1dc], ecx
mov ecx, dword [ebp - 0x1d0]
add esi, 0x14
jmp 0x10108a50
movzx eax, cl
cmp ecx, 5
mov ecx, 2
cmove eax, ecx
mov byte [edi + 0x92], al
mov eax, dword [ebp - 0x1dc]
jmp 0x1010b41f
inc dword [edi + 0x2c]
mov eax, dword [ebp - 0x1dc]
jmp 0x1010b41f
mov edx, dword [ebp - 0x1cc]
mov ecx, edi
call fcn.10108930
mov esi, eax
mov eax, dword [ebp - 0x1cc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x1d0]
shl edx, 4
mov ecx, dword [eax + 0x10]
mov ecx, dword [edx + ecx + 4]
call fcn.100f3db0
mov ecx, dword [ebp - 0x1d0]
mov dword [esi], eax
mov eax, dword [ebp - 0x1d8]
mov dword [esi + 4], 0
mov esi, dword [ebp - 0x1cc]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
mov ecx, edi
call fcn.10108930
mov ecx, dword [ebp - 0x1d0]
mov edi, eax
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [ecx + 0x10]
mov edx, dword [eax + 4]
add edx, edx
mov esi, dword [ecx + edx*8 + 4]
xor edx, edx
cmp dword [eax + 0xc], edx
je 0x1010e910
mov ecx, esi
call fcn.100f3db0
mov edx, eax
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax + 0xc]
cmp edx, eax
cmovb edx, eax
mov ecx, esi
call fcn.100f4d30
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
cdq
mov dword [edi], eax
mov eax, dword [ebp - 0x1d8]
mov dword [edi + 4], edx
mov edi, dword [ebp - 0x1d4]
add esi, 0x14
jmp 0x10108a50
mov edx, dword [ebp - 0x1cc]
push 0
movzx ebx, word [edx + 2]
lea eax, [ebx*4 + 0x1c]
push eax
call fcn.100e0100
mov esi, eax
add esp, 8
test esi, esi
je 0x1010f189
mov eax, dword [ebp - 0x1cc]
mov dword [esi], 0
mov ecx, dword [eax + 0x10]
mov dword [esi + 4], ecx
mov ecx, eax
sub ecx, dword [ebp - 0x1e0]
mov eax, 0x66666667
imul ecx
mov dword [esi + 0xc], edi
sar edx, 3
mov eax, edx
mov dword [esi + 0x14], 0
shr eax, 0x1f
add eax, edx
mov byte [esi + 0x19], bl
mov edx, dword [ebp - 0x1cc]
mov dword [esi + 0x10], eax
add byte [edx], 2
mov byte [edx + 1], 0xf0
mov dword [edx + 0x10], esi
jmp 0x1010e9b6
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edx + 0xc]
mov ebx, dword [ebp - 0x1e4]
mov esi, dword [edx + 0x10]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov dword [ebp - 0x1fc], edi
cmp dword [esi], edi
je 0x1010ea0b
movzx ecx, byte [esi + 0x19]
sub ecx, 1
mov dword [esi], edi
js 0x1010ea0b
mov edi, dword [ebp - 0x1cc]
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
nop dword [eax]
mov eax, dword [edi + 8]
add eax, ecx
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [edx], eax
sub edx, 4
sub ecx, 1
jns 0x1010e9f0
mov edi, dword [ebp - 0x1fc]
mov ax, word [edi + 8]
mov ecx, 0x3e00
and ax, cx
or ax, 1
mov word [edi + 8], ax
lea eax, [esi + 0x1c]
mov ecx, dword [esi + 4]
push eax
movzx eax, byte [esi + 0x19]
push eax
mov eax, dword [ecx + 0x10]
push esi
call eax
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x1010ea9e
jle 0x1010ea63
push edi
call fcn.10105c90
add esp, 4
push eax
push 0x102682b4
push dword [ebp - 0x1d4]
call fcn.10100770
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x1dc], eax
mov eax, dword [ebp - 0x1cc]
mov edx, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d0]
add edx, 0xdc
push dword [eax + 4]
push dword [esi + 0x10]
call fcn.101036f0
mov eax, dword [ebp - 0x1dc]
add esp, 8
mov dword [esi + 0x14], 0
test eax, eax
jne 0x1010c335
test byte [edi + 8], 0x12
je 0x10108ff5
movzx edx, byte [ebp - 0x208]
mov ecx, edi
call fcn.100fef30
mov ecx, edi
call fcn.100ffa90
mov edi, dword [ebp - 0x1d4]
test eax, eax
jne 0x1010eed7
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add esi, 0x14
jmp 0x10108a50
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1d4]
add esi, 0x14
jmp 0x10108a50
mov cl, byte [ecx + 0x58]
test cl, 0x41
je 0x1010ebbb
test byte [edi + 0x98], 0x10
jne 0x1010ebbb
mov eax, dword [esi + 0x10]
test eax, eax
jne 0x1010eb27
mov eax, dword [edi + 0xc0]
test eax, eax
je 0x1010ebbb
mov ebx, dword [ebp - 0x1d0]
test cl, 0x40
je 0x1010eb67
mov ecx, dword [ebp - 0x1d4]
mov edx, eax
mov edi, dword [ebx + 0xc8]
call fcn.10108170
mov esi, eax
push esi
push dword [ebx + 0xcc]
call edi
push esi
call fcn.100dfd40
mov esi, dword [ebp - 0x1cc]
add esp, 0xc
mov edi, dword [ebp - 0x1d4]
jmp 0x1010ebbb
cmp dword [ebx + 0xb8], 1
push eax
jle 0x1010eba7
push str.____s
push ebx
call fcn.100e2540
mov ecx, dword [ebx + 0xc8]
add esp, 0xc
mov esi, eax
push esi
push edi
push dword [ebx + 0xcc]
push 1
call ecx
add esp, 0x10
mov edx, esi
mov ecx, ebx
call fcn.100dfe30
mov esi, dword [ebp - 0x1cc]
jmp 0x1010ebbb
mov eax, dword [ebx + 0xc8]
push edi
push dword [ebx + 0xcc]
push 1
call eax
add esp, 0x10
mov eax, dword [esi + 4]
cmp eax, dword [0x10299ea0]
jl 0x1010ebfc
cmp byte [esi], 0xa8
je 0x10108b34
mov edx, 1
cmp dword [edi + 0x6c], edx
jle 0x1010ebfa
mov eax, 0x14
nop
mov ecx, dword [edi + 0x68]
cmp byte [eax + ecx], 0x11
jne 0x1010ebf1
mov dword [eax + ecx + 4], 0
inc edx
add eax, 0x14
cmp edx, dword [edi + 0x6c]
jl 0x1010ebe0
xor eax, eax
inc eax
mov dword [esi + 4], eax
inc dword [edi + 0xbc]
jmp 0x1010da38
mov edx, dword [ebp - 0x1cc]
mov dword [edi + 0x28], ecx
mov al, byte [edx + 8]
mov byte [edi + 0x92], al
mov dword [edi + 0x24], esi
test ecx, ecx
je 0x1010ec9c
movzx eax, word [edx + 2]
test ax, ax
je 0x1010ec6b
push dword [eax*4 + 0x10261614]
push str._s_constraint_failed
push edi
call fcn.10100770
mov eax, dword [ebp - 0x1cc]
add esp, 0xc
mov eax, dword [eax + 0x10]
test eax, eax
je 0x1010ec7c
push eax
push dword [edi + 0x7c]
push str._z:__s
push dword [ebp - 0x1d0]
call fcn.100e2540
add esp, 0x10
mov dword [edi + 0x7c], eax
jmp 0x1010ec7c
push dword [edx + 0x10]
push 0x102682b4
push edi
call fcn.10100770
add esp, 0xc
push dword [edi + 0x7c]
mov eax, dword [ebp - 0x1cc]
push dword [edi + 0xc0]
push esi
push str.abort_at__d_in___s_:__s
push dword [eax + 4]
call fcn.100e2740
add esp, 0x14
mov ecx, edi
call fcn.101031e0
mov dword [ebp - 0x1dc], eax
cmp eax, 5
jne 0x1010f0f0
mov dword [edi + 0x28], eax
jmp 0x1010f1a1
push 0x10279dac
push 0x15047
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.100e2740
mov edi, dword [ebp - 0x1d4]
add esp, 0x14
mov eax, 0xb
jmp 0x1010c341
push str.cannot_open_savepoint___SQL_statements_in_progress
mov edi, dword [ebp - 0x1d4]
push edi
call fcn.10100770
add esp, 8
mov eax, 5
jmp 0x1010c33b
push str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x1010eced
mov ecx, dword [ebp - 0x1cc]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x1e0]
mov edi, dword [ebp - 0x1d4]
imul ecx
mov dword [ebp - 0x1dc], 5
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x24], eax
mov eax, dword [ebp - 0x1d0]
mov byte [eax + 0x4f], 0
mov dword [edi + 0x28], 5
jmp 0x1010f1a1
mov eax, 8
jmp 0x1010c33b
mov edi, dword [ebp - 0x1d4]
cmp al, 5
jne 0x1010c33b
mov ecx, dword [ebp - 0x1cc]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x1e0]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x24], eax
mov eax, dword [ebp - 0x1dc]
mov dword [edi + 0x28], eax
jmp 0x1010f1a1
mov edx, dword [ebx + 0x7c]
test edx, edx
je 0x1010eda7
mov ecx, edi
call fcn.100dfdf0
mov edx, str.database_schema_has_changed
mov ecx, edi
call fcn.100e0340
mov dword [ebx + 0x7c], eax
mov eax, dword [ebp - 0x1cc]
mov edx, dword [eax + 4]
mov ecx, edx
mov eax, dword [edi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x4c]
je 0x1010edd8
mov ecx, edi
call fcn.10123130
mov edi, dword [ebp - 0x1d4]
mov eax, dword [edi + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [edi + 0x98], eax
mov eax, 0x11
jmp 0x1010c33b
mov eax, 0x204
jmp 0x1010c33b
mov eax, 6
mov byte [edi + 0x92], 2
jmp 0x1010c33b
mov dword [ebp - 0x1dc], 7
mov ecx, dword [ebp - 0x1d0]
call fcn.101231a0
mov eax, dword [ebp - 0x1dc]
mov ebx, dword [ebp - 0x1e0]
cmp eax, 7
jne 0x1010c341
mov ecx, dword [ebp - 0x1d0]
jmp 0x1010ad5f
mov edi, dword [ebp - 0x1d4]
push str.too_many_levels_of_trigger_recursion
push edi
call fcn.10100770
add esp, 8
mov eax, 1
jmp 0x1010c33b
push esi
call fcn.10105c90
add esp, 4
push eax
push 0x102682b4
push edi
call fcn.10100770
add esp, 0xc
mov eax, dword [ebp - 0x1dc]
jmp 0x1010c33b
cmp esi, 5
mov eax, str.into
mov ecx, str.out_of
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
jmp 0x1010b1c0
push dword [ebp - 0xb0]
mov eax, dword [edi + 0x1c]
call eax
mov ecx, dword [ebp - 0x1d0]
add esp, 4
mov edi, ebx
jmp 0x1010ad59
mov edi, dword [ebp - 0x1d4]
mov eax, 6
jmp 0x1010c33b
mov edi, dword [ebp - 0x1d4]
push str.string_or_blob_too_big
push edi
call fcn.10100770
add esp, 8
mov eax, 0x12
jmp 0x1010c33b
mov eax, dword [ecx + 0x140]
test eax, eax
je 0x1010ef20
mov edx, dword [ebp - 0x1d8]
cmp edx, dword [ebp - 0x230]
jb 0x1010ef20
push dword [ecx + 0x144]
call eax
add esp, 4
test eax, eax
je 0x1010ef20
mov eax, 9
jmp 0x1010c33b
xor edx, edx
mov ecx, edi
call fcn.10103180
test eax, eax
jne 0x1010c33b
mov eax, dword [edi]
cmp dword [eax + 0x1c8], 0
je 0x1010ef4e
cmp dword [edi + 0x30], 0
je 0x1010ef4e
mov edx, 1
mov ecx, edi
call fcn.10103010
mov eax, dword [edi + 0x20]
mov ebx, dword [ebp - 0x1cc]
add eax, 2
mov ecx, dword [ebp - 0x1e4]
or eax, 1
mov dword [edi + 0x20], eax
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov dword [edi + 0x78], esi
xor edi, edi
cmp dword [ebx + 8], edi
jle 0x1010efbc
nop dword [eax]
mov eax, 0x1000
test word [esi + 8], ax
je 0x1010ef9a
mov ecx, esi
call fcn.100ff0f0
test eax, eax
jne 0x1010ad4d
mov ax, word [esi + 8]
mov ecx, 0x202
and ax, cx
cmp ax, 2
jne 0x1010efb3
mov ecx, esi
call fcn.100ff0b0
inc edi
add esi, 0x28
cmp edi, dword [ebx + 8]
jl 0x1010ef80
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1d4]
cmp byte [ecx + 0x51], 0
jne 0x1010ad59
test byte [ecx + 0x58], 4
je 0x1010efee
mov eax, dword [ecx + 0xc8]
push 0
push edi
push dword [ecx + 0xcc]
push 4
call eax
add esp, 0x10
sub ebx, dword [ebp - 0x1e0]
mov eax, 0x66666667
imul ebx
mov dword [ebp - 0x1dc], 0x64
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
mov dword [edi + 0x24], eax
jmp 0x1010f1a1
mov edx, dword [ebp - 0x1cc]
mov ebx, dword [edx + 4]
mov ecx, dword [edx + 8]
mov edx, dword [ebp - 0x1d0]
movzx eax, byte [edx + 0x4f]
cmp ebx, eax
je 0x1010f10c
test ecx, ecx
je 0x1010f050
mov esi, dword [ebp - 0x1d0]
mov edx, 0x204
mov ecx, esi
call fcn.10161af0
mov al, 1
jmp 0x1010f09d
test ebx, ebx
je 0x1010f075
cmp dword [edx + 0xb4], 0
jle 0x1010f075
push str.cannot_commit_transaction___SQL_statements_in_progress
push edi
call fcn.10100770
add esp, 8
mov eax, 5
jmp 0x1010c33b
mov edx, 1
mov dword [ebp - 0x234], ebx
mov ecx, edi
call fcn.10103180
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x1010f1a1
mov esi, dword [ebp - 0x1d0]
mov eax, ebx
mov ecx, edi
mov byte [esi + 0x4f], al
call fcn.101031e0
cmp eax, 5
jne 0x1010f0e9
mov ecx, dword [ebp - 0x1cc]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x1e0]
imul ecx
mov dword [ebp - 0x1dc], 5
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x24], eax
mov al, 1
sub al, bl
mov byte [esi + 0x4f], al
mov dword [edi + 0x28], 5
jmp 0x1010f1a1
mov ecx, esi
call fcn.101612c0
cmp dword [edi + 0x28], 0
mov eax, 0x65
mov ecx, 1
cmovne eax, ecx
mov dword [ebp - 0x1dc], eax
jmp 0x1010f1a1
test ebx, ebx
jne 0x1010f127
mov eax, str.cannot_start_a_transaction_within_a_transaction
push eax
push edi
call fcn.10100770
add esp, 8
lea eax, [ebx + 1]
jmp 0x1010c33b
test ecx, ecx
mov edx, str.cannot_commit___no_transaction_is_active
mov eax, str.cannot_rollback___no_transaction_is_active
cmove eax, edx
push eax
push edi
call fcn.10100770
add esp, 8
mov eax, 1
jmp 0x1010c33b
mov edi, dword [ebp - 0x1d4]
xor eax, eax
cmp byte [ecx + 0x51], al
sete al
lea eax, [eax*2 + 7]
mov ecx, eax
mov dword [ebp - 0x1dc], eax
mov dword [edi + 0x28], eax
call fcn.10161c30
push eax
push 0x102682b4
push edi
call fcn.10100770
mov eax, dword [ebp - 0x1dc]
add esp, 0xc
jmp 0x1010c341
mov ecx, dword [ebp - 0x1d0]
jmp 0x1010ad59
mov edi, ebx
jmp 0x1010c33b
mov edi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
mov ecx, edi
add dword [edi + 0xb4], eax
call fcn.10101c90
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x1dc]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.101d506b
mov esp, ebp
pop ebp
ret