Function at 0x463a00
Capabilities:
Enumerate pe sections
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x134
mov eax, dword [0x4aab30]
xor eax, esp
mov dword [esp + 0x130], eax
push ebx
push esi
mov esi, ecx
mov ecx, dword [esi + 0x14]
push edi
mov edi, dword [esi]
mov edx, dword [edi + 8]
xor eax, eax
mov dword [esp + 0x54], ecx
mov ecx, dword [edx + 0xc]
mov dl, byte [ecx + 0x49]
mov ecx, dword [esi + 0x4c]
lea ebx, [esi + 0x80]
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], edi
mov byte [esp + 0x47], al
mov byte [esp + 0x38], dl
mov dword [esp + 0x4c], eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ebx
call fcn.00424a70
cmp dword [esi + 0x58], 7
je 0x468a81
xor eax, eax
mov dword [esi + 0x58], eax
mov dword [esi + 0x2c], eax
mov edx, dword [edi + 0xe0]
mov dword [edi + 0x1a8], eax
test edx, edx
jne 0x468bb6
mov edx, dword [esi + 0x54]
xor ecx, ecx
cmp dword [edi + 0x108], eax
mov dword [esp + 0x2c], edx
setne cl
mov dword [esp + 0x64], ecx
lea ecx, [ecx]
mov eax, dword [esp + 0x28]
cmp byte [eax + 0x1e], 0
jne 0x468a81
cmp dword [esp + 0x64], 0
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x54]
lea ecx, [eax + eax*4]
lea edi, [edx + ecx*4]
mov dword [esp + 0x48], edi
je 0x463b09
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0x110]
cmp ecx, dword [esp + 0x4c]
jne 0x463b05
mov edx, dword [eax + 0x10c]
mov eax, dword [eax + 0x108]
push edx
call eax
add esp, 4
test eax, eax
jne 0x4689c2
mov dword [esp + 0x4c], eax
inc dword [esp + 0x4c]
test byte [edi + 2], 2
mov ebx, dword [esp + 0x34]
je 0x463b32
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
lea eax, [ebx + ecx*8]
mov dword [esp + 0x30], eax
call fcn.0042dc20
mov eax, dword [esp + 0x30]
mov edx, 4
mov word [eax + 0x1c], dx
movzx eax, byte [edi]
mov ecx, dword [esp + 0x30]
dec eax
cmp eax, 0x90
ja case.0x463b45.17
jmp dword [eax*4 + 0x468bec]
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 0xe0]
test edx, edx
jne 0x468bb6
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x2c], edi
jmp case.0x463b45.17
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x2c]
cdq
mov ecx, 4
mov dword [ebx + 4], edx
mov word [ebx + 0x1c], cx
mov dword [ebx], eax
mov edx, dword [edi + 8]
dec edx
mov dword [esp + 0x2c], edx
jmp case.0x463b45.17
mov edi, dword [edi + 4]
lea eax, [edi + edi*4]
mov ecx, dword [ebx + eax*8]
mov dword [esp + 0x2c], ecx
jmp case.0x463b45.17
mov edi, dword [edi + 4]
lea edx, [edi + edi*4]
mov ecx, dword [ebx + edx*8]
lea ebx, [ebx + edx*8]
mov eax, 4
mov word [ebx + 0x1c], ax
mov eax, dword [esp + 0x2c]
cdq
mov dword [esp + 0x78], ecx
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x2c], edx
jmp case.0x463b45.17
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
je case.0x463b45.17
cmp dword [edi + 4], 0
jne 0x4689cf
mov eax, dword [esi + 0xdc]
test eax, eax
je 0x4689cf
mov ecx, dword [eax + 0x3c]
mov edx, dword [esp + 0x28]
dec dword [esi + 0xe4]
mov dword [esi + 0xdc], ecx
mov ecx, dword [esi + 0x6c]
add dword [edx + 0x40], ecx
mov dword [edx + 0x3c], ecx
call fcn.00425c60
cmp dword [edi + 8], 4
mov dword [esp + 0x2c], eax
jne 0x463c39
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
mov ecx, dword [eax + edx*4 + 8]
dec ecx
mov dword [esp + 0x2c], ecx
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x4c]
mov dword [esp + 0x54], edx
mov dword [esp + 0x34], eax
jmp case.0x463b45.17
mov eax, dword [edi + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x463b45.17
mov edi, dword [edi + 0x10]
mov edx, dword [edi]
mov dword [ecx], edx
mov eax, dword [edi + 4]
mov dword [ecx + 4], eax
jmp case.0x463b45.17
mov edx, 8
mov word [ecx + 0x1c], dx
mov eax, dword [edi + 0x10]
fld qword [eax]
fstp qword [ecx + 8]
jmp case.0x463b45.17
mov ecx, dword [edi + 0x10]
mov byte [edi], 9
call fcn.00420830
cmp byte [esp + 0x38], 1
mov dword [edi + 4], eax
je 0x463d15
push 1
mov ebx, ecx
mov ecx, dword [esp + 0x34]
push 0xffffffffffffffff
xor eax, eax
call fcn.0043c7a0
add esp, 8
mov dword [esp + 0x20], eax
cmp eax, 0x12
je 0x46456d
movzx ecx, byte [esp + 0x38]
mov eax, dword [esp + 0x30]
call fcn.0043c6e0
test eax, eax
jne 0x468a81
mov esi, dword [esp + 0x30]
mov cx, word [esi + 0x1c]
mov dword [esi + 0x24], eax
mov edx, 0xfbff
and cx, dx
mov eax, 0x800
or cx, ax
or bl, 0xff
mov word [esi + 0x1c], cx
cmp byte [edi + 1], bl
jne 0x463d06
mov ecx, dword [edi + 0x10]
mov edx, dword [esp + 0x28]
push ecx
push edx
call fcn.00420620
add esp, 8
mov byte [edi + 1], bl
mov eax, dword [esi + 0x14]
mov dword [edi + 0x10], eax
mov ecx, dword [esi + 0x18]
mov dword [edi + 4], ecx
mov edx, dword [edi + 4]
mov eax, dword [esp + 0x28]
cmp edx, dword [eax + 0x48]
jg 0x46456d
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x30]
mov ecx, 0xa02
mov word [eax + 0x1c], cx
mov edx, dword [edi + 0x10]
mov dword [eax + 0x14], edx
mov ecx, dword [edi + 4]
mov dl, byte [esp + 0x38]
mov dword [eax + 0x18], ecx
mov byte [eax + 0x1f], dl
jmp case.0x463b45.17
mov eax, 1
mov word [ecx + 0x1c], ax
jmp case.0x463b45.17
mov ecx, dword [edi + 4]
mov ebx, dword [edi + 0x10]
push 0
push ecx
mov ecx, dword [esp + 0x38]
xor eax, eax
call fcn.0043c7a0
mov dl, byte [esp + 0x40]
mov eax, dword [esp + 0x38]
add esp, 8
mov byte [eax + 0x1f], dl
jmp case.0x463b45.17
mov edi, dword [edi + 4]
mov edx, dword [esi + 0x3c]
lea ecx, [edi + edi*4]
lea esi, [edx + ecx*8 - 0x28]
mov ecx, esi
mov dword [esp + 0x78], esi
call fcn.00425a10
test eax, eax
jne 0x46456d
mov ebx, dword [esp + 0x30]
push 0x800
push esi
call fcn.0042de40
jmp 0x464c71
mov eax, dword [edi + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [edi + 4]
lea edx, [ecx + ecx*4]
mov dword [esp + 0x80], ecx
mov edi, dword [edi + 8]
mov ecx, dword [esp + 0x34]
lea ebx, [ecx + edx*8]
lea edx, [edi + edi*4]
mov dword [esp + 0x84], edi
lea edi, [ecx + edx*8]
mov dword [esp + 0x30], edi
test eax, eax
je 0x463e1d
dec eax
mov dword [esp + 0x7c], eax
mov eax, dword [edi + 0x24]
mov dword [esp + 0x78], eax
mov eax, edi
mov dword [edi + 0x24], 0
call fcn.0042de90
mov ecx, dword [esp + 0x78]
mov dword [ebx + 0x24], ecx
mov eax, dword [esp + 0x7c]
add ebx, 0x28
add edi, 0x28
test eax, eax
jne 0x463dea
mov dword [esp + 0x30], edi
dec eax
mov dword [esp + 0x7c], eax
jmp 0x464c74
mov eax, dword [edi + 8]
mov edi, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x34]
lea ebx, [eax + edx*8]
lea ecx, [edi + edi*4]
lea edx, [eax + ecx*8]
push 0x1000
push edx
mov dword [esp + 0x38], ebx
call fcn.0042de40
mov eax, 0x1000
add esp, 8
test word [ebx + 0x1c], ax
je case.0x463b45.17
mov eax, ebx
call fcn.00434340
test eax, eax
jne 0x468a81
jmp case.0x463b45.17
mov eax, dword [edi + 8]
mov edi, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x34]
lea ebx, [eax + ecx*8]
lea edx, [edi + edi*4]
lea eax, [eax + edx*8]
push 0x1000
push eax
mov dword [esp + 0x38], ebx
call fcn.0042de40
add esp, 8
jmp case.0x463b45.17
push 0
mov ecx, esi
call fcn.0043cde0
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
jne case.0x463b45.17
push 1
push esi
call fcn.0044bd40
add esp, 8
mov dword [esp + 0x20], eax
test eax, eax
jne case.0x463b45.17
mov eax, dword [esi + 0x50]
add eax, 2
or eax, 1
mov dword [esi + 0x50], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
lea ebx, [ebx + ecx*8]
xor ecx, ecx
mov dword [esi + 0x2c], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ecx
cmp dword [edi + 8], ecx
jle 0x463f4b
mov eax, dword [esp + 0x78]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*8]
mov edx, 0x1000
test word [eax + 0x1c], dx
je 0x463f1b
call fcn.00434340
test eax, eax
jne 0x468a7d
mov ecx, dword [esp + 0x7c]
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x78]
lea eax, [ecx + eax*8]
call fcn.0042dbd0
mov eax, dword [esp + 0x7c]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x78]
lea ecx, [eax + edx*8]
call fcn.00426530
mov ecx, dword [esp + 0x7c]
inc ecx
mov dword [esp + 0x7c], ecx
cmp ecx, dword [edi + 8]
jl 0x463ef5
mov ecx, dword [esp + 0x28]
cmp byte [ecx + 0x1e], 0
jne 0x468a7d
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
inc edx
mov dword [eax + 0x54], edx
mov edi, 0x64
jmp 0x4645e6
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x34]
lea edx, [eax + eax*4]
mov eax, dword [edi + 8]
mov edi, dword [edi + 0xc]
lea esi, [ecx + edx*8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
movzx eax, word [esi + 0x1c]
lea edx, [edi + edi*4]
lea edi, [ecx + edx*8]
mov cl, byte [ebx + 0x1c]
or cl, al
mov dword [esp + 0x3c], esi
mov dword [esp + 0x30], edi
test cl, 1
je 0x463fb0
mov esi, edi
call fcn.004259c0
jmp 0x464c74
test eax, 0x4000
je 0x463fc6
mov eax, esi
call fcn.0042db70
test eax, eax
jne 0x468a7d
mov edx, 0x4000
test word [ebx + 0x1c], dx
je 0x463fe0
mov eax, ebx
call fcn.0042db70
test eax, eax
jne 0x468a7d
test byte [esi + 0x1c], 0x12
jne 0x463ffc
movzx esi, byte [esp + 0x38]
mov eax, dword [esp + 0x3c]
call fcn.0043c700
test eax, eax
jne 0x468a7d
test byte [ebx + 0x1c], 0x12
jne 0x464016
movzx esi, byte [esp + 0x38]
mov eax, ebx
call fcn.0043c700
test eax, eax
jne 0x468a7d
mov esi, dword [esp + 0x3c]
mov eax, dword [esi + 0x18]
add eax, dword [ebx + 0x18]
cdq
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x28]
mov ecx, edx
mov dword [esp + 0x7c], ecx
mov eax, dword [eax + 0x48]
cdq
cmp ecx, edx
jg 0x46456d
jl 0x464047
cmp dword [esp + 0x78], eax
ja 0x46456d
mov cx, word [edi + 0x1c]
mov edx, 0xbf02
and cx, dx
or cx, 2
xor eax, eax
cmp edi, ebx
sete al
mov word [edi + 0x1c], cx
mov ecx, dword [esp + 0x78]
add ecx, 2
call fcn.0042da50
test eax, eax
jne 0x468a7d
cmp edi, ebx
je 0x46408e
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x14]
mov edx, dword [edi + 0x14]
push eax
push ecx
push edx
call fcn.0047d7b0
add esp, 0xc
mov eax, dword [esi + 0x18]
mov edx, dword [ebx + 0x18]
mov ecx, dword [esi + 0x14]
add edx, dword [edi + 0x14]
push eax
push ecx
push edx
call fcn.0047d7b0
mov ecx, dword [esp + 0x84]
mov eax, dword [edi + 0x14]
mov byte [ecx + eax], 0
mov eax, dword [esp + 0x84]
mov edx, dword [edi + 0x14]
mov byte [edx + eax + 1], 0
mov al, byte [esp + 0x44]
mov ecx, 0x200
add esp, 0xc
or word [edi + 0x1c], cx
mov edx, dword [esp + 0x78]
mov dword [edi + 0x18], edx
mov byte [edi + 0x1f], al
jmp 0x464c74
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x34]
lea ecx, [eax + eax*4]
lea ebx, [edx + ecx*8]
mov esi, ebx
call fcn.00426560
mov eax, dword [edi + 8]
mov ecx, dword [esp + 0x34]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.00426560
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x34]
lea ecx, [eax + edx*8]
movzx edx, word [esi + 0x1c]
movzx eax, word [ebx + 0x1c]
or edx, eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x78], edx
test dl, 1
jne 0x46437b
mov dl, byte [esi + 0x1c]
and dl, byte [ebx + 0x1c]
test dl, 4
je 0x464245
mov edx, dword [ebx]
mov dword [esp + 0x80], edx
mov ebx, dword [ebx + 4]
mov dword [esp + 0x84], ebx
mov eax, dword [esi]
mov dword [esp + 0x88], eax
mov esi, dword [esi + 4]
mov dword [esp + 0x8c], esi
movzx edi, byte [edi]
add edi, 0xffffffaa
cmp edi, 3
ja case.default.0x46416c
jmp dword [edi*4 + 0x468e30]
add eax, edx
adc esi, ebx
mov dword [esp + 0x8c], esi
jmp 0x464219
sub eax, edx
sbb esi, ebx
mov dword [esp + 0x8c], esi
jmp 0x464219
push ebx
push edx
push esi
push eax
call fcn.0047d6f0
jmp 0x46420e
mov edi, edx
or edi, ebx
je 0x46437b
mov ecx, edx
and ecx, ebx
cmp ecx, 0xffffffff
jne 0x4641d2
test eax, eax
jne 0x4641d2
cmp esi, 0x80000000
jne 0x4641d2
mov edx, 1
xor ebx, ebx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], ebx
push ebx
push edx
push esi
push eax
call fcn.0047d580
jmp 0x46420e
mov edi, edx
or edi, ebx
je 0x46437b
mov ecx, edx
and ecx, ebx
cmp ecx, 0xffffffff
jne 0x464205
mov edx, 1
xor ebx, ebx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], ebx
push ebx
push edx
push esi
push eax
call fcn.0047d630
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x88], eax
mov dword [ecx], eax
mov edx, dword [esp + 0x8c]
mov ax, word [ecx + 0x1c]
mov dword [ecx + 4], edx
mov edx, 0xbf04
and ax, dx
or ax, 4
mov word [ecx + 0x1c], ax
jmp 0x464c74
mov eax, ebx
call fcn.00425810
fstp qword [esp + 0x90]
mov eax, esi
call fcn.00425810
fst qword [esp + 0x98]
movzx eax, byte [edi]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x46426c
jmp dword [eax*4 + 0x468e40]
fadd qword [esp + 0x90]
jmp 0x464321
fsub qword [esp + 0x90]
jmp 0x464321
fmul qword [esp + 0x90]
jmp 0x464321
fldz
fld qword [esp + 0x90]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x464373
fdivp st(1)
jmp 0x464321
fld qword [esp + 0x90]
call fcn.0047d506
mov esi, eax
mov edi, edx
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], edi
call fcn.0047d506
mov ecx, esi
or ecx, edi
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], edx
je 0x464377
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x46430c
mov esi, 1
xor edi, edi
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], edi
push edi
push esi
push edx
push eax
call fcn.0047d630
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
fild qword [esp + 0x68]
sub esp, 8
fst qword [esp + 0xa0]
fstp qword [esp]
call fcn.004207f0
add esp, 8
test eax, eax
jne 0x464377
mov eax, dword [esp + 0x30]
fld qword [esp + 0x98]
mov dx, word [eax + 0x1c]
fstp qword [eax + 8]
mov ecx, 0xbf08
and dx, cx
or dx, 8
mov word [eax + 0x1c], dx
test byte [esp + 0x78], 8
jne 0x464c74
mov esi, eax
call fcn.00425860
jmp 0x464c74
fstp st(0)
fstp st(0)
mov ecx, dword [esp + 0x30]
mov esi, ecx
call fcn.004259c0
jmp 0x464c74
movzx ecx, byte [edi + 3]
mov edx, dword [esi + 0x24]
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], ecx
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
xor eax, eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x78], eax
test ecx, ecx
jle 0x46440e
mov ecx, dword [esp + 0xc0]
mov dword [ecx + eax*4], ebx
mov eax, dword [esp + 0x7c]
mov edx, 0x1000
test word [eax + 0x1c], dx
je 0x4643ea
call fcn.00434340
test eax, eax
jne 0x468a7d
mov eax, dword [esp + 0x7c]
mov ecx, eax
call fcn.00426530
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
inc eax
add ebx, 0x28
cmp eax, dword [esp + 0xc4]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ebx
jl 0x4643c0
cmp byte [edi + 1], 0xfb
mov eax, dword [edi + 0x10]
jne 0x464429
mov dword [esp + 0x80], eax
xor eax, eax
mov dword [esp + 0x84], eax
jmp 0x46443b
mov dword [esp + 0x84], eax
mov ecx, dword [eax]
mov dword [esp + 0x80], ecx
xor eax, eax
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x30]
mov edx, 1
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
lea eax, [esp + 0x88]
mov word [esp + 0xa4], dx
mov dword [esp + 0x98], esi
call fcn.0042de90
mov eax, dword [esp + 0xa4]
and eax, 0xbf01
or eax, 1
mov word [esp + 0xa4], ax
mov eax, dword [esp + 0x80]
mov dword [esp + 0xb4], 0
test byte [eax + 3], 8
je 0x4644aa
mov ecx, dword [edi - 4]
mov dword [esp + 0xb8], ecx
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov eax, dword [eax + 0xc]
push edx
push ecx
lea edx, [esp + 0x88]
push edx
call eax
add esp, 0xc
cmp byte [esi + 0x1e], 0
jne 0x468a6d
mov ebx, dword [esp + 0x84]
test ebx, ebx
je 0x4644f9
mov ecx, dword [edi + 4]
push ecx
call fcn.00425cb0
mov edx, dword [esp + 0x88]
add esp, 4
mov dword [edi + 0x10], edx
mov byte [edi + 1], 0xf9
cmp dword [esp + 0xb4], 0
je 0x464537
mov bl, 1
lea edi, [esp + 0x88]
call fcn.0043c980
mov esi, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x2c]
push 0x49d810
lea edi, [esi + 0x5c]
call fcn.0043ac00
mov eax, dword [esp + 0xbc]
add esp, 8
mov dword [esp + 0x20], eax
jmp 0x46453b
mov esi, dword [esp + 0x24]
movzx ecx, byte [esp + 0x38]
lea eax, [esp + 0x88]
call fcn.0043c6e0
mov edi, dword [esp + 0x30]
lea ebx, [esp + 0x88]
mov eax, edi
call fcn.0042de90
mov ecx, edi
call fcn.00425a10
test eax, eax
je case.0x463b45.17
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
push str.string_or_blob_too_big
add edi, 0x5c
call fcn.0043ac00
mov dword [esp + 0x24], 0x12
add esp, 4
mov esi, dword [esp + 0x24]
mov edx, dword [esi + 0x5c]
mov eax, dword [esi + 0xbc]
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x20]
push edx
push eax
push ecx
push str.statement_aborts_at__d:___s___s
push edi
mov dword [esi + 0x58], edi
call fcn.00433500
push esi
call fcn.0045d880
add esp, 0x18
cmp edi, 0xc0a
jne 0x4645cc
mov edx, dword [esp + 0x28]
mov byte [edx + 0x1e], 1
cmp byte [esp + 0x47], 0
mov edi, 1
je 0x4645e6
mov ebx, dword [esp + 0x28]
push 0
call fcn.0043e2c0
add esp, 4
mov ebx, dword [esp + 0x5c]
call fcn.00424ac0
mov ecx, dword [esp + 0x13c]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0047a722
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea edx, [ebx + ecx*8]
lea ecx, [ebx + eax*8]
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov al, byte [ecx + 0x1c]
or al, byte [edx + 0x1c]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x30], ebx
test al, 1
je 0x46463f
mov esi, ebx
call fcn.004259c0
jmp 0x464c74
call fcn.004257b0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
call fcn.004257b0
mov ecx, eax
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], edx
movzx eax, byte [edi]
sub eax, 0x52
je 0x4646a7
sub eax, 1
je 0x46469d
mov edx, dword [esp + 0x7c]
sub eax, 1
mov eax, dword [esp + 0x78]
je 0x46468e
call fcn.0047e0b0
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
jmp 0x4646af
call fcn.0047db20
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
jmp 0x4646af
or dword [esp + 0x78], ecx
or dword [esp + 0x7c], edx
jmp 0x4646af
and dword [esp + 0x78], ecx
and dword [esp + 0x7c], edx
mov ecx, dword [esp + 0x78]
mov ax, word [ebx + 0x1c]
mov dword [ebx], ecx
mov edx, dword [esp + 0x7c]
mov ecx, 0xbf04
and ax, cx
or ax, 4
mov dword [ebx + 4], edx
mov word [ebx + 0x1c], ax
jmp case.0x463b45.17
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x34]
lea esi, [eax + edx*8]
call fcn.004258c0
mov eax, dword [edi + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp 0x464c74
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x34]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
call fcn.00426560
test byte [esi + 0x1c], 8
je 0x464712
call fcn.00425860
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x46472f
mov edi, dword [edi + 8]
test edi, edi
je 0x468aa3
dec edi
mov dword [esp + 0x2c], edi
jmp 0x464c74
and eax, 0xbf04
or eax, 4
mov word [esi + 0x1c], ax
jmp 0x464c74
mov edi, dword [edi + 4]
lea eax, [edi + edi*4]
test byte [ebx + eax*8 + 0x1c], 4
lea esi, [ebx + eax*8]
je 0x464c74
call fcn.004258f0
jmp 0x464c74
mov edi, dword [edi + 4]
lea ecx, [edi + edi*4]
lea edi, [ebx + ecx*8]
movzx ecx, word [edi + 0x1c]
test cl, 1
jne case.0x463b45.17
mov eax, ecx
shr eax, 3
and eax, 2
or eax, ecx
mov word [edi + 0x1c], ax
test al, 2
jne 0x46479a
test al, 0xc
je 0x46479a
movzx esi, byte [esp + 0x38]
mov eax, edi
call fcn.0043c700
mov esi, dword [esp + 0x24]
mov edx, 0xfff3
and word [edi + 0x1c], dx
movzx eax, word [edi + 0x1c]
test eax, 0x4000
je 0x4647c7
mov eax, edi
call fcn.0042db70
mov dword [esp + 0x20], eax
mov eax, 0xbfe3
and word [edi + 0x1c], ax
jmp case.0x463b45.17
mov eax, 0xbfe3
and word [edi + 0x1c], ax
mov dword [esp + 0x20], 0
jmp case.0x463b45.17
mov edi, dword [edi + 4]
lea ecx, [edi + edi*4]
movzx eax, word [ebx + ecx*8 + 0x1c]
lea edi, [ebx + ecx*8]
test al, 1
jne case.0x463b45.17
test al, 0x10
jne 0x464828
test al, 2
jne 0x46480f
test al, 0xc
je 0x46480f
movzx esi, byte [esp + 0x38]
mov eax, edi
call fcn.0043c700
mov esi, dword [esp + 0x24]
mov dx, word [edi + 0x1c]
mov eax, 0xbf10
and dx, ax
or dx, 0x10
mov word [edi + 0x1c], dx
jmp case.0x463b45.17
and eax, 0xff10
mov word [edi + 0x1c], ax
jmp case.0x463b45.17
mov edi, dword [edi + 4]
lea ecx, [edi + edi*4]
lea eax, [ebx + ecx*8]
call fcn.00425950
jmp case.0x463b45.17
mov edi, dword [edi + 4]
lea edx, [edi + edi*4]
test byte [ebx + edx*8 + 0x1c], 1
lea esi, [ebx + edx*8]
jne 0x464c74
call fcn.004258c0
jmp 0x464c74
mov edi, dword [edi + 4]
lea eax, [edi + edi*4]
test byte [ebx + eax*8 + 0x1c], 1
lea esi, [ebx + eax*8]
jne 0x464c74
call fcn.004258f0
jmp 0x464c74
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
lea eax, [ebx + edx*8]
movzx edx, word [ebx + ecx*8 + 0x1c]
lea ecx, [ebx + ecx*8]
mov word [esp + 0x7e], dx
movzx edx, word [eax + 0x1c]
mov word [esp + 0x80], dx
mov dword [esp + 0x40], eax
movzx eax, word [eax + 0x1c]
mov dword [esp + 0x3c], ecx
movzx ecx, word [ecx + 0x1c]
mov dl, al
or dl, cl
test dl, 1
je 0x464920
mov dl, byte [edi + 3]
test dl, dl
jns 0x4648de
and al, cl
test al, 1
mov eax, 0
sete al
jmp 0x4649a3
test dl, 0x10
je 0x46490a
mov edi, dword [edi + 8]
lea eax, [edi + edi*4]
mov cx, word [ebx + eax*8 + 0x1c]
lea ebx, [ebx + eax*8]
mov edx, 0xbf01
and cx, dx
or cx, 1
mov dword [esp + 0x30], ebx
mov word [ebx + 0x1c], cx
jmp case.0x463b45.17
test dl, 8
je 0x464c74
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x2c], edi
jmp 0x464c74
mov al, byte [edi + 3]
mov ebx, dword [esp + 0x3c]
and al, 0x67
mov byte [esp + 0x7c], al
je 0x464965
mov esi, dword [esp + 0x38]
push esi
mov edi, ebx
call fcn.0043d350
mov al, byte [esp + 0x80]
mov edi, dword [esp + 0x44]
push esi
call fcn.0043d350
mov eax, dword [esp + 0x30]
add esp, 8
cmp byte [eax + 0x1e], 0
jne 0x468a7d
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x24]
mov ecx, 0x4000
test word [ebx + 0x1c], cx
je 0x464977
mov eax, ebx
call fcn.0042db70
mov eax, dword [esp + 0x40]
mov edx, 0x4000
test word [eax + 0x1c], dx
je 0x46498b
call fcn.0042db70
mov eax, dword [edi + 0x10]
mov ecx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x40]
call fcn.00442f50
mov ebx, dword [esp + 0x38]
add esp, 4
mov dword [esp + 0x78], eax
movzx ecx, byte [edi]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x4649b2
jmp dword [ecx*4 + 0x468e50]
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x4649f5
xor edx, edx
test eax, eax
setne dl
jmp 0x4649f3
xor ecx, ecx
test eax, eax
setl cl
mov eax, ecx
jmp 0x4649f5
xor edx, edx
test eax, eax
setle dl
jmp 0x4649f3
xor ecx, ecx
test eax, eax
setg cl
mov eax, ecx
jmp 0x4649f5
xor edx, edx
test eax, eax
setge dl
mov eax, edx
mov dword [esp + 0x78], eax
test byte [edi + 3], 0x10
je 0x464a2d
mov edi, dword [edi + 8]
lea eax, [edi + edi*4]
mov cx, word [ebx + eax*8 + 0x1c]
lea ebx, [ebx + eax*8]
mov edx, 0xbf04
and cx, dx
or cx, 4
mov word [ebx + 0x1c], cx
mov eax, dword [esp + 0x78]
cdq
mov dword [esp + 0x30], ebx
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp 0x464a39
test eax, eax
je 0x464a39
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x2c], edi
mov al, byte [esp + 0x7e]
mov ecx, dword [esp + 0x3c]
mov byte [ecx + 0x1c], al
mov dl, byte [esp + 0x80]
mov eax, dword [esp + 0x40]
mov byte [eax + 0x1c], dl
jmp case.0x463b45.17
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x58], ecx
jmp case.0x463b45.17
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x78], ecx
mov ebx, dword [edi + 0x10]
mov dword [esp + 0x88], ebx
mov edx, dword [edi + 4]
mov dword [esp + 0x80], edx
mov eax, dword [edi + 8]
mov dword [esp + 0x84], eax
xor eax, eax
mov dword [esp + 0x7c], eax
test ecx, ecx
jle 0x464b32
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x34]
jmp 0x464aa7
mov ebx, dword [esp + 0x88]
test edi, edi
je 0x464ab0
mov ecx, dword [edi + eax*4]
jmp 0x464ab2
mov ecx, eax
mov dword [esp + 0x8c], ecx
mov edx, dword [ebx + eax*4 + 0xc]
mov dword [esp + 0x90], edx
mov ebx, dword [ebx + 8]
movzx eax, byte [ebx + eax]
push edx
mov edx, dword [esp + 0x88]
mov dword [esp + 0x98], eax
lea eax, [ecx + edx]
mov edx, dword [esp + 0x84]
add ecx, edx
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea eax, [esi + eax*8]
lea ecx, [esi + ecx*8]
call fcn.00442f50
add esp, 4
mov dword [esp + 0x50], eax
test eax, eax
jne 0x464b1e
mov eax, dword [esp + 0x7c]
inc eax
cmp eax, dword [esp + 0x78]
mov dword [esp + 0x7c], eax
jl 0x464aa0
mov dword [esp + 0x58], 0
jmp 0x464c74
cmp dword [esp + 0x94], 0
je 0x464b32
mov edx, dword [esp + 0x50]
neg edx
mov dword [esp + 0x50], edx
mov dword [esp + 0x58], 0
jmp 0x464c74
mov eax, dword [esp + 0x50]
test eax, eax
jge 0x464b54
mov edi, dword [edi + 4]
dec edi
mov dword [esp + 0x2c], edi
jmp case.0x463b45.17
jne 0x464b63
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x2c], edi
jmp case.0x463b45.17
mov edi, dword [edi + 0xc]
dec edi
mov dword [esp + 0x2c], edi
jmp case.0x463b45.17
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
lea ecx, [ebx + eax*8]
je 0x464b87
mov edx, 2
jmp 0x464b99
call fcn.004257b0
or eax, edx
je 0x464b97
mov edx, 1
jmp 0x464b99
xor edx, edx
mov dword [esp + 0x78], edx
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
test byte [ebx + ecx*8 + 0x1c], 1
lea ecx, [ebx + ecx*8]
je 0x464bb4
mov eax, 2
jmp 0x464bca
call fcn.004257b0
or eax, edx
mov edx, dword [esp + 0x78]
je 0x464bc8
mov eax, 1
jmp 0x464bca
xor eax, eax
mov dword [esp + 0x7c], eax
cmp byte [edi], 0x45
jne 0x464be0
lea eax, [eax + edx*2]
movzx eax, byte [edx + eax + 0x494860]
jmp 0x464beb
lea ecx, [eax + edx*2]
movzx eax, byte [edx + ecx + 0x49486c]
mov dword [esp + 0x78], eax
mov edi, dword [edi + 0xc]
lea edx, [edi + edi*4]
lea ebx, [ebx + edx*8]
mov dword [esp + 0x30], ebx
cmp eax, 2
jne 0x464c17
mov ax, word [ebx + 0x1c]
mov ecx, 0xbf01
and ax, cx
or ax, 1
mov word [ebx + 0x1c], ax
jmp case.0x463b45.17
cdq
mov dword [ebx + 4], edx
mov dx, word [ebx + 0x1c]
mov dword [ebx], eax
mov eax, 0xbf04
and dx, ax
or dx, 4
mov word [ebx + 0x1c], dx
jmp case.0x463b45.17
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea ecx, [eax + eax*4]
test byte [ebx + ecx*8 + 0x1c], 1
lea edx, [edi + edi*4]
lea ecx, [ebx + ecx*8]
lea esi, [ebx + edx*8]
mov dword [esp + 0x30], esi
je 0x464c57
call fcn.004259c0
jmp 0x464c74
call fcn.004257b0
or eax, edx
jne 0x464c67
mov eax, 1
jmp 0x464c69
xor eax, eax
cdq
push edx
push eax
call fcn.0042dcc0
add esp, 8
mov esi, dword [esp + 0x24]
inc dword [esp + 0x2c]
cmp dword [esp + 0x20], 0
je 0x463ab0
jmp 0x46458d
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
lea edx, [edi + edi*4]
lea ecx, [ebx + eax*8]
lea esi, [ebx + edx*8]
mov dword [esp + 0x30], esi
je 0x464cb0
call fcn.004259c0
jmp 0x464c74
call fcn.004257b0
not eax
not edx
jmp 0x464c6a
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
lea eax, [ebx + eax*8]
je 0x464cd0
mov eax, dword [edi + 0xc]
jmp 0x464cfd
call fcn.00425810
fcomp qword [0x4a3de8]
fnstsw ax
test ah, 0x44
jnp 0x464ce9
mov eax, 1
jmp 0x464ceb
xor eax, eax
mov dword [esp + 0x78], eax
cmp byte [edi], 0x1b
jne 0x464d01
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
mov dword [esp + 0x78], eax
test eax, eax
je 0x464c74
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x2c], edi
jmp 0x464c74
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 0x1c], 1
je 0x464c74
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x2c], edi
jmp 0x464c74
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
jne 0x464c74
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x2c], edi
jmp 0x464c74
mov ecx, dword [edi + 4]
xor eax, eax
mov dword [esp + 0x88], ecx
mov edx, dword [edi + 8]
mov dword [esp + 0x90], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0x8c], edx
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [esp + 0xb4], eax
mov cx, word [eax + 0x1c]
mov edx, 0xbf01
and cx, dx
or cx, 1
mov word [eax + 0x1c], cx
mov ecx, dword [esp + 0x88]
mov eax, dword [esi + 0x34]
xor edx, edx
mov dword [esp + 0x94], edx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x90], eax
mov ecx, dword [eax]
mov dword [esp + 0x98], ecx
cmp ecx, edx
je 0x464ee8
mov esi, eax
call fcn.0045c110
mov dword [esp + 0x20], eax
test eax, eax
jne 0x468b6f
mov eax, dword [esp + 0x90]
cmp byte [eax + 0x14], 0
je 0x464e34
mov dword [esp + 0x78], 0
jmp 0x464c74
mov edx, dword [eax + 0x4c]
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx + 0x50]
jne 0x464e53
mov edx, dword [eax + 0x50]
mov dword [esp + 0x78], edx
mov ecx, dword [eax + 0x5c]
mov dword [esp + 0x94], ecx
jmp 0x464e86
cmp byte [eax + 0x17], 0
je 0x464ece
mov eax, dword [esp + 0x98]
lea edi, [esp + 0x80]
call fcn.00425350
mov edx, dword [esp + 0x80]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x20], eax
mov dword [esp + 0x78], edx
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x78]
test ecx, ecx
je 0x464c74
mov edx, dword [esp + 0x28]
cmp ecx, dword [edx + 0x48]
ja 0x46456d
mov edx, dword [eax + 0x34]
mov esi, dword [esp + 0x24]
mov dword [esp + 0xa4], edx
mov ecx, dword [eax + 0x54]
mov dword [esp + 0x9c], ecx
mov ebx, dword [eax + 0x4c]
cmp ebx, dword [esi + 0x50]
jne 0x464f31
mov eax, dword [eax + 0x58]
mov dword [esp + 0xa0], eax
jmp 0x46520c
mov esi, dword [esp + 0x98]
lea eax, [esp + 0x78]
push eax
call fcn.00425380
add esp, 4
mov dword [esp + 0x20], eax
jmp 0x464e7f
mov ecx, dword [eax + 0x2c]
cmp ecx, edx
jle 0x464f28
lea ecx, [ecx + ecx*4]
lea ebx, [ebx + ecx*8]
mov dword [esp + 0xf8], ebx
mov ecx, dword [ebx + 0x18]
mov dword [esp + 0x78], ecx
mov ecx, dword [ebx + 0x14]
mov dword [esp + 0x94], ecx
test byte [edi + 3], 0x20
je 0x464f1d
xor esi, esi
mov dword [eax + 0x4c], esi
jmp 0x464e7f
mov esi, dword [esi + 0x50]
mov dword [eax + 0x4c], esi
jmp 0x464e7f
mov dword [esp + 0x78], edx
jmp case.0x463b45.17
lea ecx, [ecx + edx*4]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xf4], 0
mov dword [eax + 0x58], ecx
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x78]
mov dword [ecx + 0x50], edx
mov ecx, dword [esp + 0x90]
mov eax, dword [esi + 0x50]
mov dword [ecx + 0x4c], eax
mov ecx, dword [esp + 0x94]
test ecx, ecx
je 0x464f7b
mov dword [esp + 0xb0], ecx
jmp 0x464ff3
mov edx, dword [esp + 0x90]
cmp byte [edx + 0x17], 0
mov esi, dword [esp + 0x98]
je 0x464f9e
lea eax, [esp + 0xf4]
push eax
call fcn.00425460
jmp 0x464fb4
xor eax, eax
cmp byte [esi + 0x43], 1
jne 0x464fb7
push 1
lea ebx, [esp + 0xf8]
call fcn.004253e0
add esp, 4
mov ecx, dword [esp + 0x78]
mov dword [esp + 0xb0], eax
cmp ecx, dword [esp + 0xf4]
ja 0x464fde
mov edx, dword [esp + 0x90]
mov dword [esp + 0x94], eax
mov dword [edx + 0x5c], eax
jmp 0x464fec
mov eax, dword [esp + 0x90]
mov dword [eax + 0x5c], 0
mov ecx, dword [esp + 0xb0]
mov al, byte [ecx]
cmp al, 0x80
jae 0x46500a
movzx edx, al
mov dword [esp + 0xe8], edx
mov eax, 1
jmp 0x465027
lea esi, [esp + 0xe8]
call fcn.004213c0
mov edx, dword [esp + 0xe8]
mov ecx, dword [esp + 0xb0]
movzx eax, al
movzx eax, al
mov dword [esp + 0xf0], eax
cmp edx, 0x18003
jbe 0x46504c
mov eax, 0xf414
call fcn.0043a670
mov dword [esp + 0x20], eax
jmp 0x464c74
mov esi, dword [esp + 0xa4]
lea eax, [esi + esi*4 + 3]
cmp eax, edx
mov dword [esp + 0xa8], eax
jle 0x46506b
mov eax, edx
mov dword [esp + 0xa8], eax
cmp dword [esp + 0x94], 0
jne 0x4650e3
cmp dword [esp + 0xf4], eax
jge 0x4650e3
mov edx, dword [esp + 0x90]
xor ecx, ecx
mov word [esp + 0xd4], cx
mov dword [esp + 0xc8], ecx
movzx ecx, byte [edx + 0x17]
push ecx
mov ecx, dword [esp + 0x9c]
push eax
push 0
lea eax, [esp + 0xc4]
call fcn.0045bfb0
add esp, 0xc
mov dword [esp + 0x20], eax
test eax, eax
jne 0x464c74
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0xe8]
mov eax, dword [esp + 0xa8]
mov esi, dword [esp + 0xa4]
mov dword [esp + 0xb0], ecx
add eax, ecx
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xf0]
add eax, ecx
xor ecx, ecx
mov dword [esp + 0xe0], eax
mov dword [esp + 0xac], ecx
test esi, esi
jle 0x4651b3
mov eax, dword [esp + 0xe0]
cmp eax, dword [esp + 0xe4]
mov eax, dword [esp + 0xa0]
jae 0x465261
mov dword [eax + ecx*4], edx
mov ecx, dword [esp + 0xe0]
mov al, byte [ecx]
mov edx, dword [esp + 0xac]
cmp al, 0x80
jae 0x465153
movzx ecx, al
mov eax, dword [esp + 0x9c]
mov dword [eax + edx*4], ecx
mov eax, 1
jmp 0x465165
mov eax, dword [esp + 0x9c]
lea esi, [eax + edx*4]
call fcn.004213c0
movzx eax, al
mov edx, dword [esp + 0x9c]
movzx ecx, al
add dword [esp + 0xe0], ecx
mov ecx, dword [esp + 0xac]
mov eax, dword [edx + ecx*4]
call fcn.00425dd0
mov edx, dword [esp + 0xe8]
add edx, eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xe8], edx
cmp edx, eax
jae 0x465276
mov ecx, dword [esp + 0xe4]
inc ecx
mov dword [esp + 0xe0], ecx
lea edx, [esp + 0xb8]
push edx
call fcn.0042dc90
mov ecx, dword [esp + 0xe8]
mov eax, 1
mov word [esp + 0xd8], ax
mov eax, dword [esp + 0xe4]
add esp, 4
cmp eax, ecx
ja 0x4653b4
mov edx, dword [esp + 0xe8]
mov esi, dword [esp + 0x78]
cmp edx, esi
ja 0x4653b4
cmp eax, ecx
jne 0x465205
cmp edx, esi
jne 0x4653b4
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0xa0]
cmp dword [edx + eax*4], 0
je 0x465335
cmp dword [esp + 0x94], 0
je 0x465290
mov eax, dword [esp + 0xb4]
call fcn.0042dc20
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0xa0]
mov ecx, dword [ecx + eax*4]
mov edx, dword [esp + 0x9c]
add ecx, dword [esp + 0x94]
mov eax, dword [edx + eax*4]
jmp 0x465319
mov dword [eax + ecx*4], 0
mov edx, dword [esp + 0xe8]
mov ecx, dword [esp + 0xac]
inc ecx
cmp ecx, dword [esp + 0xa4]
mov dword [esp + 0xac], ecx
jl 0x46510d
jmp 0x4651b3
mov eax, dword [ecx + eax*4]
call fcn.00425dd0
mov ebx, dword [esp + 0xb4]
mov dword [esp + 0xa8], eax
lea eax, [esp + 0xb8]
call fcn.0042de90
mov eax, dword [esp + 0x90]
movzx ecx, byte [eax + 0x17]
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0xa0]
push ecx
mov ecx, dword [esp + 0x90]
push edx
mov edx, dword [eax + ecx*4]
mov ecx, dword [esp + 0xa0]
push edx
lea eax, [esp + 0xc4]
call fcn.0045bfb0
add esp, 0xc
mov dword [esp + 0x20], eax
test eax, eax
jne 0x464c74
mov ecx, dword [esp + 0xcc]
mov eax, dword [esp + 0x9c]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0xb0], ecx
mov eax, dword [eax + edx*4]
mov esi, dword [esp + 0xb4]
call fcn.00425e90
mov eax, dword [esp + 0xb4]
mov cl, byte [esp + 0x38]
mov byte [eax + 0x1f], cl
jmp 0x465353
cmp byte [edi + 1], 0xf8
jne 0x465353
mov edx, dword [edi + 0x10]
mov ebx, dword [esp + 0xb4]
push 0x800
push edx
call fcn.0042de40
add esp, 8
cmp dword [esp + 0xdc], 0
je 0x46539f
mov eax, dword [esp + 0xb4]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov eax, dword [esp + 0xb4]
mov edx, 0x200
or word [eax + 0x1c], dx
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0x14], ecx
mov edx, dword [esp + 0xdc]
mov eax, dword [esp + 0xb4]
mov dword [eax + 0x24], edx
mov eax, dword [esp + 0xb4]
call fcn.00434340
mov dword [esp + 0x20], eax
jmp 0x464c74
mov eax, 0xf45e
call fcn.0043a670
mov dword [esp + 0x20], eax
jmp 0x464c74
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x78], ecx
mov edi, dword [edi + 4]
mov al, byte [ecx]
lea edx, [edi + edi*4]
lea edi, [ebx + edx*8]
mov byte [esp + 0x7c], al
test al, al
je 0x46541a
inc ecx
mov dword [esp + 0x78], ecx
mov ecx, 0x4000
test word [edi + 0x1c], cx
je 0x4653fc
mov eax, edi
call fcn.0042db70
mov al, byte [esp + 0x7c]
mov edx, dword [esp + 0x38]
push edx
call fcn.0043d350
mov ecx, dword [esp + 0x7c]
mov al, byte [ecx]
add esp, 4
add edi, 0x28
mov byte [esp + 0x7c], al
test al, al
jne 0x4653e1
inc ecx
mov dword [esp + 0x78], ecx
jmp case.0x463b45.17
xor esi, esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], esi
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], esi
mov eax, dword [edi + 4]
mov dword [esp + 0xac], eax
mov ecx, dword [edi + 0x10]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x34]
lea edx, [eax + eax*4]
lea ebx, [ecx + edx*8]
mov edx, dword [esp + 0x24]
movzx edx, byte [edx + 0x64]
mov dword [esp + 0xa4], ebx
mov eax, dword [edi + 8]
mov dword [esp + 0xac], eax
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8 - 0x28]
mov dword [esp + 0xb4], edx
mov dword [esp + 0xa8], eax
mov edi, dword [edi + 0xc]
lea edx, [edi + edi*4]
lea ecx, [ecx + edx*8]
mov edi, ebx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x7c], edi
cmp ebx, eax
ja 0x4655ae
jmp 0x4654c0
mov esi, dword [esp + 0xb0]
test esi, esi
je 0x4654fe
mov edx, dword [esp + 0x38]
mov ecx, edi
push edx
sub ecx, ebx
mov eax, 0x66666667
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov al, byte [eax + esi]
call fcn.0043d350
mov ebx, dword [esp + 0xa8]
mov edi, dword [esp + 0x80]
add esp, 4
mov ecx, 0x4000
test word [edi + 0x1c], cx
je 0x465521
cmp dword [edi + 0x18], 0
jle 0x465521
mov eax, edi
call fcn.0042db70
mov ebx, dword [esp + 0xa4]
mov edi, dword [esp + 0x7c]
mov edx, dword [esp + 0xb4]
push edx
mov ecx, edi
call fcn.00425d00
mov ecx, eax
mov dword [esp + 0xa4], ecx
call fcn.00425dd0
mov dword [esp + 0xc0], eax
cdq
add dword [esp + 0x84], eax
push 0
push ecx
adc dword [esp + 0x90], edx
call fcn.00421440
mov esi, dword [esp + 0x94]
add esi, eax
mov eax, 0x4000
add esp, 0xc
mov dword [esp + 0x88], esi
test word [edi + 0x1c], ax
je 0x465585
mov ecx, dword [edi]
add dword [esp + 0x98], ecx
jmp 0x46559a
cmp dword [esp + 0xbc], 0
je 0x46559a
mov dword [esp + 0x98], 0
add edi, 0x28
mov dword [esp + 0x7c], edi
cmp edi, dword [esp + 0xa8]
jbe 0x4654c0
mov eax, esi
cdq
push edx
push eax
call fcn.00421440
mov edi, eax
add esi, edi
mov eax, esi
cdq
push edx
push eax
mov dword [esp + 0xac], edi
mov dword [esp + 0x98], esi
call fcn.00421440
add esp, 0x10
cmp edi, eax
jge 0x4655e3
inc esi
mov dword [esp + 0x88], esi
mov eax, esi
cdq
mov ecx, eax
mov eax, dword [esp + 0x98]
mov edi, edx
cdq
sub ecx, eax
sbb edi, edx
add ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x28]
adc edi, dword [esp + 0x84]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], edi
mov eax, dword [edx + 0x48]
cdq
cmp edi, edx
jg 0x46456d
jl 0x46562c
cmp ecx, eax
ja 0x46456d
mov edi, dword [esp + 0x30]
xor eax, eax
call fcn.0042da50
test eax, eax
jne 0x468a7d
mov eax, dword [esp + 0x88]
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x78], ecx
cmp eax, 0x80
jae 0x46565d
mov byte [ecx], al
mov eax, 1
jmp 0x465662
call fcn.00421210
mov ecx, dword [esp + 0xa4]
movzx edi, al
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xb8], edi
mov dword [esp + 0x7c], ecx
cmp ecx, eax
ja 0x4656ea
mov edx, dword [esp + 0xb4]
push edx
call fcn.00425d00
add esp, 4
mov dword [esp + 0xa0], eax
cmp eax, 0x80
jae 0x4656ae
mov ecx, dword [esp + 0x78]
mov byte [edi + ecx], al
mov eax, 1
jmp 0x4656ba
mov edx, dword [esp + 0x78]
lea ecx, [edi + edx]
call fcn.00421210
mov edi, dword [esp + 0xb8]
mov ecx, dword [esp + 0x7c]
movzx eax, al
add edi, eax
mov eax, dword [esp + 0xa8]
add ecx, 0x28
mov dword [esp + 0xb8], edi
mov dword [esp + 0x7c], ecx
cmp ecx, eax
jbe 0x465682
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x7c], ecx
cmp ecx, eax
ja 0x465739
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x78]
sub edx, edi
lea ebx, [edi + eax]
mov eax, dword [esp + 0xb4]
push edx
call fcn.00425df0
mov ecx, dword [esp + 0x80]
mov edi, dword [esp + 0xbc]
add ecx, 0x28
add edi, eax
add esp, 4
mov dword [esp + 0xb8], edi
mov dword [esp + 0x7c], ecx
cmp ecx, dword [esp + 0xa8]
jbe 0x4656f2
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x30]
mov edx, 0x410
mov dword [eax + 0x18], ecx
mov word [eax + 0x1c], dx
mov dword [eax + 0x20], 0
mov ecx, dword [esp + 0x98]
test ecx, ecx
je 0x46576d
mov dword [eax], ecx
mov ecx, 0x4410
mov word [eax + 0x1c], cx
mov byte [eax + 0x1f], 1
jmp 0x464c74
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x34]
mov ecx, dword [eax + edx*4]
mov eax, dword [ecx]
xor ecx, ecx
mov dword [esp + 0x80], eax
cmp eax, ecx
je 0x4657b8
lea edx, [esp + 0x78]
push edx
call fcn.004593b0
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x34]
mov dword [eax], ecx
mov edx, dword [esp + 0x80]
add esp, 4
mov dword [eax + 4], edx
jmp case.0x463b45.17
mov eax, dword [esp + 0x30]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], ecx
mov dword [eax], ecx
mov edx, dword [esp + 0x7c]
mov dword [eax + 4], edx
jmp case.0x463b45.17
mov eax, dword [edi + 4]
mov dword [esp + 0x78], eax
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x7c], ecx
test eax, eax
jne 0x4658bb
mov eax, dword [esp + 0x28]
cmp dword [eax + 0x90], 0
jle 0x465812
push str.cannot_open_savepoint___SQL_statements_in_progress
lea edi, [esi + 0x5c]
call fcn.0043ac00
add esp, 4
mov dword [esp + 0x20], 5
jmp case.0x463b45.17
call fcn.00420830
mov esi, dword [esp + 0x28]
lea ecx, [eax + 0x19]
mov dword [esp + 0x80], eax
call fcn.0042b020
mov dword [esp + 0x84], eax
test eax, eax
je 0x464c74
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x84]
inc edx
push edx
mov edx, dword [ecx]
push eax
push edx
call fcn.0047d7b0
mov eax, esi
add esp, 0xc
cmp byte [eax + 0x1c], 0
je 0x465873
mov byte [eax + 0x1c], 0
mov byte [eax + 0x1dc], 1
jmp 0x465879
inc dword [eax + 0x1d4]
mov ecx, dword [eax + 0x1d0]
mov edx, dword [esp + 0x84]
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x84]
mov edx, dword [eax + 0x1e0]
mov dword [eax + 0x1d0], ecx
mov ecx, dword [esp + 0x84]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0x1e4]
mov eax, dword [esp + 0x84]
mov dword [eax + 0xc], edx
jmp 0x464c74
mov edi, dword [esp + 0x28]
mov dword [esp + 0x90], 0
mov ebx, dword [edi + 0x1d0]
mov dword [esp + 0x88], ebx
test ebx, ebx
je 0x465904
jmp 0x4658e0
mov edx, dword [esp + 0x7c]
mov ecx, dword [ebx]
call fcn.00420900
test eax, eax
je 0x46592a
inc dword [esp + 0x90]
mov ebx, dword [ebx + 0x10]
mov dword [esp + 0x88], ebx
test ebx, ebx
jne 0x4658e0
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x28]
push ecx
push str.no_such_savepoint:__s
lea edi, [esi + 0x5c]
call fcn.0043ac00
add esp, 8
mov dword [esp + 0x20], 1
jmp case.0x463b45.17
xor eax, eax
cmp dword [edi + 0x90], eax
jg 0x465afe
mov ecx, dword [esp + 0x78]
cmp ecx, 2
jne 0x46594e
cmp dword [edi + 0x8c], 1
jg 0x465b05
cmp dword [ebx + 0x10], eax
jne 0x4659ad
cmp byte [edi + 0x1dc], 0
je 0x4659ad
mov dword [esp + 0x40], 1
cmp ecx, 1
jne 0x4659b1
push ecx
mov ecx, esi
call fcn.0043cde0
mov edi, eax
add esp, 4
test edi, edi
jne 0x4645e6
mov edi, dword [esp + 0x28]
push esi
mov byte [edi + 0x1c], 1
call fcn.0045d880
add esp, 4
cmp eax, 5
je 0x468ab0
mov edx, edi
mov byte [edx + 0x1dc], 0
mov eax, dword [esi + 0x58]
mov dword [esp + 0x20], eax
jmp 0x465a55
mov dword [esp + 0x40], eax
mov ecx, dword [edi + 0x1d4]
sub ecx, dword [esp + 0x90]
mov dword [esp + 0x94], eax
dec ecx
mov dword [esp + 0x90], ecx
cmp dword [edi + 4], eax
jle 0x465a2b
mov esi, edi
jmp 0x4659e7
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x78]
push edx
mov edx, dword [esi + 8]
shl eax, 4
mov eax, dword [eax + edx + 4]
mov ebx, ecx
call fcn.0044bc90
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
jne 0x468b6f
mov eax, dword [esp + 0x94]
inc eax
mov dword [esp + 0x94], eax
cmp eax, dword [esi + 4]
jl 0x4659e0
mov ebx, dword [esp + 0x88]
mov esi, dword [esp + 0x24]
cmp dword [esp + 0x78], 2
jne 0x465a5c
test dword [edi + 0xc], 0x200
je 0x465a5c
mov eax, edi
call fcn.004260a0
push 0
mov ebx, edi
call fcn.0043e2c0
add esp, 4
or dword [edi + 0xc], 0x200
mov ebx, dword [esp + 0x88]
cmp dword [edi + 0x1d0], ebx
je 0x465aac
jmp 0x465a70
mov eax, dword [edi + 0x1d0]
mov dword [esp + 0x8c], eax
mov eax, dword [eax + 0x10]
mov dword [edi + 0x1d0], eax
mov ecx, dword [esp + 0x8c]
push ecx
push edi
call fcn.00420620
dec dword [edi + 0x1d4]
mov ebx, dword [esp + 0x90]
add esp, 8
cmp dword [edi + 0x1d0], ebx
jne 0x465a70
cmp dword [esp + 0x78], 1
jne 0x465ae7
mov edx, dword [ebx + 0x10]
mov dword [edi + 0x1d0], edx
mov eax, dword [esp + 0x88]
push eax
push edi
call fcn.00420620
add esp, 8
cmp dword [esp + 0x40], 0
jne case.0x463b45.17
mov eax, dword [esp + 0x28]
dec dword [eax + 0x1d4]
jmp case.0x463b45.17
mov ecx, dword [ebx + 8]
mov dword [edi + 0x1e0], ecx
mov edx, dword [ebx + 0xc]
mov dword [edi + 0x1e4], edx
jmp case.0x463b45.17
cmp dword [esp + 0x78], 2
jne 0x465b0c
mov eax, str.rollback
jmp 0x465b11
mov eax, str.release
push eax
mov eax, dword [esp + 0x2c]
push str.cannot__s_savepoint___SQL_statements_in_progress
lea edi, [esi + 0x5c]
call fcn.0043ac00
add esp, 8
mov dword [esp + 0x20], 5
jmp case.0x463b45.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x78], eax
mov edi, dword [edi + 8]
mov dword [esp + 0x7c], edi
test eax, eax
je 0x465b86
cmp byte [ecx + 0x1c], 0
jne 0x465b86
mov edx, 1
mov dword [esp + 0x80], edx
test edi, edi
je 0x465ba8
cmp dword [ecx + 0x8c], edx
jle 0x465b91
push str.cannot_rollback_transaction___SQL_statements_in_progress
lea edi, [esi + 0x5c]
mov eax, ecx
call fcn.0043ac00
add esp, 4
mov dword [esp + 0x20], 5
jmp case.0x463b45.17
mov dword [esp + 0x80], 0
movzx ecx, byte [ecx + 0x1c]
cmp eax, ecx
jne 0x468ac8
test eax, eax
jne 0x465bd0
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x465bde
cmp dword [ecx + 0x90], 0
jle 0x465b91
push str.cannot_commit_transaction___SQL_statements_in_progress
lea edi, [esi + 0x5c]
mov eax, ecx
call fcn.0043ac00
add esp, 4
mov dword [esp + 0x20], 5
jmp case.0x463b45.17
mov eax, str.cannot_rollback___no_transaction_is_active
test edi, edi
jne 0x465bde
mov eax, str.cannot_commit___no_transaction_is_active
push eax
mov eax, dword [esp + 0x2c]
lea edi, [esi + 0x5c]
call fcn.0043ac00
add esp, 4
mov dword [esp + 0x20], 1
jmp case.0x463b45.17
mov edx, dword [edi + 4]
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 8]
shl edx, 4
mov eax, dword [edx + ecx + 4]
mov dword [esp + 0x78], eax
test eax, eax
je case.0x463b45.17
mov edx, dword [edi + 8]
push edx
push eax
call fcn.00456a70
add esp, 8
mov dword [esp + 0x20], eax
cmp eax, 5
je 0x468b43
test eax, eax
jne 0x468b6f
cmp dword [edi + 8], eax
je case.0x463b45.17
cmp byte [esi + 0x66], al
je case.0x463b45.17
mov edi, dword [esp + 0x28]
cmp byte [edi + 0x1c], al
je 0x465c62
cmp dword [edi + 0x8c], 1
jle case.0x463b45.17
cmp dword [esi + 0xd8], 0
jne 0x465c85
inc dword [edi + 0x1d8]
mov eax, dword [edi + 0x1d8]
mov ecx, dword [edi + 0x1d4]
add ecx, eax
mov dword [esi + 0xd8], ecx
mov edx, dword [esi + 0xd8]
mov eax, dword [esp + 0x78]
push edx
call fcn.0042d990
mov dword [esp + 0x24], eax
mov eax, dword [edi + 0x1e0]
mov dword [esi + 0xd0], eax
mov ecx, dword [edi + 0x1e4]
add esp, 4
mov dword [esi + 0xd4], ecx
jmp case.0x463b45.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x7c], eax
mov edi, dword [edi + 0xc]
lea edx, [esp + 0x78]
mov dword [esp + 0x80], edi
push edx
mov edx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + edx + 4]
push edi
call fcn.00425570
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x38]
cdq
add esp, 8
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x463b45.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x28]
shl eax, 4
add eax, dword [ecx + 8]
mov dword [esp + 0x78], eax
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x34]
lea esi, [eax + edx*8]
call fcn.004258c0
mov ecx, dword [esi]
mov edx, dword [esp + 0x78]
mov ebx, dword [edi + 8]
mov eax, dword [edx + 4]
push ecx
call fcn.00442c00
mov dword [esp + 0x24], eax
mov eax, dword [edi + 8]
add esp, 4
cmp eax, 1
jne 0x465d58
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0xc]
mov edx, dword [esi]
mov eax, dword [esp + 0x28]
mov dword [ecx], edx
or dword [eax + 0xc], 0x200
jmp 0x465d69
cmp eax, 2
jne 0x465d69
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0xc]
mov dl, byte [esi]
mov byte [ecx + 0x48], dl
cmp dword [edi + 4], 1
jne 0x464c74
mov eax, dword [esp + 0x28]
call fcn.004260a0
mov eax, dword [esp + 0x24]
mov byte [eax + 0x62], 0
mov esi, eax
jmp case.0x463b45.17
mov ecx, dword [edi + 4]
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 8]
shl ecx, 4
mov eax, dword [ecx + eax + 4]
mov dword [esp + 0x7c], eax
test eax, eax
je 0x465db5
lea ecx, [esp + 0x78]
push ecx
push 1
call fcn.00425570
add esp, 8
jmp 0x465dbd
mov dword [esp + 0x78], 0
mov edx, dword [esp + 0x78]
cmp edx, dword [edi + 8]
je case.0x463b45.17
mov eax, dword [esi + 0x5c]
mov ebx, dword [esp + 0x28]
push eax
push ebx
call fcn.00420620
push ebx
mov ebx, str.database_schema_has_changed
call fcn.0042b140
mov edx, dword [esp + 0x34]
mov dword [esi + 0x5c], eax
mov edi, dword [edi + 4]
mov eax, dword [edx + 8]
mov ecx, edi
shl ecx, 4
mov ecx, dword [ecx + eax + 0xc]
mov edx, dword [ecx]
add esp, 0xc
cmp edx, dword [esp + 0x78]
je 0x465e11
mov ebx, dword [esp + 0x28]
push edi
call fcn.0043e2c0
add esp, 4
mov eax, dword [esp + 0x28]
call fcn.004260a0
mov dword [esp + 0x20], 0x11
jmp case.0x463b45.17
cmp byte [esi + 0x62], 0
je 0x465e3a
mov dword [esp + 0x20], 4
jmp case.0x463b45.17
mov ebx, dword [esp + 0x28]
xor ecx, ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ecx
mov edx, dword [edi + 8]
mov dword [esp + 0x80], edx
mov eax, dword [edi + 0xc]
mov dword [esp + 0x84], eax
shl eax, 4
add eax, dword [ebx + 8]
mov dword [esp + 0x94], eax
mov ebx, dword [eax + 4]
mov dword [esp + 0x8c], ebx
cmp byte [edi], 0x27
jne 0x465e93
mov dword [esp + 0x88], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x48]
cmp al, byte [esi + 0x64]
jae 0x465e9e
mov byte [esi + 0x64], al
jmp 0x465e9e
mov dword [esp + 0x88], 0
cmp byte [edi + 3], 0
je 0x465ec9
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x34]
lea esi, [edx + ecx*8]
call fcn.004258c0
mov esi, dword [esi]
cmp esi, 2
mov dword [esp + 0x80], esi
jl 0x468b57
mov ecx, dword [esp + 0x78]
mov al, byte [edi + 1]
cmp al, 0xfa
jne 0x465ef4
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
mov eax, dword [edi + 0x10]
mov dword [esp + 0x7c], eax
mov ecx, dword [edx + 8]
mov edx, dword [ecx + 0xc]
mov cl, byte [edx + 0x49]
mov byte [eax + 4], cl
mov edx, dword [esp + 0x7c]
movzx ecx, word [edx + 6]
inc ecx
jmp 0x465efb
cmp al, 0xf2
jne 0x465eff
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x78], ecx
mov eax, dword [esp + 0x84]
mov ebx, dword [esp + 0x24]
push 1
push eax
push ecx
mov ecx, dword [edi + 4]
push ecx
call fcn.0045c3f0
add esp, 0x10
mov dword [esp + 0x90], eax
test eax, eax
je 0x468a7d
mov cl, 1
mov byte [eax + 0x14], cl
mov edx, dword [esp + 0x90]
mov byte [edx + 0x18], cl
mov eax, dword [esp + 0x90]
mov ecx, dword [eax]
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x88]
push ecx
mov ecx, dword [esp + 0x84]
push edx
push eax
mov eax, dword [esp + 0x98]
push ecx
call fcn.00425280
mov edx, dword [esp + 0xa0]
mov ecx, dword [esp + 0x8c]
add esp, 0x10
mov dword [esp + 0x20], eax
mov dword [edx + 0x30], ecx
cmp eax, 0x10
jne 0x465f95
mov edx, dword [esp + 0x90]
mov dword [edx], 0
mov dword [esp + 0x20], 0
cmp byte [edi + 1], 0xfa
mov ecx, dword [esp + 0x90]
setne al
mov byte [ecx + 0x16], al
mov eax, dword [esp + 0x90]
cmp byte [eax + 0x16], 0
mov esi, ebx
sete dl
mov byte [eax + 0x17], dl
jmp case.0x463b45.17
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
push 1
push 0xffffffffffffffff
push eax
push ecx
mov ebx, esi
call fcn.0045c3f0
add esp, 0x10
mov dword [esp + 0x78], eax
test eax, eax
je 0x468a7d
mov ebx, 1
mov byte [eax + 0x14], bl
movzx edx, byte [edi + 3]
mov ecx, dword [esp + 0x78]
or edx, 9
push 0x41e
push edx
mov edx, dword [esp + 0x30]
add ecx, 0x28
push 0
call fcn.0045b090
add esp, 0xc
mov dword [esp + 0x20], eax
test eax, eax
jne 0x4660c6
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x28]
push ebx
push ecx
call fcn.00456a70
add esp, 8
mov dword [esp + 0x20], eax
test eax, eax
jne 0x4660c6
cmp dword [edi + 0x10], 0
mov eax, dword [esp + 0x78]
je 0x4660a6
mov eax, dword [eax + 0x28]
lea edx, [esp + 0x60]
push 2
push edx
call fcn.00454380
add esp, 8
mov dword [esp + 0x20], eax
test eax, eax
jne 0x46609c
mov eax, dword [esp + 0x78]
mov ecx, dword [eax]
mov edx, dword [edi + 0x10]
mov eax, dword [eax + 0x28]
push ecx
mov ecx, dword [esp + 0x64]
push edx
push ebx
push ecx
call fcn.00425280
mov edx, dword [edi + 0x10]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x88]
mov dword [eax + 0x30], edx
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x88]
mov edx, dword [ecx + 0x30]
mov al, byte [eax + 0x49]
add esp, 0x10
mov byte [edx + 4], al
mov ecx, dword [esp + 0x78]
mov byte [ecx + 0x16], 0
jmp 0x4660c6
mov edx, dword [eax]
mov eax, dword [eax + 0x28]
push edx
push 0
push ebx
push ebx
call fcn.00425280
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x88]
add esp, 0x10
mov byte [eax + 0x16], bl
cmp byte [edi + 3], 0x10
mov edx, dword [esp + 0x78]
setne cl
mov byte [edx + 0x18], cl
mov eax, dword [esp + 0x78]
cmp byte [eax + 0x16], 0
sete cl
mov byte [eax + 0x17], cl
jmp case.0x463b45.17
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 4]
push 0
push 0xffffffffffffffff
push edx
push eax
mov ebx, esi
call fcn.0045c3f0
add esp, 0x10
mov dword [esp + 0x78], eax
test eax, eax
je 0x468a7d
mov cl, 1
mov byte [eax + 0x14], cl
mov edx, dword [edi + 8]
mov eax, dword [esp + 0x78]
mov dword [eax + 0x2c], edx
mov edx, dword [esp + 0x78]
mov byte [edx + 0x16], cl
mov eax, dword [esp + 0x78]
mov byte [eax + 0x17], 0
jmp case.0x463b45.17
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x34]
mov eax, dword [edx + ecx*4]
mov ebx, esi
call fcn.0045c0d0
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x34]
mov dword [ecx + eax*4], 0
jmp case.0x463b45.17
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x34]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x80], eax
cmp dword [eax], 0
je 0x463b5e
movzx ecx, byte [edi]
mov dword [esp + 0x7c], ecx
mov byte [eax + 0x14], 0
mov ecx, dword [esp + 0x80]
cmp byte [ecx + 0x16], 0
je 0x46634b
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x34]
lea esi, [eax + edx*8]
call fcn.00426560
mov ecx, esi
call fcn.004257b0
mov ecx, dword [esp + 0x80]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], edx
mov byte [ecx + 0x11], 0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x4662d8
test al, 8
jne 0x4661d2
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x2c], edi
jmp 0x464c74
xor ebx, ebx
cmp dword [esp + 0xa8], ebx
jne 0x466284
mov eax, SysReAllocString
cmp dword [esp + 0xac], eax
jne 0x466284
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], ebx
fild qword [esp + 0x70]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
je 0x466215
fldz
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x466284
fldz
mov dword [esp + 0x78], 1
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x466244
cmp dword [esp + 0x7c], 0x2e
jl 0x466277
mov edx, dword [esp + 0x80]
mov esi, dword [edx]
lea edi, [esp + 0x78]
call fcn.00457a50
jmp 0x46625d
cmp dword [esp + 0x7c], 0x2d
jg 0x466277
mov eax, dword [esp + 0x80]
mov esi, dword [eax]
lea edi, [esp + 0x78]
call fcn.00457a80
mov dword [esp + 0x20], eax
cmp eax, ebx
jne 0x468b6f
cmp dword [esp + 0x78], ebx
je 0x464c74
mov edi, dword [esp + 0x48]
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x2c], edi
jmp 0x464c74
mov eax, dword [esp + 0x7c]
cmp eax, 0x2c
je 0x4662b8
cmp eax, 0x2e
je 0x4662b8
fild qword [esp + 0xa8]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x4662d8
mov eax, 0xffffffff
add dword [esp + 0xa8], eax
adc dword [esp + 0xac], eax
jmp 0x4662d8
fild qword [esp + 0xa8]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x4662d8
add dword [esp + 0xa8], 1
adc dword [esp + 0xac], ebx
mov edx, dword [esp + 0xac]
mov eax, dword [esp + 0xa8]
lea ecx, [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x84]
push 0
push edx
mov edx, dword [ecx]
push eax
push 0
push edx
call fcn.00457ac0
add esp, 0x18
mov dword [esp + 0x20], eax
test eax, eax
jne 0x468b6f
cmp dword [esp + 0x78], eax
jne 0x4663d7
mov eax, dword [esp + 0x80]
mov byte [eax + 0x11], 1
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x80]
mov dword [edx + 8], ecx
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x80]
mov dword [ecx + 0xc], eax
jmp 0x4663d7
mov edx, dword [edi + 0x10]
mov dword [esp + 0xa0], edx
mov eax, dword [ecx + 0x30]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x7c]
and eax, 1
add eax, eax
add eax, eax
add eax, eax
mov word [esp + 0x8c], dx
mov word [esp + 0x8e], ax
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
lea eax, [ebx + edx*8]
mov edx, 0x4000
mov dword [esp + 0x98], eax
test word [eax + 0x1c], dx
je 0x4663a3
call fcn.0042db70
mov ecx, dword [esp + 0x80]
lea eax, [esp + 0x78]
push eax
mov eax, dword [ecx]
push 0
push 0
push 0
lea edx, [esp + 0x98]
push edx
push eax
call fcn.00457ac0
add esp, 0x18
mov dword [esp + 0x20], eax
test eax, eax
jne 0x468b6f
mov ecx, dword [esp + 0x80]
mov byte [ecx + 0x11], al
mov edx, dword [esp + 0x80]
mov byte [edx + 0x15], 0
mov eax, dword [esp + 0x80]
xor esi, esi
mov dword [eax + 0x4c], esi
mov ecx, dword [esp + 0x7c]
cmp ecx, 0x2e
mov eax, dword [esp + 0x78]
jl 0x46643f
cmp eax, esi
jl 0x46640f
jne 0x466406
cmp ecx, 0x2f
je 0x46640f
mov dword [esp + 0x78], esi
jmp 0x464c74
mov edx, dword [esp + 0x80]
mov eax, dword [edx]
lea ecx, [esp + 0x78]
push ecx
push eax
call fcn.0045b7b0
add esp, 8
mov dword [esp + 0x20], eax
cmp eax, esi
jne 0x468b6f
mov ecx, dword [esp + 0x80]
mov byte [ecx + 0x11], 0
jmp 0x466490
cmp eax, esi
jg 0x466462
jne 0x46644a
cmp ecx, 0x2c
je 0x466462
mov edx, dword [esp + 0x80]
mov eax, dword [edx]
xor ecx, ecx
cmp byte [eax + 0x43], 1
setne cl
mov dword [esp + 0x78], ecx
jmp 0x466490
mov eax, dword [esp + 0x80]
mov ecx, dword [eax]
lea edx, [esp + 0x78]
push edx
push ecx
call fcn.0045b910
add esp, 8
mov dword [esp + 0x20], eax
cmp eax, esi
jne 0x468b6f
mov edx, dword [esp + 0x80]
mov byte [edx + 0x11], 0
cmp dword [esp + 0x78], esi
je 0x464c74
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x2c], edi
jmp 0x464c74
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x34]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x78], eax
cmp dword [eax], 0
je 0x464c74
mov byte [eax + 0x14], 0
mov edi, dword [edi + 8]
lea edx, [edi + edi*4]
lea ebx, [ebx + edx*8]
mov ecx, ebx
call fcn.004257b0
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x78]
mov dword [eax + 0x24], edx
mov ecx, dword [esp + 0x78]
mov byte [ecx + 0x11], 0
mov edx, dword [esp + 0x78]
mov byte [edx + 0x15], 1
jmp case.0x463b45.17
mov ecx, dword [esi + 0x34]
xor edx, edx
mov dword [esp + 0x78], edx
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x7c], eax
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea ebx, [ebx + ecx*8]
cmp dword [eax], edx
je 0x4665f8
cmp dword [edi + 0x10], edx
jle 0x466557
mov edx, dword [eax + 0x30]
mov dword [esp + 0x88], edx
mov cx, word [edi + 0x10]
mov word [esp + 0x8c], cx
mov edx, 0x10
lea ecx, [esp + 0x88]
mov dword [esp + 0x98], ebx
mov word [esp + 0x8e], dx
mov dword [esp + 0x84], ecx
jmp 0x46658f
mov edx, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x18]
push edx
mov edx, dword [eax + 0x30]
push ecx
push edx
mov edx, 0x97
lea eax, [esp + 0xac]
call fcn.0042e710
add esp, 0xc
mov dword [esp + 0x84], eax
test eax, eax
je 0x468a81
or word [eax + 6], 0x10
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x84]
mov eax, dword [eax]
lea ecx, [esp + 0x80]
push ecx
push 0
push 0
push 0
push edx
push eax
call fcn.00457ac0
add esp, 0x18
cmp dword [edi + 0x10], 0
mov dword [esp + 0x20], eax
jne 0x4665c6
mov ebx, dword [esp + 0x84]
call fcn.0042e860
cmp dword [esp + 0x20], 0
jne case.0x463b45.17
mov edx, dword [esp + 0x7c]
xor ecx, ecx
cmp dword [esp + 0x80], ecx
sete cl
mov dword [esp + 0x78], ecx
mov byte [edx + 0x15], 0
mov eax, dword [esp + 0x7c]
mov dword [eax + 0x4c], 0
mov edx, dword [esp + 0x78]
cmp byte [edi], 0x32
jne 0x466612
test edx, edx
je 0x464c74
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x2c], edi
jmp case.0x463b45.17
test edx, edx
jne 0x464c74
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x2c], edi
jmp case.0x463b45.17
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x10]
lea edx, [ebx + ecx*8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [esi + 0x34]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x40], edx
mov edx, dword [edi + 4]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x7c], eax
xor ecx, ecx
mov dword [eax + 0x48], ecx
mov edx, dword [esp + 0x7c]
mov dword [edx + 0x4c], ecx
mov edx, dword [esp + 0x7c]
mov eax, dword [edx]
mov dword [esp + 0x80], eax
mov ecx, dword [edx + 0x30]
mov cx, word [ecx + 6]
xor ebx, ebx
xor eax, eax
cmp bx, cx
mov ebx, dword [esp + 0x88]
mov word [esp + 0x84], cx
mov word [esp + 0x78], ax
jae 0x4666b1
mov edi, edi
movzx edx, ax
lea edx, [edx + edx*4]
test byte [ebx + edx*8 + 0x1c], 1
jne 0x466776
inc ax
mov word [esp + 0x78], ax
cmp ax, cx
jb 0x466690
mov edx, dword [esp + 0x7c]
cmp dword [esp + 0x80], 0
je 0x464c74
mov eax, dword [edx + 0x30]
mov ecx, dword [esp + 0x84]
mov esi, dword [esp + 0x40]
inc ecx
mov edx, 0x20
mov dword [esp + 0x90], eax
mov word [esp + 0x94], cx
mov word [esp + 0x96], dx
mov dword [esp + 0xa0], ebx
call fcn.004258c0
mov edx, dword [esp + 0x7c]
mov eax, dword [esi]
add edx, 0x48
push edx
push 0
mov dword [esp + 0xb0], eax
mov ecx, dword [esi + 4]
push 0
push 0
lea eax, [esp + 0xa0]
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x90]
push eax
push ecx
call fcn.00457ac0
add esp, 0x18
test byte [esp + 0x96], 0x20
mov dword [esp + 0x20], eax
jne 0x464913
mov eax, dword [esp + 0x98]
cmp eax, dword [esp + 0xa8]
jne 0x466765
mov edx, dword [esp + 0x9c]
cmp edx, dword [esp + 0xac]
je 0x464913
mov dword [esi], eax
mov eax, dword [esp + 0x9c]
mov dword [esi + 4], eax
jmp 0x464c74
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x80], 0
jmp case.0x463b45.17
mov eax, dword [edi + 0xc]
mov edx, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x34]
lea ebx, [ebx + ecx*8]
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x78], ecx
mov eax, dword [ecx]
mov dword [esp + 0x7c], eax
test eax, eax
je 0x46685a
mov dword [esp + 0x80], 0
mov ecx, dword [ebx]
mov dword [esp + 0x88], ecx
mov edx, dword [ebx + 4]
mov dword [esp + 0x8c], edx
lea edx, [esp + 0x80]
push edx
mov edx, dword [esp + 0x90]
push 0
push edx
push ecx
push 0
push eax
call fcn.00457ac0
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x38], eax
mov eax, dword [ebx]
mov dword [ecx + 8], eax
mov edx, dword [ebx + 4]
mov eax, dword [esp + 0x90]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x90]
add esp, 0x18
cmp dword [esp + 0x80], 0
sete cl
mov byte [edx + 0x11], cl
mov eax, dword [esp + 0x78]
mov byte [eax + 0x14], 0
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0x4c], 0
mov edx, dword [esp + 0x78]
mov byte [edx + 0x15], 0
mov eax, dword [esp + 0x80]
test eax, eax
je 0x46684e
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x2c], edi
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0x48], eax
jmp case.0x463b45.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x2c], edi
mov dword [ecx + 0x48], 0
jmp case.0x463b45.17
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x34]
mov eax, dword [eax + edx*4]
mov edx, dword [eax + 0x38]
mov dword [ecx], edx
mov eax, dword [eax + 0x3c]
mov dword [ecx + 4], eax
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x34]
mov eax, dword [edx + ecx*4]
add dword [eax + 0x38], 1
adc dword [eax + 0x3c], 0
jmp case.0x463b45.17
mov edx, dword [esi + 0x34]
xor eax, eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x84], eax
mov eax, dword [edi + 4]
mov edx, dword [edx + eax*4]
mov dword [esp + 0x80], edx
cmp dword [edx], 0
je 0x466bbf
mov dword [esp + 0x88], 0
cmp byte [edx + 0x13], 0
jne 0x466a95
mov ecx, dword [edx]
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x78], eax
mov ecx, dword [ecx + 0x1c]
mov dword [esp + 0x7c], ecx
mov ecx, eax
or ecx, dword [esp + 0x7c]
jne 0x466979
mov esi, dword [edx]
lea edi, [esp + 0x84]
call fcn.00457a80
mov dword [esp + 0x20], eax
test eax, eax
jne 0x468b6f
cmp dword [esp + 0x84], eax
je 0x466933
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x34]
mov eax, 1
xor ecx, ecx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
jmp 0x46697d
mov edx, dword [esp + 0x80]
mov eax, dword [edx]
lea edi, [esp + 0x78]
call fcn.00425350
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x78]
cmp eax, 0xffffffff
jne 0x4669c0
cmp ecx, 0x7fffffff
jne 0x4669c0
mov eax, dword [esp + 0x80]
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x34]
mov byte [eax + 0x13], 1
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edx, dword [edi + 0xc]
test edx, edx
je 0x466a56
mov esi, dword [esi + 0xdc]
test esi, esi
je 0x4669dc
mov ecx, esi
mov dword [esp + 0x90], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
je 0x4669b2
mov ecx, eax
mov dword [esp + 0x90], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
jne 0x4669a2
mov edi, dword [edi + 0xc]
mov eax, dword [ecx + 0x10]
lea edx, [edi + edi*4]
lea esi, [eax + edx*8]
jmp 0x4669e2
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x34]
add eax, 1
adc ecx, 0
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
jmp 0x46697d
lea ecx, [edx + edx*4]
lea esi, [ebx + ecx*8]
mov dword [esp + 0x8c], esi
call fcn.004258c0
mov edx, dword [esp + 0x8c]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
cmp eax, 0xffffffff
jne 0x466a0b
cmp ecx, 0x7fffffff
je 0x468b67
mov esi, dword [esp + 0x80]
cmp byte [esi + 0x13], 0
jne 0x468b67
mov esi, dword [esp + 0x7c]
add eax, 1
adc ecx, 0
cmp esi, ecx
jg 0x466a3a
jl 0x466a32
cmp dword [esp + 0x78], eax
jae 0x466a3a
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
mov eax, dword [esp + 0x78]
mov dword [edx], eax
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x8c]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
cmp ecx, 0x7fffffff
jg 0x466a6d
jl 0x466a65
cmp eax, 0xffffffff
jae 0x466a6d
add eax, 1
adc ecx, 0
jmp 0x466a71
xor eax, eax
xor ecx, ecx
push ecx
push eax
mov eax, dword [esp + 0x88]
mov esi, dword [eax]
call fcn.004252d0
mov edx, dword [esp + 0x88]
add esp, 8
cmp byte [edx + 0x13], 0
je 0x466b9a
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
and eax, 0x3fffffff
add ecx, 1
lea esi, [esp + 0x84]
push esi
push 0
adc eax, 0
push eax
push ecx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x98], 0
mov ecx, dword [edx]
push 0
push ecx
call fcn.00457ac0
add esp, 0x18
mov dword [esp + 0x20], eax
test eax, eax
jne 0x466b93
mov ecx, dword [esp + 0x84]
test ecx, ecx
jne 0x466b84
mov eax, dword [esp + 0x88]
inc eax
cmp eax, 0x64
mov dword [esp + 0x88], eax
jge 0x466b84
lea edx, [esp + 0x78]
push edx
push 8
call fcn.0042b450
mov eax, dword [esp + 0x80]
add esp, 8
cmp dword [esp + 0x88], 5
jge 0x466b38
and eax, 0xffffff
xor ecx, ecx
jmp 0x466b42
mov ecx, dword [esp + 0x7c]
and ecx, 0x3fffffff
add eax, 1
lea edx, [esp + 0x84]
push edx
adc ecx, 0
push 0
push ecx
push eax
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x8c], ecx
mov ecx, dword [eax]
push 0
push ecx
call fcn.00457ac0
add esp, 0x18
mov dword [esp + 0x20], eax
test eax, eax
je 0x466ae8
jmp 0x466b93
cmp dword [esp + 0x20], 0
jne 0x466b93
test ecx, ecx
je 0x468b67
mov edx, dword [esp + 0x80]
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
mov byte [edx + 0x11], 0
mov edx, dword [esp + 0x80]
mov byte [edx + 0x15], 0
mov eax, dword [esp + 0x80]
mov dword [eax + 0x4c], 0
mov edx, dword [esp + 0x78]
mov dword [ecx], edx
mov eax, dword [esp + 0x7c]
mov dword [ecx + 4], eax
jmp case.0x463b45.17
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x34]
lea ecx, [ebx + ecx*8]
mov dword [esp + 0x78], ecx
mov edx, dword [edi + 4]
mov edx, dword [eax + edx*4]
mov dword [esp + 0x88], edx
cmp byte [edi], 0x37
mov eax, dword [edi + 0xc]
jne 0x466c0e
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov dword [esp + 0x7c], edx
mov eax, dword [edx]
mov dword [esp + 0x80], eax
mov edx, dword [edx + 4]
jmp 0x466c16
cdq
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
test byte [edi + 3], 1
je 0x466c26
inc dword [esi + 0x6c]
test byte [edi + 3], 2
je 0x466c41
mov ecx, dword [esp + 0x28]
mov dword [ecx + 0x30], eax
mov eax, dword [esp + 0x84]
mov dword [ecx + 0x34], eax
mov ecx, dword [esp + 0x78]
xor eax, eax
test byte [ecx + 0x1c], 1
je 0x466c57
mov dword [ecx + 0x14], eax
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0x18], eax
mov ecx, dword [esp + 0x78]
test byte [edi + 3], 0x10
je 0x466c70
mov edx, dword [esp + 0x88]
mov edx, dword [edx + 0x48]
mov dword [esp + 0x90], edx
jmp 0x466c77
mov dword [esp + 0x90], eax
mov edx, 0x4000
test word [ecx + 0x1c], dx
je 0x466c84
mov eax, dword [ecx]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x8c], eax
mov esi, dword [ecx]
push 0
push 0
call fcn.004252d0
movzx edx, byte [edi + 3]
mov eax, dword [esp + 0x94]
and edx, 8
push edx
push eax
mov eax, dword [esp + 0x88]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x14]
mov eax, dword [esp + 0x94]
push ecx
mov ecx, dword [esp + 0x94]
push edx
mov edx, dword [esp + 0xa0]
push eax
mov eax, dword [edx]
push ecx
push 0
push eax
mov eax, dword [esp + 0xb8]
call fcn.0045bad0
mov ecx, dword [esp + 0xb0]
mov byte [ecx + 0x11], 0
mov edx, dword [esp + 0xb0]
mov byte [edx + 0x15], 0
mov ecx, dword [esp + 0xb0]
add esp, 0x28
mov dword [esp + 0x20], eax
mov dword [ecx + 0x4c], 0
test eax, eax
jne 0x464c74
mov edx, dword [esp + 0x28]
cmp dword [edx + 0xb8], eax
je 0x464c74
cmp dword [edi + 0x10], eax
je 0x464c74
mov eax, dword [esp + 0x88]
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 8]
shl edx, 4
mov edx, dword [edx + eax]
mov dword [esp + 0x94], edx
mov esi, dword [edi + 0x10]
mov dword [esp + 0x98], esi
mov al, byte [edi + 3]
mov edi, dword [esp + 0x84]
and al, 4
movzx eax, al
push edi
mov edi, dword [esp + 0x84]
neg eax
sbb eax, eax
push edi
and eax, 5
add eax, 0x12
push esi
push edx
mov dword [esp + 0xac], eax
mov edx, dword [ecx + 0xb4]
push eax
mov eax, dword [ecx + 0xb8]
push edx
call eax
add esp, 0x18
jmp 0x464c74
mov edx, dword [esi + 0x34]
xor eax, eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov ecx, dword [edi + 4]
mov esi, dword [edx + ecx*4]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x80], esi
cmp dword [ecx + 0xb8], eax
je 0x466dd4
cmp dword [edi + 0x10], eax
je 0x466dd4
mov edx, dword [esi + 8]
mov dword [esp + 0x78], edx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x7c], eax
call fcn.0045c110
mov dword [esp + 0x20], eax
test eax, eax
jne 0x468b6f
mov ecx, dword [esp + 0x80]
mov esi, dword [ecx]
push eax
push eax
call fcn.004252d0
mov edx, dword [esp + 0x88]
mov eax, dword [edx]
add esp, 8
call fcn.0045bce0
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x20], eax
mov dword [ecx + 0x4c], 0
test eax, eax
jne 0x466e5e
mov edx, dword [esp + 0x28]
mov ecx, dword [edx + 0xb8]
test ecx, ecx
je 0x466e5e
mov eax, dword [edi + 0x10]
test eax, eax
je 0x466e5e
mov esi, dword [esp + 0x7c]
push esi
mov esi, dword [esp + 0x7c]
push esi
mov esi, dword [edx + 8]
mov edx, dword [edx + 0xb4]
push eax
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + 4]
shl eax, 4
mov eax, dword [eax + esi]
push eax
push 9
push edx
call ecx
add esp, 0x18
test byte [edi + 8], 1
je 0x464c74
mov eax, dword [esp + 0x24]
inc dword [eax + 0x6c]
mov esi, eax
jmp case.0x463b45.17
mov ecx, dword [esi + 0x6c]
mov eax, dword [esp + 0x28]
add dword [eax + 0x40], ecx
mov dword [eax + 0x3c], ecx
mov dword [esi + 0x6c], 0
jmp case.0x463b45.17
mov eax, dword [edi + 8]
mov ecx, dword [esp + 0x34]
mov edx, dword [edi + 4]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x34]
mov esi, dword [ecx + edx*4]
mov dword [esp + 0x78], esi
mov edx, dword [esi]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x7c], edx
call fcn.0045c110
mov dword [esp + 0x20], eax
test eax, eax
jne 0x468b6f
mov eax, dword [esp + 0x78]
cmp byte [eax + 0x17], 0
je 0x466f13
mov eax, dword [esp + 0x7c]
lea edi, [esp + 0x88]
call fcn.00425350
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x48]
mov ecx, dword [esp + 0x8c]
cdq
cmp ecx, edx
jg 0x46456d
mov ecx, dword [esp + 0x88]
jl 0x466f0a
cmp ecx, eax
ja 0x46456d
mov dword [esp + 0x80], ecx
jmp 0x466f3b
mov esi, dword [esp + 0x7c]
lea edx, [esp + 0x80]
push edx
call fcn.00425380
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x2c]
add esp, 4
cmp ecx, dword [eax + 0x48]
ja 0x46456d
xor eax, eax
mov edi, ebx
call fcn.0042da50
test eax, eax
jne 0x468a7d
mov dx, word [ebx + 0x1c]
mov ecx, dword [esp + 0x80]
mov eax, 0xbf10
and dx, ax
or dx, 0x10
mov dword [ebx + 0x18], ecx
mov word [ebx + 0x1c], dx
mov ecx, dword [esp + 0x78]
cmp byte [ecx + 0x17], 0
mov edx, dword [esp + 0x80]
je 0x466fa1
mov eax, dword [ebx + 0x14]
push 0
push eax
mov eax, dword [esp + 0x84]
push edx
push 0
push eax
call fcn.004526d0
add esp, 0x14
mov dword [esp + 0x20], eax
mov byte [ebx + 0x1f], 1
jmp 0x464c74
mov ecx, dword [ebx + 0x14]
mov eax, dword [esp + 0x7c]
push ecx
push edx
push 0
push eax
call fcn.0045b770
add esp, 0x10
mov dword [esp + 0x20], eax
mov byte [ebx + 0x1f], 1
jmp 0x464c74
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x34]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x78], eax
cmp byte [eax + 0x14], 0
je 0x466fe3
mov edx, 1
mov word [ecx + 0x1c], dx
jmp case.0x463b45.17
cmp byte [eax + 0x15], 0
je 0x467002
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x80], ecx
mov edx, dword [eax + 0x24]
mov dword [esp + 0x84], edx
jmp 0x46708a
cmp dword [eax + 0x40], 0
je 0x467045
mov ecx, dword [eax + 0x40]
mov ecx, dword [ecx]
mov dword [esp + 0x88], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x8c], ecx
mov eax, dword [eax + 0x40]
mov ecx, dword [ecx + 0x30]
lea edx, [esp + 0x80]
push edx
push eax
call ecx
mov edx, dword [esp + 0x90]
push edx
push esi
mov dword [esp + 0x30], eax
call fcn.0042ed30
add esp, 0x10
jmp 0x46708a
mov esi, eax
call fcn.0045c110
mov dword [esp + 0x20], eax
test eax, eax
jne 0x468b6f
mov eax, dword [esp + 0x78]
cmp byte [eax + 0x11], 0
je 0x467078
mov ecx, dword [eax + 8]
mov dword [esp + 0x80], ecx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x84], edx
jmp 0x46708a
mov eax, dword [eax]
lea edi, [esp + 0x80]
call fcn.00425350
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x30]
mov dword [eax], ecx
mov edx, dword [esp + 0x84]
mov dword [eax + 4], edx
jmp 0x464c74
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x34]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x78], eax
mov byte [eax + 0x14], 1
mov edx, dword [esp + 0x78]
mov byte [edx + 0x11], 0
mov eax, dword [esp + 0x78]
mov eax, dword [eax]
test eax, eax
je case.0x463b45.17
mov esi, eax
call fcn.00424bf0
jmp 0x464c74
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x34]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x78], eax
mov ecx, dword [eax]
mov dword [esp + 0x7c], ecx
test ecx, ecx
jne 0x4670fd
mov dword [esp + 0x80], 1
jmp 0x46711b
lea edi, [esp + 0x80]
mov esi, ecx
call fcn.00457a80
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x78]
mov cl, byte [esp + 0x80]
mov byte [eax + 0x14], cl
mov edx, dword [esp + 0x78]
mov byte [edx + 0x15], 0
mov eax, dword [esp + 0x78]
mov byte [eax + 0x11], 0
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0x4c], 0
mov edi, dword [edi + 8]
test edi, edi
jle case.0x463b45.17
cmp dword [esp + 0x80], 0
je case.0x463b45.17
dec edi
mov dword [esp + 0x2c], edi
jmp case.0x463b45.17
inc dword [esi + 0xb4]
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x34]
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x80], 1
mov eax, dword [ecx]
mov dword [esp + 0x7c], eax
test eax, eax
je 0x4671d6
lea edi, [esp + 0x80]
mov esi, eax
call fcn.00457a50
cmp dword [esp + 0x80], 0
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x24]
sete cl
mov byte [edx + 0x12], cl
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x78]
mov byte [eax + 0x15], 0
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0x4c], 0
mov edx, dword [esp + 0x78]
mov byte [edx + 0x11], 0
mov ecx, dword [esp + 0x78]
mov al, byte [esp + 0x80]
mov byte [ecx + 0x14], al
cmp dword [esp + 0x80], 0
je case.0x463b45.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x2c], edi
jmp case.0x463b45.17
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 0xe0]
test edx, edx
jne 0x468bb6
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x34]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x78], eax
test eax, eax
je case.0x463b45.17
mov ecx, dword [eax]
mov dword [esp + 0x7c], ecx
test ecx, ecx
jne 0x467235
mov byte [eax + 0x14], 1
jmp case.0x463b45.17
mov dword [esp + 0x80], 1
cmp byte [edi], 0x43
jne 0x467255
lea edx, [esp + 0x80]
push edx
push ecx
call fcn.0045b7b0
jmp 0x467263
lea eax, [esp + 0x80]
push eax
push ecx
call fcn.0045b910
mov ecx, dword [esp + 0x80]
mov dl, byte [esp + 0x88]
mov byte [ecx + 0x14], dl
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x80]
add esp, 8
mov dword [eax + 0x4c], 0
cmp dword [esp + 0x80], 0
jne 0x4672b3
mov eax, dword [edi + 8]
dec eax
mov dword [esp + 0x2c], eax
mov al, byte [edi + 3]
test al, al
je 0x4672b3
movzx ecx, al
inc dword [esi + ecx*4 + 0xac]
lea eax, [esi + ecx*4 + 0xac]
mov edx, dword [esp + 0x78]
mov byte [edx + 0x11], 0
jmp case.0x463b45.17
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x34]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x78], edx
mov eax, dword [edi + 8]
mov ecx, dword [edx]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov dword [esp + 0x7c], ecx
test ecx, ecx
je case.0x463b45.17
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x46730a
mov eax, ebx
call fcn.0042db70
mov dword [esp + 0x20], eax
test eax, eax
jne case.0x463b45.17
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x80], eax
mov ebx, dword [ebx + 0x14]
mov dword [esp + 0x84], ebx
test byte [edi + 3], 0x10
je 0x467329
mov ebx, dword [edx + 0x48]
jmp 0x46732b
xor ebx, ebx
mov edx, dword [edi + 0xc]
push edx
push 0
push 0
cdq
push 0x49ca47
push edx
push eax
mov eax, dword [esp + 0x9c]
push eax
push ecx
mov eax, ebx
call fcn.0045bad0
mov ecx, dword [esp + 0x98]
add esp, 0x20
mov dword [esp + 0x20], eax
mov dword [ecx + 0x4c], 0
jmp case.0x463b45.17
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x34]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x78], eax
mov ecx, dword [eax]
mov dword [esp + 0x7c], ecx
test ecx, ecx
je case.0x463b45.17
mov edx, dword [eax + 0x30]
mov dword [esp + 0x88], edx
mov ax, word [edi + 0xc]
xor edx, edx
mov word [esp + 0x8c], ax
mov word [esp + 0x8e], dx
mov edi, dword [edi + 8]
lea eax, [edi + edi*4]
lea edx, [ebx + eax*8]
lea eax, [esp + 0x80]
push eax
push 0
push 0
mov dword [esp + 0xa4], edx
push 0
lea edx, [esp + 0x98]
push edx
push ecx
call fcn.00457ac0
add esp, 0x18
mov dword [esp + 0x20], eax
test eax, eax
jne 0x4673ed
cmp dword [esp + 0x80], eax
jne 0x4673ed
mov eax, dword [esp + 0x7c]
call fcn.0045bce0
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x78]
mov dword [eax + 0x4c], 0
jmp case.0x463b45.17
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x34]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x7c], eax
mov edx, dword [eax]
mov dword [esp + 0x78], edx
mov eax, 1
mov word [ecx + 0x1c], ax
cmp dword [esp + 0x78], 0
je case.0x463b45.17
mov esi, dword [esp + 0x7c]
call fcn.0045c110
mov dword [esp + 0x20], eax
test eax, eax
jne 0x468b6f
mov ecx, dword [esp + 0x7c]
cmp byte [ecx + 0x14], al
jne 0x464c74
mov eax, dword [esp + 0x78]
lea edx, [esp + 0x80]
push edx
call fcn.0045c1b0
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
jne 0x468b6f
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x30]
mov dword [eax], ecx
mov edx, dword [esp + 0x84]
mov ecx, 4
mov dword [eax + 4], edx
mov word [eax + 0x1c], cx
jmp 0x464c74
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x34]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x78], eax
cmp dword [eax], 0
je case.0x463b45.17
mov ecx, dword [eax + 0x30]
mov dword [esp + 0x80], ecx
mov dx, word [edi + 0x10]
mov word [esp + 0x84], dx
cmp byte [edi + 3], 0
je 0x4674cc
mov ecx, 0xc
mov word [esp + 0x86], cx
jmp 0x4674d9
mov edx, 4
mov word [esp + 0x86], dx
mov edi, dword [edi + 0xc]
mov edx, dword [esp + 0x34]
lea ecx, [edi + edi*4]
lea ecx, [edx + ecx*8]
lea edx, [esp + 0x80]
push edx
lea ebx, [esp + 0x80]
mov edi, eax
mov dword [esp + 0x94], ecx
call fcn.0045c310
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x4c]
add esp, 4
cmp byte [eax], 0x51
jne 0x46751e
neg ecx
jmp 0x46751f
inc ecx
mov dword [esp + 0x7c], ecx
test ecx, ecx
jle case.0x463b45.17
mov eax, dword [eax + 8]
dec eax
mov dword [esp + 0x2c], eax
jmp case.0x463b45.17
mov eax, dword [esp + 0x28]
mov dword [esp + 0x7c], 0
mov eax, dword [eax + 0x88]
mov dword [esp + 0x80], eax
test eax, eax
je 0x46757c
cmp dword [eax + 0x44], 0xbdf20da3
jne 0x46756e
cmp byte [eax + 0x65], 2
jae 0x46756e
cmp dword [eax + 0x54], 0
jl 0x46756e
inc dword [esp + 0x7c]
mov eax, dword [eax + 8]
mov dword [esp + 0x80], eax
test eax, eax
jne 0x467555
mov edx, 1
mov word [ecx + 0x1c], dx
cmp dword [esp + 0x7c], edx
jle 0x46759c
mov dword [esp + 0x20], 6
mov byte [esi + 0x38], 2
jmp case.0x463b45.17
mov eax, dword [edi + 0xc]
mov dword [esp + 0x84], eax
mov edx, dword [edi + 4]
lea ecx, [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + edx + 4]
call fcn.00459360
mov ecx, dword [esp + 0x38]
mov ebx, eax
mov eax, 4
mov word [ecx + 0x1c], ax
mov eax, dword [esp + 0x80]
cdq
add esp, 8
mov dword [esp + 0x20], ebx
mov dword [ecx], eax
mov dword [ecx + 4], edx
test ebx, ebx
jne case.0x463b45.17
mov edx, dword [esp + 0x78]
test edx, edx
je case.0x463b45.17
mov esi, dword [esp + 0x84]
mov ecx, dword [esp + 0x28]
mov edi, dword [edi + 4]
shl esi, 4
add esi, dword [ecx + 8]
call fcn.004273f0
mov byte [esp + 0x47], 1
jmp 0x464c74
mov dword [esp + 0x78], 0
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 8]
mov ebx, dword [edi + 4]
neg edx
sbb edx, edx
lea eax, [esp + 0x78]
and edx, eax
push edx
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 8]
shl ecx, 4
mov esi, dword [ecx + eax + 4]
call fcn.00458f90
add esp, 4
cmp dword [edi + 0xc], 0
mov dword [esp + 0x20], eax
je 0x464c74
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x24]
add dword [ecx + 0x6c], eax
mov edi, dword [edi + 0xc]
test edi, edi
jle 0x464c74
mov edx, dword [esp + 0x34]
lea ecx, [edi + edi*4]
lea ecx, [edx + ecx*8]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp 0x464c74
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x78], 0
mov eax, dword [edi + 4]
shl eax, 4
add eax, dword [ecx + 8]
xor ecx, ecx
mov dword [esp + 0x80], eax
cmp byte [edi], 0x62
lea edx, [esp + 0x78]
setne cl
inc ecx
push ecx
mov dword [esp + 0x80], ecx
mov eax, dword [eax + 4]
push edx
call fcn.00454380
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x80]
cdq
add esp, 8
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x463b45.17
mov eax, dword [edi + 4]
mov ebx, dword [esp + 0x28]
push ebx
mov dword [esp + 0x7c], eax
call fcn.004248e0
mov eax, dword [esp + 0x7c]
add esp, 4
cmp dword [edi + 8], 0
jne 0x467712
mov edx, dword [ebx + 8]
mov ecx, eax
shl ecx, 4
mov ecx, dword [ecx + edx + 0xc]
test byte [ecx + 0x4a], 1
je 0x4677d4
mov ecx, str.sqlite_temp_master
cmp eax, 1
je 0x467721
mov ecx, str.sqlite_master
mov dword [esp + 0x7c], ecx
mov esi, ebx
mov dword [esp + 0x84], esi
mov edx, dword [edi + 4]
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x24]
add edx, 0x5c
mov dword [esp + 0x8c], edx
mov edx, dword [edi + 0x10]
push edx
push ecx
mov ecx, dword [esi + 8]
shl eax, 4
mov edx, dword [eax + ecx]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
call fcn.004332e0
add esp, 0x10
mov dword [esp + 0x80], eax
test eax, eax
jne 0x467777
mov dword [esp + 0x20], 7
jmp 0x4677d0
push 0
lea eax, [esp + 0x88]
push eax
mov esi, ebx
mov byte [esi + 0x7c], 1
mov ecx, dword [esp + 0x88]
push fcn.00461ce0
push ecx
push esi
mov dword [esp + 0xa4], 0
call fcn.0046a550
add esp, 0x14
mov dword [esp + 0x20], eax
test eax, eax
jne 0x4677bb
mov edx, dword [esp + 0x90]
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x80]
push eax
push esi
call fcn.00420620
add esp, 8
mov byte [esi + 0x7c], 0
mov esi, dword [esp + 0x24]
mov ecx, ebx
push ecx
call fcn.004249c0
add esp, 4
cmp dword [esp + 0x20], 7
je 0x468a81
jmp case.0x463b45.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x28]
call fcn.004358e0
mov dword [esp + 0x20], eax
jmp case.0x463b45.17
mov edx, dword [esp + 0x28]
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
push edx
call fcn.00435f60
add esp, 4
jmp case.0x463b45.17
mov eax, dword [esp + 0x28]
mov ecx, dword [edi + 0x10]
push eax
mov eax, dword [edi + 4]
call fcn.0042fdd0
add esp, 4
jmp case.0x463b45.17
mov ecx, dword [esp + 0x28]
mov eax, dword [edi + 4]
push ecx
mov ecx, dword [edi + 0x10]
call fcn.00430ee0
add esp, 4
jmp case.0x463b45.17
mov eax, dword [edi + 8]
mov esi, dword [esp + 0x28]
lea ecx, [eax*4 + 4]
mov dword [esp + 0x78], eax
call fcn.0042b020
mov dword [esp + 0x7c], eax
test eax, eax
je 0x468a7d
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x34]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dword [esp + 0x8c], ecx
mov ecx, dword [edi + 4]
lea ecx, [ecx + ecx*4]
lea esi, [edx + ecx*8]
xor ecx, ecx
cmp dword [esp + 0x78], ecx
mov dword [esp + 0x80], ecx
jle 0x4678d2
jmp 0x4678a0
lea edx, [ecx + ecx*4]
lea ecx, [esi + edx*8]
call fcn.004257b0
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
mov dword [edx + ecx*4], eax
mov ecx, dword [esp + 0x80]
inc ecx
cmp ecx, dword [esp + 0x78]
mov dword [esp + 0x80], ecx
jl 0x4678a0
mov eax, dword [esp + 0x7c]
mov dword [eax + ecx*4], 0
mov ecx, dword [esp + 0x8c]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x7c]
lea eax, [esp + 0x84]
push eax
mov eax, dword [esp + 0x7c]
push edx
movzx edx, byte [edi + 3]
mov edi, dword [esp + 0x30]
push eax
mov eax, dword [edi + 8]
shl edx, 4
mov edx, dword [edx + eax + 4]
call fcn.00454e90
mov ecx, dword [esp + 0x88]
push ecx
push edi
mov dword [esp + 0x9c], eax
call fcn.00420620
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0xa0]
cdq
add esp, 0x14
sub dword [ecx], eax
mov eax, dword [esp + 0x8c]
sbb dword [eax + 4], edx
call fcn.004259c0
cmp dword [esp + 0x84], 0
je 0x46796f
mov ebx, dword [esp + 0x88]
test ebx, ebx
je 0x468a7d
push 1
push 0xffffffffffffffff
mov eax, fcn.00420580
mov ecx, esi
call fcn.0043c7a0
add esp, 8
movzx ecx, byte [esp + 0x38]
mov eax, esi
call fcn.0043c6e0
jmp 0x464c74
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 0x1c], 0x20
lea eax, [ebx + edx*8]
lea ecx, [edi + edi*4]
mov dword [esp + 0x3c], eax
lea ebx, [ebx + ecx*8]
mov edi, eax
jne 0x4679ae
call fcn.0042dda0
test byte [edi + 0x1c], 0x20
je 0x468a81
mov edx, dword [ebx + 4]
mov eax, dword [ebx]
mov edi, dword [edi]
push edx
push eax
call fcn.0042c140
add esp, 8
jmp case.0x463b45.17
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 0xe0]
test edx, edx
jne 0x468bb6
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 0x20
lea ebx, [ebx + eax*8]
je 0x467a11
mov eax, dword [ebx]
lea esi, [esp + 0x78]
call fcn.004236a0
test eax, eax
je 0x467a11
mov ecx, dword [esp + 0x7c]
mov edi, dword [edi + 0xc]
mov edx, dword [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x38]
lea eax, [edi + edi*4]
push edx
lea esi, [ecx + eax*8]
jmp 0x464c6c
mov esi, ebx
call fcn.004259c0
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x2c], edi
jmp 0x464c74
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0xc]
lea ecx, [ebx + edx*8]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov eax, dword [edi + 0x10]
mov bl, 0x20
mov dword [esp + 0x78], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
test byte [ecx + 0x1c], bl
jne 0x467a65
mov edi, ecx
call fcn.0042dda0
test byte [edi + 0x1c], bl
je 0x468a81
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0x48]
test eax, eax
je 0x467ab1
jl 0x467a70
and eax, 0xf
jmp 0x467a75
mov eax, 0xff
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
push edx
mov edx, dword [esp + 0x40]
mov bl, al
mov eax, dword [edx]
push ecx
call fcn.00423720
add esp, 8
mov dword [esp + 0x7c], eax
test eax, eax
je 0x467aa5
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x2c], edi
jmp case.0x463b45.17
mov eax, dword [esp + 0x78]
test eax, eax
jl case.0x463b45.17
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [esp + 0x3c]
mov edi, dword [eax]
push ecx
push edx
call fcn.0042c140
add esp, 8
jmp case.0x463b45.17
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x90], ecx
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
lea ebx, [ebx + edx*8]
mov dword [esp + 0x80], ebx
cmp byte [edi + 3], 0
je 0x467b27
mov eax, dword [esi + 0xdc]
mov edx, dword [ecx + 0x10]
mov dword [esp + 0x94], edx
mov dword [esp + 0x8c], eax
test eax, eax
je 0x467b27
lea ebx, [ebx]
cmp dword [eax + 0x20], edx
je case.0x463b45.17
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x8c], eax
test eax, eax
jne 0x467b10
mov eax, dword [esi + 0xe4]
mov edx, dword [esp + 0x28]
cmp eax, dword [edx + 0x70]
jl 0x467b55
push str.too_many_levels_of_trigger_recursion
lea edi, [esi + 0x5c]
mov eax, edx
mov dword [esp + 0x24], 1
call fcn.0043ac00
add esp, 4
jmp case.0x463b45.17
test byte [ebx + 0x1c], 0x40
jne 0x467cc6
mov eax, dword [ecx + 8]
add eax, dword [ecx + 0xc]
mov ebx, edx
mov dword [esp + 0x78], eax
mov ecx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*2]
lea edi, [edi*4 + 0x40]
mov eax, ebx
mov dword [esp + 0x7c], edi
call fcn.004323d0
mov dword [esp + 0x8c], eax
test eax, eax
je 0x468a81
mov edx, dword [esp + 0x80]
push edx
call fcn.0042dc90
mov ecx, dword [esp + 0x84]
mov eax, 0x40
mov word [ecx + 0x1c], ax
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x84]
mov dword [eax], edx
mov ecx, dword [esp + 0x90]
mov dword [ecx], esi
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x7c]
mov dword [edx + 0x24], eax
mov ecx, dword [esp + 0x94]
mov edx, dword [ecx + 0xc]
mov eax, dword [esp + 0x90]
mov dword [eax + 0x28], edx
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x30]
mov dword [ecx + 4], edx
mov eax, dword [esi + 0x4c]
mov ecx, dword [esp + 0x90]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x90]
mov edx, dword [esi + 0x48]
mov dword [eax + 0x14], edx
mov ecx, dword [esi + 0x34]
mov edx, dword [esp + 0x90]
mov dword [edx + 0x18], ecx
mov ax, word [esi + 0x32]
mov ecx, dword [esp + 0x90]
mov word [ecx + 0x1c], ax
mov edx, dword [esi + 0x14]
mov eax, dword [esp + 0x90]
mov dword [eax + 8], edx
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x90]
mov dword [edx + 0xc], ecx
mov eax, dword [esp + 0x94]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x90]
mov dword [edx + 0x20], ecx
mov ecx, dword [esp + 0x90]
mov eax, dword [ecx + 0x24]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8 + 0x40]
lea eax, [ecx + 0x40]
add esp, 4
mov dword [esp + 0x88], edx
mov dword [esp + 0x84], eax
cmp eax, edx
je 0x467cd1
jmp 0x467c90
mov ecx, 1
mov word [eax + 0x1c], cx
mov edx, dword [esp + 0x84]
mov dword [edx + 0x10], ebx
mov eax, dword [esp + 0x84]
add eax, 0x28
mov dword [esp + 0x84], eax
cmp eax, dword [esp + 0x88]
jne 0x467c90
mov ecx, dword [esp + 0x8c]
jmp 0x467cd1
mov ecx, dword [ebx]
mov dword [esp + 0x8c], ecx
mov ebx, edx
inc dword [esi + 0xe4]
mov eax, dword [esi + 0xdc]
mov dword [ecx + 0x3c], eax
mov ecx, dword [ebx + 0x30]
mov edx, dword [esp + 0x8c]
mov dword [edx + 0x30], ecx
mov eax, dword [ebx + 0x34]
mov ecx, dword [esp + 0x8c]
mov dword [ecx + 0x34], eax
mov edx, dword [esi + 0x6c]
mov eax, dword [esp + 0x8c]
mov dword [eax + 0x38], edx
mov eax, dword [esp + 0x8c]
lea ecx, [eax + 0x18]
mov dword [esi + 0xdc], eax
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x6c], 0
mov edx, dword [eax + 0x24]
mov dword [esi + 0x48], edx
mov ax, word [eax + 0x28]
mov word [esi + 0x32], ax
mov eax, edx
inc eax
lea edx, [eax + eax*4]
lea eax, [ecx + edx*8]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x90]
mov dword [esi + 0x34], eax
mov eax, dword [ecx]
mov dword [esi + 0x14], eax
mov ecx, dword [ecx + 4]
mov dword [esp + 0x54], eax
mov dword [esi + 0xc], ecx
mov dword [esp + 0x2c], 0xffffffff
jmp case.0x463b45.17
mov ecx, dword [esi + 0xdc]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x78], ecx
mov eax, dword [ecx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 8]
mov eax, dword [eax + edx*4 + 4]
add eax, dword [edi + 4]
push 0x1000
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0x10]
lea eax, [eax + edx*8]
push eax
mov dword [esp + 0x84], eax
call fcn.0042de40
add esp, 8
jmp case.0x463b45.17
cmp dword [edi + 4], 0
mov eax, dword [edi + 8]
cdq
je 0x467dc2
mov ecx, dword [esp + 0x28]
add dword [ecx + 0x1e0], eax
adc dword [ecx + 0x1e4], edx
jmp case.0x463b45.17
add dword [esi + 0xc8], eax
adc dword [esi + 0xcc], edx
jmp case.0x463b45.17
cmp dword [edi + 4], 0
je 0x467dfc
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0x1e0]
or ecx, dword [eax + 0x1e4]
jne case.0x463b45.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x2c], edi
jmp case.0x463b45.17
mov edx, dword [esi + 0xc8]
or edx, dword [esi + 0xcc]
jne case.0x463b45.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x2c], edi
jmp case.0x463b45.17
mov esi, dword [esi + 0xdc]
test esi, esi
je 0x467e4d
mov ecx, esi
mov dword [esp + 0x7c], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
je 0x467e3f
mov ecx, eax
mov dword [esp + 0x7c], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
jne 0x467e32
mov eax, dword [edi + 4]
mov ecx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
jmp 0x467e56
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
lea esi, [ebx + edx*8]
mov dword [esp + 0x78], esi
call fcn.004258c0
mov edi, dword [edi + 8]
mov ecx, dword [esp + 0x34]
lea eax, [edi + edi*4]
lea esi, [ecx + eax*8]
call fcn.004258c0
mov ecx, dword [esp + 0x78]
mov eax, dword [esi]
mov esi, dword [esi + 4]
mov edx, dword [ecx + 4]
cmp edx, esi
jg 0x464c74
jl 0x467e91
mov edx, dword [ecx]
cmp edx, eax
jae 0x464c74
mov dword [ecx], eax
mov eax, dword [esp + 0x78]
mov dword [eax + 4], esi
jmp 0x464c74
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
cmp dword [ebx + eax*8 + 4], 0
jl case.0x463b45.17
jg 0x467ebc
cmp dword [ebx + eax*8], 0
jbe case.0x463b45.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x2c], edi
jmp case.0x463b45.17
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
cmp dword [ebx + eax*8 + 4], 0
jg case.0x463b45.17
jl 0x467ee6
cmp dword [ebx + eax*8], 0
jae case.0x463b45.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x2c], edi
jmp case.0x463b45.17
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0xc]
lea ecx, [ebx + ecx*8]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
mov edx, dword [ecx]
or edx, dword [ecx + 4]
jne case.0x463b45.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x2c], edi
jmp case.0x463b45.17
movzx ecx, byte [edi + 3]
mov edx, dword [esi + 0x24]
mov dword [esp + 0x78], ecx
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
xor eax, eax
mov dword [esp + 0x84], ebx
mov dword [esp + 0xc8], edx
mov dword [esp + 0x7c], eax
test ecx, ecx
jle 0x467f7f
mov ecx, dword [esp + 0xc8]
mov dword [ecx + eax*4], ebx
mov ecx, dword [esp + 0x84]
call fcn.00426530
mov eax, dword [esp + 0x7c]
mov ebx, dword [esp + 0x84]
inc eax
add ebx, 0x28
cmp eax, dword [esp + 0x78]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x84], ebx
jl 0x467f49
mov edx, dword [edi + 0x10]
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov dword [esp + 0x88], edx
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
xor ebx, ebx
mov dword [esp + 0x80], eax
mov dword [esp + 0xb8], eax
inc dword [eax + 0x18]
mov eax, dword [esp + 0x88]
mov edx, 1
mov word [esp + 0xac], dx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xa0], esi
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
test byte [eax + 3], 8
je 0x467ffb
mov ecx, dword [edi - 4]
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0xc8]
mov ecx, dword [esp + 0x78]
mov eax, dword [eax + 0x10]
push edx
push ecx
lea edx, [esp + 0x90]
push edx
call eax
add esp, 0xc
cmp dword [esp + 0xbc], ebx
je 0x468051
mov bl, 1
lea edi, [esp + 0x90]
call fcn.0043c980
mov edi, dword [esp + 0x24]
push eax
push 0x49d810
add edi, 0x5c
mov eax, esi
call fcn.0043ac00
mov ecx, dword [esp + 0xc4]
add esp, 8
mov dword [esp + 0x20], ecx
lea edx, [esp + 0x90]
push edx
call fcn.0042dc90
add esp, 4
jmp 0x464c74
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov dword [esp + 0x78], ecx
mov eax, dword [edi + 0x10]
call fcn.004256e0
mov dword [esp + 0x20], eax
test eax, eax
je 0x4680a3
mov edi, dword [esp + 0x78]
mov bl, 1
call fcn.0043c980
push eax
mov eax, dword [esp + 0x2c]
push 0x49d810
lea edi, [esi + 0x5c]
call fcn.0043ac00
add esp, 8
movzx ecx, byte [esp + 0x38]
mov eax, dword [esp + 0x78]
call fcn.0043c6e0
mov ecx, dword [esp + 0x78]
call fcn.00425a10
test eax, eax
jne 0x46456d
jmp case.0x463b45.17
mov ecx, dword [edi + 4]
mov edi, dword [esp + 0x28]
push ecx
call fcn.0045acc0
add esp, 4
mov dword [esp + 0x20], eax
jmp case.0x463b45.17
mov eax, dword [esp + 0x5c]
cmp dword [eax], 0
mov edx, dword [edi + 0xc]
mov dword [esp + 0x80], edx
jne 0x468113
mov ecx, dword [edi + 4]
mov esi, dword [esp + 0x24]
call fcn.00425c30
mov ebx, dword [esp + 0x5c]
call fcn.00424a70
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x34]
mov ecx, dword [edi + 4]
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 8]
shl ecx, 4
mov eax, dword [ecx + eax + 4]
mov dword [esp + 0x78], eax
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
mov dword [esp + 0x7c], eax
movzx ecx, byte [eax + 5]
mov dword [esp + 0x84], ecx
cmp edx, 0xffffffff
jne 0x46814a
mov edx, ecx
mov dword [esp + 0x80], edx
cmp byte [eax + 0xf], 3
jae 0x46816d
mov ecx, dword [eax + 0x40]
cmp dword [ecx], 0
je 0x468176
cmp dword [eax + 0x4c], 0
jl 0x468176
jg 0x468166
cmp dword [eax + 0x48], 0
jbe 0x468176
mov ecx, dword [esp + 0x84]
mov edx, ecx
mov dword [esp + 0x80], edx
mov eax, dword [eax + 0x90]
mov dword [esp + 0x88], eax
cmp edx, 5
jne 0x468200
cmp byte [eax], 0
je 0x46819e
mov eax, dword [esp + 0x7c]
call fcn.00424000
test eax, eax
jne 0x468200
mov edx, dword [esp + 0x84]
mov dword [esp + 0x80], edx
cmp dword [esp + 0x20], 0
je 0x4681c1
mov edx, dword [esp + 0x84]
mov dword [esp + 0x80], edx
mov eax, dword [esp + 0x7c]
mov ecx, edx
call fcn.00456240
mov dword [esp + 0x80], eax
mov edi, dword [edi + 8]
lea edx, [edi + edi*4]
lea edx, [ebx + edx*8]
mov eax, 0xa02
mov word [edx + 0x1c], ax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x30], edx
cmp eax, 6
jne 0x4682cc
xor ecx, ecx
jmp 0x4682d3
mov eax, dword [esp + 0x84]
cmp edx, eax
je 0x4681ac
cmp eax, 5
je 0x468215
cmp edx, 5
jne 0x4681ac
mov ecx, dword [esp + 0x28]
cmp byte [ecx + 0x1c], 0
je 0x46829d
cmp dword [ecx + 0x8c], 1
jg 0x46829d
cmp eax, 5
jne 0x468253
mov eax, dword [esp + 0x7c]
call fcn.0045ae60
mov dword [esp + 0x20], eax
test eax, eax
jne 0x4681b3
mov ecx, dword [esp + 0x80]
jmp 0x46825b
cmp eax, 4
jne 0x46826b
lea ecx, [eax - 2]
mov eax, dword [esp + 0x7c]
call fcn.00456240
mov edx, dword [esp + 0x80]
cmp dword [esp + 0x20], 0
jne 0x4681b3
mov ecx, dword [esp + 0x78]
xor eax, eax
cmp edx, 5
sete al
inc eax
push eax
push ecx
call fcn.004595f0
mov edx, dword [esp + 0x88]
add esp, 8
mov dword [esp + 0x20], eax
jmp 0x4681ac
mov dword [esp + 0x20], 1
mov eax, str.into
cmp edx, 5
je 0x4682b4
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
lea edi, [esi + 0x5c]
mov eax, ecx
call fcn.0043ac00
add esp, 8
jmp case.0x463b45.17
mov ecx, dword [eax*4 + 0x494cf0]
mov dword [edx + 0x14], ecx
call fcn.00420830
movzx ecx, byte [esp + 0x38]
mov dword [edx + 0x18], eax
mov eax, edx
mov byte [edx + 0x1f], 1
call fcn.0043c6e0
jmp case.0x463b45.17
mov ecx, dword [esp + 0x28]
push ecx
lea eax, [esi + 0x5c]
call fcn.004602f0
add esp, 4
mov dword [esp + 0x20], eax
jmp case.0x463b45.17
mov edx, dword [edi + 4]
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 8]
shl edx, 4
mov eax, dword [edx + ecx + 4]
mov dword [esp + 0x78], eax
call fcn.00457110
mov dword [esp + 0x20], eax
cmp eax, 0x65
jne case.0x463b45.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x20], 0
jmp case.0x463b45.17
cmp dword [edi + 4], 0
jne 0x46835c
mov eax, dword [esp + 0x28]
call fcn.004260a0
jmp case.0x463b45.17
mov byte [esi + 0x62], 1
jmp case.0x463b45.17
mov cl, byte [edi + 0xc]
test cl, cl
jne 0x46837d
mov edx, dword [esp + 0x28]
test dword [edx + 0xc], 0x80000
jne case.0x463b45.17
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
push edx
mov edx, dword [esp + 0x2c]
mov edx, dword [edx + 8]
shl eax, 4
mov esi, dword [eax + edx + 4]
call fcn.0042d9e0
add esp, 4
mov dword [esp + 0x20], eax
cmp al, 6
jne 0x464c74
mov eax, dword [edi + 0x10]
mov edi, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x2c]
push str.database_table_is_locked:__s
add edi, 0x5c
call fcn.0043ac00
jmp 0x464c71
mov edi, dword [edi + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, edi
mov dword [esp + 0x78], edi
call fcn.004311d0
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x78]
test eax, eax
je case.0x463b45.17
mov ecx, dword [eax + 8]
push ecx
push esi
call fcn.0042ed30
add esp, 8
jmp case.0x463b45.17
mov eax, dword [edi + 0x10]
mov ecx, dword [esp + 0x28]
lea edx, [esi + 0x5c]
push edx
push eax
mov eax, dword [edi + 4]
call fcn.00439b70
add esp, 8
mov dword [esp + 0x20], eax
jmp case.0x463b45.17
mov byte [esi + 0x65], 2
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
push ecx
mov ecx, dword [esp + 0x2c]
call fcn.00428990
add esp, 4
mov dword [esp + 0x20], eax
mov byte [esi + 0x65], 0
jmp case.0x463b45.17
xor eax, eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov edx, dword [edi + 0x10]
mov eax, dword [edx + 8]
mov dword [esp + 0x80], eax
mov ecx, dword [eax]
lea edx, [esp + 0x7c]
push edx
mov dword [esp + 0x88], ecx
push eax
mov eax, dword [ecx + 0x18]
call eax
mov ecx, dword [esp + 0x88]
push ecx
mov ebx, eax
push esi
mov dword [esp + 0x30], ebx
call fcn.0042ed30
add esp, 0x10
test ebx, ebx
jne case.0x463b45.17
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
push ebx
push 0xffffffffffffffff
mov dword [eax], edx
mov ecx, dword [edi + 4]
push ebx
push ecx
mov ebx, esi
call fcn.0045c3f0
add esp, 0x10
mov dword [esp + 0x78], eax
test eax, eax
je 0x4684c8
mov edx, dword [esp + 0x7c]
mov dword [eax + 0x40], edx
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [esp + 0x78]
mov dword [eax + 0x44], edx
jmp case.0x463b45.17
mov ecx, dword [esp + 0x28]
mov byte [ecx + 0x1e], 1
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x84]
mov ecx, dword [eax + 0x1c]
push edx
call ecx
add esp, 4
jmp case.0x463b45.17
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x34]
lea eax, [eax + edx*8]
mov edx, dword [esi + 0x34]
mov esi, dword [esi + 0x24]
mov dword [esp + 0x84], eax
lea ebx, [eax + 0x28]
mov dword [esp + 0x88], ebx
mov ecx, dword [edi + 4]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x94], ecx
mov edx, dword [ecx + 0x40]
mov dword [esp + 0x8c], edx
mov ecx, dword [edx]
mov dword [esp + 0x90], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x80], ecx
mov ecx, dword [ebx]
mov dword [esp + 0x78], ecx
mov eax, dword [eax]
mov dword [esp + 0x7c], eax
xor eax, eax
mov dword [esp + 0x98], eax
mov dword [esp + 0xa0], esi
mov dword [esp + 0x9c], eax
test ecx, ecx
jle 0x4685ac
jmp 0x468567
mov ebx, dword [esp + 0x88]
lea ecx, [eax + eax*4 + 5]
lea edx, [ebx + ecx*8]
mov ecx, dword [esp + 0xa0]
mov dword [ecx + eax*4], edx
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax + edx*4]
call fcn.00426530
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x78]
inc eax
cmp eax, ecx
mov dword [esp + 0x9c], eax
jl 0x468560
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0xa0]
mov esi, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x80]
push ecx
mov byte [esi + 0x65], 1
mov ecx, dword [edi + 0x10]
push ecx
mov ecx, dword [esp + 0x8c]
push eax
push edx
mov edx, dword [ecx + 0x20]
call edx
mov ebx, eax
mov eax, dword [esp + 0xa4]
push eax
push esi
mov dword [esp + 0x3c], ebx
mov byte [esi + 0x65], 0
call fcn.0042ed30
add esp, 0x1c
test ebx, ebx
jne 0x468613
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x80]
mov eax, dword [edx + 0x28]
push ecx
call eax
add esp, 4
mov dword [esp + 0x98], eax
cmp dword [esp + 0x98], 0
je 0x468625
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x2c], edi
mov ecx, dword [esp + 0x94]
mov byte [ecx + 0x14], 0
jmp case.0x463b45.17
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x34]
mov ecx, dword [eax + edx*4]
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
lea eax, [ebx + edx*8]
mov dword [esp + 0x80], eax
cmp byte [ecx + 0x14], 0
mov dword [esp + 0x40], ecx
je 0x468664
mov esi, eax
call fcn.004259c0
jmp 0x464c74
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x40]
mov eax, dword [ecx]
mov dword [esp + 0x78], eax
mov edx, dword [eax]
push 0x40
lea eax, [esp + 0x8c]
push 0
push eax
mov dword [esp + 0x88], edx
call fcn.0047d730
mov ebx, dword [esp + 0x8c]
lea eax, [esp + 0x9c]
call fcn.0042de90
mov ecx, dword [esp + 0xb8]
and ecx, 0xbf01
or ecx, 1
mov word [esp + 0xb8], cx
mov edx, dword [edi + 8]
mov ecx, dword [esp + 0x4c]
push edx
mov edx, dword [ecx + 0x40]
lea eax, [esp + 0x98]
push eax
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + 0x2c]
push edx
call ecx
mov edx, dword [esp + 0x90]
push edx
push esi
mov dword [esp + 0x40], eax
call fcn.0042ed30
mov eax, dword [esp + 0xdc]
add esp, 0x20
test eax, eax
je 0x4686fa
mov dword [esp + 0x20], eax
movzx ecx, byte [esp + 0x38]
lea eax, [esp + 0x90]
call fcn.0043c6e0
mov eax, dword [esp + 0x80]
lea ebx, [esp + 0x90]
call fcn.0042de90
mov ecx, dword [esp + 0x80]
call fcn.00425a10
test eax, eax
jne 0x46456d
jmp case.0x463b45.17
mov ecx, dword [esi + 0x34]
mov dword [esp + 0x80], 0
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x84], eax
cmp byte [eax + 0x14], 0
jne case.0x463b45.17
mov edx, dword [eax + 0x40]
mov ecx, dword [edx]
mov dword [esp + 0x78], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x7c], ecx
mov byte [esi + 0x65], 1
mov eax, dword [eax + 0x40]
mov ecx, dword [ecx + 0x24]
push eax
call ecx
mov edx, dword [esp + 0x7c]
push edx
mov ebx, eax
push esi
mov dword [esp + 0x2c], ebx
mov byte [esi + 0x65], 0
call fcn.0042ed30
add esp, 0xc
test ebx, ebx
jne 0x4687b2
mov eax, dword [esp + 0x84]
mov ecx, dword [eax + 0x40]
mov edx, dword [esp + 0x7c]
mov eax, dword [edx + 0x28]
push ecx
call eax
add esp, 4
mov dword [esp + 0x80], eax
cmp dword [esp + 0x80], 0
jne case.0x463b45.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x2c], edi
jmp case.0x463b45.17
mov ecx, dword [edi + 0x10]
mov eax, dword [ecx + 8]
mov dword [esp + 0x78], eax
mov edi, dword [edi + 4]
lea edx, [edi + edi*4]
lea ebx, [ebx + edx*8]
mov dword [esp + 0x7c], ebx
mov edx, dword [ebx + 0x14]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x4c]
call eax
mov ecx, dword [esp + 0x80]
push ecx
push esi
mov dword [esp + 0x30], eax
call fcn.0042ed30
add esp, 0x10
mov byte [esi + 0x62], 0
jmp case.0x463b45.17
mov edx, dword [edi + 0x10]
mov eax, dword [edx + 8]
mov dword [esp + 0x78], eax
mov edx, dword [eax]
mov dword [esp + 0x7c], edx
mov eax, dword [edi + 8]
mov dword [esp + 0x80], eax
cmp dword [edx + 0x34], 0
je case.0x463b45.17
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x90], ecx
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea ebx, [ebx + ecx*8]
mov dword [esp + 0x94], ebx
mov dword [esp + 0x84], 0
test eax, eax
jle 0x4688ae
jmp 0x468860
mov ecx, ebx
call fcn.00426530
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x90]
mov dword [ecx + eax*4], edx
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x94]
mov eax, dword [esp + 0x80]
inc ecx
add ebx, 0x28
cmp ecx, eax
mov dword [esp + 0x94], ebx
mov dword [esp + 0x84], ecx
jl 0x468860
mov edx, dword [esp + 0x7c]
lea ecx, [esp + 0x88]
push ecx
mov ecx, dword [esp + 0x94]
push ecx
mov ecx, dword [edx + 0x34]
push eax
mov eax, dword [esp + 0x84]
push eax
call ecx
mov edx, dword [esp + 0x88]
push edx
mov ebx, eax
push esi
mov dword [esp + 0x38], ebx
call fcn.0042ed30
add esp, 0x18
test ebx, ebx
jne 0x468904
cmp dword [edi + 4], ebx
je 0x468904
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x28]
mov dword [eax + 0x30], ecx
mov edx, dword [esp + 0x8c]
mov dword [eax + 0x34], edx
inc dword [esi + 0x6c]
jmp case.0x463b45.17
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x28]
mov edx, dword [edx + 8]
shl eax, 4
mov eax, dword [eax + edx + 4]
mov edx, dword [eax + 4]
mov eax, dword [edx + 0x30]
mov dword [ecx], eax
mov dword [ecx + 4], 0
jmp case.0x463b45.17
mov ecx, dword [edi + 4]
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 8]
mov edi, dword [edi + 0xc]
shl ecx, 4
mov ecx, dword [ecx + eax + 4]
xor eax, eax
test edi, edi
je 0x468957
mov edx, dword [ecx + 4]
mov eax, dword [edx + 0x30]
cmp eax, edi
jae 0x468957
mov eax, edi
call fcn.004250b0
mov ecx, dword [esp + 0x30]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x463b45.17
mov edi, dword [edi + 0x10]
mov ecx, edi
test edi, edi
jne 0x46897a
mov ecx, dword [esi + 0xbc]
mov dword [esp + 0x78], ecx
test ecx, ecx
je case.0x463b45.17
mov eax, dword [esp + 0x28]
cmp dword [eax + 0x94], 0
je case.0x463b45.17
push esi
call fcn.0043d060
mov edi, dword [esp + 0x2c]
mov ecx, dword [edi + 0x98]
mov edx, dword [edi + 0x94]
mov ebx, eax
push ebx
push ecx
call edx
push ebx
push edi
call fcn.00420620
add esp, 0x14
jmp case.0x463b45.17
mov dword [esp + 0x20], 9
jmp 0x46458d
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x2c]
mov dword [esi + 0x58], eax
mov cl, byte [edi + 8]
mov byte [esi + 0x38], cl
mov dword [esi + 0x54], edx
mov eax, dword [edi + 0x10]
test eax, eax
je 0x468a22
push eax
mov eax, dword [esp + 0x2c]
push 0x49d810
lea edi, [esi + 0x5c]
call fcn.0043ac00
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x10]
mov edx, dword [esi + 0xbc]
push ecx
mov ecx, dword [esp + 0x38]
push edx
mov edx, dword [eax + 4]
push ecx
push str.abort_at__d_in___s_:__s
push edx
call fcn.00433500
add esp, 0x1c
jmp 0x468a45
cmp dword [esi + 0x58], 0
je 0x468a45
mov eax, dword [esi + 0xbc]
mov ecx, dword [esp + 0x2c]
mov edx, dword [edi + 4]
push eax
push ecx
push str.constraint_failed_at__d_in___s_
push edx
call fcn.00433500
add esp, 0x10
push esi
call fcn.0045d880
mov edi, 5
add esp, 4
cmp eax, edi
je 0x468ac0
mov edi, dword [esi + 0x58]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x4645e6
lea ecx, [esp + 0x88]
push ecx
call fcn.0042dc90
add esp, 4
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
push 0x493604
lea edi, [esi + 0x5c]
mov byte [eax + 0x1e], 1
call fcn.0043ac00
mov dword [esp + 0x24], 7
jmp 0x46458a
mov dword [esp + 0x20], 0x14
jmp 0x468b6f
mov edx, dword [esp + 0x2c]
mov dword [esi + 0x54], edx
mov byte [edi + 0x1c], 0
mov edi, 5
mov dword [esi + 0x58], edi
jmp 0x4645e6
test edi, edi
je 0x468afa
mov esi, dword [esp + 0x28]
mov eax, esi
call fcn.0045abf0
mov byte [esi + 0x1c], 1
mov esi, dword [esp + 0x28]
call fcn.004298d0
mov eax, dword [esp + 0x24]
mov edi, dword [eax + 0x58]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x4645e6
push 1
mov ecx, esi
call fcn.0043cde0
mov edi, eax
add esp, 4
test edi, edi
jne 0x4645e6
mov al, byte [esp + 0x78]
mov edi, dword [esp + 0x28]
push esi
mov byte [edi + 0x1c], al
call fcn.0045d880
add esp, 4
cmp eax, 5
jne 0x468adb
mov ecx, dword [esp + 0x2c]
mov dl, 1
sub dl, byte [esp + 0x78]
mov dword [esi + 0x54], ecx
mov byte [edi + 0x1c], dl
mov edi, eax
mov dword [esi + 0x58], edi
jmp 0x4645e6
mov ecx, dword [esp + 0x2c]
mov edi, 5
mov dword [esi + 0x54], ecx
mov dword [esi + 0x58], edi
jmp 0x4645e6
mov eax, 0xf759
call fcn.0043a670
mov dword [esp + 0x20], eax
jmp 0x468b6f
mov dword [esp + 0x20], 0xd
mov ecx, dword [esp + 0x28]
cmp byte [ecx + 0x1e], 0
je 0x468b83
mov dword [esp + 0x20], 7
jmp 0x468b91
cmp dword [esp + 0x20], 0xc0a
je 0x46458d
mov eax, dword [esp + 0x20]
call fcn.00429950
mov edi, dword [esp + 0x24]
push eax
push 0x49d810
add edi, 0x5c
mov eax, ecx
call fcn.0043ac00
add esp, 8
jmp 0x46458d
mov eax, 9
mov dword [esp + 0x20], eax
mov dword [esi + 0x58], eax
mov eax, dword [str.interrupted]
test eax, eax
jne 0x468bd0
mov eax, str.unknown_error
push eax
mov eax, dword [esp + 0x2c]
push 0x49d810
lea edi, [esi + 0x5c]
call fcn.0043ac00
add esp, 8
jmp 0x46458d