Function at 0x1004b960
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x134
mov eax, dword [0x100cd130]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor eax, eax
mov esi, ecx
mov ebx, dword [esi]
mov ecx, dword [esi + 4]
mov dword [ebp - 0x114], ecx
mov ecx, dword [ebx + 8]
mov ecx, dword [ecx + 0xc]
mov cl, byte [ecx + 0x4d]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xcc], eax
mov byte [ebp - 0xf1], al
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x110], eax
mov eax, dword [ebx + 0x30]
mov byte [ebp - 0xf0], cl
mov ecx, dword [esi + 8]
mov dword [ebp - 0x100], eax
mov eax, dword [ebx + 0x34]
mov edi, esi
mov dword [ebp - 0xd4], esi
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xfc], eax
call fcn.1004895b
cmp dword [esi + 0x5c], 7
je 0x1004f865
xor eax, eax
mov dword [esi + 0x5c], eax
mov dword [esi + 0x14], eax
mov ecx, dword [ebx + 0xe0]
mov dword [ebx + 0x1b4], eax
test ecx, ecx
jne 0x10050d04
cmp dword [ebx + 0x114], eax
mov eax, dword [esi + 0x58]
setne cl
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0x118], ecx
cmp byte [ebx + 0x1e], 0
jne 0x1004f865
mov edi, dword [ebp - 0xd8]
imul edi, edi, 0x14
add edi, dword [ebp - 0x114]
cmp dword [ebp - 0x118], 0
mov dword [ebp - 0xec], edi
je 0x1004ba87
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x11c]
cmp ecx, dword [ebp - 0x10c]
jne 0x1004ba81
push dword [eax + 0x118]
call dword [eax + 0x114]
pop ecx
test eax, eax
jne 0x10050b1f
and dword [ebp - 0x10c], eax
inc dword [ebp - 0x10c]
test byte [edi + 2], 2
mov ebx, dword [ebp - 0xe0]
je 0x1004bab3
mov eax, dword [edi + 8]
imul eax, eax, 0x28
add eax, ebx
mov dword [ebp - 0xdc], eax
call fcn.1004751a
mov ecx, dword [ebp - 0xdc]
push 4
pop eax
mov word [ecx + 0x1c], ax
movzx eax, byte [edi]
dec eax
cmp eax, 0x90
ja case.0x1004bac2.17
jmp dword [eax*4 + 0x10050d20]
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0xe0]
test eax, eax
jne 0x10050cfe
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xd8], edi
jmp case.0x1004bac2.17
mov ecx, dword [edi + 4]
imul ecx, ecx, 0x28
add ecx, ebx
push 4
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xd8]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [edi + 8]
dec eax
mov dword [ebp - 0xd8], eax
jmp case.0x1004bac2.17
mov eax, dword [edi + 4]
imul eax, eax, 0x28
mov eax, dword [eax + ebx + 0x10]
jmp 0x1004bb0c
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, ebx
push 4
pop eax
mov word [edi + 0x1c], ax
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xd8]
cdq
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
mov eax, dword [ebp - 0xc8]
jmp 0x1004bb0c
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
test byte [eax + ebx + 0x1c], 1
je case.0x1004bac2.17
cmp dword [edi + 4], 0
jne 0x10050b2e
lea ecx, [esi + 0xa8]
mov eax, dword [ecx]
test eax, eax
je 0x10050b2e
mov edx, dword [eax + 0x3c]
dec dword [esi + 0xb0]
mov ebx, dword [ebp - 0xd0]
mov dword [ecx], edx
mov ecx, dword [esi + 0x6c]
add dword [ebx + 0x40], ecx
mov dword [ebx + 0x3c], ecx
call fcn.10049029
cmp dword [edi + 8], 4
mov ecx, dword [ebx + 0x30]
mov dword [ebp - 0x100], ecx
mov ecx, dword [ebx + 0x34]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xfc], ecx
jne 0x1004bbc9
mov ecx, dword [esi + 4]
imul eax, eax, 0x14
mov eax, dword [eax + ecx + 8]
dec eax
mov dword [ebp - 0xd8], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x114], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0xe0], eax
jmp case.0x1004bac2.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xdc]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x1004bac2.17
mov edi, dword [edi + 0x10]
mov ecx, dword [edi]
mov eax, dword [ebp - 0xdc]
mov dword [eax + 0x10], ecx
mov ecx, dword [edi + 4]
mov dword [eax + 0x14], ecx
jmp case.0x1004bac2.17
mov eax, dword [ebp - 0xdc]
push 8
pop ecx
mov word [eax + 0x1c], cx
mov ecx, dword [edi + 0x10]
fld qword [ecx]
fstp qword [eax + 8]
jmp case.0x1004bac2.17
mov ecx, dword [edi + 0x10]
mov byte [edi], 9
call fcn.100378af
cmp byte [ebp - 0xf0], 1
mov dword [edi + 4], eax
je 0x1004bcbe
mov ebx, dword [ebp - 0xdc]
push 1
push ecx
xor eax, eax
or ecx, 0xffffffff
mov edx, ebx
call fcn.1004798c
pop ecx
pop ecx
mov dword [ebp - 0xcc], eax
cmp eax, 0x12
je 0x1004c603
movzx eax, byte [ebp - 0xf0]
push eax
mov eax, ebx
call fcn.10047270
pop ecx
test eax, eax
jne 0x1004f865
and dword [ebx + 0x24], eax
mov ax, word [ebx + 0x1c]
mov ecx, 0xfbff
and ax, cx
mov ecx, 0x800
or ax, cx
mov word [ebx + 0x1c], ax
cmp byte [edi + 1], 0xff
jne 0x1004bcae
push dword [edi + 0x10]
push dword [ebp - 0xd0]
call fcn.10035e45
pop ecx
pop ecx
mov byte [edi + 1], 0xff
mov eax, dword [ebx + 4]
mov dword [edi + 0x10], eax
mov eax, dword [ebx + 0x18]
mov dword [edi + 4], eax
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd0]
cmp eax, dword [ecx + 0x48]
jg 0x1004c603
mov eax, dword [ebp - 0xdc]
mov ecx, 0xa02
mov word [eax + 0x1c], cx
mov ecx, dword [edi + 0x10]
mov dword [eax + 4], ecx
mov ecx, dword [edi + 4]
mov dword [eax + 0x18], ecx
mov cl, byte [ebp - 0xf0]
mov byte [eax + 0x1f], cl
jmp case.0x1004bac2.17
mov ecx, dword [ebp - 0xdc]
xor eax, eax
inc eax
mov word [ecx + 0x1c], ax
jmp case.0x1004bac2.17
mov ecx, dword [edi + 4]
push 0
push dword [edi + 0x10]
mov edi, dword [ebp - 0xdc]
xor eax, eax
mov edx, edi
call fcn.1004798c
pop ecx
pop ecx
mov al, byte [ebp - 0xf0]
mov byte [edi + 0x1f], al
jmp case.0x1004bac2.17
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x48]
imul eax, eax, 0x28
lea edi, [eax + ecx - 0x28]
mov ecx, edi
mov dword [ebp - 0xc8], edi
call fcn.100478a7
test eax, eax
jne 0x1004c603
push 0x800
push edi
mov ebx, dword [ebp - 0xdc]
call fcn.100478ce
pop ecx
pop ecx
jmp case.0x1004bac2.17
mov edx, dword [edi + 0xc]
mov dword [ebp - 0xc4], edx
mov eax, dword [edi + 4]
mov dword [ebp - 0xc0], eax
imul eax, eax, 0x28
mov ecx, dword [edi + 8]
mov dword [ebp - 0xbc], ecx
imul ecx, ecx, 0x28
add ecx, ebx
add eax, ebx
mov dword [ebp - 0xe8], eax
mov edi, ecx
mov dword [ebp - 0xdc], ecx
test edx, edx
je 0x1004bde7
dec dword [ebp - 0xc4]
mov eax, dword [edi + 0x24]
mov ebx, dword [ebp - 0xe8]
mov dword [ebp - 0xc8], eax
and dword [edi + 0x24], 0
mov eax, edi
call fcn.10047968
mov eax, dword [ebp - 0xc8]
add dword [ebp - 0xe8], 0x28
mov ecx, ebx
mov dword [ecx + 0x24], eax
add edi, 0x28
cmp dword [ebp - 0xc4], 0
jne 0x1004bda3
mov dword [ebp - 0xdc], edi
dec dword [ebp - 0xc4]
jmp case.0x1004bac2.17
mov eax, dword [edi + 4]
mov ebx, dword [edi + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0xe0]
push 0x1000
push eax
mov dword [ebp - 0xdc], ebx
call fcn.100478ce
mov eax, 0x1000
pop ecx
pop ecx
test word [ebx + 0x1c], ax
je case.0x1004bac2.17
mov eax, ebx
call fcn.1004734f
test eax, eax
jne 0x1004f865
jmp case.0x1004bac2.17
mov ebx, dword [edi + 8]
mov eax, dword [edi + 4]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0xe0]
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
push 0x1000
mov dword [ebp - 0xdc], ebx
push eax
jmp 0x1004bd60
push 0
mov eax, esi
call fcn.100496d6
pop ecx
mov dword [ebp - 0xcc], eax
test eax, eax
jne case.0x1004bac2.17
push 1
push esi
call fcn.100495e9
pop ecx
pop ecx
mov dword [ebp - 0xcc], eax
test eax, eax
jne case.0x1004bac2.17
mov eax, dword [esi + 0x54]
inc eax
inc eax
or eax, 1
mov dword [esi + 0x54], eax
mov eax, dword [edi + 4]
and dword [ebp - 0xc4], 0
imul eax, eax, 0x28
add ebx, eax
mov dword [esi + 0x14], ebx
mov dword [ebp - 0xc8], ebx
cmp dword [edi + 8], 0
jle 0x1004bf24
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc8]
imul eax, eax, 0x28
add eax, ecx
mov ecx, 0x1000
test word [eax + 0x1c], cx
je 0x1004beeb
call fcn.1004734f
test eax, eax
jne 0x1004f865
mov eax, dword [ebp - 0xc4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xc8]
call fcn.100473fd
mov ecx, dword [ebp - 0xc4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xc8]
call fcn.1004b770
inc dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc4]
cmp eax, dword [edi + 8]
jl 0x1004bec2
mov eax, dword [ebp - 0xd0]
cmp byte [eax + 0x1e], 0
jne 0x1004f865
mov eax, dword [ebp - 0xd8]
inc eax
push 0x64
mov dword [esi + 0x58], eax
pop edi
jmp 0x1004c682
mov eax, dword [edi + 4]
mov ebx, dword [edi + 8]
imul eax, eax, 0x28
mov edi, dword [edi + 0xc]
imul ebx, ebx, 0x28
add eax, dword [ebp - 0xe0]
imul edi, edi, 0x28
add ebx, dword [ebp - 0xe0]
add edi, dword [ebp - 0xe0]
mov cl, byte [ebx + 0x1c]
mov dword [ebp - 0xe8], eax
movzx eax, word [eax + 0x1c]
or cl, al
mov dword [ebp - 0xdc], edi
test cl, 1
je 0x1004bf8e
call fcn.10047781
jmp case.0x1004bac2.17
test eax, 0x4000
je 0x1004bfa2
mov eax, dword [ebp - 0xe8]
call fcn.100473aa
jmp 0x1004bfa4
xor eax, eax
test eax, eax
jne 0x1004f865
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x1004bfc0
mov eax, ebx
call fcn.100473aa
jmp 0x1004bfc2
xor eax, eax
test eax, eax
jne 0x1004f865
mov eax, dword [ebp - 0xe8]
test byte [eax + 0x1c], 0x12
jne 0x1004bff2
movzx eax, byte [ebp - 0xf0]
push eax
mov eax, dword [ebp - 0xe8]
call fcn.10047446
pop ecx
test eax, eax
jne 0x1004f865
test byte [ebx + 0x1c], 0x12
jne 0x1004c010
movzx eax, byte [ebp - 0xf0]
push eax
mov eax, ebx
call fcn.10047446
pop ecx
test eax, eax
jne 0x1004f865
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebp - 0xe8]
add eax, dword [ecx + 0x18]
cdq
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xc4], edx
mov eax, dword [eax + 0x48]
cdq
cmp dword [ebp - 0xc4], edx
jg 0x1004c603
jl 0x1004c04d
cmp dword [ebp - 0xc8], eax
ja 0x1004c603
mov ax, word [edi + 0x1c]
mov ecx, 0xbf02
and ax, cx
or ax, 2
mov word [edi + 0x1c], ax
xor eax, eax
cmp edi, ebx
sete al
push eax
mov eax, dword [ebp - 0xc8]
add eax, 2
call fcn.10047290
pop ecx
test eax, eax
jne 0x1004f865
cmp edi, ebx
je 0x1004c095
push dword [ebx + 0x18]
push dword [ebx + 4]
push dword [edi + 4]
call fcn.1008a750
add esp, 0xc
mov eax, dword [ebp - 0xe8]
push dword [eax + 0x18]
push dword [eax + 4]
mov eax, dword [ebx + 0x18]
add eax, dword [edi + 4]
push eax
call fcn.1008a750
mov ecx, dword [ebp - 0xc8]
mov eax, dword [edi + 4]
mov byte [ecx + eax], 0
mov ecx, dword [ebp - 0xc8]
mov eax, dword [edi + 4]
mov byte [eax + ecx + 1], 0
mov eax, 0x200
add esp, 0xc
or word [edi + 0x1c], ax
mov eax, dword [ebp - 0xc8]
mov dword [edi + 0x18], eax
jmp 0x1004bd24
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xe0]
mov dword [ebp - 0xe8], esi
call fcn.1004b856
mov esi, dword [edi + 8]
imul esi, esi, 0x28
add esi, dword [ebp - 0xe0]
mov dword [ebp - 0xe4], esi
call fcn.1004b856
mov ebx, dword [edi + 0xc]
mov ecx, dword [ebp - 0xe8]
imul ebx, ebx, 0x28
movzx ecx, word [ecx + 0x1c]
add ebx, dword [ebp - 0xe0]
mov eax, esi
movzx eax, word [eax + 0x1c]
or eax, ecx
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0xc8], eax
test al, 1
jne 0x1004c404
mov eax, esi
mov al, byte [eax + 0x1c]
mov esi, dword [ebp - 0xe8]
and al, byte [esi + 0x1c]
test al, 4
je 0x1004c2bc
mov eax, dword [esi + 0x10]
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0xc0], eax
mov ecx, dword [esi + 0x14]
mov dword [ebp - 0xbc], ecx
mov edx, dword [edx + 0x10]
mov dword [ebp - 0xb8], edx
mov edx, dword [ebp - 0xe4]
mov edx, dword [edx + 0x14]
mov dword [ebp - 0xb4], edx
movzx edx, byte [edi]
sub edx, 0x56
je 0x1004c259
dec edx
je 0x1004c244
dec edx
je 0x1004c229
dec edx
mov edx, eax
je 0x1004c1de
or edx, ecx
je 0x1004c404
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x1004c1c9
xor eax, eax
inc eax
xor ecx, ecx
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], ecx
push ecx
push eax
push dword [ebp - 0xb4]
push dword [ebp - 0xb8]
call fcn.10092350
jmp 0x1004c21b
or edx, ecx
je 0x1004c404
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x1004c208
cmp dword [ebp - 0xb8], 0
jne 0x1004c208
cmp dword [ebp - 0xb4], 0x80000000
je 0x1004c2bc
push ecx
push eax
push dword [ebp - 0xb4]
push dword [ebp - 0xb8]
call fcn.100922a0
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], edx
jmp 0x1004c26c
push ecx
push eax
lea esi, [ebp - 0xb8]
call fcn.100384f9
pop ecx
pop ecx
test eax, eax
je 0x1004c26c
mov esi, dword [ebp - 0xe8]
jmp 0x1004c2bc
push ecx
push eax
lea eax, [ebp - 0xb8]
call fcn.100384ad
pop ecx
pop ecx
test eax, eax
jne 0x1004c2bc
jmp 0x1004c26c
push ecx
push eax
lea edi, [ebp - 0xb8]
call fcn.1003842b
pop ecx
pop ecx
test eax, eax
jne 0x1004c2b6
mov eax, dword [ebp - 0xb8]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0xb4]
mov dword [ebx + 0x14], eax
mov ax, word [ebx + 0x1c]
mov ecx, 0xbf04
and ax, cx
or ax, 4
mov word [ebx + 0x1c], ax
mov esi, dword [ebp - 0xd4]
inc dword [ebp - 0xd8]
cmp dword [ebp - 0xcc], 0
jne 0x1004c622
mov ebx, dword [ebp - 0xd0]
jmp 0x1004ba2a
mov edi, dword [ebp - 0xec]
mov eax, esi
call fcn.10047654
fstp qword [ebp - 0xb0]
mov eax, dword [ebp - 0xe4]
call fcn.10047654
fst qword [ebp - 0xa8]
movzx eax, byte [edi]
sub eax, 0x56
je 0x1004c3a5
dec eax
je 0x1004c39d
dec eax
je 0x1004c395
dec eax
je 0x1004c37e
fld qword [ebp - 0xb0]
call fcn.1009f5a6
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
call fcn.1009f5a6
mov ecx, dword [ebp - 0xc0]
or ecx, dword [ebp - 0xbc]
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], edx
je 0x1004c404
mov ecx, dword [ebp - 0xc0]
and ecx, dword [ebp - 0xbc]
cmp ecx, 0xffffffff
jne 0x1004c357
and dword [ebp - 0xbc], 0
mov dword [ebp - 0xc0], 1
push dword [ebp - 0xbc]
push dword [ebp - 0xc0]
push edx
push eax
call fcn.10092350
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], edx
fild qword [ebp - 0x130]
jmp 0x1004c3ab
fldz
fcomp qword [ebp - 0xb0]
fnstsw ax
test ah, 0x44
jnp 0x1004c402
fdiv qword [ebp - 0xb0]
jmp 0x1004c3ab
fmul qword [ebp - 0xb0]
jmp 0x1004c3ab
fsub qword [ebp - 0xb0]
jmp 0x1004c3ab
fadd qword [ebp - 0xb0]
fstp qword [ebp - 0xa8]
push ecx
fld qword [ebp - 0xa8]
push ecx
fstp qword [esp]
call fcn.10037886
add esp, 8
test eax, eax
jne 0x1004c404
mov ax, word [ebx + 0x1c]
fld qword [ebp - 0xa8]
mov ecx, 0xbf08
fstp qword [ebx + 8]
and ax, cx
or ax, 8
mov word [ebx + 0x1c], ax
test byte [ebp - 0xc8], 8
jne 0x1004c292
mov esi, dword [ebp - 0xdc]
call fcn.1004769d
jmp 0x1004c292
fstp st(0)
mov edi, ebx
call fcn.10047781
jmp 0x1004c292
movzx ecx, byte [edi + 3]
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], ecx
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, ebx
mov dword [ebp - 0xdc], eax
mov eax, dword [edi + 8]
and dword [ebp - 0xc8], 0
imul eax, eax, 0x28
add eax, ebx
mov dword [ebp - 0xc4], eax
test ecx, ecx
jle 0x1004c499
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0xc8]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0xc4]
mov ecx, 0x1000
test word [eax + 0x1c], cx
je 0x1004c46e
call fcn.1004734f
test eax, eax
jne 0x1004f865
mov ecx, dword [ebp - 0xc4]
call fcn.1004b770
inc dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc8]
add eax, 0x28
cmp ecx, dword [ebp - 0x7c]
mov dword [ebp - 0xc4], eax
jl 0x1004c444
cmp byte [edi + 1], 0xfb
mov eax, dword [edi + 0x10]
jne 0x1004c4ab
and dword [ebp - 0xbc], 0
jmp 0x1004c4b3
mov dword [ebp - 0xbc], eax
mov eax, dword [eax]
mov ebx, dword [ebp - 0xdc]
and dword [ebp - 0x98], 0
and dword [ebp - 0x94], 0
mov dword [ebp - 0xc0], eax
xor eax, eax
inc eax
mov word [ebp - 0x9c], ax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0xb8]
call fcn.10047968
mov eax, dword [ebp - 0x9c]
and dword [ebp - 0x8c], 0
and eax, 0xbf01
or eax, 1
mov word [ebp - 0x9c], ax
mov eax, dword [ebp - 0xc0]
test byte [eax + 3], 8
je 0x1004c51f
mov eax, dword [edi - 4]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x100]
mov ebx, dword [ebp - 0xd0]
mov dword [ebx + 0x30], eax
mov eax, dword [ebp - 0xfc]
mov dword [ebx + 0x34], eax
push dword [ebp - 0x80]
lea eax, [ebp - 0xc0]
push dword [ebp - 0x7c]
push eax
mov eax, dword [ebp - 0xc0]
call dword [eax + 0xc]
mov eax, dword [ebx + 0x30]
mov dword [ebp - 0x100], eax
mov eax, dword [ebx + 0x34]
add esp, 0xc
cmp dword [ebp - 0xbc], 0
mov dword [ebp - 0xfc], eax
je 0x1004c58d
push dword [edi + 4]
mov edi, dword [ebp - 0xbc]
call fcn.10049a63
mov eax, dword [ebp - 0xec]
pop ecx
mov ecx, dword [ebp - 0xbc]
mov dword [eax + 0x10], ecx
mov byte [eax + 1], 0xf9
cmp byte [ebx + 0x1e], 0
jne 0x10050bca
cmp dword [ebp - 0x8c], 0
je 0x1004c5cb
lea eax, [ebp - 0xb8]
push eax
call fcn.1004a567
pop ecx
push eax
push 0x100b6834
push ebx
lea edi, [esi + 0x38]
call fcn.1003618b
mov eax, dword [ebp - 0x8c]
add esp, 0xc
mov dword [ebp - 0xcc], eax
movzx eax, byte [ebp - 0xf0]
push eax
lea eax, [ebp - 0xb8]
call fcn.10047270
mov eax, dword [ebp - 0xdc]
pop ecx
lea ebx, [ebp - 0xb8]
call fcn.10047968
mov ecx, dword [ebp - 0xdc]
call fcn.100478a7
test eax, eax
je case.0x1004bac2.17
push str.string_or_blob_too_big
push dword [ebp - 0xd0]
lea edi, [esi + 0x38]
call fcn.1003618b
mov dword [ebp - 0xcc], 0x12
pop ecx
pop ecx
push dword [esi + 0x38]
mov edi, dword [ebp - 0xcc]
push dword [esi + 0xa0]
mov dword [esi + 0x5c], edi
push dword [ebp - 0xd8]
push str.statement_aborts_at__d:___s___s
push edi
call fcn.100371e9
add esp, 0x14
mov eax, esi
call fcn.1004972b
cmp edi, 0xc0a
jne 0x1004c661
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1e], 1
xor edi, edi
inc edi
cmp byte [ebp - 0xf1], 0
jbe 0x1004c682
movzx eax, byte [ebp - 0xf1]
mov ebx, dword [ebp - 0xd0]
dec eax
push eax
call fcn.100581b5
pop ecx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0x100]
mov dword [eax + 0x30], ecx
mov ecx, dword [ebp - 0xfc]
mov ebx, esi
mov dword [eax + 0x34], ecx
call fcn.100489ae
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100848d4
leave
ret
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 8]
imul eax, eax, 0x28
mov ebx, dword [edi + 4]
imul ecx, ecx, 0x28
add eax, dword [ebp - 0xe0]
imul ebx, ebx, 0x28
add ecx, dword [ebp - 0xe0]
add ebx, dword [ebp - 0xe0]
mov dword [ebp - 0xdc], eax
mov al, byte [ecx + 0x1c]
or al, byte [ebx + 0x1c]
test al, 1
je 0x1004c6f1
mov edi, dword [ebp - 0xdc]
jmp 0x1004bf84
call fcn.100475f0
mov ecx, ebx
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
call fcn.100475f0
mov ebx, eax
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xb4], edx
mov al, byte [edi]
mov byte [ebp - 0xb0], al
cmp al, 0x52
jne 0x1004c734
and dword [ebp - 0xc8], ebx
and dword [ebp - 0xc4], edx
jmp 0x1004c842
cmp al, 0x53
jne 0x1004c749
or dword [ebp - 0xc8], ebx
or dword [ebp - 0xc4], edx
jmp 0x1004c842
mov ecx, ebx
or ecx, edx
je 0x1004c842
xor edi, edi
cmp edx, edi
jg 0x1004c79b
jl 0x1004c75f
cmp ebx, edi
jae 0x1004c790
mov cl, 0xa9
sub cl, al
cmp edx, 0xffffffff
mov al, cl
mov byte [ebp - 0xb0], al
jl 0x1004c77f
jg 0x1004c777
cmp ebx, 0xffffffc0
jbe 0x1004c77f
neg ebx
adc edx, edi
neg edx
jmp 0x1004c784
push 0x40
pop ebx
xor edx, edx
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0xb8], ebx
cmp edx, edi
jl 0x1004c7c7
jg 0x1004c79b
cmp ebx, 0x40
jb 0x1004c7c7
cmp dword [ebp - 0xc4], edi
jg 0x1004c7b6
jl 0x1004c7ad
cmp dword [ebp - 0xc8], edi
jae 0x1004c7b6
cmp al, 0x54
je 0x1004c7b6
or eax, 0xffffffff
jmp 0x1004c7b8
xor eax, eax
cdq
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
jmp 0x1004c842
mov edx, dword [ebp - 0xc4]
cmp al, 0x54
mov eax, dword [ebp - 0xc8]
mov ecx, ebx
jne 0x1004c7ec
call fcn.1009f550
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
jmp 0x1004c82a
call fcn.1009c2d0
cmp dword [ebp - 0xc4], edi
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
jg 0x1004c82a
jl 0x1004c80f
cmp dword [ebp - 0xc8], edi
jae 0x1004c82a
push 0x40
pop ecx
or edx, 0xffffffff
sub ecx, ebx
mov eax, edx
call fcn.1009f550
or dword [ebp - 0xc0], eax
or dword [ebp - 0xbc], edx
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xc8]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xc4]
mov dword [eax + 0x14], ecx
mov cx, word [eax + 0x1c]
mov edx, 0xbf04
and cx, dx
or cx, 4
mov word [eax + 0x1c], cx
jmp case.0x1004bac2.17
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, ebx
call fcn.100476f3
mov eax, dword [edi + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
jmp 0x1004c292
mov ebx, dword [edi + 4]
push dword [ebp - 0xf0]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0xe0]
push 0x63
mov eax, ebx
call fcn.1004b8d1
movzx eax, word [ebx + 0x1c]
pop ecx
pop ecx
test al, 4
jne 0x1004c8ce
mov edi, dword [edi + 8]
test edi, edi
jne 0x1004bae0
mov dword [ebp - 0xcc], 0x14
jmp 0x10050c9e
and eax, 0xbf04
or eax, 4
mov word [ebx + 0x1c], ax
jmp case.0x1004bac2.17
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, ebx
movzx ebx, word [edi + 0x1c]
test bl, 4
je case.0x1004bac2.17
mov eax, edi
call fcn.10047654
fstp qword [edi + 8]
and ebx, 0xbf08
or ebx, 8
mov word [edi + 0x1c], bx
jmp case.0x1004bac2.17
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, ebx
movzx eax, word [edi + 0x1c]
test al, 1
jne case.0x1004bac2.17
push dword [ebp - 0xf0]
mov ecx, eax
shr ecx, 3
and ecx, 2
or ecx, eax
push 0x61
mov eax, edi
mov word [edi + 0x1c], cx
call fcn.1004b8d1
mov eax, 0x4000
pop ecx
pop ecx
test word [edi + 0x1c], ax
je 0x1004c95d
mov eax, edi
call fcn.100473aa
mov dword [ebp - 0xcc], eax
jmp 0x1004c964
and dword [ebp - 0xcc], 0
mov eax, 0xbfe3
and word [edi + 0x1c], ax
jmp case.0x1004bac2.17
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, ebx
movzx eax, word [edi + 0x1c]
test al, 1
jne case.0x1004bac2.17
test al, 0x10
jne 0x1004c9ad
push dword [ebp - 0xf0]
mov eax, edi
push 0x61
call fcn.1004b8d1
mov ax, word [edi + 0x1c]
pop ecx
pop ecx
mov ecx, 0xbf10
and ax, cx
or ax, 0x10
jmp 0x1004c9b2
and eax, 0xff10
mov word [edi + 0x1c], ax
jmp case.0x1004bac2.17
mov eax, dword [edi + 4]
imul eax, eax, 0x28
add eax, ebx
call fcn.10047717
jmp case.0x1004bac2.17
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, ebx
test byte [edi + 0x1c], 1
jne case.0x1004bac2.17
mov esi, edi
call fcn.100476f3
jmp 0x1004c292
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, ebx
movzx ebx, word [edi + 0x1c]
test bl, 1
jne case.0x1004bac2.17
jmp 0x1004c8f4
mov ecx, dword [edi + 4]
mov eax, dword [edi + 0xc]
imul ecx, ecx, 0x28
imul eax, eax, 0x28
add ecx, ebx
mov dx, word [ecx + 0x1c]
add eax, ebx
mov dword [ebp - 0xe4], eax
mov word [ebp - 0xc2], dx
mov ax, word [eax + 0x1c]
mov word [ebp - 0xc0], ax
or al, dl
test al, 1
mov al, byte [edi + 3]
mov dword [ebp - 0xe8], ecx
je 0x1004ca8d
test al, al
jns 0x1004ca59
mov al, byte [ebp - 0xc0]
and al, dl
test al, 1
push 0
pop eax
sete al
jmp 0x1004cb23
test al, 0x10
je 0x1004ca80
mov edi, dword [edi + 8]
imul edi, edi, 0x28
add edi, ebx
mov dword [ebp - 0xdc], edi
mov ax, word [edi + 0x1c]
mov ecx, 0xbf01
and ax, cx
or ax, 1
jmp 0x1004c9b2
test al, 8
je case.0x1004bac2.17
jmp 0x1004badd
and al, 0x67
mov byte [ebp - 0xc4], al
je 0x1004cad8
push dword [ebp - 0xf0]
mov eax, dword [ebp - 0xe8]
push dword [ebp - 0xc4]
call fcn.1004b8d1
push dword [ebp - 0xf0]
mov eax, dword [ebp - 0xe4]
push dword [ebp - 0xc4]
call fcn.1004b8d1
mov eax, dword [ebp - 0xd0]
add esp, 0x10
cmp byte [eax + 0x1e], 0
jne 0x1004f865
mov ecx, dword [ebp - 0xe8]
mov eax, 0x4000
test word [ecx + 0x1c], ax
je 0x1004caf0
mov eax, ecx
call fcn.100473aa
mov ecx, dword [ebp - 0xe4]
mov eax, 0x4000
test word [ecx + 0x1c], ax
je 0x1004cb08
mov eax, ecx
call fcn.100473aa
push dword [edi + 0x10]
mov eax, dword [ebp - 0xe8]
mov edx, dword [ebp - 0xe4]
call fcn.10047ae1
pop ecx
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xc8], eax
movzx edx, byte [edi]
sub edx, 0x4b
je 0x1004cb6a
dec edx
je 0x1004cb61
dec edx
je 0x1004cb58
dec edx
je 0x1004cb4f
dec edx
je 0x1004cb46
xor edx, edx
test eax, eax
setge dl
jmp 0x1004cb71
xor edx, edx
test eax, eax
setl dl
jmp 0x1004cb71
xor edx, edx
test eax, eax
setle dl
jmp 0x1004cb71
xor edx, edx
test eax, eax
setg dl
jmp 0x1004cb71
xor edx, edx
test eax, eax
sete dl
jmp 0x1004cb71
xor edx, edx
test eax, eax
setne dl
mov dword [ebp - 0xc8], edx
test byte [edi + 3], 0x10
je 0x1004cbae
mov edi, dword [edi + 8]
imul edi, edi, 0x28
add edi, ebx
mov ax, word [edi + 0x1c]
mov edx, 0xbf04
and ax, dx
or ax, 4
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0xc8]
cdq
mov dword [ebp - 0xdc], edi
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
jmp 0x1004cbc1
cmp dword [ebp - 0xc8], 0
je 0x1004cbc1
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xd8], edi
mov al, byte [ebp - 0xc2]
mov byte [ecx + 0x1c], al
mov al, byte [ebp - 0xc0]
mov ecx, dword [ebp - 0xe4]
mov byte [ecx + 0x1c], al
jmp case.0x1004bac2.17
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x110], eax
jmp case.0x1004bac2.17
mov edx, dword [edi + 0xc]
mov dword [ebp - 0xc8], edx
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xb8], ecx
mov eax, dword [edi + 4]
mov dword [ebp - 0xc0], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0xbc], eax
xor eax, eax
mov dword [ebp - 0xc4], eax
test edx, edx
jle 0x1004ccaf
mov ebx, dword [ebp - 0x110]
jmp 0x1004cc2e
mov ecx, dword [ebp - 0xb8]
test ebx, ebx
je 0x1004cc37
mov edx, dword [ebx + eax*4]
jmp 0x1004cc39
mov edx, eax
mov dword [ebp - 0xb4], edx
mov edi, dword [ecx + eax*4 + 0xc]
mov dword [ebp - 0xb0], edi
mov ecx, dword [ecx + 8]
movzx eax, byte [ecx + eax]
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xbc]
add eax, edx
add edx, ecx
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
imul edx, edx, 0x28
add edx, dword [ebp - 0xe0]
push edi
call fcn.10047ae1
pop ecx
mov dword [ebp - 0x108], eax
test eax, eax
jne 0x1004cca0
mov eax, dword [ebp - 0xc4]
inc eax
cmp eax, dword [ebp - 0xc8]
mov dword [ebp - 0xc4], eax
jl 0x1004cc28
jmp 0x1004ccaf
cmp dword [ebp - 0xac], 0
je 0x1004ccaf
neg dword [ebp - 0x108]
and dword [ebp - 0x110], 0
jmp case.0x1004bac2.17
cmp dword [ebp - 0x108], 0
jge 0x1004cccc
mov edi, dword [edi + 4]
jmp 0x1004bae0
je 0x1004badd
mov edi, dword [edi + 0xc]
jmp 0x1004bae0
mov ecx, dword [edi + 4]
imul ecx, ecx, 0x28
add ecx, ebx
test byte [ecx + 0x1c], 1
je 0x1004cced
push 2
pop eax
jmp 0x1004ccfd
call fcn.100475f0
or eax, edx
je 0x1004ccfb
xor eax, eax
inc eax
jmp 0x1004ccfd
xor eax, eax
mov dword [ebp - 0xc8], eax
mov ecx, dword [edi + 8]
imul ecx, ecx, 0x28
add ecx, ebx
test byte [ecx + 0x1c], 1
je 0x1004cd1d
mov dword [ebp - 0xc4], 2
jmp 0x1004cd3f
call fcn.100475f0
or eax, edx
mov eax, dword [ebp - 0xc8]
je 0x1004cd38
mov dword [ebp - 0xc4], 1
jmp 0x1004cd3f
and dword [ebp - 0xc4], 0
mov ecx, dword [ebp - 0xc4]
imul eax, eax, 3
cmp byte [edi], 0x45
jne 0x1004cd57
movzx eax, byte [eax + ecx + 0x100ad598]
jmp 0x1004cd5f
movzx eax, byte [eax + ecx + 0x100ad5a4]
mov dword [ebp - 0xc8], eax
mov edi, dword [edi + 0xc]
imul edi, edi, 0x28
add edi, ebx
mov dword [ebp - 0xdc], edi
cmp eax, 2
je 0x1004ca6b
cdq
mov dword [edi + 0x10], eax
mov ax, word [edi + 0x1c]
mov ecx, 0xbf04
and ax, cx
mov dword [edi + 0x14], edx
or ax, 4
jmp 0x1004c9b2
mov ecx, dword [edi + 4]
mov edi, dword [edi + 8]
imul ecx, ecx, 0x28
imul edi, edi, 0x28
add ecx, ebx
add edi, ebx
test byte [ecx + 0x1c], 1
mov dword [ebp - 0xdc], edi
jne 0x1004bf84
call fcn.100475f0
or eax, edx
jne 0x1004cdc4
inc eax
jmp 0x1004cdc6
xor eax, eax
cdq
push edx
push eax
mov esi, edi
call fcn.100477ec
pop ecx
pop ecx
jmp 0x1004c292
mov ecx, dword [edi + 4]
mov edi, dword [edi + 8]
imul ecx, ecx, 0x28
imul edi, edi, 0x28
add ecx, ebx
add edi, ebx
test byte [ecx + 0x1c], 1
mov dword [ebp - 0xdc], edi
jne 0x1004bf84
call fcn.100475f0
not eax
not edx
jmp 0x1004cdc7
mov eax, dword [edi + 4]
imul eax, eax, 0x28
add eax, ebx
xor ebx, ebx
inc ebx
test byte [eax + 0x1c], bl
je 0x1004ce17
mov eax, dword [edi + 0xc]
jmp 0x1004ce48
call fcn.10047654
fcomp qword [0x100bba00]
fnstsw ax
test ah, 0x44
jnp 0x1004ce31
mov dword [ebp - 0xc8], ebx
jmp 0x1004ce38
and dword [ebp - 0xc8], 0
cmp byte [edi], 0x1b
jne 0x1004ce4e
xor eax, eax
cmp dword [ebp - 0xc8], eax
sete al
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
jmp 0x1004ca82
mov eax, dword [edi + 4]
imul eax, eax, 0x28
test byte [eax + ebx + 0x1c], 1
jmp 0x1004ca82
mov eax, dword [edi + 4]
imul eax, eax, 0x28
test byte [eax + ebx + 0x1c], 1
jne case.0x1004bac2.17
jmp 0x1004badd
mov eax, dword [edi + 4]
mov dword [ebp - 0xb8], eax
mov eax, dword [edi + 8]
and dword [ebp - 0xb0], 0
mov dword [ebp - 0xb4], eax
xor eax, eax
push 0xa
pop ecx
lea edi, [ebp - 0x88]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0xec]
mov eax, dword [ecx + 0xc]
imul eax, eax, 0x28
add eax, ebx
mov dword [ebp - 0x8c], eax
mov dx, word [eax + 0x1c]
mov edi, 0xbf01
and dx, di
or dx, 1
mov word [eax + 0x1c], dx
and dword [ebp - 0xac], 0
mov eax, dword [esi + 0x44]
mov edx, dword [ebp - 0xb8]
mov edi, dword [eax + edx*4]
mov dword [ebp - 0xb0], edi
mov eax, dword [edi]
mov dword [ebp - 0xa8], eax
test eax, eax
je 0x1004cf95
call fcn.10049b8a
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x10050c9e
mov edi, dword [ebp - 0xb0]
cmp byte [edi + 0x1c], al
je 0x1004cf20
and dword [ebp - 0xc8], eax
jmp case.0x1004bac2.17
mov eax, dword [edi + 0x4c]
cmp eax, dword [esi + 0x54]
jne 0x1004cf3f
mov eax, dword [edi + 0x50]
mov dword [ebp - 0xc8], eax
mov eax, dword [edi + 0x5c]
mov dword [ebp - 0xac], eax
jmp 0x1004cfd5
cmp byte [edi + 0x1f], 0
je 0x1004cf6a
mov eax, dword [ebp - 0xa8]
lea edi, [ebp - 0xc0]
call fcn.10042b93
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xc8], eax
jmp 0x1004cfc6
mov edi, dword [ebp - 0xa8]
mov esi, edi
call fcn.10042b6b
mov eax, dword [edi + 0x2c]
and dword [ebp - 0xcc], 0
mov edi, dword [ebp - 0xb0]
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 0xc8], eax
jmp 0x1004cfd5
mov eax, dword [edi + 0x10]
test eax, eax
jle 0x1004cfce
imul eax, eax, 0x28
add eax, ebx
mov dword [ebp - 0x48], eax
mov edx, dword [eax + 0x18]
mov dword [ebp - 0xc8], edx
mov eax, dword [eax + 4]
mov dword [ebp - 0xac], eax
test byte [ecx + 3], 0x20
je 0x1004cfc0
xor eax, eax
jmp 0x1004cfc3
mov eax, dword [esi + 0x54]
mov dword [edi + 0x4c], eax
mov edi, dword [ebp - 0xb0]
jmp 0x1004cfd5
and dword [ebp - 0xc8], 0
mov eax, dword [ebp - 0xc8]
test eax, eax
je case.0x1004bac2.17
mov ecx, dword [ebp - 0xd0]
cmp eax, dword [ecx + 0x48]
ja 0x1004c603
mov ecx, dword [edi + 0x14]
mov dword [ebp - 0x9c], ecx
mov eax, dword [edi + 0x54]
mov dword [ebp - 0xa4], eax
mov edx, dword [edi + 0x4c]
cmp edx, dword [esi + 0x54]
jne 0x1004d01a
mov ecx, dword [edi + 0x58]
mov dword [ebp - 0xa0], ecx
jmp 0x1004d259
lea eax, [eax + ecx*4]
mov dword [ebp - 0xa0], eax
xor ebx, ebx
mov dword [ebp - 0x4c], ebx
mov dword [edi + 0x58], eax
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xc8]
mov dword [eax + 0x50], ecx
mov eax, dword [esi + 0x54]
mov ecx, dword [ebp - 0xb0]
mov dword [ecx + 0x4c], eax
mov eax, dword [ebp - 0xac]
cmp eax, ebx
je 0x1004d058
mov dword [ebp - 0x90], eax
jmp 0x1004d0bd
mov eax, dword [ebp - 0xb0]
cmp byte [eax + 0x1f], 0
mov ecx, dword [ebp - 0xa8]
je 0x1004d075
xor eax, eax
cmp byte [ecx + 0x53], 1
jne 0x1004d092
push ebx
jmp 0x1004d07f
xor eax, eax
cmp byte [ecx + 0x53], 1
jne 0x1004d092
push 1
lea eax, [ebp - 0x4c]
push eax
mov esi, ecx
call fcn.10042f57
mov esi, dword [ebp - 0xd4]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0x90], eax
cmp ecx, dword [ebp - 0x4c]
ja 0x1004d0b4
mov ecx, dword [ebp - 0xb0]
mov dword [ebp - 0xac], eax
mov dword [ecx + 0x5c], eax
jmp 0x1004d0bd
mov eax, dword [ebp - 0xb0]
mov dword [eax + 0x5c], ebx
mov ecx, dword [ebp - 0x90]
mov al, byte [ecx]
cmp al, 0x80
jae 0x1004d0d4
movzx eax, al
mov dword [ebp - 0x58], eax
xor eax, eax
inc eax
jmp 0x1004d0df
lea edi, [ebp - 0x58]
call fcn.10038280
movzx eax, al
cmp dword [ebp - 0x58], 0x18003
movzx eax, al
mov dword [ebp - 0x50], eax
jbe 0x1004d0f8
push 0xfdf7
jmp 0x1004d3de
mov ebx, dword [ebp - 0x9c]
imul ebx, ebx, 5
add ebx, 3
cmp ebx, dword [ebp - 0x58]
mov dword [ebp - 0x98], ebx
jle 0x1004d118
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0x98], ebx
cmp dword [ebp - 0xac], 0
jne 0x1004d174
cmp dword [ebp - 0x4c], ebx
jge 0x1004d174
mov ecx, dword [ebp - 0xa8]
xor eax, eax
and dword [ebp - 0x88], eax
mov word [ebp - 0x6c], ax
mov eax, dword [ebp - 0xb0]
movzx eax, byte [eax + 0x1f]
push eax
push 0
lea eax, [ebp - 0x88]
call fcn.10047caa
pop ecx
pop ecx
mov dword [ebp - 0xcc], eax
test eax, eax
jne case.0x1004bac2.17
mov eax, dword [ebp - 0x84]
mov ebx, dword [ebp - 0x98]
mov dword [ebp - 0x90], eax
jmp 0x1004d17a
mov eax, dword [ebp - 0x90]
lea ecx, [eax + ebx]
mov dword [ebp - 0x5c], ecx
mov ecx, dword [ebp - 0x50]
add eax, ecx
xor ecx, ecx
cmp dword [ebp - 0x9c], ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x94], ecx
jle 0x1004d213
jmp 0x1004d19d
mov eax, dword [ebp - 0x60]
cmp eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0xa0]
jae 0x1004d2ac
mov edx, dword [ebp - 0x58]
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0x60]
mov al, byte [ecx]
mov edx, dword [ebp - 0xa4]
cmp al, 0x80
jae 0x1004d1d2
mov ecx, dword [ebp - 0x94]
movzx eax, al
mov dword [edx + ecx*4], eax
xor eax, eax
inc eax
jmp 0x1004d1e3
mov eax, dword [ebp - 0x94]
lea edi, [edx + eax*4]
call fcn.10038280
movzx eax, al
mov ecx, dword [ebp - 0x94]
movzx eax, al
add dword [ebp - 0x60], eax
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + ecx*4]
call fcn.10049cfb
add dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x58], eax
jae 0x1004d2b6
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x88]
push eax
call fcn.1004757e
xor eax, eax
pop ecx
mov ecx, dword [ebp - 0x60]
inc eax
mov word [ebp - 0x6c], ax
cmp ecx, dword [ebp - 0x5c]
ja 0x1004d3d9
mov eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0xc8]
ja 0x1004d3d9
cmp ecx, dword [ebp - 0x5c]
jne 0x1004d253
cmp eax, dword [ebp - 0xc8]
jne 0x1004d3d9
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xa0]
shl ecx, 2
cmp dword [edx + ecx], 0
je 0x1004d36c
cmp dword [ebp - 0xac], 0
je 0x1004d2ce
mov eax, dword [ebp - 0x8c]
call fcn.1004751a
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xa4]
shl eax, 2
push dword [ecx + eax]
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [ecx + eax]
add ecx, dword [ebp - 0xac]
jmp 0x1004d349
and dword [eax + ecx*4], 0
mov ecx, dword [ebp - 0x94]
inc ecx
cmp ecx, dword [ebp - 0x9c]
mov dword [ebp - 0x94], ecx
jl 0x1004d19a
jmp 0x1004d213
mov eax, dword [eax + ecx]
call fcn.10049cfb
mov ebx, dword [ebp - 0x8c]
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x88]
call fcn.10047968
mov eax, dword [ebp - 0xb0]
movzx eax, byte [eax + 0x1f]
mov ecx, dword [ebp - 0xb4]
mov ebx, dword [ebp - 0x98]
push eax
mov eax, dword [ebp - 0xa0]
push dword [eax + ecx*4]
mov ecx, dword [ebp - 0xa8]
lea eax, [ebp - 0x88]
call fcn.10047caa
pop ecx
pop ecx
mov dword [ebp - 0xcc], eax
test eax, eax
jne case.0x1004bac2.17
mov ecx, dword [ebp - 0x84]
mov eax, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xb4]
mov dword [ebp - 0x90], ecx
push dword [eax + edx*4]
mov esi, dword [ebp - 0x8c]
call fcn.10049da2
mov eax, dword [ebp - 0x8c]
mov esi, dword [ebp - 0xd4]
pop ecx
mov cl, byte [ebp - 0xf0]
mov byte [eax + 0x1f], cl
jmp 0x1004d38d
mov eax, dword [ebp - 0xec]
cmp byte [eax + 1], 0xf8
jne 0x1004d38d
mov ebx, dword [ebp - 0x8c]
push 0x800
push dword [eax + 0x10]
call fcn.100478ce
pop ecx
pop ecx
cmp dword [ebp - 0x64], 0
je 0x1004d3cc
mov eax, dword [ebp - 0x8c]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov eax, dword [ebp - 0x8c]
mov ecx, 0x200
or word [eax + 0x1c], cx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x84]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x8c]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0x8c]
call fcn.1004734f
jmp 0x1004d3e4
push 0xfe41
call fcn.10073029
pop ecx
mov dword [ebp - 0xcc], eax
jmp case.0x1004bac2.17
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xc8], eax
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, ebx
jmp 0x1004d438
inc dword [ebp - 0xc8]
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x1004d41a
mov eax, edi
call fcn.100473aa
push dword [ebp - 0xf0]
mov eax, edi
push dword [ebp - 0xc4]
call fcn.1004b8d1
mov eax, dword [ebp - 0xc8]
pop ecx
pop ecx
add edi, 0x28
mov al, byte [eax]
mov byte [ebp - 0xc4], al
test al, al
jne 0x1004d402
inc dword [ebp - 0xc8]
jmp case.0x1004bac2.17
xor eax, eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xa8], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x94], eax
imul eax, eax, 0x28
mov ecx, dword [edi + 0x10]
movzx edx, byte [esi + 0x65]
add eax, ebx
mov dword [ebp - 0x90], ecx
mov ecx, eax
mov dword [ebp - 0x9c], ecx
mov eax, dword [edi + 8]
mov dword [ebp - 0x94], eax
imul eax, eax, 0x28
lea eax, [eax + ecx - 0x28]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x8c], edx
mov edi, dword [edi + 0xc]
imul edi, edi, 0x28
add edi, ebx
mov dword [ebp - 0xdc], edi
mov ebx, ecx
cmp ecx, eax
jmp 0x1004d584
cmp dword [ebp - 0x90], 0
je 0x1004d4f6
push dword [ebp - 0xf0]
mov eax, ebx
sub eax, dword [ebp - 0x9c]
push 0x28
cdq
pop ecx
idiv ecx
mov ecx, dword [ebp - 0x90]
movzx eax, byte [eax + ecx]
push eax
mov eax, ebx
call fcn.1004b8d1
mov ebx, dword [ebp - 0xc4]
pop ecx
pop ecx
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x1004d514
cmp dword [ebx + 0x18], 0
jle 0x1004d514
mov eax, ebx
call fcn.100473aa
mov ebx, dword [ebp - 0xc4]
push dword [ebp - 0x8c]
mov edx, ebx
call fcn.10049c25
pop ecx
mov dword [ebp - 0xa0], eax
call fcn.10049cfb
mov dword [ebp - 0x84], eax
cdq
add dword [ebp - 0xc0], eax
push 0
push dword [ebp - 0xa0]
adc dword [ebp - 0xbc], edx
call fcn.100382e2
add dword [ebp - 0xb8], eax
mov eax, 0x4000
pop ecx
pop ecx
test word [ebx + 0x1c], ax
je 0x1004d56b
mov eax, dword [ebx + 0x10]
add dword [ebp - 0xa8], eax
jmp 0x1004d57b
cmp dword [ebp - 0x84], 0
je 0x1004d57b
and dword [ebp - 0xa8], 0
add ebx, 0x28
cmp ebx, dword [ebp - 0x98]
mov dword [ebp - 0xc4], ebx
jbe 0x1004d4bf
mov eax, dword [ebp - 0xb8]
cdq
push edx
push eax
call fcn.100382e2
mov ebx, eax
add dword [ebp - 0xb8], ebx
mov eax, dword [ebp - 0xb8]
cdq
push edx
push eax
mov dword [ebp - 0xa4], ebx
call fcn.100382e2
add esp, 0x10
cmp ebx, eax
jge 0x1004d5c7
inc dword [ebp - 0xb8]
mov eax, dword [ebp - 0xa8]
cdq
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xb8]
mov ecx, edx
cdq
mov ebx, eax
mov eax, dword [ebp - 0xe4]
sub ebx, eax
mov eax, ecx
mov ecx, edx
sbb ecx, eax
add ebx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xd0]
adc ecx, dword [ebp - 0xbc]
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xac], ecx
mov eax, dword [eax + 0x48]
cdq
cmp ecx, edx
jg 0x1004c603
jl 0x1004d621
cmp ebx, eax
ja 0x1004c603
push 0
mov eax, ebx
call fcn.10047290
pop ecx
test eax, eax
jne 0x1004f865
mov eax, dword [ebp - 0xb8]
mov ecx, dword [edi + 4]
mov ebx, 0x80
mov dword [ebp - 0xc8], ecx
cmp eax, ebx
jae 0x1004d652
mov byte [ecx], al
xor eax, eax
inc eax
jmp 0x1004d657
call fcn.100380c3
movzx eax, al
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xc4], eax
jmp 0x1004d6bb
push dword [ebp - 0x8c]
mov edx, dword [ebp - 0xc4]
call fcn.10049c25
mov edx, dword [ebp - 0x88]
pop ecx
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xa0], eax
cmp eax, ebx
jae 0x1004d69e
mov byte [edx + ecx], al
xor eax, eax
inc eax
jmp 0x1004d6a5
add ecx, edx
call fcn.100380c3
movzx eax, al
add dword [ebp - 0x88], eax
add dword [ebp - 0xc4], 0x28
mov eax, dword [ebp - 0xc4]
cmp eax, dword [ebp - 0x98]
jbe 0x1004d66e
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xc4], eax
jmp 0x1004d70f
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0xb0]
push dword [ebp - 0x8c]
sub ecx, eax
push ecx
mov ecx, dword [ebp - 0xc8]
lea ebx, [eax + ecx]
mov eax, dword [ebp - 0xc4]
call fcn.10049d0e
add dword [ebp - 0x88], eax
add dword [ebp - 0xc4], 0x28
mov eax, dword [ebp - 0xc4]
pop ecx
pop ecx
cmp eax, dword [ebp - 0x98]
jbe 0x1004d6d1
mov eax, dword [ebp - 0xb0]
and dword [edi + 0x20], 0
mov dword [edi + 0x18], eax
mov eax, 0x410
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0xa8]
test eax, eax
je 0x1004d743
mov dword [edi + 0x10], eax
mov eax, 0x4410
mov word [edi + 0x1c], ax
mov byte [edi + 0x1f], 1
jmp case.0x1004bac2.17
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax]
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x1004d776
lea ecx, [ebp - 0xc8]
push ecx
call fcn.10045b85
pop ecx
mov dword [ebp - 0xcc], eax
jmp 0x1004d784
and dword [ebp - 0xc8], 0
and dword [ebp - 0xc4], 0
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xdc]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xc4]
jmp 0x1004bc06
mov eax, dword [edi + 4]
mov dword [ebp - 0xc8], eax
mov ebx, dword [edi + 0x10]
test eax, eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xc4], ebx
jne 0x1004d8ab
cmp dword [eax + 0x90], 0
jle 0x1004d7dc
push str.cannot_open_savepoint___SQL_statements_in_progress
push eax
lea edi, [esi + 0x38]
call fcn.1003618b
pop ecx
pop ecx
jmp 0x1004db16
mov ecx, ebx
call fcn.100378af
mov esi, dword [ebp - 0xd0]
mov dword [ebp - 0xc0], eax
mov eax, dword [esi + 0x1e4]
add eax, dword [esi + 0x1e0]
push eax
push 0
call fcn.1006a7f9
pop ecx
pop ecx
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x10050c98
mov eax, dword [ebp - 0xc0]
add eax, 0x19
push eax
call fcn.1003600c
pop ecx
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x1004c292
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0xc0]
inc eax
push eax
push dword [ebp - 0xc4]
mov eax, dword [ebp - 0xbc]
push dword [eax]
call fcn.1008a750
mov eax, esi
add esp, 0xc
cmp byte [eax + 0x1c], 0
je 0x1004d869
mov byte [eax + 0x1c], 0
mov byte [eax + 0x1e8], 1
jmp 0x1004d86f
inc dword [eax + 0x1e0]
mov esi, dword [ebp - 0xbc]
lea ecx, [eax + 0x1dc]
mov edx, dword [ecx]
mov dword [esi + 0x10], edx
mov edx, dword [ebp - 0xbc]
mov dword [ecx], edx
mov ecx, dword [eax + 0x1f0]
mov edx, dword [ebp - 0xbc]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0x1f4]
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 0xc], eax
jmp 0x1004c292
and dword [ebp - 0xb0], 0
mov edi, dword [eax + 0x1dc]
mov dword [ebp - 0xb8], edi
test edi, edi
je 0x1004d8e8
mov ecx, dword [edi]
mov edx, ebx
call fcn.100379d0
test eax, eax
je 0x1004d8e2
inc dword [ebp - 0xb0]
mov edi, dword [edi + 0x10]
mov dword [ebp - 0xb8], edi
test edi, edi
jne 0x1004d8c2
xor eax, eax
cmp edi, eax
jne 0x1004d90e
push ebx
push str.no_such_savepoint:__s
push dword [ebp - 0xd0]
lea edi, [esi + 0x38]
call fcn.1003618b
add esp, 0xc
mov dword [ebp - 0xcc], 1
jmp case.0x1004bac2.17
mov edx, dword [ebp - 0xd0]
cmp dword [edx + 0x90], eax
jg 0x1004daef
cmp dword [ebp - 0xc8], 2
jne 0x1004d936
cmp dword [edx + 0x8c], 1
jg 0x1004daf8
cmp dword [edi + 0x10], eax
jne 0x1004d999
cmp byte [edx + 0x1e8], 0
je 0x1004d999
xor eax, eax
inc eax
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xc8], eax
jne 0x1004d99f
push eax
mov eax, esi
call fcn.100496d6
mov edi, eax
pop ecx
test edi, edi
jne 0x1004c682
mov ebx, dword [ebp - 0xd0]
mov eax, esi
mov byte [ebx + 0x1c], 1
call fcn.1004972b
push 5
pop edi
cmp eax, edi
je 0x10050bdc
mov byte [ebx + 0x1e8], 0
mov eax, dword [esi + 0x5c]
mov dword [ebp - 0xcc], eax
jmp 0x1004da5f
mov dword [ebp - 0xe4], eax
mov ecx, dword [edx + 0x1e0]
sub ecx, dword [ebp - 0xb0]
xor eax, eax
dec ecx
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xac], eax
cmp dword [edx + 4], eax
jle 0x1004da07
mov edi, edx
jmp 0x1004d9c9
mov ecx, dword [ebp - 0xb0]
push ecx
mov ecx, dword [edi + 8]
push dword [ebp - 0xc8]
shl eax, 4
mov ebx, dword [eax + ecx + 4]
call fcn.100429e2
pop ecx
pop ecx
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x10050c9e
mov eax, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0xac], eax
cmp eax, dword [edi + 4]
jl 0x1004d9c3
mov edi, dword [ebp - 0xb8]
cmp dword [ebp - 0xc8], 2
mov ebx, dword [ebp - 0xd0]
jne 0x1004da65
test dword [ebx + 0xc], 0x200
je 0x1004da65
mov eax, ebx
call fcn.1004a34e
push 0xffffffffffffffff
call fcn.100581b5
or dword [ebx + 0xc], 0x200
jmp 0x1004da5e
mov eax, dword [ebx + 0x1dc]
mov dword [ebp - 0xb4], eax
mov eax, dword [eax + 0x10]
mov dword [ebx + 0x1dc], eax
push dword [ebp - 0xb4]
push ebx
call fcn.10035e45
dec dword [ebx + 0x1e0]
pop ecx
pop ecx
mov edi, dword [ebp - 0xb8]
cmp dword [ebx + 0x1dc], edi
jne 0x1004da36
cmp dword [ebp - 0xc8], 1
jne 0x1004daa2
mov eax, dword [edi + 0x10]
mov dword [ebx + 0x1dc], eax
push dword [ebp - 0xb8]
push ebx
call fcn.10035e45
cmp dword [ebp - 0xe4], 0
pop ecx
pop ecx
jne case.0x1004bac2.17
dec dword [ebx + 0x1e0]
jmp 0x1004dac1
cmp dword [ebp - 0xe4], 0
mov eax, dword [edi + 8]
mov dword [ebx + 0x1f0], eax
mov eax, dword [edi + 0xc]
mov dword [ebx + 0x1f4], eax
jne case.0x1004bac2.17
push dword [ebp - 0xb0]
mov esi, ebx
push dword [ebp - 0xc8]
call fcn.1006a7f9
mov esi, dword [ebp - 0xd4]
pop ecx
pop ecx
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x10050c9e
jmp case.0x1004bac2.17
cmp dword [ebp - 0xc8], 2
jne 0x1004daff
mov eax, str.rollback
jmp 0x1004db04
mov eax, str.release
push eax
push str.cannot__s_savepoint___SQL_statements_in_progress
push edx
lea edi, [esi + 0x38]
call fcn.1003618b
add esp, 0xc
mov dword [ebp - 0xcc], 5
jmp case.0x1004bac2.17
mov ecx, dword [edi + 4]
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xc8], ecx
mov edi, dword [edi + 8]
mov dword [ebp - 0xc4], edi
test ecx, ecx
je 0x1004db66
cmp byte [eax + 0x1c], 0
jne 0x1004db66
xor ebx, ebx
inc ebx
mov dword [ebp - 0xc0], ebx
test edi, edi
je 0x1004db87
cmp dword [eax + 0x8c], ebx
jle 0x1004db70
push str.cannot_rollback_transaction___SQL_statements_in_progress
jmp 0x1004d7cc
and dword [ebp - 0xc0], 0
xor ebx, ebx
inc ebx
movzx eax, byte [eax + 0x1c]
cmp ecx, eax
jne 0x10050bf1
test ecx, ecx
jne 0x1004db9a
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x1004dba8
cmp dword [eax + 0x90], 0
jle 0x1004db70
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x1004d7cc
mov eax, str.cannot_rollback___no_transaction_is_active
test edi, edi
jne 0x1004dba8
mov eax, str.cannot_commit___no_transaction_is_active
push eax
push dword [ebp - 0xd0]
lea edi, [esi + 0x38]
call fcn.1003618b
pop ecx
pop ecx
mov dword [ebp - 0xcc], ebx
jmp case.0x1004bac2.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd0]
mov ecx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0xc8], eax
test eax, eax
je case.0x1004bac2.17
push dword [edi + 8]
push eax
call fcn.10041fb0
pop ecx
pop ecx
mov dword [ebp - 0xcc], eax
push 5
pop eax
cmp dword [ebp - 0xcc], eax
je 0x10050c74
xor ebx, ebx
cmp dword [ebp - 0xcc], ebx
jne 0x10050c9e
cmp dword [edi + 8], ebx
je case.0x1004bac2.17
cmp byte [esi + 0x67], bl
je case.0x1004bac2.17
mov ecx, dword [ebp - 0xd0]
cmp byte [ecx + 0x1c], bl
je 0x1004dc3d
cmp dword [ecx + 0x8c], 1
jle case.0x1004bac2.17
cmp dword [esi + 0x78], ebx
jne 0x1004dc57
mov edx, dword [ecx + 0x1e0]
lea eax, [ecx + 0x1e4]
inc dword [eax]
mov eax, dword [eax]
add edx, eax
mov dword [esi + 0x78], edx
mov eax, dword [esi + 0x78]
dec eax
push eax
push ebx
mov esi, ecx
call fcn.1006a7f9
mov edi, dword [ebp - 0xd4]
pop ecx
pop ecx
mov dword [ebp - 0xcc], eax
cmp eax, ebx
jne 0x1004dca9
mov eax, dword [ebp - 0xc8]
mov ebx, dword [edi + 0x78]
mov esi, dword [eax + 4]
mov dword [ebp - 0xe4], eax
call fcn.100404fb
mov esi, dword [esi]
push ebx
call fcn.1003e43e
mov esi, dword [ebp - 0xe4]
pop ecx
mov ebx, eax
call fcn.10040569
mov dword [ebp - 0xcc], ebx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x1f0]
mov dword [edi + 0x98], ecx
mov eax, dword [eax + 0x1f4]
mov dword [edi + 0x9c], eax
jmp 0x1004c292
mov eax, dword [edi + 4]
mov dword [ebp - 0xc4], eax
mov edi, dword [edi + 0xc]
lea ecx, [ebp - 0xc8]
push ecx
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xc0], edi
mov ecx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
push edi
call fcn.10045b0a
mov eax, dword [ebp - 0xc8]
pop ecx
pop ecx
jmp 0x1004bbe3
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd0]
shl eax, 4
add eax, dword [ecx + 8]
mov dword [ebp - 0xc8], eax
mov esi, dword [edi + 0xc]
imul esi, esi, 0x28
add esi, dword [ebp - 0xe0]
call fcn.100476f3
push dword [esi + 0x10]
mov eax, dword [ebp - 0xc8]
push dword [edi + 8]
mov ebx, dword [eax + 4]
call fcn.10045b37
mov dword [ebp - 0xcc], eax
mov eax, dword [edi + 8]
pop ecx
pop ecx
cmp eax, 1
jne 0x1004dd6f
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 0xc]
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
mov eax, dword [ebp - 0xd0]
or dword [eax + 0xc], 0x200
jmp 0x1004dd83
cmp eax, 2
jne 0x1004dd83
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 0xc]
mov cl, byte [esi + 0x10]
mov byte [eax + 0x4c], cl
cmp dword [edi + 4], 1
jne 0x1004c292
mov eax, dword [ebp - 0xd0]
call fcn.1004a34e
mov eax, dword [ebp - 0xd4]
mov byte [eax + 0x63], 0
mov esi, eax
jmp case.0x1004bac2.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd0]
mov ecx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x1004ddee
lea ecx, [ebp - 0xc8]
push ecx
push 1
call fcn.10045b0a
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0xd0]
pop ecx
pop ecx
mov ecx, dword [ebx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 0xc]
mov eax, dword [eax + 4]
jmp 0x1004ddfd
and dword [ebp - 0xc8], 0
mov ebx, dword [ebp - 0xd0]
xor eax, eax
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xc4], eax
cmp ecx, dword [edi + 8]
jne 0x1004de17
cmp eax, dword [edi + 0xc]
je case.0x1004bac2.17
push dword [esi + 0x38]
push ebx
call fcn.10035e45
push str.database_schema_has_changed
mov edx, ebx
call fcn.1003611e
mov dword [esi + 0x38], eax
mov edi, dword [edi + 4]
mov ecx, dword [ebx + 8]
mov eax, edi
shl eax, 4
mov eax, dword [eax + ecx + 0xc]
mov eax, dword [eax]
add esp, 0xc
cmp eax, dword [ebp - 0xc8]
je 0x1004de58
mov ebx, dword [ebp - 0xd0]
push edi
call fcn.100581b5
pop ecx
mov byte [esi + 0x63], 1
mov dword [ebp - 0xcc], 0x11
jmp case.0x1004bac2.17
cmp byte [esi + 0x63], 0
je 0x1004de80
mov dword [ebp - 0xcc], 4
jmp case.0x1004bac2.17
mov edx, dword [ebp - 0xd0]
xor ecx, ecx
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], ecx
mov eax, dword [edi + 8]
mov dword [ebp - 0xc0], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xbc], eax
shl eax, 4
add eax, dword [edx + 8]
mov dword [ebp - 0xac], eax
mov edx, dword [eax + 4]
mov dword [ebp - 0xb4], edx
cmp byte [edi], 0x27
jne 0x1004deda
mov dword [ebp - 0xb8], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4c]
cmp al, byte [esi + 0x65]
jae 0x1004dee1
mov byte [esi + 0x65], al
jmp 0x1004dee1
and dword [ebp - 0xb8], 0
cmp byte [edi + 3], 0
je 0x1004df17
mov eax, dword [ebp - 0xc0]
imul eax, eax, 0x28
add eax, ebx
mov esi, eax
call fcn.100476f3
mov esi, dword [esi + 0x10]
cmp esi, 2
mov dword [ebp - 0xc0], esi
jl 0x10050c87
mov ecx, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xd4]
mov al, byte [edi + 1]
cmp al, 0xfa
jne 0x1004df42
mov eax, dword [edi + 0x10]
mov ecx, dword [esi]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov cl, byte [ecx + 0x4d]
mov byte [eax + 4], cl
mov eax, dword [ebp - 0xc4]
movzx ecx, word [eax + 6]
inc ecx
jmp 0x1004df49
cmp al, 0xf2
jne 0x1004df4f
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xc8], ecx
mov edx, dword [edi + 4]
push 1
push dword [ebp - 0xbc]
mov eax, esi
push ecx
call fcn.1004b79b
add esp, 0xc
mov dword [ebp - 0xb0], eax
test eax, eax
je 0x1004f865
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xb0]
mov byte [eax + 0x20], 1
push dword [ebp - 0xc4]
mov eax, dword [ebp - 0xb0]
push dword [ebp - 0xc0]
mov eax, dword [eax]
mov ebx, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xb4]
call fcn.10042a4d
mov edx, dword [ebp - 0xc4]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xb0]
mov dword [ebp - 0xcc], eax
mov dword [ecx + 8], edx
cmp eax, 0x10
jne 0x1004dfd2
mov eax, dword [ebp - 0xb0]
and dword [eax], 0
and dword [ebp - 0xcc], 0
cmp byte [edi + 1], 0xfa
mov ecx, dword [ebp - 0xb0]
setne al
mov byte [ecx + 0x1e], al
mov eax, dword [ebp - 0xb0]
cmp byte [eax + 0x1e], 0
sete cl
jmp 0x1004bcf1
mov edx, dword [edi + 4]
push 1
push 0xffffffffffffffff
push dword [edi + 8]
mov eax, esi
call fcn.1004b79b
add esp, 0xc
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x1004f865
mov byte [eax + 0x1c], 1
movzx eax, byte [edi + 3]
mov ecx, dword [ebp - 0xc8]
push 0x41e
or eax, 9
push eax
mov eax, dword [ebp - 0xd0]
push eax
push dword [eax]
add ecx, 4
xor edx, edx
call fcn.1004153a
add esp, 0x10
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x1004e186
mov eax, dword [ebp - 0xc8]
push 1
push dword [eax + 4]
call fcn.10041fb0
pop ecx
pop ecx
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x1004e186
cmp dword [edi + 0x10], eax
je 0x1004e0ef
lea eax, [ebp - 0x11c]
push 2
push eax
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 4]
call fcn.100457e2
pop ecx
pop ecx
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x1004e0e0
push dword [edi + 0x10]
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ecx]
push dword [ebp - 0x11c]
mov ecx, dword [ecx + 4]
xor ebx, ebx
inc ebx
call fcn.10042a4d
mov dword [ebp - 0xcc], eax
mov eax, dword [edi + 0x10]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 8], eax
mov eax, dword [esi]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0xc8]
mov ecx, dword [ecx + 8]
mov al, byte [eax + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1e], 0
jmp 0x1004e186
mov eax, dword [ebp - 0xc8]
mov ebx, dword [eax + 4]
mov esi, dword [eax]
mov eax, ebx
call fcn.100404fb
mov eax, dword [ebx + 4]
cmp byte [eax + 0x10], 0
je 0x1004e116
mov dword [ebp - 0xe4], 8
jmp 0x1004e163
xor edx, edx
cmp dword [eax + 0x30], edx
jne 0x1004e129
mov dword [ebp - 0xe4], 0x10
jmp 0x1004e163
or ecx, 0xffffffff
mov dword [esi + 0x14], 1
mov word [esi + 0x5a], cx
mov dword [esi + 0x10], edx
mov dword [esi], ebx
mov dword [esi + 4], eax
mov byte [esi + 0x50], 1
mov ecx, dword [eax + 8]
mov dword [esi + 8], ecx
cmp ecx, edx
je 0x1004e150
mov dword [ecx + 0xc], esi
mov dword [eax + 8], esi
mov byte [esi + 0x53], 0
mov dword [esi + 0x18], edx
mov dword [esi + 0x1c], edx
mov dword [ebp - 0xe4], edx
mov esi, ebx
call fcn.10040569
mov eax, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1e], 1
cmp byte [edi + 3], 0x10
mov ecx, dword [ebp - 0xc8]
setne al
mov byte [ecx + 0x20], al
mov eax, dword [ebp - 0xc8]
jmp 0x1004dfe8
mov edx, dword [edi + 4]
push 0
push 0xffffffffffffffff
push dword [edi + 0xc]
mov eax, esi
call fcn.1004b79b
add esp, 0xc
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x1004f865
mov byte [eax + 0x1c], 1
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1e], 1
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1f], 0
jmp case.0x1004bac2.17
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov ebx, esi
call fcn.10048fec
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
and dword [ecx + eax*4], 0
jmp case.0x1004bac2.17
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc0], eax
cmp dword [eax], 0
je 0x1004badd
movzx ecx, byte [edi]
mov dword [ebp - 0xc4], ecx
mov byte [eax + 0x1c], 0
mov ecx, dword [ebp - 0xc0]
cmp byte [ecx + 0x1e], 0
je 0x1004e40e
mov esi, dword [edi + 0xc]
imul esi, esi, 0x28
add esi, ebx
call fcn.1004b856
mov ecx, esi
call fcn.100475f0
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x94], edx
mov byte [eax + 0x19], 0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x1004e398
test al, 8
jne 0x1004e289
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xd8], edi
jmp 0x1004c292
xor ebx, ebx
cmp dword [ebp - 0x98], ebx
jne 0x1004e349
mov eax, SysReAllocString
cmp dword [ebp - 0x94], eax
jne 0x1004e349
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x128], ebx
fild qword [ebp - 0x128]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
je 0x1004e2d0
fldz
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x1004e349
fldz
mov dword [ebp - 0xc8], 1
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x1004e304
cmp dword [ebp - 0xc4], 0x2e
jl 0x1004e27a
mov eax, dword [ebp - 0xc0]
mov esi, dword [eax]
lea edi, [ebp - 0xc8]
call fcn.100431eb
jmp 0x1004e324
cmp dword [ebp - 0xc4], 0x2d
jg 0x1004e27a
mov eax, dword [ebp - 0xc0]
mov esi, dword [eax]
lea edi, [ebp - 0xc8]
call fcn.10043210
mov dword [ebp - 0xcc], eax
cmp eax, ebx
jne 0x10050c98
cmp dword [ebp - 0xc8], ebx
je 0x1004c292
mov edi, dword [ebp - 0xec]
jmp 0x1004e27a
cmp dword [ebp - 0xc4], 0x2c
je 0x1004e37b
cmp dword [ebp - 0xc4], 0x2e
je 0x1004e37b
fild qword [ebp - 0x98]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x1004e398
add dword [ebp - 0x98], 0xffffffff
adc dword [ebp - 0x94], 0xffffffff
jmp 0x1004e398
fild qword [ebp - 0x98]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x1004e398
add dword [ebp - 0x98], 1
adc dword [ebp - 0x94], ebx
lea eax, [ebp - 0xc8]
push eax
mov eax, dword [ebp - 0xc0]
mov ebx, dword [eax]
push 0
push dword [ebp - 0x94]
push dword [ebp - 0x98]
push 0
call fcn.1004324d
add esp, 0x14
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x10050c98
mov esi, dword [ebp - 0xd4]
xor ebx, ebx
cmp dword [ebp - 0xc8], ebx
jne 0x1004e49c
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x19], 1
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xc0]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0xc0]
mov dword [ecx + 0x44], eax
jmp 0x1004e49c
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xa0], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0xb8], eax
mov ax, word [ebp - 0xa0]
mov word [ebp - 0xb4], ax
mov eax, dword [ebp - 0xc4]
and eax, 1
shl eax, 3
mov word [ebp - 0xb2], ax
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, ebx
mov edx, 0x4000
mov dword [ebp - 0xa8], eax
test word [eax + 0x1c], dx
je 0x1004e465
call fcn.100473aa
mov ecx, dword [ebp - 0xc0]
mov ebx, dword [ecx]
lea eax, [ebp - 0xc8]
push eax
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0xb8]
push eax
call fcn.1004324d
add esp, 0x14
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x10050c9e
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x19], 0
xor ebx, ebx
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x1d], bl
mov eax, dword [ebp - 0xc0]
mov dword [eax + 0x4c], ebx
cmp dword [ebp - 0xc4], 0x2e
jl 0x1004e4eb
cmp dword [ebp - 0xc8], ebx
jl 0x1004e4d5
jne 0x1004e4ca
cmp dword [ebp - 0xc4], 0x2f
je 0x1004e4d5
mov dword [ebp - 0xc8], ebx
jmp case.0x1004bac2.17
lea eax, [ebp - 0xc8]
push eax
mov eax, dword [ebp - 0xc0]
push dword [eax]
call fcn.10043521
jmp 0x1004e52b
cmp dword [ebp - 0xc8], ebx
jg 0x1004e517
jne 0x1004e4fe
cmp dword [ebp - 0xc4], 0x2c
je 0x1004e517
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
xor ecx, ecx
cmp byte [eax + 0x53], 1
setne cl
mov dword [ebp - 0xc8], ecx
jmp 0x1004e546
lea eax, [ebp - 0xc8]
push eax
mov eax, dword [ebp - 0xc0]
push dword [eax]
call fcn.1004362d
pop ecx
mov dword [ebp - 0xcc], eax
pop ecx
cmp eax, ebx
jne 0x10050c9e
mov eax, dword [ebp - 0xc0]
xor ebx, ebx
mov byte [eax + 0x19], bl
cmp dword [ebp - 0xc8], ebx
jmp 0x1004ca82
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc8], eax
cmp dword [eax], 0
je case.0x1004bac2.17
mov byte [eax + 0x1c], 0
mov edi, dword [edi + 8]
imul edi, edi, 0x28
add edi, ebx
mov ecx, edi
call fcn.100475f0
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1d], 1
jmp case.0x1004bac2.17
mov ecx, dword [esi + 0x44]
xor edx, edx
mov dword [ebp - 0xc8], edx
mov eax, dword [edi + 4]
mov ecx, dword [ecx + eax*4]
mov dword [ebp - 0xc4], ecx
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, ebx
cmp dword [ecx], edx
je 0x1004e6ad
cmp dword [edi + 0x10], edx
jle 0x1004e605
mov edx, dword [ecx + 8]
mov dword [ebp - 0xb8], edx
mov dx, word [edi + 0x10]
mov dword [ebp - 0xa8], eax
push 0x10
pop eax
mov word [ebp - 0xb2], ax
lea eax, [ebp - 0xb8]
mov word [ebp - 0xb4], dx
mov dword [ebp - 0xbc], eax
jmp 0x1004e639
push dword [eax + 4]
mov ebx, dword [ecx + 8]
push dword [eax + 0x18]
mov edx, 0x97
lea eax, [ebp - 0xa0]
call fcn.10049f4a
pop ecx
pop ecx
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x1004f865
or word [eax + 6], 0x10
mov ecx, dword [ebp - 0xc4]
mov ebx, dword [ecx]
lea eax, [ebp - 0xc0]
push eax
xor eax, eax
push eax
push eax
push eax
push dword [ebp - 0xbc]
call fcn.1004324d
add esp, 0x14
cmp dword [edi + 0x10], 0
mov dword [ebp - 0xcc], eax
jne 0x1004e679
mov eax, dword [ebp - 0xbc]
test byte [eax + 6], 1
je 0x1004e679
push eax
mov eax, dword [eax]
push dword [eax]
call fcn.10035e45
pop ecx
pop ecx
cmp dword [ebp - 0xcc], 0
jne case.0x1004bac2.17
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0xc0], eax
sete cl
xor edx, edx
mov dword [ebp - 0xc8], ecx
mov ecx, dword [ebp - 0xc4]
mov byte [ecx + 0x1d], al
mov ecx, dword [ebp - 0xc4]
mov dword [ecx + 0x4c], eax
cmp byte [edi], 0x32
jne 0x1004e6bd
cmp dword [ebp - 0xc8], edx
jmp 0x1004ca82
cmp dword [ebp - 0xc8], edx
jmp 0x1004ce75
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
mov ecx, dword [esi + 0x44]
add eax, ebx
mov dword [ebp - 0xe4], eax
mov eax, dword [edi + 0x10]
imul eax, eax, 0x28
add eax, ebx
mov dword [ebp - 0xb8], eax
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc4], eax
and dword [eax + 0x48], 0
mov eax, dword [ebp - 0xc4]
and dword [eax + 0x4c], 0
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax]
mov dword [ebp - 0xc0], ecx
mov ecx, dword [eax + 8]
mov cx, word [ecx + 6]
xor edx, edx
mov word [ebp - 0xc8], dx
cmp dx, cx
mov edx, dword [ebp - 0xb8]
mov word [ebp - 0xbc], cx
jae 0x1004e765
movzx ebx, word [ebp - 0xc8]
imul ebx, ebx, 0x28
test byte [ebx + edx + 0x1c], 1
jne 0x1004e754
inc word [ebp - 0xc8]
cmp word [ebp - 0xc8], cx
jb 0x1004e731
jmp 0x1004e765
mov ecx, dword [edi + 8]
dec ecx
and dword [ebp - 0xc0], 0
mov dword [ebp - 0xd8], ecx
cmp dword [ebp - 0xc0], 0
je case.0x1004bac2.17
mov eax, dword [eax + 8]
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xbc]
inc eax
mov word [ebp - 0xac], ax
push 0x20
pop eax
mov word [ebp - 0xaa], ax
mov dword [ebp - 0xa0], edx
call fcn.100476f3
mov eax, dword [esi + 0x10]
mov ebx, dword [ebp - 0xc0]
mov dword [ebp - 0x98], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0xc4]
add eax, 0x48
push eax
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0xb0]
push eax
call fcn.1004324d
add esp, 0x14
test byte [ebp - 0xaa], 0x20
mov dword [ebp - 0xcc], eax
jne 0x1004e27a
mov ecx, dword [ebp - 0xa8]
cmp ecx, dword [ebp - 0x98]
jne 0x1004e80d
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0x94]
je 0x1004e27a
mov eax, dword [ebp - 0xe4]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xa4]
mov dword [eax + 0x14], ecx
jmp 0x1004c292
mov eax, dword [edi + 0xc]
mov ecx, dword [esi + 0x44]
imul eax, eax, 0x28
add eax, ebx
mov dword [ebp - 0xe4], eax
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc8], eax
mov ebx, dword [eax]
mov dword [ebp - 0xc4], ebx
test ebx, ebx
je 0x1004e8fa
and dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax + 0x10]
lea edx, [ebp - 0xc0]
push edx
mov dword [ebp - 0xb8], ecx
mov eax, dword [eax + 0x14]
push 0
push eax
push ecx
push 0
mov dword [ebp - 0xb4], eax
call fcn.1004324d
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax + 0x10]
mov dword [edx + 0x40], ecx
mov ecx, dword [ebp - 0xc8]
mov eax, dword [eax + 0x14]
mov dword [ecx + 0x44], eax
mov edx, dword [ebp - 0xc8]
xor eax, eax
add esp, 0x14
cmp dword [ebp - 0xc0], eax
sete cl
mov byte [edx + 0x19], cl
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x1c], al
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x4c], eax
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x1d], al
mov ecx, dword [ebp - 0xc0]
cmp ecx, eax
je 0x1004e8ec
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xd8], edi
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x48], ecx
jmp case.0x1004bac2.17
mov edi, dword [edi + 8]
dec edi
and dword [eax + 0x48], 0
mov dword [ebp - 0xd8], edi
jmp case.0x1004bac2.17
mov ecx, dword [esi + 0x44]
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov edx, dword [eax + 0x30]
mov ecx, dword [ebp - 0xdc]
mov dword [ecx + 0x10], edx
mov eax, dword [eax + 0x34]
mov dword [ecx + 0x14], eax
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
jmp case.0x1004bac2.17
mov ecx, dword [esi + 0x44]
xor edx, edx
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xbc], edx
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc0], eax
mov ecx, dword [eax]
cmp ecx, edx
je 0x1004d784
cmp byte [eax + 0x1b], dl
jne 0x1004eb21
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0xc8], edx
mov ecx, dword [ecx + 0x1c]
or edx, ecx
mov dword [ebp - 0xc4], ecx
jne 0x1004ea25
mov esi, dword [eax]
lea edi, [ebp - 0xbc]
call fcn.10043210
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x10050c98
cmp dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0xc0]
je 0x1004e9cb
and dword [ebp - 0xc4], 0
mov dword [ebp - 0xc8], 1
jmp 0x1004ea13
mov eax, dword [eax]
lea edi, [ebp - 0xc8]
call fcn.10042b93
cmp dword [ebp - 0xc8], 0xffffffff
mov dword [ebp - 0xcc], eax
jne 0x1004e9ff
cmp dword [ebp - 0xc4], 0x7fffffff
jne 0x1004e9ff
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x1b], 1
jmp 0x1004ea0d
add dword [ebp - 0xc8], 1
adc dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0xc0]
mov esi, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xec]
mov ebx, dword [ebp - 0xe0]
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x1004eade
mov esi, dword [esi + 0xa8]
test esi, esi
je 0x1004ea58
mov eax, esi
jmp 0x1004ea40
mov eax, ecx
mov dword [ebp - 0xb0], eax
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x1004ea3e
mov edi, dword [edi + 0xc]
imul edi, edi, 0x28
add edi, dword [eax + 0x10]
jmp 0x1004ea5f
imul ecx, ecx, 0x28
add ecx, ebx
mov edi, ecx
mov esi, edi
mov dword [ebp - 0xb4], edi
call fcn.100476f3
mov eax, dword [ebp - 0xb4]
mov edx, dword [eax + 0x14]
add eax, 0x10
mov ecx, dword [eax]
cmp ecx, 0xffffffff
jne 0x1004ea8b
cmp edx, 0x7fffffff
je 0x10050ce6
mov esi, dword [ebp - 0xc0]
cmp byte [esi + 0x1b], 0
jne 0x10050ce6
mov esi, dword [ebp - 0xc4]
add ecx, 1
adc edx, 0
cmp esi, edx
jg 0x1004eac1
jl 0x1004eab5
cmp dword [ebp - 0xc8], ecx
jae 0x1004eac1
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], edx
mov ecx, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xd4]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xc4]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xc4]
cmp edx, 0x7fffffff
jg 0x1004eb01
mov ecx, dword [ebp - 0xc8]
jl 0x1004eaf9
cmp ecx, 0xffffffff
jae 0x1004eb01
add ecx, 1
adc edx, 0
jmp 0x1004eb05
xor ecx, ecx
xor edx, edx
push edx
push ecx
mov ecx, dword [eax]
call fcn.10042abd
mov eax, dword [ebp - 0xc0]
add esp, 8
cmp byte [eax + 0x1b], 0
je 0x1004ec28
mov ecx, dword [ebp - 0xfc]
mov edx, dword [ebp - 0x100]
mov edi, 0x3fffffff
and ecx, edi
add edx, 1
lea ebx, [ebp - 0xbc]
push ebx
adc ecx, 0
and dword [ebp - 0xb8], 0
push 0
push ecx
push edx
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xc4], ecx
mov ebx, dword [eax]
push 0
call fcn.1004324d
xor ebx, ebx
add esp, 0x14
mov dword [ebp - 0xcc], eax
cmp eax, ebx
jne 0x1004ec22
cmp dword [ebp - 0xbc], ebx
jne 0x1004ec0e
inc dword [ebp - 0xb8]
cmp dword [ebp - 0xb8], 0x64
jge 0x1004ec0e
lea eax, [ebp - 0xc8]
push eax
push 8
call fcn.1003730a
cmp dword [ebp - 0xb8], 5
pop ecx
pop ecx
jge 0x1004ebba
and dword [ebp - 0xc8], 0xffffff
mov dword [ebp - 0xc4], ebx
jmp 0x1004ebcc
mov eax, dword [ebp - 0xc8]
and dword [ebp - 0xc4], edi
mov dword [ebp - 0xc8], eax
add dword [ebp - 0xc8], 1
lea eax, [ebp - 0xbc]
push eax
adc dword [ebp - 0xc4], ebx
mov eax, dword [ebp - 0xc0]
push ebx
push dword [ebp - 0xc4]
push dword [ebp - 0xc8]
push ebx
mov ebx, dword [eax]
call fcn.1004324d
add esp, 0x14
xor ebx, ebx
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x1004eb74
cmp dword [ebp - 0xcc], ebx
jne 0x1004ec22
cmp dword [ebp - 0xbc], ebx
je 0x10050cf2
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xc0]
and dword [eax + 0x4c], 0
jmp 0x1004d784
mov ecx, dword [edi + 8]
mov edx, dword [esi + 0x44]
imul ecx, ecx, 0x28
add ecx, ebx
mov dword [ebp - 0xc8], ecx
mov eax, dword [edi + 4]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xb8], eax
cmp byte [edi], 0x37
jne 0x1004ec83
mov edx, dword [edi + 0xc]
imul edx, edx, 0x28
add edx, ebx
mov dword [ebp - 0xc4], edx
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xc0], eax
mov edx, dword [edx + 0x14]
jmp 0x1004ec8d
mov eax, dword [edi + 0xc]
cdq
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
test byte [edi + 3], 1
je 0x1004ec9c
inc dword [esi + 0x6c]
test byte [edi + 3], 2
je 0x1004ecc6
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x30], eax
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xbc]
mov dword [ecx + 0x34], eax
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xfc], edx
test byte [ecx + 0x1c], 1
je 0x1004ece0
and dword [ecx + 4], 0
mov eax, dword [ebp - 0xc8]
and dword [eax + 0x18], 0
mov ecx, dword [ebp - 0xc8]
test byte [edi + 3], 0x10
je 0x1004ecf7
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x48]
mov dword [ebp - 0xb0], eax
jmp 0x1004ecfe
and dword [ebp - 0xb0], 0
mov eax, 0x4000
test word [ecx + 0x1c], ax
je 0x1004ed14
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0xb4], eax
jmp 0x1004ed1b
and dword [ebp - 0xb4], 0
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax]
xor ebx, ebx
push ebx
push ebx
call fcn.10042abd
push dword [ebp - 0xb0]
movzx eax, byte [edi + 3]
and eax, 8
push eax
push dword [ebp - 0xb4]
mov eax, dword [ebp - 0xc8]
push dword [eax + 0x18]
push dword [eax + 4]
mov eax, dword [ebp - 0xb8]
push dword [ebp - 0xbc]
mov esi, dword [eax]
push dword [ebp - 0xc0]
push ebx
call fcn.1004523c
mov ecx, dword [ebp - 0xb8]
mov byte [ecx + 0x19], bl
mov ecx, dword [ebp - 0xb8]
mov byte [ecx + 0x1d], bl
mov ecx, dword [ebp - 0xb8]
add esp, 0x28
mov dword [ebp - 0xcc], eax
mov dword [ecx + 0x4c], ebx
cmp eax, ebx
jne 0x1004c292
mov eax, dword [ebp - 0xd0]
cmp dword [eax + 0xbc], ebx
je 0x1004c292
cmp dword [edi + 0x10], ebx
je 0x1004c292
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xd0]
mov edx, dword [eax + 8]
push dword [ebp - 0xbc]
shl ecx, 4
mov edx, dword [ecx + edx]
push dword [ebp - 0xc0]
mov dword [ebp - 0xac], edx
mov esi, dword [edi + 0x10]
mov dword [ebp - 0xa8], esi
mov cl, byte [edi + 3]
and cl, 4
movzx ecx, cl
neg ecx
sbb ecx, ecx
push esi
and ecx, 5
add ecx, 0x12
push edx
push ecx
mov dword [ebp - 0xa4], ecx
push dword [eax + 0xb8]
call dword [eax + 0xbc]
add esp, 0x18
jmp 0x1004c292
mov edx, dword [esi + 0x44]
xor ecx, ecx
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], ecx
mov eax, dword [edi + 4]
mov eax, dword [edx + eax*4]
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xc0], eax
cmp dword [edx + 0xbc], ecx
je 0x1004ee52
cmp dword [edi + 0x10], ecx
je 0x1004ee52
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0xc8], ecx
mov ecx, dword [eax + 0x44]
mov dword [ebp - 0xc4], ecx
mov edi, eax
call fcn.10049b8a
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x10050c9e
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax]
xor edi, edi
push edi
push edi
call fcn.10042abd
mov eax, dword [ebp - 0xc0]
mov esi, dword [eax]
add esp, 8
call fcn.100453fb
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xcc], eax
mov dword [ecx + 0x4c], edi
cmp eax, edi
jne 0x1004eee4
mov eax, dword [ebp - 0xd0]
mov edx, dword [eax + 0xbc]
cmp edx, edi
je 0x1004eee4
mov ecx, dword [ebp - 0xec]
mov ecx, dword [ecx + 0x10]
cmp ecx, edi
je 0x1004eee4
push dword [ebp - 0xc4]
mov esi, dword [eax + 8]
push dword [ebp - 0xc8]
push ecx
mov ecx, dword [ebp - 0xc0]
mov ecx, dword [ecx + 0xc]
shl ecx, 4
push dword [ecx + esi]
push 9
push dword [eax + 0xb8]
call edx
add esp, 0x18
mov eax, dword [ebp - 0xec]
test byte [eax + 8], 1
je 0x1004c292
mov eax, dword [ebp - 0xd4]
inc dword [eax + 0x6c]
jmp 0x1004dda2
mov ecx, dword [esi + 0x6c]
mov eax, dword [ebp - 0xd0]
add dword [eax + 0x40], ecx
mov dword [eax + 0x3c], ecx
and dword [esi + 0x6c], 0
jmp case.0x1004bac2.17
mov ebx, dword [edi + 8]
mov eax, dword [edi + 4]
imul ebx, ebx, 0x28
mov ecx, dword [esi + 0x44]
mov edi, dword [ecx + eax*4]
add ebx, dword [ebp - 0xe0]
mov dword [ebp - 0xc8], edi
mov eax, dword [edi]
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0xc4], eax
call fcn.10049b8a
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x10050c9e
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x1f], 0
je 0x1004efa5
mov eax, dword [ebp - 0xc4]
lea edi, [ebp - 0xb8]
call fcn.10042b93
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0x48]
cdq
mov ecx, eax
mov eax, dword [ebp - 0xb4]
cmp eax, edx
jg 0x1004c603
mov eax, dword [ebp - 0xb8]
jl 0x1004ef9d
cmp eax, ecx
ja 0x1004c603
mov dword [ebp - 0xc0], eax
jmp 0x1004efd0
mov edi, dword [ebp - 0xc4]
mov esi, edi
call fcn.10042b6b
mov eax, dword [edi + 0x2c]
mov ecx, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 0xc0], eax
cmp eax, dword [ecx + 0x48]
ja 0x1004c603
push 0
mov edi, ebx
call fcn.10047290
pop ecx
test eax, eax
jne 0x1004f865
mov eax, dword [ebp - 0xc0]
mov dword [ebx + 0x18], eax
mov ax, word [ebx + 0x1c]
mov ecx, 0xbf10
and ax, cx
or ax, 0x10
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x1f], 0
je 0x1004f026
mov eax, dword [ebx + 4]
push 0
push eax
push dword [ebp - 0xc0]
mov eax, dword [ebp - 0xc4]
push 0
call fcn.10042c9f
jmp 0x1004f03c
push dword [ebx + 4]
push dword [ebp - 0xc0]
push 0
push dword [ebp - 0xc4]
call fcn.10042f1c
mov dword [ebp - 0xcc], eax
add esp, 0x10
mov byte [ebx + 0x1f], 1
jmp case.0x1004bac2.17
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov edi, dword [ecx + eax*4]
mov dword [ebp - 0xc8], edi
cmp byte [edi + 0x1c], 0
jne case.0x1004bac2.10
cmp byte [edi + 0x1d], 0
je 0x1004f07b
mov eax, dword [edi + 0x38]
mov dword [ebp - 0xc0], eax
mov eax, dword [edi + 0x3c]
jmp 0x1004f0e9
cmp dword [edi + 0x24], 0
je 0x1004f0be
mov eax, dword [edi + 0x24]
mov eax, dword [eax]
mov dword [ebp - 0xb8], eax
mov eax, dword [eax]
lea ecx, [ebp - 0xc0]
push ecx
mov dword [ebp - 0xb4], eax
push dword [edi + 0x24]
call dword [eax + 0x30]
mov esi, dword [ebp - 0xb8]
mov edi, dword [ebp - 0xd4]
pop ecx
pop ecx
mov dword [ebp - 0xcc], eax
call fcn.1004b936
mov esi, edi
jmp 0x1004f104
call fcn.10049b8a
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x10050c9e
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x19], 0
je 0x1004f0f1
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0xc0], ecx
mov eax, dword [eax + 0x44]
mov dword [ebp - 0xbc], eax
jmp 0x1004f104
mov eax, dword [eax]
lea edi, [ebp - 0xc0]
call fcn.10042b93
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xdc]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xbc]
jmp 0x1004bc06
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc8], eax
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax]
test eax, eax
je case.0x1004bac2.17
mov esi, eax
call fcn.1004082b
jmp 0x1004c292
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc8], eax
mov ecx, dword [eax]
mov dword [ebp - 0xc4], ecx
test ecx, ecx
jne 0x1004f17e
mov dword [ebp - 0xc0], 1
jmp 0x1004f1a3
lea edi, [ebp - 0xc0]
mov esi, ecx
call fcn.10043210
mov esi, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xec]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
mov cl, byte [ebp - 0xc0]
mov byte [eax + 0x1c], cl
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xc8]
and dword [eax + 0x4c], 0
mov edi, dword [edi + 8]
test edi, edi
jle case.0x1004bac2.17
cmp dword [ebp - 0xc0], 0
je case.0x1004bac2.17
jmp 0x1004bae0
inc dword [esi + 0x80]
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc0], 1
mov ecx, dword [eax]
mov dword [ebp - 0xc4], ecx
test ecx, ecx
je 0x1004f268
lea edi, [ebp - 0xc0]
mov esi, ecx
call fcn.100431eb
cmp dword [ebp - 0xc0], 0
mov ecx, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xec]
mov dword [ebp - 0xcc], eax
sete al
mov byte [ecx + 0x1a], al
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xc8]
and dword [eax + 0x4c], 0
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xc8]
mov cl, byte [ebp - 0xc0]
mov byte [eax + 0x1c], cl
cmp dword [ebp - 0xc0], 0
jmp 0x1004ca82
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0xe0]
test eax, eax
jne 0x10050cfe
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc8], eax
test eax, eax
je case.0x1004bac2.17
mov ecx, dword [eax]
mov dword [ebp - 0xc4], ecx
test ecx, ecx
jne 0x1004f2bd
mov byte [eax + 0x1c], 1
jmp case.0x1004bac2.17
lea eax, [ebp - 0xc0]
mov dword [ebp - 0xc0], 1
cmp byte [edi], 0x43
push eax
push ecx
jne 0x1004f2db
call fcn.10043521
jmp 0x1004f2e0
call fcn.1004362d
pop ecx
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
pop ecx
mov cl, byte [ebp - 0xc0]
mov byte [eax + 0x1c], cl
mov eax, dword [ebp - 0xc8]
and dword [eax + 0x4c], 0
cmp dword [ebp - 0xc0], 0
jne 0x1004f324
mov eax, dword [edi + 8]
dec eax
mov dword [ebp - 0xd8], eax
mov al, byte [edi + 3]
test al, al
je 0x1004f324
movzx eax, al
lea eax, [esi + eax*4 + 0x78]
inc dword [eax]
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], 0
jmp case.0x1004bac2.17
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov ecx, dword [ecx + eax*4]
mov dword [ebp - 0xc8], ecx
mov ebx, dword [edi + 8]
mov eax, dword [ecx]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0xe0]
mov dword [ebp - 0xc4], eax
test eax, eax
je case.0x1004bac2.17
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x1004f37e
mov eax, ebx
call fcn.100473aa
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xcc], eax
jmp 0x1004f385
and dword [ebp - 0xcc], 0
cmp dword [ebp - 0xcc], 0
jne case.0x1004bac2.17
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0xc0], eax
mov ebx, dword [ebx + 4]
mov dword [ebp - 0xbc], ebx
test byte [edi + 3], 0x10
je 0x1004f3af
mov ecx, dword [ecx + 0x48]
jmp 0x1004f3b1
xor ecx, ecx
mov esi, dword [ebp - 0xc4]
push ecx
push dword [edi + 0xc]
xor edi, edi
push edi
push edi
cdq
push 0x100b3e7e
push edx
push eax
push ebx
call fcn.1004523c
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
add esp, 0x20
mov dword [eax + 0x4c], edi
jmp 0x1004c292
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc8], eax
mov ebx, dword [eax]
mov dword [ebp - 0xc4], ebx
test ebx, ebx
je case.0x1004bac2.17
mov eax, dword [eax + 8]
mov dword [ebp - 0xb8], eax
mov ax, word [edi + 0xc]
mov word [ebp - 0xb4], ax
xor eax, eax
mov word [ebp - 0xb2], ax
mov eax, dword [edi + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0xc0]
push eax
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0xb8]
push eax
call fcn.1004324d
add esp, 0x14
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x1004f476
cmp dword [ebp - 0xc0], eax
jne 0x1004f476
mov esi, dword [ebp - 0xc4]
call fcn.100453fb
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
and dword [eax + 0x4c], 0
jmp case.0x1004bac2.17
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xc4], eax
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
xor eax, eax
inc eax
mov word [ecx + 0x1c], ax
cmp dword [ebp - 0xc8], 0
je case.0x1004bac2.17
mov edi, dword [ebp - 0xc4]
call fcn.10049b8a
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x10050c9e
mov eax, dword [ebp - 0xc4]
cmp byte [eax + 0x1c], 0
jne case.0x1004bac2.17
lea eax, [ebp - 0xc0]
push eax
push dword [ebp - 0xc8]
call fcn.1004a1e0
pop ecx
pop ecx
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x10050c9e
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xdc]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xbc]
push 4
mov dword [eax + 0x14], ecx
pop ecx
jmp 0x1004c86a
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc8], eax
cmp dword [eax], 0
je case.0x1004bac2.17
mov ecx, dword [eax + 8]
mov dword [ebp - 0xc0], ecx
mov cx, word [edi + 0x10]
mov word [ebp - 0xbc], cx
cmp byte [edi + 3], 0
je 0x1004f557
push 0xc
jmp 0x1004f559
push 4
pop ecx
mov word [ebp - 0xba], cx
mov ecx, dword [edi + 0xc]
imul ecx, ecx, 0x28
add ecx, ebx
mov dword [ebp - 0xb0], ecx
lea ecx, [ebp - 0xc4]
push ecx
lea ecx, [ebp - 0xc0]
push ecx
mov esi, eax
call fcn.1004a2c3
cmp byte [edi], 0x51
pop ecx
pop ecx
mov dword [ebp - 0xcc], eax
jne 0x1004f599
neg dword [ebp - 0xc4]
jmp 0x1004f59f
inc dword [ebp - 0xc4]
cmp dword [ebp - 0xc4], 0
mov esi, dword [ebp - 0xd4]
jle case.0x1004bac2.17
jmp 0x1004badd
mov eax, dword [ebp - 0xd0]
and dword [ebp - 0xc4], 0
mov eax, dword [eax + 0x88]
jmp 0x1004f5ea
cmp dword [eax + 0x34], 0xbdf20da3
jne 0x1004f5e7
cmp byte [eax + 0x66], 2
jae 0x1004f5e7
cmp dword [eax + 0x58], 0
jl 0x1004f5e7
inc dword [ebp - 0xc4]
mov eax, dword [eax + 0x40]
mov dword [ebp - 0xc0], eax
test eax, eax
jne 0x1004f5cc
mov ecx, dword [ebp - 0xdc]
xor eax, eax
inc eax
mov word [ecx + 0x1c], ax
cmp dword [ebp - 0xc4], eax
jle 0x1004f61c
mov dword [ebp - 0xcc], 6
mov byte [esi + 0x60], 2
jmp case.0x1004bac2.17
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xbc], eax
mov ecx, dword [ecx + 8]
mov ebx, dword [edi + 4]
shl eax, 4
mov esi, dword [eax + ecx + 4]
mov eax, esi
call fcn.100404fb
lea eax, [ebp - 0xc8]
push eax
push ebx
push esi
call fcn.10045976
add esp, 0xc
mov ebx, eax
call fcn.10040569
mov ecx, dword [ebp - 0xdc]
push 4
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xc8]
cdq
mov dword [ebp - 0xcc], ebx
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
test ebx, ebx
jne 0x1004c292
mov esi, dword [ebp - 0xc8]
test esi, esi
je 0x1004c292
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xd0]
mov edi, dword [edi + 4]
shl eax, 4
add eax, dword [ecx + 8]
mov ecx, dword [eax + 0xc]
mov ecx, dword [ecx + 0x10]
jmp 0x1004f6b7
mov edx, dword [ecx + 8]
cmp dword [edx + 0x14], esi
jne 0x1004f6b5
mov dword [edx + 0x14], edi
mov ecx, dword [ecx]
test ecx, ecx
jne 0x1004f6aa
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x20]
jmp 0x1004f6d0
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x14], esi
jne 0x1004f6ce
mov dword [ecx + 0x14], edi
mov eax, dword [eax]
test eax, eax
jne 0x1004f6c3
mov al, byte [ebp - 0xbc]
inc al
mov byte [ebp - 0xf1], al
jmp 0x1004c292
and dword [ebp - 0xc8], 0
mov eax, dword [edi + 0xc]
neg eax
sbb eax, eax
lea ecx, [ebp - 0xc8]
and eax, ecx
mov ecx, dword [ebp - 0xd0]
mov ecx, dword [ecx + 8]
push eax
mov eax, dword [edi + 8]
push dword [edi + 4]
shl eax, 4
mov eax, dword [eax + ecx + 4]
call fcn.10045927
cmp dword [edi + 0xc], 0
pop ecx
pop ecx
mov dword [ebp - 0xcc], eax
je case.0x1004bac2.17
mov eax, dword [ebp - 0xc8]
add dword [esi + 0x6c], eax
mov edi, dword [edi + 0xc]
test edi, edi
jle case.0x1004bac2.17
imul edi, edi, 0x28
cdq
lea ebx, [edi + ebx + 0x10]
add dword [ebx], eax
adc dword [ebx + 4], edx
jmp case.0x1004bac2.17
and dword [ebp - 0xc8], 0
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd0]
shl eax, 4
add eax, dword [ecx + 8]
xor ecx, ecx
mov dword [ebp - 0xc0], eax
cmp byte [edi], 0x62
setne cl
inc ecx
mov dword [ebp - 0xc4], ecx
mov eax, dword [eax + 4]
push ecx
lea ecx, [ebp - 0xc8]
push ecx
call fcn.100457e2
mov dword [ebp - 0xcc], eax
jmp 0x1004dcfb
mov eax, dword [edi + 4]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], str.sqlite_temp_master
cmp eax, 1
je 0x1004f7b9
mov dword [ebp - 0xc4], str.sqlite_master
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xbc], ecx
mov edx, dword [edi + 4]
mov dword [ebp - 0xb8], edx
add esi, 0x38
mov dword [ebp - 0xb4], esi
push dword [edi + 0x10]
mov edx, dword [ecx + 8]
push dword [ebp - 0xc4]
shl eax, 4
push dword [eax + edx]
mov esi, ecx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
call fcn.10037020
add esp, 0x10
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x1004f85f
push 0
lea eax, [ebp - 0xbc]
push eax
mov byte [esi + 0x7c], 1
and dword [ebp - 0xb0], 0
push fcn.10062858
push dword [ebp - 0xc0]
push esi
call fcn.1006071d
add esp, 0x14
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x1004f840
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xcc], eax
push dword [ebp - 0xc0]
push esi
call fcn.10035e45
cmp dword [ebp - 0xcc], 7
pop ecx
pop ecx
mov byte [esi + 0x7c], 0
jne 0x1004c292
mov esi, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xd0]
push str.out_of_memory
push eax
lea edi, [esi + 0x38]
mov byte [eax + 0x1e], 1
call fcn.1003618b
mov dword [ebp - 0xcc], 7
jmp 0x1004c620
mov ecx, dword [edi + 4]
mov eax, dword [ebp - 0xd0]
call fcn.10057237
jmp 0x1004d3e4
mov ecx, dword [edi + 0x10]
mov edi, dword [edi + 4]
mov ebx, dword [ebp - 0xd0]
shl edi, 4
add edi, dword [ebx + 8]
push 0
call fcn.100378af
push eax
mov eax, dword [edi + 0xc]
add eax, 8
mov edi, ecx
call fcn.1003880b
push eax
push ebx
call fcn.10058346
add esp, 0x10
or dword [ebx + 0xc], 0x200
jmp case.0x1004bac2.17
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0xd0]
call fcn.1005813c
jmp case.0x1004bac2.17
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0xd0]
call fcn.1006844d
jmp case.0x1004bac2.17
mov eax, dword [edi + 8]
mov esi, dword [ebp - 0xd0]
mov dword [ebp - 0xc8], eax
lea eax, [eax*4 + 4]
push eax
call fcn.1003600c
xor ebx, ebx
pop ecx
mov dword [ebp - 0xc4], eax
cmp eax, ebx
je 0x1004f85f
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
xor ecx, ecx
mov dword [ebp - 0xb4], eax
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xe0]
cmp dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc0], ecx
jle 0x1004f991
imul ecx, ecx, 0x28
add ecx, esi
call fcn.100475f0
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xc4]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0xc0]
inc ecx
cmp ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xc0], ecx
jl 0x1004f963
mov eax, dword [ebp - 0xc4]
mov dword [eax + ecx*4], ebx
mov eax, dword [ebp - 0xb4]
push dword [eax + 0x10]
movzx eax, byte [edi + 3]
push dword [ebp - 0xc8]
mov edi, dword [ebp - 0xd0]
push dword [ebp - 0xc4]
mov ecx, dword [edi + 8]
shl eax, 4
push dword [eax + ecx + 4]
lea ecx, [ebp - 0xbc]
call fcn.100465ee
push dword [ebp - 0xc4]
mov dword [ebp - 0xb8], eax
push edi
call fcn.10035e45
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xb4]
cdq
add ecx, 0x10
add esp, 0x18
sub dword [ecx], eax
mov edi, esi
sbb dword [ecx + 4], edx
call fcn.10047781
cmp dword [ebp - 0xbc], ebx
je 0x1004fa2c
cmp dword [ebp - 0xb8], ebx
je 0x1004f85f
push 1
push dword [ebp - 0xb8]
mov eax, fcn.10035dea
or ecx, 0xffffffff
mov edx, esi
call fcn.1004798c
pop ecx
pop ecx
movzx eax, byte [ebp - 0xf0]
push eax
mov eax, esi
call fcn.10047270
jmp 0x1004cdd1
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
imul eax, eax, 0x28
imul edi, edi, 0x28
add eax, ebx
add edi, ebx
test byte [eax + 0x1c], 0x20
mov dword [ebp - 0xe4], edi
mov dword [ebp - 0xe8], eax
mov edi, eax
jne 0x1004fa73
call fcn.10047847
test byte [edi + 0x1c], 0x20
je 0x1004f865
mov eax, dword [ebp - 0xe4]
push dword [eax + 0x14]
mov edi, dword [edi + 0x10]
push dword [eax + 0x10]
call fcn.1003b284
jmp 0x1004bd65
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0xe0]
test eax, eax
jne 0x10050cfe
mov eax, dword [edi + 4]
imul eax, eax, 0x28
add eax, ebx
test byte [eax + 0x1c], 0x20
mov dword [ebp - 0xe8], eax
je 0x1004fb07
mov ebx, dword [eax + 0x10]
mov eax, ebx
call fcn.1003b4b5
mov eax, dword [ebx + 8]
test eax, eax
je 0x1004fb07
mov ecx, dword [eax]
mov dword [ebp - 0xc8], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 8]
mov dword [ebx + 8], eax
test eax, eax
jne 0x1004faea
mov esi, ebx
call fcn.1003b252
mov esi, dword [edi + 0xc]
push dword [ebp - 0xc4]
imul esi, esi, 0x28
push dword [ebp - 0xc8]
add esi, dword [ebp - 0xe0]
jmp 0x1004cdcb
mov edi, dword [ebp - 0xe8]
call fcn.10047781
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 8]
jmp 0x1004bb0b
mov eax, dword [edi + 0xc]
mov ebx, dword [edi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0xe0]
mov dword [ebp - 0xe4], eax
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xc8], eax
test byte [ebx + 0x1c], 0x20
mov dword [ebp - 0xe8], ebx
jne 0x1004fb70
mov edi, ebx
call fcn.10047847
test byte [ebx + 0x1c], 0x20
je 0x1004f865
mov eax, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xec]
test eax, eax
je 0x1004fbba
jl 0x1004fb7b
and eax, 0xf
jmp 0x1004fb80
mov eax, 0xff
mov ecx, dword [ebp - 0xe4]
push dword [ecx + 0x14]
mov bl, al
mov eax, dword [ebp - 0xe8]
push dword [ecx + 0x10]
mov eax, dword [eax + 0x10]
call fcn.1003b4f5
pop ecx
pop ecx
mov dword [ebp - 0xc4], eax
test eax, eax
jne 0x1004badd
mov eax, dword [ebp - 0xc8]
test eax, eax
jl case.0x1004bac2.17
mov eax, dword [ebp - 0xe4]
push dword [eax + 0x14]
push dword [eax + 0x10]
mov eax, dword [ebp - 0xe8]
mov edi, dword [eax + 0x10]
jmp 0x1004fa82
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xb0], ecx
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, ebx
mov dword [ebp - 0xc0], eax
cmp byte [edi + 3], 0
je 0x1004fc24
mov edx, dword [esi + 0xa8]
mov edi, dword [ecx + 0x10]
mov dword [ebp - 0xac], edi
mov dword [ebp - 0xb4], edx
test edx, edx
je 0x1004fc24
cmp dword [edx + 0x20], edi
je 0x1004fc1c
mov edx, dword [edx + 0x3c]
mov dword [ebp - 0xb4], edx
test edx, edx
jne 0x1004fc0a
test edx, edx
jne case.0x1004bac2.17
mov edx, dword [esi + 0xb0]
mov edi, dword [ebp - 0xd0]
cmp edx, dword [edi + 0x70]
jl 0x1004fc52
push str.too_many_levels_of_trigger_recursion
push edi
lea edi, [esi + 0x38]
mov dword [ebp - 0xcc], 1
call fcn.1003618b
jmp 0x1004bd65
test byte [eax + 0x1c], 0x40
jne 0x1004fda1
mov eax, dword [ecx + 8]
add eax, dword [ecx + 0xc]
mov dword [ebp - 0xc8], eax
imul eax, eax, 0xa
add eax, dword [ecx + 0xc]
lea eax, [eax*4 + 0x40]
mov dword [ebp - 0xc4], eax
push eax
mov eax, edi
call fcn.10035fe6
pop ecx
mov dword [ebp - 0xb4], eax
test eax, eax
je 0x1004f865
push dword [ebp - 0xc0]
call fcn.1004757e
pop ecx
mov ecx, dword [ebp - 0xc0]
push 0x40
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xc0]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xb4]
mov dword [eax], esi
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xc8]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xd8]
mov dword [eax + 4], ecx
mov eax, dword [esi + 8]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x14], eax
mov eax, dword [esi + 0x44]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x18], eax
mov ax, word [esi + 0x32]
mov ecx, dword [ebp - 0xb4]
mov word [ecx + 0x1c], ax
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x1c]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x10]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0x24]
imul ecx, ecx, 0x28
lea edx, [ecx + eax + 0x40]
lea ecx, [eax + 0x40]
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xbc], ecx
cmp ecx, edx
je 0x1004fdaa
xor eax, eax
inc eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xbc]
mov ecx, edi
mov dword [eax], ecx
mov ecx, dword [ebp - 0xbc]
add ecx, 0x28
mov dword [ebp - 0xbc], ecx
cmp ecx, dword [ebp - 0xb8]
jne 0x1004fd71
mov eax, dword [ebp - 0xb4]
jmp 0x1004fdaa
mov eax, dword [eax + 0x10]
mov dword [ebp - 0xb4], eax
inc dword [esi + 0xb0]
mov ecx, dword [esi + 0xa8]
mov dword [eax + 0x3c], ecx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x100]
mov dword [eax + 0x30], ecx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xfc]
mov dword [eax + 0x34], ecx
mov eax, dword [esi + 0x6c]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0xb4]
and dword [esi + 0x6c], 0
lea ecx, [eax + 0x18]
mov dword [esi + 0xa8], eax
mov dword [esi + 8], ecx
mov edx, dword [eax + 0x24]
mov dword [esi + 0x18], edx
mov ax, word [eax + 0x28]
mov word [esi + 0x32], ax
mov eax, edx
inc eax
imul eax, eax, 0x28
add eax, ecx
or dword [ebp - 0xd8], 0xffffffff
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xb0]
mov dword [esi + 0x44], eax
mov eax, dword [ecx]
mov dword [ebp - 0x114], eax
mov dword [esi + 4], eax
mov eax, dword [ecx + 4]
mov dword [esi + 0x1c], eax
jmp case.0x1004bac2.17
mov ecx, dword [esi + 0xa8]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 8]
imul eax, eax, 0x14
mov eax, dword [eax + edx + 4]
add eax, dword [edi + 4]
push 0x1000
imul eax, eax, 0x28
add eax, dword [ecx + 0x10]
mov dword [ebp - 0xc4], eax
push eax
jmp 0x1004bd5a
cmp dword [edi + 4], 0
mov eax, dword [edi + 8]
cdq
je 0x1004fe86
mov ecx, dword [ebp - 0xd0]
add ecx, 0x1f0
jmp 0x1004fe8c
lea ecx, [esi + 0x90]
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.0x1004bac2.17
cmp dword [edi + 4], 0
je 0x1004feb3
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x1f0]
or ecx, dword [eax + 0x1f4]
jmp 0x1004ce75
mov eax, dword [esi + 0x90]
or eax, dword [esi + 0x94]
jmp 0x1004ce75
mov esi, dword [esi + 0xa8]
test esi, esi
je 0x1004feec
mov eax, esi
jmp 0x1004fed4
mov eax, ecx
mov dword [ebp - 0xc4], eax
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x1004fed2
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [eax + 0x10]
jmp 0x1004fef4
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, ebx
mov dword [ebp - 0xc8], esi
call fcn.100476f3
mov edi, dword [edi + 8]
imul edi, edi, 0x28
add edi, dword [ebp - 0xe0]
mov esi, edi
call fcn.100476f3
mov eax, dword [ebp - 0xc8]
mov ecx, dword [edi + 0x10]
mov edi, dword [edi + 0x14]
mov edx, dword [eax + 0x14]
add eax, 0x10
cmp edx, edi
jg 0x1004c292
jl 0x1004ff38
mov edx, dword [eax]
cmp edx, ecx
jae 0x1004c292
mov dword [eax], ecx
mov dword [eax + 4], edi
jmp 0x1004c292
mov eax, dword [edi + 4]
imul eax, eax, 0x28
cmp dword [eax + ebx + 0x14], 0
jl case.0x1004bac2.17
jg 0x1004badd
cmp dword [eax + ebx + 0x10], 0
jbe case.0x1004bac2.17
jmp 0x1004badd
mov eax, dword [edi + 4]
imul eax, eax, 0x28
cmp dword [eax + ebx + 0x14], 0
jg case.0x1004bac2.17
jl 0x1004badd
cmp dword [eax + ebx + 0x10], 0
jae case.0x1004bac2.17
jmp 0x1004badd
mov ecx, dword [edi + 4]
mov eax, dword [edi + 0xc]
imul ecx, ecx, 0x28
cdq
add ecx, ebx
add dword [ecx + 0x10], eax
mov eax, dword [ecx + 0x10]
adc dword [ecx + 0x14], edx
or eax, dword [ecx + 0x14]
jmp 0x1004ce75
movzx ecx, byte [edi + 3]
mov edx, dword [esi + 0xc]
mov dword [ebp - 0xc8], ecx
mov eax, dword [edi + 8]
and dword [ebp - 0xc4], 0
imul eax, eax, 0x28
add eax, ebx
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0x78], edx
test ecx, ecx
jle 0x10050010
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0xc4]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 0xbc]
call fcn.1004b770
inc dword [ebp - 0xc4]
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xc4]
add eax, 0x28
cmp ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xbc], eax
jl 0x1004ffd6
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xb8], eax
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
xor ebx, ebx
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x88], eax
inc dword [eax + 0x18]
xor eax, eax
inc eax
mov word [ebp - 0x94], ax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], ebx
test byte [eax + 3], 8
je 0x10050079
mov ecx, dword [edi - 4]
mov dword [ebp - 0x80], ecx
push dword [ebp - 0x78]
lea ecx, [ebp - 0xb8]
push dword [ebp - 0xc8]
push ecx
call dword [eax + 0x10]
add esp, 0xc
cmp dword [ebp - 0x84], ebx
je 0x100500c7
lea eax, [ebp - 0xb0]
push eax
call fcn.1004a567
pop ecx
push eax
push 0x100b6834
push dword [ebp - 0xd0]
lea edi, [esi + 0x38]
call fcn.1003618b
mov eax, dword [ebp - 0x84]
add esp, 0xc
mov dword [ebp - 0xcc], eax
lea eax, [ebp - 0xb0]
push eax
call fcn.1004757e
jmp 0x1004bd66
mov ecx, dword [edi + 4]
imul ecx, ecx, 0x28
add ecx, ebx
mov dword [ebp - 0xc8], ecx
mov eax, dword [edi + 0x10]
call fcn.100474bf
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x1005011b
push dword [ebp - 0xc8]
call fcn.1004a567
pop ecx
push eax
push 0x100b6834
push dword [ebp - 0xd0]
lea edi, [esi + 0x38]
call fcn.1003618b
add esp, 0xc
movzx eax, byte [ebp - 0xf0]
push eax
mov eax, dword [ebp - 0xc8]
call fcn.10047270
pop ecx
mov ecx, dword [ebp - 0xc8]
jmp 0x1004c5f6
and dword [ebp - 0xc4], 0
or dword [ebp - 0xbc], 0xffffffff
or dword [ebp - 0xc0], 0xffffffff
mov ebx, dword [ebp - 0xd0]
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0xc0]
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.100723ca
add esp, 0x10
mov dword [ebp - 0xcc], eax
cmp eax, 5
jne 0x1005018d
and dword [ebp - 0xcc], 0
mov dword [ebp - 0xc4], 1
and dword [ebp - 0xc8], 0
mov esi, dword [edi + 0xc]
imul esi, esi, 0x28
add esi, dword [ebp - 0xe0]
mov dword [ebp - 0xb8], esi
mov eax, dword [ebp - 0xc8]
mov eax, dword [ebp + eax*4 - 0xc4]
cdq
push edx
push eax
call fcn.100477ec
mov esi, dword [ebp - 0xb8]
inc dword [ebp - 0xc8]
add esi, 0x28
cmp dword [ebp - 0xc8], 3
pop ecx
pop ecx
mov dword [ebp - 0xb8], esi
jl 0x100501a6
jmp 0x1004c292
mov ecx, dword [edi + 0xc]
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xc0], ecx
mov eax, dword [edi + 4]
mov edx, dword [edx + 8]
shl eax, 4
mov eax, dword [eax + edx + 4]
mov dword [ebp - 0xc8], eax
mov eax, dword [eax + 4]
mov edi, dword [eax]
mov dword [ebp - 0xc4], edi
movzx edx, byte [edi + 5]
mov dword [ebp - 0xbc], edx
cmp ecx, 0xffffffff
jne 0x10050222
mov dword [ebp - 0xc0], edx
cmp byte [edi + 0xf], 3
jae 0x1005023d
mov ecx, dword [edi + 0x40]
xor eax, eax
cmp dword [ecx], eax
je 0x10050243
cmp dword [edi + 0x4c], eax
jl 0x10050243
jg 0x1005023d
cmp dword [edi + 0x48], eax
jbe 0x10050243
mov dword [ebp - 0xc0], edx
cmp dword [ebp - 0xc0], 5
mov eax, dword [edi + 0x90]
mov dword [ebp - 0xb8], eax
jne 0x1005026e
cmp byte [eax], 0
je 0x10050268
mov eax, edi
call fcn.1003e84d
test eax, eax
jne 0x1005026e
mov dword [ebp - 0xc0], edx
cmp dword [ebp - 0xc0], edx
je 0x10050315
push 5
pop ecx
cmp edx, ecx
je 0x1005028d
cmp dword [ebp - 0xc0], ecx
jne 0x10050315
mov eax, dword [ebp - 0xd0]
cmp byte [eax + 0x1c], 0
je 0x10050352
cmp dword [eax + 0x8c], 1
jg 0x10050352
cmp edx, ecx
jne 0x100502cd
mov eax, edi
call fcn.1003e90e
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x100502fd
mov ecx, dword [ebp - 0xc0]
mov edi, dword [ebp - 0xc4]
jmp 0x100502d5
cmp edx, 4
jne 0x100502da
push 2
pop ecx
call fcn.1003e71f
push dword [ebp - 0xc8]
xor ebx, ebx
cmp dword [ebp - 0xc0], 5
sete bl
inc ebx
call fcn.10046983
pop ecx
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x10050309
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xc0], eax
mov ebx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc0]
call fcn.1003e71f
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 8]
imul edx, edx, 0x28
add edx, ebx
mov eax, 0xa02
mov word [edx + 0x1c], ax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xdc], edx
cmp eax, 6
jne 0x1005038a
xor ecx, ecx
jmp 0x10050391
mov dword [ebp - 0xcc], 1
mov eax, str.into
cmp dword [ebp - 0xc0], ecx
je 0x1005036e
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
push dword [ebp - 0xd0]
lea edi, [esi + 0x38]
call fcn.1003618b
add esp, 0xc
jmp case.0x1004bac2.17
mov ecx, dword [eax*4 + 0x100ada28]
mov dword [edx + 4], ecx
call fcn.100378af
mov dword [edx + 0x18], eax
movzx eax, byte [ebp - 0xf0]
push eax
mov eax, edx
mov byte [edx + 0x1f], 1
call fcn.10047270
jmp 0x1004bd66
push dword [ebp - 0xd0]
lea eax, [esi + 0x38]
push eax
call fcn.1006999a
pop ecx
jmp 0x1004d3e3
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd0]
mov ecx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0xc8], eax
call fcn.100425f8
mov dword [ebp - 0xcc], eax
cmp eax, 0x65
jne case.0x1004bac2.17
mov edi, dword [edi + 8]
dec edi
and dword [ebp - 0xcc], 0
mov dword [ebp - 0xd8], edi
jmp case.0x1004bac2.17
cmp dword [edi + 4], 0
jne 0x10050422
mov eax, dword [ebp - 0xd0]
call fcn.1004a34e
jmp case.0x1004bac2.17
mov byte [esi + 0x63], 1
jmp case.0x1004bac2.17
mov al, byte [edi + 0xc]
test al, al
jne 0x10050445
mov ecx, dword [ebp - 0xd0]
test dword [ecx + 0xc], 0x80000
jne case.0x1004bac2.17
mov edx, dword [edi + 4]
mov ecx, dword [ebp - 0xd0]
mov ebx, dword [ecx + 8]
mov ecx, dword [edi + 8]
shl edx, 4
mov edx, dword [edx + ebx + 4]
call fcn.100468f0
mov dword [ebp - 0xcc], eax
cmp al, 6
jne case.0x1004bac2.17
push dword [edi + 0x10]
push str.database_table_is_locked:__s
jmp 0x10050374
mov edi, dword [edi + 0x10]
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xc8], edi
call fcn.1006a77f
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
test eax, eax
je case.0x1004bac2.17
mov esi, dword [eax + 8]
mov edi, dword [ebp - 0xd4]
call fcn.1004b936
mov esi, edi
jmp case.0x1004bac2.17
mov ecx, dword [ebp - 0xd0]
lea eax, [esi + 0x38]
push eax
push dword [edi + 0x10]
mov eax, dword [edi + 4]
call fcn.1006a440
jmp 0x100503c3
mov ecx, dword [ebp - 0xd0]
mov byte [esi + 0x66], 2
push dword [edi + 0x10]
mov eax, dword [edi + 4]
call fcn.1006a648
pop ecx
mov dword [ebp - 0xcc], eax
mov byte [esi + 0x66], 0
jmp case.0x1004bac2.17
xor ebx, ebx
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc4], ebx
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
lea edx, [ebp - 0xc4]
mov dword [ebp - 0xc0], eax
mov ecx, dword [eax]
push edx
push eax
mov dword [ebp - 0xbc], ecx
call dword [ecx + 0x18]
mov esi, dword [ebp - 0xc0]
mov edi, dword [ebp - 0xd4]
pop ecx
pop ecx
mov dword [ebp - 0xcc], eax
call fcn.1004b936
cmp dword [ebp - 0xcc], ebx
jne 0x1004c292
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc4]
mov dword [ecx], eax
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 4]
push ebx
push 0xffffffffffffffff
push ebx
mov eax, edi
call fcn.1004b79b
add esp, 0xc
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x10050599
mov ecx, dword [ebp - 0xc4]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x28], eax
jmp 0x100504b1
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1e], 1
push dword [ebp - 0xc4]
mov eax, dword [ebp - 0xbc]
call dword [eax + 0x1c]
pop ecx
jmp 0x100504b1
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, ebx
mov ebx, dword [esi + 0x44]
mov dword [ebp - 0xbc], eax
lea edx, [eax + 0x28]
mov dword [ebp - 0xb8], edx
mov ecx, dword [edi + 4]
mov ecx, dword [ebx + ecx*4]
mov dword [ebp - 0xac], ecx
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0xb4], ecx
mov ebx, dword [ecx]
mov dword [ebp - 0xb0], ebx
mov ebx, dword [ebx]
mov dword [ebp - 0xc0], ebx
mov ebx, dword [edx + 0x10]
mov dword [ebp - 0xc8], ebx
mov eax, dword [eax + 0x10]
and dword [ebp - 0xa8], 0
and dword [ebp - 0xa4], 0
mov dword [ebp - 0xc4], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xa0], eax
test ebx, ebx
jle 0x10050671
jmp 0x1005062c
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xa4]
lea ecx, [eax + 1]
imul ecx, ecx, 0x28
add ecx, edx
mov edx, dword [ebp - 0xa0]
mov dword [edx + eax*4], ecx
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [ecx + eax*4]
call fcn.1004b770
inc dword [ebp - 0xa4]
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0xc8]
jl 0x10050626
mov ecx, dword [ebp - 0xb4]
push dword [ebp - 0xa0]
mov eax, dword [ebp - 0xc0]
push dword [ebp - 0xc8]
mov byte [esi + 0x66], 1
push dword [edi + 0x10]
push dword [ebp - 0xc4]
push ecx
call dword [eax + 0x20]
mov edi, dword [ebp - 0xd4]
mov byte [esi + 0x66], 0
mov esi, dword [ebp - 0xb0]
add esp, 0x14
mov dword [ebp - 0xcc], eax
call fcn.1004b936
cmp dword [ebp - 0xcc], 0
jne 0x100506d1
push dword [ebp - 0xb4]
mov eax, dword [ebp - 0xc0]
call dword [eax + 0x28]
pop ecx
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
je 0x100506ea
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 8]
dec eax
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xac]
mov byte [eax + 0x1c], 0
jmp 0x100504b1
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov ecx, dword [ecx + eax*4]
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, ebx
mov dword [ebp - 0xc0], eax
cmp byte [ecx + 0x1c], 0
mov dword [ebp - 0xe4], ecx
je 0x10050723
mov edi, eax
jmp 0x1004bf84
mov esi, dword [ebp - 0xe4]
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
mov eax, dword [eax]
push 0x40
mov dword [ebp - 0xc4], eax
lea eax, [ebp - 0xb8]
push 0
push eax
call fcn.10088230
mov ebx, dword [ebp - 0xc0]
add esp, 0xc
lea eax, [ebp - 0xb0]
call fcn.10047968
mov eax, dword [ebp - 0x94]
and eax, 0xbf01
or eax, 1
mov word [ebp - 0x94], ax
push dword [edi + 8]
lea eax, [ebp - 0xb8]
push eax
push dword [esi + 0x24]
mov eax, dword [ebp - 0xc4]
call dword [eax + 0x2c]
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xd4]
add esp, 0xc
mov dword [ebp - 0xcc], eax
call fcn.1004b936
mov eax, dword [ebp - 0x84]
test eax, eax
je 0x100507b5
mov dword [ebp - 0xcc], eax
movzx eax, byte [ebp - 0xf0]
push eax
lea eax, [ebp - 0xb0]
call fcn.10047270
mov eax, dword [ebp - 0xc0]
pop ecx
lea ebx, [ebp - 0xb0]
call fcn.10047968
mov ecx, dword [ebp - 0xc0]
call fcn.100478a7
mov esi, edi
jmp 0x1004c5fb
and dword [ebp - 0xc0], 0
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xbc], eax
cmp byte [eax + 0x1c], 0
jne case.0x1004bac2.17
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx]
mov dword [ebp - 0xc8], ecx
mov ecx, dword [ecx]
mov dword [ebp - 0xc4], ecx
mov byte [esi + 0x66], 1
push dword [eax + 0x24]
call dword [ecx + 0x24]
mov edi, dword [ebp - 0xd4]
mov byte [esi + 0x66], 0
mov esi, dword [ebp - 0xc8]
pop ecx
mov dword [ebp - 0xcc], eax
call fcn.1004b936
cmp dword [ebp - 0xcc], 0
jne 0x10050867
mov eax, dword [ebp - 0xbc]
push dword [eax + 0x24]
mov eax, dword [ebp - 0xc4]
call dword [eax + 0x28]
pop ecx
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0
jne 0x1004c292
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 8]
dec eax
mov dword [ebp - 0xd8], eax
jmp 0x100504b1
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0xc8], eax
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, ebx
mov dword [ebp - 0xc4], edi
push dword [edi + 4]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x4c]
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xd4]
pop ecx
pop ecx
mov dword [ebp - 0xcc], eax
call fcn.1004b936
mov byte [edi + 0x63], 0
jmp 0x100504b1
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0xc8], eax
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
mov edx, dword [edi + 8]
mov dword [ebp - 0xc0], edx
cmp dword [eax + 0x34], 0
je case.0x1004bac2.17
mov eax, dword [ebp - 0xd0]
mov al, byte [eax + 0x22]
mov byte [ebp - 0x101], al
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xb0], eax
mov ecx, dword [edi + 0xc]
and dword [ebp - 0xbc], 0
imul ecx, ecx, 0x28
add ecx, ebx
mov dword [ebp - 0xac], ecx
test edx, edx
jle 0x10050963
call fcn.1004b770
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xb0]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0xac]
add ecx, 0x28
inc dword [ebp - 0xbc]
mov eax, dword [ebp - 0xbc]
cmp eax, dword [ebp - 0xc0]
mov dword [ebp - 0xac], ecx
jl 0x10050926
mov al, byte [edi + 3]
mov esi, dword [ebp - 0xd0]
mov byte [esi + 0x22], al
lea eax, [ebp - 0xb8]
push eax
push dword [ebp - 0xb0]
mov eax, dword [ebp - 0xc4]
push dword [ebp - 0xc0]
push dword [ebp - 0xc8]
call dword [eax + 0x34]
mov edi, dword [ebp - 0xd4]
mov dword [ebp - 0xcc], eax
mov al, byte [ebp - 0x101]
mov byte [esi + 0x22], al
mov esi, dword [ebp - 0xc8]
add esp, 0x10
call fcn.1004b936
mov eax, dword [ebp - 0xec]
xor esi, esi
cmp dword [ebp - 0xcc], esi
jne 0x100509f3
cmp dword [eax + 4], esi
je 0x100509f3
mov edx, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xfc], edx
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0x100], ecx
mov dword [edx + 0x30], ecx
mov ecx, dword [ebp - 0xb4]
mov dword [edx + 0x34], ecx
cmp dword [ebp - 0xcc], 0x13
jne 0x10050a2b
mov ecx, dword [eax + 0x10]
cmp byte [ecx + 0x10], 0
je 0x10050a2b
mov al, byte [eax + 3]
cmp al, 4
jne 0x10050a17
mov dword [ebp - 0xcc], esi
jmp 0x100504b1
cmp al, 5
jne 0x10050a20
push 2
pop eax
jmp 0x10050a23
movzx eax, al
mov byte [edi + 0x60], al
jmp 0x100504b1
inc dword [edi + 0x6c]
jmp 0x100504b1
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd0]
mov ecx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0x30]
mov eax, dword [ebp - 0xdc]
and dword [eax + 0x14], 0
mov dword [eax + 0x10], ecx
jmp case.0x1004bac2.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd0]
mov edi, dword [edi + 0xc]
mov ecx, dword [ecx + 8]
shl eax, 4
mov esi, dword [eax + ecx + 4]
xor ebx, ebx
test edi, edi
je 0x10050a86
mov eax, dword [esi + 4]
mov ebx, dword [eax + 0x30]
cmp ebx, edi
jae 0x10050a86
mov ebx, edi
mov eax, esi
call fcn.100404fb
mov eax, dword [esi + 4]
mov eax, dword [eax]
test ebx, ebx
jle 0x10050a9c
mov dword [eax + 0x84], ebx
mov edi, dword [eax + 0x84]
call fcn.10040569
mov ecx, dword [ebp - 0xdc]
mov eax, edi
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp 0x1004c292
mov eax, dword [ebp - 0xd0]
cmp dword [eax + 0x98], 0
je case.0x1004bac2.17
mov edi, dword [edi + 0x10]
mov ecx, edi
test edi, edi
jne 0x10050add
mov ecx, dword [esi + 0xa0]
mov dword [ebp - 0xc8], ecx
test ecx, ecx
je case.0x1004bac2.17
push esi
call fcn.1004b46a
mov edi, dword [ebp - 0xd0]
pop ecx
push eax
mov dword [ebp - 0xc4], eax
push dword [edi + 0x9c]
call dword [edi + 0x98]
push dword [ebp - 0xc4]
push edi
call fcn.10035e45
add esp, 0x10
jmp case.0x1004bac2.17
mov dword [ebp - 0xcc], 9
jmp 0x1004c622
mov eax, dword [edi + 4]
mov dword [esi + 0x5c], eax
mov al, byte [edi + 8]
mov byte [esi + 0x60], al
mov eax, dword [ebp - 0xd8]
mov dword [esi + 0x58], eax
mov eax, dword [edi + 0x10]
test eax, eax
je 0x10050b88
push eax
push 0x100b6834
push dword [ebp - 0xd0]
lea edi, [esi + 0x38]
call fcn.1003618b
mov eax, dword [ebp - 0xec]
add esp, 0xc
push dword [eax + 0x10]
push dword [esi + 0xa0]
push dword [ebp - 0xd8]
push str.abort_at__d_in___s_:__s
push dword [eax + 4]
call fcn.100371e9
add esp, 0x14
jmp 0x10050baa
cmp dword [esi + 0x5c], 0
je 0x10050baa
push dword [esi + 0xa0]
push dword [ebp - 0xd8]
push str.constraint_failed_at__d_in___s_
push dword [edi + 4]
call fcn.100371e9
add esp, 0x10
mov eax, esi
call fcn.1004972b
push 5
pop edi
cmp eax, edi
je 0x10050be9
mov edi, dword [esi + 0x5c]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x1004c682
lea eax, [ebp - 0xb8]
push eax
call fcn.1004757e
pop ecx
jmp 0x1004f865
mov eax, dword [ebp - 0xd8]
mov dword [esi + 0x58], eax
mov byte [ebx + 0x1c], 0
mov dword [esi + 0x5c], edi
jmp 0x1004c682
test edi, edi
je 0x10050c28
mov esi, dword [ebp - 0xd0]
mov eax, esi
call fcn.10071d02
mov byte [esi + 0x1c], bl
mov edi, esi
mov esi, edi
call fcn.10071a65
mov eax, dword [ebp - 0xd4]
mov edi, dword [eax + 0x5c]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
mov esi, eax
jmp 0x1004c682
push ebx
mov eax, esi
call fcn.100496d6
mov edi, eax
pop ecx
test edi, edi
jne 0x1004c682
mov al, byte [ebp - 0xc8]
mov edi, dword [ebp - 0xd0]
mov byte [edi + 0x1c], al
mov eax, esi
call fcn.1004972b
push 5
pop ecx
cmp eax, ecx
jne 0x10050c07
mov eax, dword [ebp - 0xd8]
sub bl, byte [ebp - 0xc8]
mov dword [esi + 0x58], eax
mov byte [edi + 0x1c], bl
mov edi, ecx
mov dword [esi + 0x5c], ecx
jmp 0x1004c682
mov ecx, dword [ebp - 0xd8]
mov dword [esi + 0x58], ecx
mov edi, eax
mov dword [esi + 0x5c], eax
jmp 0x1004c682
push 0x10157
call fcn.10073029
pop ecx
mov dword [ebp - 0xcc], eax
mov esi, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xd0]
cmp byte [ecx + 0x1e], 0
je 0x10050cb4
mov dword [ebp - 0xcc], 7
cmp dword [ebp - 0xcc], 0xc0a
je 0x1004c622
mov eax, dword [ebp - 0xcc]
call fcn.10071dae
push eax
push 0x100b6834
push ecx
lea edi, [esi + 0x38]
call fcn.1003618b
add esp, 0xc
jmp 0x1004c622
mov dword [ebp - 0xcc], 0xd
jmp 0x10050c98
mov dword [ebp - 0xcc], 0xd
jmp 0x10050c9e
mov ebx, dword [ebp - 0xd0]
push 9
pop eax
mov dword [ebp - 0xcc], eax
mov dword [esi + 0x5c], eax
call fcn.10071dae
push eax
push 0x100b6834
push ebx
jmp 0x10050cd6