Function at 0x464f50
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 [0x4b0650]
xor eax, esp
mov dword [esp + 0x130], eax
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 4]
push edi
mov edi, dword [esi]
mov ecx, dword [edi + 8]
mov edx, dword [ecx + 0xc]
mov ecx, dword [esi + 8]
xor ebx, ebx
mov dword [esp + 0x50], eax
mov al, byte [edx + 0x4d]
mov edx, dword [edi + 0x30]
mov byte [esp + 0x34], al
mov eax, dword [edi + 0x34]
push esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], edi
mov byte [esp + 0x43], bl
mov dword [esp + 0x50], ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], eax
call fcn.00432bd0
add esp, 4
cmp dword [esi + 0x5c], 7
je 0x4653df
xor eax, eax
mov dword [esi + 0x5c], eax
mov dword [esi + 0x14], eax
mov ecx, dword [edi + 0xe0]
mov dword [edi + 0x1b4], eax
test ecx, ecx
jne 0x46a38d
xor edx, edx
cmp dword [edi + 0x114], eax
mov eax, dword [esi + 0x58]
setne dl
mov dword [esp + 0x28], eax
mov dword [esp + 0x58], edx
cmp byte [edi + 0x1e], 0
jne 0x4653df
cmp dword [esp + 0x58], 0
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x50]
lea ecx, [eax + eax*4]
lea edi, [edx + ecx*4]
mov dword [esp + 0x30], edi
je 0x46505a
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x11c]
cmp ecx, dword [esp + 0x4c]
jne 0x465056
mov edx, dword [eax + 0x118]
mov eax, dword [eax + 0x114]
push edx
call eax
add esp, 4
test eax, eax
jne 0x46a1b3
mov dword [esp + 0x4c], eax
inc dword [esp + 0x4c]
test byte [edi + 2], 2
je 0x465090
mov eax, dword [edi + 8]
mov edx, dword [esp + 0x24]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
mov eax, 0x2460
mov dword [esp + 0x2c], esi
test word [esi + 0x1c], ax
je 0x465083
mov eax, esi
call fcn.00439cd0
mov ebx, dword [esp + 0x2c]
mov ecx, 4
mov word [esi + 0x1c], cx
movzx eax, byte [edi]
dec eax
cmp eax, 0x93
ja case.0x46509f.17
jmp dword [eax*4 + 0x46a3b8]
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0xe0]
test eax, eax
jne 0x46a389
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x46509f.17
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x24]
lea ecx, [eax + eax*4]
lea ecx, [edx + ecx*8]
mov eax, 4
mov word [ecx + 0x1c], ax
mov eax, dword [esp + 0x28]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov ecx, dword [edi + 8]
dec ecx
mov dword [esp + 0x28], ecx
jmp case.0x46509f.17
mov edi, dword [edi + 4]
mov eax, dword [esp + 0x24]
lea edx, [edi + edi*4]
mov ecx, dword [eax + edx*8 + 0x10]
mov dword [esp + 0x28], ecx
jmp case.0x46509f.17
mov edi, dword [edi + 4]
mov eax, dword [esp + 0x24]
lea edx, [edi + edi*4]
lea ecx, [eax + edx*8]
mov eax, dword [ecx + 0x10]
mov edx, 4
mov word [ecx + 0x1c], dx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x28]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x28], ecx
jmp case.0x46509f.17
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x24]
test byte [eax + edx*8 + 0x1c], 1
je case.0x46509f.17
cmp dword [edi + 4], 0
mov esi, dword [esp + 0x18]
jne 0x46a1c0
mov edx, dword [esi + 0xa8]
test edx, edx
je 0x46a1c0
mov ecx, dword [edx + 0x3c]
mov ebx, dword [esp + 0x20]
dec dword [esi + 0xb0]
mov dword [esi + 0xa8], ecx
mov ecx, dword [esi + 0x6c]
mov eax, ebx
call fcn.00433270
mov eax, edx
call fcn.00432ce0
cmp dword [edi + 8], 4
mov edx, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], ecx
jne 0x4651bb
lea edx, [eax + eax*4]
mov eax, dword [esi + 4]
mov ecx, dword [eax + edx*4 + 8]
dec ecx
mov dword [esp + 0x28], ecx
mov edx, dword [esi + 4]
mov eax, dword [esi + 8]
mov dword [esp + 0x50], edx
mov dword [esp + 0x24], eax
jmp case.0x46509f.17
mov eax, dword [edi + 4]
cdq
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jmp case.0x46509f.17
mov edi, dword [edi + 0x10]
mov ecx, dword [edi]
mov dword [ebx + 0x10], ecx
mov edx, dword [edi + 4]
mov dword [ebx + 0x14], edx
jmp case.0x46509f.17
mov eax, 8
mov word [ebx + 0x1c], ax
mov ecx, dword [edi + 0x10]
fld qword [ecx]
fstp qword [ebx + 8]
jmp case.0x46509f.17
mov ecx, dword [edi + 0x10]
mov byte [edi], 9
call fcn.0042dae0
cmp byte [esp + 0x34], 1
mov dword [edi + 4], eax
je 0x465290
push 1
push ecx
xor eax, eax
or ecx, 0xffffffff
mov edx, ebx
call fcn.00446680
add esp, 8
mov dword [esp + 0x1c], eax
cmp eax, 0x12
je 0x465b3e
movzx ecx, byte [esp + 0x34]
mov eax, ebx
call fcn.004465e0
test eax, eax
jne 0x4653db
mov dx, word [ebx + 0x1c]
mov dword [ebx + 0x24], eax
mov eax, 0xfbff
and dx, ax
mov ecx, 0x800
or dx, cx
mov word [ebx + 0x1c], dx
cmp byte [edi + 1], 0xff
jne 0x465280
mov edx, dword [edi + 0x10]
mov eax, dword [esp + 0x20]
push edx
push eax
call fcn.0042d860
add esp, 8
mov byte [edi + 1], 0xff
mov ecx, dword [ebx + 4]
mov dword [edi + 0x10], ecx
mov edx, dword [ebx + 0x18]
mov dword [edi + 4], edx
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x20]
cmp eax, dword [ecx + 0x48]
jg 0x465b3e
mov edx, 0xa02
mov word [ebx + 0x1c], dx
mov eax, dword [edi + 0x10]
mov dl, byte [esp + 0x34]
mov dword [ebx + 4], eax
mov ecx, dword [edi + 4]
mov dword [ebx + 0x18], ecx
mov byte [ebx + 0x1f], dl
jmp case.0x46509f.17
mov eax, 1
mov word [ebx + 0x1c], ax
jmp case.0x46509f.17
mov ecx, dword [edi + 0x10]
push 0
push ecx
mov ecx, dword [edi + 4]
xor eax, eax
mov edx, ebx
call fcn.00446680
mov dl, byte [esp + 0x3c]
add esp, 8
mov byte [ebx + 0x1f], dl
jmp case.0x46509f.17
mov edi, dword [edi + 4]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x48]
lea eax, [edi + edi*4]
lea esi, [edx + eax*8 - 0x28]
mov ecx, esi
mov dword [esp + 0x70], esi
call fcn.004329f0
test eax, eax
jne 0x465b3e
mov ebx, dword [esp + 0x2c]
push 0x800
push esi
call fcn.00439e70
add esp, 8
jmp case.0x46509f.17
mov eax, dword [edi + 0xc]
mov dword [esp + 0x74], eax
mov ecx, dword [edi + 4]
lea edx, [ecx + ecx*4]
mov dword [esp + 0x78], ecx
mov edi, dword [edi + 8]
mov ecx, dword [esp + 0x24]
lea ebx, [ecx + edx*8]
lea edx, [edi + edi*4]
mov dword [esp + 0x7c], edi
lea edi, [ecx + edx*8]
mov dword [esp + 0x2c], edi
test eax, eax
je 0x46538b
dec eax
mov dword [esp + 0x74], eax
mov eax, dword [edi + 0x24]
mov dword [esp + 0x70], eax
mov eax, edi
mov dword [edi + 0x24], 0
call fcn.00439ec0
mov ecx, dword [esp + 0x70]
mov dword [ebx + 0x24], ecx
mov eax, dword [esp + 0x74]
add ebx, 0x28
add edi, 0x28
test eax, eax
jne 0x465358
mov dword [esp + 0x2c], edi
dec eax
mov dword [esp + 0x74], eax
jmp case.0x46509f.17
mov eax, dword [edi + 8]
mov edi, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x24]
lea ebx, [eax + edx*8]
lea ecx, [edi + edi*4]
lea edx, [eax + ecx*8]
push 0x1000
push edx
mov dword [esp + 0x34], ebx
call fcn.00439e70
mov eax, 0x1000
add esp, 8
test word [ebx + 0x1c], ax
je case.0x46509f.17
mov eax, ebx
call fcn.0043ff90
test eax, eax
je case.0x46509f.17
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
push 0x49e314
lea edi, [esi + 0x38]
mov byte [eax + 0x1e], 1
call fcn.00444f30
mov dword [esp + 0x20], 7
jmp 0x465b5f
mov eax, dword [edi + 8]
mov edi, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x24]
lea ebx, [eax + ecx*8]
lea edx, [edi + edi*4]
lea eax, [eax + edx*8]
push 0x1000
push eax
mov dword [esp + 0x34], ebx
call fcn.00439e70
add esp, 8
jmp case.0x46509f.17
mov esi, dword [esp + 0x18]
push 0
mov ecx, esi
call fcn.00446c80
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
jne case.0x46509f.17
push 1
push esi
call fcn.004528c0
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
jne case.0x46509f.17
mov ecx, dword [esi + 0x54]
add ecx, 2
or ecx, 1
mov dword [esi + 0x54], ecx
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x24]
lea eax, [eax + edx*8]
xor ecx, ecx
mov dword [esi + 0x14], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
cmp dword [edi + 8], ecx
jle 0x4654e2
mov eax, dword [esp + 0x70]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*8]
mov edx, 0x1000
test word [eax + 0x1c], dx
je 0x4654b2
call fcn.0043ff90
test eax, eax
jne 0x4653db
mov ecx, dword [esp + 0x74]
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x70]
lea eax, [ecx + eax*8]
call fcn.00439c80
mov eax, dword [esp + 0x74]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x70]
lea ecx, [eax + edx*8]
call fcn.004335d0
mov ecx, dword [esp + 0x74]
inc ecx
mov dword [esp + 0x74], ecx
cmp ecx, dword [edi + 8]
jl 0x46548c
mov ecx, dword [esp + 0x20]
cmp byte [ecx + 0x1e], 0
jne 0x4653df
mov edx, dword [esp + 0x28]
inc edx
mov dword [esi + 0x58], edx
mov edi, 0x64
jmp 0x465bb7
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x24]
lea ebx, [eax + ecx*8]
mov ecx, dword [edi + 8]
mov edi, dword [edi + 0xc]
lea edx, [ecx + ecx*4]
lea esi, [eax + edx*8]
mov dl, byte [esi + 0x1c]
lea ecx, [edi + edi*4]
lea edi, [eax + ecx*8]
movzx eax, word [ebx + 0x1c]
or dl, al
mov dword [esp + 0x38], ebx
mov dword [esp + 0x2c], edi
test dl, 1
je 0x465543
mov esi, edi
call fcn.004329a0
jmp case.0x46509f.17
test eax, 0x4000
je 0x46555d
mov eax, ebx
call fcn.00439c20
test eax, eax
jne 0x4653db
mov ebx, dword [esp + 0x38]
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x46557b
mov eax, esi
call fcn.00439c20
test eax, eax
jne 0x4653db
mov ebx, dword [esp + 0x38]
test byte [ebx + 0x1c], 0x12
jne 0x465599
movzx ecx, byte [esp + 0x34]
push ecx
mov eax, ebx
call fcn.00446600
add esp, 4
test eax, eax
jne 0x4653db
test byte [esi + 0x1c], 0x12
jne 0x4655b7
movzx edx, byte [esp + 0x34]
push edx
mov eax, esi
call fcn.00446600
add esp, 4
test eax, eax
jne 0x4653db
mov eax, dword [ebx + 0x18]
add eax, dword [esi + 0x18]
cdq
mov ebx, eax
mov eax, dword [esp + 0x20]
mov ecx, edx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ecx
mov eax, dword [eax + 0x48]
cdq
cmp ecx, edx
jg 0x465b3e
jl 0x4655e4
cmp ebx, eax
ja 0x465b3e
mov cx, word [edi + 0x1c]
mov edx, 0xbf02
and cx, dx
or cx, 2
xor eax, eax
cmp edi, esi
sete al
mov word [edi + 0x1c], cx
mov ecx, dword [esp + 0x70]
add ecx, 2
mov ebx, edi
call fcn.00439b40
test eax, eax
jne 0x4653db
cmp edi, esi
je 0x46562d
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 4]
mov edx, dword [edi + 4]
push eax
push ecx
push edx
call fcn.00478f00
add esp, 0xc
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 4]
mov eax, dword [edi + 4]
add eax, dword [esi + 0x18]
push ecx
push edx
push eax
call fcn.00478f00
mov edx, dword [esp + 0x7c]
mov ecx, dword [edi + 4]
mov byte [edx + ecx], 0
mov ecx, dword [esp + 0x7c]
mov eax, dword [edi + 4]
mov byte [eax + ecx + 1], 0
mov cl, byte [esp + 0x40]
mov edx, 0x200
add esp, 0xc
or word [edi + 0x1c], dx
mov eax, dword [esp + 0x70]
mov dword [edi + 0x18], eax
mov byte [edi + 0x1f], cl
jmp case.0x46509f.17
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x24]
lea ebx, [eax + edx*8]
mov esi, ebx
call fcn.00433600
mov eax, dword [edi + 8]
mov edx, dword [esp + 0x24]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
call fcn.00433600
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
movzx eax, word [ebx + 0x1c]
movzx ecx, word [esi + 0x1c]
or eax, ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x70], eax
test al, 1
jne 0x465940
mov dl, byte [ebx + 0x1c]
and dl, byte [esi + 0x1c]
test dl, 4
je 0x465725
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x78], eax
mov ecx, dword [ebx + 0x14]
mov dword [esp + 0x7c], ecx
mov edx, dword [esi + 0x10]
mov dword [esp + 0x80], edx
mov edx, dword [esi + 0x14]
mov dword [esp + 0x84], edx
movzx edx, byte [edi]
add edx, 0xffffffaa
cmp edx, 3
ja case.default.0x465704
jmp dword [edx*4 + 0x46a608]
push ecx
push eax
lea eax, [esp + 0x88]
push eax
call fcn.0042e7f0
add esp, 0xc
test eax, eax
je 0x46581a
mov eax, ebx
call fcn.00432810
fstp qword [esp + 0x88]
mov eax, esi
call fcn.00432810
fst qword [esp + 0x90]
movzx eax, byte [edi]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x465750
jmp dword [eax*4 + 0x46a618]
push ecx
push eax
lea edx, [esp + 0x88]
call fcn.0042e880
add esp, 8
test eax, eax
jne 0x465725
jmp 0x46581a
push ecx
push eax
lea ecx, [esp + 0x88]
push ecx
call fcn.0042e8d0
add esp, 0xc
test eax, eax
jne 0x465725
jmp 0x46581a
mov edx, eax
or edx, ecx
je 0x465940
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x4657ba
cmp dword [esp + 0x80], 0
jne 0x4657ba
cmp dword [esp + 0x84], 0x80000000
je 0x465725
push ecx
mov ecx, dword [esp + 0x84]
push eax
mov eax, dword [esp + 0x8c]
push eax
push ecx
call fcn.004787c0
jmp 0x46580c
mov edx, eax
or edx, ecx
je 0x465940
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x4657f5
mov eax, 1
xor ecx, ecx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
push ecx
mov ecx, dword [esp + 0x84]
push eax
mov eax, dword [esp + 0x8c]
push eax
push ecx
call fcn.0047c600
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x80]
mov dword [eax + 0x10], edx
mov ecx, dword [esp + 0x84]
mov dx, word [eax + 0x1c]
mov dword [eax + 0x14], ecx
mov ecx, 0xbf04
and dx, cx
or dx, 4
mov word [eax + 0x1c], dx
jmp case.0x46509f.17
fadd qword [esp + 0x88]
jmp 0x4658ea
fsub qword [esp + 0x88]
jmp 0x4658ea
fmul qword [esp + 0x88]
jmp 0x4658ea
fldz
fld qword [esp + 0x88]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x46593c
fdivp st(1)
jmp 0x4658ea
fld qword [esp + 0x88]
call fcn.0047c586
mov esi, eax
mov edi, edx
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], edi
call fcn.0047c586
mov ecx, esi
or ecx, edi
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
je 0x465940
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x4658d5
mov esi, 1
xor edi, edi
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], edi
push edi
push esi
push edx
push eax
call fcn.0047c600
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
fild qword [esp + 0x60]
sub esp, 8
fst qword [esp + 0x98]
fstp qword [esp]
call fcn.0042daa0
add esp, 8
test eax, eax
jne 0x465940
mov eax, dword [esp + 0x2c]
fld qword [esp + 0x90]
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 + 0x70], 8
jne case.0x46509f.17
mov esi, eax
call fcn.00432860
jmp case.0x46509f.17
fstp st(0)
fstp st(0)
mov esi, dword [esp + 0x2c]
call fcn.004329a0
jmp case.0x46509f.17
movzx edx, byte [edi + 3]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0xb8], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xbc], edx
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x70], eax
test edx, edx
jle 0x4659db
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0xb8]
mov dword [ecx + eax*4], edx
mov eax, dword [esp + 0x74]
mov edx, 0x1000
test word [eax + 0x1c], dx
je 0x4659bd
call fcn.0043ff90
test eax, eax
jne 0x4653db
mov eax, dword [esp + 0x74]
mov ecx, eax
call fcn.004335d0
mov eax, dword [esp + 0x70]
add dword [esp + 0x74], 0x28
inc eax
cmp eax, dword [esp + 0xbc]
mov dword [esp + 0x70], eax
jl 0x46598f
cmp byte [edi + 1], 0xfb
mov eax, dword [edi + 0x10]
jne 0x4659f0
mov dword [esp + 0x78], eax
xor eax, eax
mov dword [esp + 0x7c], eax
jmp 0x4659fc
mov dword [esp + 0x7c], eax
mov ecx, dword [eax]
mov dword [esp + 0x78], ecx
xor eax, eax
mov esi, dword [esp + 0x20]
mov edx, 1
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
lea eax, [esp + 0x80]
mov word [esp + 0x9c], dx
mov dword [esp + 0x80], esi
call fcn.00439ec0
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x78]
and eax, 0xbf01
or eax, 1
mov word [esp + 0x9c], ax
mov dword [esp + 0xac], 0
test byte [ecx + 3], 8
je 0x465a64
mov edx, dword [edi - 4]
mov dword [esp + 0xb0], edx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov edx, dword [esp + 0xb8]
mov eax, dword [esp + 0xbc]
push edx
mov edx, dword [esp + 0x7c]
push eax
mov eax, dword [edx + 0xc]
lea ecx, [esp + 0x80]
push ecx
call eax
mov ebx, dword [esp + 0x88]
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x34]
add esp, 0xc
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
test ebx, ebx
je 0x465ac9
mov eax, dword [edi + 4]
push eax
call fcn.00432d60
mov ecx, dword [esp + 0x80]
add esp, 4
mov dword [edi + 0x10], ecx
mov byte [edi + 1], 0xf9
cmp byte [esi + 0x1e], 0
jne 0x46a256
cmp dword [esp + 0xac], 0
je 0x465b0c
lea edx, [esp + 0x80]
push edx
call fcn.00446d00
mov edi, dword [esp + 0x1c]
push eax
push 0x49b31c
add edi, 0x38
mov eax, esi
call fcn.00444f30
mov eax, dword [esp + 0xb8]
add esp, 0xc
mov dword [esp + 0x1c], eax
movzx ecx, byte [esp + 0x34]
lea eax, [esp + 0x80]
call fcn.004465e0
mov esi, dword [esp + 0x2c]
lea ebx, [esp + 0x80]
mov eax, esi
call fcn.00439ec0
mov ecx, esi
call fcn.004329f0
test eax, eax
je case.0x46509f.17
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
push str.string_or_blob_too_big
add edi, 0x38
call fcn.00444f30
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x20], 0x12
add esp, 4
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0xa0]
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x1c]
push ecx
push edx
push eax
push str.statement_aborts_at__d:___s___s
push edi
mov dword [esi + 0x5c], edi
call fcn.0043e760
push esi
call fcn.00460240
add esp, 0x18
cmp edi, 0xc0a
jne 0x465b9d
mov ecx, dword [esp + 0x20]
mov byte [ecx + 0x1e], 1
mov al, byte [esp + 0x3f]
mov edi, 1
test al, al
jbe 0x465bb7
mov ecx, dword [esp + 0x20]
movzx eax, al
dec eax
call fcn.00447ae0
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
push esi
mov dword [eax + 0x30], edx
mov dword [eax + 0x34], ecx
call fcn.00432c30
mov ecx, dword [esp + 0x140]
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00477bf8
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x24]
lea ebx, [eax + ecx*8]
mov ecx, dword [edi + 8]
lea edx, [ecx + ecx*4]
lea ecx, [eax + edx*8]
mov edx, dword [edi + 0xc]
lea edx, [edx + edx*4]
lea esi, [eax + edx*8]
mov al, byte [ecx + 0x1c]
or al, byte [ebx + 0x1c]
mov dword [esp + 0x2c], esi
test al, 1
je 0x465c20
call fcn.004329a0
jmp case.0x46509f.17
call fcn.004327a0
mov ecx, ebx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
call fcn.004327a0
mov ebx, eax
mov esi, edx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], esi
mov al, byte [edi]
mov byte [esp + 0x88], al
cmp al, 0x52
jne 0x465c60
and dword [esp + 0x70], ebx
and dword [esp + 0x74], esi
jmp 0x465d68
cmp al, 0x53
jne 0x465c71
or dword [esp + 0x70], ebx
or dword [esp + 0x74], esi
jmp 0x465d68
mov ecx, ebx
or ecx, esi
je 0x465d68
test esi, esi
jg 0x465cbe
jl 0x465c85
test ebx, ebx
jae 0x465cb3
mov dl, 0xa9
sub dl, al
cmp esi, 0xffffffff
mov al, dl
mov byte [esp + 0x88], al
jl 0x465ce3
jg 0x465c9e
cmp ebx, 0xffffffc0
jbe 0x465ce3
neg ebx
adc esi, 0
neg esi
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], esi
test esi, esi
jl 0x465d08
jg 0x465cbe
cmp ebx, 0x40
jb 0x465d08
cmp dword [esp + 0x74], 0
jg 0x465cfb
jl 0x465cce
cmp dword [esp + 0x70], 0
jae 0x465cfb
cmp al, 0x54
je 0x465cfb
or eax, 0xffffffff
cdq
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
jmp 0x465d68
mov dword [esp + 0x80], 0x40
mov dword [esp + 0x84], 0
jmp 0x465cbe
xor eax, eax
cdq
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
jmp 0x465d68
mov edx, dword [esp + 0x74]
cmp al, 0x54
mov eax, dword [esp + 0x70]
mov ecx, ebx
jne 0x465d21
call fcn.0047c7a0
mov esi, eax
mov edi, edx
jmp 0x465d58
call fcn.0047cc70
cmp dword [esp + 0x74], 0
mov esi, eax
mov edi, edx
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], edi
jg 0x465d60
jl 0x465d42
cmp dword [esp + 0x70], 0
jae 0x465d60
mov ecx, 0x40
sub ecx, ebx
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.0047c7a0
or esi, eax
or edi, edx
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], edi
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x70]
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0x74]
mov cx, word [eax + 0x1c]
mov dword [eax + 0x14], edx
mov edx, 0xbf04
and cx, dx
or cx, 4
mov word [eax + 0x1c], cx
jmp case.0x46509f.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.004328c0
mov eax, dword [edi + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
jmp case.0x46509f.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x34]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x24]
lea esi, [eax + edx*8]
push ecx
mov al, 0x63
mov ecx, esi
call fcn.00447170
movzx eax, word [esi + 0x1c]
add esp, 4
test al, 4
jne 0x465def
mov edi, dword [edi + 8]
test edi, edi
je 0x46a26b
dec edi
mov dword [esp + 0x28], edi
jmp case.0x46509f.17
and eax, 0xbf04
or eax, 4
mov word [esi + 0x1c], ax
jmp case.0x46509f.17
mov edi, dword [edi + 4]
mov eax, dword [esp + 0x24]
lea edx, [edi + edi*4]
test byte [eax + edx*8 + 0x1c], 4
lea esi, [eax + edx*8]
je case.0x46509f.17
call fcn.004328f0
jmp case.0x46509f.17
mov edi, dword [edi + 4]
mov edx, dword [esp + 0x24]
lea ecx, [edi + edi*4]
movzx eax, word [edx + ecx*8 + 0x1c]
lea esi, [edx + ecx*8]
test al, 1
jne case.0x46509f.17
mov edx, dword [esp + 0x34]
mov ecx, eax
shr ecx, 3
and ecx, 2
or ecx, eax
mov word [esi + 0x1c], cx
push edx
mov al, 0x61
mov ecx, esi
call fcn.00447170
mov eax, 0x4000
add esp, 4
test word [esi + 0x1c], ax
je 0x465e7f
mov eax, esi
call fcn.00439c20
mov ecx, 0xbfe3
and word [esi + 0x1c], cx
mov dword [esp + 0x1c], eax
jmp case.0x46509f.17
mov ecx, 0xbfe3
and word [esi + 0x1c], cx
mov dword [esp + 0x1c], 0
jmp case.0x46509f.17
mov edi, dword [edi + 4]
mov eax, dword [esp + 0x24]
lea edx, [edi + edi*4]
lea esi, [eax + edx*8]
movzx eax, word [esi + 0x1c]
test al, 1
jne case.0x46509f.17
test al, 0x10
jne 0x465edc
mov ecx, dword [esp + 0x34]
push ecx
mov al, 0x61
mov ecx, esi
call fcn.00447170
mov dx, word [esi + 0x1c]
mov eax, 0xbf10
and dx, ax
add esp, 4
or dx, 0x10
mov word [esi + 0x1c], dx
jmp case.0x46509f.17
and eax, 0xff10
mov word [esi + 0x1c], ax
jmp case.0x46509f.17
mov edi, dword [edi + 4]
mov edx, dword [esp + 0x24]
lea ecx, [edi + edi*4]
lea eax, [edx + ecx*8]
call fcn.00432920
jmp case.0x46509f.17
mov edi, dword [edi + 4]
mov ecx, dword [esp + 0x24]
lea eax, [edi + edi*4]
test byte [ecx + eax*8 + 0x1c], 1
lea esi, [ecx + eax*8]
jne case.0x46509f.17
call fcn.004328c0
jmp case.0x46509f.17
mov edi, dword [edi + 4]
mov eax, dword [esp + 0x24]
lea edx, [edi + edi*4]
test byte [eax + edx*8 + 0x1c], 1
lea esi, [eax + edx*8]
jne case.0x46509f.17
call fcn.004328f0
jmp case.0x46509f.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x24]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0xc]
lea ebx, [ecx + edx*8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov cx, word [ebx + 0x1c]
mov word [esp + 0x76], cx
mov dx, word [eax + 0x1c]
mov dword [esp + 0x38], eax
mov al, dl
mov word [esp + 0x78], dx
mov dl, byte [esp + 0x76]
mov cl, al
or cl, dl
test cl, 1
je 0x465fe2
mov cl, byte [edi + 3]
test cl, cl
jns 0x465f9c
mov esi, dword [esp + 0x38]
and al, dl
test al, 1
mov eax, 0
sete al
jmp 0x466054
test cl, 0x10
je 0x465fcc
mov edi, dword [edi + 8]
mov eax, dword [esp + 0x24]
lea edx, [edi + edi*4]
mov cx, word [eax + edx*8 + 0x1c]
lea eax, [eax + edx*8]
mov edx, 0xbf01
and cx, dx
or cx, 1
mov dword [esp + 0x2c], eax
mov word [eax + 0x1c], cx
jmp case.0x46509f.17
test cl, 8
je case.0x46509f.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x46509f.17
mov al, byte [edi + 3]
and al, 0x67
mov byte [esp + 0x74], al
je 0x46601c
mov esi, dword [esp + 0x34]
push esi
mov ecx, ebx
call fcn.00447170
mov al, byte [esp + 0x78]
push esi
mov esi, dword [esp + 0x40]
mov ecx, esi
call fcn.00447170
mov eax, dword [esp + 0x28]
add esp, 8
cmp byte [eax + 0x1e], 0
jne 0x4653db
jmp 0x466020
mov esi, dword [esp + 0x38]
mov ecx, 0x4000
test word [ebx + 0x1c], cx
je 0x466032
mov eax, ebx
call fcn.00439c20
mov edx, 0x4000
test word [esi + 0x1c], dx
je 0x466044
mov eax, esi
call fcn.00439c20
mov eax, dword [edi + 0x10]
push eax
mov eax, ebx
mov ecx, esi
call fcn.0044b960
add esp, 4
mov dword [esp + 0x70], eax
movzx ecx, byte [edi]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x466063
jmp dword [ecx*4 + 0x46a628]
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x4660a6
xor edx, edx
test eax, eax
setne dl
jmp 0x4660a4
xor ecx, ecx
test eax, eax
setl cl
mov eax, ecx
jmp 0x4660a6
xor edx, edx
test eax, eax
setle dl
jmp 0x4660a4
xor ecx, ecx
test eax, eax
setg cl
mov eax, ecx
jmp 0x4660a6
xor edx, edx
test eax, eax
setge dl
mov eax, edx
mov dword [esp + 0x70], eax
test byte [edi + 3], 0x10
je 0x4660f4
mov edi, dword [edi + 8]
mov ecx, dword [esp + 0x24]
lea eax, [edi + edi*4]
mov dx, word [ecx + eax*8 + 0x1c]
lea ecx, [ecx + eax*8]
mov eax, 0xbf04
and dx, ax
or dx, 4
mov word [ecx + 0x1c], dx
mov eax, dword [esp + 0x70]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov dword [esp + 0x2c], ecx
mov cl, byte [esp + 0x76]
mov byte [ebx + 0x1c], cl
mov dl, byte [esp + 0x78]
mov byte [esi + 0x1c], dl
jmp case.0x46509f.17
test eax, eax
je 0x466100
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
mov cl, byte [esp + 0x76]
mov byte [ebx + 0x1c], cl
mov dl, byte [esp + 0x78]
mov byte [esi + 0x1c], dl
jmp case.0x46509f.17
mov eax, dword [edi + 0x10]
mov dword [esp + 0x54], eax
jmp case.0x46509f.17
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x70], ecx
mov esi, dword [edi + 0x10]
mov dword [esp + 0x80], esi
mov edx, dword [edi + 4]
mov dword [esp + 0x78], edx
mov eax, dword [edi + 8]
mov dword [esp + 0x7c], eax
xor eax, eax
mov dword [esp + 0x74], eax
test ecx, ecx
jle 0x4661ef
mov ebx, dword [esp + 0x54]
mov edi, dword [esp + 0x24]
jmp 0x466167
mov esi, dword [esp + 0x80]
test ebx, ebx
je 0x466170
mov ecx, dword [ebx + eax*4]
jmp 0x466172
mov ecx, eax
mov dword [esp + 0x84], ecx
mov edx, dword [esi + eax*4 + 0xc]
mov dword [esp + 0x88], edx
mov esi, dword [esi + 8]
movzx eax, byte [esi + eax]
push edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x90], eax
lea eax, [ecx + edx]
mov edx, dword [esp + 0x7c]
add ecx, edx
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea eax, [edi + eax*8]
lea ecx, [edi + ecx*8]
call fcn.0044b960
add esp, 4
mov dword [esp + 0x48], eax
test eax, eax
jne 0x4661db
mov eax, dword [esp + 0x74]
inc eax
cmp eax, dword [esp + 0x70]
mov dword [esp + 0x74], eax
jl 0x466160
mov dword [esp + 0x54], 0
jmp case.0x46509f.17
cmp dword [esp + 0x8c], 0
je 0x4661ef
mov edx, dword [esp + 0x48]
neg edx
mov dword [esp + 0x48], edx
mov dword [esp + 0x54], 0
jmp case.0x46509f.17
mov eax, dword [esp + 0x48]
test eax, eax
jge 0x466211
mov edi, dword [edi + 4]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x46509f.17
jne 0x466220
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x46509f.17
mov edi, dword [edi + 0xc]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x46509f.17
mov eax, dword [edi + 4]
mov esi, dword [esp + 0x24]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x1c], 1
lea ecx, [esi + eax*8]
je 0x466248
mov edx, 2
jmp 0x46625a
call fcn.004327a0
or eax, edx
je 0x466258
mov edx, 1
jmp 0x46625a
xor edx, edx
mov dword [esp + 0x70], edx
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
test byte [esi + ecx*8 + 0x1c], 1
lea ecx, [esi + ecx*8]
je 0x466275
mov eax, 2
jmp 0x46628b
call fcn.004327a0
or eax, edx
mov edx, dword [esp + 0x70]
je 0x466289
mov eax, 1
jmp 0x46628b
xor eax, eax
mov dword [esp + 0x74], eax
cmp byte [edi], 0x45
jne 0x4662a1
lea eax, [eax + edx*2]
movzx eax, byte [edx + eax + 0x49f58c]
jmp 0x4662ac
lea ecx, [eax + edx*2]
movzx eax, byte [edx + ecx + 0x49f5c0]
mov dword [esp + 0x70], eax
mov edi, dword [edi + 0xc]
lea edx, [edi + edi*4]
lea ecx, [esi + edx*8]
mov dword [esp + 0x2c], ecx
cmp eax, 2
jne 0x4662db
mov ax, word [ecx + 0x1c]
mov edx, 0xbf01
and ax, dx
or ax, 1
mov word [ecx + 0x1c], ax
jmp case.0x46509f.17
cdq
mov dword [ecx + 0x10], eax
mov ax, word [ecx + 0x1c]
mov dword [ecx + 0x14], edx
mov edx, 0xbf04
and ax, dx
or ax, 4
mov word [ecx + 0x1c], ax
jmp case.0x46509f.17
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x24]
test byte [eax + ecx*8 + 0x1c], 1
lea edx, [edi + edi*4]
lea ecx, [eax + ecx*8]
lea esi, [eax + edx*8]
mov dword [esp + 0x2c], esi
je 0x466326
call fcn.004329a0
jmp case.0x46509f.17
call fcn.004327a0
or eax, edx
jne 0x466344
mov eax, 1
cdq
push edx
push eax
call fcn.00439db0
add esp, 8
jmp case.0x46509f.17
xor eax, eax
cdq
push edx
push eax
call fcn.00439db0
add esp, 8
jmp case.0x46509f.17
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x24]
test byte [eax + ecx*8 + 0x1c], 1
lea edx, [edi + edi*4]
lea ecx, [eax + ecx*8]
lea esi, [eax + edx*8]
mov dword [esp + 0x2c], esi
je 0x466381
call fcn.004329a0
jmp case.0x46509f.17
call fcn.004327a0
not edx
not eax
push edx
push eax
call fcn.00439db0
add esp, 8
jmp case.0x46509f.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x24]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea esi, [ecx + eax*8]
je 0x4663b2
mov eax, dword [edi + 0xc]
jmp 0x4663e1
mov eax, esi
call fcn.00432810
fcomp qword [0x499de0]
fnstsw ax
test ah, 0x44
jnp 0x4663cd
mov eax, 1
jmp 0x4663cf
xor eax, eax
mov dword [esp + 0x70], eax
cmp byte [edi], 0x1c
jne 0x4663e5
xor edx, edx
test eax, eax
sete dl
mov eax, edx
mov dword [esp + 0x70], eax
test eax, eax
je 0x4663f6
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x46509f.17
cmp byte [edi], 0x1a
jne case.0x46509f.17
mov eax, 4
mov word [esi + 0x1c], ax
mov dword [esi + 0x10], 1
mov dword [esi + 0x14], 0
jmp case.0x46509f.17
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x24]
lea ecx, [eax + eax*4]
test byte [edx + ecx*8 + 0x1c], 1
je case.0x46509f.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x46509f.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x24]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
jne case.0x46509f.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x46509f.17
mov ecx, dword [edi + 4]
mov esi, dword [esp + 0x18]
xor eax, eax
mov dword [esp + 0x80], ecx
mov edx, dword [edi + 8]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], 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
xor ebx, ebx
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x88], ebx
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [esp + 0xac], eax
mov eax, dword [esi + 0x44]
mov dword [esp + 0x8c], ebx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x88], eax
mov ecx, dword [eax]
mov dword [esp + 0x90], ecx
cmp ecx, ebx
je 0x466583
push eax
call fcn.0045efc0
add esp, 4
mov dword [esp + 0x1c], eax
cmp eax, ebx
jne 0x46a346
mov eax, dword [esp + 0x88]
cmp byte [eax + 0x1c], bl
je 0x46652b
mov dword [esp + 0x70], ebx
jmp 0x4665c7
mov ecx, dword [eax + 0x50]
cmp ecx, dword [esi + 0x54]
jne 0x466549
mov edx, dword [eax + 0x54]
mov dword [esp + 0x70], edx
mov ecx, dword [eax + 0x60]
mov dword [esp + 0x8c], ecx
jmp 0x4665bf
cmp byte [eax + 0x1f], 0
je 0x46656d
mov eax, dword [esp + 0x90]
lea edi, [esp + 0x78]
call fcn.00432380
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x70], edx
jmp 0x4665b8
lea eax, [esp + 0x70]
push eax
mov eax, dword [esp + 0x94]
call fcn.004323b0
add esp, 4
jmp 0x4665b8
mov ecx, dword [eax + 0x10]
cmp ecx, ebx
jle 0x466522
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dword [esp + 0xf4], ecx
mov edx, dword [ecx + 0x18]
mov dword [esp + 0x70], edx
mov ecx, dword [ecx + 4]
mov dword [esp + 0x8c], ecx
test byte [edi + 3], 0x20
je 0x4665b2
xor esi, esi
jmp 0x4665b5
mov esi, dword [esi + 0x54]
mov dword [eax + 0x50], esi
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x70]
cmp ecx, ebx
jne 0x4665e7
mov eax, dword [esp + 0xac]
mov dx, word [eax + 0x1c]
mov ecx, 0xbf01
and dx, cx
or dx, 1
mov word [eax + 0x1c], dx
jmp case.0x46509f.17
mov edx, dword [esp + 0x20]
cmp ecx, dword [edx + 0x48]
ja 0x465b3e
mov ecx, dword [eax + 0x14]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x9c], ecx
mov edx, dword [eax + 0x58]
mov dword [esp + 0x94], edx
mov ebx, dword [eax + 0x50]
cmp ebx, dword [esi + 0x54]
jne 0x466623
mov eax, dword [eax + 0x5c]
mov dword [esp + 0x98], eax
jmp 0x4668f0
lea ecx, [edx + ecx*4]
mov dword [esp + 0x98], ecx
mov dword [esp + 0xec], 0
mov dword [eax + 0x5c], ecx
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x70]
mov dword [ecx + 0x54], edx
mov ecx, dword [esp + 0x88]
mov eax, dword [esi + 0x54]
mov dword [ecx + 0x50], eax
mov ecx, dword [esp + 0x8c]
test ecx, ecx
je 0x46666a
mov dword [esp + 0xa8], ecx
jmp 0x4666cd
mov edx, dword [esp + 0x88]
cmp byte [edx + 0x1f], 0
mov eax, dword [esp + 0x90]
lea ebx, [esp + 0xec]
je 0x46668c
call fcn.00432430
jmp 0x466691
call fcn.00432450
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xa8], eax
cmp ecx, dword [esp + 0xec]
ja 0x4666b8
mov edx, dword [esp + 0x88]
mov dword [esp + 0x8c], eax
mov dword [edx + 0x60], eax
jmp 0x4666c6
mov eax, dword [esp + 0x88]
mov dword [eax + 0x60], 0
mov ecx, dword [esp + 0xa8]
mov al, byte [ecx]
cmp al, 0x80
jae 0x4666e4
movzx edx, al
mov dword [esp + 0xe0], edx
mov eax, 1
jmp 0x466701
lea esi, [esp + 0xe0]
call fcn.0042e6e0
mov edx, dword [esp + 0xe0]
mov ecx, dword [esp + 0xa8]
movzx eax, al
movzx eax, al
mov dword [esp + 0xe8], eax
cmp edx, 0x18003
jbe 0x466729
push 0x100a0
call fcn.004448f0
add esp, 4
mov dword [esp + 0x1c], eax
jmp case.0x46509f.17
mov esi, dword [esp + 0x9c]
lea eax, [esi + esi*4 + 3]
cmp eax, edx
mov dword [esp + 0xa0], eax
jle 0x466748
mov eax, edx
mov dword [esp + 0xa0], eax
cmp dword [esp + 0x8c], 0
jne 0x4667c6
cmp dword [esp + 0xec], eax
jge 0x4667c6
mov edx, dword [esp + 0x88]
xor ecx, ecx
mov word [esp + 0xcc], cx
mov dword [esp + 0xb0], ecx
movzx ecx, byte [edx + 0x1f]
mov edx, dword [esp + 0x90]
push ecx
push 0
push edx
lea esi, [esp + 0xbc]
mov edi, eax
call fcn.0045eb00
add esp, 0xc
mov dword [esp + 0x1c], eax
test eax, eax
jne case.0x46509f.17
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xe0]
mov eax, dword [esp + 0xa0]
mov esi, dword [esp + 0x9c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0xa8], ecx
add eax, ecx
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0xe8]
add eax, ecx
mov dword [esp + 0xd8], eax
xor eax, eax
mov dword [esp + 0xa4], eax
test esi, esi
jle 0x466897
mov ecx, dword [esp + 0xdc]
cmp dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0x98]
jae 0x466970
mov dword [ecx + eax*4], edx
mov ecx, dword [esp + 0xd8]
mov al, byte [ecx]
cmp al, 0x80
jae 0x46682f
movzx edx, al
inc ecx
mov dword [esp + 0xf0], edx
mov dword [esp + 0xd8], ecx
jmp 0x466845
lea esi, [esp + 0xf0]
call fcn.0042e6e0
movzx eax, al
add dword [esp + 0xd8], eax
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x94]
mov dword [edx + ecx*4], eax
mov eax, dword [esp + 0xf0]
call fcn.00432ea0
mov edx, dword [esp + 0xe0]
add edx, eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe0], edx
cmp edx, eax
jae 0x46697e
mov edx, dword [esp + 0xdc]
inc edx
mov dword [esp + 0xd8], edx
lea eax, [esp + 0xb0]
push eax
call fcn.00439d40
mov eax, dword [esp + 0xdc]
mov ecx, 1
mov word [esp + 0xd0], cx
mov ecx, dword [esp + 0xe0]
add esp, 4
cmp eax, ecx
ja 0x466ae0
mov edx, dword [esp + 0xe0]
mov esi, dword [esp + 0x70]
cmp edx, esi
ja 0x466ae0
cmp eax, ecx
jne 0x4668e9
cmp edx, esi
jne 0x466ae0
mov edx, dword [esp + 0x94]
mov ebx, dword [esp + 0x84]
mov eax, dword [esp + 0x98]
cmp dword [eax + ebx*4], 0
je 0x466a44
cmp dword [esp + 0x8c], 0
je 0x46699f
mov eax, dword [esp + 0xac]
mov ecx, 0x2460
test word [eax + 0x1c], cx
je 0x466942
call fcn.00439cd0
mov eax, dword [esp + 0xac]
mov edx, dword [esp + 0x94]
mov ebx, dword [esp + 0x84]
mov ecx, dword [esp + 0x98]
mov ecx, dword [ecx + ebx*4]
add ecx, dword [esp + 0x8c]
mov esi, eax
mov eax, dword [edx + ebx*4]
call fcn.00432f60
mov ecx, dword [esp + 0xac]
mov dl, byte [esp + 0x34]
mov byte [ecx + 0x1f], dl
jmp 0x466a7f
mov dword [ecx + eax*4], 0
mov edx, dword [esp + 0xe0]
mov eax, dword [esp + 0xa4]
inc eax
cmp eax, dword [esp + 0x9c]
mov dword [esp + 0xa4], eax
jl 0x4667f0
jmp 0x466897
mov eax, dword [edx + ebx*4]
call fcn.00432ea0
mov ebx, dword [esp + 0xac]
mov dword [esp + 0xa0], eax
lea eax, [esp + 0xb0]
call fcn.00439ec0
mov edx, dword [esp + 0x88]
movzx eax, byte [edx + 0x1f]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0xa0]
push eax
mov eax, dword [ecx + edx*4]
mov ecx, dword [esp + 0x94]
push eax
push ecx
lea esi, [esp + 0xbc]
call fcn.0045eb00
add esp, 0xc
mov dword [esp + 0x1c], eax
test eax, eax
jne case.0x46509f.17
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x84]
mov esi, dword [esp + 0xac]
mov dword [esp + 0xa8], ecx
mov eax, dword [edx + eax*4]
call fcn.00432f60
mov ecx, dword [esp + 0xac]
mov dl, byte [esp + 0x34]
mov byte [ecx + 0x1f], dl
jmp 0x466a7f
cmp byte [edi + 1], 0xf8
jne 0x466a64
mov eax, dword [edi + 0x10]
mov ebx, dword [esp + 0xac]
push 0x800
push eax
call fcn.00439e70
add esp, 8
jmp 0x466a7f
mov eax, dword [esp + 0xac]
mov cx, word [eax + 0x1c]
mov edx, 0xbf01
and cx, dx
or cx, 1
mov word [eax + 0x1c], cx
cmp dword [esp + 0xd4], 0
je 0x466acb
mov eax, dword [esp + 0xac]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov eax, dword [esp + 0xac]
mov edx, 0x200
or word [eax + 0x1c], dx
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb4]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0xd4]
mov eax, dword [esp + 0xac]
mov dword [eax + 0x24], edx
mov eax, dword [esp + 0xac]
call fcn.0043ff90
mov dword [esp + 0x1c], eax
jmp case.0x46509f.17
push 0x100f0
call fcn.004448f0
add esp, 4
mov dword [esp + 0x1c], eax
jmp case.0x46509f.17
mov ecx, dword [edi + 0x10]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x70], ecx
mov edi, dword [edi + 4]
lea edx, [edi + edi*4]
lea esi, [eax + edx*8]
mov al, byte [ecx]
mov byte [esp + 0x74], al
test al, al
je 0x466b4f
inc ecx
mov dword [esp + 0x70], ecx
mov ecx, 0x4000
test word [esi + 0x1c], cx
je 0x466b2f
mov eax, esi
call fcn.00439c20
mov al, byte [esp + 0x74]
mov edx, dword [esp + 0x34]
push edx
mov ecx, esi
call fcn.00447170
mov ecx, dword [esp + 0x74]
mov al, byte [ecx]
add esp, 4
add esi, 0x28
mov byte [esp + 0x74], al
test al, al
jne 0x466b14
inc ecx
mov dword [esp + 0x70], ecx
jmp case.0x46509f.17
xor esi, esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x90], esi
mov eax, dword [edi + 4]
mov dword [esp + 0xa4], eax
mov ecx, dword [edi + 0x10]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x24]
lea edx, [eax + eax*4]
lea ebx, [ecx + edx*8]
mov edx, dword [esp + 0x18]
movzx edx, byte [edx + 0x65]
mov dword [esp + 0x9c], ebx
mov eax, dword [edi + 8]
mov dword [esp + 0xa4], eax
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8 - 0x28]
mov dword [esp + 0xac], edx
mov dword [esp + 0xa0], eax
mov edi, dword [edi + 0xc]
lea edx, [edi + edi*4]
lea ecx, [ecx + edx*8]
mov edi, ebx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x74], edi
cmp ebx, eax
ja 0x466ccb
jmp 0x466be0
mov esi, dword [esp + 0xa8]
test esi, esi
je 0x466c1d
mov edx, dword [esp + 0x34]
mov ecx, edi
sub ecx, ebx
push edx
mov eax, 0x66666667
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov al, byte [eax + esi]
mov ecx, edi
call fcn.00447170
mov ebx, dword [esp + 0xa0]
mov edi, dword [esp + 0x78]
add esp, 4
mov ecx, 0x4000
test word [edi + 0x1c], cx
je 0x466c40
cmp dword [edi + 0x18], 0
jle 0x466c40
mov eax, edi
call fcn.00439c20
mov ebx, dword [esp + 0x9c]
mov edi, dword [esp + 0x74]
mov edx, dword [esp + 0xac]
push edx
mov ecx, edi
call fcn.00432db0
mov ecx, eax
mov dword [esp + 0x9c], ecx
call fcn.00432ea0
mov dword [esp + 0xb8], eax
cdq
add dword [esp + 0x7c], eax
push 0
push ecx
adc dword [esp + 0x88], edx
call fcn.0042e760
mov esi, dword [esp + 0x8c]
add esi, eax
mov eax, 0x4000
add esp, 0xc
mov dword [esp + 0x80], esi
test word [edi + 0x1c], ax
je 0x466ca2
mov ecx, dword [edi + 0x10]
add dword [esp + 0x90], ecx
jmp 0x466cb7
cmp dword [esp + 0xb4], 0
je 0x466cb7
mov dword [esp + 0x90], 0
add edi, 0x28
mov dword [esp + 0x74], edi
cmp edi, dword [esp + 0xa0]
jbe 0x466be0
mov eax, esi
cdq
push edx
push eax
call fcn.0042e760
mov edi, eax
add esi, edi
mov eax, esi
cdq
push edx
push eax
mov dword [esp + 0xa4], edi
mov dword [esp + 0x90], esi
call fcn.0042e760
add esp, 0x10
cmp edi, eax
jge 0x466d00
inc esi
mov dword [esp + 0x80], esi
mov eax, dword [esp + 0x90]
cdq
mov ebx, eax
mov eax, edx
mov dword [esp + 0x38], eax
mov eax, esi
cdq
mov ecx, eax
sub ecx, ebx
mov ebx, dword [esp + 0x38]
mov edi, edx
mov edx, dword [esp + 0x20]
sbb edi, ebx
add ecx, dword [esp + 0x78]
adc edi, dword [esp + 0x7c]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], edi
mov eax, dword [edx + 0x48]
cdq
cmp edi, edx
jg 0x465b3e
jl 0x466d4f
cmp ecx, eax
ja 0x465b3e
mov esi, dword [esp + 0x2c]
xor eax, eax
mov ebx, esi
call fcn.00439b40
test eax, eax
jne 0x4653db
mov eax, dword [esp + 0x80]
mov ecx, dword [esi + 4]
mov dword [esp + 0x70], ecx
cmp eax, 0x80
jae 0x466d82
mov byte [ecx], al
mov eax, 1
jmp 0x466d87
call fcn.0042e530
mov ecx, dword [esp + 0x9c]
movzx edi, al
mov eax, dword [esp + 0xa0]
mov dword [esp + 0xb0], edi
mov dword [esp + 0x74], ecx
cmp ecx, eax
ja 0x466e18
jmp 0x466db0
mov edx, dword [esp + 0xac]
push edx
call fcn.00432db0
add esp, 4
mov dword [esp + 0x98], eax
cmp eax, 0x80
jae 0x466ddc
mov ecx, dword [esp + 0x70]
mov byte [edi + ecx], al
mov eax, 1
jmp 0x466de8
mov edx, dword [esp + 0x70]
lea ecx, [edi + edx]
call fcn.0042e530
mov edi, dword [esp + 0xb0]
mov ecx, dword [esp + 0x74]
movzx eax, al
add edi, eax
mov eax, dword [esp + 0xa0]
add ecx, 0x28
mov dword [esp + 0xb0], edi
mov dword [esp + 0x74], ecx
cmp ecx, eax
jbe 0x466db0
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x74], ecx
cmp ecx, eax
ja 0x466e64
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x70]
sub edx, edi
lea ebx, [edi + eax]
mov eax, dword [esp + 0xac]
push edx
call fcn.00432ec0
mov ecx, dword [esp + 0x78]
mov edi, dword [esp + 0xb4]
add ecx, 0x28
add edi, eax
add esp, 4
mov dword [esp + 0xb0], edi
mov dword [esp + 0x74], ecx
cmp ecx, dword [esp + 0xa0]
jbe 0x466e20
mov ecx, dword [esp + 0x88]
mov edx, 0x410
mov dword [esi + 0x18], ecx
mov word [esi + 0x1c], dx
mov dword [esi + 0x20], 0
mov eax, dword [esp + 0x90]
test eax, eax
je 0x466e95
mov dword [esi + 0x10], eax
mov eax, 0x4410
mov word [esi + 0x1c], ax
mov byte [esi + 0x1f], 1
jmp case.0x46509f.17
mov edx, dword [esp + 0x18]
mov ecx, dword [edi + 4]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx]
xor ecx, ecx
mov dword [esp + 0x78], eax
cmp eax, ecx
je 0x466edb
lea edx, [esp + 0x70]
push edx
call fcn.0045ce30
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x74]
mov dword [ebx + 0x10], eax
mov ecx, dword [esp + 0x78]
add esp, 4
mov dword [ebx + 0x14], ecx
jmp case.0x46509f.17
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov eax, ecx
mov dword [ebx + 0x10], eax
mov ecx, dword [esp + 0x74]
mov dword [ebx + 0x14], ecx
jmp case.0x46509f.17
mov eax, dword [edi + 4]
mov dword [esp + 0x70], eax
mov esi, dword [edi + 0x10]
mov dword [esp + 0x74], esi
test eax, eax
jne 0x466ff4
mov edx, dword [esp + 0x20]
cmp dword [edx + 0x90], eax
jle 0x466f39
mov edi, dword [esp + 0x18]
push str.cannot_open_savepoint___SQL_statements_in_progress
add edi, 0x38
mov eax, edx
call fcn.00444f30
add esp, 4
mov dword [esp + 0x1c], 5
jmp case.0x46509f.17
mov ecx, esi
call fcn.0042dae0
mov dword [esp + 0x78], eax
mov eax, dword [edx + 0x1e4]
add eax, dword [edx + 0x1e0]
push eax
push 0
push edx
call fcn.00435c30
add esp, 0xc
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x46a342
mov ecx, dword [esp + 0x78]
mov esi, dword [esp + 0x20]
add ecx, 0x19
call fcn.00437860
mov dword [esp + 0x7c], eax
test eax, eax
je case.0x46509f.17
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x7c]
inc edx
push edx
mov edx, dword [ecx]
push eax
push edx
call fcn.00478f00
mov eax, esi
add esp, 0xc
cmp byte [eax + 0x1c], 0
je 0x466fb8
mov byte [eax + 0x1c], 0
mov byte [eax + 0x1e8], 1
jmp 0x466fbe
inc dword [eax + 0x1e0]
mov ecx, dword [eax + 0x1dc]
mov edx, dword [esp + 0x7c]
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x7c]
mov edx, dword [eax + 0x1f0]
mov dword [eax + 0x1dc], ecx
mov ecx, dword [esp + 0x7c]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0x1f4]
mov eax, dword [esp + 0x7c]
mov dword [eax + 0xc], edx
jmp case.0x46509f.17
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x88], 0
mov edi, dword [ebx + 0x1dc]
mov dword [esp + 0x80], edi
test edi, edi
je 0x467036
mov ecx, dword [edi]
mov edx, esi
call fcn.0042dbb0
test eax, eax
je 0x46705a
inc dword [esp + 0x88]
mov edi, dword [edi + 0x10]
mov dword [esp + 0x80], edi
test edi, edi
jne 0x467014
mov edi, dword [esp + 0x18]
push esi
push str.no_such_savepoint:__s
add edi, 0x38
mov eax, ebx
call fcn.00444f30
add esp, 8
mov dword [esp + 0x1c], 1
jmp case.0x46509f.17
cmp dword [ebx + 0x90], 0
jg 0x46727d
mov eax, dword [esp + 0x70]
cmp eax, 2
jne 0x46707d
cmp dword [ebx + 0x8c], 1
jg 0x467284
cmp dword [edi + 0x10], 0
jne 0x46717b
cmp byte [ebx + 0x1e8], 0
je 0x46717b
mov dword [esp + 0x38], 1
cmp eax, 1
jne 0x467183
mov esi, dword [esp + 0x18]
push eax
mov ecx, esi
call fcn.00446c80
mov edi, eax
add esp, 4
test edi, edi
jne 0x465bb7
push esi
mov byte [ebx + 0x1c], 1
call fcn.00460240
add esp, 4
cmp eax, 5
je 0x46a278
mov byte [ebx + 0x1e8], 0
mov ecx, dword [esi + 0x5c]
mov edi, dword [esp + 0x80]
mov dword [esp + 0x1c], ecx
mov esi, ebx
cmp dword [esi + 0x1dc], edi
je 0x46713c
jmp 0x467100
mov eax, dword [esi + 0x1dc]
mov dword [esp + 0x84], eax
mov eax, dword [eax + 0x10]
mov dword [esi + 0x1dc], eax
mov ecx, dword [esp + 0x84]
push ecx
push esi
call fcn.0042d860
dec dword [esi + 0x1e0]
mov edi, dword [esp + 0x88]
add esp, 8
cmp dword [esi + 0x1dc], edi
jne 0x467100
cmp dword [esp + 0x70], 1
jne 0x467235
mov edx, dword [edi + 0x10]
mov dword [esi + 0x1dc], edx
mov eax, dword [esp + 0x80]
push eax
push esi
call fcn.0042d860
add esp, 8
cmp dword [esp + 0x38], 0
jne case.0x46509f.17
mov eax, dword [esp + 0x20]
dec dword [eax + 0x1e0]
jmp 0x467256
mov dword [esp + 0x38], 0
mov ecx, dword [ebx + 0x1e0]
sub ecx, dword [esp + 0x88]
xor eax, eax
dec ecx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
cmp dword [ebx + 4], eax
jle 0x4671f8
mov edx, ebx
jmp 0x4671b7
mov ecx, dword [esp + 0x88]
mov edx, dword [edx + 8]
push ecx
mov ecx, dword [esp + 0x74]
shl eax, 4
mov eax, dword [eax + edx + 4]
push ecx
call fcn.00452850
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x46a342
mov eax, dword [esp + 0x8c]
inc eax
mov edx, ebx
mov dword [esp + 0x8c], eax
cmp eax, dword [edx + 4]
jl 0x4671b0
mov edi, dword [esp + 0x80]
cmp dword [esp + 0x70], 2
jne 0x4670e9
mov esi, dword [esp + 0x20]
mov ebx, 0x200
test dword [esi + 0xc], ebx
je 0x4670eb
mov eax, esi
call fcn.00433290
or eax, 0xffffffff
mov ecx, esi
call fcn.00447ae0
or dword [esi + 0xc], ebx
mov edi, dword [esp + 0x80]
jmp 0x4670eb
cmp dword [esp + 0x38], 0
mov ecx, dword [edi + 8]
mov dword [esi + 0x1f0], ecx
mov edx, dword [edi + 0xc]
mov dword [esi + 0x1f4], edx
jne case.0x46509f.17
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x70]
push ecx
push edx
push eax
call fcn.00435c30
add esp, 0xc
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x46a342
jmp case.0x46509f.17
cmp dword [esp + 0x70], 2
jne 0x46728b
mov eax, str.rollback
jmp 0x467290
mov eax, str.release
mov edi, dword [esp + 0x18]
push eax
push str.cannot__s_savepoint___SQL_statements_in_progress
add edi, 0x38
mov eax, ebx
call fcn.00444f30
add esp, 8
mov dword [esp + 0x1c], 5
jmp case.0x46509f.17
mov eax, dword [edi + 4]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x70], eax
mov edi, dword [edi + 8]
mov dword [esp + 0x74], edi
test eax, eax
je 0x4672ec
cmp byte [esi + 0x1c], 0
jne 0x4672ec
mov ebx, 1
mov dword [esp + 0x78], ebx
test edi, edi
je 0x467310
cmp dword [esi + 0x8c], ebx
jle 0x4672f9
push str.cannot_rollback_transaction___SQL_statements_in_progress
jmp 0x46731e
mov dword [esp + 0x78], 0
mov ebx, 1
movzx ecx, byte [esi + 0x1c]
cmp eax, ecx
jne 0x46a290
test eax, eax
jne 0x46733c
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x46734a
cmp dword [esi + 0x90], 0
jle 0x4672f9
push str.cannot_commit_transaction___SQL_statements_in_progress
mov edi, dword [esp + 0x1c]
add edi, 0x38
mov eax, esi
call fcn.00444f30
add esp, 4
mov dword [esp + 0x1c], 5
jmp case.0x46509f.17
mov eax, str.cannot_rollback___no_transaction_is_active
test edi, edi
jne 0x46734a
mov eax, str.cannot_commit___no_transaction_is_active
mov edi, dword [esp + 0x18]
push eax
add edi, 0x38
mov eax, esi
call fcn.00444f30
add esp, 4
mov dword [esp + 0x1c], ebx
jmp case.0x46509f.17
mov edx, dword [edi + 4]
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 8]
shl edx, 4
mov eax, dword [edx + ecx + 4]
mov dword [esp + 0x70], eax
test eax, eax
je case.0x46509f.17
mov edx, dword [edi + 8]
push edx
push eax
call fcn.0045b0b0
add esp, 8
mov dword [esp + 0x1c], eax
cmp eax, 5
je 0x46a30f
test eax, eax
jne 0x46a342
cmp dword [edi + 8], eax
je case.0x46509f.17
mov edi, dword [esp + 0x18]
cmp byte [edi + 0x67], al
je case.0x46509f.17
mov esi, dword [esp + 0x20]
cmp byte [esi + 0x1c], al
je 0x4673d0
cmp dword [esi + 0x8c], 1
jle case.0x46509f.17
cmp dword [edi + 0x78], 0
jne 0x4673ed
inc dword [esi + 0x1e4]
mov eax, dword [esi + 0x1e4]
mov ecx, dword [esi + 0x1e0]
add ecx, eax
mov dword [edi + 0x78], ecx
mov edx, dword [edi + 0x78]
dec edx
push edx
push 0
push esi
call fcn.00435c30
add esp, 0xc
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x467419
mov eax, dword [edi + 0x78]
push eax
mov eax, dword [esp + 0x74]
call fcn.00439aa0
add esp, 4
mov dword [esp + 0x1c], eax
mov ecx, dword [esi + 0x1f0]
mov dword [edi + 0x98], ecx
mov edx, dword [esi + 0x1f4]
mov dword [edi + 0x9c], edx
jmp case.0x46509f.17
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x74], eax
mov edi, dword [edi + 0xc]
lea ecx, [esp + 0x70]
mov dword [esp + 0x78], edi
push ecx
mov ecx, dword [edx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
push edi
call fcn.00432530
mov eax, dword [esp + 0x78]
cdq
add esp, 8
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jmp case.0x46509f.17
mov edx, dword [edi + 4]
mov eax, dword [esp + 0x20]
shl edx, 4
add edx, dword [eax + 8]
mov dword [esp + 0x70], edx
mov eax, dword [edi + 0xc]
mov edx, dword [esp + 0x24]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
call fcn.004328c0
mov eax, dword [esi + 0x10]
mov ecx, dword [edi + 8]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [edx + 4]
push ecx
call fcn.0044b720
mov dword [esp + 0x24], eax
mov eax, dword [edi + 8]
add esp, 8
cmp eax, 1
jne 0x4674cf
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0xc]
mov edx, dword [esi + 0x10]
mov eax, dword [esp + 0x20]
mov dword [ecx], edx
or dword [eax + 0xc], 0x200
jmp 0x4674e1
cmp eax, 2
jne 0x4674e1
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0xc]
mov dl, byte [esi + 0x10]
mov byte [ecx + 0x4c], dl
cmp dword [edi + 4], 1
jne case.0x46509f.17
mov eax, dword [esp + 0x20]
call fcn.00433290
mov eax, dword [esp + 0x18]
mov byte [eax + 0x63], 0
jmp case.0x46509f.17
mov ecx, dword [edi + 4]
mov esi, dword [esp + 0x20]
mov edx, dword [esi + 8]
shl ecx, 4
mov eax, dword [ecx + edx + 4]
mov dword [esp + 0x78], eax
test eax, eax
je 0x46753b
lea ecx, [esp + 0x70]
push ecx
push 1
call fcn.00432530
mov edx, dword [edi + 4]
mov eax, dword [esi + 8]
add esp, 8
shl edx, 4
mov ecx, dword [edx + eax + 0xc]
mov eax, dword [ecx + 4]
jmp 0x467545
mov dword [esp + 0x70], 0
xor eax, eax
mov edx, dword [esp + 0x70]
mov dword [esp + 0x74], eax
cmp edx, dword [edi + 8]
jne 0x46755b
cmp eax, dword [edi + 0xc]
je case.0x46509f.17
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x38]
push ecx
push esi
call fcn.0042d860
add esp, 8
mov ebx, str.database_schema_has_changed
mov edx, esi
call fcn.00437980
mov ebx, dword [esp + 0x18]
mov dword [ebx + 0x38], eax
mov edi, dword [edi + 4]
mov eax, dword [esi + 8]
mov edx, edi
shl edx, 4
mov ecx, dword [edx + eax + 0xc]
mov edx, dword [ecx]
cmp edx, dword [esp + 0x70]
je 0x46759f
mov eax, edi
mov ecx, esi
call fcn.00447ae0
mov byte [ebx + 0x63], 1
mov dword [esp + 0x1c], 0x11
jmp case.0x46509f.17
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x63], 0
je 0x4675c7
mov dword [esp + 0x1c], 4
jmp case.0x46509f.17
mov esi, dword [esp + 0x20]
xor ecx, ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov edx, dword [edi + 8]
mov dword [esp + 0x78], edx
mov eax, dword [edi + 0xc]
mov dword [esp + 0x7c], eax
shl eax, 4
add eax, dword [esi + 8]
mov dword [esp + 0x8c], eax
mov esi, dword [eax + 4]
mov dword [esp + 0x84], esi
cmp byte [edi], 0x28
jne 0x46761e
mov esi, dword [esp + 0x18]
mov dword [esp + 0x80], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4c]
cmp al, byte [esi + 0x65]
jae 0x467625
mov byte [esi + 0x65], al
jmp 0x467625
mov dword [esp + 0x80], ecx
cmp byte [edi + 3], 0
je 0x46764e
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x24]
lea esi, [edx + ecx*8]
call fcn.004328c0
mov esi, dword [esi + 0x10]
cmp esi, 2
mov dword [esp + 0x78], esi
jl 0x46a327
mov ecx, dword [esp + 0x70]
mov al, byte [edi + 1]
cmp al, 0xfa
jne 0x467679
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov eax, dword [edi + 0x10]
mov dword [esp + 0x74], eax
mov ecx, dword [edx + 8]
mov edx, dword [ecx + 0xc]
mov cl, byte [edx + 0x4d]
mov byte [eax + 4], cl
mov edx, dword [esp + 0x74]
movzx ecx, word [edx + 6]
inc ecx
jmp 0x467680
cmp al, 0xf2
jne 0x467684
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x70], ecx
mov eax, dword [esp + 0x7c]
push 1
push eax
mov eax, dword [esp + 0x20]
push ecx
mov ecx, dword [edi + 4]
push ecx
call fcn.0045f240
add esp, 0x10
mov dword [esp + 0x88], eax
test eax, eax
je 0x4653db
mov byte [eax + 0x1c], 1
mov edx, dword [esp + 0x88]
mov byte [edx + 0x20], 1
mov eax, dword [esp + 0x88]
mov ecx, dword [eax]
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x80]
push ecx
push edx
push eax
mov eax, dword [esp + 0x90]
call fcn.004322c0
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x80]
mov dword [ecx + 8], edx
mov ecx, dword [esp + 0x94]
add esp, 0xc
cmp byte [edi + 1], 0xfa
mov dword [esp + 0x1c], eax
setne al
mov byte [ecx + 0x1e], al
mov eax, dword [esp + 0x88]
cmp byte [eax + 0x1e], 0
sete dl
mov byte [eax + 0x1f], dl
jmp case.0x46509f.17
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
push 1
push 0xffffffffffffffff
push eax
mov eax, dword [esp + 0x24]
push ecx
call fcn.0045f240
add esp, 0x10
mov dword [esp + 0x70], eax
test eax, eax
je 0x4653db
mov byte [eax + 0x1c], 1
movzx edx, byte [edi + 3]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x70]
push 0x41e
or edx, 9
push edx
push eax
mov eax, dword [eax]
add ecx, 4
push eax
xor edx, edx
call fcn.0045de00
add esp, 0x10
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x467838
mov ecx, dword [esp + 0x70]
mov edx, dword [ecx + 4]
push 1
push edx
call fcn.0045b0b0
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x467838
cmp dword [edi + 0x10], eax
je 0x467812
movzx eax, byte [edi + 3]
mov edx, dword [esp + 0x70]
or eax, 2
push eax
mov eax, dword [edx + 4]
lea ecx, [esp + 0x60]
push ecx
call fcn.00458c00
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x467808
mov eax, dword [esp + 0x70]
mov ecx, dword [eax]
mov edx, dword [edi + 0x10]
mov eax, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x60]
push edx
push ecx
mov ebx, 1
call fcn.004322c0
mov edx, dword [edi + 0x10]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x7c]
mov dword [eax + 8], edx
mov edx, dword [ecx]
mov eax, dword [edx + 8]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x7c]
mov eax, dword [edx + 8]
mov cl, byte [ecx + 0x4d]
add esp, 0xc
mov byte [eax + 4], cl
mov edx, dword [esp + 0x70]
mov byte [edx + 0x1e], 0
jmp 0x467838
mov eax, dword [esp + 0x70]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push ecx
push 0
push 1
mov ebx, 1
call fcn.004322c0
mov edx, dword [esp + 0x7c]
add esp, 0xc
mov dword [esp + 0x1c], eax
mov byte [edx + 0x1e], bl
cmp byte [edi + 3], 0x10
mov ecx, dword [esp + 0x70]
setne al
mov byte [ecx + 0x20], al
mov eax, dword [esp + 0x70]
cmp byte [eax + 0x1e], 0
sete dl
mov byte [eax + 0x1f], dl
jmp case.0x46509f.17
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
push 1
push 0xffffffffffffffff
push eax
mov eax, dword [esp + 0x24]
push ecx
call fcn.0045f240
add esp, 0x10
mov dword [esp + 0x70], eax
test eax, eax
je 0x4653db
mov edx, dword [edi + 0x10]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x70]
mov edx, dword [ecx + 8]
mov al, byte [eax + 0x4d]
mov byte [edx + 4], al
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x20]
mov byte [ecx + 0x21], 1
mov edx, dword [esp + 0x70]
push edx
push eax
call fcn.004404f0
add esp, 8
mov dword [esp + 0x1c], eax
jmp case.0x46509f.17
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 4]
mov eax, dword [esp + 0x18]
push 0
push 0xffffffffffffffff
push ecx
push edx
call fcn.0045f240
add esp, 0x10
mov dword [esp + 0x70], eax
test eax, eax
je 0x4653db
mov byte [eax + 0x1c], 1
mov eax, dword [edi + 8]
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x10], eax
mov edx, dword [esp + 0x70]
mov byte [edx + 0x1e], 1
mov eax, dword [esp + 0x70]
mov byte [eax + 0x1f], 0
jmp case.0x46509f.17
mov ecx, dword [edi + 4]
mov edi, dword [esp + 0x18]
mov edx, dword [edi + 0x44]
mov eax, dword [edx + ecx*4]
call fcn.0045ef70
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 4]
mov edx, dword [edi + 0x44]
mov dword [edx + ecx*4], 0
jmp case.0x46509f.17
mov ecx, dword [esp + 0x18]
mov eax, dword [edi + 4]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x78], eax
cmp dword [eax], 0
je 0x4650b8
movzx ecx, byte [edi]
mov dword [esp + 0x74], ecx
mov byte [eax + 0x1c], 0
mov ecx, dword [esp + 0x78]
cmp byte [ecx + 0x1e], 0
je 0x467b16
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x24]
lea esi, [eax + edx*8]
call fcn.00433600
mov ecx, esi
call fcn.004327a0
mov ecx, dword [esp + 0x78]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edx
mov byte [ecx + 0x19], 0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x467aaf
test al, 8
jne 0x4679ad
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x46509f.17
xor ebx, ebx
cmp dword [esp + 0xa0], ebx
jne 0x467a59
mov eax, SysReAllocString
cmp dword [esp + 0xa4], eax
jne 0x467a59
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], ebx
fild qword [esp + 0x68]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
je 0x4679f0
fldz
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x467a59
fldz
mov dword [esp + 0x70], 1
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x467a1c
cmp dword [esp + 0x74], 0x30
jl 0x467a4c
mov edx, dword [esp + 0x78]
mov esi, dword [edx]
lea edi, [esp + 0x70]
call fcn.0045ba80
jmp 0x467a32
cmp dword [esp + 0x74], 0x2f
jg 0x467a4c
mov eax, dword [esp + 0x78]
mov esi, dword [eax]
lea edi, [esp + 0x70]
call fcn.0045bab0
mov dword [esp + 0x1c], eax
cmp eax, ebx
jne 0x46a342
cmp dword [esp + 0x70], ebx
je case.0x46509f.17
mov edi, dword [esp + 0x30]
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x46509f.17
mov eax, dword [esp + 0x74]
cmp eax, 0x2e
je 0x467a8d
cmp eax, 0x30
je 0x467a8d
fild qword [esp + 0xa0]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x467ab1
mov eax, 0xffffffff
add dword [esp + 0xa0], eax
adc dword [esp + 0xa4], eax
jmp 0x467ab1
fild qword [esp + 0xa0]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x467ab1
add dword [esp + 0xa0], 1
adc dword [esp + 0xa4], ebx
jmp 0x467ab1
xor ebx, ebx
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0xa0]
lea ecx, [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x7c]
push ebx
push edx
mov edx, dword [ecx]
push eax
push ebx
push edx
call fcn.0045baf0
add esp, 0x18
mov dword [esp + 0x1c], eax
cmp eax, ebx
jne 0x46a342
cmp dword [esp + 0x70], ebx
jne 0x467ba2
mov eax, dword [esp + 0x78]
mov byte [eax + 0x19], 1
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x78]
mov dword [edx + 0x40], ecx
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0x44], eax
jmp 0x467ba2
mov edx, dword [edi + 0x10]
mov dword [esp + 0x98], edx
mov eax, dword [ecx + 8]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x74]
and eax, 1
add eax, eax
add eax, eax
add eax, eax
mov word [esp + 0x84], dx
mov word [esp + 0x86], ax
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x24]
lea eax, [eax + edx*8]
mov edx, 0x4000
mov dword [esp + 0x90], eax
test word [eax + 0x1c], dx
je 0x467b6f
call fcn.00439c20
mov ecx, dword [esp + 0x78]
lea eax, [esp + 0x70]
push eax
mov eax, dword [ecx]
push 0
push 0
push 0
lea edx, [esp + 0x90]
push edx
push eax
call fcn.0045baf0
add esp, 0x18
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x46a342
mov ecx, dword [esp + 0x78]
mov byte [ecx + 0x19], al
xor ebx, ebx
mov edx, dword [esp + 0x78]
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x78]
mov dword [eax + 0x50], ebx
mov ecx, dword [esp + 0x74]
cmp ecx, 0x30
mov eax, dword [esp + 0x70]
jl 0x467bfc
cmp eax, ebx
jl 0x467bd2
jne 0x467bc9
cmp ecx, 0x31
je 0x467bd2
mov dword [esp + 0x70], ebx
jmp case.0x46509f.17
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
lea ecx, [esp + 0x70]
push ecx
push eax
call fcn.0045e430
add esp, 8
mov dword [esp + 0x1c], eax
cmp eax, ebx
jne 0x46a342
mov ecx, dword [esp + 0x78]
mov byte [ecx + 0x19], 0
jmp 0x467c40
cmp eax, ebx
jg 0x467c18
jne 0x467c07
cmp ecx, 0x2e
je 0x467c18
mov edx, dword [esp + 0x78]
mov ecx, dword [edx]
call fcn.00432470
mov dword [esp + 0x70], eax
jmp 0x467c40
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx]
lea eax, [esp + 0x70]
push eax
push edx
call fcn.0045e550
add esp, 8
mov dword [esp + 0x1c], eax
cmp eax, ebx
jne 0x46a342
mov eax, dword [esp + 0x78]
mov byte [eax + 0x19], 0
cmp dword [esp + 0x70], ebx
je case.0x46509f.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x46509f.17
mov edx, dword [esp + 0x18]
mov ecx, dword [edi + 4]
mov eax, dword [edx + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x70], eax
cmp dword [eax], 0
je case.0x46509f.17
mov edx, dword [esp + 0x24]
mov byte [eax + 0x1c], 0
mov edi, dword [edi + 8]
lea ecx, [edi + edi*4]
lea ecx, [edx + ecx*8]
call fcn.004327a0
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x70]
mov dword [eax + 0x3c], edx
mov ecx, dword [esp + 0x70]
mov byte [ecx + 0x19], 0
mov edx, dword [esp + 0x70]
mov byte [edx + 0x1d], 1
jmp case.0x46509f.17
mov esi, dword [esp + 0x18]
mov ecx, dword [esi + 0x44]
mov ebx, dword [esp + 0x24]
xor edx, edx
mov dword [esp + 0x70], edx
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x74], eax
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [ebx + ecx*8]
mov dword [esp + 0x38], ecx
cmp dword [eax], edx
je 0x467ddb
cmp dword [edi + 0x10], edx
jle 0x467d19
mov edx, dword [eax + 8]
mov dword [esp + 0x88], edx
mov dx, word [edi + 0x10]
mov word [esp + 0x8c], dx
mov dword [esp + 0x98], ecx
mov ecx, 0x10
lea edx, [esp + 0x88]
mov word [esp + 0x8e], cx
mov dword [esp + 0x80], edx
jmp 0x467d77
mov edi, dword [eax + 8]
push 0x97
lea ebx, [esp + 0x80]
lea edx, [esp + 0xa4]
call fcn.0043a5e0
add esp, 4
mov dword [esp + 0x80], eax
test eax, eax
je 0x4653df
push eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 0x18]
mov eax, dword [esp + 0x78]
push ecx
mov ecx, dword [eax + 8]
push edx
push ecx
call fcn.00433180
mov eax, dword [esp + 0x90]
mov edi, dword [esp + 0x40]
add esp, 0x10
or word [eax + 6], 0x10
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x80]
lea edx, [esp + 0x78]
push edx
mov edx, dword [eax]
push 0
push 0
push 0
push ecx
push edx
call fcn.0045baf0
add esp, 0x18
cmp dword [edi + 0x10], 0
mov esi, eax
mov dword [esp + 0x1c], esi
jne 0x467db3
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x20]
push eax
push ecx
call fcn.0042d860
add esp, 8
test esi, esi
jne case.0x46509f.17
mov eax, dword [esp + 0x74]
xor edx, edx
cmp dword [esp + 0x78], edx
sete dl
mov dword [esp + 0x70], edx
mov byte [eax + 0x1d], 0
mov ecx, dword [esp + 0x74]
mov dword [ecx + 0x50], esi
mov edx, dword [esp + 0x70]
cmp byte [edi], 0x34
jne 0x467df5
test edx, edx
je case.0x46509f.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x46509f.17
test edx, edx
jne case.0x46509f.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x46509f.17
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x24]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x10]
lea esi, [ecx + edx*8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x80], ecx
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x44]
mov eax, dword [ecx + edx*4]
mov dword [esp + 0x74], eax
xor ecx, ecx
mov dword [eax + 0x4c], ecx
mov edx, dword [esp + 0x74]
mov dword [edx + 0x50], ecx
mov edx, dword [esp + 0x74]
mov eax, dword [edx]
mov dword [esp + 0x78], eax
mov ecx, dword [edx + 8]
mov cx, word [ecx + 6]
xor ebx, ebx
xor eax, eax
cmp bx, cx
mov ebx, dword [esp + 0x80]
mov word [esp + 0x7c], cx
mov word [esp + 0x70], ax
jae 0x467e91
nop
movzx edx, ax
lea edx, [edx + edx*4]
test byte [ebx + edx*8 + 0x1c], 1
jne 0x467f4e
inc ax
mov word [esp + 0x70], ax
cmp ax, cx
jb 0x467e70
mov edx, dword [esp + 0x74]
cmp dword [esp + 0x78], 0
je case.0x46509f.17
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x7c]
inc ecx
mov edx, 0x20
mov dword [esp + 0x88], eax
mov word [esp + 0x8c], cx
mov word [esp + 0x8e], dx
mov dword [esp + 0x98], ebx
call fcn.004328c0
mov edx, dword [esp + 0x74]
mov eax, dword [esi + 0x10]
add edx, 0x4c
push edx
push 0
mov dword [esp + 0xa8], eax
mov ecx, dword [esi + 0x14]
push 0
push 0
lea eax, [esp + 0x98]
mov dword [esp + 0xb4], ecx
mov ecx, dword [esp + 0x88]
push eax
push ecx
call fcn.0045baf0
add esp, 0x18
test byte [esp + 0x8e], 0x20
mov dword [esp + 0x1c], eax
jne 0x4650b8
mov eax, dword [esp + 0x90]
cmp eax, dword [esp + 0xa0]
jne 0x467f3c
mov edx, dword [esp + 0x94]
cmp edx, dword [esp + 0xa4]
je 0x4650b8
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x94]
mov dword [esi + 0x14], eax
jmp case.0x46509f.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x78], 0
jmp case.0x46509f.17
mov eax, dword [edi + 0xc]
mov edx, dword [esp + 0x24]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 4]
lea esi, [edx + ecx*8]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x44]
mov ecx, dword [edx + eax*4]
mov dword [esp + 0x70], ecx
mov eax, dword [ecx]
xor edx, edx
mov dword [esp + 0x74], eax
cmp eax, edx
je 0x468024
mov dword [esp + 0x78], edx
mov ecx, dword [esi + 0x10]
lea ebx, [esp + 0x78]
push ebx
push 0
mov dword [esp + 0x88], ecx
mov edx, dword [esi + 0x14]
push edx
push ecx
push 0
push eax
mov dword [esp + 0x9c], edx
call fcn.0045baf0
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x40], eax
mov edx, dword [esi + 0x14]
mov eax, dword [esp + 0x88]
mov dword [eax + 0x44], edx
mov edx, dword [esp + 0x88]
add esp, 0x18
cmp dword [esp + 0x78], 0
sete cl
mov byte [edx + 0x19], cl
mov eax, dword [esp + 0x70]
mov byte [eax + 0x1c], 0
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x50], 0
mov edx, dword [esp + 0x70]
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x78]
test eax, eax
je 0x468018
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x4c], eax
jmp case.0x46509f.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
mov dword [ecx + 0x4c], edx
jmp case.0x46509f.17
mov edx, dword [edi + 4]
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x44]
mov eax, dword [eax + edx*4]
mov edx, dword [eax + 0x30]
mov dword [ebx + 0x10], edx
mov eax, dword [eax + 0x34]
mov dword [ebx + 0x14], eax
mov edx, dword [edi + 4]
mov eax, dword [ecx + 0x44]
mov eax, dword [eax + edx*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
jmp case.0x46509f.17
mov edx, dword [esp + 0x18]
mov edx, dword [edx + 0x44]
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x7c], eax
mov ecx, dword [edi + 4]
mov edx, dword [edx + ecx*4]
mov dword [esp + 0x78], edx
mov ecx, dword [edx]
cmp ecx, eax
je 0x46832d
cmp byte [edx + 0x1b], al
jne 0x468222
call fcn.00432340
mov ecx, eax
or ecx, edx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
jne 0x46811e
mov edx, dword [esp + 0x78]
mov esi, dword [edx]
lea edi, [esp + 0x7c]
call fcn.0045bab0
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x46a342
cmp dword [esp + 0x7c], eax
je 0x4680d2
mov eax, 1
xor edx, edx
jmp 0x468112
mov eax, dword [esp + 0x78]
mov eax, dword [eax]
lea edi, [esp + 0x70]
call fcn.00432380
mov edx, dword [esp + 0x74]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x70]
cmp eax, 0xffffffff
jne 0x46810c
cmp edx, 0x7fffffff
jne 0x46810c
mov ecx, dword [esp + 0x78]
mov byte [ecx + 0x1b], 1
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
jmp 0x46811a
add eax, 1
adc edx, 0
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], eax
mov edi, dword [esp + 0x30]
mov esi, dword [edi + 0xc]
test esi, esi
je 0x4681e6
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0xa8]
test ecx, ecx
je 0x46816e
mov dword [esp + 0x88], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
je 0x468160
jmp 0x468150
mov ecx, eax
mov dword [esp + 0x88], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
jne 0x468150
mov edi, dword [edi + 0xc]
mov ecx, dword [ecx + 0x10]
lea eax, [edi + edi*4]
lea esi, [ecx + eax*8]
jmp 0x468178
mov eax, dword [esp + 0x24]
lea edx, [esi + esi*4]
lea esi, [eax + edx*8]
mov dword [esp + 0x84], esi
call fcn.004328c0
mov edx, dword [esp + 0x84]
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x14]
add edx, 0x10
cmp eax, 0xffffffff
jne 0x4681a5
cmp ecx, 0x7fffffff
je 0x46a33a
mov esi, dword [esp + 0x78]
cmp byte [esi + 0x1b], 0
jne 0x46a33a
mov esi, dword [esp + 0x74]
add eax, 1
adc ecx, 0
cmp esi, ecx
jg 0x4681d1
jl 0x4681c9
cmp dword [esp + 0x70], eax
jae 0x4681d1
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x70]
mov dword [edx], ecx
mov eax, dword [esp + 0x74]
mov dword [edx + 4], eax
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
cmp edx, 0x7fffffff
jg 0x4681fd
jl 0x4681f5
cmp eax, 0xffffffff
jae 0x4681fd
add eax, 1
adc edx, 0
jmp 0x468201
xor eax, eax
xor edx, edx
mov ecx, dword [esp + 0x78]
mov esi, dword [ecx]
push edx
push eax
call fcn.00432310
mov edx, dword [esp + 0x80]
add esp, 8
cmp byte [edx + 0x1b], 0
je 0x468312
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
and eax, 0x3fffffff
add ecx, 1
lea esi, [esp + 0x7c]
push esi
push 0
adc eax, 0
push eax
push ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
mov dword [esp + 0x90], 0
mov edx, dword [edx]
push 0
push edx
call fcn.0045baf0
add esp, 0x18
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x46830e
mov ecx, dword [esp + 0x7c]
test ecx, ecx
jne 0x4682ff
mov eax, dword [esp + 0x80]
inc eax
cmp eax, 0x64
mov dword [esp + 0x80], eax
jge 0x4682ff
lea eax, [esp + 0x70]
push eax
push 8
call fcn.00437c70
mov eax, dword [esp + 0x78]
add esp, 8
cmp dword [esp + 0x80], 5
jge 0x4682b6
and eax, 0xffffff
xor ecx, ecx
jmp 0x4682c0
mov ecx, dword [esp + 0x74]
and ecx, 0x3fffffff
add eax, 1
lea edx, [esp + 0x7c]
push edx
adc ecx, 0
push 0
push ecx
push eax
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x84], ecx
mov ecx, dword [eax]
push 0
push ecx
call fcn.0045baf0
add esp, 0x18
mov dword [esp + 0x1c], eax
test eax, eax
je 0x468270
jmp 0x46830e
cmp dword [esp + 0x1c], 0
jne 0x46830e
test ecx, ecx
je 0x46a33a
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x2c]
mov byte [edx + 0x19], 0
mov edx, dword [esp + 0x78]
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x78]
mov dword [eax + 0x50], 0
mov ecx, dword [esp + 0x70]
mov dword [ebx + 0x10], ecx
mov edx, dword [esp + 0x74]
mov dword [ebx + 0x14], edx
jmp case.0x46509f.17
mov eax, dword [edi + 8]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebx + 0x44]
mov dword [esp + 0x70], esi
mov edx, dword [edi + 4]
mov edx, dword [eax + edx*4]
mov dword [esp + 0x80], edx
cmp byte [edi], 0x39
mov eax, dword [edi + 0xc]
jne 0x468383
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x74], ecx
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x78], eax
mov edx, dword [ecx + 0x14]
jmp 0x468388
cdq
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
test byte [edi + 3], 1
je 0x468395
inc dword [ebx + 0x6c]
test byte [edi + 3], 2
je 0x4683b5
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x30], eax
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x7c]
mov dword [ecx + 0x34], edx
mov esi, dword [esp + 0x70]
mov dword [esp + 0x40], eax
xor eax, eax
test byte [esi + 0x1c], 1
je 0x4683cb
mov dword [esi + 4], eax
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x18], eax
mov esi, dword [esp + 0x70]
test byte [edi + 3], 0x10
je 0x4683e4
mov edx, dword [esp + 0x80]
mov ecx, dword [edx + 0x4c]
mov dword [esp + 0x88], ecx
jmp 0x4683eb
mov dword [esp + 0x88], eax
mov edx, 0x4000
test word [esi + 0x1c], dx
je 0x4683f9
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x84], eax
mov esi, dword [ecx]
push 0
push 0
call fcn.00432310
movzx edx, byte [edi + 3]
mov eax, dword [esp + 0x8c]
and edx, 8
push edx
push eax
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [edx]
push ecx
push 0
push eax
mov eax, dword [esp + 0xb0]
call fcn.0045e670
mov ecx, dword [esp + 0xa8]
mov byte [ecx + 0x19], 0
mov edx, dword [esp + 0xa8]
mov byte [edx + 0x1d], 0
mov ecx, dword [esp + 0xa8]
add esp, 0x28
mov dword [esp + 0x1c], eax
mov dword [ecx + 0x50], 0
test eax, eax
jne case.0x46509f.17
mov edx, dword [esp + 0x20]
cmp dword [edx + 0xbc], eax
je case.0x46509f.17
cmp dword [edi + 0x10], eax
je case.0x46509f.17
mov eax, dword [esp + 0x80]
mov edx, dword [eax + 0xc]
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 8]
shl edx, 4
mov edx, dword [edx + eax]
mov dword [esp + 0x8c], edx
mov esi, dword [edi + 0x10]
mov dword [esp + 0x90], esi
mov al, byte [edi + 3]
mov edi, dword [esp + 0x7c]
and al, 4
movzx eax, al
push edi
mov edi, dword [esp + 0x7c]
neg eax
sbb eax, eax
push edi
and eax, 5
add eax, 0x12
push esi
push edx
mov dword [esp + 0xa4], eax
mov edx, dword [ecx + 0xb8]
push eax
mov eax, dword [ecx + 0xbc]
push edx
call eax
add esp, 0x18
jmp case.0x46509f.17
mov esi, dword [esp + 0x18]
mov edx, dword [esi + 0x44]
xor ebx, ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov ecx, dword [edi + 4]
mov eax, dword [edx + ecx*4]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x78], eax
cmp dword [ecx + 0xbc], ebx
je 0x468544
cmp dword [edi + 0x10], ebx
je 0x468544
mov edx, dword [eax + 0x40]
mov dword [esp + 0x70], edx
mov ecx, dword [eax + 0x44]
mov dword [esp + 0x74], ecx
push eax
call fcn.0045efc0
add esp, 4
mov dword [esp + 0x1c], eax
cmp eax, ebx
jne 0x46a346
mov edx, dword [esp + 0x78]
mov esi, dword [edx]
push 0
push 0
call fcn.00432310
mov eax, dword [esp + 0x80]
mov ecx, dword [eax]
push ecx
call fcn.0045e870
mov edx, dword [esp + 0x84]
add esp, 0xc
mov dword [esp + 0x1c], eax
mov dword [edx + 0x50], 0
test eax, eax
jne 0x4685d2
mov edx, dword [esp + 0x20]
mov ecx, dword [edx + 0xbc]
test ecx, ecx
je 0x4685d2
mov eax, dword [edi + 0x10]
test eax, eax
je 0x4685d2
mov esi, dword [esp + 0x74]
push esi
mov esi, dword [esp + 0x74]
push esi
mov esi, dword [edx + 8]
mov edx, dword [edx + 0xb8]
push eax
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 0xc]
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 case.0x46509f.17
mov eax, dword [esp + 0x18]
inc dword [eax + 0x6c]
jmp case.0x46509f.17
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0x6c]
mov eax, dword [esp + 0x20]
call fcn.00433270
mov dword [edx + 0x6c], 0
jmp case.0x46509f.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x70], eax
mov edi, dword [edi + 0xc]
lea ecx, [edi + edi*4]
lea esi, [edx + ecx*8]
lea ebx, [esp + 0x74]
mov edi, eax
call fcn.0044ca30
cmp dword [esp + 0x74], 0
mov dword [esp + 0x1c], eax
je case.0x46509f.17
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 8]
dec eax
mov dword [esp + 0x28], eax
jmp case.0x46509f.17
mov eax, dword [edi + 8]
mov edx, dword [esp + 0x24]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 4]
lea ecx, [edx + ecx*8]
mov edx, dword [esp + 0x18]
mov edx, dword [edx + 0x44]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x70], eax
call fcn.0043ac10
mov dword [esp + 0x1c], eax
jmp case.0x46509f.17
mov eax, dword [edi + 8]
mov ecx, dword [esp + 0x24]
mov edx, dword [edi + 4]
mov esi, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [esi + 0x44]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x70], eax
mov ecx, dword [eax]
push eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x78], ecx
call fcn.0045efc0
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x46a346
mov edx, dword [esp + 0x70]
cmp byte [edx + 0x1f], 0
mov eax, dword [esp + 0x74]
je 0x468702
lea edi, [esp + 0x80]
call fcn.00432380
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x48]
mov ecx, dword [esp + 0x84]
cdq
cmp ecx, edx
jg 0x465b3e
mov ecx, dword [esp + 0x80]
jl 0x4686fc
cmp ecx, eax
ja 0x465b3e
mov dword [esp + 0x78], ecx
jmp 0x468720
lea edx, [esp + 0x78]
push edx
call fcn.004323b0
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x24]
add esp, 4
cmp ecx, dword [eax + 0x48]
ja 0x465b3e
xor eax, eax
call fcn.00439b40
test eax, eax
jne 0x4653df
mov dx, word [ebx + 0x1c]
mov ecx, dword [esp + 0x78]
mov eax, 0xbf10
and dx, ax
mov eax, dword [ebx + 4]
or dx, 0x10
mov dword [ebx + 0x18], ecx
mov word [ebx + 0x1c], dx
mov ecx, dword [esp + 0x70]
cmp byte [ecx + 0x1f], 0
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
je 0x468777
push edx
xor edx, edx
call fcn.00457890
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [ebx + 0x1f], 1
jmp case.0x46509f.17
push eax
push ecx
push 0
push edx
call fcn.0045e3f0
add esp, 0x10
mov dword [esp + 0x1c], eax
mov byte [ebx + 0x1f], 1
jmp case.0x46509f.17
mov esi, dword [esp + 0x18]
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x70], eax
cmp byte [eax + 0x1c], 0
je 0x4687b6
mov edx, 1
mov word [ebx + 0x1c], dx
jmp case.0x46509f.17
cmp byte [eax + 0x1d], 0
je 0x4687d9
mov ecx, dword [eax + 0x38]
mov dword [esp + 0x78], ecx
mov edx, dword [eax + 0x3c]
mov dword [esp + 0x7c], edx
mov dword [ebx + 0x10], ecx
mov edx, dword [esp + 0x7c]
mov dword [ebx + 0x14], edx
jmp case.0x46509f.17
cmp dword [eax + 0x24], 0
je 0x46882c
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx]
mov dword [esp + 0x80], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x84], ecx
mov eax, dword [eax + 0x24]
mov ecx, dword [ecx + 0x30]
lea edx, [esp + 0x78]
push edx
push eax
call ecx
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x20]
add esp, 8
mov dword [esp + 0x1c], eax
call fcn.0043a9a0
mov ecx, dword [esp + 0x78]
mov dword [ebx + 0x10], ecx
mov edx, dword [esp + 0x7c]
mov dword [ebx + 0x14], edx
jmp case.0x46509f.17
push eax
call fcn.0045efc0
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x46a346
mov eax, dword [esp + 0x70]
cmp byte [eax + 0x19], 0
je 0x46886a
mov edx, dword [eax + 0x40]
mov dword [esp + 0x78], edx
mov eax, dword [eax + 0x44]
mov dword [esp + 0x7c], eax
mov ecx, edx
mov dword [ebx + 0x10], ecx
mov edx, dword [esp + 0x7c]
mov dword [ebx + 0x14], edx
jmp case.0x46509f.17
mov eax, dword [eax]
lea edi, [esp + 0x78]
call fcn.00432380
mov ecx, dword [esp + 0x78]
mov dword [ebx + 0x10], ecx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x1c], eax
mov dword [ebx + 0x14], edx
jmp case.0x46509f.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x70], eax
mov byte [eax + 0x1c], 1
mov eax, dword [esp + 0x70]
mov byte [eax + 0x19], 0
mov ecx, dword [esp + 0x70]
mov esi, dword [ecx]
test esi, esi
je case.0x46509f.17
call fcn.00431c50
jmp case.0x46509f.17
mov edx, dword [edi + 4]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x44]
mov eax, dword [ecx + edx*4]
mov dword [esp + 0x70], eax
mov esi, dword [eax]
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], 0
test esi, esi
je 0x4688f9
lea edi, [esp + 0x78]
call fcn.0045bab0
mov edi, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x70]
mov dl, byte [esp + 0x78]
mov byte [eax + 0x1c], dl
mov eax, dword [esp + 0x70]
mov byte [eax + 0x1d], 0
mov ecx, dword [esp + 0x70]
mov byte [ecx + 0x19], 0
mov edx, dword [esp + 0x70]
mov dword [edx + 0x50], 0
mov edi, dword [edi + 8]
test edi, edi
jle case.0x46509f.17
cmp dword [esp + 0x78], 0
je case.0x46509f.17
dec edi
mov dword [esp + 0x28], edi
jmp case.0x46509f.17
mov eax, dword [esp + 0x18]
inc dword [eax + 0x80]
jmp 0x46894b
mov eax, dword [esp + 0x18]
mov ecx, dword [edi + 4]
mov edx, dword [eax + 0x44]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], 1
cmp dword [eax + 0x48], 0
je 0x46897f
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x78]
push ecx
push eax
push edx
call fcn.00452e10
add esp, 0xc
mov dword [esp + 0x1c], eax
jmp 0x4689c2
mov eax, dword [eax]
lea edi, [esp + 0x78]
mov esi, eax
mov dword [esp + 0x74], eax
call fcn.0045ba80
cmp dword [esp + 0x78], 0
mov ecx, dword [esp + 0x70]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
sete al
mov byte [ecx + 0x1a], al
mov edx, dword [esp + 0x70]
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x70]
mov dword [eax + 0x50], 0
mov ecx, dword [esp + 0x70]
mov byte [ecx + 0x19], 0
mov dl, byte [esp + 0x78]
mov eax, dword [esp + 0x70]
mov byte [eax + 0x1c], dl
cmp dword [esp + 0x78], 0
je case.0x46509f.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x46509f.17
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0xe0]
test edx, edx
jne 0x46a389
mov esi, dword [esp + 0x18]
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x70], eax
test eax, eax
je case.0x46509f.17
cmp dword [eax + 0x48], edx
je 0x468a28
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x74]
push edx
call fcn.0044c990
add esp, 4
jmp 0x468a40
mov dword [esp + 0x74], 1
mov edx, dword [eax]
mov eax, dword [edi + 0x10]
lea ecx, [esp + 0x74]
push ecx
push edx
call eax
add esp, 8
mov ecx, dword [esp + 0x70]
mov dl, byte [esp + 0x74]
mov byte [ecx + 0x1c], dl
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x70]
mov dword [eax + 0x50], 0
cmp dword [esp + 0x74], 0
jne 0x468a7b
mov eax, dword [edi + 8]
dec eax
mov dword [esp + 0x28], eax
mov al, byte [edi + 3]
test al, al
je 0x468a7b
movzx ecx, al
inc dword [esi + ecx*4 + 0x78]
lea eax, [esi + ecx*4 + 0x78]
mov edx, dword [esp + 0x70]
mov byte [edx + 0x19], 0
jmp case.0x46509f.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x44]
mov ecx, dword [edx + eax*4]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x70], ecx
mov eax, dword [edi + 8]
mov ebx, dword [ecx]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov dword [esp + 0x74], ebx
test ebx, ebx
je case.0x46509f.17
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x468ada
mov eax, esi
call fcn.00439c20
mov dword [esp + 0x1c], eax
test eax, eax
jne case.0x46509f.17
mov ebx, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
cmp dword [ecx + 0x48], 0
je 0x468af7
mov eax, dword [esp + 0x20]
push esi
push ecx
call fcn.0044c840
add esp, 8
mov dword [esp + 0x1c], eax
jmp case.0x46509f.17
mov eax, dword [esi + 0x18]
mov dword [esp + 0x78], eax
mov esi, dword [esi + 4]
mov dword [esp + 0x7c], esi
test byte [edi + 3], 0x10
je 0x468b10
mov ecx, dword [ecx + 0x4c]
jmp 0x468b12
xor ecx, ecx
mov edx, dword [edi + 0xc]
push edx
push 0
push 0
cdq
push 0x494702
push edx
push eax
push esi
push ebx
mov eax, ecx
call fcn.0045e670
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x90]
add esp, 0x20
mov dword [eax + 0x50], 0
jmp case.0x46509f.17
mov ecx, dword [edi + 4]
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x70], eax
mov ecx, dword [eax]
mov dword [esp + 0x74], ecx
test ecx, ecx
je case.0x46509f.17
mov edx, dword [eax + 8]
mov dword [esp + 0x80], edx
mov ax, word [edi + 0xc]
xor edx, edx
mov word [esp + 0x84], ax
mov word [esp + 0x86], dx
mov edi, dword [edi + 8]
mov edx, dword [esp + 0x24]
lea eax, [edi + edi*4]
lea eax, [edx + eax*8]
lea edx, [esp + 0x78]
push edx
push 0
push 0
mov dword [esp + 0x9c], eax
push 0
lea eax, [esp + 0x90]
push eax
push ecx
call fcn.0045baf0
add esp, 0x18
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x468bd3
cmp dword [esp + 0x78], eax
jne 0x468bd3
mov ecx, dword [esp + 0x74]
push ecx
call fcn.0045e870
add esp, 4
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x70]
mov dword [edx + 0x50], 0
jmp case.0x46509f.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x74], eax
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov ecx, 1
mov word [ebx + 0x1c], cx
cmp dword [esp + 0x70], 0
je case.0x46509f.17
mov edx, dword [esp + 0x74]
push edx
call fcn.0045efc0
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x46a342
mov eax, dword [esp + 0x74]
cmp byte [eax + 0x1c], 0
jne case.0x46509f.17
mov eax, dword [esp + 0x70]
lea ecx, [esp + 0x78]
push ecx
call fcn.0045f050
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x46a342
mov edx, dword [esp + 0x78]
mov dword [ebx + 0x10], edx
mov eax, dword [esp + 0x7c]
mov ecx, 4
mov dword [ebx + 0x14], eax
mov word [ebx + 0x1c], cx
jmp case.0x46509f.17
mov eax, dword [esp + 0x18]
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x44]
mov eax, dword [ecx + edx*4]
mov dword [esp + 0x70], eax
cmp dword [eax], 0
je case.0x46509f.17
mov edx, dword [eax + 8]
mov dword [esp + 0x78], edx
mov cx, word [edi + 0x10]
mov word [esp + 0x7c], cx
cmp byte [edi + 3], 0
je 0x468caa
mov edx, 0xc
mov word [esp + 0x7e], dx
jmp 0x468cb4
mov ecx, 4
mov word [esp + 0x7e], cx
mov ecx, dword [edi + 0xc]
lea edx, [ecx + ecx*4]
mov ecx, dword [esp + 0x24]
lea edx, [ecx + edx*8]
lea ecx, [esp + 0x74]
mov dword [esp + 0x88], edx
push ecx
lea edx, [esp + 0x7c]
push edx
call fcn.0045f170
add esp, 8
cmp byte [edi], 0x64
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x74]
jne 0x468ceb
neg eax
jmp 0x468cec
inc eax
mov dword [esp + 0x74], eax
test eax, eax
jle case.0x46509f.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x46509f.17
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x74], 0
mov eax, dword [ecx + 0x88]
mov dword [esp + 0x78], eax
mov edx, 1
test eax, eax
je 0x468d48
cmp dword [eax + 0x34], 0xbdf20da3
jne 0x468d3d
cmp byte [eax + 0x66], 2
jae 0x468d3d
cmp dword [eax + 0x58], 0
jl 0x468d3d
add dword [esp + 0x74], edx
mov eax, dword [eax + 0x40]
mov dword [esp + 0x78], eax
test eax, eax
jne 0x468d24
mov eax, edx
mov word [ebx + 0x1c], ax
cmp dword [esp + 0x74], edx
jle 0x468d69
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], 6
mov byte [ecx + 0x60], 2
jmp case.0x46509f.17
mov eax, dword [edi + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [ecx + 8]
lea edx, [esp + 0x70]
push edx
mov edx, dword [edi + 4]
shl eax, 4
mov eax, dword [eax + ecx + 4]
push edx
call fcn.0045ce00
mov ecx, eax
mov edx, 4
mov word [ebx + 0x1c], dx
mov eax, dword [esp + 0x78]
cdq
add esp, 8
mov dword [esp + 0x1c], ecx
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
test ecx, ecx
jne case.0x46509f.17
mov esi, dword [esp + 0x70]
test esi, esi
je case.0x46509f.17
mov edi, dword [edi + 4]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x20]
call fcn.00434690
mov al, byte [esp + 0x7c]
inc al
mov byte [esp + 0x3f], al
jmp case.0x46509f.17
mov dword [esp + 0x70], 0
mov eax, dword [edi + 0xc]
mov edx, dword [edi + 4]
neg eax
sbb eax, eax
lea ecx, [esp + 0x70]
and eax, ecx
mov ecx, dword [esp + 0x20]
push eax
mov eax, dword [edi + 8]
push edx
mov edx, dword [ecx + 8]
shl eax, 4
mov ebx, dword [eax + edx + 4]
call fcn.0045cbc0
add esp, 8
cmp dword [edi + 0xc], 0
mov dword [esp + 0x1c], eax
je case.0x46509f.17
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x18]
add dword [ecx + 0x6c], eax
mov edi, dword [edi + 0xc]
test edi, edi
jle case.0x46509f.17
mov edx, dword [esp + 0x24]
lea ecx, [edi + edi*4]
lea ecx, [edx + ecx*8 + 0x10]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.0x46509f.17
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x70], 0
mov eax, dword [edi + 4]
shl eax, 4
add eax, dword [ecx + 8]
xor ecx, ecx
mov dword [esp + 0x78], eax
cmp byte [edi], 0x69
lea edx, [esp + 0x70]
setne cl
inc ecx
push ecx
mov dword [esp + 0x78], ecx
mov eax, dword [eax + 4]
push edx
call fcn.00458c00
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x78]
cdq
add esp, 8
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jmp case.0x46509f.17
mov eax, dword [edi + 4]
mov dword [esp + 0x70], eax
mov ecx, str.sqlite_temp_master
cmp eax, 1
je 0x468ea6
mov ecx, str.sqlite_master
mov esi, dword [esp + 0x20]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x7c], esi
mov edx, dword [edi + 4]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x18]
add edx, 0x38
mov dword [esp + 0x84], 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.0043e590
add esp, 0x10
mov dword [esp + 0x78], eax
test eax, eax
je 0x4653db
push 0
lea eax, [esp + 0x80]
push eax
mov byte [esi + 0x7c], 1
mov ecx, dword [esp + 0x80]
push fcn.00463640
push ecx
push esi
mov dword [esp + 0x9c], 0
call fcn.0046b610
mov edi, eax
add esp, 0x14
mov dword [esp + 0x1c], edi
test edi, edi
jne 0x468f38
mov edx, dword [esp + 0x88]
mov dword [esp + 0x1c], edx
mov edi, edx
mov eax, dword [esp + 0x78]
push eax
push esi
call fcn.0042d860
add esp, 8
mov byte [esi + 0x7c], 0
cmp edi, 7
je 0x4653db
jmp case.0x46509f.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x20]
call fcn.00441120
mov dword [esp + 0x1c], eax
jmp case.0x46509f.17
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
mov esi, dword [esp + 0x20]
call fcn.00441650
jmp case.0x46509f.17
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x20]
call fcn.0043bb00
jmp case.0x46509f.17
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
mov edi, dword [esp + 0x20]
call fcn.0043c660
jmp case.0x46509f.17
mov eax, dword [edi + 8]
mov esi, dword [esp + 0x20]
lea ecx, [eax*4 + 4]
mov dword [esp + 0x70], eax
call fcn.00437860
mov dword [esp + 0x74], eax
test eax, eax
je 0x4653db
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x24]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dword [esp + 0x84], ecx
mov ecx, dword [edi + 4]
lea ecx, [ecx + ecx*4]
lea esi, [edx + ecx*8]
xor ecx, ecx
cmp dword [esp + 0x70], ecx
mov dword [esp + 0x78], ecx
jle 0x46901e
lea edx, [ecx + ecx*4]
lea ecx, [esi + edx*8]
call fcn.004327a0
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov dword [edx + ecx*4], eax
mov ecx, dword [esp + 0x78]
inc ecx
cmp ecx, dword [esp + 0x70]
mov dword [esp + 0x78], ecx
jl 0x468ff5
mov eax, dword [esp + 0x74]
mov dword [eax + ecx*4], 0
mov ecx, dword [esp + 0x84]
mov edx, dword [ecx + 0x10]
mov ecx, dword [esp + 0x74]
lea eax, [esp + 0x7c]
push eax
mov eax, dword [esp + 0x74]
push edx
movzx edx, byte [edi + 3]
mov edi, dword [esp + 0x28]
push eax
mov eax, dword [edi + 8]
shl edx, 4
mov edx, dword [edx + eax + 4]
call fcn.00459540
mov ecx, dword [esp + 0x80]
push ecx
push edi
mov dword [esp + 0x94], eax
call fcn.0042d860
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x98]
cdq
add ecx, 0x10
add esp, 0x14
sub dword [ecx], eax
sbb dword [ecx + 4], edx
call fcn.004329a0
cmp dword [esp + 0x7c], 0
je 0x4690b4
mov eax, dword [esp + 0x80]
test eax, eax
je 0x4653db
push 1
push eax
mov eax, fcn.0042d800
or ecx, 0xffffffff
mov edx, esi
call fcn.00446680
add esp, 8
movzx ecx, byte [esp + 0x34]
mov eax, esi
call fcn.004465e0
jmp case.0x46509f.17
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x24]
test byte [eax + edx*8 + 0x1c], 0x20
lea esi, [eax + edx*8]
lea ecx, [edi + edi*4]
lea ebx, [eax + ecx*8]
jne 0x4690f3
mov edi, esi
call fcn.00439e20
test byte [esi + 0x1c], 0x20
je 0x4653db
mov edx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x10]
mov edi, dword [esi + 0x10]
push edx
push eax
call fcn.004383b0
add esp, 8
jmp case.0x46509f.17
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0xe0]
test edx, edx
jne 0x46a389
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x24]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea ebx, [ecx + eax*8]
je 0x469165
mov eax, dword [ebx + 0x10]
lea esi, [esp + 0x70]
call fcn.004304d0
test eax, eax
je 0x469165
mov edx, dword [esp + 0x74]
mov edi, dword [edi + 0xc]
mov eax, dword [esp + 0x70]
push edx
mov edx, dword [esp + 0x28]
lea ecx, [edi + edi*4]
push eax
lea esi, [edx + ecx*8]
call fcn.00439db0
add esp, 8
jmp case.0x46509f.17
mov esi, ebx
call fcn.004329a0
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x46509f.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x10]
lea ebx, [ecx + edx*8]
mov dword [esp + 0x70], eax
test byte [esi + 0x1c], 0x20
mov dword [esp + 0x38], ebx
jne 0x4691b9
mov edi, esi
call fcn.00439e20
test byte [esi + 0x1c], 0x20
je 0x4653db
mov eax, dword [esp + 0x70]
mov edi, dword [esp + 0x30]
test eax, eax
je 0x469203
jl 0x4691c4
and eax, 0xf
jmp 0x4691c9
mov eax, 0xff
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x10]
push ecx
mov bl, al
mov eax, dword [esi + 0x10]
push edx
call fcn.00430510
add esp, 8
mov dword [esp + 0x74], eax
test eax, eax
je 0x4691f3
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x46509f.17
mov eax, dword [esp + 0x70]
mov ebx, dword [esp + 0x38]
test eax, eax
jl case.0x46509f.17
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x10]
mov edi, dword [esi + 0x10]
push eax
push ecx
call fcn.004383b0
add esp, 8
jmp case.0x46509f.17
mov ecx, dword [edi + 0x10]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x88], ecx
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x24]
lea edx, [eax + edx*8]
mov dword [esp + 0x78], edx
cmp byte [edi + 3], 0
je 0x469277
mov eax, dword [esi + 0xa8]
mov edi, dword [ecx + 0x10]
mov dword [esp + 0x8c], edi
mov dword [esp + 0x84], eax
test eax, eax
je 0x469277
jmp 0x469260
cmp dword [eax + 0x20], edi
je case.0x46509f.17
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x84], eax
test eax, eax
jne 0x469260
mov eax, dword [esi + 0xb0]
mov ebx, dword [esp + 0x20]
cmp eax, dword [ebx + 0x70]
jl 0x4692a5
push str.too_many_levels_of_trigger_recursion
lea edi, [esi + 0x38]
mov eax, ebx
mov dword [esp + 0x20], 1
call fcn.00444f30
add esp, 4
jmp case.0x46509f.17
test byte [edx + 0x1c], 0x40
jne 0x4693fc
mov eax, dword [ecx + 8]
add eax, dword [ecx + 0xc]
lea edx, [eax + eax*4]
mov dword [esp + 0x70], eax
mov eax, dword [ecx + 0xc]
lea edi, [eax + edx*2]
lea edi, [edi*4 + 0x40]
mov eax, ebx
mov dword [esp + 0x74], edi
call fcn.0043d770
mov dword [esp + 0x84], eax
test eax, eax
je 0x4653df
mov ecx, dword [esp + 0x78]
push ecx
call fcn.00439d40
mov eax, dword [esp + 0x7c]
mov edx, 0x40
mov word [eax + 0x1c], dx
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x7c]
mov dword [edx + 0x10], ecx
mov eax, dword [esp + 0x88]
mov dword [eax], esi
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x74]
mov dword [ecx + 0x24], edx
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x88]
mov dword [edx + 0x28], ecx
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x2c]
mov dword [eax + 4], ecx
mov edx, dword [esi + 8]
mov eax, dword [esp + 0x88]
mov dword [eax + 0x10], edx
mov edx, dword [esp + 0x88]
mov ecx, dword [esi + 0x18]
mov dword [edx + 0x14], ecx
mov eax, dword [esi + 0x44]
mov ecx, dword [esp + 0x88]
mov dword [ecx + 0x18], eax
mov dx, word [esi + 0x32]
mov eax, dword [esp + 0x88]
mov word [eax + 0x1c], dx
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x88]
mov dword [edx + 8], ecx
mov eax, dword [esi + 0x1c]
mov ecx, dword [esp + 0x88]
mov dword [ecx + 0xc], eax
mov edx, dword [esp + 0x8c]
mov eax, dword [edx + 0x10]
mov ecx, dword [esp + 0x88]
mov dword [ecx + 0x20], eax
mov ecx, dword [esp + 0x88]
mov eax, dword [ecx + 0x24]
lea edx, [eax + eax*4]
lea edx, [ecx + edx*8 + 0x40]
lea eax, [ecx + 0x40]
add esp, 4
mov dword [esp + 0x80], edx
mov dword [esp + 0x7c], eax
cmp eax, edx
je 0x469406
jmp 0x4693d0
mov ecx, 1
mov word [eax + 0x1c], cx
mov edx, dword [esp + 0x7c]
mov dword [edx], ebx
mov eax, dword [esp + 0x7c]
add eax, 0x28
mov dword [esp + 0x7c], eax
cmp eax, dword [esp + 0x80]
jne 0x4693d0
mov ecx, dword [esp + 0x84]
jmp 0x469406
mov ecx, dword [edx + 0x10]
mov dword [esp + 0x84], ecx
inc dword [esi + 0xb0]
mov eax, dword [esi + 0xa8]
mov edx, dword [esp + 0x40]
mov dword [ecx + 0x3c], eax
mov ecx, dword [esp + 0x84]
mov dword [ecx + 0x30], edx
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x44]
mov dword [eax + 0x34], ecx
mov edx, dword [esi + 0x6c]
mov eax, dword [esp + 0x84]
mov dword [eax + 0x38], edx
mov eax, dword [esp + 0x84]
lea ecx, [eax + 0x18]
mov dword [esi + 0xa8], eax
mov dword [esi + 8], ecx
mov dword [esi + 0x6c], 0
mov edx, dword [eax + 0x24]
mov dword [esi + 0x18], edx
mov ax, word [eax + 0x28]
mov word [esi + 0x32], ax
mov eax, edx
inc eax
lea edx, [eax + eax*4]
lea eax, [ecx + edx*8]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x88]
mov dword [esi + 0x44], eax
mov eax, dword [ecx]
mov dword [esi + 4], eax
mov ecx, dword [ecx + 4]
mov dword [esp + 0x50], eax
mov dword [esi + 0x1c], ecx
mov dword [esp + 0x28], 0xffffffff
jmp case.0x46509f.17
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0xa8]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x70], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 4]
add eax, dword [edi + 4]
push 0x1000
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
mov dword [esp + 0x7c], eax
call fcn.00439e70
add esp, 8
jmp case.0x46509f.17
cmp dword [edi + 4], 0
mov eax, dword [edi + 8]
cdq
je 0x4694fa
mov ecx, dword [esp + 0x20]
add dword [ecx + 0x1f0], eax
adc dword [ecx + 0x1f4], edx
jmp case.0x46509f.17
mov ecx, dword [esp + 0x18]
add dword [ecx + 0x90], eax
adc dword [ecx + 0x94], edx
jmp case.0x46509f.17
cmp dword [edi + 4], 0
je 0x469538
mov eax, dword [esp + 0x20]
mov edx, dword [eax + 0x1f0]
or edx, dword [eax + 0x1f4]
jne case.0x46509f.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x46509f.17
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x90]
or ecx, dword [eax + 0x94]
jne case.0x46509f.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x46509f.17
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0xa8]
test ecx, ecx
je 0x46958f
mov dword [esp + 0x74], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
je 0x469581
mov ecx, eax
mov dword [esp + 0x74], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
jne 0x469574
mov eax, dword [edi + 4]
mov ecx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
jmp 0x46959c
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x24]
lea esi, [eax + edx*8]
mov dword [esp + 0x70], esi
call fcn.004328c0
mov edi, dword [edi + 8]
mov edx, dword [esp + 0x24]
lea ecx, [edi + edi*4]
lea esi, [edx + ecx*8]
call fcn.004328c0
mov eax, dword [esp + 0x70]
mov ecx, dword [esi + 0x10]
mov esi, dword [esi + 0x14]
mov edx, dword [eax + 0x14]
add eax, 0x10
cmp edx, esi
jg case.0x46509f.17
jl 0x4695db
mov edx, dword [eax]
cmp edx, ecx
jae case.0x46509f.17
mov dword [eax], ecx
mov dword [eax + 4], esi
jmp case.0x46509f.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x24]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 0x14], 0
jl case.0x46509f.17
jg 0x469609
mov edx, ecx
cmp dword [edx + eax*8 + 0x10], 0
jbe case.0x46509f.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x46509f.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x24]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 0x14], 0
jg case.0x46509f.17
jl 0x46963a
mov edx, ecx
cmp dword [edx + eax*8 + 0x10], 0
jae case.0x46509f.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x46509f.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [edi + 0xc]
cdq
add dword [ecx + 0x10], eax
adc dword [ecx + 0x14], edx
mov edx, dword [ecx + 0x10]
or edx, dword [ecx + 0x14]
jne case.0x46509f.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x46509f.17
movzx ecx, byte [edi + 3]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x70], ecx
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x7c], eax
mov eax, dword [edx + 0xc]
mov dword [esp + 0xc0], eax
xor eax, eax
mov dword [esp + 0x74], eax
test ecx, ecx
jle 0x4696d3
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0xc0]
mov dword [edx + eax*4], ecx
mov ecx, dword [esp + 0x7c]
call fcn.004335d0
mov eax, dword [esp + 0x74]
add dword [esp + 0x7c], 0x28
inc eax
cmp eax, dword [esp + 0x70]
mov dword [esp + 0x74], eax
jl 0x4696a8
mov eax, dword [edi + 0x10]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x80], eax
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov dword [esp + 0x78], eax
mov dword [esp + 0xb0], eax
inc dword [eax + 0x18]
xor esi, esi
mov eax, 1
mov word [esp + 0xa4], ax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x8c], esi
mov dword [esp + 0xac], esi
mov dword [esp + 0xa8], esi
mov dword [esp + 0x88], ebx
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb8], esi
test byte [eax + 3], 8
je 0x46974c
mov ecx, dword [edi - 4]
mov dword [esp + 0xb8], ecx
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x70]
mov eax, dword [eax + 0x10]
push edx
push ecx
lea edx, [esp + 0x88]
push edx
call eax
add esp, 0xc
cmp dword [esp + 0xb4], esi
je 0x4697a1
lea ecx, [esp + 0x88]
push ecx
call fcn.00446d00
mov edi, dword [esp + 0x1c]
push eax
push 0x49b31c
add edi, 0x38
mov eax, ebx
call fcn.00444f30
mov edx, dword [esp + 0xc0]
add esp, 0xc
mov dword [esp + 0x1c], edx
lea eax, [esp + 0x88]
push eax
call fcn.00439d40
add esp, 4
jmp case.0x46509f.17
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x24]
lea ecx, [eax + eax*4]
lea ecx, [edx + ecx*8]
mov dword [esp + 0x70], ecx
mov eax, dword [edi + 0x10]
call fcn.004326d0
mov dword [esp + 0x1c], eax
test eax, eax
je 0x4697fa
mov eax, dword [esp + 0x70]
push eax
call fcn.00446d00
mov edi, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x28]
push 0x49b31c
add edi, 0x38
call fcn.00444f30
add esp, 0xc
movzx ecx, byte [esp + 0x34]
mov eax, dword [esp + 0x70]
call fcn.004465e0
mov ecx, dword [esp + 0x70]
call fcn.004329f0
test eax, eax
jne 0x465b3e
jmp case.0x46509f.17
mov esi, dword [esp + 0x20]
or eax, 0xffffffff
xor ebx, ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], eax
mov ecx, dword [edi + 8]
mov edx, dword [edi + 4]
push ecx
push edx
lea edx, [esp + 0x84]
lea ecx, [esp + 0x80]
call fcn.0045daf0
add esp, 8
mov dword [esp + 0x1c], eax
cmp eax, 5
jne 0x469866
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x74], 1
mov edx, dword [esp + 0x24]
xor eax, eax
mov dword [esp + 0x70], eax
mov edi, dword [edi + 0xc]
lea ecx, [edi + edi*4]
lea esi, [edx + ecx*8]
mov dword [esp + 0x80], esi
mov eax, dword [esp + eax*4 + 0x74]
cdq
push edx
push eax
call fcn.00439db0
mov eax, dword [esp + 0x78]
mov esi, dword [esp + 0x88]
inc eax
add esi, 0x28
add esp, 8
cmp eax, 3
mov dword [esp + 0x70], eax
mov dword [esp + 0x80], esi
jl 0x469880
jmp case.0x46509f.17
mov edx, dword [edi + 0xc]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x78], edx
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x70], eax
call fcn.00432560
mov edi, eax
mov dword [esp + 0x74], edi
call fcn.00430fa0
mov esi, eax
mov dword [esp + 0x7c], esi
cmp edx, 0xffffffff
jne 0x4698f0
mov edx, esi
mov dword [esp + 0x78], edx
mov eax, edi
call fcn.00430fb0
test eax, eax
jne 0x469901
mov edx, esi
mov dword [esp + 0x78], edx
mov eax, edi
call fcn.00430f40
mov dword [esp + 0x80], eax
cmp edx, 5
jne 0x469935
mov ecx, eax
call fcn.0042dae0
test eax, eax
je 0x46992a
mov eax, edi
call fcn.00430ff0
test eax, eax
jne 0x469935
mov edx, esi
mov dword [esp + 0x78], edx
jmp 0x4699e8
cmp edx, esi
je 0x4699e8
cmp esi, 5
je 0x46994b
cmp edx, 5
jne 0x4699e8
cmp byte [ebx + 0x1c], 0
je 0x4699ad
cmp dword [ebx + 0x8c], 1
jg 0x4699ad
cmp esi, 5
jne 0x469978
mov eax, edi
call fcn.0045dc00
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x4699a3
mov ecx, dword [esp + 0x78]
mov edi, dword [esp + 0x74]
jmp 0x469980
cmp esi, 4
jne 0x469989
lea ecx, [esi - 2]
call fcn.0045ab40
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0x70]
xor ebx, ebx
cmp edx, 5
sete bl
inc ebx
call fcn.0045cf80
mov dword [esp + 0x1c], eax
test eax, eax
je 0x4699e0
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x78], edx
jmp 0x4699e4
mov dword [esp + 0x1c], 1
mov eax, str.into
cmp edx, 5
je 0x4699c4
mov eax, str.out_of
mov edi, dword [esp + 0x18]
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
add edi, 0x38
mov eax, ebx
call fcn.00444f30
add esp, 8
jmp case.0x46509f.17
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0x74]
mov ecx, edx
call fcn.0045ab40
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x78], eax
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, 0xa02
mov word [edx + 0x1c], ax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x2c], edx
call fcn.004351f0
mov ecx, eax
mov dword [edx + 4], eax
call fcn.0042dae0
movzx ecx, byte [esp + 0x34]
mov dword [edx + 0x18], eax
mov eax, edx
mov byte [edx + 0x1f], 1
call fcn.004465e0
jmp case.0x46509f.17
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
push ecx
add eax, 0x38
call fcn.00462130
add esp, 4
mov dword [esp + 0x1c], eax
jmp case.0x46509f.17
mov edx, dword [edi + 4]
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 8]
shl edx, 4
mov eax, dword [edx + ecx + 4]
mov dword [esp + 0x70], eax
call fcn.0045b490
mov dword [esp + 0x1c], eax
cmp eax, 0x65
jne case.0x46509f.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x1c], 0
jmp case.0x46509f.17
cmp dword [edi + 4], 0
jne 0x469aa9
mov eax, dword [esp + 0x20]
call fcn.00433290
jmp case.0x46509f.17
mov edx, dword [esp + 0x18]
mov byte [edx + 0x63], 1
jmp case.0x46509f.17
mov cl, byte [edi + 0xc]
test cl, cl
jne 0x469ace
mov eax, dword [esp + 0x20]
test dword [eax + 0xc], 0x80000
jne case.0x46509f.17
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
push edx
mov edx, dword [esp + 0x24]
mov edx, dword [edx + 8]
shl eax, 4
mov esi, dword [eax + edx + 4]
call fcn.00439ad0
add esp, 4
mov dword [esp + 0x1c], eax
cmp al, 6
jne case.0x46509f.17
mov eax, dword [edi + 0x10]
mov edi, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x24]
push str.database_table_is_locked:__s
add edi, 0x38
call fcn.00444f30
add esp, 8
jmp case.0x46509f.17
mov edi, dword [edi + 0x10]
mov eax, dword [esp + 0x20]
mov ebx, edi
mov dword [esp + 0x70], edi
call fcn.0043c8a0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x70]
test eax, eax
je case.0x46509f.17
mov esi, dword [eax + 8]
mov edi, dword [esp + 0x18]
call fcn.0043a9a0
jmp case.0x46509f.17
mov ecx, dword [esp + 0x18]
mov edx, dword [edi + 0x10]
mov eax, dword [edi + 4]
mov ebx, dword [esp + 0x20]
add ecx, 0x38
push ecx
push edx
call fcn.00444160
add esp, 8
mov dword [esp + 0x1c], eax
jmp case.0x46509f.17
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov byte [esi + 0x66], 2
mov eax, dword [edi + 0x10]
push eax
mov eax, dword [edi + 4]
call fcn.00435b30
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esi + 0x66], 0
jmp case.0x46509f.17
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov ecx, dword [edi + 0x10]
mov eax, dword [ecx + 8]
mov dword [esp + 0x78], eax
mov ecx, dword [eax]
lea edx, [esp + 0x74]
push edx
mov dword [esp + 0x80], ecx
push eax
mov eax, dword [ecx + 0x18]
call eax
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x20]
mov ebx, eax
add esp, 8
mov dword [esp + 0x1c], ebx
call fcn.0043a9a0
test ebx, ebx
jne case.0x46509f.17
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x30]
push ebx
push 0xffffffffffffffff
mov dword [edx], ecx
mov ecx, dword [eax + 4]
push ebx
push ecx
mov eax, edi
call fcn.0045f240
add esp, 0x10
mov dword [esp + 0x70], eax
test eax, eax
je 0x469c23
mov edx, dword [esp + 0x74]
mov dword [eax + 0x24], edx
mov eax, dword [esp + 0x74]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [esp + 0x70]
mov dword [eax + 0x28], edx
jmp case.0x46509f.17
mov ecx, dword [esp + 0x20]
mov byte [ecx + 0x1e], 1
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 0x1c]
push edx
call ecx
add esp, 4
jmp case.0x46509f.17
mov eax, dword [edi + 0xc]
mov ebx, dword [esp + 0x18]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x24]
lea eax, [eax + edx*8]
mov edx, dword [ebx + 0x44]
mov ebx, dword [ebx + 0xc]
mov dword [esp + 0x7c], eax
lea esi, [eax + 0x28]
mov dword [esp + 0x80], esi
mov ecx, dword [edi + 4]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x8c], ecx
mov edx, dword [ecx + 0x24]
mov dword [esp + 0x84], edx
mov ecx, dword [edx]
mov dword [esp + 0x88], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x78], ecx
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x70], ecx
mov eax, dword [eax + 0x10]
mov dword [esp + 0x74], eax
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x98], ebx
mov dword [esp + 0x94], eax
jle 0x469d0c
jmp 0x469cc7
mov esi, dword [esp + 0x80]
lea ecx, [eax + eax*4 + 5]
lea edx, [esi + ecx*8]
mov ecx, dword [esp + 0x98]
mov dword [ecx + eax*4], edx
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x98]
mov ecx, dword [eax + edx*4]
call fcn.004335d0
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x70]
inc eax
cmp eax, ecx
mov dword [esp + 0x94], eax
jl 0x469cc0
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x98]
mov esi, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x78]
push ecx
mov byte [esi + 0x66], 1
mov ecx, dword [edi + 0x10]
push ecx
mov ecx, dword [esp + 0x84]
push eax
push edx
mov edx, dword [ecx + 0x20]
call edx
mov edi, dword [esp + 0x2c]
mov ebx, eax
mov byte [esi + 0x66], 0
mov esi, dword [esp + 0x9c]
add esp, 0x14
mov dword [esp + 0x1c], ebx
call fcn.0043a9a0
test ebx, ebx
jne 0x469d6f
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + 0x28]
push eax
call edx
add esp, 4
mov dword [esp + 0x90], eax
cmp dword [esp + 0x90], 0
je 0x469d85
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 8]
dec eax
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x8c]
mov byte [ecx + 0x1c], 0
jmp case.0x46509f.17
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x44]
mov edx, dword [edi + 4]
mov eax, dword [edi + 0xc]
mov esi, dword [ecx + edx*4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x24]
lea eax, [eax + edx*8]
mov dword [esp + 0x78], eax
cmp byte [esi + 0x1c], 0
je 0x469dc5
mov esi, eax
call fcn.004329a0
jmp case.0x46509f.17
mov ecx, dword [esi + 0x24]
mov eax, dword [ecx]
mov dword [esp + 0x70], eax
mov edx, dword [eax]
push 0x40
lea eax, [esp + 0x84]
push 0
push eax
mov dword [esp + 0x80], edx
call fcn.00477c40
mov ebx, dword [esp + 0x84]
lea eax, [esp + 0x94]
call fcn.00439ec0
mov ecx, dword [esp + 0xb0]
and ecx, 0xbf01
or ecx, 1
mov word [esp + 0xb0], cx
mov edx, dword [edi + 8]
mov ecx, dword [esi + 0x24]
push edx
mov edx, dword [esp + 0x84]
lea eax, [esp + 0x90]
push eax
mov eax, dword [edx + 0x2c]
push ecx
call eax
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x30]
add esp, 0x18
mov dword [esp + 0x1c], eax
call fcn.0043a9a0
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x469e55
mov dword [esp + 0x1c], eax
movzx ecx, byte [esp + 0x34]
lea eax, [esp + 0x88]
call fcn.004465e0
mov eax, dword [esp + 0x78]
lea ebx, [esp + 0x88]
call fcn.00439ec0
mov ecx, dword [esp + 0x78]
call fcn.004329f0
test eax, eax
jne 0x465b3e
jmp case.0x46509f.17
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x44]
mov dword [esp + 0x78], 0
mov ecx, dword [edi + 4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x7c], eax
cmp byte [eax + 0x1c], 0
jne case.0x46509f.17
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx]
mov dword [esp + 0x70], ecx
mov ecx, dword [ecx]
mov esi, edx
mov dword [esp + 0x74], ecx
mov byte [esi + 0x66], 1
mov edx, dword [eax + 0x24]
mov eax, dword [ecx + 0x24]
push edx
call eax
mov edi, dword [esp + 0x1c]
mov ebx, eax
mov byte [esi + 0x66], 0
mov esi, dword [esp + 0x74]
add esp, 4
mov dword [esp + 0x1c], ebx
call fcn.0043a9a0
test ebx, ebx
jne 0x469f03
mov ecx, dword [esp + 0x7c]
mov edx, dword [ecx + 0x24]
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x28]
push edx
call ecx
add esp, 4
mov dword [esp + 0x78], eax
cmp dword [esp + 0x78], 0
jne case.0x46509f.17
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 8]
dec eax
mov dword [esp + 0x28], eax
jmp case.0x46509f.17
mov eax, dword [edi + 0x10]
mov ecx, dword [eax + 8]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x70], ecx
mov edi, dword [edi + 4]
lea edx, [edi + edi*4]
lea eax, [eax + edx*8]
mov ecx, 1
mov dword [esp + 0x74], eax
call fcn.004465e0
mov dword [esp + 0x1c], eax
test eax, eax
jne case.0x46509f.17
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
mov edx, dword [edx + 4]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x4c]
call eax
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x20]
add esp, 8
mov dword [esp + 0x1c], eax
call fcn.0043a9a0
mov byte [edi + 0x63], 0
jmp case.0x46509f.17
mov ecx, dword [edi + 0x10]
mov eax, dword [ecx + 8]
mov dword [esp + 0x70], eax
mov eax, dword [eax]
mov dword [esp + 0x74], eax
mov edx, dword [edi + 8]
mov dword [esp + 0x78], edx
cmp dword [eax + 0x34], 0
je case.0x46509f.17
mov eax, dword [esp + 0x20]
mov bl, byte [eax + 0x22]
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x88], eax
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x24]
lea ecx, [eax + ecx*8]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x7c], 0
test edx, edx
jle 0x46a011
call fcn.004335d0
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x88]
mov dword [eax + edx*4], ecx
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x8c]
inc eax
add ecx, 0x28
cmp eax, dword [esp + 0x78]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x7c], eax
jl 0x469fd7
mov cl, byte [edi + 3]
mov esi, dword [esp + 0x20]
mov byte [esi + 0x22], cl
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x78]
lea edx, [esp + 0x80]
push edx
mov edx, dword [esp + 0x74]
push eax
mov eax, dword [esp + 0x7c]
push ecx
mov ecx, dword [eax + 0x34]
push edx
call ecx
mov edi, dword [esp + 0x28]
mov byte [esi + 0x22], bl
mov esi, dword [esp + 0x80]
add esp, 0x10
mov dword [esp + 0x1c], eax
call fcn.0043a9a0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
test ecx, ecx
jne 0x46a090
cmp dword [edx + 4], ecx
je 0x46a090
mov esi, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
mov dword [esp + 0x44], esi
mov esi, dword [esp + 0x20]
mov dword [esp + 0x40], eax
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x84]
mov dword [esi + 0x34], eax
cmp ecx, 0x13
jne 0x46a0ce
mov ecx, dword [edx + 0x10]
cmp byte [ecx + 0x10], 0
je 0x46a0ce
mov al, byte [edx + 3]
cmp al, 4
jne 0x46a0b2
mov dword [esp + 0x1c], 0
jmp case.0x46509f.17
cmp al, 5
jne 0x46a0c3
mov eax, 2
mov byte [edi + 0x60], al
jmp case.0x46509f.17
movzx eax, al
mov byte [edi + 0x60], al
jmp case.0x46509f.17
inc dword [edi + 0x6c]
jmp case.0x46509f.17
mov eax, dword [esp + 0x20]
mov edx, dword [edi + 4]
mov ecx, dword [eax + 8]
shl edx, 4
mov eax, dword [edx + ecx + 4]
call fcn.00431fe0
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], 0
jmp case.0x46509f.17
mov eax, dword [esp + 0x20]
mov edx, dword [edi + 4]
mov ecx, dword [eax + 8]
mov edi, dword [edi + 0xc]
shl edx, 4
mov ecx, dword [edx + ecx + 4]
xor eax, eax
test edi, edi
je 0x46a122
mov eax, ecx
call fcn.00431fe0
cmp eax, edi
jae 0x46a122
mov eax, edi
push eax
mov eax, ecx
call fcn.00432140
cdq
add esp, 4
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jmp case.0x46509f.17
mov edx, dword [esp + 0x20]
cmp dword [edx + 0x98], 0
je case.0x46509f.17
mov edi, dword [edi + 0x10]
test edi, edi
je 0x46a14e
mov ecx, edi
jmp 0x46a158
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0xa0]
mov dword [esp + 0x70], ecx
test ecx, ecx
je case.0x46509f.17
mov edx, dword [esp + 0x18]
push edx
call fcn.00446ea0
mov esi, dword [esp + 0x24]
mov dword [esp + 0x78], eax
mov ecx, dword [esi + 0x98]
push eax
mov eax, dword [esi + 0x9c]
push eax
call ecx
mov edx, dword [esp + 0x80]
push edx
push esi
call fcn.0042d860
add esp, 0x14
inc dword [esp + 0x28]
cmp dword [esp + 0x1c], 0
mov esi, dword [esp + 0x18]
jne 0x465b62
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x2c]
jmp 0x465005
mov dword [esp + 0x1c], 9
jmp 0x465b62
mov eax, dword [edi + 4]
mov dword [esi + 0x5c], eax
mov cl, byte [edi + 8]
mov byte [esi + 0x60], cl
mov ecx, dword [esp + 0x28]
mov dword [esi + 0x58], ecx
mov eax, dword [edi + 0x10]
test eax, eax
je 0x46a213
push eax
mov eax, dword [esp + 0x24]
push 0x49b31c
lea edi, [esi + 0x38]
call fcn.00444f30
mov eax, dword [esp + 0x38]
mov edx, dword [eax + 0x10]
mov ecx, dword [esi + 0xa0]
mov eax, dword [eax + 4]
push edx
mov edx, dword [esp + 0x34]
push ecx
push edx
push str.abort_at__d_in___s_:__s
push eax
call fcn.0043e760
add esp, 0x1c
jmp 0x46a232
cmp dword [esi + 0x5c], 0
je 0x46a232
mov edx, dword [esi + 0xa0]
mov eax, dword [edi + 4]
push edx
push ecx
push str.constraint_failed_at__d_in___s_
push eax
call fcn.0043e760
add esp, 0x10
push esi
call fcn.00460240
mov edi, 5
add esp, 4
cmp eax, edi
je 0x46a288
mov edi, dword [esi + 0x5c]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x465bb7
lea eax, [esp + 0x80]
push eax
call fcn.00439d40
add esp, 4
jmp 0x4653db
mov dword [esp + 0x1c], 0x14
jmp 0x46a342
mov ecx, dword [esp + 0x28]
mov dword [esi + 0x58], ecx
mov byte [ebx + 0x1c], 0
mov edi, 5
mov dword [esi + 0x5c], edi
jmp 0x465bb7
test edi, edi
je 0x46a2c0
mov eax, esi
call fcn.0045da40
mov byte [esi + 0x1c], 1
mov esi, dword [esp + 0x20]
call fcn.00436c00
mov edx, dword [esp + 0x18]
mov edi, dword [edx + 0x5c]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
mov esi, edx
jmp 0x465bb7
mov esi, dword [esp + 0x18]
push ebx
mov ecx, esi
call fcn.00446c80
mov edi, eax
add esp, 4
test edi, edi
jne 0x465bb7
mov dl, byte [esp + 0x70]
mov edi, dword [esp + 0x20]
push esi
mov byte [edi + 0x1c], dl
call fcn.00460240
add esp, 4
cmp eax, 5
jne 0x46a29f
mov eax, dword [esp + 0x28]
mov cl, 1
sub cl, byte [esp + 0x70]
mov dword [esi + 0x58], eax
mov byte [edi + 0x1c], cl
mov edi, 5
mov dword [esi + 0x5c], edi
jmp 0x465bb7
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
mov edi, 5
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], edi
jmp 0x465bb7
push 0x10406
call fcn.004448f0
add esp, 4
mov dword [esp + 0x1c], eax
jmp 0x46a342
mov dword [esp + 0x1c], 0xd
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
cmp byte [ecx + 0x1e], 0
je 0x46a35a
mov dword [esp + 0x1c], 7
jmp 0x46a368
cmp dword [esp + 0x1c], 0xc0a
je 0x465b62
mov eax, dword [esp + 0x1c]
call fcn.00436c80
push eax
push 0x49b31c
lea edi, [esi + 0x38]
mov eax, ecx
call fcn.00444f30
add esp, 8
jmp 0x465b62
mov esi, dword [esp + 0x18]
mov eax, 9
mov dword [esp + 0x1c], eax
mov dword [esi + 0x5c], eax
call fcn.00436c80
push eax
mov eax, dword [esp + 0x24]
push 0x49b31c
lea edi, [esi + 0x38]
call fcn.00444f30
add esp, 8
jmp 0x465b62