Function at 0x1013a7e0
Capabilities:
Encrypt data using speck
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x34c
mov eax, dword [0x101a2ce4]
xor eax, esp
mov dword [esp + 0x348], eax
mov eax, dword [esp + 0x350]
xor cl, cl
push ebx
push ebp
push esi
mov ebp, dword [eax]
xorps xmm0, xmm0
mov esi, dword [eax + 0x68]
mov byte [esp + 0x63], cl
push edi
mov cl, byte [ebp + 0x54]
xor edi, edi
mov byte [esp + 0x48], cl
mov byte [esp + 0x9c], cl
mov ecx, dword [eax + 0x58]
push eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x60], edi
movlpd qword [esp + 0x84], xmm0
mov dword [esp + 0x2c], ecx
call fcn.1013a740
mov ecx, dword [esp + 0x18]
add esp, 4
cmp dword [ebp + 0x174], edi
je 0x1013a870
mov ebx, dword [ebp + 0x17c]
xor edx, edx
mov eax, dword [ecx + 0xb4]
div ebx
sub ebx, edx
xor eax, eax
jmp 0x1013a876
or ebx, 0xffffffff
or eax, 0xffffffff
cmp dword [ecx + 0x24], 7
mov dword [esp + 0x7c], eax
mov dword [esp + 0x70], ebx
je 0x10142baa
mov dword [ecx + 0x24], edi
mov dword [ecx + 0x38], edi
mov dword [ecx + 0x3c], edi
mov dword [ecx + 0x78], edi
mov dword [ebp + 0x1c8], edi
cmp dword [ebp + 0x128], edi
jne 0x10142b87
mov eax, dword [ecx + 0x20]
xorps xmm0, xmm0
mov ebx, dword [esp + 0xb4]
mov edx, dword [esp + 0x84]
movsd qword [esp + 0xa0], xmm0
lea eax, [eax + eax*4]
mov dword [esp + 0x8c], ebx
lea esi, [esi + eax*4]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x80]
add eax, 1
mov dword [esp + 0x10], esi
mov dword [esp + 0x20], eax
adc edx, 0
mov dword [esp + 0x88], edx
mov dl, byte [esi]
movzx ebx, dl
cmp ebx, 0xb5
ja case.0x1013a908.89
jmp dword [ebx*4 + 0x10142e1c]
mov edx, dword [esp + 0x10]
mov ecx, edx
mov ebx, dword [esp + 0x28]
sub ecx, dword [esp + 0x24]
mov eax, dword [edx + 4]
lea esi, [eax + eax*4]
mov eax, 4
mov word [ebx + esi*8 + 0x10], 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 case.0x1013a908.9
mov eax, dword [esi + 4]
mov ebx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 4
je 0x1013a9f9
mov eax, dword [ebx + eax*8]
mov edx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea esi, [edx + eax*4]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x10]
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 + 0x10], ax
cmp dword [esi + 8], 0
jne 0x1013e5bf
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x24]
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]
xor eax, eax
mov word [ebx + ecx*8 + 0x10], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edx + 4]
sub edx, dword [esp + 0x24]
lea esi, [eax + eax*4]
mov eax, 4
mov word [ebx + esi*8 + 0x10], ax
mov eax, 0x66666667
mov ecx, dword [ebx + esi*8]
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 [esp + 0x24]
mov dword [ebx + esi*8 + 4], edx
lea esi, [ecx + eax*4]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x10], 1
je 0x1013a9f9
mov edx, dword [ecx + 0xd0]
test edx, edx
je 0x1014252d
cmp dword [esi + 4], 0
jne 0x1014252d
mov eax, dword [edx + 4]
mov dword [ecx + 0xd0], eax
dec dword [ecx + 0xd8]
mov eax, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x6c], ecx
add dword [ebp + 0x70], eax
push edx
adc dword [ebp + 0x74], ecx
call fcn.10143720
mov ecx, dword [esp + 0x14]
add esp, 4
mov edx, dword [esp + 0x14]
cmp dword [ecx + 8], 4
jne 0x1013aad1
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x68]
mov eax, dword [eax + ecx*4 + 8]
dec eax
mov ebx, dword [edx + 0x68]
lea eax, [eax + eax*4]
mov ecx, dword [edx + 0x58]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x14]
lea esi, [ebx + eax*4]
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x9000
test word [ecx + 0x10], ax
je 0x1013ab4e
push ecx
call fcn.100f9da0
mov esi, dword [esp + 0x14]
mov ecx, eax
mov eax, dword [esp + 0x14]
add esp, 4
mov eax, dword [eax + 4]
cdq
mov dword [ecx], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov eax, 4
mov word [ecx + 0x10], ax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x9000
test word [edx + 0x10], ax
je 0x1013abab
push edx
call fcn.100f9da0
add esp, 4
mov edx, eax
jmp 0x1013abb4
mov eax, 4
mov word [edx + 0x10], ax
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [edx], ecx
mov ecx, dword [esp + 0x14]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x9000
test word [ecx + 0x10], ax
je 0x1013ac0a
push ecx
call fcn.100f9da0
add esp, 4
mov ecx, eax
mov esi, dword [esp + 0x10]
mov eax, 8
mov word [ecx + 0x10], ax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
movsd xmm0, qword [eax]
mov eax, dword [esp + 0x20]
movsd qword [ecx], xmm0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x1013ac69
push esi
call fcn.100f9da0
add esp, 4
mov esi, eax
jmp 0x1013ac72
mov eax, 4
mov word [esi + 0x10], ax
mov edx, dword [ebx + 0x10]
test edx, edx
jne 0x1013ac7d
xor ecx, ecx
jmp 0x1013ac95
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1013ac82
sub ecx, edi
mov edi, dword [esp + 0x18]
and ecx, 0x3fffffff
cmp byte [esp + 0x48], 1
mov dword [ebx + 4], ecx
je 0x1013ad2f
push 0
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push edx
push esi
call fcn.10144eb0
mov edi, eax
add esp, 0x18
mov dword [esp + 0x18], edi
test edi, edi
jne 0x101427fa
test byte [esi + 0x10], 2
mov al, byte [esp + 0x48]
jne 0x1013acd2
mov byte [esi + 0x12], al
jmp 0x1013acec
cmp byte [esi + 0x12], al
je 0x1013acec
push dword [esp + 0x48]
push esi
call fcn.101454b0
add esp, 8
test eax, eax
jne 0x1013cd50
mov ecx, dword [esp + 0x10]
mov eax, 0x2000
mov dword [esi + 0x18], 0
or word [esi + 0x10], ax
cmp byte [ecx + 1], 0xfa
jne 0x1013ad1b
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x1013ad1b
push eax
push ebp
call fcn.10112cf0
mov ecx, dword [esp + 0x18]
add esp, 8
mov ebx, dword [esp + 0x10]
mov byte [ecx + 1], 0xfa
mov eax, dword [esi + 8]
mov dword [ecx + 0x10], eax
mov ecx, dword [esi + 0xc]
mov dword [ebx + 4], ecx
cmp ecx, dword [ebp + 0x78]
jg 0x101427fa
mov byte [ebx], 0x49
jmp 0x1013ad41
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x9000
test word [ecx + 0x10], ax
je 0x1013ad67
push ecx
call fcn.100f9da0
add esp, 4
mov ecx, eax
mov eax, 0x2202
mov word [ecx + 0x10], ax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 8], eax
mov eax, dword [ebx + 4]
mov dword [ecx + 0xc], eax
mov al, byte [esp + 0x48]
mov byte [ecx + 0x12], al
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
jle 0x1013ae69
mov ebx, dword [esp + 0x28]
lea esi, [eax + eax*4]
mov eax, dword [esp + 0x10]
movzx eax, word [eax + 2]
cdq
cmp dword [ebx + esi*8], eax
jne 0x1013ab64
cmp dword [ebx + esi*8 + 4], edx
jne 0x1013ae69
mov esi, dword [esp + 0x10]
mov eax, 0x2210
mov word [ecx + 0x10], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x9000
test word [edx + 0x10], ax
je 0x1013ae05
push edx
call fcn.100f9da0
add esp, 4
mov edx, eax
jmp 0x1013ae0e
mov eax, 4
mov word [edx + 0x10], ax
cmp dword [ebx + 4], 0
lea esi, [edx + 0x10]
mov edi, dword [ebx + 0xc]
mov eax, 1
mov ecx, dword [ebx + 8]
mov ebx, 0x101
cmovne eax, ebx
sub edi, ecx
movzx ebx, ax
mov word [esi], bx
mov dword [edx + 0xc], 0
test edi, edi
jle 0x1013ae69
mov eax, 0x9000
test word [esi + 0x28], ax
lea esi, [esi + 0x28]
je 0x1013ae5a
lea eax, [esi - 0x10]
push eax
call fcn.101566f0
add esp, 4
mov eax, 0x9000
dec edi
mov word [esi], bx
mov dword [esi - 4], 0
test edi, edi
jg 0x1013ae40
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov eax, dword [esi + 4]
mov edx, 0xffc1
mov ebx, dword [esp + 0x28]
lea ecx, [eax + eax*4]
mov ax, word [ebx + ecx*8 + 0x10]
and ax, dx
or ax, 1
jmp 0x1013a9f0
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x1013aed9
push esi
call fcn.100f9da0
mov esi, eax
add esp, 4
mov eax, 0x9000
jmp 0x1013aee2
mov ecx, 4
mov word [esi + 0x10], cx
mov ecx, dword [edi + 0x10]
mov edi, dword [edi + 4]
test ecx, ecx
jne 0x1013af5b
test word [esi + 0x10], ax
jne 0x1013aef7
cmp dword [esi + 0x18], ecx
je 0x1013af00
push esi
call fcn.101566b0
add esp, 4
mov eax, 0x410
mov word [esi + 0x10], ax
xor eax, eax
test edi, edi
mov dword [esi + 0xc], 0
push esi
cmovns eax, edi
mov dword [esi], eax
mov byte [esi + 0x12], 1
mov dword [esi + 8], 0
call fcn.10144740
add esp, 4
test eax, eax
jne 0x1013cd50
mov al, byte [esp + 0x48]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov byte [esi + 0x12], al
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
push 0
push 0
mov eax, edi
cdq
push edx
push eax
push ecx
push esi
call fcn.10144eb0
mov al, byte [esp + 0x60]
add esp, 0x18
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov byte [esi + 0x12], al
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x14]
lea edi, [eax + eax*4]
mov ebx, dword [edx + 0x64]
movzx eax, word [ebx + edi*8 - 0x18]
test al, 0x12
je 0x1013afca
mov ecx, dword [ebx + edi*8 - 0x1c]
test eax, 0x400
je 0x1013afbd
add ecx, dword [ebx + edi*8 - 0x28]
mov eax, dword [ebx + edi*8 - 0x14]
cmp ecx, dword [eax + 0x78]
jg 0x101427fe
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x1013afef
push esi
call fcn.101566f0
add esp, 4
movups xmm0, xmmword [ebx + edi*8 - 0x28]
mov ecx, 0xafff
movups xmmword [esi], xmm0
mov eax, dword [ebx + edi*8 - 0x18]
mov edi, dword [esp + 0x18]
mov dword [esi + 0x10], eax
and ax, cx
mov ecx, 0x2040
or ax, cx
mov ecx, dword [esp + 0x14]
mov word [esi + 0x10], ax
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
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
mov eax, 0x9000
test word [esi + 0x10], ax
jne 0x1013b061
cmp dword [esi + 0x18], 0
je 0x1013b06a
push esi
call fcn.101566b0
add esp, 4
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 + 0x10], ax
mov dword [edi + 0x18], 0
movzx eax, word [esi + 0x10]
test eax, 0x4000
je 0x1013b0e1
test al, 0x12
je 0x1013b0d8
test eax, 0x400
je 0x1013b0b9
push esi
call fcn.10144740
add esp, 4
test eax, eax
jne 0x1013cd50
cmp dword [esi + 0x18], 0
je 0x1013b0c7
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x20]
je 0x1013b0d8
push esi
call fcn.10156660
add esp, 4
test eax, eax
jne 0x1013cd50
mov eax, 0xbfff
and word [esi + 0x10], ax
add edi, 0x28
add esi, 0x28
sub ebx, 1
jne 0x1013b050
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov ebx, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x1013b14c
push 0x4000
push edi
push esi
call fcn.10155b90
add esp, 0xc
jmp 0x1013b17b
movups xmm0, xmmword [edi]
movups xmmword [esi], xmm0
mov eax, dword [edi + 0x10]
mov dword [esi + 0x10], eax
mov eax, 0x2000
test word [edi + 0x10], ax
jne 0x1013b17b
mov ax, word [esi + 0x10]
mov ecx, 0xcfff
and ax, cx
mov ecx, 0x4000
or ax, cx
mov word [esi + 0x10], ax
movzx eax, word [esi + 0x10]
mov ecx, eax
test ecx, 0x4000
je 0x1013b1d3
test cl, 0x12
je 0x1013b1c6
test ecx, 0x400
je 0x1013b1a7
push esi
call fcn.10144740
add esp, 4
test eax, eax
jne 0x1013cd50
cmp dword [esi + 0x18], 0
je 0x1013b1b5
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x20]
je 0x1013b1c6
push esi
call fcn.10156660
add esp, 4
test eax, eax
jne 0x1013cd50
mov eax, 0xbfff
and word [esi + 0x10], ax
movzx eax, word [esi + 0x10]
movzx eax, ax
test eax, 0x800
je 0x1013b1f0
mov ecx, dword [esp + 0x10]
test byte [ecx + 2], 2
je 0x1013b1f0
and eax, 0xf7ff
mov word [esi + 0x10], ax
mov eax, ebx
dec ebx
test eax, eax
je 0x1013ae69
add esi, 0x28
add edi, 0x28
jmp 0x1013b130
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, 0x9000
test word [ecx + 0x10], ax
je 0x1013b259
push 0x4000
push edx
push ecx
call fcn.10155b90
mov esi, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
movups xmm0, xmmword [edx]
mov esi, dword [esp + 0x10]
mov ebx, 0x2000
movups xmmword [ecx], xmm0
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x10], eax
test word [edx + 0x10], bx
jne 0x1013a9f5
mov edx, 0xcfff
and ax, dx
mov edx, 0x4000
or ax, dx
mov word [ecx + 0x10], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
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, 0x9000
test word [ecx + 0x10], bx
je 0x1013b2f2
push eax
push edx
push ecx
call fcn.10157920
mov esi, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov esi, dword [esp + 0x10]
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov eax, 4
mov word [ecx + 0x10], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
push 0
push ecx
call fcn.1013a0b0
mov edx, eax
add esp, 8
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10142bef
mov ecx, dword [esp + 0x14]
mov edi, eax
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
movzx ecx, word [ebx + eax*8 + 0x10]
lea ebp, [ebx + eax*8]
mov eax, dword [edi + 8]
mov dword [esp + 0x74], ecx
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov al, byte [edi + 0x10]
or al, cl
test al, 1
je 0x1013b3e9
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x1013b3bd
push esi
call fcn.101566f0
add esp, 4
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edi, dword [esp + 0x18]
mov eax, 1
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov word [esi + 0x10], ax
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
test cl, 0x12
jne 0x1013b41b
mov ebx, dword [esp + 0x6c]
push 0
push ebx
push ebp
call fcn.10145260
add esp, 0xc
test eax, eax
jne 0x1013cd4c
mov ax, word [ebp + 0x10]
mov ecx, 0xfffd
and ax, cx
movzx ecx, ax
mov dword [esp + 0x74], ecx
jmp 0x1013b44b
test ecx, 0x400
je 0x1013b447
push ebp
call fcn.10144740
add esp, 4
test eax, eax
jne 0x1013cd4c
mov ax, word [ebp + 0x10]
mov ecx, 0xfffd
and ax, cx
movzx eax, ax
mov dword [esp + 0x74], eax
mov ebx, dword [esp + 0x6c]
movzx eax, word [edi + 0x10]
mov dword [esp + 0x34], eax
test al, 0x12
jne 0x1013b465
push 0
push ebx
push edi
call fcn.10145260
add esp, 0xc
jmp 0x1013b475
test eax, 0x400
je 0x1013b490
push edi
call fcn.10144740
add esp, 4
test eax, eax
jne 0x1013cd4c
mov ax, word [edi + 0x10]
mov ecx, 0xfffd
and ax, cx
movzx eax, ax
mov dword [esp + 0x34], eax
mov ecx, dword [edi + 0xc]
add ecx, dword [ebp + 0xc]
mov eax, ecx
cdq
mov ebx, eax
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x78]
cdq
cmp dword [esp + 0x38], edx
jg 0x101427fa
jl 0x1013b4bb
cmp ebx, eax
ja 0x101427fa
xor eax, eax
cmp esi, edi
sete al
push eax
lea eax, [ecx + 2]
push eax
push esi
call fcn.10144970
add esp, 0xc
test eax, eax
jne 0x1013cd4c
mov ax, word [esi + 0x10]
mov ecx, 0xf242
and ax, cx
or ax, 2
mov word [esi + 0x10], ax
cmp esi, edi
je 0x1013b509
push dword [edi + 0xc]
push dword [edi + 8]
push dword [esi + 8]
call fcn.1016b7f0
mov eax, dword [esp + 0x40]
add esp, 0xc
mov word [edi + 0x10], ax
push dword [ebp + 0xc]
mov eax, dword [esi + 8]
push dword [ebp + 8]
add eax, dword [edi + 0xc]
push eax
call fcn.1016b7f0
mov cl, byte [esp + 0x54]
add esp, 0xc
mov eax, dword [esp + 0x74]
mov word [ebp + 0x10], ax
cmp cl, 1
jbe 0x1013b53a
mov eax, dword [esp + 0x38]
and ebx, 0xfffffffe
mov dword [esp + 0x30], eax
mov eax, dword [esi + 8]
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov byte [ebx + eax], 0
mov eax, dword [esi + 8]
mov byte [ebx + eax + 1], 0
mov eax, 0x200
or word [esi + 0x10], ax
mov eax, dword [esp + 0x20]
mov dword [esi + 0xc], ebx
mov byte [esi + 0x12], cl
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
movzx edx, word [ecx + eax*8 + 0x10]
lea esi, [ecx + eax*8]
mov eax, dword [edi + 8]
mov ebx, edx
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea ebp, [ecx + eax*8]
mov eax, dword [edi + 0xc]
movzx ecx, word [ebp + 0x10]
mov dword [esp + 0x3c], ebp
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x34], eax
mov al, cl
and al, bl
test al, 4
jne 0x1013b605
or cl, bl
test cl, 1
jne 0x1013b992
and edx, 0x2d
je 0x1013b5d9
mov ebx, edx
jmp 0x1013b5e5
push esi
call fcn.100e3530
add esp, 4
movzx ebx, ax
mov ax, word [ebp + 0x10]
and ax, 0x2d
jne 0x1013b5f8
push ebp
call fcn.100e3530
add esp, 4
movzx eax, ax
and al, bl
test al, 4
je 0x1013b7a9
mov eax, dword [esp + 0x10]
mov ebx, dword [ebp]
mov edi, dword [esi]
mov ebp, dword [ebp + 4]
movzx eax, byte [eax]
mov esi, dword [esi + 4]
add eax, 0xffffff96
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebp
cmp eax, 3
ja case.default.0x1013b631
jmp dword [eax*4 + 0x101430f4]
push esi
lea eax, [esp + 0x84]
push edi
push eax
call fcn.101072f0
add esp, 0xc
test eax, eax
jne 0x1013b7a1
mov ebp, dword [esp + 0x84]
mov ebx, dword [esp + 0x80]
jmp 0x1013b94f
test edi, edi
jne 0x1013b68c
cmp esi, 0x80000000
jne 0x1013b68c
test ebp, ebp
jg 0x1013b7a1
jl 0x1013b683
test ebx, ebx
jae 0x1013b7a1
sub ebx, edi
sbb ebp, esi
jmp 0x1013b94f
neg edi
adc esi, 0
neg esi
jmp case.0x1013b631.106
test esi, esi
jl 0x1013b6f2
jg 0x1013b69f
test edi, edi
je 0x1013b6e8
push esi
push edi
push 0x7fffffff
push 0xffffffffffffffff
call fcn.1016a880
cmp ebp, edx
jg 0x1013b7a1
jl 0x1013b6bf
cmp ebx, eax
ja 0x1013b7a1
push esi
push edi
push 0x80000000
push 0
call fcn.1016a880
cmp ebp, edx
jg 0x1013b768
jl 0x1013b7a1
cmp ebx, eax
jae 0x1013b768
jmp 0x1013b7a1
test esi, esi
jg 0x1013b768
jl 0x1013b6f2
test edi, edi
jae 0x1013b768
test ebp, ebp
jl 0x1013b727
jg 0x1013b6fc
test ebx, ebx
je 0x1013b71d
push ebp
push ebx
push 0x80000000
push 0
call fcn.1016a880
cmp esi, edx
jg 0x1013b768
jl 0x1013b7a1
cmp edi, eax
jae 0x1013b768
jmp 0x1013b7a1
test ebp, ebp
jg 0x1013b768
jl 0x1013b727
test ebx, ebx
jae 0x1013b768
test edi, edi
jne 0x1013b733
cmp esi, 0x80000000
je 0x1013b7a1
test ebx, ebx
jne 0x1013b73f
cmp ebp, 0x80000000
je 0x1013b7a1
push esi
push edi
push 0x80000000
push 1
call fcn.1016a880
mov ecx, ebx
neg ecx
mov dword [esp + 0x2c], ecx
mov ecx, ebp
adc ecx, 0
neg ecx
cmp ecx, edx
jg 0x1013b7a1
jl 0x1013b768
cmp dword [esp + 0x2c], eax
ja 0x1013b7a1
push ebp
push ebx
push esi
push edi
call fcn.1016a930
jmp 0x1013b94b
mov eax, edi
or eax, esi
je 0x1013b992
mov eax, edi
and eax, esi
cmp eax, 0xffffffff
jne 0x1013b921
test ebx, ebx
jne 0x1013b921
cmp ebp, 0x80000000
jne 0x1013b921
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x38]
movzx eax, word [ebx + 0x10]
test al, 8
je 0x1013b7ca
movsd xmm0, qword [ebx]
movsd qword [esp + 0x2c], xmm0
movsd xmm0, qword [esp + 0xa0]
jmp 0x1013b820
test al, 0x24
je 0x1013b7e9
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
call fcn.1016a400
movsd qword [esp + 0x2c], xmm0
movsd xmm0, qword [esp + 0xa0]
jmp 0x1013b820
test al, 0x12
je 0x1013b811
push ebx
call fcn.100f6a80
fstp qword [esp + 0x30]
movsd xmm0, qword [esp + 0x30]
add esp, 4
movsd qword [esp + 0x2c], xmm0
movsd xmm0, qword [esp + 0xa0]
jmp 0x1013b820
movsd xmm0, qword [esp + 0xa0]
movsd qword [esp + 0x2c], xmm0
movzx eax, word [ebp + 0x10]
test al, 8
je 0x1013b82f
movsd xmm0, qword [ebp]
jmp 0x1013b857
test al, 0x24
je 0x1013b840
mov edx, dword [ebp + 4]
mov ecx, dword [ebp]
call fcn.1016a400
jmp 0x1013b857
test al, 0x12
je 0x1013b857
push ebp
call fcn.100f6a80
fstp qword [esp + 0x44]
movsd xmm0, qword [esp + 0x44]
add esp, 4
movzx eax, byte [edi]
add eax, 0xffffff96
cmp eax, 3
ja case.default.0x1013b862
jmp dword [eax*4 + 0x10143104]
addsd xmm0, qword [esp + 0x2c]
jmp 0x1013b8dd
subsd xmm0, qword [esp + 0x2c]
jmp 0x1013b8dd
mulsd xmm0, qword [esp + 0x2c]
jmp 0x1013b8dd
movsd xmm1, qword [esp + 0x2c]
ucomisd xmm1, qword [esp + 0xa0]
lahf
test ah, 0x44
jnp 0x1013b992
divsd xmm0, xmm1
jmp 0x1013b8dd
push ebx
call fcn.10143dd0
push ebp
mov esi, eax
mov edi, edx
call fcn.10143dd0
mov ecx, esi
add esp, 8
or ecx, edi
je 0x1013b992
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x1013b8cd
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.1016a970
mov ecx, eax
call fcn.1016a400
movsd qword [esp + 0x2c], xmm0
mov ecx, dword [esp + 0x30]
mov eax, ecx
and eax, 0x7ff00000
cmp eax, 0x7ff00000
jne 0x1013b907
mov eax, dword [esp + 0x2c]
and ecx, 0xfffff
or eax, ecx
jne 0x1013b992
mov ecx, dword [esp + 0x34]
mov edx, 0xf248
movsd qword [ecx], xmm0
mov ax, word [ecx + 0x10]
and ax, dx
or ax, 8
jmp 0x1013b968
push esi
push edi
push ebp
push ebx
call fcn.1016a880
jmp 0x1013b94b
mov eax, edi
or eax, esi
je 0x1013b992
mov eax, edi
and eax, esi
cmp eax, 0xffffffff
jne 0x1013b942
mov edi, 1
xor esi, esi
push esi
push edi
push ebp
push ebx
call fcn.1016a970
mov ebx, eax
mov ebp, edx
mov ecx, dword [esp + 0x34]
mov edx, 0xf244
mov dword [ecx], ebx
mov dword [ecx + 4], ebp
mov ax, word [ecx + 0x10]
and ax, dx
or ax, 4
movzx eax, ax
mov word [ecx + 0x10], ax
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov eax, dword [esp + 0x34]
mov ecx, 0x9000
test word [eax + 0x10], cx
je 0x1013b9a7
push eax
jmp 0x1013b392
mov ecx, 1
mov word [eax + 0x10], cx
jmp 0x1013b39a
mov eax, dword [esi + 4]
test eax, eax
je 0x1013a9f9
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
push 0
push 0
lea eax, [ecx + eax*8]
push eax
call fcn.10144d60
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea ebp, [ebx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edx + 0xc]
movzx edx, word [ecx + 0x10]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov al, byte [ebp + 0x10]
or al, dl
mov dword [esp + 0x2c], ebx
test al, 1
je 0x1013ba49
mov eax, 0x9000
test word [ebx + 0x10], ax
je 0x1013ba3b
push ebx
call fcn.101566f0
add esp, 4
jmp 0x1013b39e
mov eax, 1
mov word [ebx + 0x10], ax
jmp 0x1013b39e
mov eax, edx
test al, 0x24
je 0x1013ba64
mov edi, dword [ecx]
mov esi, dword [ecx + 4]
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], esi
jmp 0x1013bad1
test al, 8
je 0x1013ba90
movsd xmm0, qword [ecx]
sub esp, 8
movsd qword [esp], xmm0
call fcn.100e6110
mov edi, eax
mov esi, edx
add esp, 8
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], esi
jmp 0x1013bad1
test al, 0x12
je 0x1013bab7
cmp dword [ecx + 8], 0
je 0x1013bab7
push ecx
call fcn.100f6a50
mov edi, eax
mov esi, edx
add esp, 4
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], esi
jmp 0x1013bad1
xorps xmm0, xmm0
movlpd qword [esp + 0x90], xmm0
mov esi, dword [esp + 0x94]
mov edi, dword [esp + 0x90]
movzx eax, word [ebp + 0x10]
test al, 0x24
je 0x1013bae1
mov ebx, dword [ebp]
mov edx, dword [ebp + 4]
jmp 0x1013bb26
test al, 8
je 0x1013bafe
movsd xmm0, qword [ebp]
sub esp, 8
movsd qword [esp], xmm0
call fcn.100e6110
add esp, 8
mov ebx, eax
jmp 0x1013bb26
test al, 0x12
je 0x1013bb15
cmp dword [ebp + 8], 0
je 0x1013bb15
push ebp
call fcn.100f6a50
add esp, 4
mov ebx, eax
jmp 0x1013bb26
xorps xmm0, xmm0
movlpd qword [esp + 0x40], xmm0
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x10]
mov cl, byte [eax]
cmp cl, 0x66
jne 0x1013bb37
and edi, ebx
and esi, edx
jmp 0x1013bb9d
cmp cl, 0x67
jne 0x1013bb42
or edi, ebx
or esi, edx
jmp 0x1013bb9d
mov eax, ebx
or eax, edx
je 0x1013bb9d
test edx, edx
jg 0x1013bb76
jl 0x1013bb52
test ebx, ebx
jae 0x1013bb6b
mov al, 0xd1
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x1013bb76
jg 0x1013bb64
cmp ebx, 0xffffffc0
jbe 0x1013bb76
neg ebx
adc edx, 0
neg edx
test edx, edx
jl 0x1013bbbb
jg 0x1013bb76
cmp ebx, 0x40
jb 0x1013bbbb
test esi, esi
jg 0x1013bb8c
jl 0x1013bb80
test edi, edi
jae 0x1013bb8c
cmp cl, 0x68
je 0x1013bb8c
or edi, 0xffffffff
or esi, edi
jmp 0x1013bb9d
xorps xmm0, xmm0
movlpd qword [esp + 0x40], xmm0
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x2c]
mov edx, 0xf244
mov dword [ecx], edi
mov dword [ecx + 4], esi
mov ax, word [ecx + 0x10]
and ax, dx
or ax, 4
jmp 0x1013b96b
movq xmm1, qword [esp + 0x90]
movd xmm0, ebx
cmp cl, 0x68
jne 0x1013bbd9
psllq xmm1, xmm0
movq qword [esp + 0x40], xmm1
jmp 0x1013bb95
psrlq xmm1, xmm0
movq qword [esp + 0x40], xmm1
test esi, esi
jg 0x1013bb95
jl 0x1013bbed
test edi, edi
jae 0x1013bb95
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, ebx
or edx, 0xffffffff
call fcn.1016aa30
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
or edi, eax
or esi, edx
jmp 0x1013bb9d
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.10144ac0
mov eax, dword [esp + 0x14]
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 8]
cdq
add dword [esi], eax
mov eax, dword [esp + 0x20]
adc dword [esi + 4], edx
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx ecx, word [esi + 0x10]
mov eax, ecx
test cl, 4
jne 0x1013bcb1
test cl, 8
jne 0x1013bc85
test cl, 2
je 0x1013bc80
push 1
push esi
call fcn.100db360
movzx eax, word [esi + 0x10]
add esp, 8
movzx ecx, ax
jmp 0x1013bc92
push esi
call fcn.10143e20
movzx ecx, word [esi + 0x10]
add esp, 4
movzx eax, cx
test cl, 4
jne 0x1013bcb1
mov ebp, dword [esp + 0x10]
cmp dword [ebp + 8], 0
je 0x101425e6
mov ecx, dword [esp + 0x14]
jmp 0x1013e5c7
mov ecx, dword [esp + 0x14]
and eax, 0xf244
or eax, 4
mov word [esi + 0x10], ax
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x10], 0x24
lea eax, [edx + eax*8]
je 0x1013a9f9
push eax
call fcn.10144c90
mov ecx, dword [esp + 0x18]
add esp, 4
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x400
test word [esi + 0x10], ax
je 0x1013bd43
push esi
call fcn.10144740
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
test edx, edx
jne 0x1014275c
push dword [esp + 0x6c]
movzx eax, byte [edi + 8]
push eax
push esi
call fcn.101445b0
add esp, 0xc
mov edx, eax
mov dword [esp + 0x18], edx
test edx, edx
jne 0x1014275c
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [edx + 0xc]
movzx edx, word [edi + 0x10]
mov dword [esp + 0x34], edx
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 0x10]
mov dword [esp + 0x2c], eax
and eax, edx
test al, 4
je 0x1013be82
mov ecx, dword [esi + 4]
mov eax, dword [edi + 4]
mov ebp, dword [esi]
mov edx, dword [edi]
cmp ecx, eax
jl 0x1013be0e
jg 0x1013bdca
cmp ebp, edx
jbe 0x1013be04
mov eax, dword [0x101a1270]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp byte [ebx + eax], 0
jne 0x1013e5c3
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x5c], 1
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
cmp ecx, eax
jg 0x1013be48
jl 0x1013be0e
cmp ebp, edx
jae 0x1013be48
mov eax, dword [0x101a1268]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp byte [ebx + eax], 0
jne 0x1013e5c3
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x5c], 0xffffffff
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov eax, dword [0x101a126c]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp byte [ebx + eax], 0
jne 0x1013e5c3
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x5c], 0
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov ebx, dword [esp + 0x2c]
mov ecx, ebx
or ecx, edx
test cl, 1
je 0x1013bf06
mov ecx, dword [esp + 0x10]
movzx ecx, word [ecx + 2]
test cl, cl
jns 0x1013bed6
test al, 1
je 0x1013bec3
test ebx, 0x100
jne 0x1013bec3
mov eax, dword [esp + 0x10]
mov dword [esp + 0x5c], 0
movzx ecx, byte [eax]
mov eax, dword [0x101a126c]
mov al, byte [ecx + eax]
jmp 0x1013c037
mov eax, ebx
not eax
and eax, 1
lea eax, [eax*2 - 1]
jmp 0x1013bfd1
mov edi, dword [esp + 0x18]
test cl, 0x10
mov ecx, dword [esp + 0x14]
jne 0x1013e5c3
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x5c], 1
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov ebp, dword [esp + 0x10]
mov al, byte [ebp + 2]
and al, 0x47
cmp al, 0x43
jb 0x1013bf4c
test cl, 2
je 0x1013bfc0
mov al, dl
and al, 0x2e
cmp al, 2
jne 0x1013bf33
push 0
push edi
call fcn.100db360
movzx ebx, word [esi + 0x10]
add esp, 8
mov al, bl
and al, 0x2e
cmp al, 2
jne 0x1013bfc0
push 0
push esi
call fcn.100db360
add esp, 8
jmp 0x1013bfc0
cmp al, 0x42
jne 0x1013bfc0
test dl, 2
jne 0x1013bf91
test dl, 0x2c
je 0x1013bf91
push 1
push dword [esp + 0x70]
push edi
call fcn.10145260
mov ax, word [edi + 0x10]
mov ecx, 0xdbf
xor ax, word [esp + 0x40]
add esp, 0xc
and ax, cx
xor ax, word [edi + 0x10]
movzx edx, ax
mov dword [esp + 0x34], edx
cmp edi, esi
jne 0x1013bf91
mov eax, edx
or eax, 2
movzx ebx, ax
test bl, 2
jne 0x1013bfc0
test bl, 0x2c
je 0x1013bfc0
push 1
push dword [esp + 0x70]
push esi
call fcn.10145260
mov ax, word [esi + 0x10]
mov ecx, 0xdbf
xor ax, bx
add esp, 0xc
and ax, cx
xor ax, word [esi + 0x10]
movzx ebx, ax
push dword [ebp + 0x10]
push edi
push esi
call fcn.10125060
mov edx, dword [esp + 0x40]
add esp, 0xc
mov ebp, eax
mov dword [esp + 0x5c], eax
movzx eax, bx
movzx ecx, dx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x38], ecx
test ebp, ebp
jge 0x1013bffa
mov eax, dword [esp + 0x10]
movzx ecx, byte [eax]
mov eax, dword [0x101a1268]
mov al, byte [ecx + eax]
jmp 0x1013c037
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x38]
movzx edx, dx
movzx ebx, ax
movzx ecx, byte [ecx]
mov dword [esp + 0x5c], ebp
test ebp, ebp
jne 0x1013c01d
mov eax, dword [0x101a126c]
mov al, byte [ecx + eax]
jmp 0x1013c037
mov eax, dword [0x101a1270]
mov dword [esp + 0x5c], ebp
mov al, byte [ecx + eax]
mov ecx, dword [esp + 0x38]
movzx edx, cx
mov ecx, dword [esp + 0x2c]
movzx ebx, cx
mov word [esi + 0x10], bx
mov word [edi + 0x10], dx
mov edi, dword [esp + 0x18]
test al, al
je 0x1013b39e
jmp 0x1013e5bf
cmp dword [esp + 0x5c], 0
je 0x1013e5c3
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
test byte [edx + 2], 1
jne 0x1013c078
xor ebp, ebp
jmp 0x1013c07e
mov ebp, dword [edx - 4]
add ebp, 4
mov esi, dword [esp + 0x10]
mov eax, dword [edx + 0xc]
mov edx, dword [edx + 0x10]
mov dword [esp + 0x34], eax
mov ecx, dword [esi + 4]
mov dword [esp + 0x40], ecx
mov ecx, dword [esi + 8]
xor esi, esi
mov dword [esp + 0x38], edx
mov dword [esp + 0x2c], ecx
test eax, eax
jle 0x1013b39e
lea edi, [edx + 0x14]
nop dword [eax + eax]
test ebp, ebp
je 0x1013c0ba
mov ecx, dword [ebp + esi*4]
jmp 0x1013c0bc
mov ecx, esi
mov eax, dword [edx + 0x10]
mov edx, dword [esp + 0x28]
push dword [edi]
movzx ebx, byte [eax + esi]
mov eax, dword [esp + 0x30]
and ebx, 1
add eax, ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [esp + 0x44]
add eax, ecx
mov dword [esp + 0x64], edx
mov ecx, dword [esp + 0x2c]
push edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
mov dword [esp + 0x80], eax
call fcn.10125060
mov edx, eax
add esp, 0xc
mov dword [esp + 0x5c], edx
test edx, edx
jne 0x1013c11a
mov edx, dword [esp + 0x38]
inc esi
add edi, 4
cmp esi, dword [esp + 0x34]
jl 0x1013c0b0
jmp 0x1013b96f
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x10]
test byte [esi + eax], 2
je 0x1013c141
mov eax, dword [esp + 0x74]
test byte [eax + 0x10], 1
jne 0x1013c13b
mov eax, dword [esp + 0x60]
test byte [eax + 0x10], 1
je 0x1013c141
neg edx
mov dword [esp + 0x5c], edx
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
test ebx, ebx
je case.0x1013a908.89
neg edx
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov ebx, dword [esp + 0x5c]
mov edx, dword [esp + 0x10]
test ebx, ebx
jns 0x1013c1a1
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
lea esi, [eax - 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
jne 0x1013c1c6
mov eax, dword [edx + 8]
mov edx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
lea esi, [eax - 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
lea esi, [eax - 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
movzx eax, word [ecx + 0x10]
test al, 0x24
je 0x1013c241
mov eax, dword [ecx]
or eax, dword [ecx + 4]
jne 0x1013c280
xor esi, esi
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
movzx eax, word [ecx + 0x10]
test al, 0x24
je 0x1013c287
mov eax, dword [ecx]
or eax, dword [ecx + 4]
jne 0x1013c2ca
xor eax, eax
cmp byte [edx], 0x2c
lea eax, [eax + esi*2]
jne 0x1013c2d4
mov dl, byte [esi + eax + 0x1018efb0]
jmp 0x1013c2db
test al, 1
je 0x1013c24c
mov esi, 2
jmp 0x1013c20b
test al, 8
je 0x1013c256
movsd xmm0, qword [ecx]
jmp 0x1013c271
test al, 0x12
je 0x1013c209
push ecx
call fcn.100f6a80
mov edx, dword [esp + 0x14]
add esp, 4
fstp qword [esp + 0x2c]
movsd xmm0, qword [esp + 0x2c]
ucomisd xmm0, qword [esp + 0xa0]
lahf
test ah, 0x44
jnp 0x1013c209
mov esi, 1
jmp 0x1013c20b
test al, 1
je 0x1013c292
mov eax, 2
jmp 0x1013c229
test al, 8
je 0x1013c29c
movsd xmm0, qword [ecx]
jmp 0x1013c2b7
test al, 0x12
je 0x1013c227
push ecx
call fcn.100f6a80
mov edx, dword [esp + 0x14]
add esp, 4
fstp qword [esp + 0x2c]
movsd xmm0, qword [esp + 0x2c]
ucomisd xmm0, qword [esp + 0xa0]
lahf
test ah, 0x44
jnp 0x1013c227
mov eax, 1
jmp 0x1013c229
mov dl, byte [esi + eax + 0x1018efbc]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
lea ecx, [eax + eax*4]
cmp dl, 2
jne 0x1013c31e
mov ax, word [ebx + ecx*8 + 0x10]
mov edx, 0xf241
mov esi, dword [esp + 0x10]
and ax, dx
or ax, 1
movzx eax, ax
mov word [ebx + ecx*8 + 0x10], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov esi, dword [esp + 0x10]
movzx eax, dl
cdq
mov dword [ebx + ecx*8], eax
mov dword [ebx + ecx*8 + 4], edx
mov edx, 0xf244
mov ax, word [ebx + ecx*8 + 0x10]
and ax, dx
or ax, 4
movzx eax, ax
mov word [ebx + ecx*8 + 0x10], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edx + 4]
push dword [edx + 0xc]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
push eax
call fcn.10139ed0
mov ecx, dword [esp + 0x18]
xor eax, dword [ecx + 0x10]
cdq
push edx
push eax
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
push eax
call fcn.10144d60
mov esi, dword [esp + 0x24]
add esp, 0x14
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x10], 1
lea ecx, [edx + eax*8]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
jne 0x1013c442
push 0
push ecx
call fcn.10139ed0
add esp, 8
mov ecx, 0x9000
neg eax
sbb eax, eax
inc eax
test word [esi + 0x10], cx
je 0x1013c415
push 0
push eax
push esi
call fcn.10157920
mov esi, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov ecx, dword [esp + 0x14]
mov dword [esi], eax
mov eax, 4
mov dword [esi + 4], 0
mov word [esi + 0x10], ax
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x1013c471
push esi
call fcn.101566f0
mov esi, dword [esp + 0x14]
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov ecx, dword [esp + 0x14]
mov eax, 1
mov word [esi + 0x10], ax
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
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, 0x9000
test word [esi + 0x10], ax
je 0x1013c4cb
push esi
call fcn.101566f0
mov ecx, dword [esp + 0x18]
add esp, 4
jmp 0x1013c4d4
mov eax, 1
mov word [esi + 0x10], ax
test byte [edi + 0x10], 1
jne 0x1013da73
mov eax, 4
push edi
mov word [esi + 0x10], ax
call fcn.10143dd0
mov edi, dword [esp + 0x1c]
not eax
mov ecx, dword [esp + 0x18]
not edx
mov dword [esi], eax
add esp, 4
mov eax, dword [esp + 0x20]
mov dword [esi + 4], edx
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x14]
mov edi, dword [edx + 0xd0]
test edi, edi
je 0x1013c590
mov ecx, dword [esp + 0x10]
mov eax, 0x66666667
sub ecx, dword [edx + 0x68]
mov edi, dword [edi + 0x18]
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 0x1013eb21
bts edx, ecx
mov byte [esi + edi], dl
mov edx, dword [esp + 0x14]
mov ecx, edx
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x10]
mov eax, dword [edx + 0x68]
mov eax, dword [eax + 4]
mov dword [edi + 4], eax
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov eax, dword [edx + 0x68]
mov edi, dword [esp + 0x10]
mov eax, dword [eax + 4]
cmp eax, dword [edi + 4]
je 0x10142505
mov eax, dword [edx + 0x68]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 4]
mov dword [edi + 4], eax
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
push dword [edx + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
call fcn.10139ed0
add esp, 8
test eax, eax
jne 0x1013e5bf
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
cmp dword [edx + 0xc], eax
sete al
push eax
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
call fcn.10139ed0
add esp, 8
test eax, eax
jne 0x1013ab64
jmp 0x1013e5bf
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x10], 1
jne 0x1013e5c3
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 4]
test ecx, ecx
js 0x1013c6b3
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
mov eax, edx
mov edx, dword [eax + 0xc]
movzx eax, word [ecx + 0x3e]
cmp edx, eax
jge 0x1013c6aa
mov eax, dword [ecx + edx*4 + 0x58]
cmp eax, 0xc
jb 0x1013c6a1
test al, 1
mov eax, 0
sete al
lea eax, [eax*4 + 4]
jmp 0x1013c6d9
movzx eax, byte [eax + 0x1018efc8]
jmp 0x1013c6dc
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x10]
jmp 0x1013c6d0
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
movzx eax, word [ecx + eax*8 + 0x10]
and eax, 0x3f
movzx ecx, byte [eax + 0x1018e9e8]
dec ecx
mov eax, 1
shl ax, cl
movzx eax, ax
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test word [esi + 2], ax
jne 0x1013e5c3
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 1
jne 0x1013c754
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 1
jne 0x1013c754
mov eax, dword [edx + 8]
push 0
push 0
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
push eax
call fcn.10144d60
mov esi, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov eax, dword [esp + 0x10]
mov edx, 0x9000
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
test word [ebx + eax*8 + 0x10], dx
lea eax, [ebx + eax*8]
je 0x1013c791
push eax
call fcn.101566f0
mov esi, dword [esp + 0x14]
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov esi, dword [esp + 0x10]
mov edx, 1
mov word [eax + 0x10], dx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x10], 1
je 0x1013e5c3
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x1013a9f5
cmp byte [eax + 2], 0
je 0x1013a9f5
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, 0x9000
test word [eax + 0x10], cx
je 0x1013c822
push eax
call fcn.101566f0
add esp, 4
jmp 0x1013e5bf
mov ecx, 1
mov word [eax + 0x10], cx
jmp 0x1013e5bf
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, dword [edi + 4]
mov eax, dword [edx + 0x60]
mov esi, dword [eax + ecx*4]
mov ecx, dword [edi + 8]
mov dword [esp + 0x50], ecx
nop dword [eax + eax]
mov eax, dword [esi + 0x20]
mov ebp, dword [esi + 0x48]
mov dword [esp + 0x4c], ebp
cmp eax, dword [edx + 0x1c]
je 0x1013c890
cmp byte [esi + 2], 0
jne 0x1013c909
cmp byte [esi + 3], 0
mov edi, dword [esi + 0x2c]
je 0x1013c889
mov eax, dword [esi + 0x10]
test eax, eax
je 0x1013c8bd
mov eax, dword [eax + ecx*4 + 4]
test eax, eax
je 0x1013c8bd
mov esi, dword [esi + 0x28]
lea ecx, [eax - 1]
jmp 0x1013c844
cmp byte [edi], 0
je 0x1013c8d4
jmp 0x1013c89c
mov eax, dword [esi + 0x2c]
cmp byte [eax], 0
je 0x1013c9ea
push esi
call fcn.10143d90
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
test edx, edx
jne 0x101427a1
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x14]
jmp 0x1013c850
push esi
call fcn.101436a0
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
test edx, edx
jne 0x101427a1
push edi
call fcn.100efe40
mov eax, dword [edi + 0x2c]
add esp, 4
mov dword [esi + 0x50], eax
mov eax, dword [edi + 0x74]
movzx ecx, word [edi + 0x30]
mov eax, dword [eax + 0x3c]
sub eax, dword [edi + 0x28]
cmp ecx, eax
jle 0x1013c8fd
xor edx, edx
mov ecx, eax
test eax, eax
cmovs ecx, edx
mov edx, dword [esp + 0x14]
mov dword [esi + 0x54], ecx
mov ecx, dword [edi + 0x28]
jmp 0x1013c932
cmp byte [esi], 3
jne 0x1013c9b2
mov eax, dword [esi + 0x24]
test eax, eax
jle 0x1013c9b2
mov ebx, dword [esp + 0x28]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + ecx*8 + 0xc]
mov dword [esi + 0x54], eax
mov dword [esi + 0x50], eax
mov ecx, dword [ebx + ecx*8 + 8]
mov dword [esi + 0x4c], ecx
lea ebx, [esi + 0x34]
mov eax, dword [edx + 0x1c]
mov dword [esi + 0x20], eax
movzx eax, byte [ecx]
mov dword [ebp], eax
mov dword [esp + 0x38], ebx
cmp eax, 0x80
jae 0x1013c956
mov eax, 1
jmp 0x1013c965
push ebp
push dword [esi + 0x4c]
call fcn.10120b60
add esp, 8
movzx eax, al
mov dword [ebx], eax
lea edi, [esi + 0x3e]
xor eax, eax
mov dword [esp + 0x54], edi
mov word [edi], ax
mov eax, dword [esi + 0x54]
cmp eax, dword [ebp]
jae 0x1013c9a6
mov dword [esi + 0x4c], 0
mov dword [esi + 0x54], 0
mov eax, dword [ebp]
cmp eax, 0x18003
ja 0x1013cbe0
cmp eax, dword [esi + 0x50]
ja 0x1013cbe0
mov ecx, dword [esp + 0x50]
jmp 0x1013c9ed
mov edx, dword [esi + 0x4c]
mov dword [esp + 0x60], edx
jmp 0x1013ca6b
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, 0x9000
test word [eax + 0x10], cx
je 0x1013c9dc
push eax
call fcn.101566f0
add esp, 4
jmp 0x1013b96f
mov ecx, 1
mov word [eax + 0x10], cx
jmp 0x1013b96f
lea edi, [esi + 0x3e]
movzx eax, word [edi]
cmp eax, ecx
ja 0x1013ccb2
mov eax, dword [esi + 0x34]
lea ebx, [esi + 0x34]
mov dword [esp + 0x38], ebx
cmp eax, dword [ebp]
jae 0x1013cc01
mov edx, dword [esi + 0x4c]
mov dword [esp + 0x60], edx
test edx, edx
jne 0x1013ca63
xorps xmm0, xmm0
lea eax, [esp + 0x154]
push eax
movups xmmword [esp + 0x158], xmm0
movups xmmword [esp + 0x168], xmm0
movq qword [esp + 0x178], xmm0
push dword [ebp]
push dword [esi + 0x2c]
call fcn.10144910
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x101427a1
mov edx, dword [esp + 0x15c]
mov dword [esp + 0x60], edx
jmp 0x1013ca67
mov dword [esp + 0x38], ebx
mov dword [esp + 0x54], edi
movzx ecx, word [edi]
mov eax, dword [esp + 0x4c]
mov edi, dword [ebx]
add edi, edx
mov dword [esp + 0x2c], ecx
mov ebp, dword [ebp + ecx*4]
mov eax, dword [eax]
add eax, edx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x74], eax
lea eax, [ecx + 0x16]
lea eax, [esi + eax*4]
mov dword [esp + 0x34], eax
nop dword [eax + eax]
movzx ebx, byte [edi]
mov dword [esp + 0x40], ebx
mov dword [eax], ebx
cmp ebx, 0x80
jae 0x1013cac2
movzx eax, byte [ebx + 0x1018e7c0]
inc edi
cdq
add ebp, eax
adc dword [esp + 0x3c], edx
jmp 0x1013cb06
lea eax, [esp + 0x40]
push eax
push edi
call fcn.10120b60
mov ebx, dword [esp + 0x48]
add esp, 8
movzx eax, al
add edi, eax
mov eax, dword [esp + 0x34]
mov dword [eax], ebx
cmp ebx, 0x80
jb 0x1013caee
lea eax, [ebx - 0xc]
shr eax, 1
jmp 0x1013caf5
movzx eax, byte [ebx + 0x1018e7c0]
mov edx, dword [esp + 0x3c]
add ebp, eax
mov ecx, dword [esp + 0x2c]
adc edx, 0
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x4c]
inc ecx
mov eax, dword [esp + 0x34]
add eax, 4
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x34], eax
mov dword [edx + ecx*4], ebp
mov edx, dword [esp + 0x3c]
cmp ecx, dword [esp + 0x50]
ja 0x1013cb37
cmp edi, dword [esp + 0x74]
jb 0x1013caa0
mov eax, dword [esp + 0x74]
jmp 0x1013cb3f
mov eax, dword [esp + 0x74]
cmp edi, eax
jb 0x1013cb98
cmp edi, eax
ja 0x1013cba3
cmp ebp, dword [esi + 0x50]
jne 0x1013cba3
test edx, edx
jne 0x1013cba3
mov ebp, dword [esp + 0x4c]
mov eax, dword [esp + 0x54]
sub edi, dword [esp + 0x60]
mov word [eax], cx
mov eax, dword [esp + 0x38]
mov dword [eax], edi
cmp dword [esi + 0x4c], 0
jne 0x1013cb8e
test dword [esp + 0x164], 0x9000
jne 0x1013cb7e
cmp dword [esp + 0x16c], 0
je 0x1013cb8e
lea eax, [esp + 0x154]
push eax
call fcn.101566b0
add esp, 4
mov edi, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
jmp 0x1013cc03
test edx, edx
jb 0x1013cb4c
ja 0x1013cba3
cmp ebp, dword [esi + 0x50]
jbe 0x1013cb4c
mov ebp, dword [esp + 0x4c]
cmp dword [ebp], 0
jne 0x1013cbb3
xor ecx, ecx
mov edi, eax
jmp 0x1013cb50
cmp dword [esi + 0x4c], 0
jne 0x1013cbe0
test dword [esp + 0x164], 0x9000
jne 0x1013cbd0
cmp dword [esp + 0x16c], 0
je 0x1013cbe0
lea eax, [esp + 0x154]
push eax
call fcn.101566b0
add esp, 4
mov ebx, dword [esp + 0x24]
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x101425f0
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [ebx + eax*4]
mov dword [esp + 0x10], edi
jmp 0x1013b96f
xor ebx, ebx
movzx eax, word [edi]
cmp eax, ecx
ja 0x1013ccb6
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
cmp byte [edi + 1], 0xf6
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, 0x9000
jne 0x1013cc94
mov edx, dword [edi + 0x10]
test word [ecx + 0x10], ax
je 0x1013cc47
push 0x2000
push edx
push ecx
call fcn.10155b90
add esp, 0xc
jmp 0x1013b96f
movups xmm0, xmmword [edx]
mov ebp, dword [esp + 0x1c]
mov ebx, 0x2000
movups xmmword [ecx], xmm0
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x10], eax
test word [edx + 0x10], bx
jne 0x1013f2dc
mov edi, dword [esp + 0x18]
mov edx, 0xafff
mov esi, dword [esp + 0x10]
and ax, dx
or ax, bx
mov word [ecx + 0x10], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
test word [ecx + 0x10], ax
je 0x1013cca8
push ecx
call fcn.101566f0
add esp, 4
jmp 0x1013b96f
mov eax, 1
jmp 0x1013b96b
mov ebx, dword [esi + ecx*4 + 0x58]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x28]
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov eax, 0x9000
test word [edi + 0x10], ax
je 0x1013cce3
push edi
call fcn.101566f0
mov ecx, dword [esp + 0x54]
add esp, 4
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 0x54]
cmp eax, dword [ebp + ecx*4 + 4]
jb 0x1013cdb8
mov eax, dword [esp + 0x4c]
mov ebp, dword [esi + 0x4c]
add ebp, dword [eax + ecx*4]
cmp ebx, 0xc
jae 0x1013cd0f
push edi
push ebx
push ebp
call fcn.10146760
add esp, 0xc
jmp 0x1013b96f
mov al, byte [esp + 0x48]
lea esi, [ebx - 0xc]
shr esi, 1
mov dword [edi + 0xc], esi
mov byte [edi + 0x12], al
lea eax, [esi + 2]
cmp dword [edi + 0x18], eax
jge 0x1013cd82
mov ecx, dword [esp + 0x1c]
cmp esi, dword [ecx + 0x78]
jg 0x101427fa
push 0
push eax
mov ecx, 1
push edi
mov word [edi + 0x10], cx
call fcn.10144970
add esp, 0xc
test eax, eax
je 0x1013cd88
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
push ebp
call fcn.10125540
mov esi, dword [esp + 0x18]
push str.out_of_memory
push esi
call fcn.1013a7b0
mov eax, dword [esp + 0x28]
mov edx, 7
mov ebx, dword [esp + 0x30]
add esp, 0xc
mov dword [esp + 0x18], edx
jmp 0x101427b1
mov eax, dword [edi + 0x20]
mov dword [edi + 8], eax
push esi
push ebp
push dword [edi + 8]
call fcn.1016b7f0
mov eax, dword [edi + 8]
add esp, 0xc
and ebx, 1
mov byte [esi + eax], 0
mov eax, dword [edi + 8]
mov byte [esi + eax + 1], 0
mov ax, word [ebx*2 + 0x1018efd4]
mov word [edi + 0x10], ax
jmp 0x1013b96f
mov al, byte [esp + 0x48]
mov byte [edi + 0x12], al
movzx eax, word [edx + 2]
test al, 0xc0
je 0x1013cdd5
cmp ebx, 0xc
jb 0x1013cdd1
test bl, 1
je 0x1013cdef
test al, al
js 0x1013cdef
cmp ebx, 0x80
jb 0x1013cde4
lea eax, [ebx - 0xc]
shr eax, 1
jmp 0x1013cdeb
movzx eax, byte [ebx + 0x1018e7c0]
test eax, eax
jne 0x1013ce03
push edi
push ebx
push 0x10190058
call fcn.10146760
add esp, 0xc
jmp 0x1013b96f
mov edx, dword [esp + 0x1c]
cmp eax, dword [edx + 0x78]
jg 0x101427fa
push edi
push eax
push dword [ebp + ecx*4]
push dword [esi + 0x2c]
call fcn.10144840
mov edx, eax
add esp, 0x10
mov dword [esp + 0x18], edx
test edx, edx
jne 0x101427a1
push edi
push ebx
push dword [edi + 8]
call fcn.10146760
mov eax, 0xbfff
add esp, 0xc
and word [edi + 0x10], ax
jmp 0x1013b96f
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 4]
mov edx, dword [edx + 0x10]
mov dword [esp + 0x40], edx
lea eax, [eax + eax*4]
mov ebx, dword [edx + 4]
lea esi, [ecx + eax*8]
xor ecx, ecx
mov dword [esp + 0x34], ebx
xor eax, eax
mov dword [esp + 0x38], ecx
cmp ax, word [edx + 0x22]
jge 0x1013ab64
add ebx, 8
mov dword [esp + 0x2c], ebx
movzx eax, word [ebx + 6]
test al, 0x60
je 0x1013cea4
test al, 0x20
jne 0x1013cf60
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xc], 0
jne 0x1013cf5d
push dword [esp + 0x6c]
movzx eax, byte [ebx]
push eax
push esi
call fcn.100db2f0
movzx ecx, word [esi + 0x10]
add esp, 0xc
mov ebp, ecx
mov edi, ecx
test cl, 1
jne case.default.0x1013cedb
mov eax, dword [ebx - 4]
shr eax, 4
and eax, 0xf
lea edx, [eax - 2]
cmp edx, 4
ja case.default.0x1013cedb
jmp dword [edx*4 + 0x10143114]
test cl, 0x10
jmp 0x1013cf4f
test cl, 4
jmp 0x1013cf4f
test cl, 2
jmp 0x1013cf4f
test cl, 4
je 0x1013cf4c
mov edi, dword [esi]
mov edx, edi
mov ebx, dword [esi + 4]
add edx, 0
mov eax, ebx
adc eax, 0x8000
cmp eax, 0xffff
ja 0x1013cf2a
jb 0x1013cf15
cmp edx, 0xffffffff
ja 0x1013cf2a
or ecx, 0x20
movzx eax, cx
and eax, 0xfffb
mov word [esi + 0x10], ax
mov ebx, dword [esp + 0x2c]
jmp case.default.0x1013cedb
mov edx, ebx
mov ecx, edi
call fcn.1016a400
or ebp, 8
movsd qword [esi], xmm0
movzx eax, bp
and eax, 0xfffb
mov word [esi + 0x10], ax
mov ebx, dword [esp + 0x2c]
jmp case.default.0x1013cedb
test cl, 0x28
je 0x10142608
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
add esi, 0x28
movsx eax, word [edx + 0x22]
inc ecx
add ebx, 0x10
mov dword [esp + 0x38], ecx
mov dword [esp + 0x2c], ebx
cmp ecx, eax
jl 0x1013ce86
jmp 0x1013b96f
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
mov ebx, dword [edx + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov al, byte [ebx]
push dword [esp + 0x6c]
mov byte [esp + 0xb4], al
push dword [esp + 0xb4]
push esi
call fcn.100db2f0
add esp, 0xc
cmp byte [ebx], 0x45
jne 0x1013d005
movzx ecx, word [esi + 0x10]
mov edi, ecx
test cl, 4
je 0x1013d005
mov ebp, dword [esi]
mov edx, ebp
mov eax, dword [esi + 4]
add edx, 0
adc eax, 0x8000
cmp eax, 0xffff
ja 0x1013cfea
jb 0x1013cfdb
cmp edx, 0xffffffff
ja 0x1013cfea
and ecx, 0xfffb
or ecx, 0x20
mov word [esi + 0x10], cx
jmp 0x1013d005
mov edx, dword [esi + 4]
mov ecx, ebp
call fcn.1016a400
and edi, 0xfffb
movsd qword [esi], xmm0
or edi, 8
mov word [esi + 0x10], di
mov al, byte [ebx + 1]
inc ebx
test al, al
je 0x1013f2d8
add esi, 0x28
jmp 0x1013cf93
mov edx, dword [esp + 0x10]
xorps xmm0, xmm0
mov esi, dword [esp + 0x28]
xor ecx, ecx
movlpd qword [esp + 0x40], xmm0
mov dword [esp + 0x3c], ecx
mov eax, dword [edx + 4]
mov edi, dword [edx + 0x10]
movlpd qword [esp + 0x74], xmm0
lea eax, [eax + eax*4]
lea ebx, [esi + eax*8]
mov eax, dword [edx + 8]
mov dword [esp + 0x38], ebx
lea ebp, [eax + eax*4]
mov eax, dword [edx + 0xc]
mov dword [esp + 0x2c], ebp
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [esp + 0x54], eax
test edi, edi
je 0x1013d0b6
mov al, byte [edi]
lea esi, [ebx + 0x10]
mov ebp, dword [esp + 0x6c]
mov byte [esp + 0x9c], al
push ebp
push dword [esp + 0xa0]
lea eax, [esi - 0x10]
push eax
call fcn.100db2f0
add esp, 0xc
cmp byte [edi], 0x45
jne 0x1013d09c
movzx eax, word [esi]
test al, 4
je 0x1013d09c
and eax, 0xfffb
or eax, 0x20
mov word [esi], ax
mov al, byte [edi + 1]
inc edi
add esi, 0x28
mov byte [esp + 0x9c], al
test al, al
jne 0x1013d071
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0x78]
lea ebp, [ebp*8 - 0xc]
mov edi, dword [esp + 0x44]
add ebp, ebx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x50], edi
mov dword [esp + 0x4c], edx
mov dword [esp + 0x74], eax
movzx ebx, word [ebp - 0xc]
mov dword [esp + 0x60], ebp
test bl, 1
je 0x1013d102
and ebx, 0x400
neg ebx
sbb ebx, ebx
and ebx, 0xa
inc ecx
mov dword [ebp], ebx
jmp 0x1013d33c
test bl, 0x24
je 0x1013d28b
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x1c]
test eax, eax
jg 0x1013d123
jl 0x1013d11b
test esi, esi
jae 0x1013d123
mov ecx, esi
not eax
not ecx
jmp 0x1013d125
mov ecx, esi
inc dword [esp + 0x3c]
test eax, eax
ja 0x1013d20d
jb 0x1013d138
cmp ecx, 0x7f
ja 0x1013d182
mov eax, esi
xor ebx, ebx
and eax, 1
cmp eax, esi
jne 0x1013d164
cmp ebx, dword [ebp - 0x18]
jne 0x1013d164
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x93], 4
jb 0x1013d164
lea eax, [ecx + 8]
mov ecx, dword [esp + 0x3c]
mov dword [ebp], eax
jmp 0x1013d340
mov ecx, dword [esp + 0x3c]
add edx, 1
mov eax, 1
mov dword [esp + 0x4c], edx
adc edi, ebx
mov dword [ebp], eax
mov dword [esp + 0x50], edi
jmp 0x1013d340
test eax, eax
ja 0x1013d20d
jb 0x1013d194
cmp ecx, 0x7fff
ja 0x1013d1b3
mov ecx, dword [esp + 0x3c]
add edx, 2
mov eax, 2
mov dword [esp + 0x4c], edx
adc edi, 0
mov dword [ebp], eax
mov dword [esp + 0x50], edi
jmp 0x1013d340
test eax, eax
ja 0x1013d20d
jb 0x1013d1c1
cmp ecx, 0x7fffff
ja 0x1013d1e0
mov ecx, dword [esp + 0x3c]
add edx, 3
mov eax, 3
mov dword [esp + 0x4c], edx
adc edi, 0
mov dword [ebp], eax
mov dword [esp + 0x50], edi
jmp 0x1013d340
test eax, eax
ja 0x1013d20d
jb 0x1013d1ee
cmp ecx, 0x7fffffff
ja 0x1013d20d
mov ecx, dword [esp + 0x3c]
add edx, 4
mov eax, 4
mov dword [esp + 0x4c], edx
adc edi, 0
mov dword [ebp], eax
mov dword [esp + 0x50], edi
jmp 0x1013d340
cmp eax, 0x7fff
ja 0x1013d23a
jb 0x1013d21b
cmp ecx, 0xffffffff
ja 0x1013d23a
mov ecx, dword [esp + 0x3c]
add edx, 6
mov eax, 5
mov dword [esp + 0x4c], edx
adc edi, 0
mov dword [ebp], eax
mov dword [esp + 0x50], edi
jmp 0x1013d340
add edx, 8
mov dword [esp + 0x4c], edx
adc edi, 0
mov dword [esp + 0x50], edi
test bl, 0x20
je 0x1013d27a
mov edx, dword [ebp - 0x18]
mov ecx, esi
call fcn.1016a400
mov ecx, dword [esp + 0x3c]
and ebx, 0xffdf
movsd qword [ebp - 0x1c], xmm0
or ebx, 8
mov eax, 7
mov word [ebp - 0xc], bx
mov dword [ebp], eax
jmp 0x1013d340
mov ecx, dword [esp + 0x3c]
mov eax, 6
mov dword [ebp], eax
jmp 0x1013d340
test bl, 8
je 0x1013d2ab
inc ecx
mov dword [ebp], 7
add edx, 8
mov dword [esp + 0x4c], edx
adc edi, 0
mov dword [esp + 0x50], edi
jmp 0x1013d33c
mov edi, dword [ebp - 0x10]
mov eax, ebx
shr eax, 1
and eax, 1
lea ebp, [edi + 6]
lea ebp, [eax + ebp*2]
test ebx, 0x400
je 0x1013d2fc
mov esi, dword [esp + 0x60]
mov eax, edx
add esi, 0xffffffe4
or eax, dword [esp + 0x50]
mov ecx, dword [esi]
lea ebp, [ebp + ecx*2]
je 0x1013d2ed
push esi
call fcn.10144740
add esp, 4
test eax, eax
jne 0x1013cd4c
add edi, dword [esi]
jmp 0x1013d2f8
mov eax, ecx
cdq
add dword [esp + 0x74], eax
adc dword [esp + 0x34], edx
mov edx, dword [esp + 0x4c]
add edx, edi
mov esi, 1
mov edi, dword [esp + 0x50]
mov dword [esp + 0x4c], edx
adc edi, 0
mov edx, ebp
mov dword [esp + 0x50], edi
shr edx, 7
xor ecx, ecx
mov eax, edx
or eax, ecx
je 0x1013d32e
nop
shrd edx, ecx, 7
inc esi
shr ecx, 7
mov eax, edx
or eax, ecx
jne 0x1013d320
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x3c]
add ecx, esi
mov dword [eax], ebp
mov ebp, eax
mov dword [esp + 0x3c], ecx
lea eax, [ebp - 0x1c]
cmp eax, dword [esp + 0x38]
je 0x1013d355
mov edx, dword [esp + 0x4c]
sub ebp, 0x28
jmp 0x1013d0df
cmp ecx, 0x7e
jle 0x1013d3b6
mov eax, ecx
mov ebx, 1
cdq
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x1013d37f
shrd esi, edx, 7
inc ebx
shr edx, 7
mov eax, esi
or eax, edx
jne 0x1013d371
mov eax, dword [esp + 0x3c]
mov edi, 1
add eax, ebx
mov dword [esp + 0x3c], eax
cdq
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x1013d3ae
nop
shrd esi, edx, 7
inc edi
shr edx, 7
mov eax, esi
or eax, edx
jne 0x1013d3a0
mov ecx, dword [esp + 0x3c]
cmp ebx, edi
jge 0x1013d3bb
inc ecx
mov dword [esp + 0x3c], ecx
mov esi, dword [esp + 0x4c]
mov eax, ecx
mov edi, dword [esp + 0x54]
mov ebx, dword [esp + 0x50]
cdq
add esi, eax
mov dword [esp + 0x40], eax
mov edi, dword [edi + 0x18]
mov ebp, edx
adc ebx, ebp
mov ecx, esi
add ecx, dword [esp + 0x74]
mov eax, edi
cdq
adc ebx, dword [esp + 0x34]
cmp ebx, edx
jg 0x1013d3fa
jl 0x1013d3ee
cmp ecx, eax
ja 0x1013d3fa
mov edx, dword [esp + 0x54]
mov eax, dword [edx + 0x20]
mov dword [edx + 8], eax
jmp 0x1013d444
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x78]
cdq
cmp ebx, edx
jg 0x101427fa
jl 0x1013d414
cmp ecx, eax
ja 0x101427fa
cmp edi, esi
jge 0x1013d435
push 0
push esi
push dword [esp + 0x5c]
call fcn.10144970
add esp, 0xc
test eax, eax
jne 0x1013cd4c
mov edx, dword [esp + 0x54]
jmp 0x1013d444
mov edx, dword [esp + 0x54]
mov eax, dword [edx + 0x20]
mov dword [edx + 8], eax
and word [edx + 0x10], 0x2d
mov ecx, dword [esp + 0x74]
mov eax, 0x10
mov dword [edx + 0xc], esi
mov word [edx + 0x10], ax
mov eax, ecx
or eax, dword [esp + 0x34]
je 0x1013d467
mov eax, 0x400
mov dword [edx], ecx
or word [edx + 0x10], ax
mov eax, dword [esp + 0x3c]
mov ebx, dword [edx + 8]
lea esi, [ebx + eax]
cmp eax, 0x80
jge 0x1013d47d
mov byte [ebx], al
inc ebx
jmp 0x1013d48d
push ebp
push dword [esp + 0x44]
push ebx
call fcn.1012db00
add esp, 0xc
add ebx, eax
mov edi, dword [esp + 0x38]
add edi, 0xc
mov edx, dword [edi + 0x10]
cmp edx, 7
ja 0x1013d4d3
mov byte [ebx], dl
inc ebx
test edx, edx
je 0x1013d50e
movzx edx, byte [edx + 0x1018e7c0]
mov ecx, dword [edi - 0xc]
mov ebp, edx
mov eax, dword [edi - 8]
sub edx, 1
mov byte [edx + esi], cl
je 0x1013d4cf
nop word [eax + eax]
shrd ecx, eax, 8
shr eax, 8
sub edx, 1
mov byte [edx + esi], cl
jne 0x1013d4c0
add esi, ebp
jmp 0x1013d50e
cmp edx, 0x80
jae 0x1013d4eb
mov byte [ebx], dl
inc ebx
cmp edx, 0xe
jb 0x1013d50e
mov eax, dword [edi]
test eax, eax
jle 0x1013d50e
jmp 0x1013d4ff
push 0
push edx
push ebx
call fcn.1012db00
add ebx, eax
add esp, 0xc
mov eax, dword [edi]
test eax, eax
je 0x1013d50e
push eax
push dword [edi - 4]
push esi
call fcn.1016b7f0
add esp, 0xc
add esi, dword [edi]
mov eax, dword [esp + 0x2c]
lea eax, [eax*8 - 0x1c]
add eax, dword [esp + 0x38]
cmp edi, eax
je 0x1013f2d8
add edi, 0x28
jmp 0x1013d494
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
cmp dword [edx + 0xc], 0
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x2c]
push esi
je 0x1013d559
call fcn.1010d7f0
add esp, 4
mov ebx, eax
mov ebp, edx
jmp 0x1013d68b
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
movlpd qword [esp + 0x44], xmm0
call fcn.100f6f50
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
cmp edx, 0x10
jne 0x1013d597
xorps xmm0, xmm0
xor edi, edi
movlpd qword [esp + 0x2c], xmm0
mov ebp, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x18], edi
jmp 0x1013d68b
test edx, edx
jne 0x1013d677
mov ebp, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
nop word [eax + eax]
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x128], 0
jne 0x1013d677
mov edi, dword [esi + 0x74]
mov cl, byte [edi + 8]
test cl, cl
jne 0x1013d5d0
cmp byte [edi + 1], cl
jne 0x1013d62a
movzx eax, word [edi + 0x18]
cdq
add ebx, eax
adc ebp, edx
test cl, cl
je 0x1013d62a
nop dword [eax]
mov dl, byte [esi + 0x44]
test dl, dl
je 0x1013d6c1
movsx ecx, dl
xor eax, eax
mov word [esi + 0x32], ax
dec dl
and byte [esi + 1], 0xf9
mov ax, word [esi + ecx*2 + 0x46]
mov word [esi + 0x46], ax
mov byte [esi + 0x44], dl
mov eax, dword [esi + ecx*4 + 0x74]
mov dword [esi + 0x74], eax
push dword [edi + 0x48]
call fcn.10127570
mov edi, dword [esi + 0x74]
add esp, 4
movzx eax, word [esi + 0x46]
cmp ax, word [edi + 0x18]
jae 0x1013d5e0
inc eax
mov word [esi + 0x46], ax
movzx ecx, word [esi + 0x46]
movzx eax, word [edi + 0x18]
cmp ecx, eax
jne 0x1013d643
movzx ecx, byte [edi + 9]
mov eax, dword [edi + 0x38]
mov eax, dword [ecx + eax + 8]
jmp 0x1013d65d
mov eax, dword [edi + 0x40]
mov ax, word [eax + ecx*2]
mov ch, al
mov cl, ah
movzx eax, word [edi + 0x1a]
movzx ecx, cx
and ecx, eax
mov eax, dword [edi + 0x38]
mov eax, dword [ecx + eax]
bswap eax
push eax
push esi
call fcn.100f6d70
mov edx, eax
add esp, 8
mov dword [esp + 0x18], edx
test edx, edx
je 0x1013d5b0
mov ebp, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
test edx, edx
jne 0x101427a1
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea eax, [eax + ecx*8]
mov ecx, 0x9000
test word [eax + 0x10], cx
je 0x1013d6d2
push eax
call fcn.100f9da0
add esp, 4
mov dword [eax], ebx
mov dword [eax + 4], ebp
mov ebp, dword [esp + 0x1c]
jmp 0x10140417
push esi
call fcn.100f6f50
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
jmp 0x1013d67f
mov ecx, 4
mov word [eax + 0x10], cx
mov dword [eax], ebx
mov dword [eax + 4], ebp
mov ebp, dword [esp + 0x1c]
jmp 0x10140417
mov edx, dword [esp + 0x10]
mov edi, dword [edx + 4]
mov ebx, dword [edx + 0x10]
mov dword [esp + 0x54], edi
test edi, edi
jne 0x1013d7c6
cmp dword [ebp + 0xc4], edi
jg 0x10142657
test ebx, ebx
jne 0x1013d713
xor esi, esi
jmp 0x1013d727
mov esi, ebx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x1013d718
sub esi, ecx
and esi, 0x3fffffff
mov eax, dword [ebp + 0x1fc]
add eax, dword [ebp + 0x1f8]
push eax
push 0
push ebp
call fcn.10147ff0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x101427a1
push edx
lea eax, [esi + 0x21]
push eax
push ebp
call fcn.10112e00
mov edi, eax
add esp, 0xc
test edi, edi
je 0x1013da62
lea ecx, [esi + 1]
push ecx
lea edx, [edi + 0x20]
push ebx
push edx
mov dword [edi], edx
call fcn.1016b7f0
add esp, 0xc
cmp byte [ebp + 0x55], 0
je 0x1013d788
mov byte [ebp + 0x55], 0
mov byte [ebp + 0x5d], 1
jmp 0x1013d78e
inc dword [ebp + 0x1f8]
mov eax, dword [ebp + 0x1ec]
mov dword [edi + 0x18], eax
mov dword [ebp + 0x1ec], edi
mov eax, dword [ebp + 0x200]
mov ecx, dword [ebp + 0x204]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov eax, dword [ebp + 0x208]
mov ecx, dword [ebp + 0x20c]
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], ecx
jmp 0x1013da62
mov eax, dword [esp + 0x1c]
xor ebp, ebp
mov esi, dword [eax + 0x1ec]
test esi, esi
je 0x1013d7f1
push ebx
push dword [esi]
call fcn.101353f0
add esp, 8
test eax, eax
je 0x1013d80a
mov esi, dword [esi + 0x18]
inc ebp
test esi, esi
jne 0x1013d7d6
mov ecx, dword [esp + 0x14]
push ebx
push str.no_such_savepoint:__s
push ecx
call fcn.1013a7b0
add esp, 0xc
mov edx, 1
jmp 0x1014279d
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x54]
cmp dword [edx + 0xc4], 0
jle 0x1013d824
cmp ecx, 1
je 0x1014266f
cmp dword [esi + 0x18], 0
jne 0x1013d898
cmp byte [edx + 0x5d], 0
je 0x1013d898
mov edi, 1
mov dword [esp + 0x34], edi
cmp ecx, edi
jne 0x1013d8a0
mov ebx, dword [esp + 0x14]
push edi
push ebx
call fcn.1013a0b0
mov ecx, eax
add esp, 8
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x10142d68
mov eax, dword [esp + 0x1c]
push ebx
mov byte [eax + 0x55], 1
call fcn.101439a0
add esp, 4
cmp eax, 5
je 0x101426a2
mov edx, dword [ebx + 0x24]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10142693
mov byte [eax + 0x5d], dl
lea ebx, [eax + 0x1f8]
mov dword [esp + 0x34], edi
jmp 0x1013d9a6
mov dword [esp + 0x34], 0
lea eax, [edx + 0x1f8]
mov dword [esp + 0x2c], eax
mov eax, dword [eax]
sub eax, ebp
lea ebp, [eax - 1]
cmp ecx, 2
jne 0x1013d90e
mov eax, dword [edx + 0x18]
xor ebx, ebx
and eax, 1
mov dword [esp + 0x38], eax
cmp dword [edx + 0x14], ebx
jle 0x1013d914
xor eax, 1
xor edi, edi
mov dword [esp + 0x40], eax
push eax
mov eax, dword [edx + 0x10]
push 0x204
push dword [edi + eax + 4]
call fcn.1010e4d0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x101427a1
mov edx, dword [esp + 0x1c]
inc ebx
mov eax, dword [esp + 0x40]
add edi, 0x10
cmp ebx, dword [edx + 0x14]
jl 0x1013d8d0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x54]
jmp 0x1013d914
xor eax, eax
mov dword [esp + 0x38], eax
xor ebx, ebx
cmp dword [edx + 0x14], ebx
jle 0x1013d958
xor edi, edi
jmp 0x1013d922
mov edx, eax
mov eax, dword [edx + 0x10]
push ebp
push ecx
push dword [eax + edi + 4]
call fcn.1010d860
mov edx, eax
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], edx
test edx, edx
jne 0x1013da4d
mov ecx, dword [esp + 0x54]
inc ebx
add edi, 0x10
cmp ebx, dword [eax + 0x14]
jl 0x1013d920
mov eax, dword [esp + 0x38]
jmp 0x1013d95c
mov edx, dword [esp + 0x18]
test eax, eax
je 0x1013d99a
mov ebx, dword [esp + 0x1c]
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x1013d989
nop dword [eax + eax]
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 0x1013d970
push ebx
call fcn.1012e8e0
mov edx, dword [esp + 0x1c]
add esp, 4
or dword [ebx + 0x18], 1
mov ebx, dword [esp + 0x2c]
test edx, edx
jne 0x101427a1
mov edi, dword [esp + 0x1c]
mov ecx, dword [edi + 0x1ec]
cmp ecx, esi
je 0x1013d9d3
mov eax, dword [ecx + 0x18]
push ecx
push edi
mov dword [edi + 0x1ec], eax
call fcn.10112cf0
dec dword [ebx]
add esp, 8
mov ecx, dword [edi + 0x1ec]
cmp ecx, esi
jne 0x1013d9b4
mov edi, dword [esp + 0x54]
cmp edi, 1
jne 0x1013d9fe
mov ecx, dword [esp + 0x1c]
mov eax, dword [esi + 0x18]
push esi
push ecx
mov dword [ecx + 0x1ec], eax
call fcn.10112cf0
add esp, 8
cmp dword [esp + 0x34], 0
jne 0x1013da5e
dec dword [ebx]
jmp 0x1013da32
cmp dword [esp + 0x34], 0
mov edx, dword [esp + 0x1c]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [edx + 0x200], eax
mov dword [edx + 0x204], ecx
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov dword [edx + 0x208], eax
mov dword [edx + 0x20c], ecx
je 0x1013da32
cmp edi, 2
jne 0x1013da5a
push ebp
mov ebp, dword [esp + 0x20]
push edi
push ebp
call fcn.10147ff0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
je 0x1013da62
mov eax, ebp
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x24]
jmp 0x101427ad
mov ebp, edx
jmp 0x1013da62
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
cmp byte [ecx + 0x95], 3
je 0x101426d7
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x38], 0
mov edi, dword [ebx + 8]
test edi, edi
je 0x1013dab9
mov edx, dword [ebp + 0x20]
mov eax, edx
mov ecx, dword [ebp + 0x24]
and eax, 0x100000
and ecx, 2
or eax, ecx
jne 0x101426e5
mov eax, dword [esp + 0x1c]
mov ebp, dword [ebx + 4]
shl ebp, 4
add ebp, dword [eax + 0x10]
mov esi, dword [ebp + 4]
test esi, esi
je 0x1013dbd1
lea eax, [esp + 0x38]
push eax
push edi
push esi
call fcn.1010a980
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x1014271c
mov edx, dword [esp + 0x14]
test byte [edx + 0x98], 0x20
je 0x1013dbe1
cmp dword [ebx + 8], eax
je 0x1013dbe1
mov ecx, dword [esp + 0x1c]
cmp byte [ecx + 0x55], al
je 0x1013db1e
cmp dword [ecx + 0xc0], 1
jle 0x1013dbe1
mov eax, dword [edx + 0x30]
test eax, eax
jne 0x1013db3a
inc dword [ecx + 0x1fc]
mov eax, dword [ecx + 0x1f8]
add eax, dword [ecx + 0x1fc]
mov dword [edx + 0x30], eax
dec eax
push eax
push 0
push ecx
call fcn.10147ff0
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
jne 0x1013dba5
cmp byte [esi + 9], 0
mov eax, dword [esp + 0x14]
mov ebx, dword [esi + 4]
mov edi, dword [eax + 0x30]
je 0x1013db71
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x1013db71
push esi
call fcn.100dea30
add esp, 4
mov eax, dword [ebx]
cmp edi, dword [eax + 0x68]
jle 0x1013db8a
cmp byte [eax + 6], 0
je 0x1013db8a
push edi
push eax
call fcn.100fa780
add esp, 8
jmp 0x1013db8c
xor eax, eax
cmp byte [esi + 9], 0
mov dword [esp + 0x18], eax
je 0x1013dba5
add dword [esi + 0xc], 0xffffffff
jne 0x1013dba5
push esi
call fcn.10153430
add esp, 4
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov eax, dword [edx + 0x200]
mov ecx, dword [edx + 0x204]
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x4c], ecx
mov eax, dword [edx + 0x208]
mov ecx, dword [edx + 0x20c]
mov dword [ebx + 0x50], eax
mov dword [ebx + 0x54], ecx
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x101427a1
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
cmp word [edi + 2], 0
je 0x1013b39a
mov eax, dword [esp + 0x38]
cmp eax, dword [edi + 0xc]
jne 0x1013dc08
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
cmp eax, dword [edi + 0x10]
je 0x1013b96f
mov eax, dword [edx + 0x7c]
test eax, eax
je 0x1013dc1c
push eax
push dword [esp + 0x20]
call fcn.10112cf0
add esp, 8
push 0
push 0x1c
push dword [esp + 0x24]
call fcn.10112e00
add esp, 0xc
test eax, eax
je 0x1013dc50
movups xmm0, xmmword [str.database_schema_has_changed]
movups xmmword [eax], xmm0
movq xmm0, qword [0x10191d48]
movq qword [eax + 0x10], xmm0
mov ecx, dword [0x10191d50]
mov dword [eax + 0x18], ecx
mov esi, dword [esp + 0x14]
mov dword [esi + 0x7c], eax
mov eax, dword [esp + 0x1c]
mov edx, dword [edi + 4]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [esp + 0x38]
je 0x1013dc7e
push edx
push dword [esp + 0x20]
call fcn.1012e960
add esp, 8
mov eax, dword [esi + 0x98]
mov edx, 0x11
mov ebx, dword [esp + 0x24]
and eax, 0xffffffed
or eax, 1
mov dword [esp + 0x18], edx
mov dword [esi + 0x98], eax
mov eax, dword [esp + 0x1c]
jmp 0x101427b1
mov edx, dword [esp + 0x10]
lea eax, [esp + 0xdc]
push eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [edx + 4]
push dword [edx + 0xc]
add ecx, ecx
push dword [eax + ecx*8 + 4]
call fcn.1010bbb0
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x9000
test word [ecx + 0x10], ax
je 0x1013dd1b
push ecx
call fcn.100f9da0
mov esi, dword [esp + 0x14]
mov ecx, eax
mov eax, dword [esp + 0xe0]
add esp, 4
cdq
mov dword [ecx], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov esi, dword [esp + 0x10]
mov eax, 4
mov word [ecx + 0x10], ax
mov eax, dword [esp + 0xdc]
cdq
mov dword [ecx], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edi, dword [esp + 0x10]
mov esi, dword [edi + 4]
push dword [edi + 0xc]
shl esi, 4
add esi, dword [ebp + 0x10]
push dword [edi + 8]
push dword [esi + 4]
call fcn.1010e5c0
mov dword [esp + 0x24], eax
add esp, 0xc
mov eax, dword [edi + 8]
cmp eax, 1
jne 0x1013de02
movzx eax, word [edi + 2]
mov ecx, dword [edi + 0xc]
sub ecx, eax
mov eax, dword [esi + 0xc]
mov dword [eax], ecx
or dword [ebp + 0x18], 1
mov ecx, dword [edi + 4]
mov eax, dword [ebp + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov edi, dword [eax + 0x10]
test edi, edi
je 0x1013dde0
nop
mov esi, dword [edi + 8]
cmp byte [esi + 0x2b], 0
jne 0x1013ddda
mov esi, dword [esi + 0x30]
test esi, esi
je 0x1013ddda
push dword [esi + 0x1c]
push ebp
call fcn.100ed510
mov dword [esi + 0x1c], 0
push dword [esi + 0x20]
push ebp
call fcn.100ed510
mov dword [esi + 0x20], 0
add esp, 0x10
mov esi, dword [esi + 4]
test esi, esi
jne 0x1013ddb0
mov edi, dword [edi]
test edi, edi
jne 0x1013dda0
mov edi, dword [esp + 0x10]
cmp dword [edi + 4], 1
jne 0x1013de12
push 0
push ebp
call fcn.101153b0
mov ecx, dword [esp + 0x1c]
add esp, 8
and dword [ecx + 0x98], 0xfffffffc
jmp 0x1013de16
cmp eax, 2
jne 0x1013dde4
mov ecx, dword [esi + 0xc]
mov al, byte [edi + 0xc]
mov byte [ecx + 0x4c], al
jmp 0x1013dde4
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x10142bf3
mov esi, dword [esp + 0x10]
mov edi, edx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x1013de72
mov eax, dword [esi + 0x38]
cmp eax, dword [edi + 8]
jne 0x1013de72
push dword [esi + 0x2c]
call fcn.1010ac90
mov edx, dword [esp + 0x1c]
add esp, 4
jmp 0x1013df67
mov edi, dword [esp + 0x10]
jmp 0x1013de76
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x98]
and al, 3
cmp al, 1
je 0x10142753
mov ecx, dword [esp + 0x1c]
xor ebp, ebp
mov eax, dword [edi + 0xc]
mov ebx, dword [edi + 8]
mov dword [esp + 0x40], eax
shl eax, 4
add eax, dword [ecx + 0x10]
mov ecx, dword [eax + 4]
mov dword [esp + 0x38], ecx
cmp dl, 0x71
jne 0x1013decc
mov eax, dword [eax + 0xc]
movzx edi, word [edi + 2]
mov ecx, dword [esp + 0x14]
and edi, 8
or edi, 4
mov al, byte [eax + 0x4c]
cmp al, byte [ecx + 0x93]
jae 0x1013dece
mov byte [ecx + 0x93], al
jmp 0x1013dece
xor edi, edi
mov ecx, dword [esp + 0x10]
test byte [ecx + 2], 0x10
je 0x1013def1
mov ecx, dword [esp + 0x28]
lea eax, [ebx + ebx*4]
lea esi, [ecx + eax*8]
push esi
call fcn.10144ac0
mov ebx, dword [esi]
add esp, 4
mov ecx, dword [esp + 0x10]
mov al, byte [ecx + 1]
cmp al, 0xf8
jne 0x1013df01
mov ebp, dword [ecx + 0x10]
movzx eax, word [ebp + 8]
jmp 0x1013df0c
cmp al, 0xfd
jne 0x1013df0a
mov eax, dword [ecx + 0x10]
jmp 0x1013df0c
mov eax, ebp
push 0
push eax
push dword [ecx + 4]
push dword [esp + 0x20]
call fcn.100d98c0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x1013cd4c
mov eax, dword [esp + 0x40]
mov byte [esi + 1], al
mov byte [esi + 2], 1
or dword [esi + 8], 4
mov dword [esi + 0x38], ebx
push dword [esi + 0x2c]
push ebp
push edi
push ebx
push dword [esp + 0x48]
call fcn.1010b640
mov edi, dword [esp + 0x24]
add esp, 0x14
mov dword [esi + 0x30], ebp
mov edx, eax
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x18], edx
cmp byte [edi + 1], 0xf8
setne al
mov byte [esi + 4], al
mov cl, byte [edi + 2]
mov eax, dword [esi + 0x2c]
and cl, 3
mov byte [eax + 3], cl
test edx, edx
jne 0x1014275c
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
push 0
mov ecx, dword [edx + 8]
mov eax, dword [ebx + 0x60]
mov edi, dword [eax + ecx*4]
movsx eax, word [edi + 0x3c]
push eax
push dword [edx + 4]
push ebx
call fcn.100d98c0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x1013cd50
mov byte [esi + 2], 1
mov edx, dword [esi + 8]
or edx, 1
mov dword [esi + 8], edx
mov eax, dword [edi + 0x30]
mov dword [esi + 0x30], eax
mov al, byte [edi + 4]
mov byte [esi + 4], al
mov eax, dword [edi + 0x38]
mov dword [esi + 0x38], eax
mov ecx, dword [edi + 8]
xor ecx, edx
and ecx, 4
xor ecx, edx
mov dword [esi + 8], ecx
or ecx, 8
mov eax, dword [edi + 0x10]
mov dword [esi + 0x10], eax
mov dword [esi + 8], ecx
or dword [edi + 8], 8
push dword [esi + 0x2c]
push dword [esi + 0x30]
push 4
push dword [esi + 0x38]
push dword [esi + 0x10]
call fcn.1010b640
mov edi, eax
add esp, 0x14
mov dword [esp + 0x18], edi
mov esi, dword [esp + 0x10]
mov ecx, ebx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0xc]
test eax, eax
jle 0x1013e061
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
mov dword [ecx + eax*8 + 0xc], 0
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
mov dword [ecx + eax*8 + 8], 0x10183be2
mov edx, dword [esp + 0x14]
mov ecx, dword [edi + 4]
mov eax, dword [edx + 0x60]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x1013e0d9
test byte [esi + 8], 8
jne 0x1013e0d9
movsx eax, word [esi + 0x3c]
cmp dword [edi + 8], eax
jg 0x1013e0d9
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
push 0
push dword [esi + 0x38]
push dword [esi + 0x10]
call fcn.1010ad10
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
mov dword [esp + 0x2c], edx
test edx, edx
jne 0x1014275c
mov ecx, dword [esp + 0x14]
mov edi, eax
mov eax, dword [esp + 0x20]
mov byte [esi + 2], 1
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
push 0
push dword [edi + 8]
push ecx
push edx
call fcn.100d98c0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x1013cd54
mov eax, dword [esp + 0x10]
lea edi, [esi + 0x10]
or dword [esi + 8], 1
push 0x41e
movzx eax, word [eax + 2]
or eax, 5
push eax
push edi
push ebp
push 0
push dword [ebp]
call fcn.1010cd00
mov edx, eax
add esp, 0x18
mov dword [esp + 0x18], edx
test edx, edx
jne 0x101427a1
push eax
push 1
push dword [edi]
call fcn.1010a980
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x1013e1b1
mov eax, dword [esp + 0x10]
lea ebx, [esi + 0x38]
mov ebp, dword [eax + 0x10]
mov dword [esi + 0x30], ebp
test ebp, ebp
je 0x1013e18a
movzx eax, word [eax + 2]
or eax, 2
push eax
push ebx
push dword [edi]
call fcn.1010b5f0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x1013e184
push dword [esi + 0x2c]
push ebp
push 4
push dword [ebx]
push dword [edi]
call fcn.1010b640
mov edx, eax
add esp, 0x14
mov dword [esp + 0x18], edx
mov byte [esi + 4], 0
jmp 0x1013e1ad
mov dword [ebx], 1
push dword [esi + 0x2c]
push 0
push 4
push 1
push dword [edi]
call fcn.1010b640
mov edx, eax
mov byte [esi + 4], 1
add esp, 0x14
mov dword [esp + 0x18], edx
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp word [eax + 2], 8
mov eax, 4
cmovne ecx, eax
mov eax, dword [esi + 8]
and eax, 0xfffffffb
or ecx, eax
mov dword [esi + 8], ecx
test edx, edx
jne 0x1014276a
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov byte [esi + 2], 1
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edi, dword [esp + 0x10]
push 1
push dword [edi + 8]
push dword [edi + 4]
push ecx
call fcn.100d98c0
add esp, 0x10
test eax, eax
je 0x1013cd54
mov ecx, dword [edi + 0x10]
push eax
mov dword [eax + 0x30], ecx
push dword [edi + 0xc]
push ebp
call fcn.10146b70
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10142bf3
mov esi, dword [esp + 0x10]
mov edi, eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x18]
mov ecx, edi
mov esi, dword [edx + 0x1c]
add ecx, 1
mov eax, esi
mov dword [edx + 0x18], ecx
mov ecx, dword [esp + 0x14]
adc eax, 0
or edi, esi
mov dword [edx + 0x1c], eax
mov edi, dword [esp + 0x18]
jne 0x1013bded
jmp 0x1013e5c3
mov edx, dword [esp + 0x10]
push 3
push dword [edx + 0xc]
push dword [edx + 4]
push ecx
call fcn.100d98c0
add esp, 0x10
test eax, eax
je 0x1013cd50
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x10]
mov byte [eax + 2], 1
mov ecx, dword [ecx + 8]
mov dword [eax + 0x24], ecx
mov ecx, dword [esp + 0x14]
mov byte [eax + 4], 1
mov dword [eax + 0x2c], 0x101a3d44
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 4]
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x60]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x1013e305
push eax
push edx
call fcn.101437e0
mov edx, dword [esp + 0x1c]
add esp, 8
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [edx + 0x60]
mov dword [eax + ecx*4], 0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x34], 0
mov ecx, dword [edi + 4]
mov eax, dword [eax + 0x60]
mov edx, dword [eax + ecx*4]
mov dword [esp + 0x38], edx
mov byte [edx + 2], 0
mov byte [edx + 3], 0
mov dword [edx + 0x20], 0
cmp byte [edx + 4], 0
je 0x1013e495
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 0x10]
mov dword [esp + 0x2c], eax
and al, 0x2e
cmp al, 2
jne 0x1013e38d
push 0
push esi
call fcn.100db360
add esp, 8
movzx eax, word [esi + 0x10]
test al, 0x24
je 0x1013e39c
mov edi, dword [esi]
mov ebp, dword [esi + 4]
jmp 0x1013e3e4
test al, 8
je 0x1013e3ba
movsd xmm0, qword [esi]
sub esp, 8
movsd qword [esp], xmm0
call fcn.100e6110
add esp, 8
mov edi, eax
mov ebp, edx
jmp 0x1013e3e4
test al, 0x12
je 0x1013e3d3
cmp dword [esi + 8], 0
je 0x1013e3d3
push esi
call fcn.100f6a50
add esp, 4
mov edi, eax
mov ebp, edx
jmp 0x1013e3e4
xorps xmm0, xmm0
movlpd qword [esp + 0x40], xmm0
mov ebp, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
movzx eax, word [esi + 0x10]
mov ecx, dword [esp + 0x2c]
mov word [esi + 0x10], cx
test al, 0x24
jne 0x1013e45a
test al, 8
jne 0x1013e430
test al, 1
jne 0x1013eb21
cmp ebx, 0x17
jae 0x1013eb21
mov esi, dword [esp + 0x38]
lea eax, [esp + 0x68]
push eax
push dword [esi + 0x2c]
call fcn.1010cc10
mov edx, eax
add esp, 8
mov dword [esp + 0x18], edx
test edx, edx
jne 0x101427a1
jmp 0x1013e60e
movsd xmm0, qword [esi]
sub esp, 8
movsd qword [esp], xmm0
push ebp
push edi
call fcn.101233e0
add esp, 0x10
test eax, eax
jle 0x1013e452
test bl, 1
jne 0x1013e45a
dec ebx
jmp 0x1013e45a
jns 0x1013e45a
test bl, 1
je 0x1013e45a
inc ebx
mov esi, dword [esp + 0x38]
lea eax, [esp + 0x68]
push eax
push 0
add esi, 0x2c
push ebp
push edi
push dword [esi]
call fcn.1010de00
mov edx, eax
add esp, 0x14
mov eax, dword [esp + 0x38]
mov dword [esp + 0x18], edx
mov dword [eax + 0x40], edi
mov edi, dword [esp + 0x10]
mov dword [eax + 0x44], ebp
test edx, edx
jne 0x10142bf3
jmp 0x1013e537
mov eax, dword [edx + 0x2c]
lea esi, [edx + 0x2c]
mov ecx, dword [edi + 0x10]
mov al, byte [eax + 3]
and al, 2
mov byte [esp + 0x5b], al
mov eax, 0
setne al
mov dword [esp + 0x34], eax
mov eax, dword [edx + 0x30]
mov dword [esp + 0x20c], eax
lea eax, [ebx - 1]
test al, 1
mov word [esp + 0x220], cx
mov ecx, dword [esp + 0x28]
sete al
lea eax, [eax*2 - 1]
mov byte [esp + 0x222], al
mov eax, dword [edi + 0xc]
mov byte [esp + 0x226], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x210], eax
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x210]
push eax
push dword [esi]
call fcn.1010bc60
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x1014275c
cmp byte [esp + 0x5b], al
je 0x1013e537
mov eax, dword [esp + 0x34]
mov dword [esp + 0x34], eax
cmp byte [esp + 0x226], dl
je 0x1013e60e
mov eax, dword [esp + 0x68]
cmp ebx, 0x17
jl 0x1013e5f6
test eax, eax
js 0x1013e58a
jne 0x1013e54f
cmp ebx, 0x18
je 0x1013e58a
mov dword [esp + 0x68], 0
cmp dword [esp + 0x34], 0
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
je 0x1013f2e0
add dword [esp + 0x10], 0x14
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
push 0
push dword [esi]
mov dword [esp + 0x70], 0
call fcn.1010cca0
mov edx, eax
add esp, 8
mov dword [esp + 0x18], edx
test edx, edx
je 0x1013e557
cmp edx, 0x65
jne 0x1014275c
mov dword [esp + 0x68], 1
xor edi, edi
mov dword [esp + 0x18], edi
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ebp, [edx + eax*4]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
test eax, eax
jg 0x1013e61e
jne 0x1013e601
cmp ebx, 0x15
je 0x1013e61e
mov eax, dword [esi]
xor ecx, ecx
cmp byte [eax], cl
setne cl
mov dword [esp + 0x68], ecx
cmp dword [esp + 0x68], 0
jne 0x1013eb21
jmp 0x1013e557
push 0
push dword [esi]
mov dword [esp + 0x70], 0
call fcn.1010d5f0
jmp 0x1013e59b
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x18]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + ecx*4]
mov eax, dword [ebx + 0x2c]
cmp byte [eax], 0
jne 0x1013ab64
mov ecx, dword [esp + 0x10]
mov eax, dword [ebx + 0x30]
mov dword [esp + 0x29c], eax
mov byte [esp + 0x2b2], 0
mov ax, word [ecx + 0x24]
mov edi, dword [ecx + 4]
mov word [esp + 0x2b0], ax
mov eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x2a0], eax
nop word [eax + eax]
mov esi, dword [ebx + 0x2c]
push esi
call fcn.100efe40
mov edx, dword [esi + 0x2c]
xor eax, eax
add esp, 4
mov ecx, edx
add ecx, 0xffffffff
adc eax, 0xffffffff
test eax, eax
ja 0x1014277a
jb 0x1013e6bf
cmp ecx, 0x7ffffffe
ja 0x1014277a
xor eax, eax
mov dword [esp + 0x260], ebp
mov word [esp + 0x25c], ax
mov dword [esp + 0x264], eax
lea eax, [esp + 0x24c]
push eax
push edx
push esi
call fcn.10144910
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x101427a1
push eax
lea eax, [esp + 0x2a0]
push eax
push dword [esp + 0x25c]
push dword [esp + 0x264]
call fcn.10145cf0
add esp, 0x10
mov esi, eax
cmp dword [esp + 0x264], 0
je 0x1013e732
lea eax, [esp + 0x24c]
push eax
call fcn.101566b0
add esp, 4
mov dword [esp + 0x18], 0
test esi, esi
jle 0x1013e74b
mov eax, dword [esp + 0x10]
cmp word [eax + 2], 0
je 0x1013e7bd
test esi, esi
jns 0x1013eb21
test edi, edi
jle 0x1013f2dc
mov ecx, dword [ebx + 0x2c]
xor eax, eax
dec edi
mov word [ecx + 0x32], ax
and byte [ecx + 1], 0xf9
cmp byte [ecx], al
je 0x1013e773
push ecx
call fcn.100debb0
jmp 0x1013e7a3
movzx eax, word [ecx + 0x46]
mov edx, dword [ecx + 0x74]
mov esi, eax
inc eax
mov word [ecx + 0x46], ax
cmp ax, word [edx + 0x18]
jb 0x1013e793
push ecx
mov word [ecx + 0x46], si
call fcn.100debb0
jmp 0x1013e7a3
cmp byte [edx + 8], 0
jne 0x1013e690
push ecx
call fcn.100f6df0
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
test edx, edx
je 0x1013e690
cmp edx, 0x65
jne 0x101427a1
add dword [esp + 0x10], 0x14
jmp 0x1013e5b9
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x10]
movzx edx, word [eax + 0xc]
mov ecx, dword [ecx + 8]
cmp edx, ecx
jge 0x1013e806
mov esi, dword [esp + 0x10]
mov word [eax + 0xc], cx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x10]
mov ecx, dword [ecx + 0xc]
cmp edx, ecx
jle 0x1013a9f5
mov word [eax + 0xc], cx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
test eax, eax
je case.0x1013a908.9
cmp byte [eax + 2], 0
je 0x1013a9f5
jmp case.0x1013a908.9
mov edx, dword [esp + 0x14]
mov ecx, dword [esi + 4]
mov eax, dword [edx + 0x60]
mov eax, dword [eax + ecx*4]
movzx eax, word [eax + 0xc]
cmp eax, dword [esi + 0x10]
jge 0x10142518
jmp 0x1013e878
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov eax, dword [edx + 0x60]
mov ecx, dword [edi + 4]
mov esi, dword [eax + ecx*4]
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x180], ecx
movzx eax, word [edi + 0x10]
mov word [esp + 0x190], ax
test ax, ax
je 0x1013e8db
mov eax, dword [esi + 0x30]
lea ebx, [esi + 0x24]
mov dword [esp + 0x17c], eax
lea eax, [esp + 0x17c]
push ebx
push eax
mov byte [esp + 0x19a], 0
push dword [esi + 0x2c]
call fcn.1010bc60
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
jmp 0x1013e949
mov eax, 0x400
test word [ecx + 0x10], ax
je 0x1013e8f7
push ecx
call fcn.10144740
add esp, 4
test eax, eax
jne 0x1013cd54
push dword [esi + 0x30]
call fcn.10139e20
mov edi, eax
add esp, 4
test edi, edi
je 0x1013cd50
mov ecx, dword [esp + 0x180]
push edi
push dword [ecx + 8]
push dword [ecx + 0xc]
push dword [esi + 0x30]
call fcn.10146550
lea ebx, [esi + 0x24]
mov byte [edi + 0x16], 0
push ebx
push edi
push dword [esi + 0x2c]
call fcn.1010bc60
push edi
push ebp
mov dword [esp + 0x3c], eax
call fcn.10112cf0
mov edx, dword [esp + 0x3c]
add esp, 0x24
mov edi, dword [esp + 0x10]
test edx, edx
jne 0x10142bf3
mov ecx, dword [ebx]
test ecx, ecx
setne al
mov byte [esi + 2], al
mov byte [esi + 3], dl
mov dword [esi + 0x20], edx
mov al, byte [edi]
cmp al, 0x1d
jne 0x1013e98e
test ecx, ecx
je 0x1013eb21
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
test ecx, ecx
jne 0x1013eb21
cmp al, 0x1b
jne 0x1013e9e4
movzx edx, word [esp + 0x190]
test edx, edx
je 0x1013f2dc
mov eax, dword [esp + 0x180]
add eax, 0x10
test byte [eax], 1
jne 0x1013eb21
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x1013e9b4
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov ecx, dword [esp + 0x14]
cmp al, 0x1a
jne 0x1013f2e0
mov ax, word [edi + 0x10]
mov edi, dword [esp + 0x18]
mov word [esi + 0xc], ax
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 0x24
jne 0x1013eaaf
movups xmm0, xmmword [ebx + eax*8]
movups xmmword [esp + 0x1e4], xmm0
movups xmm1, xmmword [ebx + eax*8 + 0x10]
movups xmmword [esp + 0x1f4], xmm1
movq xmm0, qword [ebx + eax*8 + 0x20]
movd eax, xmm1
movq qword [esp + 0x204], xmm0
test al, 4
jne 0x1013ea9b
test al, 8
jne 0x1013ea78
test al, 2
je 0x1013ea93
lea eax, [esp + 0x1e4]
push 1
push eax
call fcn.100db360
add esp, 8
jmp 0x1013ea88
lea eax, [esp + 0x1e4]
push eax
call fcn.10143e20
add esp, 4
mov ecx, dword [esp + 0x14]
mov al, byte [esp + 0x1f4]
test al, 4
je 0x1013e5c3
mov edi, dword [esp + 0x1e4]
mov ebx, dword [esp + 0x1e8]
jmp 0x1013eac0
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
mov edi, dword [ebx + eax*8]
mov ebx, dword [ebx + eax*8 + 4]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2c], 0
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
lea eax, [esp + 0x2c]
push eax
push 0
push ebx
push edi
push dword [esi + 0x2c]
call fcn.1010de00
mov dword [esi + 0x40], edi
mov edx, eax
mov eax, dword [esp + 0x40]
add esp, 0x14
mov dword [esi + 0x44], ebx
mov byte [esi + 2], 0
mov dword [esi + 0x20], 0
mov byte [esi + 3], 0
mov dword [esp + 0x18], edx
mov dword [esi + 0x24], eax
test eax, eax
je 0x1013eb2a
mov edi, dword [esp + 0x10]
cmp dword [edi + 8], 0
je 0x101427c5
mov edi, dword [esp + 0x18]
jmp 0x1013e5bf
test edx, edx
jne 0x101427a1
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x9000
test word [edx + 0x10], ax
je 0x1013eb7d
push edx
call fcn.100f9da0
add esp, 4
mov edx, eax
jmp 0x1013eb86
mov eax, 4
mov word [edx + 0x10], ax
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov dword [edx], ecx
mov dword [edx + 4], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x60]
mov esi, dword [esp + 0x10]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
add dword [eax + 0x18], 1
adc dword [eax + 0x1c], 0
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edi, dword [esp + 0x10]
xorps xmm0, xmm0
mov esi, dword [esp + 0x14]
movlpd qword [esp + 0x40], xmm0
mov dword [esp + 0x34], 0
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x9000
mov dword [esp + 0x2c], edx
test word [edx + 0x10], ax
je 0x1013ec0d
push edx
call fcn.100f9da0
add esp, 4
mov dword [esp + 0x2c], eax
jmp 0x1013ec16
mov eax, 4
mov word [edx + 0x10], ax
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x60]
mov ebp, dword [eax + ecx*4]
test byte [ebp + 8], 2
jne 0x1013ec99
lea eax, [esp + 0x34]
push eax
push dword [ebp + 0x2c]
call fcn.1010cc10
mov edx, eax
add esp, 8
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10142bf7
cmp dword [esp + 0x34], eax
je 0x1013ec5a
mov edi, 1
xor esi, esi
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], esi
jmp 0x1013eca1
mov esi, dword [ebp + 0x2c]
push esi
call fcn.100efe40
mov edi, dword [esi + 0x20]
add esp, 4
mov esi, dword [esi + 0x24]
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], esi
cmp esi, 0x7fffffff
jl 0x1013ec89
jg 0x1013ec83
cmp edi, 0xffffffff
jb 0x1013ec89
or dword [ebp + 8], 2
jmp 0x1013eca1
add edi, 1
mov dword [esp + 0x40], edi
adc esi, 0
mov dword [esp + 0x44], esi
jmp 0x1013eca1
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x1013ed2d
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0xd0]
test edx, edx
je 0x1013ecd9
mov eax, dword [edx + 4]
test eax, eax
je 0x1013ecce
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x1013ecc5
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
lea ebx, [eax + ecx*8]
jmp 0x1013ece3
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x28]
lea ebx, [ecx + eax*8]
push ebx
call fcn.10144ac0
mov eax, dword [ebx]
add esp, 4
mov ecx, dword [ebx + 4]
cmp eax, 0xffffffff
jne 0x1013ed02
cmp ecx, 0x7fffffff
je 0x1013ed8b
test byte [ebp + 8], 2
jne 0x1013ed8b
add eax, 1
adc ecx, 0
cmp esi, ecx
jg 0x1013ed28
jl 0x1013ed1c
cmp edi, eax
jae 0x1013ed28
mov edi, eax
mov esi, ecx
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], esi
mov dword [ebx], edi
mov dword [ebx + 4], esi
test byte [ebp + 8], 2
je 0x1013ed95
xor ebx, ebx
lea eax, [esp + 0x40]
push eax
push 8
call fcn.100d73c0
mov esi, dword [esp + 0x4c]
lea eax, [esp + 0x3c]
mov edi, dword [esp + 0x48]
and esi, 0x3fffffff
push eax
add edi, 1
push 0
adc esi, 0
mov dword [esp + 0x50], edi
push esi
push edi
push dword [ebp + 0x2c]
mov dword [esp + 0x60], esi
call fcn.1010de00
mov edx, eax
add esp, 0x1c
mov dword [esp + 0x18], edx
test edx, edx
jne 0x101427a1
cmp dword [esp + 0x34], eax
jne 0x1013ed95
inc ebx
cmp ebx, 0x64
jl 0x1013ed35
mov edx, 0xd
jmp 0x1014279d
mov eax, dword [esp + 0x2c]
mov byte [ebp + 3], 0
mov dword [ebp + 0x20], 0
mov dword [eax], edi
mov dword [eax + 4], esi
jmp 0x1013b96f
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
mov ecx, ebx
mov ebx, dword [esp + 0x28]
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov edi, dword [ebx + eax*8]
mov ebx, dword [ebx + eax*8 + 4]
mov dword [esp + 0x134], edi
mov dword [esp + 0x138], ebx
cmp byte [ecx + 1], 0xfb
jne 0x1013ee0e
cmp dword [ebp + 0xfc], 0
je 0x1013ee0e
movsx ecx, byte [esi + 1]
mov eax, dword [ebp + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
mov ebp, dword [ecx + 0x10]
jmp 0x1013ee14
xor ebp, ebp
mov dword [esp + 0x2c], ebp
test byte [ecx + 2], 1
je 0x1013ee34
mov eax, dword [esp + 0x14]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
mov ebx, dword [esp + 0x138]
mov edi, dword [esp + 0x134]
test byte [ecx + 2], 0x20
je 0x1013ee44
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x28], edi
mov dword [eax + 0x2c], ebx
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x10]
mov eax, dword [ebx + edx*8 + 8]
mov dword [esp + 0x13c], eax
mov eax, dword [ebx + edx*8 + 0xc]
mov dword [esp + 0x148], eax
test byte [edi + 2], 0x10
je 0x1013ee6d
mov ecx, dword [esi + 0x24]
jmp 0x1013ee6f
xor ecx, ecx
mov eax, 0x400
test word [ebx + edx*8 + 0x10], ax
je 0x1013ee87
mov eax, dword [ebx + edx*8]
mov dword [esp + 0x14c], eax
jmp 0x1013ee92
mov dword [esp + 0x14c], 0
mov dword [esp + 0x12c], 0
movzx eax, word [edi + 2]
push ecx
and eax, 0x8a
push eax
lea eax, [esp + 0x134]
push eax
push dword [esi + 0x2c]
call fcn.1010c100
mov edx, eax
mov byte [esi + 3], 0
add esp, 0x10
mov dword [esp + 0x18], edx
mov dword [esi + 0x20], 0
test edx, edx
jne 0x10142bf3
test ebp, ebp
je 0x1013f2d8
push dword [esp + 0x138]
test byte [edi + 2], 4
mov ecx, 0x17
push dword [esp + 0x138]
mov eax, 0x12
push dword [ebp]
mov ebp, dword [esp + 0x28]
cmovne eax, ecx
push dword [esp + 0x38]
push eax
push dword [ebp + 0xf8]
mov eax, dword [ebp + 0xfc]
call eax
mov edi, dword [esp + 0x30]
add esp, 0x18
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edi, dword [esp + 0x10]
mov ecx, dword [ecx + 0x60]
mov eax, dword [edi + 4]
mov edx, dword [ecx + eax*4]
mov eax, dword [edi + 8]
mov esi, dword [ecx + eax*4]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x1013ef61
mov ebx, dword [esp + 0x28]
lea eax, [eax + eax*4]
mov ecx, dword [ebx + eax*8]
mov eax, dword [ebx + eax*8 + 4]
jmp 0x1013ef72
xorps xmm0, xmm0
movlpd qword [esp + 0x2c], xmm0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
push eax
push ecx
push dword [esi + 0x2c]
push dword [edx + 0x2c]
call fcn.1010e0e0
add esp, 0x10
jmp 0x1013bd55
mov edx, dword [esp + 0x10]
lea ebx, [ebp + 0xfc]
cmp byte [edx + 1], 0xfb
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x60]
mov edi, dword [eax + ecx*4]
jne 0x1013eff1
cmp dword [ebx], 0
je 0x1013eff1
movsx ecx, byte [edi + 1]
mov eax, dword [ebp + 0x10]
add ecx, ecx
test byte [edx + 2], 2
mov ebp, dword [edx + 0x10]
mov esi, dword [eax + ecx*8]
mov dword [esp + 0x2c], esi
je 0x1013eff5
cmp byte [edi + 4], 0
je 0x1013eff5
mov esi, dword [edi + 0x2c]
push esi
call fcn.100efe40
mov eax, dword [esi + 0x20]
add esp, 4
mov ecx, dword [esi + 0x24]
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], ecx
jmp 0x1013eff5
xor esi, esi
xor ebp, ebp
movzx eax, byte [edx + 2]
push eax
push dword [edi + 0x2c]
call fcn.1010b6b0
mov edx, eax
mov dword [edi + 0x20], 0
add esp, 8
mov dword [esp + 0x18], edx
mov dword [edi + 0x24], 0
test edx, edx
jne 0x101427a1
test byte [esp + 0x40], 1
mov ecx, dword [esp + 0x14]
je 0x1013f2b9
add dword [ecx + 0x28], 1
adc dword [ecx + 0x2c], eax
mov eax, dword [ebx]
test eax, eax
je 0x1013f2b9
test ebp, ebp
je 0x1013f2b9
test byte [ebp + 0x1c], 0x80
jne 0x1013f2b9
push dword [edi + 0x44]
push dword [edi + 0x40]
push dword [ebp]
mov ebp, dword [esp + 0x28]
push esi
push 9
push dword [ebp + 0xf8]
call eax
add esp, 0x18
jmp 0x1013bd63
mov eax, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x6c], ecx
add dword [ebp + 0x70], eax
mov eax, dword [esp + 0x20]
adc dword [ebp + 0x74], ecx
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x28], 0
mov dword [ecx + 0x2c], 0
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [edx + 0x10]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov edi, dword [ecx + 0x2c]
mov ebx, dword [ecx + 0x30]
lea eax, [eax + eax*4]
mov dword [esp + 0x2c], eax
mov ebp, dword [edi + 0x20]
test ebp, ebp
jne 0x1013f0ef
push ebx
call fcn.10139e20
mov ebp, eax
add esp, 4
mov dword [edi + 0x20], ebp
test ebp, ebp
je 0x1013f1b2
mov word [ebp + 0x14], si
lea eax, [esp + 0xcc]
push eax
push edi
call fcn.101586a0
push ebp
push eax
push dword [esp + 0xdc]
push ebx
call fcn.10146550
add esp, 0x18
xor ecx, ecx
test esi, esi
jle 0x1013f131
mov eax, dword [ebp + 4]
add eax, 0x10
nop dword [eax + eax]
test byte [eax], 1
jne 0x1013e5b9
inc ecx
add eax, 0x28
cmp ecx, esi
jl 0x1013f120
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
push 0
push ebp
push dword [ebx + eax*8 + 8]
push dword [ebx + eax*8 + 0xc]
call fcn.10145cf0
xor edx, edx
add esp, 0x10
mov dword [esp + 0x18], edx
test eax, eax
jne 0x1013eb21
mov dword [esp + 0x18], edx
jmp 0x1013b96f
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, dword [edx + 4]
lea eax, [esp + 0xd0]
push eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
push dword [eax + 0x2c]
call fcn.101586a0
mov edi, dword [esp + 0xd8]
add esp, 8
mov ebx, eax
cmp dword [esi + 0x18], edi
jge 0x1013f1bc
push 0
push edi
push esi
call fcn.10144970
add esp, 0xc
test eax, eax
je 0x1013f1c7
mov edx, 7
jmp 0x1014279d
mov eax, dword [esi + 0x20]
mov dword [esi + 8], eax
and word [esi + 0x10], 0x2d
mov dword [esi + 0xc], edi
mov ecx, 0xf250
mov ax, word [esi + 0x10]
and ax, cx
push edi
or ax, 0x10
mov word [esi + 0x10], ax
push ebx
push dword [esi + 8]
call fcn.1016b7f0
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov esi, dword [esp + 0x10]
xor edi, edi
mov dword [esp + 0x18], edi
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
mov dword [eax + 0x20], edi
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x1013f24c
push esi
call fcn.100f9da0
add esp, 4
mov esi, eax
jmp 0x1013f255
mov eax, 4
mov word [esi + 0x10], ax
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
mov edi, dword [eax + 0x2c]
push edi
call fcn.100efe40
mov eax, dword [edi + 0x2c]
add esp, 4
cmp eax, dword [ebp + 0x78]
ja 0x101427fa
push esi
push eax
push edi
call fcn.10144910
mov edi, dword [esp + 0x1c]
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10142bf3
cmp dword [edi + 0xc], eax
jne 0x1013f2dc
mov eax, 0x4000
test word [esi + 0x10], ax
je 0x1013f2dc
push esi
call fcn.10144b40
add esp, 4
test eax, eax
jne 0x1013cd54
jmp 0x1013bd63
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
mov edx, dword [esp + 0x14]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x58]
lea edi, [eax + ecx*8]
mov eax, 0x9000
test word [edi + 0x10], ax
je 0x1013f32b
push edi
call fcn.100f9da0
mov edx, dword [esp + 0x18]
add esp, 4
mov edi, eax
jmp 0x1013f334
mov eax, 4
mov word [edi + 0x10], ax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [edx + 0x60]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 2], 0
je 0x1013f355
mov eax, 1
mov word [edi + 0x10], ax
jmp 0x1013bd63
cmp byte [esi + 3], 0
je 0x1013f379
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xa8], eax
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x1013bd63
cmp byte [esi], 2
mov ecx, dword [esi + 0x2c]
jne 0x1013f3c9
mov esi, dword [ecx]
lea edx, [esp + 0xa8]
push edx
push ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
push esi
mov esi, dword [esp + 0x20]
push esi
mov dword [esp + 0x28], eax
call fcn.10147d20
mov edx, dword [esp + 0x28]
add esp, 0x10
test edx, edx
jne 0x1014264e
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0xa8]
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x1013bd63
cmp byte [ecx], 0
je 0x1013f3e7
push esi
call fcn.10143d90
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
test edx, edx
jne 0x101427a1
jmp 0x1013f3ed
xor eax, eax
mov dword [esp + 0x18], eax
cmp byte [esi + 2], 0
je 0x1013f401
mov eax, 1
mov word [edi + 0x10], ax
jmp 0x1013bd63
mov esi, dword [esi + 0x2c]
push esi
call fcn.100efe40
mov eax, dword [esi + 0x20]
add esp, 4
mov ecx, dword [esi + 0x24]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xa8], eax
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x1013bd63
mov edx, dword [esp + 0x14]
mov ecx, dword [esi + 4]
mov eax, dword [edx + 0x60]
mov eax, dword [eax + ecx*4]
test eax, eax
jne 0x1013f468
push 3
push 1
push ecx
push edx
call fcn.100d98c0
add esp, 0x10
test eax, eax
je 0x1013cd50
mov dword [eax + 0x24], 0
mov byte [eax + 4], 1
or dword [eax + 8], 8
mov dword [eax + 0x2c], 0x101a3d44
mov byte [eax + 2], 1
mov dword [eax + 0x20], 0
cmp byte [eax], 0
jne 0x1013a9f5
push dword [eax + 0x2c]
call fcn.1010ac90
mov ecx, dword [esp + 0x18]
add esp, 4
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2c], 0
mov ecx, dword [edi + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 0x2c]
cmp dl, 0x89
jne 0x1013f4cf
mov dword [esi + 0x24], 0xffffffff
cmp byte [eax], 0
je 0x1013bd63
lea ecx, [esp + 0x2c]
push ecx
push eax
call fcn.1010cc10
mov edx, eax
add esp, 8
mov eax, dword [esp + 0x2c]
mov byte [esi + 2], al
mov byte [esi + 3], 0
mov dword [esp + 0x18], edx
mov dword [esi + 0x20], 0
test edx, edx
jne 0x10142bf3
cmp dword [edi + 8], edx
jle 0x1013ae69
test eax, eax
je 0x1013ae69
mov edi, edx
jmp 0x1013e5bf
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x2c]
push esi
call fcn.100f6f50
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
test edx, edx
jne 0x1013f54f
push esi
xor ebx, ebx
call fcn.100f6df0
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
jmp 0x1013f56b
cmp edx, 0x10
jne 0x1013f564
mov dword [esp + 0x8c], 1
jmp 0x1013e5b9
mov ebx, dword [esp + 0x8c]
mov dword [esp + 0x8c], ebx
mov edi, edx
test edx, edx
jne 0x101427a1
mov eax, edi
mov dword [esp + 0x18], eax
test ebx, ebx
jne 0x1013eb21
push esi
call fcn.1010d7f0
add esp, 4
test edx, edx
jl 0x1013f5c1
jg 0x1013f59d
test eax, eax
jb 0x1013f5c1
push edx
push eax
call fcn.10124920
mov esi, dword [esp + 0x18]
add esp, 8
cwde
cmp eax, dword [esi + 0xc]
jge 0x1013f5c5
mov dword [esp + 0x8c], 1
jmp 0x1013e5bb
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x18], edi
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
inc dword [ecx + 0xac]
mov edx, dword [esp + 0x10]
mov ebx, 1
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov edi, dword [eax + ecx*4]
mov esi, dword [edi + 0x2c]
cmp byte [edi], bl
jne 0x1013f65c
xor eax, eax
mov dword [esp + 0x18], eax
cmp byte [esi + 0x38], al
jne 0x1013f633
cmp dword [esi + 0x24], 0
lea eax, [esi + 0x24]
je 0x1013f690
push eax
lea eax, [esi + 0x40]
xor ebx, ebx
push eax
call fcn.101589b0
add esp, 8
mov dword [esp + 0x18], eax
jmp 0x1013f690
push esi
call fcn.10157ed0
push eax
push esi
call fcn.10157ff0
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
jne 0x1013f690
push esi
call fcn.10158700
add esp, 4
mov dword [esp + 0x18], eax
xor ebx, ebx
jmp 0x1013f690
push esi
call fcn.100f6f50
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x1013f67a
push esi
xor ebx, ebx
call fcn.100f6df0
add esp, 4
jmp 0x1013f681
cmp eax, 0x10
jne 0x1013f685
xor eax, eax
mov dword [esp + 0x18], eax
mov byte [edi + 3], 0
mov dword [edi + 0x20], 0
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x101427a1
mov ecx, dword [esp + 0x14]
mov byte [edi + 2], bl
mov edi, edx
test ebx, ebx
je 0x1013bded
jmp 0x1013e5c3
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + ecx*4]
mov edi, dword [ebx + 0x2c]
cmp byte [edi + 0x38], 0
je 0x1013f750
cmp byte [edi + 0x39], 0
je 0x1013f712
push dword [edi + 0x10]
call fcn.101570b0
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x1013f78a
mov eax, dword [edi + 0x10]
cmp dword [eax + 0x18], 0
jne 0x1013f78a
mov edi, dword [esp + 0x10]
mov eax, 0x65
mov esi, dword [esp + 0x14]
mov edx, eax
mov dword [esp + 0x18], eax
jmp 0x1013f7db
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c], 0
push eax
push dword [edi + 0x14]
call fcn.10156aa0
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
jne 0x1013f78a
cmp dword [esp + 0x2c], eax
je 0x1013f78a
mov edi, dword [esp + 0x10]
mov eax, 0x65
mov esi, dword [esp + 0x14]
mov edx, eax
mov dword [esp + 0x18], eax
jmp 0x1013f7db
mov ecx, dword [edi + 0x24]
mov eax, dword [ecx + 4]
mov dword [edi + 0x24], eax
mov dword [ecx + 4], 0
cmp dword [edi + 0x28], 0
jne 0x1013f779
mov esi, dword [ecx + 4]
push ecx
push ebp
call fcn.10112cf0
add esp, 8
mov ecx, esi
test esi, esi
jne 0x1013f766
xor ecx, ecx
mov eax, 0x65
cmp dword [edi + 0x24], ecx
cmovne eax, ecx
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
jmp 0x1013f7db
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x60]
push dword [edi + 0xc]
mov ebx, dword [eax + ecx*4]
push dword [ebx + 0x2c]
call fcn.1010d5f0
jmp 0x1013f7d2
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x60]
push dword [edi + 0xc]
mov ebx, dword [eax + ecx*4]
push dword [ebx + 0x2c]
call fcn.1010cca0
mov edx, eax
add esp, 8
mov dword [esp + 0x18], edx
mov dword [ebx + 0x20], 0
test edx, edx
jne 0x1013f7fd
mov byte [ebx + 2], dl
movzx eax, word [edi + 2]
mov edi, dword [esp + 0x18]
inc dword [esi + eax*4 + 0xa4]
jmp 0x101405ae
cmp edx, 0x65
jne 0x10142bf7
xor edi, edi
mov byte [ebx + 2], 1
mov dword [esp + 0x18], edi
jmp 0x10140417
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov ecx, dword [edx + 4]
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x60]
mov edi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x10]
test byte [ecx + 2], 1
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
je 0x1013f845
add dword [edx + 0x28], 1
adc dword [edx + 0x2c], 0
mov eax, 0x400
test word [esi + 0x10], ax
je 0x1013f86b
push esi
call fcn.10144740
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
test edx, edx
jne 0x101427a1
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 0xc]
cdq
mov dword [esp + 0x304], eax
mov dword [esp + 0x308], edx
mov eax, dword [esi + 8]
mov dword [esp + 0x2fc], eax
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [esp + 0x310], eax
mov ax, word [ecx + 0x10]
mov word [esp + 0x314], ax
movzx eax, word [ecx + 2]
test al, 0x10
je 0x1013f8b0
mov ecx, dword [edi + 0x24]
jmp 0x1013f8b2
xor ecx, ecx
push ecx
and eax, 0x8a
push eax
lea eax, [esp + 0x304]
push eax
push dword [edi + 0x2c]
call fcn.1010c100
mov edx, eax
mov dword [edi + 0x20], 0
add esp, 0x10
mov dword [esp + 0x18], edx
test edx, edx
jne 0x101427a1
jmp 0x1013bd63
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov edi, dword [eax + ecx*4]
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x400
test word [esi + 0x10], ax
je 0x1013f926
push esi
call fcn.10144740
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
test edx, edx
jne 0x101427a1
push esi
push edi
call fcn.10146fe0
mov edx, eax
add esp, 8
mov dword [esp + 0x18], edx
test edx, edx
jne 0x101427a1
jmp 0x1013bd63
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x28]
mov eax, dword [esi + 0x30]
mov edi, dword [esi + 0x2c]
mov dword [esp + 0x2bc], eax
mov ax, word [edx + 0xc]
mov word [esp + 0x2d0], ax
mov byte [esp + 0x2d2], 0
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x2c0], eax
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x2c0]
push eax
push edi
call fcn.1010bc60
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x101427a1
cmp dword [esp + 0xd4], eax
jne 0x1013f9dd
push 4
push edi
call fcn.1010b6b0
mov edx, eax
add esp, 8
mov dword [esp + 0x18], edx
test edx, edx
jne 0x101427a1
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], eax
jmp 0x1013bd63
mov edi, dword [esp + 0x10]
cmp word [edi + 2], 0
je 0x1013f9f9
mov eax, dword [ebp + 0x20]
and eax, 0x10000001
cmp eax, 1
jne 0x10142813
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
jmp 0x1013bd63
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x60]
mov ebp, dword [eax + ecx*4]
mov eax, dword [ebp + 0x2c]
cmp byte [eax], 0
je 0x1013fa40
push ebp
call fcn.10143d90
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10142bf7
mov edi, eax
jmp 0x1013fa46
xor edi, edi
mov dword [esp + 0x18], edi
cmp byte [ebp + 2], 0
jne 0x1013fbcb
mov esi, dword [ebp + 0x2c]
push esi
call fcn.100efe40
mov eax, dword [esi + 0x2c]
xor ecx, ecx
mov word [esp + 0x1d0], cx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1d4], ecx
lea ecx, [esp + 0x1c0]
push ecx
push eax
push esi
mov dword [esp + 0x1e4], 0
call fcn.10144910
mov edx, eax
add esp, 0x10
mov dword [esp + 0x18], edx
test edx, edx
jne 0x101427a1
mov ebx, dword [esp + 0x1c4]
movzx esi, byte [ebx]
mov dword [esp + 0x2c], esi
cmp esi, 0x80
jb 0x1013fac4
lea eax, [esp + 0x2c]
push eax
push ebx
call fcn.10120b60
mov esi, dword [esp + 0x34]
add esp, 8
cmp esi, 3
jb 0x10142841
mov edi, dword [esp + 0x1c8]
cmp esi, edi
ja 0x10142841
lea eax, [ebx - 1]
add eax, esi
movzx ecx, byte [eax]
mov dword [esp + 0x2c], ecx
cmp ecx, 0x80
jb 0x1013fb02
lea ecx, [esp + 0x2c]
push ecx
push eax
call fcn.10120b60
mov ecx, dword [esp + 0x34]
add esp, 8
lea eax, [ecx - 1]
cmp eax, 8
ja 0x10142841
cmp ecx, 7
je 0x10142841
movzx edx, byte [ecx + 0x1018e7c0]
lea eax, [edx + esi]
cmp edi, eax
jb 0x10142841
lea eax, [esp + 0x324]
sub edi, edx
push eax
push ecx
add edi, ebx
push edi
call fcn.10146760
add esp, 0xc
cmp dword [esp + 0x1d4], 0
je 0x1013fb59
lea eax, [esp + 0x1bc]
push eax
call fcn.101566b0
add esp, 4
mov eax, dword [esp + 0x10]
xor edi, edi
mov dword [esp + 0x18], edi
cmp byte [eax], 0x8d
jne 0x1013fba6
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x60]
mov edx, dword [eax + ecx*4]
mov eax, dword [esp + 0x324]
mov ecx, dword [esp + 0x328]
mov byte [edx + 2], 0
mov dword [edx + 0x40], eax
mov eax, dword [esp + 0x10]
mov dword [edx + 0x44], ecx
mov byte [edx + 3], 1
mov dword [edx + 0x20], edi
mov eax, dword [eax + 0x10]
mov dword [edx + 0x10], eax
mov dword [edx + 0x28], ebp
jmp 0x1013b973
push eax
push dword [esp + 0x18]
call fcn.100f9d60
mov ecx, dword [esp + 0x32c]
add esp, 8
mov edx, dword [esp + 0x328]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x1013b973
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, 0x9000
test word [eax + 0x10], cx
je 0x1013fbf5
push eax
call fcn.101566f0
add esp, 4
jmp 0x1013b973
mov ecx, 1
mov word [eax + 0x10], cx
jmp 0x1013b973
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
cmp byte [eax + 3], 0
je 0x1013a9f5
push eax
call fcn.101436a0
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
test edx, edx
jne 0x101427a1
mov ecx, dword [esp + 0x14]
mov edi, eax
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edi, dword [esp + 0x10]
cmp dl, 0x2a
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
mov ecx, dword [edi + 4]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x30]
mov esi, dword [ecx + 0x2c]
mov dword [esp + 0x2dc], eax
mov ax, word [edi + 0x10]
mov word [esp + 0x2f0], ax
sbb al, al
mov byte [esp + 0x2f2], al
mov eax, dword [edi + 0xc]
push esi
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [esp + 0x2e4], eax
call fcn.100efe40
mov eax, dword [esi + 0x2c]
add esp, 4
test eax, eax
je 0x1014286a
cmp eax, 0x7fffffff
ja 0x1014286a
xor ecx, ecx
mov dword [esp + 0x288], ebp
mov word [esp + 0x284], cx
mov dword [esp + 0x28c], ecx
lea ecx, [esp + 0x274]
push ecx
push eax
push esi
call fcn.10144910
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10142bf3
push eax
lea eax, [esp + 0x2e0]
push eax
push dword [esp + 0x284]
push dword [esp + 0x28c]
call fcn.10145cf0
add esp, 0x10
mov esi, eax
cmp dword [esp + 0x28c], 0
je 0x1013fd26
lea eax, [esp + 0x274]
push eax
call fcn.101566b0
add esp, 4
test byte [edi], 1
jne 0x1013fd2f
neg esi
jmp 0x1013fd30
inc esi
test esi, esi
jg 0x1013eb21
jmp 0x1013bd63
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea edi, [eax + ecx*8]
mov eax, 0x9000
test word [edi + 0x10], ax
je 0x1013fd6b
push edi
call fcn.100f9da0
mov edx, dword [esp + 0x14]
add esp, 4
mov edi, eax
mov eax, 1
mov word [edi + 0x10], ax
mov eax, dword [ebp + 0xcc]
inc eax
cmp dword [ebp + 0xc0], eax
jg 0x1014288e
mov eax, dword [edx + 0xc]
mov ebx, eax
mov ebp, dword [edx + 4]
add ebx, ebx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], 0
mov eax, dword [eax + 0x10]
mov esi, dword [eax + ebx*8 + 4]
cmp byte [esi + 9], 0
je 0x1013fdc0
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x1013fdc0
push esi
call fcn.100dea30
add esp, 4
lea eax, [esp + 0x2c]
push eax
push ebp
push esi
call fcn.100de3a0
add esp, 0xc
mov dword [esp + 0x18], eax
cmp byte [esi + 9], 0
je 0x1013fde8
add dword [esi + 0xc], 0xffffffff
jne 0x1013fde8
push esi
call fcn.10153430
add esp, 4
mov esi, dword [esp + 0x2c]
mov eax, 4
mov word [edi + 0x10], ax
mov eax, esi
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x101427a1
mov ebp, dword [esp + 0x1c]
test esi, esi
je 0x1013ae69
mov eax, dword [esp + 0x10]
mov edi, dword [ebp + 0x10]
mov edx, dword [eax + 4]
mov eax, dword [edi + ebx*8 + 0xc]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x1013fe41
nop word [eax + eax]
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x14], esi
jne 0x1013fe3b
mov dword [ecx + 0x14], edx
mov eax, dword [eax]
test eax, eax
jne 0x1013fe30
mov eax, dword [edi + ebx*8 + 0xc]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x1013fe61
nop dword [eax]
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x2c], esi
jne 0x1013fe5b
mov dword [ecx + 0x2c], edx
mov eax, dword [eax]
test eax, eax
jne 0x1013fe50
mov cl, byte [esp + 0x40]
inc cl
mov byte [esp + 0x67], cl
jmp 0x1013bd63
mov edi, dword [esp + 0x10]
lea eax, [esp + 0xbc]
xorps xmm0, xmm0
movlpd qword [esp + 0xbc], xmm0
push eax
mov ecx, dword [edi + 8]
mov eax, dword [ebp + 0x10]
add ecx, ecx
push dword [edi + 4]
push dword [eax + ecx*8 + 4]
call fcn.1010ad10
mov ecx, dword [esp + 0x20]
add esp, 0xc
cmp dword [edi + 0xc], 0
mov edx, eax
mov dword [esp + 0x18], edx
je 0x1013feea
mov eax, dword [esp + 0xbc]
add dword [ecx + 0x28], eax
mov eax, dword [esp + 0xc0]
adc dword [ecx + 0x2c], eax
mov eax, dword [edi + 0xc]
test eax, eax
jle 0x1013feea
mov ebx, dword [esp + 0x28]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0xbc]
add dword [ebx + ecx*8], eax
mov eax, dword [esp + 0xc0]
adc dword [ebx + ecx*8 + 4], eax
mov ecx, dword [esp + 0x14]
test edx, edx
jne 0x10142bf3
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov eax, dword [esi + 0x60]
mov eax, dword [eax + ecx*4]
cmp byte [eax], 1
jne 0x1013ff4a
push dword [eax + 0x2c]
push ebp
call fcn.10146d90
mov esi, dword [esp + 0x18]
add esp, 8
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov eax, dword [eax + 0x2c]
push 0
push dword [eax + 0x40]
push dword [eax + 8]
call fcn.1010ad10
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x1014264e
jmp 0x1013bd63
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x1013ff9c
push esi
call fcn.100f9da0
add esp, 4
mov esi, eax
jmp 0x1013ffa5
mov eax, 4
mov word [esi + 0x10], ax
mov eax, dword [edi + 4]
lea ecx, [esp + 0x2c]
push dword [edi + 0xc]
shl eax, 4
add eax, dword [ebp + 0x10]
push ecx
mov dword [esp + 0x34], 0
push dword [eax + 4]
call fcn.1010b5f0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x1014275c
mov eax, dword [esp + 0x2c]
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x1013bd63
mov edi, dword [esp + 0x10]
inc byte [ebp + 0x60]
push 0
push 0
push 0
push dword [edi + 0x10]
push ebp
call fcn.100d59c0
add esp, 0x14
dec byte [ebp + 0x60]
jmp 0x1013bd55
mov edi, dword [esp + 0x10]
cmp dword [edi + 0x10], 0
mov esi, dword [edi + 4]
jne 0x10140058
mov eax, dword [ebp + 0x10]
mov ecx, esi
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.101300f0
and dword [ebp + 0x18], 0xffffffef
movzx eax, word [edi + 2]
push eax
mov eax, dword [esp + 0x1c]
add eax, 0x7c
push eax
push esi
push ebp
call fcn.10121b90
mov ecx, dword [esp + 0x28]
mov edx, eax
or dword [ebp + 0x18], 1
add esp, 0x14
mov dword [esp + 0x18], edx
and dword [ecx + 0x98], 0xfffffffc
jmp 0x1014014d
mov dword [esp + 0xf0], esi
lea eax, [ecx + 0x7c]
mov dword [esp + 0xe8], ebp
add esi, esi
mov dword [esp + 0xec], eax
mov dword [esp + 0xf8], 0
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + esi*8 + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x100], eax
push dword [edi + 0x10]
mov eax, dword [ebp + 0x10]
push str.sqlite_master
push dword [eax + esi*8]
push str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
push ebp
call fcn.10124b40
mov esi, eax
add esp, 0x14
test esi, esi
je 0x101428d2
push 0
lea eax, [esp + 0xec]
mov byte [ebp + 0xb1], 1
push eax
push fcn.10121900
push esi
push ebp
mov dword [esp + 0x108], 0
mov dword [esp + 0x110], 0
call fcn.100d59c0
add esp, 0x14
mov dword [esp + 0x18], eax
test eax, eax
jne 0x10140134
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x18], eax
test eax, eax
jne 0x10140134
cmp dword [esp + 0xfc], eax
jne 0x10140134
push 0x10196e4c
push 0x1791f
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.100c9ef0
mov eax, 0xb
add esp, 0x14
mov dword [esp + 0x18], eax
push esi
push ebp
call fcn.10112cf0
mov edx, dword [esp + 0x20]
add esp, 8
mov ecx, dword [esp + 0x14]
mov byte [ebp + 0xb1], 0
test edx, edx
jne 0x101428a7
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edi, dword [esp + 0x10]
push dword [edi + 4]
push ebp
call fcn.10108b10
add esp, 8
jmp 0x1013bd55
mov edx, dword [esp + 0x10]
push 0
mov eax, dword [edx + 4]
push dword [edx + 0x10]
shl eax, 4
add eax, dword [ebp + 0x10]
mov eax, dword [eax + 0xc]
add eax, 8
push eax
call fcn.10120df0
add esp, 0xc
test eax, eax
je 0x101401c3
cmp dword [ebp + 0x210], 0
jne 0x101401b9
add dword [eax + 0x18], 0xffffffff
jne 0x101401c3
push eax
push ebp
call fcn.100e5df0
add esp, 8
or dword [ebp + 0x18], 1
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov eax, dword [ebp + 0x10]
push 0
mov ecx, dword [edx + 4]
push dword [edx + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
add eax, 0x18
push eax
call fcn.10120df0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x101401c3
mov edx, dword [esi + 0xc]
mov ecx, dword [edx + 8]
cmp ecx, esi
jne 0x10140242
mov eax, dword [esi + 0x14]
push esi
push ebp
mov dword [edx + 8], eax
call fcn.1011d110
mov esi, dword [esp + 0x18]
add esp, 8
or dword [ebp + 0x18], 1
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
test ecx, ecx
je 0x10140281
lea edx, [ecx + 0x14]
mov ecx, dword [edx]
cmp ecx, esi
je 0x1014027c
test ecx, ecx
jne 0x10140246
push esi
push ebp
call fcn.1011d110
mov esi, dword [esp + 0x18]
add esp, 8
or dword [ebp + 0x18], 1
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov eax, dword [esi + 0x14]
mov dword [edx], eax
push esi
push ebp
call fcn.1011d110
mov esi, dword [esp + 0x18]
add esp, 8
or dword [ebp + 0x18], 1
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov eax, dword [ebp + 0x10]
push 0
mov ecx, dword [edx + 4]
push dword [edx + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
add eax, 0x28
push eax
call fcn.10120df0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x1013ae6d
mov eax, dword [esi + 0x18]
cmp dword [esi + 0x14], eax
jne 0x1014033b
push 0
push dword [esi + 4]
add eax, 8
push eax
call fcn.100eacf0
add esp, 0xc
mov edx, dword [eax + 8]
test edx, edx
je 0x1014033b
mov eax, dword [edx + 0x38]
add edx, 0x38
test eax, eax
je 0x1014033b
nop
cmp eax, esi
je 0x10140336
lea edx, [eax + 0x20]
mov eax, dword [edx]
test eax, eax
jne 0x10140300
push esi
push ebp
call fcn.10113e30
mov esi, dword [esp + 0x18]
add esp, 8
or dword [ebp + 0x18], 1
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov eax, dword [eax + 0x20]
mov dword [edx], eax
push esi
push ebp
call fcn.10113e30
mov esi, dword [esp + 0x18]
add esp, 8
or dword [ebp + 0x18], 1
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 0x10]
lea edi, [eax + eax*4]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
lea eax, [esp + 0xd8]
push eax
mov eax, dword [ebx + edi*8]
inc eax
push eax
push dword [edx + 8]
lea eax, [ecx + 4]
movzx ecx, word [edx + 2]
push eax
mov eax, dword [ebp + 0x10]
add ecx, ecx
push dword [eax + ecx*8 + 4]
push ebp
call fcn.1010c640
mov ebx, eax
add esp, 0x18
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x101403c0
push esi
call fcn.101566f0
add esp, 4
jmp 0x101403c9
mov eax, 1
mov word [esi + 0x10], ax
mov eax, dword [esp + 0xd8]
test eax, eax
je 0x101403fe
test ebx, ebx
je 0x1013cd50
mov ecx, dword [esp + 0x28]
dec eax
push fcn.100d72a0
push 1
push 0xffffffffffffffff
cdq
sub dword [ecx + edi*8], eax
push 0xffffffffffffffff
sbb dword [ecx + edi*8 + 4], edx
push ebx
push esi
call fcn.10144eb0
add esp, 0x18
test byte [esi + 0x10], 2
jne 0x101404b3
mov eax, dword [esp + 0x48]
mov byte [esi + 0x12], al
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
cmp dword [ebp + 0x128], 0
jne 0x10142ba0
mov ecx, dword [esp + 0x7c]
cmp dword [esp + 0x88], ecx
jb 0x1013ae69
mov ebx, dword [esp + 0x70]
ja 0x10140450
mov eax, dword [esp + 0x20]
cmp eax, ebx
jb 0x101422ee
nop word [eax + eax]
mov eax, dword [ebp + 0x174]
test eax, eax
je 0x101422ea
add ebx, dword [ebp + 0x17c]
push dword [ebp + 0x178]
adc ecx, 0
mov dword [esp + 0x74], ebx
mov dword [esp + 0x80], ecx
call eax
add esp, 4
test eax, eax
jne 0x101429a7
mov ecx, dword [esp + 0x7c]
cmp dword [esp + 0x88], ecx
ja 0x10140450
mov eax, dword [esp + 0x20]
jb 0x1014049c
cmp eax, ebx
jae 0x10140450
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov al, byte [esp + 0x48]
cmp byte [esi + 0x12], al
je 0x1014040f
push dword [esp + 0x48]
push esi
call fcn.101454b0
add esp, 8
jmp 0x1014040f
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 0x10
lea esi, [ebx + eax*8]
mov eax, dword [edx + 8]
lea edi, [eax + eax*4]
jne 0x10140501
push esi
call fcn.10144dd0
add esp, 4
test eax, eax
jne 0x1013cd50
push dword [ebx + edi*8 + 4]
push dword [ebx + edi*8]
push dword [esi + 8]
call fcn.1012f350
add esp, 0xc
jmp 0x1013bd63
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x10], 0x10
lea edi, [ecx + eax*8]
je 0x10140592
mov esi, dword [edi + 8]
movzx eax, word [esi + 0x1a]
test al, 2
jne 0x10140552
test al, 1
jne 0x1014054d
push dword [esi + 8]
call fcn.10104080
add esp, 4
mov dword [esi + 8], eax
or word [esi + 0x1a], 3
mov eax, dword [esi + 8]
test eax, eax
je 0x10140592
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esi + 8], eax
test eax, eax
jne 0x10140571
push esi
call fcn.1012f2e0
add esp, 4
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
push ebx
push edi
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
call fcn.10144d60
add esp, 0xc
jmp 0x1014040f
mov eax, 0x9000
test word [edi + 0x10], ax
je 0x101405cb
push edi
call fcn.101566f0
add esp, 4
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 8]
mov ecx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea eax, [ecx + eax*4]
mov dword [esp + 0x10], eax
jmp 0x10140417
mov eax, 1
mov word [edi + 0x10], ax
jmp 0x101405a6
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
mov ebx, dword [edx + 0x10]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x10], 0x10
lea esi, [ecx + eax*8]
mov eax, dword [edx + 0xc]
lea edi, [eax + eax*4]
jne 0x1014060c
push esi
call fcn.10144dd0
add esp, 4
test eax, eax
jne 0x1013cd50
mov ecx, dword [esp + 0x28]
test ebx, ebx
je 0x1014062d
push dword [ecx + edi*8 + 4]
push dword [ecx + edi*8]
push ebx
push dword [esi + 8]
call fcn.1012f3e0
add esp, 0x10
test eax, eax
jne 0x1013eb21
test ebx, ebx
js 0x1013ae69
mov ebx, dword [esp + 0x28]
jmp 0x10140501
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x2c], ebx
lea eax, [eax + eax*4]
lea ebp, [ecx + eax*8]
mov eax, dword [esp + 0x10]
cmp word [eax + 2], 0
je 0x10140680
mov eax, dword [edx + 0xd0]
mov ecx, dword [ebx + 0x14]
test eax, eax
je 0x10140680
cmp dword [eax + 0x1c], ecx
je 0x10142510
mov eax, dword [eax + 4]
test eax, eax
jne 0x10140670
mov ecx, dword [esp + 0x1c]
mov eax, dword [edx + 0xd8]
cmp eax, dword [ecx + 0xa0]
jge 0x101428e0
test byte [ebp + 0x10], 0x10
jne 0x101407ba
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
add eax, ecx
test ecx, ecx
lea edi, [eax + 1]
cmovne edi, eax
lea eax, [edi + edi*4]
lea ecx, [ecx + eax*2]
mov eax, dword [ebx + 4]
add eax, 7
mov eax, eax
test eax, eax
jns 0x101406c5
add eax, 7
sar eax, 3
lea ecx, [ecx + 0x16]
lea ebx, [eax + ecx*4]
mov eax, ebx
cdq
push edx
push eax
push dword [esp + 0x24]
call fcn.10112e00
mov esi, eax
add esp, 0xc
test esi, esi
je 0x1013cd4c
push ebx
push 0
push esi
call fcn.1016bd70
mov eax, 0x9000
add esp, 0xc
test word [ebp + 0x10], ax
jne 0x10140706
cmp dword [ebp + 0x18], 0
je 0x1014070f
push ebp
call fcn.101566b0
add esp, 4
mov ecx, dword [esp + 0x10]
mov eax, 0x1010
mov word [ebp + 0x10], ax
mov eax, dword [esp + 0x14]
sub ecx, dword [esp + 0x24]
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], ebx
mov ebx, dword [esp + 0x2c]
mov dword [ebp + 0x24], 0x10143700
mov dword [esi], eax
mov dword [esi + 0x3c], edi
mov eax, dword [ebx + 0xc]
mov dword [esi + 0x40], eax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
mov dword [esi + 0x30], eax
mov eax, dword [edx + 0x58]
mov dword [esi + 0x10], eax
mov eax, dword [edx + 0x14]
mov dword [esi + 0x38], eax
mov eax, dword [edx + 0x60]
mov dword [esi + 0x14], eax
mov eax, dword [edx + 0x18]
mov dword [esi + 0x2c], eax
mov eax, dword [edx + 0x68]
mov dword [esi + 8], eax
mov eax, dword [edx + 0x6c]
mov dword [esi + 0x34], eax
mov eax, dword [ebx + 0x14]
mov dword [esi + 0x1c], eax
lea eax, [edi*4 + 0xb]
add eax, edi
lea ecx, [esi + eax*8]
lea eax, [esi + 0x58]
cmp eax, ecx
je 0x101407b4
mov edx, dword [esp + 0x1c]
nop dword [eax]
xor edi, edi
mov word [eax + 0x10], di
mov dword [eax + 0x14], edx
add eax, 0x28
cmp eax, ecx
jne 0x101407a0
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
jmp 0x101407bd
mov esi, dword [ebp + 8]
inc dword [edx + 0xd8]
mov eax, dword [edx + 0xd0]
mov ebp, dword [esp + 0x1c]
mov dword [esi + 4], eax
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x2c]
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
mov eax, dword [edx + 0x28]
mov ecx, dword [edx + 0x2c]
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], ecx
mov eax, dword [edx]
mov ecx, dword [eax + 0x68]
mov eax, dword [eax + 0x6c]
mov dword [esi + 0x50], ecx
mov dword [esi + 0x54], eax
mov eax, dword [edx + 0xe4]
mov dword [esi + 0x28], eax
lea eax, [esi + 0x58]
mov dword [edx + 0xe4], 0
mov dword [edx + 0x28], 0
mov dword [edx + 0x2c], 0
mov dword [edx + 0xd0], esi
mov dword [edx + 0x58], eax
mov ecx, dword [esi + 0x3c]
mov dword [edx + 0x14], ecx
mov dword [esp + 0x28], eax
movzx eax, word [esi + 0x40]
mov dword [edx + 0x18], eax
lea eax, [ecx*4 + 0xb]
add eax, ecx
lea ecx, [esi + eax*8]
mov dword [edx + 0x60], ecx
mov eax, dword [ebx + 0xc]
lea ecx, [ecx + eax*4]
mov dword [esi + 0x18], ecx
mov eax, dword [ebx + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push 0
push ecx
call fcn.1016bd70
mov esi, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [ebx]
mov dword [esp + 0x24], ecx
mov dword [esi + 0x68], ecx
mov eax, dword [ebx + 4]
mov dword [esi + 0x6c], eax
lea eax, [ecx - 0x14]
mov dword [esp + 0x10], eax
jmp 0x10140417
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x101408b2
push esi
call fcn.100f9da0
add esp, 4
mov esi, eax
jmp 0x101408bb
mov eax, 4
mov word [esi + 0x10], ax
mov edx, dword [ebx + 0xd0]
mov eax, dword [edx + 0x30]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
mov eax, dword [eax + ecx*4 + 4]
mov ecx, dword [esp + 0x10]
add eax, dword [ecx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea ecx, [eax + ecx*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x10140911
push 0x4000
push ecx
push esi
call fcn.10155b90
mov esi, dword [esp + 0x1c]
add esp, 0xc
mov eax, dword [esp + 0x20]
mov ecx, ebx
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
movups xmm0, xmmword [ecx]
movups xmmword [esi], xmm0
mov eax, dword [ecx + 0x10]
mov dword [esi + 0x10], eax
mov eax, 0x2000
test word [ecx + 0x10], ax
jne 0x1013e020
mov ax, word [esi + 0x10]
mov ecx, 0xcfff
and ax, cx
mov ecx, 0x4000
or ax, cx
mov ecx, ebx
mov word [esi + 0x10], ax
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov eax, dword [ebp + 0x20]
and eax, 0x80000
or eax, 0
mov eax, dword [esp + 0x10]
mov esi, eax
je 0x10140993
mov eax, dword [eax + 8]
cdq
add dword [ebp + 0x208], eax
mov eax, dword [esp + 0x20]
adc dword [ebp + 0x20c], edx
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
cmp dword [eax + 4], 0
mov eax, dword [eax + 8]
cdq
je 0x101409bc
add dword [ebp + 0x200], eax
mov eax, dword [esp + 0x20]
adc dword [ebp + 0x204], edx
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
add dword [ecx + 0x40], eax
mov eax, dword [esp + 0x20]
adc dword [ecx + 0x44], edx
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
cmp dword [esi + 4], 0
je 0x10140a12
mov eax, dword [ebp + 0x200]
or eax, dword [ebp + 0x204]
jne 0x1013a9f9
mov eax, dword [ebp + 0x208]
or eax, dword [ebp + 0x20c]
je 0x1013e5c3
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov eax, dword [ecx + 0x40]
or eax, dword [ecx + 0x44]
jmp 0x101409e7
mov edx, dword [ecx + 0xd0]
test edx, edx
je 0x10140a4f
mov eax, dword [edx + 4]
test eax, eax
je 0x10140a39
nop dword [eax + eax]
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x10140a30
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edi, [eax + ecx*8]
jmp 0x10140a60
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
push edi
call fcn.10144ac0
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
push esi
call fcn.10144ac0
mov ecx, dword [esi + 4]
add esp, 8
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x1013ae69
jl 0x1013f421
cmp dword [edi], eax
jae 0x101422e6
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x1013bd63
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edi + 4]
lea esi, [eax + eax*4]
mov edi, dword [ebx + esi*8 + 4]
mov ecx, dword [ebx + esi*8]
test edi, edi
jl 0x1013ae69
jg 0x10140ac9
test ecx, ecx
je 0x1013ae69
mov eax, dword [esp + 0x10]
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 [esp + 0x18]
jmp 0x1013e5bf
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
lea edi, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea ebx, [eax + eax*4]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x10140b1d
push esi
call fcn.100f9da0
add esp, 4
mov esi, eax
jmp 0x10140b26
mov eax, 4
mov word [esi + 0x10], ax
mov edx, dword [esp + 0x28]
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
test eax, eax
jl 0x10140b99
jg 0x10140b49
test ecx, ecx
je 0x10140b99
mov ecx, dword [edx + ebx*8 + 4]
mov eax, dword [edx + ebx*8]
test ecx, ecx
jl 0x10140b5a
jg 0x10140b6b
test eax, eax
jne 0x10140b6b
xorps xmm0, xmm0
movlpd qword [esp + 0x2c], xmm0
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
push ecx
push eax
lea eax, [esp + 0xcc]
push eax
call fcn.101072f0
add esp, 0xc
test eax, eax
jne 0x10140b99
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc8]
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x1013bd63
mov dword [esi], 0xffffffff
mov dword [esi + 4], 0xffffffff
jmp 0x1013bd63
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
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 0x1013ab64
test edx, edx
jl 0x1013e5bf
jg 0x10140bdc
test ecx, ecx
je 0x1013e5bf
sub ecx, 1
mov dword [ebx + esi*8], ecx
sbb edx, 0
mov dword [ebx + esi*8 + 4], edx
jmp 0x1013e5bf
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
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 0x10140c1e
jg 0x10140c11
test eax, eax
je 0x10140c1e
sub eax, 1
mov dword [ebx + edx*8], eax
sbb ecx, 0
mov dword [ebx + edx*8 + 4], ecx
or eax, ecx
mov ecx, dword [esp + 0x14]
je 0x1013e5c3
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edi, dword [esp + 0x10]
push 0
movzx ebx, word [edi + 2]
lea eax, [ebx*4 + 0x44]
push eax
push ebp
call fcn.10112e00
mov esi, eax
add esp, 0xc
test esi, esi
je 0x1013cd54
mov dword [esi + 8], 0
lea ecx, [ebx + 7]
lea ecx, [esi + ecx*4]
mov eax, 1
mov dword [esi], ecx
mov word [ecx + 0x10], ax
mov dword [ecx + 0x14], ebp
mov dword [ecx + 0x18], 0
mov ecx, edi
mov eax, dword [edi + 0x10]
sub ecx, dword [esp + 0x24]
mov dword [esi + 4], eax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 0xc], eax
mov al, byte [esp + 0x48]
mov byte [esi + 0x19], 0
mov dword [esi + 0x14], 0
mov byte [esi + 0x18], al
mov byte [esi + 0x1a], bl
mov byte [edi + 1], 0xf1
mov dword [edi + 0x10], esi
mov byte [edi], 0xa3
jmp 0x10140cd4
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0xc]
mov ebx, dword [esp + 0x28]
mov esi, dword [edi + 0x10]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
cmp dword [esi + 8], edi
je 0x10140d1a
mov dword [esi + 8], edi
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
js 0x10140d1a
mov ebp, dword [esp + 0x10]
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
nop
mov eax, dword [ebp + 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 0x10140d00
mov ebp, dword [esp + 0x1c]
inc dword [edi + 0xc]
lea eax, [esi + 0x1c]
mov edi, dword [esp + 0x10]
movzx edx, byte [esi + 0x1a]
mov ecx, dword [esi + 4]
push eax
cmp dword [edi + 4], 0
push edx
push esi
je 0x10140d39
mov eax, dword [ecx + 0x1c]
jmp 0x10140d3c
mov eax, dword [ecx + 0x10]
call eax
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x101422e6
jle 0x10140da2
mov ecx, dword [esi]
test ecx, ecx
jne 0x10140d58
xor eax, eax
jmp 0x10140d89
movzx edx, word [ecx + 0x10]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x10140d75
cmp byte [ecx + 0x12], 1
jne 0x10140d75
mov eax, dword [ecx + 8]
jmp 0x10140d89
test dl, 1
je 0x10140d7e
xor eax, eax
jmp 0x10140d89
push 1
push ecx
call fcn.10155890
add esp, 8
push eax
push 0x1019248c
push dword [esp + 0x1c]
call fcn.1013a7b0
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [esp + 0x18], eax
cmp byte [esi + 0x19], 0
je 0x10140dc6
mov eax, dword [edi - 0x10]
test eax, eax
je 0x10140dc2
push 0
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
push 1
push eax
call fcn.10144d60
add esp, 0xc
mov byte [esi + 0x19], 0
mov eax, dword [esi]
mov ecx, 0x9000
test word [eax + 0x10], cx
jne 0x10140dd9
cmp dword [eax + 0x18], 0
je 0x10140de2
push eax
call fcn.101566b0
add esp, 4
mov eax, dword [esi]
mov ecx, 1
mov edx, dword [esp + 0x18]
mov word [eax + 0x10], cx
mov dword [esi + 0x14], 0
jmp 0x1013bd5b
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov ebx, dword [edi + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x10140ea0
lea eax, [eax + eax*4]
xorps xmm0, xmm0
lea edi, [ecx + eax*8]
mov eax, 0x9000
movups xmmword [esp + 0x19c], xmm0
movups xmmword [esp + 0x1ac], xmm0
test word [edi + 0x10], ax
je 0x10140e4b
push edi
call fcn.101566f0
add esp, 4
jmp 0x10140e54
mov eax, 1
mov word [edi + 0x10], ax
mov dword [esp + 0x19c], edi
mov dword [esp + 0x1a4], esi
mov dword [esp + 0x1a0], ebx
mov eax, dword [esi + 0x14]
mov al, byte [eax + 0x54]
mov byte [esp + 0x1b4], al
lea eax, [esp + 0x19c]
push eax
mov eax, dword [ebx + 0x18]
call eax
mov edi, dword [esp + 0x14]
add esp, 4
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x1b0]
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
jmp 0x10140eac
push ebx
push esi
call fcn.101447a0
add esp, 8
mov edx, eax
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10142901
test byte [esi + 0x10], 2
jne 0x10140eca
mov eax, dword [esp + 0x48]
mov byte [esi + 0x12], al
jmp 0x1013bd63
mov al, byte [esp + 0x48]
cmp byte [esi + 0x12], al
je 0x101422e6
push dword [esp + 0x48]
push esi
call fcn.101454b0
add esp, 8
jmp 0x1013bd63
mov edi, dword [esp + 0x10]
lea eax, [esp + 0x354]
push eax
lea eax, [esp + 0x354]
mov dword [esp + 0x350], 0
push eax
push dword [edi + 8]
mov dword [esp + 0x360], 0xffffffff
push dword [edi + 4]
mov dword [esp + 0x360], 0xffffffff
push ebp
call fcn.1010e880
mov edx, eax
add esp, 0x14
mov dword [esp + 0x18], edx
test edx, edx
je 0x10140f51
cmp edx, 5
jne 0x1014275c
xor eax, eax
mov dword [esp + 0x34c], 1
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0xc]
xor edi, edi
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, 0x9000
lea ebp, [edi + 4]
nop dword [eax + eax]
mov eax, dword [esp + edi*4 + 0x34c]
cdq
test word [esi + 0x10], cx
je 0x10140f90
push edx
push eax
push esi
call fcn.10157920
add esp, 0xc
mov ecx, 0x9000
jmp 0x10140f99
mov dword [esi], eax
mov dword [esi + 4], edx
mov word [esi + 0x10], bp
inc edi
add esi, 0x28
cmp edi, 3
jl 0x10140f70
jmp 0x1013b96f
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
lea eax, [eax + ecx*8]
mov ecx, 0x9000
mov dword [esp + 0x2c], eax
test word [eax + 0x10], cx
je 0x10140fd9
push eax
call fcn.100f9da0
add esp, 4
mov dword [esp + 0x2c], eax
jmp 0x10140fe2
mov ecx, 4
mov word [eax + 0x10], cx
mov ecx, dword [ebx + 4]
mov eax, dword [ebp + 0x10]
add ecx, ecx
mov edx, dword [ebx + 0xc]
cmp edx, 0xffffffff
mov eax, dword [eax + ecx*8 + 4]
mov dword [esp + 0x40], eax
mov eax, dword [eax + 4]
mov esi, dword [eax]
movzx ebp, byte [esi + 5]
mov ebx, ebp
cmovne ebx, edx
cmp byte [esi + 0x11], 3
jae 0x10141022
mov eax, dword [esi + 0x44]
cmp dword [eax], 0
je 0x10141024
cmp dword [esi + 0x54], 0
jg 0x10141022
jl 0x10141024
cmp dword [esi + 0x50], 0
jbe 0x10141024
mov ebx, ebp
cmp byte [esi + 0xf], 0
mov ecx, 0x1018e588
jne 0x10141035
mov ecx, dword [esi + 0xb8]
cmp ebx, 5
jne 0x10141075
test ecx, ecx
je 0x1014106e
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10141041
sub ecx, edx
test ecx, 0x3fffffff
je 0x1014106e
cmp byte [esi + 0xd], 0
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
jne 0x1014106e
cmp byte [esi + 4], 0
jne 0x10141075
cmp dword [eax], 2
jl 0x1014106e
cmp dword [eax + 0x34], 0
jne 0x10141075
mov ebx, ebp
jmp 0x101411bf
cmp ebx, ebp
je 0x101411bf
cmp ebp, 5
je 0x1014108b
cmp ebx, 5
jne 0x101411bf
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x55], 0
je 0x1014292b
cmp dword [eax + 0xc0], 1
jg 0x1014292b
cmp ebp, 5
jne 0x1014118f
xor edi, edi
cmp dword [esi + 0xe8], edi
jne 0x10141111
push 1
push esi
mov dword [esp + 0xc0], edi
call fcn.100fa730
mov edi, eax
add esp, 8
test edi, edi
jne 0x10141179
mov eax, dword [esi]
lea ecx, [esp + 0xb8]
push ecx
push edi
push dword [esi + 0xec]
push eax
mov eax, dword [eax + 0x20]
call eax
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x10141179
cmp dword [esp + 0xb8], eax
je 0x10141111
push esi
call fcn.100fa8a0
mov edi, eax
add esp, 4
test edi, edi
jne 0x10141179
cmp dword [esi + 0xe8], 0
je 0x10141179
push esi
call fcn.100fa560
mov edi, eax
add esp, 4
test edi, edi
jne 0x10141179
push dword [esi + 0xe0]
movzx eax, byte [esi + 0xb]
push dword [esi + 0xa8]
push eax
push dword [esp + 0x28]
push dword [esi + 0xe8]
call fcn.10148700
push esi
mov edi, eax
mov dword [esp + 0x30], eax
mov dword [esi + 0xe8], 0
call fcn.100fa5e0
add esp, 0x18
test edi, edi
je 0x10141179
cmp byte [esi + 4], 0
jne 0x10141179
push 1
push esi
call fcn.100fb1c0
add esp, 8
jmp 0x101411c3
mov eax, edi
mov dword [esp + 0x18], eax
test edi, edi
jne 0x101411c3
push ebx
push esi
call fcn.10126f40
add esp, 8
jmp 0x101411a3
cmp ebp, 4
jne 0x1014119f
push 2
push esi
call fcn.10126f40
add esp, 8
test edi, edi
jne 0x101411c3
xor eax, eax
cmp ebx, 5
sete al
inc eax
push eax
push dword [esp + 0x44]
call fcn.1010dd70
mov edi, eax
add esp, 8
mov dword [esp + 0x18], edi
test edi, edi
je 0x101411c5
mov ebx, ebp
push ebx
push esi
call fcn.10126f40
mov ebx, dword [esp + 0x34]
add esp, 8
mov ecx, 0x2202
mov word [ebx + 0x10], cx
cmp eax, 6
jne 0x101411ec
mov dword [ebx + 8], 0
xor ecx, ecx
jmp 0x1014120f
mov ecx, dword [eax*4 + 0x1018fa00]
mov dword [ebx + 8], ecx
test ecx, ecx
je 0x1014120f
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10141200
sub ecx, edx
and ecx, 0x3fffffff
mov al, 1
mov dword [ebx + 0xc], ecx
mov byte [ebx + 0x12], al
cmp byte [esp + 0x48], al
je 0x1014122a
push dword [esp + 0x48]
push ebx
call fcn.101454b0
add esp, 8
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x101427a1
jmp 0x1013b96f
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 8]
test eax, eax
je 0x10141252
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
jmp 0x10141254
xor eax, eax
push eax
push dword [edi + 4]
lea eax, [ecx + 0x7c]
push ebp
push eax
call fcn.1012f9f0
mov edx, eax
add esp, 0x10
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10142bf3
jmp 0x1013bd63
mov edx, dword [esp + 0x10]
mov eax, dword [ebp + 0x10]
mov ecx, dword [edx + 4]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
cmp byte [esi + 9], 0
mov edi, dword [esi + 4]
je 0x101412a3
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x101412a3
push esi
call fcn.100dea30
add esp, 4
cmp byte [edi + 0x11], 0
jne 0x101412b3
mov eax, 0x65
jmp 0x1014136a
mov eax, dword [edi + 0xc]
mov ebp, dword [edi + 0x30]
mov eax, dword [eax + 0x38]
mov ebx, dword [eax + 0x24]
bswap ebx
push ebx
push ebp
push edi
call fcn.100eaa00
add esp, 0xc
mov dword [esp + 0x2c], eax
cmp ebp, eax
jb 0x10141343
cmp ebx, ebp
jae 0x10141343
test ebx, ebx
je 0x1014133c
mov eax, dword [edi + 8]
test eax, eax
je 0x101412f8
push 0
push 0
push eax
call fcn.10104490
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
jne 0x10141336
push edi
call fcn.100f1b30
push 0
push ebp
push dword [esp + 0x38]
push edi
call fcn.100f1290
add esp, 0x14
mov dword [esp + 0x18], eax
test eax, eax
jne 0x10141336
mov eax, dword [edi + 0xc]
push dword [eax + 0x48]
call fcn.101275d0
mov ecx, dword [edi + 0x30]
add esp, 4
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0xc]
bswap ecx
mov eax, dword [eax + 0x38]
mov dword [eax + 0x1c], ecx
mov ebp, dword [esp + 0x1c]
jmp 0x1014136e
mov eax, 0x65
jmp 0x10141366
push 0x10196e4c
push 0x119d9
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.100c9ef0
add esp, 0x14
mov eax, 0xb
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
cmp byte [esi + 9], 0
je 0x10141383
add dword [esi + 0xc], 0xffffffff
jne 0x10141383
push esi
call fcn.10153430
add esp, 4
mov edx, dword [esp + 0x18]
test edx, edx
je 0x1013ae69
cmp edx, 0x65
jne 0x101427a1
jmp 0x1013e5b9
cmp dword [esi + 4], 0
jne 0x101413c6
push dword [esi + 8]
push ebp
call fcn.101153b0
mov ecx, dword [esp + 0x1c]
add esp, 8
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov eax, dword [esi + 8]
inc eax
xor eax, dword [ecx + 0x98]
and eax, 3
xor dword [ecx + 0x98], eax
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 0x2c]
or byte [eax + 1], 0x40
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 0x2c]
and byte [eax + 1], 0xbf
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov ebx, dword [esp + 0x10]
mov bl, byte [ebx + 0xc]
test bl, bl
jne 0x1014145f
mov eax, dword [ebp + 0x20]
and eax, 0x400
mov dword [esp + 0x2c], eax
jne 0x1013bded
mov eax, dword [esp + 0x10]
xor edx, edx
mov dword [esp + 0x18], edx
mov ecx, dword [eax + 4]
mov edi, dword [eax + 8]
add ecx, ecx
mov eax, dword [ebp + 0x10]
mov esi, dword [eax + ecx*8 + 4]
cmp byte [esi + 9], dl
je 0x10141530
inc dword [esi + 0xc]
inc bl
mov byte [esp + 0xb4], bl
cmp byte [esi + 0xa], dl
jne 0x1014149b
push esi
call fcn.100dea30
add esp, 4
push dword [esp + 0xb4]
push edi
push esi
call fcn.100ff770
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10141517
mov ebp, dword [esi + 4]
mov ecx, dword [ebp + 0x4c]
test ecx, ecx
je 0x101414d0
cmp dword [ecx + 4], edi
jne 0x101414c9
cmp dword [ecx], esi
je 0x101414fe
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jne 0x101414c0
push 0
push 0x10
call fcn.10124b60
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x1014150a
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 4], edi
mov dword [ecx], esi
mov eax, dword [ebp + 0x4c]
mov dword [ecx + 0xc], eax
mov dword [ebp + 0x4c], ecx
cmp bl, byte [ecx + 8]
jbe 0x10141506
mov byte [ecx + 8], bl
xor edx, edx
jmp 0x1014150f
mov edx, 7
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x18], edx
cmp byte [esi + 9], 0
je 0x10141530
add dword [esi + 0xc], 0xffffffff
jne 0x10141530
push esi
call fcn.10153430
mov edx, dword [esp + 0x1c]
add esp, 4
test edx, edx
je 0x1013bd63
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
cmp dl, 6
jne 0x10142bf7
push dword [edi + 0x10]
push str.database_table_is_locked:__s
push esi
call fcn.1013a7b0
mov edx, dword [esp + 0x24]
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
jmp 0x101427b1
mov edi, dword [esp + 0x10]
xor eax, eax
mov edx, dword [ebp + 0x180]
mov dword [esp + 0x18], eax
mov esi, dword [edi + 0x10]
test edx, edx
jle 0x101415ab
cmp dword [ebp + 0x198], eax
jne 0x101415ab
mov dword [esp + 0x2c], 6
mov edx, 6
mov dword [esp + 0x18], edx
lea eax, [esi + 8]
test esi, esi
je 0x1014275c
jmp 0x10141666
test esi, esi
jne 0x101415cc
mov esi, dword [esp + 0x10]
xor edi, edi
mov eax, dword [esp + 0x20]
mov dword [esp + 0x18], edi
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov eax, dword [esi + 8]
mov ebx, dword [eax]
cmp dword [ebx + 0x38], 0
je 0x1014165f
xor ecx, ecx
test edx, edx
jle 0x101415f7
mov eax, dword [ebp + 0x198]
cmp dword [eax], esi
je 0x10141686
inc ecx
add eax, 4
cmp ecx, edx
jl 0x101415e7
push ebp
call fcn.100f0bd0
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x1014165f
push dword [esi + 8]
mov eax, dword [ebx + 0x38]
call eax
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x1014165f
mov ecx, dword [ebp + 0x180]
mov eax, dword [ebp + 0x198]
mov edx, dword [ebp + 0x1fc]
add edx, dword [ebp + 0x1f8]
mov dword [eax + ecx*4], esi
inc dword [ebp + 0x180]
inc dword [esi + 0xc]
test edx, edx
je 0x1014165f
cmp dword [ebx + 0x50], 0
je 0x1014165f
lea eax, [edx - 1]
mov dword [esi + 0x14], edx
push eax
push dword [esi + 8]
mov eax, dword [ebx + 0x50]
call eax
add esp, 8
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x10]
lea eax, [esi + 8]
push dword [eax]
mov esi, dword [esp + 0x18]
push esi
call fcn.10147d20
mov edx, dword [esp + 0x20]
add esp, 8
test edx, edx
jne 0x10142ab9
jmp 0x1013bd63
xor eax, eax
jmp 0x1014165b
mov edi, dword [esp + 0x10]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x28]
movups xmmword [esp + 0x114], xmm0
mov dword [esp + 0x118], ebp
movups xmmword [esp + 0x104], xmm0
movq qword [esp + 0x124], xmm0
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
lea eax, [esp + 0x108]
push eax
call fcn.101446d0
mov dword [esp + 0x20], eax
add esp, 8
mov eax, dword [esp + 0x114]
and eax, 0x202
cmp eax, 0x202
jne 0x101416f9
cmp byte [esp + 0x116], 1
jne 0x101416f9
mov edx, dword [esp + 0x10c]
jmp 0x1014171b
test byte [esp + 0x114], 1
jne 0x101417e7
lea eax, [esp + 0x104]
push 1
push eax
call fcn.10155890
add esp, 8
mov edx, eax
test edx, edx
je 0x101417e7
mov ecx, dword [edi + 4]
mov eax, dword [ebp + 0x10]
add ecx, ecx
mov esi, dword [esp + 0x14]
add esi, 0x7c
push dword [eax + ecx*8]
push edx
push ebp
call fcn.1011b310
mov ebx, eax
push 0
mov ecx, dword [ebx + 0x30]
mov edi, dword [ecx]
lea ecx, [ebp + 0x184]
push edi
push ecx
call fcn.100eacf0
add esp, 0x18
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x101417c9
mov eax, dword [ecx]
mov edx, dword [eax + 4]
test edx, edx
je 0x101417c9
cmp dword [eax + 0x14], 0
je 0x101417c9
push esi
push edx
push ecx
push ebx
push ebp
call fcn.10159060
add esp, 0x14
mov dword [esp + 0x18], eax
test eax, eax
jne 0x101417e3
mov eax, dword [ebx + 0x34]
test eax, eax
je 0x101417e3
cmp dword [eax], ebp
je 0x10141794
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x10141787
jmp 0x101417e3
push ebp
call fcn.100f0bd0
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x101417e3
push ebx
push ebp
call fcn.101209a0
mov edx, dword [ebp + 0x180]
add esp, 8
mov ecx, dword [ebp + 0x198]
mov dword [ecx + edx*4], eax
inc dword [ebp + 0x180]
inc dword [eax + 0xc]
jmp 0x101417e3
push edi
push str.no_such_module:__s
push ebp
call fcn.10124b40
mov dword [esi], eax
add esp, 0xc
mov eax, 1
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x10]
test dword [esp + 0x114], 0x9000
jne 0x101417fe
cmp dword [esp + 0x11c], 0
je 0x1014180e
lea eax, [esp + 0x104]
push eax
call fcn.101566b0
add esp, 4
mov edx, dword [esp + 0x18]
jmp 0x1013bd5b
mov edx, dword [esp + 0x10]
xor eax, eax
inc dword [ebp + 0xcc]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [edx + 4]
add ecx, ecx
push dword [eax + ecx*8]
push dword [edx + 0x10]
push ebp
call fcn.1011b310
mov edi, eax
add esp, 0xc
test edi, edi
je 0x101418bb
cmp byte [edi + 0x2b], 1
jne 0x101418bb
mov ecx, dword [edi + 0x34]
test ecx, ecx
je 0x101418bb
mov eax, dword [ecx + 8]
cmp dword [eax + 4], 0
jg 0x10142965
mov ecx, dword [ecx + 0x18]
test ecx, ecx
jne 0x10141851
push edi
push ebp
call fcn.10159580
mov esi, eax
add esp, 8
mov ecx, dword [esi + 4]
mov eax, dword [ecx]
mov ecx, dword [eax + 0x14]
test ecx, ecx
jne 0x10141880
mov ecx, dword [eax + 0x10]
inc dword [edi + 0x18]
push dword [esi + 8]
call ecx
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x101418a2
mov dword [esi + 8], eax
push esi
mov dword [edi + 0x34], eax
call fcn.101480f0
add esp, 4
cmp dword [ebp + 0x210], 0
jne 0x101418b1
add dword [edi + 0x18], 0xffffffff
jne 0x101418bb
push edi
push ebp
call fcn.100e5df0
add esp, 8
dec dword [ebp + 0xcc]
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x101427a1
mov dword [esp + 0x18], edx
jmp 0x1013bd63
mov edi, dword [esp + 0x10]
mov dword [esp + 0x98], 0
mov eax, dword [edi + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x1014298d
mov edi, dword [esi]
test edi, edi
je 0x10142989
lea eax, [esp + 0x98]
push eax
mov eax, dword [edi + 0x18]
push esi
call eax
mov ebx, dword [esp + 0x1c]
push esi
push ebx
mov dword [esp + 0x28], eax
call fcn.10147d20
mov edx, dword [esp + 0x28]
add esp, 0x10
test edx, edx
jne 0x10142be4
mov eax, dword [esp + 0x98]
push 2
push edx
mov dword [eax], esi
mov eax, dword [esp + 0x18]
push dword [eax + 4]
push ebx
call fcn.100d98c0
add esp, 0x10
test eax, eax
je 0x10142975
mov ecx, dword [esp + 0x98]
mov edi, dword [esp + 0x18]
mov dword [eax + 0x2c], ecx
mov ecx, ebx
inc dword [esi + 4]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ecx, dword [edi + 4]
mov eax, dword [ebx + 0x60]
mov esi, dword [eax + ecx*4]
call fcn.10151e50
test eax, eax
jne 0x1013cd54
push eax
push 8
call fcn.10124b60
mov edi, eax
add esp, 8
test edi, edi
je 0x1013cd50
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x2c]
mov edx, dword [esp + 0x28]
mov dword [edi], ecx
mov ecx, dword [eax + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dword [edi + 4], ecx
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x101419e5
push esi
call fcn.100f9da0
add esp, 4
mov esi, eax
mov eax, 1
push esi
mov word [esi + 0x10], ax
call fcn.101566b0
mov dword [esi], str.ValueList
mov eax, 0x1a01
mov dword [esi + 8], edi
add esp, 4
mov edi, dword [esp + 0x18]
mov ecx, ebx
mov word [esi + 0x10], ax
mov eax, dword [esp + 0x20]
mov byte [esi + 0x13], 0x70
mov dword [esi + 0x24], fcn.100d72a0
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x28]
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 4]
lea ebx, [ebp + 0x28]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x60]
mov edi, dword [ebx + edx*8]
lea ebx, [ebx + edx*8]
movd xmm0, ebx
mov dword [esp + 0x2c], ebx
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0x5c]
mov dword [esp + 0x60], eax
pshufd xmm3, xmm0, 0
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x38], ecx
mov eax, dword [ecx]
mov dword [esp + 0x74], eax
mov ecx, dword [eax]
mov dword [esp + 0x34], ecx
mov ecx, dword [ebp + edx*8]
mov dword [esp + 0x40], ecx
xor ecx, ecx
test edi, edi
jle 0x10141b7b
cmp edi, 0x10
jb 0x10141b63
cmp dword [0x101a3fd8], 2
jl 0x10141b63
movaps xmm2, xmmword [0x1018a760]
mov eax, edi
and eax, 0x8000000f
jns 0x10141ab9
dec eax
or eax, 0xfffffff0
inc eax
movaps xmm1, xmmword [str.____]
lea edx, [ebx + 0x20]
mov ebp, edi
mov esi, 8
sub ebp, eax
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, ebp
jl 0x10141ad0
cmp ecx, edi
jge 0x10141b7b
mov edx, dword [esp + 0x2c]
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebx + ecx*4], eax
inc ecx
add eax, 0x28
cmp ecx, edi
jl 0x10141b70
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x38]
push ebx
push edi
push dword [eax + 0x10]
mov edi, dword [esp + 0x40]
push dword [esp + 0x4c]
push esi
mov eax, dword [edi + 0x20]
call eax
push dword [esp + 0x88]
mov dword [esp + 0x30], eax
push dword [esp + 0x2c]
call fcn.10147d20
mov edx, dword [esp + 0x34]
add esp, 0x1c
test edx, edx
jne 0x101427a1
mov eax, dword [edi + 0x28]
push esi
call eax
mov ecx, dword [esp + 0x64]
add esp, 4
mov byte [ecx + 2], 0
test eax, eax
je 0x1013b39a
mov edi, dword [esp + 0x18]
jmp 0x1013e5bf
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov edi, dword [eax + ecx*4]
mov eax, edx
mov ecx, dword [esp + 0x28]
cmp byte [edi + 2], 0
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
je 0x10141c28
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x10141c1a
push esi
call fcn.101566f0
add esp, 4
jmp 0x1013bd63
mov eax, 1
mov word [esi + 0x10], ax
jmp 0x1013bd63
mov eax, dword [edi + 0x2c]
xorps xmm0, xmm0
mov ebx, dword [eax]
mov al, byte [esp + 0x48]
mov ebp, dword [ebx]
movups xmmword [esp + 0x23c], xmm0
mov byte [esp + 0x244], al
mov eax, dword [esp + 0x10]
movups xmmword [esp + 0x22c], xmm0
mov dword [esp + 0x22c], esi
test byte [eax + 2], 1
je 0x10141c83
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x10141c72
push esi
call fcn.101566f0
add esp, 4
mov eax, 0x401
mov word [esi + 0x10], ax
mov dword [esi], 0
jmp 0x10141c97
mov ax, word [esi + 0x10]
mov ecx, 0xf241
and ax, cx
or ax, 1
mov word [esi + 0x10], ax
mov eax, dword [esp + 0x10]
push dword [eax + 8]
lea eax, [esp + 0x230]
push eax
push dword [edi + 0x2c]
mov eax, dword [ebp + 0x2c]
call eax
push ebx
mov ebx, dword [esp + 0x24]
push ebx
mov dword [esp + 0x2c], eax
call fcn.10147d20
add esp, 0x14
lea edi, [esi + 0x12]
cmp dword [esp + 0x240], 0
jle 0x10141d17
movzx ecx, word [esi + 0x10]
mov eax, ecx
and eax, 0x202
cmp eax, 0x202
jne 0x10141ce9
cmp byte [edi], 1
jne 0x10141ce9
mov eax, dword [esi + 8]
jmp 0x10141cfd
test cl, 1
je 0x10141cf2
xor eax, eax
jmp 0x10141cfd
push 1
push esi
call fcn.10155890
add esp, 8
push eax
push 0x1019248c
push ebx
call fcn.1013a7b0
mov eax, dword [esp + 0x24c]
add esp, 0xc
mov dword [esp + 0x18], eax
test byte [esi + 0x10], 2
jne 0x10141d25
mov eax, dword [esp + 0x48]
mov byte [edi], al
jmp 0x10141d3a
mov al, byte [esp + 0x48]
cmp byte [edi], al
je 0x10141d3a
push dword [esp + 0x48]
push esi
call fcn.101454b0
add esp, 8
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x10142be4
mov ebp, dword [esp + 0x1c]
mov edi, edx
mov esi, dword [esp + 0x10]
mov ecx, ebx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + 4]
mov eax, dword [eax + 0x60]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 2], 0
jne 0x1013ae69
mov eax, dword [edi + 0x2c]
push eax
mov esi, dword [eax]
mov ebx, dword [esi]
mov eax, dword [ebx + 0x24]
call eax
push esi
mov esi, dword [esp + 0x1c]
push esi
mov dword [esp + 0x24], eax
call fcn.10147d20
mov edx, dword [esp + 0x24]
add esp, 0xc
test edx, edx
jne 0x1014264e
push dword [edi + 0x2c]
mov eax, dword [ebx + 0x28]
call eax
add esp, 4
test eax, eax
jne 0x10140413
mov edi, dword [esp + 0x18]
jmp 0x101405ae
mov ebx, dword [ebp + 0x20]
or dword [ebp + 0x20], 0x4000000
and ebx, 0x4000000
mov edx, dword [esp + 0x10]
mov eax, dword [ebp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [ebp + 0x24], eax
mov eax, dword [edx + 0x10]
mov edi, dword [eax + 8]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x10], 2
lea esi, [ecx + eax*8]
jne 0x10141e01
mov byte [esi + 0x12], 1
jmp 0x10141e20
cmp byte [esi + 0x12], 1
je 0x10141e20
push 1
push esi
call fcn.101454b0
mov edx, eax
add esp, 8
mov dword [esp + 0x18], edx
test edx, edx
jne 0x101427a1
mov eax, dword [edi]
push dword [esi + 8]
push edi
mov eax, dword [eax + 0x4c]
call eax
add esp, 8
mov dword [esp + 0x18], eax
test ebx, ebx
jne 0x10141e43
and dword [ebp + 0x20], 0xfbffffff
mov eax, dword [ebp + 0x24]
mov dword [ebp + 0x24], eax
push edi
push dword [esp + 0x18]
call fcn.10147d20
mov ecx, dword [esp + 0x1c]
add esp, 8
mov edx, dword [esp + 0x18]
and dword [ecx + 0x98], 0xfffffffc
test edx, edx
jne 0x10142bd9
mov esi, dword [esp + 0x10]
mov edi, edx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
xorps xmm0, xmm0
movlpd qword [esp + 0xe0], xmm0
cmp byte [ebp + 0x57], 0
jne 0x1013cd50
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x10]
mov edi, dword [eax + 8]
test edi, edi
je 0x101429e8
mov ebx, dword [edi]
test ebx, ebx
je 0x101429e8
cmp dword [ebx + 0x34], 0
mov edx, dword [edx + 8]
je 0x1013da73
mov al, byte [ebp + 0x5c]
mov esi, dword [ecx + 0x5c]
mov ecx, dword [esp + 0x28]
mov byte [esp + 0x5b], al
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test edx, edx
jle 0x10141eeb
mov dword [esi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, edx
jl 0x10141ee0
mov eax, dword [esp + 0x10]
mov al, byte [eax + 2]
mov byte [ebp + 0x5c], al
lea eax, [esp + 0xe0]
push eax
mov eax, dword [ebx + 0x34]
push esi
push edx
push edi
call eax
mov esi, dword [esp + 0x24]
mov dword [esp + 0x28], eax
mov al, byte [esp + 0x6b]
push edi
push esi
mov byte [ebp + 0x5c], al
call fcn.10147d20
mov edx, dword [esp + 0x30]
add esp, 0x18
mov edi, dword [esp + 0x10]
test edx, edx
jne 0x10141f70
cmp dword [edi + 4], edx
je 0x10141f43
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xe4]
mov dword [ebp + 0x28], eax
mov dword [ebp + 0x2c], ecx
mov ecx, esi
add dword [ecx + 0x28], 1
adc dword [ecx + 0x2c], 0
test edx, edx
jne 0x10142bca
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
cmp dl, 0x13
jne 0x10141f43
mov eax, dword [edi + 0x10]
cmp byte [eax + 0x10], 0
je 0x10141f43
movzx ecx, word [edi + 2]
cmp ecx, 4
jne 0x101429c7
mov esi, dword [esp + 0x10]
xor edi, edi
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x18], edi
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x9000
test word [edx + 0x10], ax
je 0x10141fd8
push edx
call fcn.100f9da0
add esp, 4
mov edx, eax
jmp 0x10141fe1
mov eax, 4
mov word [edx + 0x10], ax
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [ebp + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x30]
mov dword [edx], eax
mov eax, dword [esp + 0x20]
mov dword [edx + 4], 0
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
lea ebx, [eax + ecx*8]
mov eax, 0x9000
test word [ebx + 0x10], ax
je 0x1014204b
push ebx
call fcn.100f9da0
mov edx, dword [esp + 0x14]
add esp, 4
mov ebx, eax
jmp 0x10142054
mov eax, 4
mov word [ebx + 0x10], ax
mov ecx, dword [edx + 4]
xor edi, edi
mov eax, dword [ebp + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
mov ecx, dword [edx + 0xc]
test ecx, ecx
je 0x10142074
mov eax, dword [esi + 4]
mov edi, dword [eax + 0x30]
cmp edi, ecx
cmovb edi, ecx
cmp byte [esi + 9], 0
je 0x1014208c
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x1014208c
push esi
call fcn.100dea30
add esp, 4
mov eax, dword [esi + 4]
mov eax, dword [eax]
test edi, edi
je 0x1014209b
mov dword [eax + 0xa0], edi
cmp byte [esi + 9], 0
mov edi, dword [eax + 0xa0]
je 0x101420b6
add dword [esi + 0xc], 0xffffffff
jne 0x101420b6
push esi
call fcn.10153430
add esp, 4
mov dword [ebx], edi
mov dword [ebx + 4], 0
jmp 0x1013bd63
mov edx, dword [esp + 0x10]
mov ebx, dword [edx + 0x10]
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x2c], ebx
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
cmp dword [ebx], esi
je 0x10142121
mov al, byte [esp + 0x48]
mov dword [ebx + 0xc], ecx
mov dword [ebx], esi
mov byte [ebx + 0x18], al
movzx ecx, byte [ebx + 0x1a]
sub ecx, 1
js 0x10142121
mov ebp, dword [esp + 0x10]
lea edx, [ebx + 0x1c]
mov edi, dword [esp + 0x28]
lea edx, [edx + ecx*4]
mov eax, dword [ebp + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [edx + 4], eax
jns 0x10142103
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov ax, word [esi + 0x10]
mov ecx, 0xf241
and ax, cx
or ax, 1
mov word [esi + 0x10], ax
lea eax, [ebx + 0x1c]
mov ecx, dword [ebx + 4]
push eax
movzx eax, byte [ebx + 0x1a]
push eax
mov eax, dword [ecx + 0x10]
push ebx
call eax
mov eax, dword [ebx + 0x14]
add esp, 0xc
test eax, eax
je 0x101422ea
jle 0x101421a1
movzx ecx, word [esi + 0x10]
mov eax, ecx
and eax, 0x202
cmp eax, 0x202
jne 0x10142174
cmp byte [esi + 0x12], 1
jne 0x10142174
mov eax, dword [esi + 8]
jmp 0x10142188
test cl, 1
je 0x1014217d
xor eax, eax
jmp 0x10142188
push 1
push esi
call fcn.10155890
add esp, 8
push eax
push 0x1019248c
push dword [esp + 0x1c]
call fcn.1013a7b0
mov eax, dword [ebx + 0x14]
add esp, 0xc
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
lea edi, [ecx + 0xe4]
mov esi, dword [edi]
mov ebx, dword [ebx + 0x10]
mov ebp, dword [eax + 4]
test esi, esi
je 0x101422b2
nop
test ebx, ebx
js 0x101421e7
cmp dword [esi], ebx
jne 0x101421df
mov ecx, dword [esi + 4]
test ecx, ecx
js 0x101421df
cmp ecx, 0x1f
jg 0x101421e7
mov eax, 1
shl eax, cl
test ebp, eax
je 0x101421e7
lea edi, [esi + 0x10]
jmp 0x101422a4
mov eax, dword [esi + 0xc]
test eax, eax
je 0x101421f6
push dword [esi + 8]
call eax
add esp, 4
mov ecx, dword [esp + 0x1c]
mov eax, dword [esi + 0x10]
mov dword [edi], eax
cmp esi, dword [ecx + 0x164]
jae 0x1014223a
cmp esi, dword [ecx + 0x15c]
jb 0x10142222
mov eax, dword [ecx + 0x158]
mov dword [esi], eax
mov dword [ecx + 0x158], esi
jmp 0x101422a4
cmp esi, dword [ecx + 0x160]
jb 0x1014223a
mov eax, dword [ecx + 0x150]
mov dword [esi], eax
mov dword [ecx + 0x150], esi
jmp 0x101422a4
cmp dword [ecx + 0x210], 0
je 0x1014224f
push esi
push ecx
call fcn.100f69f0
add esp, 8
jmp 0x101422a4
cmp dword [0x101a1150], 0
je 0x1014229a
mov eax, dword [0x101a3b70]
test eax, eax
je 0x1014226b
push eax
call dword [0x101a11a0]
add esp, 4
push esi
call dword [0x101a117c]
sub dword [0x101a3b10], eax
dec dword [0x101a3b34]
push esi
call dword [0x101a1174]
mov eax, dword [0x101a3b70]
add esp, 8
test eax, eax
je 0x101422a4
push eax
call dword [0x101a11a8]
jmp 0x101422a1
push esi
call dword [0x101a1174]
add esp, 4
mov esi, dword [edi]
test esi, esi
jne 0x101421c0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x18]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x101427a1
mov ebp, dword [esp + 0x1c]
mov edi, edx
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov eax, dword [esi + 4]
mov ebx, 0xf7ff
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
and word [edx + eax*8 + 0x10], bx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
push edx
push ebx
mov eax, dword [edx + 4]
lea edi, [eax + eax*4]
call fcn.100ea740
add esp, 8
mov esi, eax
mov eax, dword [ebx + edi*8 + 0xc]
mov ecx, edx
cdq
push edx
push eax
push ecx
push esi
call fcn.1016aac0
mov esi, eax
and eax, 7
shrd esi, edx, 3
mov edx, dword [ebx + edi*8 + 8]
movsx ecx, byte [esi + edx]
bts ecx, eax
mov byte [esi + edx], cl
jmp 0x1013bd63
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x28]
push edx
push edi
mov eax, dword [edx + 4]
lea ebx, [eax + eax*4]
call fcn.100ea740
add esp, 8
mov esi, eax
mov eax, dword [edi + ebx*8 + 0xc]
mov ecx, edx
cdq
push edx
push eax
push ecx
push esi
call fcn.1016aac0
mov edi, eax
mov eax, dword [esp + 0x28]
mov esi, edi
and edi, 7
shrd esi, edx, 3
mov ecx, dword [eax + ebx*8 + 8]
mov eax, 1
movsx edx, byte [esi + ecx]
mov ecx, edi
mov edi, dword [esp + 0x18]
shl eax, cl
mov ecx, dword [esp + 0x14]
test eax, edx
jne 0x101423d3
inc dword [ecx + 0xc4]
jmp 0x1013e5c3
inc dword [ecx + 0xc0]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov cl, byte [ebp + 0x5e]
mov edx, dword [esp + 0x14]
test cl, 0x41
je 0x101424a8
cmp byte [edx + 0x93], 0xfe
je 0x101424a8
mov eax, dword [esi + 0x10]
test eax, eax
jne 0x10142422
mov eax, dword [edx + 0xc8]
test eax, eax
je 0x101424a8
push eax
test cl, 0x40
je 0x1014244e
push edx
call fcn.10143130
mov ecx, dword [ebp + 0xd8]
mov esi, eax
push esi
push dword [ebp + 0xdc]
call ecx
push esi
call fcn.100d72a0
mov esi, dword [esp + 0x24]
add esp, 0x14
jmp 0x101424a4
cmp dword [ebp + 0xc8], 1
jle 0x10142490
push str.____s
push ebp
call fcn.10124b40
mov ecx, dword [ebp + 0xd8]
mov esi, eax
push esi
push dword [esp + 0x24]
push dword [ebp + 0xdc]
push 1
call ecx
add esp, 0x1c
test esi, esi
je 0x1014248a
push esi
push ebp
call fcn.10112cf0
add esp, 8
mov esi, dword [esp + 0x10]
jmp 0x101424a4
mov eax, dword [ebp + 0xd8]
push edx
push dword [ebp + 0xdc]
push 1
call eax
add esp, 0x10
mov edx, dword [esp + 0x14]
mov eax, dword [esi + 4]
cmp eax, dword [0x101a125c]
jl 0x101424ee
cmp byte [esi], 0xb5
je 0x1013a9f5
mov ebx, dword [esp + 0x14]
mov edx, 1
cmp dword [ebx + 0x6c], edx
jle 0x101424ea
mov eax, 0x14
nop
mov ecx, dword [ebx + 0x68]
cmp byte [eax + ecx], 0xf
jne 0x101424e1
mov dword [eax + ecx + 4], 0
inc edx
add eax, 0x14
cmp edx, dword [ebx + 0x6c]
jl 0x101424d0
xor eax, eax
mov edx, ebx
mov ebp, dword [esp + 0x10]
inc eax
mov ecx, dword [esp + 0x14]
mov dword [ebp + 4], eax
inc dword [edx + 0xbc]
jmp 0x1013e5c7
mov edi, dword [esp + 0x18]
mov ecx, edx
jmp 0x1013e5c3
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov ecx, edx
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1013a8e2
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov ecx, dword [edi + 4]
mov dword [esi + 0x24], ecx
mov al, byte [edi + 8]
mov byte [esi + 0x92], al
test ecx, ecx
je 0x101425ca
movzx eax, word [edi + 2]
test ax, ax
je 0x10142588
push dword [eax*4 + 0x1018ef7c]
push str._s_constraint_failed
push esi
call fcn.1013a7b0
mov eax, dword [edi + 0x10]
add esp, 0xc
test eax, eax
je 0x10142599
push eax
push dword [esi + 0x7c]
push str._z:__s
push ebp
call fcn.10124b40
add esp, 0x10
mov dword [esi + 0x7c], eax
jmp 0x10142599
push dword [edi + 0x10]
push 0x1019248c
push esi
call fcn.1013a7b0
add esp, 0xc
push dword [esi + 0x7c]
mov ecx, edi
mov eax, 0x66666667
sub ecx, dword [esp + 0x28]
push dword [esi + 0xc8]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.abort_at__d_in___s_:__s
push dword [edi + 4]
call fcn.100c9ef0
add esp, 0x14
push esi
call fcn.101439a0
mov ebp, eax
add esp, 4
cmp ebp, 5
jne 0x10142b2d
mov dword [esi + 0x24], eax
jmp 0x10142d72
mov edx, 0x14
jmp 0x1014279d
push 0x16a6a
call fcn.101114b0
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
jmp 0x101427a5
mov ecx, dword [esp + 0x38]
and edi, 0x3f
mov edx, dword [esp + 0x34]
add ecx, ecx
mov esi, dword [esp + 0x14]
push dword [edx + ecx*8]
mov ecx, dword [esp + 0x44]
push dword [ecx]
push dword [eax*4 + 0x101a1274]
movzx eax, byte [edi + 0x1018e9e8]
push dword [eax*4 + 0x101a1b34]
push str.cannot_store__s_value_in__s_column__s._s
push esi
call fcn.1013a7b0
mov edx, 0xc13
add esp, 0x18
mov dword [esp + 0x18], edx
mov ebx, dword [esp + 0x24]
jmp 0x101427a9
push str.cannot_open_savepoint___SQL_statements_in_progress
push ecx
call fcn.1013a7b0
add esp, 8
mov edx, 5
jmp 0x1014279d
mov esi, dword [esp + 0x14]
push str.cannot_release_savepoint___SQL_statements_in_progress
push esi
call fcn.1013a7b0
mov ebx, dword [esp + 0x2c]
mov edx, 5
add esp, 8
mov dword [esp + 0x18], edx
jmp 0x101427a9
mov esi, ebx
mov byte [eax + 0x55], 0
mov ebx, dword [esp + 0x24]
jmp 0x101427ad
mov edi, dword [esp + 0x10]
mov eax, 0x66666667
mov ecx, edi
mov esi, ebx
sub ecx, dword [esp + 0x24]
mov ebp, 5
imul ecx
mov ecx, dword [esp + 0x1c]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x20], eax
mov byte [ecx + 0x55], 0
mov dword [esi + 0x24], ebp
jmp 0x10142d76
mov esi, dword [esp + 0x14]
mov ebp, 0x65
jmp 0x10142d6e
mov eax, dword [esp + 0x1c]
and edx, 0x100000
or edx, 0
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x24]
je 0x1014270e
mov edx, 8
mov dword [esp + 0x18], edx
jmp 0x101427b1
mov edx, 0xb
mov dword [esp + 0x18], edx
jmp 0x101427b1
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
cmp dl, 5
jne 0x10142ab9
mov ebp, dword [esp + 0x18]
mov ecx, edi
sub ecx, dword [esp + 0x24]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ebp
jmp 0x10142d72
mov edx, 0x204
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x24]
jmp 0x101427b1
push dword [edi]
call fcn.1010adb0
mov edx, dword [esp + 0x1c]
add esp, 4
jmp 0x101427a1
push 0x10196e4c
push 0x15428
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.100c9ef0
add esp, 0x14
mov edx, 0xb
mov dword [esp + 0x18], edx
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
cmp byte [eax + 0x57], 0
je 0x10142c04
mov edx, 7
jmp 0x10142c2f
push 0x10196e4c
push 0x1732d
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.100c9ef0
mov eax, dword [esp + 0x30]
mov edx, 0xb
mov esi, dword [esp + 0x28]
add esp, 0x14
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x18], edx
jmp 0x101427b1
mov edx, dword [esp + 0x14]
push str.string_or_blob_too_big
push edx
call fcn.1013a7b0
add esp, 8
mov edx, 0x12
jmp 0x1014279d
push str.index_corruption
push 0x17756
push 0x30b
call fcn.1012e8b0
mov esi, dword [esp + 0x20]
mov edx, eax
mov eax, dword [esp + 0x28]
add esp, 0xc
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x18], edx
jmp 0x101427b1
cmp dword [esp + 0x1d4], 0
je 0x1014285b
lea eax, [esp + 0x1bc]
push eax
call fcn.101566b0
add esp, 4
push 0x10196e4c
push 0x15407
jmp 0x10142784
push 0x17823
call fcn.101114b0
mov esi, dword [esp + 0x18]
mov edx, eax
mov eax, dword [esp + 0x20]
add esp, 4
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x18], edx
jmp 0x101427b1
mov ebx, dword [esp + 0x24]
mov edx, 6
mov dword [esp + 0x18], edx
mov byte [esi + 0x92], 2
jmp 0x101427a9
push ebp
call fcn.1012e8e0
mov edx, dword [esp + 0x1c]
add esp, 4
cmp edx, 7
je 0x1013cd54
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x18], edx
jmp 0x101427b1
push ebp
call fcn.1012e8e0
add esp, 4
jmp 0x1013cd54
mov eax, 1
push str.too_many_levels_of_trigger_recursion
push edx
mov dword [esp + 0x20], eax
call fcn.1013a7b0
add esp, 8
mov edx, 1
jmp 0x101427a1
push esi
call fcn.100c1f10
mov esi, dword [esp + 0x18]
push eax
push 0x1019248c
push esi
call fcn.1013a7b0
mov edx, dword [esp + 0x28]
add esp, 0x10
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
jmp 0x101427b1
mov esi, dword [esp + 0x14]
mov eax, 1
mov dword [esp + 0x18], eax
mov ecx, str.out_of
cmp ebx, 5
mov eax, str.into
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
push esi
call fcn.1013a7b0
mov ebx, dword [esp + 0x30]
add esp, 0xc
mov edx, 1
jmp 0x101427a9
dec dword [ebp + 0xcc]
mov edx, 6
jmp 0x1014279d
push dword [esp + 0x98]
mov eax, dword [edi + 0x1c]
call eax
add esp, 4
jmp 0x1013cd50
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov edx, 6
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x18], edx
jmp 0x101427b1
or ebx, 0xffffffff
mov edx, 9
or eax, 0xffffffff
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x18], edx
jmp 0x101427a9
mov ebx, 2
movzx eax, cl
cmp ecx, 5
cmove eax, ebx
mov ebx, dword [esp + 0x24]
mov byte [esi + 0x92], al
mov eax, dword [esp + 0x1c]
jmp 0x101427b1
mov edx, 6
jmp 0x1014279d
mov eax, dword [ecx + 0x1c]
mov edi, dword [esp + 0x10]
add eax, 2
mov edx, dword [esp + 0x28]
or eax, 1
mov dword [ecx + 0x1c], eax
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ecx + 0x78], eax
cmp byte [ebp + 0x57], 0
jne 0x1013cd54
test byte [ebp + 0x5e], 4
je 0x10142a38
mov eax, dword [ebp + 0xd8]
push 0
push ecx
push dword [ebp + 0xdc]
push 4
call eax
add esp, 0x10
mov esi, dword [esp + 0x14]
mov ecx, edi
sub ecx, dword [esp + 0x24]
mov eax, 0x66666667
imul ecx
mov ebp, 0x64
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
mov dword [esi + 0x20], eax
jmp 0x10142d72
mov edi, dword [esp + 0x10]
movzx eax, byte [ebp + 0x55]
mov ebx, dword [edi + 4]
mov ecx, dword [edi + 8]
cmp ebx, eax
je 0x10142b49
test ecx, ecx
je 0x10142a91
push 0x204
push ebp
call fcn.1012f1a0
mov esi, dword [esp + 0x1c]
add esp, 8
mov al, 1
jmp 0x10142ae5
test ebx, ebx
je 0x10142ac6
cmp dword [ebp + 0xc4], 0
jle 0x10142ac6
mov esi, dword [esp + 0x14]
push str.cannot_commit_transaction___SQL_statements_in_progress
push esi
call fcn.1013a7b0
mov edx, 5
add esp, 8
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
jmp 0x101427b1
mov esi, dword [esp + 0x14]
push 1
push esi
call fcn.1013a0b0
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x10142d72
mov ebp, dword [esp + 0x1c]
mov al, bl
push esi
mov byte [ebp + 0x55], al
call fcn.101439a0
add esp, 4
cmp eax, 5
jne 0x10142b24
mov ecx, edi
mov eax, 0x66666667
sub ecx, dword [esp + 0x24]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x20], eax
mov al, 1
sub al, bl
mov byte [ebp + 0x55], al
mov ebp, 5
mov dword [esi + 0x24], ebp
jmp 0x10142d72
push ebp
call fcn.1010eef0
add esp, 4
cmp dword [esi + 0x24], 0
mov ecx, 0x65
mov eax, 1
cmovne ecx, eax
mov dword [esp + 0x18], ecx
mov ebp, ecx
jmp 0x10142d72
test ebx, ebx
jne 0x10142b54
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x10142b63
test ecx, ecx
mov eax, str.cannot_rollback___no_transaction_is_active
mov edx, str.cannot_commit___no_transaction_is_active
cmove eax, edx
mov esi, dword [esp + 0x14]
push eax
push esi
call fcn.1013a7b0
mov eax, dword [esp + 0x24]
mov edx, 1
mov ebx, dword [esp + 0x2c]
add esp, 8
mov dword [esp + 0x18], edx
jmp 0x101427b1
mov eax, dword [esp + 0x84]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x20], eax
mov edx, 9
jmp 0x1014279d
mov eax, dword [esp + 0x84]
mov edi, esi
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x20], eax
jmp 0x1013cd54
mov eax, dword [esp + 0x1c]
mov esi, ecx
mov ebx, dword [esp + 0x24]
jmp 0x101427b1
mov ebx, dword [esp + 0x24]
mov esi, ecx
jmp 0x101427a9
mov esi, ebx
mov ebx, dword [esp + 0x24]
jmp 0x101427a9
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
jmp 0x101427b1
cmp edx, 0x210a
jne 0x10142c33
push 0x10196e4c
push 0x180b7
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.100c9ef0
add esp, 0x14
mov edx, 0xb
mov dword [esp + 0x18], edx
cmp dword [esi + 0x7c], 0
jne 0x10142c9b
cmp edx, 0xc0a
je 0x10142c9b
mov eax, edx
mov ecx, str.unknown_error
sub eax, 0x64
je 0x10142c7e
sub eax, 1
je 0x10142c77
sub eax, 0x19f
je 0x10142c70
movzx eax, dl
cmp eax, 0x1d
jae 0x10142c83
mov eax, dword [eax*4 + 0x1018e8f0]
test eax, eax
je 0x10142c83
mov ecx, eax
jmp 0x10142c83
mov ecx, str.abort_due_to_ROLLBACK
jmp 0x10142c83
mov ecx, str.no_more_rows_available
jmp 0x10142c83
mov ecx, str.another_row_available
push ecx
push 0x1019248c
push esi
call fcn.1013a7b0
mov edx, dword [esp + 0x24]
add esp, 0xc
mov dword [esi + 0x24], edx
jmp 0x10142ca6
mov dword [esi + 0x24], edx
cmp edx, 0xc0a
je 0x10142cd5
movzx eax, dl
cmp eax, 0xe
je 0x10142cb3
cmp eax, 0xa
jne 0x10142cd5
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov ecx, dword [eax + 0x44]
test ecx, ecx
je 0x10142ccc
push 0
push 0
push eax
call ecx
add esp, 0xc
jmp 0x10142cce
xor eax, eax
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x4c], eax
push dword [esi + 0x7c]
mov ecx, edi
mov eax, 0x66666667
push dword [esi + 0xc8]
sub ecx, ebx
mov ebx, dword [esp + 0x20]
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 ebx
call fcn.100c9ef0
add esp, 0x14
cmp byte [esi + 0x95], 2
jne 0x10142d18
push esi
call fcn.101439a0
add esp, 4
cmp ebx, 0xc0a
jne 0x10142d4d
push dword [esp + 0x1c]
call fcn.10125540
add esp, 4
mov ecx, dword [esp + 0x1c]
mov al, byte [esp + 0x67]
mov ebp, 1
test al, al
je 0x10142d76
movzx eax, al
dec eax
push eax
push ecx
call fcn.1012e960
add esp, 8
jmp 0x10142d72
cmp ebx, 0xb
jne 0x10142d2c
mov ecx, dword [esp + 0x1c]
cmp byte [ecx + 0x55], 0
jne 0x10142d30
mov eax, dword [ecx + 0x20]
mov dword [ecx + 0x20], eax
or dword [ecx + 0x24], 2
jmp 0x10142d30
mov ebp, dword [esp + 0x18]
mov esi, ebx
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x7c]
nop word [eax + eax]
cmp dword [esp + 0x88], ebx
jb 0x10142de1
mov edx, dword [esp + 0x70]
ja 0x10142d95
cmp dword [esp + 0x20], edx
jb 0x10142de1
mov eax, dword [ecx + 0x174]
test eax, eax
je 0x10142de1
add edx, dword [ecx + 0x17c]
push dword [ecx + 0x178]
mov dword [esp + 0x74], edx
adc ebx, 0
call eax
mov ecx, dword [esp + 0x20]
add esp, 4
test eax, eax
je 0x10142d80
or ebx, 0xffffffff
mov edx, 9
or eax, 0xffffffff
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x7c], eax
mov eax, ecx
mov dword [esp + 0x18], edx
jmp 0x101427b1
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
add dword [edx + 0xb4], ecx
cmp dword [edx + 0xa0], 0
je 0x10142e01
push edx
call fcn.10156600
add esp, 4
mov ecx, dword [esp + 0x358]
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10169f7a
add esp, 0x34c
ret