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

Disassembly:
sub esp, 0x31c
mov eax, dword [0x4e5d60]
xor eax, esp
mov dword [esp + 0x314], eax
push ebx
push ebp
push esi
xor eax, eax
push edi
mov edi, ecx
mov esi, dword [edi]
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x10]
mov ebx, dword [edi + 8]
mov dword [esp + 0xa4], ecx
mov ecx, dword [edx + 0xc]
mov dl, byte [ecx + 0x4d]
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], eax
mov byte [esp + 0x6b], al
mov dword [esp + 0xb8], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x90], eax
mov eax, dword [esi + 0x20]
push edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x18], esi
mov byte [esp + 0x48], dl
mov dword [esp + 0x64], ebx
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
call fcn.0043d570
add esp, 4
cmp dword [edi + 0x50], 7
je 0x446840
xor ecx, ecx
mov dword [edi + 0x50], ecx
mov dword [edi + 0x88], ecx
mov dword [edi + 0x8c], ecx
mov dword [edi + 0x14], ecx
mov edx, dword [esi + 0xf0]
mov dword [esi + 0x1c4], ecx
test edx, edx
jne 0x447ae2
cmp dword [esi + 0x124], ecx
je 0x44346f
mov eax, dword [edi + 0x7c]
cmp eax, ecx
jne 0x443460
mov eax, dword [esi + 0x12c]
mov ecx, dword [edi + 0x4c]
mov dword [esp + 0x88], eax
mov dword [esp + 0x1c], ecx
mov eax, ecx
jmp 0x443484
xor edx, edx
div dword [esi + 0x12c]
mov dword [esp + 0x88], edx
mov ecx, dword [edi + 0x4c]
mov dword [esp + 0x1c], ecx
mov eax, ecx
jmp 0x443484
mov ebx, dword [esp + 0x60]
cmp byte [esi + 0x40], 0
jne 0x446840
inc dword [esp + 0x8c]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0xa4]
test byte [eax + edx*4 + 2], 2
lea ebp, [eax + edx*4]
je 0x4434d9
mov eax, dword [ebp + 8]
lea ecx, [eax + eax*4]
lea eax, [ebx + ecx*8]
mov edx, 0x2460
mov dword [esp + 0x18], eax
test word [eax + 8], dx
je 0x4434d0
mov esi, eax
call fcn.0043b720
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, 4
mov word [eax + 8], cx
mov dl, byte [ebp]
movzx eax, dl
dec eax
cmp eax, 0x98
ja case.default.0x4434eb
jmp dword [eax*4 + 0x447b28]
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
lea ebx, [ebx + edx*8]
mov eax, 4
mov word [ebx + 8], ax
mov eax, dword [esp + 0x1c]
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov ecx, dword [ebp + 8]
dec ecx
mov dword [esp + 0x1c], ecx
jmp case.default.0x4434eb
mov ebp, dword [ebp + 4]
lea edx, [ebp + ebp*4]
mov ecx, dword [ebx + edx*8]
lea eax, [ebx + edx*8]
mov edx, 0x80
mov dword [esp + 0x1c], ecx
mov word [eax + 8], dx
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov eax, dword [ebp + 0xc]
dec eax
cdq
mov ecx, 4
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov word [ebx + 8], cx
mov ebp, dword [ebp + 8]
mov dword [esp + 0x18], ebx
test ebp, ebp
je case.default.0x4434eb
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.default.0x4434eb
mov ebp, dword [ebp + 4]
mov ecx, dword [esp + 0xa4]
lea edx, [ebp + ebp*4]
mov eax, dword [ebx + edx*8]
lea ebx, [ebx + edx*8]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 8]
dec eax
mov edx, 0x80
mov dword [esp + 0x1c], eax
mov word [ebx + 8], dx
jmp case.default.0x4434eb
mov ebp, dword [ebp + 4]
lea eax, [ebp + ebp*4]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x1c]
mov ecx, 4
cdq
mov word [ebx + 8], cx
mov ecx, dword [ebx]
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov dword [esp + 0x1c], ecx
jmp case.default.0x4434eb
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 8], 1
je case.default.0x4434eb
cmp dword [ebp + 4], 0
jne 0x4478e0
mov eax, dword [edi + 0xb0]
test eax, eax
je 0x4478e0
mov ecx, dword [eax + 4]
dec dword [edi + 0xb8]
mov dword [edi + 0xb0], ecx
mov ecx, dword [edi + 0x5c]
add dword [esi + 0x54], ecx
mov dword [esi + 0x50], ecx
call fcn.0043df50
cmp dword [ebp + 8], 4
mov edx, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], ecx
jne 0x443632
lea edx, [eax + eax*4]
mov eax, dword [edi + 4]
mov ecx, dword [eax + edx*4 + 8]
dec ecx
mov dword [esp + 0x1c], ecx
mov edx, dword [edi + 4]
mov eax, dword [edi + 8]
mov dword [esp + 0xa4], edx
mov dword [esp + 0x60], eax
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x4434eb
mov ebp, dword [ebp + 0x10]
mov ecx, dword [ebp]
mov eax, dword [esp + 0x18]
mov dword [eax], ecx
mov edx, dword [ebp + 4]
mov dword [eax + 4], edx
jmp case.default.0x4434eb
mov eax, dword [esp + 0x18]
mov ecx, 8
mov word [eax + 8], cx
mov edx, dword [ebp + 0x10]
fld qword [edx]
fstp qword [eax]
jmp case.default.0x4434eb
mov ecx, dword [ebp + 0x10]
mov byte [ebp], 0x1b
call fcn.004230d0
cmp byte [esp + 0x44], 1
mov dword [ebp + 4], eax
je 0x44370a
mov esi, dword [esp + 0x18]
push 1
mov ebx, ecx
push 0xffffffffffffffff
xor eax, eax
mov ecx, esi
call fcn.0043be80
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, 0x12
je 0x443ef0
movzx ecx, byte [esp + 0x44]
mov eax, esi
call fcn.0043b300
test eax, eax
jne 0x446840
mov dword [esi + 0x18], eax
mov eax, 0x800
or word [esi + 8], ax
or bl, 0xff
cmp byte [ebp + 1], bl
jne 0x4436f7
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x14]
call fcn.00420b20
mov byte [ebp + 1], bl
mov ecx, dword [esi + 0x10]
mov dword [ebp + 0x10], ecx
mov edx, dword [esi + 0xc]
mov esi, dword [esp + 0x14]
mov dword [ebp + 4], edx
mov eax, dword [ebp + 4]
cmp eax, dword [esi + 0x58]
jg 0x443ef0
mov eax, dword [esp + 0x18]
mov ecx, 0xa02
mov word [eax + 8], cx
mov edx, dword [ebp + 0x10]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp + 4]
mov dl, byte [esp + 0x44]
mov dword [eax + 0xc], ecx
mov byte [eax + 0xa], dl
jmp case.default.0x4434eb
mov esi, dword [ebp + 0xc]
sub esi, dword [ebp + 8]
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
neg eax
sbb eax, eax
and eax, 0x100
inc eax
movzx ebx, ax
mov word [ecx + 8], bx
test esi, esi
jle case.default.0x4434eb
mov edi, ecx
add edi, 0x28
mov eax, edi
call fcn.0043bb80
dec esi
mov word [edi + 8], bx
test esi, esi
jg 0x443763
mov dword [esp + 0x18], edi
jmp case.default.0x4434eb
mov ebp, dword [ebp + 4]
lea edx, [ebp + ebp*4]
mov ax, word [ebx + edx*8 + 8]
lea ebx, [ebx + edx*8]
mov ecx, 0xff7f
and ax, cx
or ax, 1
mov dword [esp + 0x18], ebx
mov word [ebx + 8], ax
jmp case.default.0x4434eb
mov edx, dword [ebp + 4]
mov esi, dword [esp + 0x18]
mov ebx, dword [ebp + 0x10]
push 0
push edx
xor eax, eax
mov ecx, esi
call fcn.0043be80
mov al, byte [esp + 0x4c]
add esp, 8
mov byte [esi + 0xa], al
jmp case.default.0x4434eb
mov ebp, dword [ebp + 4]
mov edx, dword [edi + 0x3c]
lea ecx, [ebp + ebp*4]
lea edi, [edx + ecx*8 - 0x28]
mov ecx, edi
call fcn.0043bd30
test eax, eax
jne 0x443ef0
mov eax, dword [esp + 0x18]
push 0x800
call fcn.0043bd60
add esp, 4
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
mov edi, dword [ebp + 0xc]
mov ebp, dword [ebp + 8]
lea eax, [eax + eax*4]
lea ecx, [ebp + ebp*4]
lea esi, [ebx + eax*8]
lea ebp, [ebx + ecx*8]
mov ebx, esi
mov eax, ebp
call fcn.0043be40
add esi, 0x28
add ebp, 0x28
sub edi, 1
jne 0x443815
mov dword [esp + 0x18], ebp
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
mov esi, dword [ebp + 0xc]
mov ebp, dword [ebp + 8]
lea edx, [eax + eax*4]
lea eax, [ebp + ebp*4]
lea ecx, [ebx + eax*8]
lea edi, [ebx + edx*8]
mov dword [esp + 0x18], ecx
mov ebx, ecx
mov edi, edi
push 0x1000
mov eax, ebx
call fcn.0043bd60
mov edx, 0x1000
add esp, 4
test word [ebx + 8], dx
je 0x443879
mov eax, ebx
call fcn.0043b450
test eax, eax
jne 0x446840
mov eax, esi
dec esi
test eax, eax
je case.default.0x4434eb
mov ebx, dword [esp + 0x18]
add ebx, 0x28
mov dword [esp + 0x18], ebx
add edi, 0x28
jmp 0x443850
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x60]
mov ebp, dword [ebp + 4]
lea edx, [eax + eax*4]
lea eax, [ecx + edx*8]
lea edx, [ebp + ebp*4]
push 0x1000
lea edi, [ecx + edx*8]
mov dword [esp + 0x1c], eax
call fcn.0043bd60
add esp, 4
jmp case.default.0x4434eb
mov eax, dword [esi + 0x124]
test eax, eax
je 0x4438ef
mov ecx, dword [esp + 0x8c]
cmp ecx, dword [esp + 0x88]
jb 0x4438ef
mov edx, dword [esi + 0x128]
push edx
call eax
add esp, 4
test eax, eax
jne 0x447621
push 0
mov esi, edi
call fcn.0043ebe0
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x4434eb
push 1
push edi
call fcn.0043eac0
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x4434eb
mov ecx, dword [edi + 0x48]
add ecx, 2
or ecx, 1
mov dword [edi + 0x48], ecx
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
lea esi, [ebx + edx*8]
mov dword [edi + 0x14], esi
xor edi, edi
cmp dword [ebp + 8], edi
jle 0x443967
mov eax, 0x1000
test word [esi + 8], ax
je 0x443957
mov eax, esi
call fcn.0043b450
test eax, eax
jne 0x446840
mov eax, esi
call fcn.0043b560
inc edi
add esi, 0x28
cmp edi, dword [ebp + 8]
jl 0x44393d
mov ecx, dword [esp + 0x14]
cmp byte [ecx + 0x40], 0
jne 0x446840
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x28]
inc edx
mov dword [edi + 0x4c], edx
mov ebp, 0x64
jmp 0x44769c
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov eax, dword [ebp + 8]
mov ebp, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
mov al, byte [ebx + ecx*8 + 8]
lea esi, [ebx + ecx*8]
movzx ecx, word [edi + 8]
lea edx, [ebp + ebp*4]
or al, cl
lea ebx, [ebx + edx*8]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x18], ebx
test al, 1
je 0x4439c9
mov eax, ebx
call fcn.0043bb80
jmp case.default.0x4434eb
test ecx, 0x4000
je 0x4439e0
mov eax, edi
call fcn.0043b4c0
test eax, eax
jne 0x446840
mov ecx, 0x4000
test word [esi + 8], cx
je 0x4439fa
mov eax, esi
call fcn.0043b4c0
test eax, eax
jne 0x446840
mov bl, 0x12
test byte [edi + 8], bl
jne 0x443a1a
mov edx, dword [esp + 0x44]
push 0
push edx
mov eax, edi
call fcn.0043b580
add esp, 8
test eax, eax
jne 0x446840
test byte [esi + 8], bl
jne 0x443a38
mov eax, dword [esp + 0x44]
push 0
push eax
mov eax, esi
call fcn.0043b580
add esp, 8
test eax, eax
jne 0x446840
mov eax, dword [edi + 0xc]
add eax, dword [esi + 0xc]
cdq
mov ecx, edx
mov edx, dword [esp + 0x14]
mov ebx, eax
mov eax, dword [edx + 0x58]
cdq
cmp ecx, edx
jg 0x443ef0
jl 0x443a5d
cmp ebx, eax
ja 0x443ef0
mov edi, dword [esp + 0x18]
xor eax, eax
cmp edi, esi
sete al
lea ecx, [ebx + 2]
call fcn.0043b320
test eax, eax
jne 0x446840
mov ax, word [edi + 8]
mov ecx, 0xbe02
and ax, cx
or ax, 2
mov word [edi + 8], ax
cmp edi, esi
je 0x443aa4
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ecx, dword [edi + 0x10]
push edx
push eax
push ecx
call fcn.004adef0
add esp, 0xc
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0xc]
mov ecx, dword [edi + 0x10]
mov eax, dword [eax + 0x10]
add ecx, dword [esi + 0xc]
push edx
push eax
push ecx
call fcn.004adef0
mov edx, dword [edi + 0x10]
mov byte [ebx + edx], 0
mov eax, dword [edi + 0x10]
mov dl, byte [esp + 0x50]
mov byte [eax + ebx + 1], 0
mov ecx, 0x200
add esp, 0xc
or word [edi + 8], cx
mov dword [edi + 0xc], ebx
mov byte [edi + 0xa], dl
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov eax, edi
call fcn.00443360
movzx ecx, ax
mov eax, dword [ebp + 8]
lea edx, [eax + eax*4]
lea esi, [ebx + edx*8]
mov eax, esi
mov dword [esp + 0x34], ecx
call fcn.00443360
movzx eax, ax
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
mov al, byte [esi + 8]
or al, byte [edi + 8]
lea edx, [ebx + ecx*8]
mov dword [esp + 0x18], edx
test al, 1
jne 0x443d52
mov cl, byte [esp + 0x24]
and cl, byte [esp + 0x34]
test cl, 4
je 0x443c56
mov edx, dword [esi + 4]
mov ebx, dword [esi]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [esp + 0x7c], edx
movzx edx, byte [ebp]
add edx, 0xffffffa7
mov dword [esp + 0x78], ebx
mov byte [esp + 0x43], 1
cmp edx, 3
ja case.default.0x443b67
jmp dword [edx*4 + 0x447d8c]
push ecx
push eax
lea eax, [esp + 0x80]
push eax
call fcn.00424270
add esp, 0xc
test eax, eax
jne 0x443c5b
jmp 0x443c2c
push ecx
push eax
lea edx, [esp + 0x80]
call fcn.00424310
add esp, 8
test eax, eax
jne 0x443c5b
jmp 0x443c2c
push ecx
push eax
lea ecx, [esp + 0x80]
push ecx
call fcn.00424360
add esp, 0xc
test eax, eax
jne 0x443c5b
jmp 0x443c2c
mov edx, eax
or edx, ecx
je 0x443d52
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x443be8
test ebx, ebx
jne 0x443be8
cmp dword [esp + 0x7c], 0x80000000
je 0x443c5b
push ecx
push eax
mov eax, dword [esp + 0x84]
push eax
push ebx
call fcn.004aca20
jmp 0x443c24
mov edx, eax
or edx, ecx
je 0x443d52
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x443c14
mov eax, 1
xor ecx, ecx
push ecx
push eax
mov eax, dword [esp + 0x84]
push eax
push ebx
call fcn.004b49c0
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov dword [eax], ecx
mov cx, word [eax + 8]
mov dword [eax + 4], edx
mov edx, 0xbe04
and cx, dx
or cx, 4
mov word [eax + 8], cx
jmp case.default.0x4434eb
mov byte [esp + 0x43], 0
mov eax, edi
call fcn.0043b920
fstp qword [esp + 0x38]
mov eax, esi
call fcn.0043b920
movzx eax, byte [ebp]
add eax, 0xffffffa7
cmp eax, 3
ja case.default.0x443c79
jmp dword [eax*4 + 0x447d9c]
fadd qword [esp + 0x38]
jmp 0x443cf5
fsub qword [esp + 0x38]
jmp 0x443cf5
fmul qword [esp + 0x38]
jmp 0x443cf5
fldz
fld qword [esp + 0x38]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x443d4e
fdivp st(1)
jmp 0x443cf5
fld qword [esp + 0x38]
call fcn.004ac966
mov esi, eax
mov edi, edx
call fcn.004ac966
mov ecx, esi
or ecx, edi
je 0x443d52
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x443cd7
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.004b49c0
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], edx
fild qword [esp + 0x190]
sub esp, 8
fst qword [esp + 0x40]
fstp qword [esp]
call fcn.00423090
add esp, 8
test eax, eax
jne 0x443d52
mov esi, dword [esp + 0x18]
fld qword [esp + 0x38]
mov dx, word [esi + 8]
fstp qword [esi]
mov eax, 0xbe08
and dx, ax
mov al, byte [esp + 0x24]
or al, byte [esp + 0x34]
or dx, 8
mov word [esi + 8], dx
test al, 8
jne case.default.0x4434eb
cmp byte [esp + 0x43], 0
jne case.default.0x4434eb
call fcn.0043b970
jmp case.default.0x4434eb
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x18]
call fcn.0043bb80
jmp case.default.0x4434eb
mov ebp, dword [ebp + 4]
test ebp, ebp
je case.default.0x4434eb
lea ecx, [ebp + ebp*4]
push 0
push 0
lea eax, [ebx + ecx*8]
call fcn.0043bbe0
add esp, 8
jmp case.default.0x4434eb
mov eax, dword [edi + 0xc]
movzx edx, byte [ebp + 3]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 8]
lea ecx, [ebx + ecx*8]
lea eax, [eax + eax*4]
xor esi, esi
mov dword [esp + 0x38], edx
mov dword [esp + 0x11c], ecx
lea ebx, [ebx + eax*8]
test edx, edx
jle 0x443de9
mov ecx, dword [esp + 0x24]
mov eax, 0x1000
mov dword [ecx + esi*4], ebx
test word [ebx + 8], ax
je 0x443dda
mov eax, ebx
call fcn.0043b450
test eax, eax
jne 0x446840
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x38]
inc esi
add ebx, 0x28
cmp esi, edx
jl 0x443db1
mov ecx, dword [esp + 0x11c]
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x130], eax
mov dword [esp + 0x12c], edi
mov ax, word [ecx + 8]
mov esi, 0xbe01
and ax, si
or ax, 1
mov word [ecx + 8], ax
mov eax, dword [esp + 0x120]
mov byte [esp + 0x139], 0
test byte [eax + 2], 0x20
je 0x443e38
mov ecx, dword [ebp - 4]
mov dword [esp + 0x128], ecx
mov ecx, dword [esp + 0x70]
mov esi, dword [esp + 0x14]
mov dword [esi + 0x20], ecx
mov ecx, dword [esp + 0x74]
mov dword [esi + 0x24], ecx
mov ecx, dword [esp + 0x24]
mov eax, dword [eax + 0xc]
push ecx
push edx
lea edx, [esp + 0x124]
push edx
call eax
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x24]
add esp, 0xc
cmp byte [esp + 0x139], 0
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], edx
je 0x443ecb
cmp dword [esp + 0x134], 0
je 0x443eb8
mov eax, dword [esp + 0x11c]
push eax
call fcn.00440f00
mov edi, dword [esp + 0x2c]
add esp, 4
push eax
push 0x4d4df4
add edi, 0x2c
mov eax, esi
call fcn.00421000
mov ecx, dword [esp + 0x13c]
mov edi, dword [esp + 0x30]
add esp, 8
mov dword [esp + 0x10], ecx
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x1c]
push edx
push eax
mov ebx, edi
call fcn.0043f100
add esp, 8
movzx ecx, byte [esp + 0x44]
mov eax, dword [esp + 0x11c]
call fcn.0043b300
mov ecx, dword [esp + 0x11c]
call fcn.0043bd30
test eax, eax
je case.default.0x4434eb
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
push str.string_or_blob_too_big
add edi, 0x2c
call fcn.00421000
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x10], 0x12
jmp 0x447629
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0xc]
lea esi, [ebx + ecx*8]
lea ecx, [ebx + edx*8]
mov dl, byte [ecx + 8]
or dl, byte [esi + 8]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [esp + 0x18], eax
test dl, 1
je 0x443f51
call fcn.0043bb80
jmp case.default.0x4434eb
call fcn.0043b8b0
mov ecx, esi
mov ebx, eax
mov edi, edx
call fcn.0043b8b0
mov esi, eax
mov al, byte [ebp]
cmp al, 0x55
jne 0x443f73
and ebx, esi
and edi, edx
jmp 0x44402f
cmp al, 0x56
jne 0x443f80
or ebx, esi
or edi, edx
jmp 0x44402f
mov ecx, esi
or ecx, edx
je 0x44402f
test edx, edx
jg 0x443fb8
jl 0x443f94
test esi, esi
jae 0x443fad
mov cl, 0xaf
sub cl, al
cmp edx, 0xffffffff
mov al, cl
jl 0x443fb8
jg 0x443fa6
cmp esi, 0xffffffc0
jbe 0x443fb8
neg esi
adc edx, 0
neg edx
test edx, edx
jl 0x443fd9
jg 0x443fb8
cmp esi, 0x40
jb 0x443fd9
test edi, edi
jg 0x443fd0
jl 0x443fc2
test ebx, ebx
jae 0x443fd0
cmp al, 0x57
je 0x443fd0
or eax, 0xffffffff
cdq
mov ebx, eax
mov edi, edx
jmp 0x44402f
xor eax, eax
cdq
mov ebx, eax
mov edi, edx
jmp 0x44402f
cmp al, 0x57
mov edx, edi
mov ecx, esi
mov eax, ebx
jne 0x443ff3
call fcn.004acad0
mov ebp, eax
mov dword [esp + 0xc4], edx
jmp 0x444026
call fcn.004bd3e0
mov ebp, eax
mov dword [esp + 0xc4], edx
test edi, edi
jg 0x444026
jl 0x44400b
test ebx, ebx
jae 0x444026
mov ecx, 0x40
sub ecx, esi
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.004acad0
or ebp, eax
or dword [esp + 0xc4], edx
mov edi, dword [esp + 0xc4]
mov ebx, ebp
mov eax, dword [esp + 0x18]
mov dx, word [eax + 8]
mov ecx, 0xbe04
and dx, cx
or dx, 4
mov dword [eax], ebx
mov dword [eax + 4], edi
mov word [eax + 8], dx
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
lea esi, [ebx + edx*8]
call fcn.0043b9e0
mov eax, dword [ebp + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
movzx eax, word [ebx + 8]
test al, 4
jne 0x4440bc
test al, 8
jne 0x444094
test al, 2
je 0x44409f
push 1
mov eax, ebx
call fcn.00443200
add esp, 4
jmp 0x44409f
mov esi, ebx
call fcn.0043b970
mov esi, dword [esp + 0x14]
movzx eax, word [ebx + 8]
test al, 4
jne 0x4440bc
mov ebp, dword [ebp + 8]
test ebp, ebp
je 0x44799f
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.default.0x4434eb
and eax, 0xbe04
or eax, 4
mov word [ebx + 8], ax
jmp case.default.0x4434eb
mov ebp, dword [ebp + 4]
lea ecx, [ebp + ebp*4]
test byte [ebx + ecx*8 + 8], 4
lea esi, [ebx + ecx*8]
je case.default.0x4434eb
call fcn.0043ba10
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
lea ebx, [ebx + edx*8]
mov eax, 0x4000
test word [ebx + 8], ax
je 0x44411e
mov eax, ebx
call fcn.0043b4c0
mov dl, byte [esp + 0x44]
mov cl, byte [ebp + 8]
mov dword [esp + 0x10], eax
mov eax, ebx
call fcn.0043bae0
jmp case.default.0x4434eb
mov dl, byte [esp + 0x44]
mov cl, byte [ebp + 8]
mov eax, ebx
mov dword [esp + 0x10], 0
call fcn.0043bae0
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0xc]
lea ecx, [ebx + ecx*8]
lea edx, [eax + eax*4]
movzx eax, word [ecx + 8]
lea edi, [ebx + edx*8]
movzx edx, word [edi + 8]
mov dword [esp + 0x2c], ecx
movzx ecx, ax
mov dword [esp + 0x20], edx
or dl, cl
mov dword [esp + 0x30], ecx
test dl, 1
je 0x4441d6
mov al, byte [ebp + 3]
test al, al
jns 0x444195
test cl, 1
je 0x44418b
mov eax, dword [esp + 0x20]
test al, 1
je 0x44418b
test eax, 0x100
jne 0x44418b
xor eax, eax
jmp 0x4442a1
mov eax, 1
jmp 0x4442a1
test al, 0x20
je 0x4441c1
mov ebp, dword [ebp + 8]
lea edx, [ebp + ebp*4]
mov ax, word [ebx + edx*8 + 8]
lea ebx, [ebx + edx*8]
mov ecx, 0xbe01
and ax, cx
or ax, 1
mov dword [esp + 0x18], ebx
mov word [ebx + 8], ax
jmp case.default.0x4434eb
test al, 0x10
je case.default.0x4434eb
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.default.0x4434eb
mov cl, byte [ebp + 3]
and cl, 0x47
cmp cl, 0x43
jl 0x44420e
and al, 0xe
cmp al, 2
jne 0x4441f5
mov eax, dword [esp + 0x2c]
push 0
call fcn.00443200
add esp, 4
mov dl, byte [edi + 8]
and dl, 0xe
cmp dl, 2
jne 0x44424b
push 0
mov eax, edi
call fcn.00443200
add esp, 4
jmp 0x44424b
cmp cl, 0x42
jne 0x44424b
test al, 2
jne 0x44422e
test al, 0xc
je 0x44422e
mov eax, dword [esp + 0x44]
push 1
push eax
mov eax, dword [esp + 0x34]
call fcn.0043b580
add esp, 8
movzx eax, word [edi + 8]
test al, 2
jne 0x44424b
test al, 0xc
je 0x44424b
mov ecx, dword [esp + 0x44]
push 1
push ecx
mov eax, edi
call fcn.0043b580
add esp, 8
mov ebx, dword [esp + 0x2c]
mov edx, 0x4000
test word [ebx + 8], dx
je 0x444269
mov eax, ebx
call fcn.0043b4c0
and dword [esp + 0x30], 0xbfff
mov eax, 0x4000
test word [edi + 8], ax
je 0x444283
mov eax, edi
call fcn.0043b4c0
and dword [esp + 0x20], 0xbfff
cmp byte [esi + 0x40], 0
jne 0x446840
mov edx, dword [ebp + 0x10]
mov eax, ebx
mov ecx, edi
call fcn.0043fce0
mov ebx, dword [esp + 0x60]
mov ecx, dword [esp + 0x30]
movzx edx, byte [ebp]
add edx, 0xffffffb2
cmp edx, 4
ja case.default.0x4442ad
jmp dword [edx*4 + 0x447dac]
xor edx, edx
test eax, eax
sete dl
jmp 0x4442e8
xor edx, edx
test eax, eax
setne dl
jmp 0x4442e8
xor edx, edx
test eax, eax
setl dl
jmp 0x4442e8
xor edx, edx
test eax, eax
setle dl
jmp 0x4442e8
xor edx, edx
test eax, eax
setg dl
jmp 0x4442e8
xor edx, edx
test eax, eax
setge dl
test byte [ebp + 3], 0x20
mov eax, edx
je 0x44432e
mov ebp, dword [ebp + 8]
lea edx, [ebp + ebp*4]
lea ebx, [ebx + edx*8]
mov dx, word [ebx + 8]
mov esi, 0xbe04
and dx, si
or dx, 4
mov word [ebx + 8], dx
cdq
mov dword [ebx], eax
mov eax, dword [esp + 0x2c]
mov dword [ebx + 4], edx
mov word [eax + 8], cx
mov cx, word [esp + 0x20]
mov dword [esp + 0x18], ebx
mov word [edi + 8], cx
jmp case.default.0x4434eb
test eax, eax
je 0x44433a
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
mov eax, dword [esp + 0x2c]
mov word [eax + 8], cx
mov cx, word [esp + 0x20]
mov word [edi + 8], cx
jmp case.default.0x4434eb
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x90], edx
jmp case.default.0x4434eb
test byte [ebp + 3], 1
jne 0x444370
mov dword [esp + 0x90], 0
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
mov edi, dword [ebp + 4]
xor esi, esi
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x4c], edx
test ecx, ecx
jle 0x444401
lea ebp, [eax + 0x14]
jmp 0x444397
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x90]
test ecx, ecx
je 0x4443a7
mov ecx, dword [ecx + esi*4]
jmp 0x4443a9
mov ecx, esi
mov eax, dword [eax + 0x10]
movzx eax, byte [eax + esi]
mov edx, dword [ebp]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x4c]
add eax, ecx
add ecx, edi
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea eax, [ebx + eax*8]
lea ecx, [ebx + ecx*8]
call fcn.0043fce0
mov dword [esp + 0xb8], eax
test eax, eax
jne 0x4443f1
inc esi
add ebp, 4
cmp esi, dword [esp + 0x6c]
jl 0x444393
mov dword [esp + 0x90], eax
jmp case.default.0x4434eb
cmp dword [esp + 0x24], 0
je 0x444401
neg eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0x90], 0
jmp case.default.0x4434eb
mov eax, dword [esp + 0xb8]
test eax, eax
jge 0x444429
mov ebp, dword [ebp + 4]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.default.0x4434eb
jne 0x444438
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.default.0x4434eb
mov ebp, dword [ebp + 0xc]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 8], 1
lea ecx, [ebx + edx*8]
je 0x44445c
mov esi, 2
jmp 0x44446e
call fcn.0043b8b0
or eax, edx
je 0x44446c
mov esi, 1
jmp 0x44446e
xor esi, esi
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 8], 1
lea ecx, [ebx + eax*8]
je 0x444485
mov eax, 2
jmp 0x444497
call fcn.0043b8b0
or eax, edx
je 0x444495
mov eax, 1
jmp 0x444497
xor eax, eax
cmp byte [ebp], 0x48
jne 0x4444aa
lea ecx, [eax + esi*2]
movzx eax, byte [esi + ecx + 0x4cfee4]
jmp 0x4444b5
lea edx, [eax + esi*2]
movzx eax, byte [esi + edx + 0x4cff28]
mov ebp, dword [ebp + 0xc]
lea ecx, [ebp + ebp*4]
lea ebx, [ebx + ecx*8]
mov dword [esp + 0x18], ebx
cmp eax, 2
jne 0x4444e1
mov dx, word [ebx + 8]
mov eax, 0xbe01
and dx, ax
or dx, 1
mov word [ebx + 8], dx
jmp case.default.0x4434eb
mov cx, word [ebx + 8]
cdq
mov dword [ebx + 4], edx
mov edx, 0xbe04
and cx, dx
or cx, 4
mov dword [ebx], eax
mov word [ebx + 8], cx
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
lea ecx, [ebp + ebp*4]
lea ebx, [ebx + ecx*8]
mov eax, ebx
mov dword [esp + 0x18], ebx
call fcn.0043bb80
test byte [esi + 8], 1
jne case.default.0x4434eb
mov edx, 4
mov ecx, esi
mov word [ebx + 8], dx
call fcn.0043b8b0
or eax, edx
jne 0x44454c
mov eax, 1
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp case.default.0x4434eb
xor eax, eax
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
lea ecx, [ebp + ebp*4]
lea ebx, [ebx + ecx*8]
mov eax, ebx
mov dword [esp + 0x18], ebx
call fcn.0043bb80
test byte [esi + 8], 1
jne case.default.0x4434eb
mov edx, 4
mov ecx, esi
mov word [ebx + 8], dx
call fcn.0043b8b0
not eax
not edx
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp case.default.0x4434eb
mov eax, dword [edi + 0xc8]
mov ecx, dword [ebp + 4]
add eax, ecx
cmp byte [eax], 0
je 0x4445bc
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.default.0x4434eb
mov byte [eax], 1
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 8], 1
lea eax, [ebx + edx*8]
je 0x4445d9
mov eax, dword [ebp + 0xc]
jmp 0x444603
call fcn.0043b920
fcomp qword [0x4da928]
fnstsw ax
test ah, 0x44
jnp 0x4445f2
mov eax, 1
jmp 0x4445f4
xor eax, eax
cmp byte [ebp], 0x2e
jne 0x444603
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
test eax, eax
je case.default.0x4434eb
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 8], 1
je case.default.0x4434eb
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 8], 1
jne case.default.0x4434eb
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.default.0x4434eb
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
lea edx, [eax + eax*4]
lea eax, [ebx + edx*8]
mov edx, dword [edi + 0x38]
mov dword [esp + 0x48], ecx
mov ecx, dword [ebp + 4]
mov dword [esp + 0x50], eax
mov eax, dword [edx + ecx*4]
movsx ecx, word [eax + 0x14]
lea edx, [eax + ecx*4 + 0x58]
mov ecx, dword [eax]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x30], ecx
call fcn.0043f500
mov dword [esp + 0x10], eax
test eax, eax
jne 0x44518a
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0x44]
cmp edx, dword [edi + 0x48]
jne 0x4446ae
test byte [ebp + 3], 0x20
je 0x4447f9
cmp byte [eax + 0x19], 0
je 0x4446fb
cmp dword [esp + 0x30], 0
jne 0x4446de
mov ecx, dword [eax + 0x10]
lea ecx, [ecx + ecx*4]
lea ecx, [ebx + ecx*8]
mov ebx, dword [ecx + 0xc]
lea edx, [eax + 0x48]
mov dword [eax + 0x4c], ebx
mov dword [esp + 0x54], edx
mov dword [edx], ebx
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x54], edx
jmp 0x444780
mov eax, dword [esp + 0x50]
mov cx, word [eax + 8]
mov edx, 0xbe01
and cx, dx
or cx, 1
mov word [eax + 8], cx
jmp 0x444aca
test byte [eax + 0x1c], 4
mov esi, dword [esp + 0x30]
jne 0x44473b
lea ebx, [esp + 0x198]
call fcn.004346d0
mov eax, esi
movzx ecx, word [eax + 0x2c]
add ecx, dword [eax + 0x20]
movzx ebx, word [eax + 0x2e]
mov eax, dword [esp + 0x2c]
mov dword [eax + 0x54], ecx
mov edx, dword [esp + 0x198]
mov ecx, dword [esp + 0x2c]
add eax, 0x48
mov dword [esp + 0x54], eax
mov dword [eax], edx
jmp 0x444765
mov eax, dword [esp + 0x2c]
add eax, 0x48
push eax
mov dword [esp + 0x58], eax
call fcn.00434740
movzx eax, word [esi + 0x2c]
mov ecx, dword [esp + 0x30]
movzx ebx, word [esi + 0x2e]
add esp, 4
add eax, dword [esi + 0x20]
mov dword [ecx + 0x54], eax
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
cmp eax, ebx
ja 0x444770
mov dword [ecx + 0x4c], eax
jmp 0x444773
mov dword [ecx + 0x4c], ebx
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx + 0x58]
ja 0x443ef0
mov eax, dword [esp + 0x2c]
mov edx, dword [edi + 0x48]
mov ecx, dword [eax + 0x54]
mov dword [eax + 0x44], edx
mov dl, byte [ecx]
cmp dl, 0x80
jae 0x4447a5
movzx esi, dl
mov dword [esp + 0x84], esi
mov ecx, 1
jmp 0x4447bf
lea esi, [esp + 0x84]
call fcn.004240b0
mov esi, dword [esp + 0x84]
movzx ecx, al
mov eax, dword [esp + 0x2c]
movzx ecx, cl
mov dword [eax + 0x50], ecx
mov ecx, dword [esp + 0x20]
xor edx, edx
mov word [eax + 0x16], dx
mov dword [ecx], esi
cmp ebx, esi
jae 0x4447dd
xor ecx, ecx
mov dword [eax + 0x54], ecx
mov dword [eax + 0x4c], ecx
cmp esi, 0x18003
ja 0x444b43
mov edx, dword [esp + 0x54]
cmp esi, dword [edx]
ja 0x444b43
mov eax, dword [esp + 0x2c]
movzx eax, word [eax + 0x16]
cmp eax, dword [esp + 0x48]
jg 0x4449f0
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 0x50]
mov eax, dword [esp + 0x20]
cmp edx, dword [eax]
jae 0x4449aa
mov eax, dword [ecx + 0x54]
test eax, eax
jne 0x4448ad
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c8], eax
mov dword [esp + 0x1cc], eax
mov edx, ecx
mov eax, dword [edx + 0x1c]
mov ecx, dword [esp + 0x20]
mov ebx, dword [ecx]
mov ecx, dword [esp + 0x30]
shr eax, 2
not eax
and eax, 1
push eax
push 0
lea eax, [esp + 0x1b0]
call fcn.0043c0a0
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x4434eb
mov edx, dword [esp + 0x1b8]
mov dword [esp + 0x34], edx
jmp 0x4448b3
mov dword [esp + 0x34], eax
mov edx, eax
mov ecx, dword [esp + 0x2c]
movzx ebx, word [ecx + 0x16]
mov eax, dword [esp + 0x20]
mov esi, dword [eax + ebx*4]
mov edi, dword [ecx + 0x50]
mov eax, dword [eax]
add edi, edx
add eax, edx
lea edx, [ecx + ebx*4 + 0x58]
mov dword [esp + 0x84], esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x54], edx
mov edi, edi
mov al, byte [edi]
cmp al, 0x80
jae 0x4448f3
movzx eax, al
mov dword [esp + 0x94], eax
inc edi
jmp 0x444918
lea esi, [esp + 0x94]
mov ecx, edi
call fcn.004240b0
mov esi, dword [esp + 0x84]
mov ecx, dword [esp + 0x2c]
movzx eax, al
add edi, eax
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x54]
mov dword [edx], eax
call fcn.0043f650
add esi, eax
mov dword [esp + 0x84], esi
cmp esi, eax
jb 0x44494b
add dword [esp + 0x54], 4
mov eax, dword [esp + 0x20]
inc ebx
cmp ebx, dword [esp + 0x48]
mov dword [eax + ebx*4], esi
jg 0x444950
cmp edi, dword [esp + 0x24]
jb 0x4448e0
jmp 0x444950
mov edi, dword [esp + 0x24]
inc edi
mov edx, edi
sub edx, dword [esp + 0x34]
cmp dword [ecx + 0x54], 0
mov word [ecx + 0x16], bx
mov dword [ecx + 0x50], edx
jne 0x444980
lea eax, [esp + 0x1a8]
call fcn.0043b830
mov ecx, dword [esp + 0x2c]
mov eax, 1
mov word [esp + 0x1b0], ax
mov eax, dword [esp + 0x24]
cmp edi, eax
ja 0x444997
mov ecx, dword [ecx + 0x48]
cmp esi, ecx
ja 0x444997
cmp edi, eax
jne 0x4449aa
cmp esi, ecx
je 0x4449aa
mov eax, 0x116b3
call fcn.0048a780
mov dword [esp + 0x10], eax
jmp case.default.0x4434eb
mov ecx, dword [esp + 0x2c]
movzx edx, word [ecx + 0x16]
cmp edx, dword [esp + 0x48]
jg 0x4449f0
cmp byte [ebp + 1], 0xf8
mov eax, dword [esp + 0x50]
jne 0x4449d7
mov edi, dword [ebp + 0x10]
push 0x800
call fcn.0043bd60
add esp, 4
jmp 0x444ac6
mov cx, word [eax + 8]
mov edx, 0xbe01
and cx, dx
or cx, 1
mov word [eax + 8], cx
jmp 0x444ac6
mov esi, dword [esp + 0x50]
mov eax, 0x2460
test word [esi + 8], ax
je 0x444a06
mov eax, esi
call fcn.0043bb80
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x48]
mov ebx, dword [ecx + 0x4c]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx + edi*4 + 0x58]
mov dword [esp + 0x94], edx
cmp ebx, dword [eax + edi*4 + 4]
jb 0x444a38
mov ecx, dword [ecx + 0x54]
add ecx, dword [eax + edi*4]
mov eax, esi
call fcn.0043f790
jmp 0x444abf
mov al, byte [ebp + 3]
test al, 0xc0
je 0x444a4d
cmp edx, 0xc
jb 0x444a49
test dl, 1
je 0x444a5a
test al, al
js 0x444a5a
mov eax, edx
call fcn.0043f650
mov ebx, eax
test ebx, ebx
jne 0x444a77
mov ecx, 0xd
cmp ecx, edx
sbb ecx, ecx
not ecx
lea eax, [esp + 0x198]
and ecx, eax
mov eax, esi
call fcn.0043f790
jmp 0x444abf
mov ecx, dword [ecx + 0x1c]
mov edx, dword [esp + 0x20]
mov eax, dword [edx + edi*4]
shr ecx, 2
not ecx
and ecx, 1
push ecx
mov ecx, dword [esp + 0x34]
push eax
mov eax, esi
call fcn.0043c0a0
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x4434eb
mov edx, dword [esp + 0x94]
mov ecx, dword [esi + 0x10]
mov eax, esi
call fcn.0043f790
mov ecx, 0xefff
and word [esi + 8], cx
mov dl, byte [esp + 0x44]
mov byte [esi + 0xa], dl
mov eax, dword [esp + 0x50]
movzx edx, word [eax + 8]
test edx, 0x1000
je case.default.0x4434eb
mov ebp, dword [eax + 0x10]
test ebp, ebp
je case.default.0x4434eb
mov ebx, dword [eax + 0xc]
mov edi, dword [esp + 0x50]
mov esi, edx
lea ecx, [ebx + 2]
and esi, 0x12
cmp dword [eax + 0x18], ecx
jge 0x444b34
xor eax, eax
call fcn.0043b320
test eax, eax
jne 0x446840
mov edx, dword [edi + 0x10]
push ebx
push ebp
push edx
call fcn.004adef0
mov eax, dword [edi + 0x10]
mov byte [ebx + eax], 0
mov ecx, dword [edi + 0x10]
add esp, 0xc
or esi, 0x200
mov byte [ebx + ecx + 1], 0
mov word [edi + 8], si
jmp case.default.0x4434eb
mov ecx, dword [eax + 0x14]
and edx, 0xd
mov dword [eax + 0x10], ecx
mov word [eax + 8], dx
jmp 0x444b08
mov eax, 0x11671
call fcn.0048a780
mov dword [esp + 0x10], eax
jmp case.default.0x4434eb
mov esi, dword [ebp + 0x10]
mov ebp, dword [ebp + 4]
mov cl, byte [esi]
lea edx, [ebp + ebp*4]
lea ebx, [ebx + edx*8]
test cl, cl
je case.default.0x4434eb
mov edi, dword [esp + 0x44]
push edi
mov eax, ebx
inc esi
call fcn.00443280
mov cl, byte [esi]
add esp, 4
add ebx, 0x28
test cl, cl
jne 0x444b71
jmp case.default.0x4434eb
mov ecx, dword [ebp + 0x10]
xor eax, eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov eax, dword [ebp + 8]
mov ebp, dword [ebp + 0xc]
lea eax, [eax + eax*4]
mov dword [esp + 0x24], edx
lea edx, [edx + eax*8 - 0x28]
movzx eax, byte [edi + 0x57]
mov dword [esp + 0x50], edx
lea edx, [ebp + ebp*4]
mov dword [esp + 0x30], eax
lea eax, [ebx + edx*8]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x18], eax
test ecx, ecx
je 0x444c06
mov edi, dword [esp + 0x24]
mov cl, byte [ecx]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x44]
lea ecx, [ecx]
push ebp
mov eax, edi
call fcn.00443280
mov cl, byte [ebx + 1]
inc ebx
add esp, 4
add edi, 0x28
test cl, cl
jne 0x444bf0
mov edi, dword [esp + 0x50]
lea ebx, [ebx]
mov edx, dword [esp + 0x30]
push edx
mov edx, edi
call fcn.0043f540
add esp, 4
mov ebp, eax
call fcn.0043f650
mov ebx, eax
mov eax, 0x4000
test word [edi + 8], ax
je 0x444c54
mov ecx, dword [esp + 0x98]
or ecx, dword [esp + 0x9c]
je 0x444c4c
mov eax, edi
call fcn.0043b4c0
jmp 0x444c54
mov eax, dword [edi]
add dword [esp + 0x54], eax
sub ebx, eax
mov eax, ebx
cdq
add dword [esp + 0x98], eax
adc dword [esp + 0x9c], edx
cmp ebp, 0x7f
ja 0x444c71
mov eax, 1
jmp 0x444c7c
push 0
push ebp
call fcn.00424130
add esp, 8
add dword [esp + 0x20], eax
sub edi, 0x28
cmp edi, dword [esp + 0x24]
jae 0x444c10
mov ebx, dword [esp + 0x20]
cmp ebx, 0x7e
jle 0x444cb5
mov eax, ebx
cdq
push edx
push eax
call fcn.00424130
mov edi, eax
add ebx, edi
mov eax, ebx
cdq
push edx
push eax
mov dword [esp + 0x30], ebx
call fcn.00424130
add esp, 0x10
cmp edi, eax
jge 0x444cba
inc ebx
mov dword [esp + 0x20], ebx
mov eax, ebx
cdq
mov ebp, eax
mov eax, dword [esp + 0x98]
mov ecx, edx
mov edx, dword [esp + 0x9c]
add eax, ebp
adc edx, ecx
mov dword [esp + 0x108], eax
mov eax, dword [esi + 0x58]
mov edi, edx
cdq
cmp edi, edx
mov dword [esp + 0x1f4], ecx
jg 0x443ef0
mov edx, dword [esp + 0x108]
jl 0x444d00
cmp edx, eax
ja 0x443ef0
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x18], edx
jge 0x444d43
mov edi, dword [esp + 0x18]
xor eax, eax
mov ecx, edx
call fcn.0043b320
test eax, eax
jne 0x446840
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1f4]
mov eax, edi
mov eax, dword [eax + 0x10]
mov dword [esp + 0x34], eax
cmp ebx, 0x80
jae 0x444d50
mov byte [eax], bl
mov eax, 1
jmp 0x444d5c
mov edx, dword [eax + 0x14]
and word [eax + 8], 0xd
mov dword [eax + 0x10], edx
jmp 0x444d2b
push ecx
push ebp
mov esi, eax
call fcn.00423ee0
add esp, 8
mov ebp, dword [esp + 0x24]
movzx eax, al
mov dword [esp + 0x48], eax
mov dword [esp + 0x20], ebx
jmp 0x444d70
mov ecx, dword [esp + 0x30]
push ecx
mov edx, ebp
call fcn.0043f540
mov ebx, eax
add esp, 4
cmp ebx, 0x80
jae 0x444d9b
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x48]
mov byte [edx + eax], bl
mov eax, 1
jmp 0x444db1
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x34]
push 0
push ebx
lea esi, [ecx + edx]
call fcn.00423ee0
add esp, 8
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x20]
movzx eax, al
add dword [esp + 0x48], eax
lea edi, [esi + ecx]
mov ecx, ebx
mov eax, ebp
call fcn.0043f670
add esi, eax
add ebp, 0x28
mov dword [esp + 0x20], esi
cmp ebp, dword [esp + 0x50]
jbe 0x444d70
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x108]
mov ecx, 0x10
mov word [eax + 8], cx
mov ecx, dword [esp + 0x54]
mov dword [eax + 0xc], edx
test ecx, ecx
je 0x444e05
mov edx, 0x4010
mov dword [eax], ecx
mov word [eax + 8], dx
mov byte [eax + 0xa], 1
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x38]
mov edx, dword [ecx + eax*4]
mov eax, dword [edx]
xor ecx, ecx
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], ecx
lea ecx, [esp + 0xc8]
push ecx
call fcn.00438d30
mov edx, dword [esp + 0xcc]
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
add esp, 4
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 0x10]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x444f25
cmp dword [esi + 0x9c], eax
jle 0x444e7d
push str.cannot_open_savepoint___SQL_statements_in_progress
jmp 0x444f8f
mov ecx, ebp
call fcn.004230d0
mov edx, dword [esi + 0x1f4]
add edx, dword [esi + 0x1f0]
mov ebx, eax
push edx
push 0
push esi
call fcn.0047a960
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x445182
mov esi, dword [esp + 0x14]
lea eax, [ebx + 0x21]
push 0
push eax
call fcn.00420d90
mov edi, eax
add esp, 8
test edi, edi
je case.default.0x4434eb
inc ebx
push ebx
lea eax, [edi + 0x20]
push ebp
push eax
mov dword [edi], eax
call fcn.004adef0
add esp, 0xc
cmp byte [esi + 0x3e], 0
je 0x444ee7
mov byte [esi + 0x3e], 0
mov byte [esi + 0x45], 1
jmp 0x444eed
inc dword [esi + 0x1f0]
mov ecx, dword [esi + 0x1e8]
mov dword [edi + 0x18], ecx
mov edx, dword [esi + 0x1f8]
mov dword [esi + 0x1e8], edi
mov dword [edi + 8], edx
mov eax, dword [esi + 0x1fc]
mov dword [edi + 0xc], eax
mov ecx, dword [esi + 0x200]
mov dword [edi + 0x10], ecx
mov edx, dword [esi + 0x204]
mov dword [edi + 0x14], edx
jmp case.default.0x4434eb
mov ebx, dword [esi + 0x1e8]
mov dword [esp + 0x30], 0
test ebx, ebx
je 0x444f52
mov eax, dword [ebx]
push ebp
push eax
call fcn.00423340
add esp, 8
test eax, eax
je 0x444f78
mov ebx, dword [ebx + 0x18]
inc dword [esp + 0x30]
test ebx, ebx
jne 0x444f37
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
push ebp
push str.no_such_savepoint:__s
add edi, 0x2c
call fcn.00421000
add esp, 8
mov dword [esp + 0x10], 1
jmp case.default.0x4434eb
cmp dword [esi + 0x9c], 0
mov eax, dword [esp + 0x20]
jle 0x444faf
cmp eax, 1
jne 0x444faf
push str.cannot_release_savepoint___SQL_statements_in_progress
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
add edi, 0x2c
call fcn.00421000
add esp, 4
mov dword [esp + 0x10], 5
jmp case.default.0x4434eb
cmp dword [ebx + 0x18], 0
jne 0x44500b
cmp byte [esi + 0x45], 0
je 0x44500b
mov dword [esp + 0x24], 1
cmp eax, 1
jne 0x445013
push eax
mov esi, edi
call fcn.0043ebe0
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x44769c
mov esi, dword [esp + 0x14]
push edi
mov byte [esi + 0x3e], 1
call fcn.0043ec50
add esp, 4
cmp eax, 5
je 0x4479ac
mov byte [esi + 0x45], 0
mov ecx, dword [edi + 0x50]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x10], ecx
jmp 0x4450a2
mov dword [esp + 0x24], 0
mov edx, dword [esi + 0x1f0]
sub edx, dword [esp + 0x30]
dec edx
mov dword [esp + 0x30], edx
cmp eax, 2
jne 0x44504b
xor edi, edi
cmp dword [esi + 0x14], edi
jle 0x44504b
xor ebp, ebp
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + ebp + 4]
push 4
push ecx
call fcn.00434240
inc edi
add esp, 8
add ebp, 0x10
cmp edi, dword [esi + 0x14]
jl 0x445030
xor ebp, ebp
cmp dword [esi + 0x14], ebp
jle 0x445082
xor edi, edi
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x20]
mov ecx, dword [esi + 0x10]
push edx
push eax
mov eax, dword [edi + ecx + 4]
call fcn.00434460
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x445182
inc ebp
add edi, 0x10
cmp ebp, dword [esi + 0x14]
jl 0x445054
mov edi, dword [esp + 0x20]
cmp edi, 2
jne 0x4450a2
test byte [esi + 0x18], 2
je 0x4450a2
mov eax, esi
call fcn.00440a40
mov eax, esi
call fcn.00456eb0
or dword [esi + 0x18], edi
cmp dword [esi + 0x1e8], ebx
je 0x44510e
lea ebx, [ebx]
cmp dword [esi + 0x208], 0
mov eax, dword [esi + 0x1e8]
mov edx, dword [eax + 0x18]
mov dword [esi + 0x1e8], edx
je 0x4450d1
mov ecx, esi
call fcn.00420ae0
jmp 0x445100
cmp eax, dword [esi + 0x114]
jb 0x4450f7
cmp eax, dword [esi + 0x118]
jae 0x4450f7
mov ecx, dword [esi + 0x110]
mov dword [eax], ecx
dec dword [esi + 0xfc]
mov dword [esi + 0x110], eax
jmp 0x445100
push eax
call fcn.00420a40
add esp, 4
dec dword [esi + 0x1f0]
cmp dword [esi + 0x1e8], ebx
jne 0x4450b0
cmp edi, 1
jne 0x445138
mov edx, dword [ebx + 0x18]
mov eax, ebx
mov ecx, esi
mov dword [esi + 0x1e8], edx
call fcn.00420b20
cmp dword [esp + 0x24], 0
jne case.default.0x4434eb
dec dword [esi + 0x1f0]
jmp 0x445167
cmp dword [esp + 0x24], 0
mov eax, dword [ebx + 8]
mov dword [esi + 0x1f8], eax
mov ecx, dword [ebx + 0xc]
mov dword [esi + 0x1fc], ecx
mov edx, dword [ebx + 0x10]
mov dword [esi + 0x200], edx
mov eax, dword [ebx + 0x14]
mov dword [esi + 0x204], eax
jne case.default.0x4434eb
mov ecx, dword [esp + 0x30]
push ecx
push edi
push esi
call fcn.0047a960
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
je case.default.0x4434eb
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
cmp byte [esi + 0x40], 0
je 0x447a8f
mov dword [esp + 0x10], 7
mov ecx, dword [esp + 0x10]
mov eax, str.unknown_error
call fcn.004888c0
jmp 0x447abc
mov ebx, dword [ebp + 4]
mov ebp, dword [ebp + 8]
test ebx, ebx
je 0x4451d5
cmp byte [esi + 0x3e], 0
jne 0x4451d5
test ebp, ebp
jne 0x4451d5
cmp dword [esi + 0x9c], ebp
jle 0x4451d5
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x444f8f
movzx edx, byte [esi + 0x3e]
cmp ebx, edx
jne 0x4479c4
test ebx, ebx
jne 0x4451ec
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x4451fa
mov eax, str.cannot_rollback___no_transaction_is_active
test ebp, ebp
jne 0x4451fa
mov eax, str.cannot_commit___no_transaction_is_active
mov edi, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x18]
add edi, 0x2c
call fcn.00421000
add esp, 4
mov dword [esp + 0x10], 1
jmp case.default.0x4434eb
mov eax, dword [ebp + 8]
test eax, eax
je 0x44522f
test dword [esi + 0x18], 0x2000000
jne 0x447a41
mov ecx, dword [ebp + 4]
mov edx, dword [esi + 0x10]
shl ecx, 4
mov ebx, dword [ecx + edx + 4]
test ebx, ebx
je 0x445325
push eax
push ebx
call fcn.00433280
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, 5
je 0x447a4e
test eax, eax
jne 0x445182
cmp dword [ebp + 8], eax
je 0x4452ff
test byte [edi + 0x58], 0x80
je 0x4452ff
cmp byte [esi + 0x3e], al
je 0x445288
cmp dword [esi + 0x98], 1
jle 0x4452ff
cmp dword [edi + 0x68], 0
jne 0x4452a5
inc dword [esi + 0x1f4]
mov eax, dword [esi + 0x1f4]
mov ecx, dword [esi + 0x1f0]
add ecx, eax
mov dword [edi + 0x68], ecx
mov edx, dword [edi + 0x68]
dec edx
push edx
push 0
push esi
call fcn.0047a960
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4452cf
mov eax, dword [edi + 0x68]
push eax
mov eax, ebx
call fcn.00434410
add esp, 4
mov dword [esp + 0x10], eax
mov ecx, dword [esi + 0x1f8]
mov dword [edi + 0x98], ecx
mov edx, dword [esi + 0x1fc]
mov dword [edi + 0x9c], edx
mov eax, dword [esi + 0x200]
mov dword [edi + 0xa0], eax
mov ecx, dword [esi + 0x204]
mov dword [edi + 0xa4], ecx
lea edx, [esp + 0xac]
push edx
push 1
mov eax, ebx
call fcn.00438c10
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0x10]
add esp, 8
shl eax, 4
mov edx, dword [eax + ecx + 0xc]
mov eax, dword [edx + 4]
jmp 0x445332
mov dword [esp + 0xac], 0
xor eax, eax
cmp byte [ebp + 3], 0
je case.default.0x4434eb
mov ecx, dword [esp + 0xac]
cmp ecx, dword [ebp + 0xc]
jne 0x445351
cmp eax, dword [ebp + 0x10]
je case.default.0x4434eb
mov esi, dword [esp + 0x14]
mov eax, dword [edi + 0x2c]
mov ecx, esi
call fcn.00420b20
push esi
mov ebx, str.database_schema_has_changed
call fcn.00420f60
mov dword [edi + 0x2c], eax
mov ebp, dword [ebp + 4]
mov eax, dword [esi + 0x10]
mov edx, ebp
shl edx, 4
mov ecx, dword [edx + eax + 0xc]
mov edx, dword [esp + 0xb0]
add esp, 4
cmp dword [ecx], edx
je 0x445399
mov edi, dword [esp + 0x14]
mov esi, ebp
call fcn.00456e80
mov edi, dword [esp + 0x28]
or dword [edi + 0x58], 0x20
mov dword [esp + 0x10], 0x11
jmp case.default.0x4434eb
mov edx, dword [ebp + 4]
mov ecx, dword [ebp + 0xc]
lea eax, [esp + 0x118]
push eax
mov eax, dword [esi + 0x10]
shl edx, 4
mov eax, dword [edx + eax + 4]
push ecx
call fcn.00438c10
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x20]
cdq
add esp, 8
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x14]
shl eax, 4
add eax, dword [ecx + 0x10]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea esi, [ebx + edx*8]
call fcn.0043b9e0
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esi]
push eax
mov eax, dword [ecx + 4]
call fcn.00438c80
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
add esp, 4
cmp eax, 1
jne 0x445436
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0xc]
mov ecx, dword [esi]
mov dword [eax], ecx
mov eax, dword [esp + 0x14]
or dword [eax + 0x18], 2
jmp 0x445447
cmp eax, 2
jne 0x445447
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0xc]
mov cl, byte [esi]
mov byte [eax + 0x4c], cl
cmp dword [ebp + 4], 1
jne case.default.0x4434eb
mov eax, dword [esp + 0x14]
call fcn.00440a40
and dword [edi + 0x58], 0xffffffdf
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x38]
mov eax, dword [ecx + eax*4]
test eax, eax
je case.0x4434eb.54
mov eax, dword [eax + 0x20]
cmp eax, dword [ebp + 8]
je case.default.0x4434eb
test byte [edi + 0x58], 0x20
je 0x44548f
mov dword [esp + 0x10], 4
jmp case.default.0x4434eb
mov eax, dword [ebp + 8]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x4c], eax
shl eax, 4
add eax, dword [esi + 0x10]
xor ecx, ecx
mov esi, dword [eax + 4]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x6c], esi
cmp dl, 0x37
jne 0x4454d1
mov edx, dword [eax + 0xc]
mov al, byte [edx + 0x4c]
mov dword [esp + 0x48], 1
cmp al, byte [edi + 0x57]
jae 0x4454d9
mov byte [edi + 0x57], al
jmp 0x4454d9
mov dword [esp + 0x48], 0
test byte [ebp + 3], 2
je 0x445501
mov eax, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
call fcn.0043b9e0
mov esi, dword [esi]
cmp esi, 2
mov dword [esp + 0x24], esi
jl 0x447a62
mov ecx, dword [esp + 0x38]
mov al, byte [ebp + 1]
cmp al, 0xfa
jne 0x44551b
mov eax, dword [ebp + 0x10]
movzx ecx, word [eax + 8]
movzx edx, word [eax + 6]
mov dword [esp + 0x34], eax
add ecx, edx
jmp 0x445522
cmp al, 0xf2
jne 0x445522
mov ecx, dword [ebp + 0x10]
mov eax, dword [esp + 0x4c]
push 1
push eax
push ecx
mov ecx, dword [ebp + 4]
push ecx
mov ebx, edi
call fcn.00443130
mov esi, eax
add esp, 0x10
test esi, esi
je 0x446840
mov edx, dword [esi]
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x48]
or dword [esi + 0x1c], 8
push edx
push edi
mov dword [esi + 0x20], eax
push eax
mov eax, dword [esp + 0x78]
mov byte [esi + 0x19], 1
call fcn.00434510
mov ecx, dword [esi]
mov dword [esi + 8], edi
mov dword [esp + 0x1c], eax
mov al, byte [ebp + 3]
xor edx, edx
and al, 1
mov byte [ecx + 0x52], al
add esp, 0xc
cmp byte [ebp + 1], 0xfa
setne dl
add edx, edx
add edx, edx
xor edx, dword [esi + 0x1c]
and edx, 4
xor dword [esi + 0x1c], edx
jmp case.default.0x4434eb
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 4]
push 1
push 0xffffffffffffffff
push eax
push ecx
mov ebx, edi
call fcn.00443130
mov esi, eax
add esp, 0x10
test esi, esi
je 0x446840
or dword [esi + 0x1c], 1
mov byte [esi + 0x19], 1
movzx edx, byte [ebp + 3]
push 0x41e
or edx, 5
push edx
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
lea edi, [esi + 4]
push 0
push eax
mov ecx, edi
call fcn.00432280
add esp, 0x10
mov dword [esp + 0x10], eax
test eax, eax
jne 0x445673
mov ecx, dword [edi]
push 1
push ecx
call fcn.00433280
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x445673
mov ebx, dword [ebp + 0x10]
test ebx, ebx
je 0x445655
movzx edx, byte [ebp + 3]
or edx, 2
push edx
lea eax, [esp + 0xe8]
push eax
mov eax, dword [edi]
call fcn.004386e0
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x44564f
mov ecx, dword [esi]
mov edx, dword [esp + 0xe4]
push ecx
mov dword [esi + 8], ebx
push ebx
lea ebx, [eax + 1]
mov eax, dword [edi]
push edx
call fcn.00434510
add esp, 0xc
mov dword [esp + 0x10], eax
and dword [esi + 0x1c], 0xfffffffb
jmp 0x445673
mov eax, dword [esi]
push eax
mov eax, dword [edi]
push 0
push 1
mov ebx, 1
call fcn.00434510
add esp, 0xc
or dword [esi + 0x1c], 4
mov dword [esp + 0x10], eax
xor ecx, ecx
cmp byte [ebp + 3], 8
setne cl
add ecx, ecx
add ecx, ecx
add ecx, ecx
xor ecx, dword [esi + 0x1c]
and ecx, 8
xor dword [esi + 0x1c], ecx
jmp case.default.0x4434eb
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 4]
push 1
push 0xffffffffffffffff
push edx
push eax
mov ebx, edi
call fcn.00443130
add esp, 0x10
test eax, eax
je 0x446840
mov ecx, dword [ebp + 0x10]
mov dword [eax + 8], ecx
mov edx, dword [ebp + 0xc]
push eax
mov eax, dword [esp + 0x18]
push edx
call fcn.00448fc0
add esp, 8
mov dword [esp + 0x10], eax
jmp case.default.0x4434eb
mov ecx, dword [edi + 0x38]
mov eax, dword [ebp + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
mov esi, ecx
add esi, 1
mov edi, edx
adc edi, 0
mov dword [eax + 0x28], esi
mov dword [eax + 0x2c], edi
mov eax, ecx
or eax, edx
jne case.default.0x4434eb
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.default.0x4434eb
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 4]
push 0
push 0xffffffffffffffff
push edx
push eax
mov ebx, edi
call fcn.00443130
add esp, 0x10
test eax, eax
je 0x446840
mov byte [eax + 0x19], 1
mov ecx, dword [ebp + 8]
or dword [eax + 0x1c], 4
mov dword [eax + 0x10], ecx
jmp case.default.0x4434eb
mov edi, dword [esp + 0x28]
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + edx*4]
call fcn.0043def0
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x38]
mov dword [edx + ecx*4], 0
jmp case.default.0x4434eb
mov ecx, dword [edi + 0x38]
mov eax, dword [ebp + 4]
mov esi, dword [ecx + eax*4]
test byte [esi + 0x1c], 4
movzx ecx, byte [ebp]
mov dword [esp + 0x20], ecx
mov byte [esi + 0x19], 0
je 0x44583f
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
mov al, byte [ebx + edx*8 + 8]
lea ebx, [ebx + edx*8]
and al, 0xe
cmp al, 2
jne 0x445797
push 0
mov eax, ebx
call fcn.00443200
add esp, 4
mov ecx, ebx
call fcn.0043b8b0
mov edi, eax
mov byte [esi + 0x1a], 0
movzx eax, word [ebx + 8]
mov dword [esp + 0xe8], edi
mov dword [esp + 0xec], edx
test al, 4
jne 0x4457fe
test al, 8
jne 0x4457cb
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.default.0x4434eb
fild qword [esp + 0xe8]
fcom qword [ebx]
fnstsw ax
test ah, 0x41
jne 0x4457ea
test byte [esp + 0x20], 1
fstp st(0)
je 0x4457fe
dec dword [esp + 0x20]
jmp 0x4457fe
fcomp qword [ebx]
fnstsw ax
test ah, 5
jp 0x4457fe
test byte [esp + 0x20], 1
jne 0x4457fe
inc dword [esp + 0x20]
mov eax, dword [esi]
lea ecx, [esp + 0x64]
push ecx
push 0
push edx
push edi
push 0
call fcn.004350b0
add esp, 0x14
mov dword [esp + 0x10], eax
test eax, eax
jne 0x445182
cmp dword [esp + 0x64], eax
jne 0x4458b1
mov edx, dword [esp + 0xec]
mov byte [esi + 0x1a], 1
mov dword [esi + 0x38], edi
mov dword [esi + 0x3c], edx
jmp 0x4458b1
mov eax, dword [ebp + 0x10]
mov edx, dword [esi + 8]
mov word [esp + 0x200], ax
test cl, 1
sete al
mov dword [esp + 0x1fc], edx
mov edx, 0x4000
lea eax, [eax + eax - 1]
mov byte [esp + 0x202], al
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
lea eax, [ebx + ecx*8]
mov dword [esp + 0x204], eax
test word [eax + 8], dx
je 0x445885
call fcn.0043b4c0
lea eax, [esp + 0x64]
push eax
mov eax, dword [esi]
push 0
push 0
lea ecx, [esp + 0x208]
push 0
push ecx
call fcn.004350b0
add esp, 0x14
mov dword [esp + 0x10], eax
test eax, eax
jne 0x445182
mov byte [esi + 0x1a], al
mov ecx, dword [esp + 0x20]
xor edi, edi
cmp ecx, 0x40
mov byte [esi + 0x1b], 0
mov dword [esi + 0x44], edi
mov eax, dword [esp + 0x64]
jl 0x4458ee
cmp eax, edi
jl 0x4458db
jne 0x4458d2
cmp ecx, 0x41
je 0x4458db
mov dword [esp + 0x64], edi
jmp case.default.0x4434eb
lea edx, [esp + 0x64]
mov dword [esp + 0x64], edi
mov eax, dword [esi]
push edx
push eax
call fcn.00435630
jmp 0x44591b
cmp eax, edi
jg 0x44590a
jne 0x4458f9
cmp ecx, 0x3e
je 0x44590a
mov ecx, dword [esi]
xor edx, edx
cmp byte [ecx + 0x51], 1
setne dl
mov dword [esp + 0x64], edx
jmp 0x44592e
lea eax, [esp + 0x64]
mov dword [esp + 0x64], edi
mov ecx, dword [esi]
push eax
push ecx
call fcn.004357e0
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, edi
jne 0x445182
mov byte [esi + 0x1a], 0
cmp dword [esp + 0x64], 0
je case.default.0x4434eb
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.default.0x4434eb
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + edx*4]
mov byte [esi + 0x19], 0
mov ebp, dword [ebp + 8]
lea ecx, [ebp + ebp*4]
lea ecx, [ebx + ecx*8]
call fcn.0043b8b0
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], edx
mov byte [esi + 0x1a], 0
mov byte [esi + 0x1b], 1
jmp case.default.0x4434eb
mov eax, dword [edi + 0x38]
mov edx, dword [ebp + 4]
mov ecx, dword [eax + edx*4]
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
xor edi, edi
cmp dword [ebp + 0x10], edi
lea ebx, [ebx + edx*8]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], edi
jle 0x4459f5
mov eax, dword [ecx + 8]
mov dword [esp + 0x13c], eax
mov cx, word [ebp + 0x10]
xor edx, edx
mov word [esp + 0x140], cx
mov dword [esp + 0x144], ebx
cmp dx, cx
jae 0x4459ec
xor ebx, ebx
mov eax, dword [esp + 0x144]
add eax, ebx
mov edx, 0x4000
test word [eax + 8], dx
je 0x4459e1
call fcn.0043b4c0
mov cx, word [esp + 0x140]
movzx eax, cx
inc edi
add ebx, 0x28
cmp edi, eax
jl 0x4459c0
lea edi, [esp + 0x13c]
jmp 0x445a3f
mov ecx, dword [esp + 0x24]
mov edi, dword [ecx + 8]
push 0xbf
lea ebx, [esp + 0x38]
lea edx, [esp + 0x264]
call fcn.0043f920
mov edi, eax
add esp, 4
test edi, edi
je 0x446840
mov eax, dword [esp + 0x38]
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov ecx, dword [esp + 0x24]
push edi
push edx
mov edx, dword [ecx + 8]
push eax
push edx
call fcn.0043f980
mov esi, dword [esp + 0x24]
add esp, 0x10
mov byte [edi + 6], 0
cmp byte [ebp], 0x43
jne 0x445a78
movzx edx, word [esp + 0x140]
xor eax, eax
test edx, edx
jle 0x445a78
mov ecx, dword [esp + 0x144]
add ecx, 8
test byte [ecx], 1
jne 0x445a70
inc eax
add ecx, 0x28
cmp eax, edx
jl 0x445a61
jmp 0x445a78
mov eax, dword [ebp + 8]
dec eax
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x110]
push eax
push 0
push 0
push 0
push edi
mov edi, dword [esp + 0x38]
mov eax, dword [edi]
call fcn.004350b0
add esp, 0x14
cmp dword [ebp + 0x10], 0
mov ebx, eax
mov dword [esp + 0x10], ebx
jne 0x445aac
mov eax, dword [esp + 0x34]
mov ecx, esi
call fcn.00420b20
test ebx, ebx
jne case.default.0x4434eb
mov ecx, dword [esp + 0x110]
xor eax, eax
test ecx, ecx
mov dword [edi + 0xc], ecx
sete al
mov cl, 1
sub cl, al
mov byte [edi + 0x19], cl
mov byte [edi + 0x1b], bl
mov dword [edi + 0x44], ebx
cmp byte [ebp], 0x45
jne 0x445aed
test eax, eax
je case.default.0x4434eb
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.default.0x4434eb
test eax, eax
jne case.default.0x4434eb
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.default.0x4434eb
mov eax, dword [ebp + 0xc]
mov ecx, dword [edi + 0x38]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
mov esi, dword [ecx + eax*4]
mov ecx, dword [ebx + edx*8]
mov eax, dword [esi]
lea ebx, [ebx + edx*8]
mov edx, dword [ebx + 4]
lea edi, [esp + 0x54]
push edi
push 0
push edx
push ecx
push 0
mov dword [esp + 0x68], 0
call fcn.004350b0
mov edx, dword [ebx]
mov dword [esp + 0x24], eax
mov dword [esi + 0x38], edx
mov eax, dword [ebx + 4]
mov dword [esi + 0x3c], eax
mov eax, dword [esp + 0x68]
add esp, 0x14
test eax, eax
sete cl
mov byte [esi + 0x1a], cl
mov byte [esi + 0x19], 0
mov dword [esi + 0x44], 0
mov byte [esi + 0x1b], 0
test eax, eax
je 0x445b6d
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
mov dword [esi + 0xc], eax
jmp case.default.0x4434eb
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + edx*4]
mov edx, dword [eax + 0x28]
mov ecx, dword [esp + 0x18]
mov dword [ecx], edx
mov eax, dword [eax + 0x2c]
mov dword [ecx + 4], eax
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x38]
mov eax, dword [edx + ecx*4]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x38]
mov ecx, dword [ecx + eax*4]
mov eax, dword [ecx]
xor edx, edx
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x20], ecx
cmp eax, edx
je 0x445d99
test byte [ecx + 0x1c], 2
jne 0x445c3b
lea edi, [esp + 0x30]
mov esi, eax
call fcn.00435060
mov dword [esp + 0x10], eax
test eax, eax
jne 0x445182
cmp dword [esp + 0x30], eax
je 0x445bf9
mov dword [esp + 0x58], 1
mov dword [esp + 0x5c], eax
jmp 0x445c2f
mov edi, dword [esp + 0x20]
mov esi, dword [edi]
lea ebx, [esp + 0x58]
call fcn.004346d0
cmp dword [esp + 0x5c], 0x7fffffff
mov dword [esp + 0x10], eax
jl 0x445c25
jg 0x445c1f
cmp dword [esp + 0x58], 0xffffffff
jb 0x445c25
or dword [edi + 0x1c], 2
jmp 0x445c2f
add dword [esp + 0x58], 1
adc dword [esp + 0x5c], 0
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x14]
mov ebp, dword [ebp + 0xc]
test ebp, ebp
je 0x445cc9
mov ecx, dword [edi + 0xb0]
test ecx, ecx
je 0x445c6c
mov eax, dword [ecx + 4]
test eax, eax
je 0x445c60
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x445c57
mov eax, dword [ecx + 0xc]
lea edx, [ebp + ebp*4]
lea esi, [eax + edx*8]
jmp 0x445c73
lea ecx, [ebp + ebp*4]
lea esi, [ebx + ecx*8]
call fcn.0043b9e0
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, 0xffffffff
jne 0x445c8e
cmp ecx, 0x7fffffff
je 0x447a75
mov edx, dword [esp + 0x20]
test byte [edx + 0x1c], 2
jne 0x447a75
mov edx, dword [esp + 0x5c]
add eax, 1
adc ecx, 0
cmp edx, ecx
jg 0x445cbc
jl 0x445cb2
cmp dword [esp + 0x58], eax
jae 0x445cbc
mov edx, ecx
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
mov eax, dword [esp + 0x58]
mov dword [esi], eax
mov dword [esi + 4], edx
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
test byte [ecx + 0x1c], 2
mov ebx, ecx
je 0x445d8a
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
and eax, 0x3fffffff
add ecx, 1
adc eax, 0
lea edx, [esp + 0x30]
push edx
xor ebp, ebp
push ebp
push eax
push ecx
mov dword [esp + 0x6c], eax
mov eax, dword [ebx]
push ebp
mov dword [esp + 0x6c], ecx
call fcn.004350b0
add esp, 0x14
mov dword [esp + 0x10], eax
test eax, eax
jne 0x445d8a
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x445d7b
inc ebp
cmp ebp, 0x64
jge 0x445d7b
lea eax, [esp + 0x58]
push eax
push 8
call fcn.004226e0
mov eax, dword [esp + 0x60]
add esp, 8
cmp ebp, 5
jge 0x445d44
and eax, 0xffffff
xor ecx, ecx
jmp 0x445d4e
mov ecx, dword [esp + 0x5c]
and ecx, 0x3fffffff
add eax, 1
lea edx, [esp + 0x30]
push edx
adc ecx, 0
push 0
push ecx
push eax
mov dword [esp + 0x68], eax
mov eax, dword [ebx]
push 0
mov dword [esp + 0x70], ecx
call fcn.004350b0
add esp, 0x14
mov dword [esp + 0x10], eax
test eax, eax
je 0x445d15
jmp 0x445d8a
cmp dword [esp + 0x10], 0
jne 0x445d8a
test eax, eax
je 0x447a82
mov byte [ebx + 0x1a], 0
mov byte [ebx + 0x1b], 0
mov dword [ebx + 0x44], 0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp case.default.0x4434eb
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [ebp + 4]
mov dword [esp + 0x38], ecx
mov ecx, dword [edi + 0x38]
mov ecx, dword [ecx + eax*4]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x4c], ecx
cmp dl, 0x4b
jne 0x445ddd
lea edx, [eax + eax*4]
mov eax, dword [ebx + edx*8]
mov ebx, dword [ebx + edx*8 + 4]
jmp 0x445de0
cdq
mov ebx, edx
test byte [ebp + 3], 1
mov dword [esp + 0xf0], eax
je 0x445df0
inc dword [edi + 0x5c]
test byte [ebp + 3], 2
je 0x445e04
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ebx
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ebx
mov eax, dword [esp + 0x38]
movzx edx, word [eax + 8]
test dl, 1
je 0x445e19
xor edi, edi
mov dword [eax + 0x10], edi
mov dword [eax + 0xc], edi
test byte [ebp + 3], 0x10
je 0x445e24
mov ecx, dword [ecx + 0xc]
jmp 0x445e26
xor ecx, ecx
test edx, 0x4000
je 0x445e32
mov edi, dword [eax]
jmp 0x445e34
xor edi, edi
movzx edx, byte [ebp + 3]
push ecx
mov ecx, dword [eax + 0xc]
shr edx, 3
and edx, 1
push edx
mov edx, dword [eax + 0x10]
mov eax, dword [esp + 0xf8]
push edi
mov edi, dword [esp + 0x58]
push ecx
push edx
push ebx
push eax
mov eax, dword [edi]
push 0
call fcn.00437f00
add esp, 0x20
mov dword [esp + 0x10], eax
mov byte [edi + 0x1a], 0
mov byte [edi + 0x1b], 0
mov dword [edi + 0x44], 0
test eax, eax
jne case.default.0x4434eb
mov ecx, dword [esi + 0xd0]
test ecx, ecx
je case.default.0x4434eb
mov eax, dword [ebp + 0x10]
test eax, eax
je case.default.0x4434eb
mov edx, dword [esp + 0xf0]
push ebx
push edx
mov edx, dword [esi + 0x10]
push eax
movsx eax, byte [edi + 0x18]
shl eax, 4
mov eax, dword [eax + edx]
mov dl, byte [ebp + 3]
push eax
and dl, 4
movzx eax, dl
mov edx, dword [esi + 0xcc]
neg eax
sbb eax, eax
and eax, 5
add eax, 0x12
push eax
push edx
call ecx
add esp, 0x18
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x38]
mov ebx, dword [ecx + eax*4]
mov eax, dword [ebx + 0x3c]
mov edx, dword [ebx + 0x38]
mov dword [esp + 0x104], eax
mov eax, ebx
mov dword [esp + 0x100], edx
call fcn.0043f500
mov dword [esp + 0x10], eax
test eax, eax
jne 0x445182
mov eax, dword [ebx]
call fcn.00438180
mov dword [esp + 0x10], eax
mov dword [ebx + 0x44], 0
test eax, eax
jne 0x445f5d
mov ecx, dword [esi + 0xd0]
test ecx, ecx
je 0x445f5d
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x445f5d
test byte [ebx + 0x1c], 4
je 0x445f5d
mov edx, dword [esp + 0x104]
push edx
mov edx, dword [esp + 0x104]
push edx
mov edx, dword [esi + 0x10]
push eax
movsx eax, byte [ebx + 0x18]
shl eax, 4
mov eax, dword [eax + edx]
mov edx, dword [esi + 0xcc]
push eax
push 9
push edx
call ecx
add esp, 0x18
test byte [ebp + 8], 1
je case.default.0x4434eb
inc dword [edi + 0x5c]
jmp case.default.0x4434eb
mov eax, dword [edi + 0x5c]
add dword [esi + 0x54], eax
mov dword [esi + 0x50], eax
mov dword [edi + 0x5c], 0
jmp case.default.0x4434eb
mov ecx, dword [edi + 0x38]
mov eax, dword [ebp + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [ebp + 0xc]
lea edx, [ecx + ecx*4]
mov ecx, dword [ebp + 0x10]
lea ebx, [ebx + edx*8]
lea edx, [esp + 0x20]
push edx
push ecx
push ebx
mov dword [esp + 0x2c], 0
call fcn.0044afb0
add esp, 0xc
cmp dword [esp + 0x20], 0
mov dword [esp + 0x10], eax
je case.default.0x4434eb
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.default.0x4434eb
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 4]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x18], ecx
call fcn.0044af10
mov dword [esp + 0x10], eax
jmp case.default.0x4434eb
mov eax, dword [ebp + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 4]
lea edx, [ebx + ecx*8]
mov ecx, dword [edi + 0x38]
mov ebp, dword [ecx + eax*4]
mov esi, dword [ebp]
mov eax, ebp
mov dword [esp + 0x18], edx
call fcn.0043f500
mov dword [esp + 0x10], eax
test eax, eax
jne 0x445182
test byte [ebp + 0x1c], 4
jne 0x44605f
lea ebx, [esp + 0x150]
call fcn.004346d0
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x58]
mov ecx, dword [esp + 0x154]
cdq
cmp ecx, edx
jg 0x443ef0
mov ebx, dword [esp + 0x150]
jl 0x446056
cmp ebx, eax
ja 0x443ef0
mov dword [esp + 0xbc], ebx
jmp 0x446083
lea edx, [esp + 0xbc]
push edx
call fcn.00434740
mov ebx, dword [esp + 0xc0]
mov eax, dword [esp + 0x18]
add esp, 4
cmp ebx, dword [eax + 0x58]
ja 0x443ef0
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x18], ebx
mov edi, eax
jge 0x4460da
xor eax, eax
mov ecx, ebx
call fcn.0043b320
test eax, eax
jne 0x446840
mov dx, word [edi + 8]
mov eax, 0xbe10
and dx, ax
or dx, 0x10
mov dword [edi + 0xc], ebx
mov word [edi + 8], dx
test byte [ebp + 0x1c], 4
jne 0x4460e7
mov eax, dword [edi + 0x10]
push 0
push eax
push ebx
push 0
call fcn.00434960
mov dword [esp + 0x20], eax
add esp, 0x10
mov byte [edi + 0xa], 1
jmp case.default.0x4434eb
mov ecx, dword [eax + 0x14]
and word [eax + 8], 0xd
mov dword [eax + 0x10], ecx
jmp 0x44609f
mov ecx, dword [edi + 0x10]
push ecx
push ebx
push 0
push esi
call fcn.00434d10
mov dword [esp + 0x20], eax
add esp, 0x10
mov byte [edi + 0xa], 1
jmp case.default.0x4434eb
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + edx*4]
cmp byte [esi + 0x19], 0
je 0x446125
mov edx, dword [esp + 0x18]
mov ecx, 1
mov word [edx + 8], cx
jmp case.default.0x4434eb
cmp byte [esi + 0x1b], 0
je 0x446156
mov eax, dword [esi + 0x30]
mov dword [esp + 0xb0], eax
mov ecx, dword [esi + 0x34]
mov dword [esp + 0xb4], ecx
mov edx, dword [esp + 0xb4]
mov ecx, eax
mov eax, dword [esp + 0x18]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp case.default.0x4434eb
cmp dword [esi + 0x24], 0
je 0x44619b
mov esi, dword [esi + 0x24]
mov ebx, dword [esi]
mov eax, dword [ebx]
mov eax, dword [eax + 0x30]
lea edx, [esp + 0xb0]
push edx
push esi
call eax
push ebx
push edi
mov dword [esp + 0x20], eax
call fcn.00440ac0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xc4]
add esp, 0x10
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp case.default.0x4434eb
mov eax, esi
call fcn.0043f500
mov dword [esp + 0x10], eax
test eax, eax
jne 0x445182
cmp byte [esi + 0x1a], al
je 0x4461d5
mov ecx, dword [esi + 0x38]
mov eax, dword [esp + 0x18]
mov dword [esp + 0xb0], ecx
mov edx, dword [esi + 0x3c]
mov dword [esp + 0xb4], edx
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp case.default.0x4434eb
mov esi, dword [esi]
lea ebx, [esp + 0xb0]
call fcn.004346d0
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x38]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x19], 1
mov byte [eax + 0x1a], 0
mov dword [eax + 0x44], 0
mov eax, dword [eax]
test eax, eax
je case.default.0x4434eb
mov esi, eax
call fcn.00431080
jmp case.default.0x4434eb
mov eax, dword [esp + 0x28]
mov edx, dword [ebp + 4]
mov ecx, dword [eax + 0x38]
mov ebx, dword [ecx + edx*4]
mov esi, dword [ebx]
lea edi, [esp + 0x50]
mov dword [esp + 0x50], 0
call fcn.00435060
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x50]
mov byte [ebx + 0x19], al
mov byte [ebx + 0x1b], 0
mov byte [ebx + 0x1a], 0
mov dword [ebx + 0x44], 0
mov ebp, dword [ebp + 8]
test ebp, ebp
jle case.default.0x4434eb
test eax, eax
je case.default.0x4434eb
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.default.0x4434eb
inc dword [edi + 0x74]
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + edx*4]
cmp dword [esi + 0x40], 0
mov ebx, 1
mov dword [esp + 0x2c], ebx
je 0x4462b4
lea edi, [esp + 0x2c]
mov eax, esi
call fcn.0044ae50
mov ebx, dword [esp + 0x2c]
jmp 0x4462de
mov edi, dword [esi]
mov eax, edi
call fcn.00434e00
test eax, eax
jne 0x4462cf
cmp byte [edi + 0x51], al
je 0x4462cf
mov eax, edi
xor ebx, ebx
call fcn.00434f50
mov byte [esi + 0x1b], 0
mov dword [esi + 0x44], 0
mov byte [esi + 0x1a], 0
mov dword [esp + 0x10], eax
mov byte [esi + 0x19], bl
test ebx, ebx
je case.default.0x4434eb
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.default.0x4434eb
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x38]
mov esi, dword [edx + ecx*4]
mov eax, dword [esp + 0x14]
push eax
lea ebx, [esp + 0xac]
mov eax, esi
mov dword [esp + 0xac], 0
call fcn.0044aea0
add esp, 4
jmp 0x44635c
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x38]
cmp dword [edx + ecx*4], 0
je case.default.0x4434eb
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x38]
mov esi, dword [ecx + eax*4]
mov edx, dword [ebp + 0xc]
mov dword [esp + 0xa8], edx
mov ecx, dword [esi]
mov edx, dword [ebp + 0x10]
lea eax, [esp + 0xa8]
push eax
push ecx
call edx
add esp, 8
mov dword [esi + 0x44], 0
cmp dword [esp + 0xa8], 0
mov dword [esp + 0x10], eax
jne 0x446396
mov byte [esi + 0x19], 0
mov eax, dword [ebp + 8]
dec eax
mov dword [esp + 0x1c], eax
movzx eax, byte [ebp + 3]
inc dword [edi + eax*4 + 0x6c]
lea eax, [edi + eax*4 + 0x6c]
mov byte [esi + 0x1a], 0
mov esi, dword [esp + 0x14]
jmp 0x4475c4
mov byte [esi + 0x19], 1
mov byte [esi + 0x1a], 0
mov esi, dword [esp + 0x14]
jmp 0x4475c4
test byte [ebp + 3], 1
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x38]
mov esi, dword [edx + ecx*4]
mov eax, dword [ebp + 8]
mov ecx, dword [esi]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov dword [esp + 0x38], ecx
je 0x4463c8
inc dword [edi + 0x5c]
mov edx, 0x4000
test word [ebx + 8], dx
je 0x4463e6
mov eax, ebx
call fcn.0043b4c0
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x4434eb
cmp dword [esi + 0x40], 0
je 0x446400
push ebx
mov eax, esi
call fcn.0044a070
add esp, 4
mov dword [esp + 0x10], eax
jmp case.default.0x4434eb
test byte [ebp + 3], 0x10
mov eax, dword [ebx + 0xc]
mov ebx, dword [ebx + 0x10]
je 0x446411
mov ecx, dword [esi + 0xc]
jmp 0x446413
xor ecx, ecx
push ecx
mov ecx, dword [ebp + 0xc]
push ecx
push 0
push 0
cdq
push 0x4d5034
push edx
push eax
mov eax, dword [esp + 0x54]
push ebx
call fcn.00437f00
add esp, 0x20
mov dword [esp + 0x10], eax
mov dword [esi + 0x44], 0
jmp case.default.0x4434eb
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + edx*4]
mov edi, dword [esi]
mov ecx, dword [esi + 8]
mov dx, word [ebp + 0xc]
mov ebp, dword [ebp + 8]
mov word [esp + 0x214], dx
lea edx, [esp + 0xfc]
push edx
push 0
lea eax, [ebp + ebp*4]
mov dword [esp + 0x218], ecx
lea ecx, [ebx + eax*8]
push 0
lea eax, [esp + 0x21c]
push 0
push eax
mov eax, edi
mov byte [esp + 0x22a], 0
mov dword [esp + 0x22c], ecx
call fcn.004350b0
add esp, 0x14
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4464b7
cmp dword [esp + 0xfc], eax
jne 0x4464b7
mov eax, edi
call fcn.00438180
mov dword [esp + 0x10], eax
mov dword [esi + 0x44], 0
jmp case.default.0x4434eb
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x38]
mov edi, dword [edx + ecx*4]
mov ecx, dword [esp + 0x18]
mov ebx, dword [edi]
mov eax, 1
mov word [ecx + 8], ax
mov eax, edi
call fcn.0043f500
mov dword [esp + 0x10], eax
test eax, eax
jne 0x445182
cmp byte [edi + 0x19], al
jne case.default.0x4434eb
lea edx, [esp + 0xd0]
push edx
xor edi, edi
push esi
mov eax, ebx
mov dword [esp + 0xd8], edi
mov dword [esp + 0xdc], edi
call fcn.00440830
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, edi
jne 0x445182
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0xd4]
mov dword [eax], ecx
mov ecx, 4
mov dword [eax + 4], edx
mov word [eax + 8], cx
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx + 0x38]
mov edi, dword [ecx + eax*4]
mov eax, dword [edi + 8]
mov cx, word [ebp + 0x10]
mov dword [esp + 0x224], eax
mov eax, dword [ebp + 0xc]
cmp dl, 0x73
sbb dl, dl
mov word [esp + 0x228], cx
mov ecx, dword [esp + 0x60]
lea eax, [eax + eax*4]
mov byte [esp + 0x22a], dl
lea edx, [ecx + eax*8]
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x228]
mov dword [esp + 0x230], edx
mov edx, dword [esp + 0x18]
push ecx
push edx
mov dword [esp + 0x30], 0
call fcn.00440960
add esp, 0xc
test byte [ebp], 1
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
je 0x4465c2
neg eax
jmp 0x4465c3
inc eax
test eax, eax
jle case.default.0x4434eb
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.default.0x4434eb
mov eax, dword [esi + 4]
xor edx, edx
test eax, eax
je 0x44660b
cmp dword [eax + 0x28], 0xbdf20da3
jne 0x446604
mov ecx, dword [eax + 0x58]
test ecx, 0x200
je 0x446604
and cl, 0xc
cmp cl, 8
jae 0x446604
cmp dword [eax + 0x4c], 0
jl 0x446604
inc edx
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x4465e1
mov ecx, dword [esp + 0x18]
mov eax, 1
cmp edx, eax
mov word [ecx + 8], ax
jle 0x44662d
mov dword [esp + 0x10], 6
mov byte [edi + 0x56], 2
jmp case.default.0x4434eb
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebp + 4]
lea edx, [esp + 0x6c]
push edx
mov edx, dword [esi + 0x10]
mov ecx, ebx
shl ecx, 4
push eax
mov eax, dword [ecx + edx + 4]
mov dword [esp + 0x74], 0
call fcn.00438bc0
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x74]
mov edi, eax
mov eax, 4
mov word [ecx + 8], ax
mov eax, esi
cdq
add esp, 8
mov dword [esp + 0x10], edi
mov dword [ecx], eax
mov dword [ecx + 4], edx
test edi, edi
jne case.default.0x4434eb
test esi, esi
je case.default.0x4434eb
mov edi, dword [ebp + 4]
mov ecx, dword [esp + 0x14]
mov eax, ebx
call fcn.004592e0
inc bl
mov byte [esp + 0x6b], bl
jmp case.default.0x4434eb
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
neg ecx
sbb ecx, ecx
lea edx, [esp + 0x4c]
and ecx, edx
push ecx
mov ecx, dword [esi + 0x10]
shl eax, 4
mov dword [esp + 0x50], 0
mov edx, dword [eax + ecx + 4]
mov eax, dword [ebp + 4]
push edx
call fcn.004388f0
add esp, 8
cmp dword [ebp + 0xc], 0
mov dword [esp + 0x10], eax
je case.default.0x4434eb
mov eax, dword [esp + 0x4c]
add dword [edi + 0x5c], eax
mov ebp, dword [ebp + 0xc]
test ebp, ebp
jle case.default.0x4434eb
lea ecx, [ebp + ebp*4]
cdq
add dword [ebx + ecx*8], eax
lea ecx, [ebx + ecx*8]
adc dword [ecx + 4], edx
jmp case.default.0x4434eb
mov eax, dword [edi + 0x38]
mov edx, dword [ebp + 4]
mov eax, dword [eax + edx*4]
mov edi, dword [eax + 0x40]
test edi, edi
je 0x446721
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00449460
add esp, 4
jmp case.default.0x4434eb
mov eax, dword [eax]
mov edx, dword [eax]
mov eax, dword [eax + 0x44]
push 0
push edx
call fcn.004388f0
add esp, 8
mov dword [esp + 0x10], eax
jmp case.default.0x4434eb
mov ebp, dword [ebp + 4]
xor eax, eax
shl ebp, 4
add ebp, dword [esi + 0x10]
cmp dl, 0x79
setne al
mov dword [esp + 0x38], 0
inc eax
push eax
lea eax, [esp + 0x3c]
push eax
mov eax, dword [ebp + 4]
call fcn.004386e0
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x40]
cdq
add esp, 8
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
mov ecx, str.sqlite_temp_master
cmp eax, 1
je 0x446790
mov ecx, str.sqlite_master
mov edx, dword [ebp + 0x10]
mov esi, dword [esp + 0x14]
push edx
push ecx
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x168], eax
add edi, 0x2c
shl eax, 4
mov dword [esp + 0x160], esi
mov dword [esp + 0x164], edi
mov edx, dword [eax + ecx]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
call fcn.00422430
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x4467d8
mov dword [esp + 0x10], 7
jmp 0x44682e
push 0
lea eax, [esp + 0x15c]
push eax
push fcn.0046ae90
push edi
push esi
mov byte [esi + 0x91], 1
mov dword [esp + 0x178], 0
call fcn.00467470
mov ebx, eax
add esp, 0x14
mov dword [esp + 0x10], ebx
test ebx, ebx
jne 0x44681a
mov ecx, dword [esp + 0x164]
mov dword [esp + 0x10], ecx
mov ebx, ecx
mov eax, edi
mov ecx, esi
call fcn.00420b20
mov byte [esi + 0x91], 0
test ebx, ebx
je 0x446835
mov eax, esi
call fcn.00456eb0
cmp dword [esp + 0x10], 7
jne case.default.0x4434eb
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
push str.out_of_memory
add edi, 0x2c
mov byte [eax + 0x40], 1
call fcn.00421000
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x10], 7
jmp 0x447629
mov eax, dword [ebp + 4]
mov ecx, esi
call fcn.00455340
mov dword [esp + 0x10], eax
jmp case.default.0x4434eb
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x14]
push edx
call fcn.004572b0
add esp, 4
jmp case.default.0x4434eb
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 4]
mov ecx, esi
call fcn.00456c70
add esp, 4
jmp case.default.0x4434eb
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x14]
push ecx
call fcn.00476550
add esp, 4
jmp case.default.0x4434eb
mov eax, dword [ebp + 8]
mov esi, dword [esp + 0x14]
lea edx, [eax*4 + 4]
push 0
push edx
mov dword [esp + 0x3c], eax
call fcn.00420d90
mov edi, eax
add esp, 8
test edi, edi
je 0x446840
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x60]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
xor esi, esi
cmp dword [esp + 0x34], esi
lea eax, [ecx + edx*8]
mov dword [esp + 0x2c], eax
jle 0x44692f
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x24]
call fcn.0043b8b0
add dword [esp + 0x24], 0x28
mov dword [edi + esi*4], eax
inc esi
cmp esi, dword [esp + 0x34]
jl 0x446917
mov ecx, dword [esp + 0x34]
mov dword [edi + esi*4], 0
mov eax, dword [ebx]
mov esi, dword [esp + 0x14]
push eax
movzx eax, byte [ebp + 3]
push ecx
mov ecx, dword [esi + 0x10]
shl eax, 4
mov ecx, dword [eax + ecx + 4]
push edi
lea edx, [esp + 0x120]
call fcn.00439940
mov ebp, eax
add esp, 0xc
mov eax, edi
mov ecx, esi
call fcn.00420b20
mov esi, dword [esp + 0x114]
mov eax, esi
cdq
sub dword [ebx], eax
mov eax, dword [esp + 0x2c]
sbb dword [ebx + 4], edx
call fcn.0043bb80
test esi, esi
je 0x4469a6
test ebp, ebp
je 0x446840
mov ecx, dword [esp + 0x2c]
push 1
push 0xffffffffffffffff
mov eax, fcn.00420a40
mov ebx, ebp
call fcn.0043be80
add esp, 8
movzx ecx, byte [esp + 0x44]
mov eax, dword [esp + 0x2c]
call fcn.0043b300
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea edx, [eax + eax*4]
lea eax, [ebp + ebp*4]
lea edi, [ebx + edx*8]
lea esi, [ebx + eax*8]
mov bl, 0x20
test byte [edi + 8], bl
jne 0x4469e1
call fcn.0043bc80
test byte [edi + 8], bl
je 0x446840
mov ecx, dword [esi + 4]
mov edx, dword [esi]
mov edi, dword [edi]
push ecx
push edx
call fcn.00429650
add esp, 8
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 8], 0x20
lea eax, [ebx + eax*8]
mov dword [esp + 0x2c], eax
je 0x446a52
mov ecx, eax
mov eax, dword [ecx]
lea esi, [esp + 0x1a0]
call fcn.00429960
test eax, eax
je 0x446a4a
mov edx, dword [esp + 0x1a4]
mov ebp, dword [ebp + 0xc]
mov eax, dword [esp + 0x1a0]
push edx
lea ecx, [ebp + ebp*4]
push eax
lea eax, [ebx + ecx*8]
call fcn.0043bbe0
mov esi, dword [esp + 0x1c]
add esp, 8
jmp 0x4475c4
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x2c]
call fcn.0043bb80
jmp case.0x4434eb.16
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 8], 0x20
mov eax, dword [ebp + 0xc]
lea edi, [ebx + edx*8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov ebx, dword [ebp + 0x10]
jne 0x446a87
call fcn.0043bc80
test byte [edi + 8], 0x20
je 0x446840
test ebx, ebx
je 0x446ab6
mov ecx, dword [esi + 4]
mov edx, dword [esi]
mov eax, dword [edi]
push ecx
push edx
push ebx
call fcn.004299b0
add esp, 0xc
test eax, eax
je 0x446aae
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.default.0x4434eb
test ebx, ebx
jl case.default.0x4434eb
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov edi, dword [edi]
push eax
push ecx
call fcn.00429650
add esp, 8
jmp case.default.0x4434eb
cmp byte [ebp + 3], 0
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
lea edx, [eax + eax*4]
lea ebx, [ebx + edx*8]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x4c], ebx
je 0x446b03
mov eax, dword [edi + 0xb0]
mov ecx, dword [ecx + 0x14]
test eax, eax
je 0x446b03
cmp dword [eax + 0x18], ecx
je case.default.0x4434eb
mov eax, dword [eax + 4]
test eax, eax
jne 0x446af3
mov eax, dword [edi + 0xb8]
cmp eax, dword [esi + 0x80]
jl 0x446b36
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
push str.too_many_levels_of_trigger_recursion
add edi, 0x2c
mov dword [esp + 0x14], 1
call fcn.00421000
add esp, 4
jmp case.default.0x4434eb
test byte [ebx + 8], 0x40
jne 0x446c08
mov ebx, dword [esp + 0x38]
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
add eax, ecx
lea edx, [eax + eax*4]
mov dword [esp + 0x38], eax
lea eax, [ecx + edx*2]
mov ecx, dword [ebx + 0x10]
lea eax, [ecx + eax*4 + 0x48]
cdq
push edx
push eax
mov ecx, esi
call fcn.00420d60
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x446840
mov esi, dword [esp + 0x4c]
mov eax, esi
call fcn.0043b830
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x38]
mov dword [esi], ebp
mov edx, 0x40
mov word [esi + 8], dx
mov edx, dword [esp + 0x1c]
mov dword [ebp + 0x3c], eax
mov dword [ebp], edi
mov ecx, dword [ebx + 0xc]
mov dword [ebp + 0x40], ecx
mov dword [ebp + 0x2c], edx
mov ecx, dword [edi + 8]
mov dword [ebp + 0xc], ecx
mov edx, dword [edi + 0x1c]
mov dword [ebp + 0x34], edx
mov ecx, dword [edi + 0x38]
mov dword [ebp + 0x14], ecx
mov edx, dword [edi + 0x24]
mov dword [ebp + 0x28], edx
mov ecx, dword [edi + 4]
mov dword [ebp + 8], ecx
mov edx, dword [edi + 0x20]
mov dword [ebp + 0x30], edx
mov ecx, dword [ebx + 0x14]
mov dword [ebp + 0x18], ecx
mov edx, dword [edi + 0xc8]
mov dword [ebp + 0x10], edx
mov ecx, dword [edi + 0xc4]
lea edx, [eax + eax*4]
mov dword [ebp + 0x38], ecx
lea ecx, [ebp + edx*8 + 0x48]
lea eax, [ebp + 0x48]
cmp eax, ecx
je 0x446c0e
mov edx, dword [esp + 0x14]
mov esi, 0x80
mov word [eax + 8], si
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x446bf3
jmp 0x446c0e
mov ebp, dword [ebx]
mov ebx, dword [esp + 0x38]
inc dword [edi + 0xb8]
mov eax, dword [edi + 0xb0]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov dword [ebp + 4], eax
mov dword [ebp + 0x24], edx
mov dword [ebp + 0x20], ecx
mov ecx, dword [edi + 0x5c]
mov dword [ebp + 0x44], ecx
lea eax, [ebp + 0x20]
mov ecx, eax
mov dword [edi + 0x5c], 0
mov dword [edi + 0xb0], ebp
mov dword [edi + 8], ecx
mov edx, dword [ebp + 0x3c]
mov dword [edi + 0x1c], edx
movzx eax, word [ebp + 0x40]
mov dword [edi + 0x24], eax
mov eax, edx
inc eax
lea edx, [eax + eax*4]
lea eax, [ecx + edx*8]
mov edx, dword [edi + 0x24]
mov dword [edi + 0x38], eax
mov dword [esp + 0x60], ecx
mov ecx, dword [ebx]
mov dword [edi + 4], ecx
mov dword [esp + 0xa4], ecx
mov ecx, dword [ebx + 4]
lea eax, [eax + edx*4]
mov dword [edi + 0x20], ecx
mov dword [edi + 0xc8], eax
mov ebx, dword [ebx + 0x10]
push ebx
push 0
push eax
mov dword [edi + 0xc4], ebx
mov dword [esp + 0x28], 0xffffffff
call fcn.004aaf30
add esp, 0xc
jmp case.default.0x4434eb
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0xb0]
mov eax, dword [ecx + 0x2c]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 8]
mov eax, dword [eax + edx*4 + 4]
add eax, dword [ebp + 4]
push 0x1000
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0xc]
lea edi, [eax + edx*8]
mov eax, dword [esp + 0x1c]
call fcn.0043bd60
add esp, 4
jmp case.default.0x4434eb
test dword [esi + 0x18], 0x1000000
mov eax, dword [ebp + 8]
cdq
je 0x446cfa
add dword [esi + 0x200], eax
adc dword [esi + 0x204], edx
jmp case.default.0x4434eb
cmp dword [ebp + 4], 0
je 0x446d11
add dword [esi + 0x1f8], eax
adc dword [esi + 0x1fc], edx
jmp case.default.0x4434eb
add dword [edi + 0x90], eax
adc dword [edi + 0x94], edx
jmp case.default.0x4434eb
cmp dword [ebp + 4], 0
je 0x446d59
mov ecx, dword [esi + 0x1f8]
or ecx, dword [esi + 0x1fc]
jne case.default.0x4434eb
mov edx, dword [esi + 0x200]
or edx, dword [esi + 0x204]
jne case.default.0x4434eb
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.default.0x4434eb
mov eax, dword [edi + 0x90]
or eax, dword [edi + 0x94]
jne case.default.0x4434eb
mov ecx, dword [esi + 0x200]
or ecx, dword [esi + 0x204]
jne case.default.0x4434eb
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.default.0x4434eb
mov edi, dword [edi + 0xb0]
test edi, edi
je 0x446db7
mov ecx, edi
mov eax, dword [ecx + 4]
test eax, eax
je 0x446da9
lea ecx, [ecx]
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x446da0
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0xc]
lea edi, [eax + edx*8]
jmp 0x446dc0
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
lea edi, [ebx + ecx*8]
mov esi, edi
call fcn.0043b9e0
mov ebp, dword [ebp + 8]
lea edx, [ebp + ebp*4]
lea esi, [ebx + edx*8]
call fcn.0043b9e0
mov eax, dword [esi]
mov esi, dword [esi + 4]
mov ecx, dword [edi + 4]
cmp ecx, esi
jg case.default.0x4434eb
jl 0x446df2
mov edx, dword [edi]
cmp edx, eax
jae case.default.0x4434eb
mov dword [edi], eax
mov dword [edi + 4], esi
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
cmp dword [ebx + eax*8 + 4], 0
jl case.default.0x4434eb
jg 0x446e19
cmp dword [ebx + eax*8], 0
jbe case.default.0x4434eb
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov eax, dword [ebp + 0xc]
cdq
add dword [ebx], eax
adc dword [ebx + 4], edx
cmp dword [ebx + 4], 0
jg case.default.0x4434eb
jl 0x446e4d
cmp dword [ebx], 0
jae case.default.0x4434eb
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0xc]
lea ebx, [ebx + ecx*8]
cdq
add dword [ebx], eax
adc dword [ebx + 4], edx
mov edx, dword [ebx]
or edx, dword [ebx + 4]
jne case.default.0x4434eb
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.default.0x4434eb
mov eax, dword [ebp + 8]
movzx edx, byte [ebp + 3]
mov edi, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
xor eax, eax
test edx, edx
jle 0x446eab
lea ebx, [ebx]
mov dword [edi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, edx
jl 0x446ea0
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [esp + 0x174], ecx
mov dword [esp + 0x178], eax
inc dword [eax + 0xc]
xor eax, eax
mov ecx, 1
mov word [esp + 0x240], cx
mov dword [esp + 0x250], eax
mov dword [esp + 0x188], eax
mov dword [esp + 0x17c], eax
mov byte [esp + 0x18c], al
mov eax, dword [esp + 0x174]
lea ecx, [esp + 0x238]
mov dword [esp + 0x258], esi
mov dword [esp + 0x170], ecx
test byte [eax + 2], 0x20
je 0x446f1f
mov ecx, dword [ebp - 4]
mov dword [esp + 0x17c], ecx
mov eax, dword [eax + 0x10]
push edi
push edx
lea edx, [esp + 0x178]
push edx
call eax
add esp, 0xc
cmp dword [esp + 0x188], 0
je 0x446f73
lea ecx, [esp + 0x238]
push ecx
call fcn.00440f00
mov edi, dword [esp + 0x2c]
add esp, 4
push eax
mov eax, dword [esp + 0x18]
push 0x4d4df4
add edi, 0x2c
call fcn.00421000
mov edx, dword [esp + 0x190]
mov ebx, dword [esp + 0x68]
add esp, 8
mov dword [esp + 0x10], edx
cmp byte [esp + 0x18c], 0
je 0x446f97
mov ebp, dword [ebp - 0x10]
test ebp, ebp
je 0x446f97
push 0
lea eax, [ebp + ebp*4]
push 1
lea eax, [ebx + eax*8]
call fcn.0043bbe0
add esp, 8
lea eax, [esp + 0x238]
call fcn.0043b830
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
lea ebx, [ebx + ecx*8]
mov ecx, dword [ebp + 0x10]
mov eax, ebx
call fcn.0043b660
mov dword [esp + 0x10], eax
test eax, eax
je 0x446fe5
push ebx
call fcn.00440f00
mov edi, dword [esp + 0x2c]
add esp, 4
push eax
mov eax, dword [esp + 0x18]
push 0x4d4df4
add edi, 0x2c
call fcn.00421000
add esp, 8
movzx ecx, byte [esp + 0x44]
mov eax, ebx
call fcn.0043b300
mov ecx, ebx
call fcn.0043bd30
test eax, eax
jne 0x443ef0
jmp case.default.0x4434eb
mov ecx, dword [ebp + 8]
or eax, 0xffffffff
lea edx, [esp + 0xe0]
push edx
mov edx, dword [ebp + 4]
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe0], eax
lea eax, [esp + 0xe0]
push eax
push ecx
push edx
xor edi, edi
push esi
mov dword [esp + 0xec], edi
call fcn.00489280
add esp, 0x14
mov dword [esp + 0x10], eax
cmp eax, 5
jne 0x447058
mov dword [esp + 0x10], edi
mov dword [esp + 0xd8], 1
mov ebp, dword [ebp + 0xc]
lea eax, [ebp + ebp*4]
xor esi, esi
lea ebx, [ebx + eax*8]
mov eax, dword [esp + esi*4 + 0xd8]
cdq
push edx
push eax
mov eax, ebx
call fcn.0043bbe0
inc esi
add esp, 8
add ebx, 0x28
cmp esi, 3
jl 0x447064
jmp case.default.0x4434eb
mov ecx, dword [ebp + 4]
mov edx, dword [esi + 0x10]
mov edi, dword [ebp + 0xc]
shl ecx, 4
mov eax, dword [ecx + edx + 4]
mov dword [esp + 0x38], eax
mov eax, dword [eax + 4]
mov edx, dword [eax]
movzx eax, byte [edx + 5]
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], eax
cmp edi, 0xffffffff
jne 0x4470b2
mov edi, eax
cmp byte [edx + 0x10], 3
jae 0x4470ce
mov ecx, dword [edx + 0x40]
cmp dword [ecx], 0
je 0x4470d0
cmp dword [edx + 0x4c], 0
jl 0x4470d0
jg 0x4470ce
cmp dword [edx + 0x48], 0
jbe 0x4470d0
mov edi, eax
cmp byte [edx + 0xf], 0
mov ecx, 0x4d5034
jne 0x4470e1
mov ecx, dword [edx + 0xa8]
cmp edi, 5
jne 0x447116
call fcn.004230d0
test eax, eax
je 0x4470fa
mov eax, edx
call fcn.0042e400
test eax, eax
jne 0x447112
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x10], 0
je 0x4471cb
jmp 0x4471c9
mov eax, dword [esp + 0x20]
cmp edi, eax
je 0x447102
cmp eax, 5
je 0x447124
cmp edi, 5
jne 0x447102
cmp byte [esi + 0x3e], 0
je 0x447190
cmp dword [esi + 0x98], 1
jg 0x447190
cmp eax, 5
jne 0x447155
mov esi, dword [esp + 0x24]
mov eax, esi
call fcn.0042e560
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4471c5
mov ecx, edi
mov eax, esi
jmp 0x447161
cmp eax, 4
jne 0x44716a
lea ecx, [eax - 2]
mov eax, dword [esp + 0x24]
call fcn.0042e2c0
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x10], 0
jne 0x4471c9
mov eax, dword [esp + 0x38]
xor edx, edx
cmp edi, 5
sete dl
inc edx
push edx
call fcn.00439f20
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x4470fe
mov dword [esp + 0x10], 1
mov eax, str.into
cmp edi, 5
je 0x4471a7
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
add edi, 0x2c
call fcn.00421000
add esp, 8
jmp case.default.0x4434eb
mov eax, dword [esp + 0x20]
mov edi, eax
mov eax, dword [esp + 0x24]
mov ecx, edi
call fcn.0042e2c0
mov ebp, dword [ebp + 8]
lea ecx, [ebp + ebp*4]
lea ebx, [ebx + ecx*8]
mov edx, 0xa02
mov dword [esp + 0x18], ebx
mov word [ebx + 8], dx
cmp eax, 6
jne 0x4471f6
xor eax, eax
jmp 0x4471fd
mov eax, dword [eax*4 + 0x4d06c8]
mov ecx, eax
mov dword [ebx + 0x10], eax
call fcn.004230d0
movzx ecx, byte [esp + 0x44]
mov dword [ebx + 0xc], eax
mov eax, ebx
mov byte [ebx + 0xa], 1
call fcn.0043b300
jmp case.default.0x4434eb
mov esi, dword [esp + 0x14]
lea eax, [edi + 0x2c]
call fcn.004792f0
mov dword [esp + 0x10], eax
jmp case.default.0x4434eb
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0x10]
shl eax, 4
mov eax, dword [eax + ecx + 4]
push eax
call fcn.00433ce0
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, 0x65
jne case.default.0x4434eb
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x10], 0
jmp case.default.0x4434eb
cmp dword [ebp + 4], 0
jne 0x44727e
mov eax, esi
call fcn.00440a40
jmp case.default.0x4434eb
or dword [edi + 0x58], 0x20
jmp case.default.0x4434eb
mov cl, byte [ebp + 0xc]
test cl, cl
jne 0x44729b
test dword [esi + 0x18], 0x4000
jne case.default.0x4434eb
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 4]
push edx
mov edx, dword [esi + 0x10]
shl eax, 4
mov eax, dword [eax + edx + 4]
call fcn.00439e40
add esp, 4
mov dword [esp + 0x10], eax
cmp al, 6
jne case.default.0x4434eb
mov eax, dword [ebp + 0x10]
push eax
push str.database_table_is_locked:__s
jmp 0x4471ad
mov ebp, dword [ebp + 0x10]
mov eax, dword [esp + 0x14]
mov edi, ebp
call fcn.0047a8d0
mov dword [esp + 0x10], eax
test ebp, ebp
je case.default.0x4434eb
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x28]
push ecx
push edx
call fcn.00440ac0
add esp, 8
jmp case.default.0x4434eb
mov eax, dword [ebp + 0x10]
add edi, 0x2c
push edi
push eax
mov eax, dword [ebp + 4]
mov ecx, esi
call fcn.0047a3f0
add esp, 8
mov dword [esp + 0x10], eax
jmp case.default.0x4434eb
mov ecx, dword [edi + 0x58]
and ecx, 0xfffffffb
or ecx, 8
mov dword [edi + 0x58], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
push edx
mov ecx, esi
call fcn.0047a6c0
add esp, 4
and dword [edi + 0x58], 0xfffffff3
mov dword [esp + 0x10], eax
jmp case.default.0x4434eb
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x48], 0
mov ebx, dword [eax + 8]
mov eax, dword [ebx]
mov edx, dword [eax + 0x18]
lea ecx, [esp + 0x48]
push ecx
push ebx
mov dword [esp + 0x40], eax
call edx
mov esi, eax
push ebx
push edi
mov dword [esp + 0x20], esi
call fcn.00440ac0
add esp, 0x10
test esi, esi
jne case.default.0x4434eb
mov eax, dword [esp + 0x48]
push esi
mov dword [eax], ebx
mov ecx, dword [ebp + 4]
push 0xffffffffffffffff
push esi
push ecx
mov ebx, edi
call fcn.00443130
add esp, 0x10
test eax, eax
je 0x4473a5
mov edx, dword [esp + 0x48]
mov dword [eax + 0x24], edx
jmp case.default.0x4434eb
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x38]
mov byte [eax + 0x40], 1
mov eax, dword [edx + 0x1c]
push ecx
call eax
add esp, 4
jmp case.default.0x4434eb
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + edx*4]
mov esi, dword [eax + 0x24]
mov edx, dword [ebx + ecx*8]
lea ebx, [ebx + ecx*8]
mov dword [esp + 0x24], eax
mov eax, dword [esi]
mov ecx, dword [eax]
mov dword [esp + 0x6c], eax
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x38], ecx
xor ecx, ecx
mov dword [esp + 0x4c], edx
mov edx, dword [edi + 0xc]
test eax, eax
jle 0x44740b
add ebx, 0x50
mov edi, edi
mov dword [edx + ecx*4], ebx
inc ecx
add ebx, 0x28
cmp ecx, eax
jl 0x447400
mov ecx, dword [edi + 0x58]
push edx
and ecx, 0xfffffff7
or ecx, 4
mov dword [edi + 0x58], ecx
mov edx, dword [ebp + 0x10]
mov ecx, dword [esp + 0x3c]
push eax
mov eax, dword [esp + 0x54]
push edx
mov edx, dword [ecx + 0x20]
push eax
push esi
call edx
and dword [edi + 0x58], 0xfffffff3
mov ebx, eax
mov eax, dword [esp + 0x80]
add esp, 0x14
push eax
push edi
mov dword [esp + 0x18], ebx
call fcn.00440ac0
add esp, 8
test ebx, ebx
jne 0x447467
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + 0x28]
push esi
call edx
add esp, 4
test eax, eax
je 0x447467
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
mov eax, dword [esp + 0x24]
mov byte [eax + 0x19], 0
jmp case.default.0x4434eb
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x38]
mov eax, dword [ebp + 0xc]
mov ecx, dword [edx + ecx*4]
cmp byte [ecx + 0x19], 0
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
je 0x447498
mov eax, ebx
call fcn.0043bb80
jmp case.default.0x4434eb
mov edx, dword [ecx + 0x24]
mov esi, dword [edx]
mov eax, dword [esi]
mov dword [esp + 0x38], eax
xor eax, eax
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x1d0], ebx
mov dx, word [ebx + 8]
mov eax, 0xbe01
and dx, ax
or dx, 1
mov word [ebx + 8], dx
mov edx, dword [ebp + 8]
mov ecx, dword [ecx + 0x24]
push edx
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0x1d4]
push eax
mov eax, dword [edx + 0x2c]
push ecx
call eax
add esp, 0xc
push esi
push edi
mov dword [esp + 0x18], eax
call fcn.00440ac0
mov eax, dword [esp + 0x1f0]
add esp, 8
test eax, eax
je 0x447531
mov dword [esp + 0x10], eax
movzx ecx, byte [esp + 0x44]
mov eax, ebx
call fcn.0043b300
mov ecx, ebx
call fcn.0043bd30
test eax, eax
jne 0x443ef0
jmp case.default.0x4434eb
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x38]
mov ebx, dword [edx + ecx*4]
cmp byte [ebx + 0x19], 0
jne case.default.0x4434eb
mov eax, dword [ebx + 0x24]
mov eax, dword [eax]
mov ecx, dword [edi + 0x58]
and ecx, 0xfffffff7
mov dword [esp + 0x38], eax
mov eax, dword [eax]
or ecx, 4
mov dword [edi + 0x58], ecx
mov edx, dword [ebx + 0x24]
mov dword [esp + 0x4c], eax
mov eax, dword [eax + 0x24]
push edx
call eax
mov ecx, dword [esp + 0x3c]
and dword [edi + 0x58], 0xfffffff3
add esp, 4
push ecx
push edi
mov dword [esp + 0x18], eax
call fcn.00440ac0
add esp, 8
cmp dword [esp + 0x10], 0
jne case.0x4434eb.16
mov edx, dword [ebx + 0x24]
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0x28]
push edx
call ecx
add esp, 4
test eax, eax
jne 0x4475c4
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x1c], ebp
mov edx, dword [esi + 0xf0]
test edx, edx
jne 0x447ae2
mov esi, dword [esp + 0x14]
mov ebx, dword [esi + 0x124]
test ebx, ebx
je case.default.0x4434eb
mov ebp, dword [esp + 0x8c]
cmp ebp, dword [esp + 0x88]
jb case.default.0x4434eb
mov ecx, dword [esi + 0x12c]
mov eax, ebp
div ecx
mov eax, dword [esi + 0x128]
push eax
sub ecx, edx
add ecx, ebp
mov dword [esp + 0x8c], ecx
call ebx
add esp, 4
test eax, eax
je case.default.0x4434eb
mov dword [esp + 0x10], 9
mov ecx, dword [edi + 0x2c]
mov edx, dword [edi + 0xa8]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
push ecx
push edx
push eax
push str.statement_aborts_at__d:___s___s
push ebx
mov dword [edi + 0x50], ebx
call fcn.004226a0
add esp, 0x14
push edi
call fcn.0043ec50
add esp, 4
cmp ebx, 0xc0a
jne 0x447663
mov byte [esi + 0x40], 1
mov al, byte [esp + 0x6b]
mov ebp, 1
test al, al
jbe 0x44769c
mov edx, dword [esi + 0x10]
movzx ebx, al
dec ebx
mov ecx, ebx
shl ecx, 4
mov eax, dword [ecx + edx + 0xc]
push eax
call fcn.0045cb00
add esp, 4
cmp ebx, ebp
je 0x44769c
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx + 0x1c]
push edx
call fcn.0045cb00
add esp, 4
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], edx
mov eax, dword [esp + 0x8c]
add dword [edi + 0x7c], eax
push edi
call fcn.0043d5e0
mov ecx, dword [esp + 0x328]
add esp, 4
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
xor ecx, esp
call fcn.004a6859
add esp, 0x31c
ret
mov ecx, dword [ebp + 0x10]
mov ebp, dword [ebp + 4]
mov esi, dword [ecx + 8]
lea edx, [ebp + ebp*4]
lea ebx, [ebx + edx*8]
mov ecx, 1
mov eax, ebx
call fcn.0043b300
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x4434eb
mov ecx, dword [ebx + 0x10]
mov eax, dword [esi]
mov edx, dword [eax + 0x4c]
push ecx
push esi
call edx
push esi
push edi
mov dword [esp + 0x20], eax
call fcn.00440ac0
add esp, 0x10
and dword [edi + 0x58], 0xffffffdf
jmp case.default.0x4434eb
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp + 8]
mov dword [esp + 0x38], eax
mov eax, dword [eax]
cmp dword [eax + 0x34], 0
mov dword [esp + 0x4c], eax
je case.default.0x4434eb
mov eax, dword [ebp + 0xc]
mov dl, byte [esi + 0x44]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
xor eax, eax
mov byte [esp + 0x43], dl
mov edx, dword [edi + 0xc]
test ecx, ecx
jle 0x44776b
lea ecx, [ecx]
mov dword [edx + eax*4], ebx
inc eax
add ebx, 0x28
cmp eax, ecx
jl 0x447760
movzx eax, byte [ebp + 3]
mov ebx, dword [esp + 0x38]
mov byte [esi + 0x44], al
lea eax, [esp + 0x168]
push eax
push edx
push ecx
mov ecx, dword [esp + 0x58]
mov edx, dword [ecx + 0x34]
push ebx
call edx
mov dword [esp + 0x20], eax
movzx eax, byte [esp + 0x53]
push ebx
push edi
mov byte [esi + 0x44], al
call fcn.00440ac0
mov edx, dword [esp + 0x28]
add esp, 0x18
test edx, edx
jne 0x4477c9
cmp dword [ebp + 4], edx
je 0x4477c9
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x16c]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
cmp dl, 0x13
jne 0x445f67
mov ecx, dword [ebp + 0x10]
cmp byte [ecx + 0x10], 0
je 0x445f67
mov al, byte [ebp + 3]
cmp al, 4
jne 0x4477f3
mov dword [esp + 0x10], 0
jmp case.default.0x4434eb
cmp al, 5
jne 0x447804
mov eax, 2
mov byte [edi + 0x56], al
jmp case.default.0x4434eb
movzx eax, al
mov byte [edi + 0x56], al
jmp case.default.0x4434eb
mov edx, dword [ebp + 4]
mov eax, dword [esi + 0x10]
shl edx, 4
mov ecx, dword [edx + eax + 4]
mov edx, dword [ecx + 4]
mov ecx, dword [edx + 0x2c]
mov eax, dword [esp + 0x18]
mov dword [eax], ecx
mov dword [eax + 4], 0
jmp case.default.0x4434eb
mov edx, dword [ebp + 4]
mov ebp, dword [ebp + 0xc]
mov eax, dword [esi + 0x10]
shl edx, 4
mov eax, dword [edx + eax + 4]
xor ebx, ebx
test ebp, ebp
je 0x447856
mov ecx, dword [eax + 4]
mov ebx, dword [ecx + 0x2c]
cmp ebx, ebp
jae 0x447856
mov ebx, ebp
call fcn.00432d40
mov ecx, dword [esp + 0x18]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x4434eb
mov eax, dword [ebp + 8]
test eax, eax
je 0x447873
dec eax
mov dword [esp + 0x1c], eax
cmp dword [esi + 0xac], 0
je case.default.0x4434eb
test dword [edi + 0x58], 0x800
jne case.default.0x4434eb
mov ebp, dword [ebp + 0x10]
mov ecx, ebp
test ebp, ebp
jne 0x447894
mov ecx, dword [edi + 0xa8]
test ecx, ecx
je case.default.0x4434eb
push edi
call fcn.00442d30
mov edx, dword [esi + 0xb0]
mov edi, eax
mov eax, dword [esi + 0xac]
add esp, 4
push edi
push edx
call eax
add esp, 8
mov eax, edi
mov ecx, esi
call fcn.00420b20
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
inc eax
cmp dword [esp + 0x10], 0
mov dword [esp + 0x1c], eax
je 0x443480
jmp 0x447629
mov ecx, dword [ebp + 4]
mov eax, dword [esp + 0x1c]
mov dword [edi + 0x50], ecx
mov dl, byte [ebp + 8]
mov byte [edi + 0x56], dl
mov dword [edi + 0x4c], eax
test ecx, ecx
je 0x447985
mov al, byte [ebp + 3]
test al, al
je 0x447933
movzx ecx, al
mov eax, dword [ecx*4 + 0x4cff14]
test eax, eax
je 0x447935
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x447935
mov edi, dword [esp + 0x28]
push ecx
push eax
mov eax, dword [esp + 0x1c]
add edi, 0x2c
push str._s_constraint_failed:__s
call fcn.00421000
add esp, 0xc
jmp 0x44795d
xor eax, eax
mov edi, dword [esp + 0x28]
mov ecx, dword [ebp + 0x10]
add edi, 0x2c
test ecx, ecx
je 0x44794b
push ecx
push 0x4d4df4
jmp 0x447951
push eax
push str._s_constraint_failed
mov eax, dword [esp + 0x1c]
call fcn.00421000
add esp, 8
mov edx, dword [edi]
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0xa8]
mov eax, dword [ebp + 4]
push edx
mov edx, dword [esp + 0x20]
push ecx
push edx
push str.abort_at__d_in___s_:__s
push eax
call fcn.004226a0
mov edi, dword [esp + 0x3c]
add esp, 0x14
push edi
call fcn.0043ec50
mov ebp, 5
add esp, 4
cmp eax, ebp
jne 0x4479ea
mov dword [edi + 0x50], ebp
jmp 0x44769c
mov dword [esp + 0x10], 0x14
jmp 0x44518a
mov eax, dword [esp + 0x1c]
mov dword [edi + 0x4c], eax
mov ebp, 5
mov byte [esi + 0x3e], 0
mov dword [edi + 0x50], ebp
jmp 0x44769c
test ebp, ebp
je 0x4479fc
mov edi, dword [esp + 0x14]
push 0x204
call fcn.00488790
mov esi, dword [esp + 0x18]
mov byte [edi + 0x3e], 1
mov edi, dword [esp + 0x2c]
add esp, 4
call fcn.004880c0
mov ebp, dword [edi + 0x50]
neg ebp
sbb ebp, ebp
and ebp, 0xffffff9c
add ebp, 0x65
jmp 0x44769c
push 1
mov esi, edi
call fcn.0043ebe0
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x44769c
mov esi, dword [esp + 0x14]
push edi
mov byte [esi + 0x3e], bl
call fcn.0043ec50
mov ebp, 5
add esp, 4
cmp eax, ebp
jne 0x4479e5
mov ecx, dword [esp + 0x1c]
mov dl, 1
sub dl, bl
mov dword [edi + 0x4c], ecx
mov byte [esi + 0x3e], dl
mov dword [edi + 0x50], ebp
jmp 0x44769c
mov dword [esp + 0x10], 8
jmp 0x44518a
mov eax, dword [esp + 0x1c]
mov ebp, 5
mov dword [edi + 0x4c], eax
mov dword [edi + 0x50], ebp
jmp 0x44769c
mov eax, 0x119f9
call fcn.0048a780
mov dword [esp + 0x10], eax
jmp 0x445186
mov dword [esp + 0x10], 0xd
jmp 0x445186
mov dword [esp + 0x10], 0xd
jmp 0x44518a
cmp dword [esp + 0x10], 0xc0a
je 0x447629
cmp dword [esp + 0x10], 0x204
je 0x447ab7
mov ecx, dword [esp + 0x10]
mov eax, str.unknown_error
call fcn.004888c0
jmp 0x447abc
mov eax, str.abort_due_to_ROLLBACK
mov edi, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x18]
push 0x4d4df4
add edi, 0x2c
call fcn.00421000
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x1c]
add esp, 8
jmp 0x447629
mov eax, 9
mov dword [edi + 0x50], eax
mov ecx, dword [str.interrupted]
mov dword [esp + 0x10], eax
mov eax, str.unknown_error
test ecx, ecx
je 0x447aff
mov eax, ecx
mov edi, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x18]
push 0x4d4df4
add edi, 0x2c
call fcn.00421000
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x1c]
add esp, 8
jmp 0x447629