Function at 0x46d620
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x344
mov eax, dword [0x4fa7e0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
mov eax, dword [edi + 4]
mov ebx, dword [edi]
mov cl, byte [ebx + 0x3e]
mov esi, dword [edi + 8]
mov edx, dword [ebx + 0x20]
mov dword [ebp - 0x114], eax
mov dword [ebp - 0xdc], eax
xor eax, eax
mov dword [ebp - 0xd4], eax
mov byte [ebp - 0x11e], al
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x170], eax
mov eax, dword [ebx + 0x24]
push edi
mov dword [ebp - 0xf4], edi
mov dword [ebp - 0xd8], ebx
mov byte [ebp - 0x11d], cl
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x140], edx
mov dword [ebp - 0x13c], eax
call fcn.00413670
add esp, 4
cmp dword [edi + 0x50], 7
je 0x4729f7
xor eax, eax
mov dword [edi + 0x50], eax
mov dword [edi + 0x88], eax
mov dword [edi + 0x8c], eax
mov dword [edi + 0x14], eax
mov ecx, dword [ebx + 0xf0]
mov dword [ebx + 0x1c4], eax
test ecx, ecx
jne 0x472a4b
mov ecx, ebx
cmp dword [ecx + 0x124], eax
je 0x46d701
mov eax, dword [edi + 0x7c]
test eax, eax
jne 0x46d6f3
mov edx, dword [ecx + 0x12c]
jmp 0x46d6fb
xor edx, edx
div dword [ecx + 0x12c]
mov dword [ebp - 0x158], edx
mov eax, dword [edi + 0x4c]
mov edx, dword [ebp - 0x114]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [ebp - 0xdc], eax
cmp byte [ecx + 0x41], 0
jne 0x4729f7
mov ebx, dword [ebp - 0xdc]
mov dl, byte [ebx]
inc dword [ebp - 0x148]
movzx ecx, dl
lea eax, [ecx - 1]
cmp eax, 0x9a
ja case.default.0x46d73f
jmp dword [eax*4 + 0x472a88]
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
lea esi, [esi + ecx*8]
mov ecx, ebx
sub ecx, dword [ebp - 0x114]
mov edx, 4
mov word [esi + 8], dx
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x472797
mov ebx, dword [ebx + 4]
mov edx, dword [ebp - 0x114]
lea eax, [ebx + ebx*4]
lea esi, [esi + eax*8]
mov eax, dword [esi]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, 0x80
mov dword [ebp - 0xdc], eax
mov word [esi + 8], cx
jmp 0x46d7fb
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0xc]
lea ecx, [esi + edx*8]
dec eax
cdq
mov dword [ecx], eax
mov eax, 4
mov dword [ecx + 4], edx
mov word [ecx + 8], ax
cmp dword [ebx + 8], 0
jne 0x472797
jmp case.default.0x46d73f
mov ebx, dword [ebx + 4]
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + ecx*8]
lea esi, [esi + ecx*8]
mov ecx, dword [ebp - 0x114]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 + 8]
lea eax, [eax + eax*4]
mov edx, 0x80
lea ecx, [ecx + eax*4 - 0x14]
mov word [esi + 8], dx
mov dword [ebp - 0xdc], ecx
mov ebx, dword [ebp - 0xdc]
add ebx, 0x14
cmp dword [ebp - 0xd4], 0
mov dword [ebp - 0xdc], ebx
jne 0x472454
mov esi, dword [ebp - 0x118]
mov ecx, dword [ebp - 0xd8]
jmp 0x46d716
mov eax, dword [ebx + 4]
sub ebx, dword [ebp - 0x114]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, 0x66666667
imul ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov ecx, 4
mov word [esi + 8], cx
mov ecx, dword [esi]
mov dword [esi], eax
mov eax, dword [ebp - 0x114]
mov dword [esi + 4], edx
lea edx, [ecx + ecx*4]
lea ecx, [eax + edx*4]
jmp 0x46d7f5
mov eax, dword [ebx + 0xc]
lea edx, [eax + eax*4]
test byte [esi + edx*8 + 8], 1
je case.default.0x46d73f
mov ecx, ebx
sub ecx, dword [ebp - 0x114]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebx + 4], 0
mov dword [ebp - 0xf8], eax
jne 0x4727b2
mov esi, dword [edi + 0xb0]
test esi, esi
je 0x4727b2
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xd8]
dec dword [edi + 0xb8]
mov dword [edi + 0xb0], eax
mov eax, dword [edi + 0x5c]
add dword [ecx + 0x54], eax
mov dword [ecx + 0x50], eax
call fcn.0045cf50
cmp dword [ebx + 8], 4
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0x140], edx
mov dword [ebp - 0x13c], ecx
jne 0x46d8f7
lea edx, [eax + eax*4]
mov eax, dword [edi + 4]
mov eax, dword [eax + edx*4 + 8]
dec eax
mov ecx, dword [edi + 4]
mov edx, dword [edi + 8]
lea eax, [eax + eax*4]
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x118], edx
lea ecx, [ecx + eax*4]
jmp 0x46d7f5
mov eax, ebx
mov edx, edi
call fcn.004088e0
mov ecx, eax
mov eax, dword [ebx + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x46d73f
mov eax, ebx
mov edx, edi
call fcn.004088e0
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
jmp case.default.0x46d73f
mov eax, ebx
mov edx, edi
call fcn.004088e0
mov edx, 8
mov word [eax + 8], dx
mov ecx, dword [ebx + 0x10]
fld qword [ecx]
fstp qword [eax]
jmp case.default.0x46d73f
mov eax, ebx
mov edx, edi
call fcn.004088e0
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0xf0], eax
mov byte [ebx], 0x1b
call fcn.00401d50
cmp byte [ebp - 0x11d], 1
mov dword [ebx + 4], eax
je 0x46da0b
mov ebx, dword [ebp - 0xf0]
push 0
push 1
push ecx
or eax, 0xffffffff
mov ecx, ebx
call fcn.0041e6e0
add esp, 0xc
mov dword [ebp - 0xd4], eax
cmp eax, 0x12
je 0x472a26
movzx ecx, byte [ebp - 0x11d]
mov eax, ebx
call fcn.0041e5f0
test eax, eax
jne 0x4729f7
mov edx, 0x800
or word [ebx + 8], dx
mov dword [ebx + 0x18], eax
mov ebx, dword [ebp - 0xdc]
cmp byte [ebx + 1], 0xff
jne 0x46d9ef
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebp - 0xd8]
call fcn.00401b30
mov eax, dword [ebp - 0xf0]
mov byte [ebx + 1], 0xff
mov ecx, dword [eax + 0x10]
mov dword [ebx + 0x10], ecx
mov edx, dword [eax + 0xc]
mov dword [ebx + 4], edx
mov ebx, dword [ebp - 0xdc]
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xd8]
cmp eax, dword [ecx + 0x58]
jg 0x472a26
mov eax, ebx
mov edx, edi
call fcn.004088e0
mov edx, 0xa02
mov word [eax + 8], dx
mov ecx, dword [ebx + 0x10]
mov dword [eax + 0x10], ecx
mov edx, dword [ebx + 4]
mov cl, byte [ebp - 0x11d]
mov dword [eax + 0xc], edx
mov byte [eax + 0xa], cl
cmp byte [ebx + 3], 0
je case.default.0x46d73f
mov ecx, dword [ebx + 0xc]
lea ecx, [ecx + ecx*4]
mov edx, dword [esi + ecx*8]
or edx, dword [esi + ecx*8 + 4]
je case.default.0x46d73f
mov ecx, 0xa10
mov word [eax + 8], cx
jmp case.default.0x46d73f
mov eax, ebx
mov edx, edi
call fcn.004088e0
mov esi, dword [ebx + 0xc]
sub esi, dword [ebx + 8]
mov edx, dword [ebx + 4]
neg edx
sbb edx, edx
and edx, 0x100
inc edx
movzx ecx, dx
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xf8], ecx
mov word [eax + 8], cx
test esi, esi
jle case.default.0x46d73f
jmp 0x46dab0
mov eax, dword [ebp - 0xf0]
add eax, 0x28
mov dword [ebp - 0xf0], eax
call fcn.004073c0
mov ax, word [ebp - 0xf8]
mov ecx, dword [ebp - 0xf0]
dec esi
mov word [ecx + 8], ax
test esi, esi
jg 0x46dab0
jmp case.default.0x46d73f
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov ax, word [esi + edx*8 + 8]
lea esi, [esi + edx*8]
mov ecx, 0xff7f
and ax, cx
or ax, 1
mov word [esi + 8], ax
jmp case.default.0x46d73f
mov eax, ebx
mov edx, edi
call fcn.004088e0
mov edx, dword [ebx + 0x10]
push 0
mov esi, eax
mov eax, dword [ebx + 4]
push 0
push edx
mov ecx, esi
call fcn.0041e6e0
mov al, byte [ebp - 0x11d]
add esp, 0xc
mov byte [esi + 0xa], al
jmp case.default.0x46d73f
mov eax, dword [ebx + 4]
mov edx, dword [edi + 0x3c]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8 - 0x28]
mov ecx, esi
call fcn.00407460
test eax, eax
jne 0x472a26
mov eax, ebx
mov edx, edi
call fcn.004088e0
push 0x800
mov edi, esi
call fcn.00407490
add esp, 4
mov edi, dword [ebp - 0xf4]
jmp case.default.0x46d73f
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebx + 4]
mov ebx, dword [ebx + 8]
lea ecx, [eax + eax*4]
lea edx, [esi + ecx*8]
lea eax, [ebx + ebx*4]
mov dword [ebp - 0xe4], edx
lea esi, [esi + eax*8]
mov ebx, edx
mov eax, esi
call fcn.004074f0
mov ecx, 0x1000
test word [esi + 8], cx
je 0x46dbb3
mov eax, esi
call fcn.00419f30
test eax, eax
jne 0x4729f7
add ebx, 0x28
add esi, 0x28
dec dword [ebp - 0xe0]
jne 0x46db92
jmp 0x46d7fb
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov dword [ebp - 0xe0], edx
lea esi, [esi + ecx*8]
push 0x1000
mov eax, esi
call fcn.00407490
mov edx, 0x1000
add esp, 4
test word [esi + 8], dx
je 0x46dc10
mov eax, esi
call fcn.00419f30
test eax, eax
jne 0x4729f1
mov ebx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xe0]
mov ecx, eax
dec eax
mov dword [ebp - 0xe0], eax
test ecx, ecx
je 0x46db64
add esi, 0x28
add edi, 0x28
jmp 0x46dbe1
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x118]
lea ecx, [ecx + ecx*4]
lea edi, [eax + edx*8]
push 0x1000
lea eax, [eax + ecx*8]
call fcn.00407490
mov edi, dword [ebp - 0xf4]
add esp, 4
jmp case.default.0x46d73f
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0x124]
test eax, eax
je 0x46dc91
mov ecx, dword [ebp - 0x158]
cmp dword [ebp - 0x148], ecx
jb 0x46dc91
mov ecx, dword [edx + 0x128]
push ecx
call eax
add esp, 4
test eax, eax
jne 0x47244a
push 0
mov edx, edi
call fcn.00434040
add esp, 4
mov dword [ebp - 0xd4], eax
test eax, eax
jne case.default.0x46d73f
push 1
push edi
call fcn.0044b2b0
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
jne case.default.0x46d73f
mov eax, dword [edi + 0x48]
add eax, 2
or eax, 1
mov dword [edi + 0x48], eax
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
lea esi, [esi + ecx*8]
mov dword [edi + 0x14], esi
cmp dword [ebx + 8], 0
mov dword [ebp - 0xf8], 0
jle 0x46dd2c
lea esp, [esp]
mov edx, 0x1000
test word [esi + 8], dx
je 0x46dd10
mov eax, esi
call fcn.00419f30
test eax, eax
jne 0x4729f7
mov ebx, dword [ebp - 0xdc]
mov eax, esi
call fcn.00412ce0
mov eax, dword [ebp - 0xf8]
inc eax
add esi, 0x28
mov dword [ebp - 0xf8], eax
cmp eax, dword [ebx + 8]
jl 0x46dcf0
mov eax, dword [ebp - 0xd8]
cmp byte [eax + 0x41], 0
jne 0x4729f7
mov ecx, dword [ebp - 0xdc]
sub ecx, dword [ebp - 0x114]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
lea edx, [edx + ecx + 1]
mov dword [edi + 0x4c], edx
mov esi, 0x64
jmp 0x4724f3
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 8]
lea ecx, [esi + edx*8]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
movzx eax, word [ecx + 8]
mov dword [ebp - 0xe4], ecx
mov cl, byte [edx + 8]
or cl, al
mov dword [ebp - 0x104], edx
test cl, 1
je 0x46dda9
mov eax, esi
call fcn.004073c0
jmp case.default.0x46d73f
test eax, 0x4000
je 0x46ddc3
mov eax, dword [ebp - 0xe4]
call fcn.00412c40
test eax, eax
jne 0x4729f7
mov eax, dword [ebp - 0x104]
mov edx, 0x4000
test word [eax + 8], dx
je 0x46dde1
call fcn.00412c40
test eax, eax
jne 0x4729f7
mov ecx, dword [ebp - 0xe4]
mov bl, 0x12
test byte [ecx + 8], bl
jne 0x46de09
mov edx, dword [ebp - 0x11d]
push 0
push edx
mov eax, ecx
call fcn.0041e610
add esp, 8
test eax, eax
jne 0x4729f7
mov eax, dword [ebp - 0x104]
test byte [eax + 8], bl
jne 0x46de2d
mov ecx, dword [ebp - 0x11d]
push 0
push ecx
call fcn.0041e610
add esp, 8
test eax, eax
jne 0x4729f7
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x104]
add eax, dword [ecx + 0xc]
cdq
mov ecx, edx
mov edx, dword [ebp - 0xd8]
mov ebx, eax
mov eax, dword [edx + 0x58]
cdq
cmp ecx, edx
jg 0x472a26
jl 0x46de60
cmp ebx, eax
ja 0x472a26
xor eax, eax
cmp esi, dword [ebp - 0x104]
lea ecx, [ebx + 2]
sete al
mov edi, esi
call fcn.00412b00
test eax, eax
jne 0x4729f1
mov ax, word [esi + 8]
mov edi, dword [ebp - 0x104]
mov ecx, 0xbe02
and ax, cx
or ax, 2
mov word [esi + 8], ax
cmp esi, edi
je 0x46deaf
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 0x10]
mov ecx, dword [esi + 0x10]
push edx
push eax
push ecx
call fcn.004b3cc0
add esp, 0xc
mov eax, dword [ebp - 0xe4]
mov edx, dword [eax + 0xc]
mov ecx, dword [esi + 0x10]
mov eax, dword [eax + 0x10]
add ecx, dword [edi + 0xc]
push edx
push eax
push ecx
call fcn.004b3cc0
mov edx, dword [esi + 0x10]
mov edi, dword [ebp - 0xf4]
mov byte [ebx + edx], 0
mov eax, dword [esi + 0x10]
mov dl, byte [ebp - 0x11d]
mov byte [ebx + eax + 1], 0
mov ecx, 0x200
add esp, 0xc
or word [esi + 8], cx
mov dword [esi + 0xc], ebx
mov byte [esi + 0xa], dl
jmp 0x46d7fb
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebp - 0xe4], eax
call fcn.004088c0
movzx ecx, ax
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
lea eax, [esi + edx*8]
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x104], eax
call fcn.004088c0
movzx eax, ax
mov dword [ebp - 0xe0], eax
mov eax, dword [ebx + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x104]
lea edx, [esi + ecx*8]
mov cl, byte [eax + 8]
mov dword [ebp - 0xf0], edx
mov edx, dword [ebp - 0xe4]
or cl, byte [edx + 8]
test cl, 1
jne 0x46e1ef
mov al, byte [ebp - 0xe0]
and al, byte [ebp - 0x10c]
test al, 4
je 0x46e0ac
mov ecx, edx
mov edx, dword [ebp - 0x104]
mov esi, dword [edx]
mov edx, dword [edx + 4]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x14c], edx
movzx edx, byte [ebx]
add edx, 0xffffffa7
mov dword [ebp - 0x150], esi
mov byte [ebp - 0x119], 1
cmp edx, 3
ja case.default.0x46dfa7
jmp dword [edx*4 + 0x472cf4]
push ecx
push eax
lea eax, [ebp - 0x150]
push eax
call fcn.00402a40
add esp, 0xc
test eax, eax
jne 0x46e0b3
mov ecx, dword [ebp - 0x150]
mov edx, dword [ebp - 0x14c]
jmp 0x46e565
push ecx
push eax
lea edx, [ebp - 0x150]
call fcn.00402ae0
add esp, 8
test eax, eax
jne 0x46e0b3
mov ecx, dword [ebp - 0x150]
mov edx, dword [ebp - 0x14c]
jmp 0x46e565
push ecx
push eax
lea ecx, [ebp - 0x150]
push ecx
call fcn.00402b30
add esp, 0xc
test eax, eax
jne 0x46e0b3
mov ecx, dword [ebp - 0x150]
mov edx, dword [ebp - 0x14c]
jmp 0x46e565
mov edx, eax
or edx, ecx
je 0x46e1ef
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x46e04e
test esi, esi
jne 0x46e04e
cmp dword [ebp - 0x14c], 0x80000000
je 0x46e0b3
push ecx
push eax
mov eax, dword [ebp - 0x14c]
push eax
push esi
call fcn.004b9ef0
mov dword [ebp - 0x14c], edx
mov dword [ebp - 0x150], eax
mov ecx, eax
jmp 0x46e565
mov edx, eax
or edx, ecx
je 0x46e1ef
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x46e08a
mov eax, 1
xor ecx, ecx
push ecx
push eax
mov eax, dword [ebp - 0x14c]
push eax
push esi
call fcn.004c3220
mov dword [ebp - 0x14c], edx
mov dword [ebp - 0x150], eax
mov ecx, eax
jmp 0x46e565
mov byte [ebp - 0x119], 0
mov eax, dword [ebp - 0xe4]
call fcn.00407190
fstp qword [ebp - 0xfc]
mov eax, dword [ebp - 0x104]
call fcn.00407190
movzx eax, byte [ebx]
add eax, 0xffffffa7
cmp eax, 3
ja case.default.0x46e0da
jmp dword [eax*4 + 0x472d04]
fadd qword [ebp - 0xfc]
jmp 0x46e17d
fsub qword [ebp - 0xfc]
jmp 0x46e17d
fmul qword [ebp - 0xfc]
jmp 0x46e17d
fld qword [ebp - 0xfc]
fld st(0)
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x46e1eb
fdivp st(1)
jmp 0x46e17d
fld qword [ebp - 0xfc]
call fcn.004ba026
mov esi, eax
mov dword [ebp - 0x1a8], edx
call fcn.004ba026
mov ecx, esi
or ecx, dword [ebp - 0x1a8]
je 0x46e1ef
mov ecx, esi
and ecx, dword [ebp - 0x1a8]
cmp ecx, 0xffffffff
jne 0x46e15c
mov esi, 1
mov dword [ebp - 0x1a8], 0
mov ecx, dword [ebp - 0x1a8]
push ecx
push esi
push edx
push eax
call fcn.004c3220
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x214], edx
fild qword [ebp - 0x218]
sub esp, 8
fst qword [ebp - 0xfc]
fstp qword [esp]
call fcn.00401d20
add esp, 8
test eax, eax
jne 0x46e1ef
mov eax, dword [ebp - 0xf0]
fld qword [ebp - 0xfc]
mov dx, word [eax + 8]
fstp qword [eax]
mov ecx, 0xbe08
and dx, cx
or dx, 8
mov word [eax + 8], dx
mov dl, byte [ebp - 0xe0]
or dl, byte [ebp - 0x10c]
test dl, 8
jne case.default.0x46d73f
cmp byte [ebp - 0x119], 0
jne case.default.0x46d73f
mov edi, eax
call fcn.004071e0
mov edi, dword [ebp - 0xf4]
jmp case.default.0x46d73f
fstp st(0)
fstp st(0)
mov eax, dword [ebp - 0xf0]
call fcn.004073c0
jmp case.default.0x46d73f
mov eax, dword [ebx + 4]
test eax, eax
je case.default.0x46d73f
lea eax, [eax + eax*4]
push 0
push 0
lea eax, [esi + eax*8]
call fcn.00407420
add esp, 8
jmp case.default.0x46d73f
mov ecx, dword [edi + 0xc]
mov eax, dword [ebx + 0xc]
movzx edx, byte [ebx + 3]
lea eax, [eax + eax*4]
mov dword [ebp - 0x10c], ecx
lea ecx, [esi + eax*8]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
xor eax, eax
mov dword [ebp - 0x108], edx
mov dword [ebp - 0x1e8], ecx
mov dword [ebp - 0xe0], eax
test edx, edx
jle 0x46e2a7
jmp 0x46e260
mov ecx, dword [ebp - 0x10c]
mov edx, 0x1000
mov dword [ecx + eax*4], esi
test word [esi + 8], dx
je 0x46e28f
mov eax, esi
call fcn.00419f30
test eax, eax
jne 0x4729f7
mov ebx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xe0]
inc eax
add esi, 0x28
mov dword [ebp - 0xe0], eax
cmp eax, dword [ebp - 0x108]
jl 0x46e260
mov ecx, dword [ebp - 0x1e8]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x1e4], eax
mov edx, ebx
sub edx, dword [ebp - 0x114]
mov eax, 0x66666667
imul edx
sar edx, 3
mov esi, edx
shr esi, 0x1f
add esi, edx
mov dword [ebp - 0x1d8], esi
mov dword [ebp - 0x1dc], edi
mov dx, word [ecx + 8]
mov eax, 0xbe01
and dx, ax
mov eax, dword [ebp - 0xd8]
or dx, 1
mov word [ecx + 8], dx
mov ecx, dword [ebp - 0x140]
mov edx, dword [ebp - 0x13c]
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x108]
mov dword [eax + 0x24], edx
mov eax, dword [ebp - 0x10c]
push eax
mov eax, dword [ebp - 0x1e4]
push ecx
lea edx, [ebp - 0x1e8]
mov byte [ebp - 0x1cf], 0
mov ecx, dword [eax + 0xc]
push edx
mov dword [ebp - 0xf8], esi
call ecx
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
add esp, 0xc
cmp byte [ebp - 0x1cf], 0
mov dword [ebp - 0x140], edx
mov dword [ebp - 0x13c], eax
je 0x46e3ab
cmp dword [ebp - 0x1d4], 0
je 0x46e396
mov ecx, dword [ebp - 0x1e8]
push ecx
call fcn.0041ee10
mov esi, dword [ebp - 0xd8]
push eax
push 0x4d9734
lea ebx, [edi + 0x2c]
call fcn.00430d40
mov edx, dword [ebp - 0x1d4]
mov ebx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xf8]
add esp, 0xc
mov dword [ebp - 0xd4], edx
mov eax, dword [ebx + 4]
push eax
push esi
mov ebx, edi
call fcn.004078a0
mov ebx, dword [ebp - 0xdc]
add esp, 8
movzx ecx, byte [ebp - 0x11d]
mov eax, dword [ebp - 0x1e8]
call fcn.0041e5f0
mov ecx, dword [ebp - 0x1e8]
call fcn.00407460
test eax, eax
jne 0x472a26
jmp case.default.0x46d73f
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea edx, [esi + ecx*8]
lea ecx, [esi + eax*8]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebp - 0xf0], eax
mov al, byte [ecx + 8]
or al, byte [edx + 8]
mov dword [ebp - 0xe4], edx
test al, 1
je 0x46e416
mov eax, dword [ebp - 0xf0]
call fcn.004073c0
jmp case.default.0x46d73f
call fcn.00407120
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], edx
call fcn.00407120
mov esi, eax
mov al, byte [ebx]
cmp al, 0x55
jne 0x46e44b
and dword [ebp - 0x128], esi
and dword [ebp - 0x124], edx
jmp 0x46e559
cmp al, 0x56
jne 0x46e460
or dword [ebp - 0x128], esi
or dword [ebp - 0x124], edx
jmp 0x46e559
mov ecx, esi
or ecx, edx
je 0x46e559
test edx, edx
jg 0x46e498
jl 0x46e474
test esi, esi
jae 0x46e48d
mov cl, 0xaf
sub cl, al
mov al, cl
cmp edx, 0xffffffff
jl 0x46e498
jg 0x46e486
cmp esi, 0xffffffc0
jbe 0x46e498
neg esi
adc edx, 0
neg edx
test edx, edx
jl 0x46e4d9
jg 0x46e498
cmp esi, 0x40
jb 0x46e4d9
cmp dword [ebp - 0x124], 0
jg 0x46e4c5
jl 0x46e4ac
cmp dword [ebp - 0x128], 0
jae 0x46e4c5
cmp al, 0x57
je 0x46e4c5
or eax, 0xffffffff
cdq
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], edx
jmp 0x46e559
xor eax, eax
cdq
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], edx
jmp 0x46e559
mov edx, dword [ebp - 0x124]
cmp al, 0x57
mov eax, dword [ebp - 0x128]
mov ecx, esi
jne 0x46e4fe
call fcn.004ba0a0
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x168], edx
jmp 0x46e541
call fcn.004b5f80
cmp dword [ebp - 0x124], 0
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x168], edx
jg 0x46e541
jl 0x46e523
cmp dword [ebp - 0x128], 0
jae 0x46e541
mov ecx, 0x40
sub ecx, esi
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.004ba0a0
or dword [ebp - 0x16c], eax
or dword [ebp - 0x168], edx
mov edx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x128], edx
mov dword [ebp - 0x124], eax
mov ecx, dword [ebp - 0x128]
mov edx, dword [ebp - 0x124]
mov eax, dword [ebp - 0xf0]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov cx, word [eax + 8]
mov edx, 0xbe04
and cx, dx
or cx, 4
mov word [eax + 8], cx
jmp case.default.0x46d73f
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x118]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.00407280
mov eax, dword [ebx + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp case.default.0x46d73f
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
movzx eax, word [esi + edx*8 + 8]
lea esi, [esi + edx*8]
test al, 4
jne 0x46e601
test al, 8
jne 0x46e5d3
test al, 2
je 0x46e5e0
push 1
mov eax, esi
call fcn.00408760
add esp, 4
jmp 0x46e5e0
mov edi, esi
call fcn.004071e0
mov edi, dword [ebp - 0xf4]
movzx eax, word [esi + 8]
test al, 4
jne 0x46e601
cmp dword [ebx + 8], 0
jne 0x472797
mov dword [ebp - 0xd4], 0x14
jmp 0x472991
and eax, 0xbe04
or eax, 4
mov word [esi + 8], ax
jmp case.default.0x46d73f
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 4
lea esi, [esi + eax*8]
je case.default.0x46d73f
call fcn.004072b0
jmp case.default.0x46d73f
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
lea esi, [esi + ecx*8]
mov edx, 0x4000
test word [esi + 8], dx
je 0x46e666
mov eax, esi
call fcn.00412c40
mov dl, byte [ebp - 0x11d]
mov cl, byte [ebx + 8]
mov dword [ebp - 0xd4], eax
mov eax, esi
call fcn.00426190
jmp case.default.0x46d73f
mov dl, byte [ebp - 0x11d]
mov cl, byte [ebx + 8]
mov eax, esi
mov dword [ebp - 0xd4], 0
call fcn.00426190
jmp case.default.0x46d73f
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [ebx + 0xc]
lea edx, [eax + eax*4]
movzx eax, word [ecx + 8]
mov dword [ebp - 0xe4], ecx
lea edx, [esi + edx*8]
mov ecx, eax
mov dword [ebp - 0xe8], ecx
movzx ecx, word [edx + 8]
mov dword [ebp - 0x104], edx
mov edx, eax
mov dword [ebp - 0x110], ecx
or cl, dl
test cl, 1
je 0x46e724
mov al, byte [ebx + 3]
test al, al
jns 0x46e6f0
test dl, 1
je 0x46e6e6
mov eax, dword [ebp - 0x110]
test al, 1
je 0x46e6e6
test eax, 0x100
jne 0x46e6e6
xor eax, eax
jmp 0x46e874
mov eax, 1
jmp 0x46e874
test al, 0x20
je 0x46e717
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
mov ax, word [esi + edx*8 + 8]
lea esi, [esi + edx*8]
mov ecx, 0xbe01
and ax, cx
or ax, 1
mov word [esi + 8], ax
jmp case.default.0x46d73f
test al, 0x10
jne 0x472797
jmp case.default.0x46d73f
mov bl, byte [ebx + 3]
and bl, 0x47
cmp bl, 0x43
jl 0x46e769
and al, 0xe
cmp al, 2
jne 0x46e745
mov eax, dword [ebp - 0xe4]
push 0
call fcn.00408760
add esp, 4
mov edx, dword [ebp - 0x104]
mov al, byte [edx + 8]
and al, 0xe
cmp al, 2
jne 0x46e7fa
push 0
mov eax, edx
call fcn.00408760
add esp, 4
jmp 0x46e7fa
cmp bl, 0x42
jne 0x46e7fa
test al, 2
jne 0x46e7b3
test al, 0xc
je 0x46e7b3
mov ecx, dword [ebp - 0x11d]
mov ebx, dword [ebp - 0xe4]
push 1
push ecx
mov eax, ebx
call fcn.0041e610
mov dx, word [ebx + 8]
xor dx, word [ebp - 0xe8]
mov eax, 0x1ff
and dx, ax
add esp, 8
xor dx, word [ebx + 8]
movzx ecx, dx
mov dword [ebp - 0xe8], ecx
mov edx, dword [ebp - 0x104]
movzx eax, word [edx + 8]
test al, 2
jne 0x46e7fa
test al, 0xc
je 0x46e7fa
mov eax, dword [ebp - 0x11d]
push 1
mov ebx, edx
push eax
mov eax, ebx
call fcn.0041e610
mov cx, word [ebx + 8]
xor cx, word [ebp - 0x110]
mov edx, 0x1ff
and cx, dx
add esp, 8
xor cx, word [ebx + 8]
movzx eax, cx
mov dword [ebp - 0x110], eax
mov edx, dword [ebp - 0xe4]
mov ecx, 0x4000
test word [edx + 8], cx
je 0x46e81c
mov eax, edx
call fcn.00412c40
and dword [ebp - 0xe8], 0xbfff
mov ecx, dword [ebp - 0x104]
mov eax, 0x4000
test word [ecx + 8], ax
je 0x46e83e
mov eax, ecx
call fcn.00412c40
and dword [ebp - 0x110], 0xbfff
mov edx, dword [ebp - 0xd8]
cmp byte [edx + 0x41], 0
jne 0x4729f7
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x104]
call fcn.0041ec70
mov ebx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xe8]
movzx ecx, byte [ebx]
add ecx, 0xffffffb2
cmp ecx, 4
ja case.default.0x46e87f
jmp dword [ecx*4 + 0x472d14]
xor ecx, ecx
test eax, eax
sete cl
jmp 0x46e8ba
xor ecx, ecx
test eax, eax
setne cl
jmp 0x46e8ba
xor ecx, ecx
test eax, eax
sets cl
jmp 0x46e8ba
xor ecx, ecx
test eax, eax
setle cl
jmp 0x46e8ba
xor ecx, ecx
test eax, eax
setg cl
jmp 0x46e8ba
xor ecx, ecx
test eax, eax
setns cl
mov eax, ecx
mov ecx, dword [ebp - 0xe4]
mov word [ecx + 8], dx
mov dx, word [ebp - 0x110]
mov ecx, dword [ebp - 0x104]
mov word [ecx + 8], dx
test byte [ebx + 3], 0x20
je 0x46ec38
mov ecx, dword [ebx + 8]
lea edx, [ecx + ecx*4]
mov cx, word [esi + edx*8 + 8]
lea esi, [esi + edx*8]
mov edx, 0xbe04
and cx, dx
cdq
or cx, 4
mov word [esi + 8], cx
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.default.0x46d73f
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x170], eax
jmp case.default.0x46d73f
test byte [ebx + 3], 1
jne 0x46e928
mov dword [ebp - 0x170], 0
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 4]
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0xec], edx
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0x100], 0
test eax, eax
jle 0x46ea08
mov edx, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x100]
add edx, 0x14
mov dword [ebp - 0x108], edx
mov eax, dword [ebp - 0x170]
test eax, eax
je 0x46e980
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0xe0]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x100]
movzx edx, byte [edx + eax]
mov eax, dword [ebp - 0xf8]
add eax, ecx
add ecx, dword [ebp - 0xec]
mov dword [ebp - 0xe8], edx
lea edx, [eax + eax*4]
lea eax, [esi + edx*8]
mov edx, dword [ebp - 0x108]
mov edx, dword [edx]
lea ecx, [ecx + ecx*4]
lea ecx, [esi + ecx*8]
call fcn.0041ec70
mov dword [ebp - 0x15c], eax
test eax, eax
jne 0x46e9f1
mov ecx, dword [ebp - 0x100]
add dword [ebp - 0x108], 4
inc ecx
mov dword [ebp - 0x100], ecx
cmp ecx, dword [ebp - 0x10c]
jl 0x46e973
mov dword [ebp - 0x170], eax
jmp case.default.0x46d73f
cmp dword [ebp - 0xe8], 0
je 0x46ea08
mov eax, dword [ebp - 0x15c]
neg eax
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x170], 0
jmp case.default.0x46d73f
mov eax, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x114]
test eax, eax
jns 0x46ea3c
mov ebx, dword [ebx + 4]
lea ecx, [ebx + ebx*4]
lea eax, [edx + ecx*4 - 0x14]
mov dword [ebp - 0xdc], eax
jmp 0x46d7fb
jne 0x46ea53
mov ebx, dword [ebx + 8]
lea ecx, [ebx + ebx*4]
lea eax, [edx + ecx*4 - 0x14]
mov dword [ebp - 0xdc], eax
jmp 0x46d7fb
mov ebx, dword [ebx + 0xc]
lea ecx, [ebx + ebx*4]
lea eax, [edx + ecx*4 - 0x14]
mov dword [ebp - 0xdc], eax
jmp 0x46d7fb
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
test byte [esi + ecx*8 + 8], 1
lea ecx, [esi + ecx*8]
je 0x46ea84
mov dword [ebp - 0x100], 2
jmp 0x46eaa1
call fcn.00407120
or eax, edx
mov dword [ebp - 0x100], 1
jne 0x46eaa1
mov dword [ebp - 0x100], 0
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
test byte [esi + edx*8 + 8], 1
lea ecx, [esi + edx*8]
je 0x46eab8
mov eax, 2
jmp 0x46eaca
call fcn.00407120
or eax, edx
je 0x46eac8
mov eax, 1
jmp 0x46eaca
xor eax, eax
cmp byte [ebx], 0x48
mov ecx, dword [ebp - 0x100]
jne 0x46eae2
lea eax, [eax + ecx*2]
movzx eax, byte [ecx + eax + 0x4e7554]
jmp 0x46eaed
lea edx, [eax + ecx*2]
movzx eax, byte [ecx + edx + 0x4e7598]
mov ecx, dword [ebx + 0xc]
lea ecx, [ecx + ecx*4]
lea esi, [esi + ecx*8]
cmp eax, 2
jne 0x46eb14
mov dx, word [esi + 8]
mov eax, 0xbe01
and dx, ax
or dx, 1
mov word [esi + 8], dx
jmp case.default.0x46d73f
mov cx, word [esi + 8]
cdq
mov dword [esi + 4], edx
mov edx, 0xbe04
and cx, dx
or cx, 4
mov dword [esi], eax
mov word [esi + 8], cx
jmp case.default.0x46d73f
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
lea esi, [esi + edx*8]
mov eax, esi
mov dword [ebp - 0xe4], ecx
call fcn.004073c0
mov eax, dword [ebp - 0xe4]
test byte [eax + 8], 1
jne case.default.0x46d73f
mov ecx, 4
mov word [esi + 8], cx
mov ecx, eax
call fcn.00407120
or eax, edx
jne 0x46eb86
mov eax, 1
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.default.0x46d73f
xor eax, eax
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.default.0x46d73f
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
lea eax, [esi + edx*8]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
lea esi, [esi + ecx*8]
mov eax, esi
call fcn.004073c0
mov edx, dword [ebp - 0xe4]
test byte [edx + 8], 1
jne case.default.0x46d73f
mov eax, 4
mov ecx, edx
mov word [esi + 8], ax
call fcn.00407120
not eax
not edx
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.default.0x46d73f
mov eax, dword [edi + 0xc8]
mov edx, dword [ebx + 4]
cmp byte [eax + edx], 0
jne 0x472797
mov byte [eax + edx], 1
jmp case.default.0x46d73f
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 1
lea eax, [esi + eax*8]
je 0x46ec11
mov eax, dword [ebx + 0xc]
jmp 0x46ec38
call fcn.00407190
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x46ec28
mov eax, 1
jmp 0x46ec2a
xor eax, eax
cmp byte [ebx], 0x2e
jne 0x46ec38
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
test eax, eax
jne 0x472797
jmp case.default.0x46d73f
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
test byte [esi + edx*8 + 8], 1
jne 0x472797
jmp case.default.0x46d73f
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 1
je 0x472797
jmp case.default.0x46d73f
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x100], ecx
lea ecx, [eax + edx*8]
mov eax, dword [edi + 0x38]
mov edx, dword [ebx + 4]
mov esi, dword [eax + edx*4]
cmp byte [esi + 0x1a], 0
mov eax, dword [esi]
mov dword [ebp - 0xf0], ecx
mov ecx, dword [esi + 0x50]
mov dword [ebp - 0xe4], esi
mov dword [ebp - 0x104], ecx
mov dword [ebp - 0xe8], eax
je 0x46ed25
call fcn.00453ab0
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0
jne 0x472991
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xe8]
mov edx, dword [esi + 0x3c]
cmp edx, dword [edi + 0x48]
je 0x46eead
cmp byte [esi + 0x19], 0
je 0x46ed69
test eax, eax
jne 0x46ed57
mov eax, dword [esi + 0x10]
mov ecx, dword [ebp - 0x118]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*8 + 0xc]
lea eax, [ecx + eax*8]
lea ecx, [esi + 0x40]
mov dword [esi + 0x44], edx
mov dword [ecx], edx
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x154], edx
mov dword [ebp - 0x110], ecx
mov dword [esi + 0x4c], eax
jmp 0x46ee26
test eax, eax
je 0x46ed4b
cmp byte [eax + 0x49], 1
je 0x46ed4b
mov edi, dword [ebp - 0xe4]
call fcn.0045b3a0
mov edi, dword [ebp - 0xf4]
mov dword [ebp - 0xd4], eax
jmp 0x46ecc0
mov dword [ebp - 0xd4], 0
jmp 0x46ecd9
mov esi, dword [ebp - 0xf0]
mov eax, esi
call fcn.004073c0
jmp 0x46f20a
test byte [esi + 0x1c], 4
mov esi, dword [ebp - 0xe8]
jne 0x46edb3
lea edi, [ebp - 0x230]
call fcn.00406c50
mov eax, dword [ebp - 0xe8]
lea esi, [ebp - 0x154]
call fcn.00406d00
mov ecx, dword [ebp - 0xe4]
mov edi, dword [ebp - 0xf4]
mov dword [ecx + 0x4c], eax
lea eax, [ecx + 0x40]
mov ecx, dword [ebp - 0x230]
mov dword [ebp - 0x110], eax
mov dword [eax], ecx
jmp 0x46ede5
mov eax, dword [ebp - 0xe4]
add eax, 0x40
push eax
mov dword [ebp - 0x110], eax
call fcn.00406ca0
mov eax, dword [ebp - 0xe8]
add esp, 4
lea esi, [ebp - 0x154]
call fcn.00406d00
mov edx, dword [ebp - 0xe4]
mov dword [edx + 0x4c], eax
mov eax, dword [ebp - 0x110]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x154]
cmp eax, ecx
ja 0x46ee02
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + 0x44], eax
jmp 0x46ee0b
mov edx, dword [ebp - 0xe4]
mov dword [edx + 0x44], ecx
mov ecx, dword [ebp - 0xd8]
cmp eax, dword [ecx + 0x58]
ja 0x472a26
mov edx, dword [ebp - 0x154]
mov esi, dword [ebp - 0xe4]
mov eax, dword [edi + 0x48]
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x3c], eax
mov al, byte [ecx]
cmp al, 0x80
jae 0x46ee45
movzx eax, al
mov dword [ebp - 0x138], eax
mov ecx, 1
jmp 0x46ee65
lea esi, [ebp - 0x138]
call fcn.00402980
mov edx, dword [ebp - 0x154]
mov esi, dword [ebp - 0xe4]
movzx ecx, al
mov eax, dword [ebp - 0x138]
movzx ecx, cl
mov dword [esi + 0x48], ecx
xor ecx, ecx
mov word [esi + 0x16], cx
mov ecx, dword [ebp - 0x104]
mov dword [ecx], eax
cmp eax, 0x18003
ja 0x46ee98
mov ecx, dword [ebp - 0x110]
cmp eax, dword [ecx]
ja 0x46ee98
cmp edx, eax
jae 0x46eebd
xor eax, eax
mov dword [esi + 0x4c], eax
mov dword [esi + 0x44], eax
jmp 0x46eebd
mov eax, 0x11e08
call fcn.004300d0
mov dword [ebp - 0xd4], eax
jmp case.default.0x46d73f
movzx edx, word [esi + 0x16]
cmp edx, dword [ebp - 0x100]
jg 0x46f0ef
mov eax, dword [esi + 0x48]
mov ecx, dword [ebp - 0x104]
cmp eax, dword [ecx]
jae 0x46f0b2
mov eax, dword [esi + 0x4c]
test eax, eax
jne 0x46ef60
mov dword [ebp - 0x2b4], eax
mov dword [ebp - 0x2b0], eax
mov dword [ebp - 0x2ac], eax
mov dword [ebp - 0x2a8], eax
mov dword [ebp - 0x2a4], eax
mov dword [ebp - 0x2a0], eax
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x294], eax
mov dword [ebp - 0x290], eax
mov edx, dword [esi + 0x1c]
mov ebx, dword [ecx]
mov ecx, dword [ebp - 0xe8]
shr edx, 2
not edx
and edx, 1
push edx
push eax
lea eax, [ebp - 0x2b4]
call fcn.0045a5a0
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x46d7fb
mov edx, dword [ebp - 0x2a4]
mov esi, dword [ebp - 0xe4]
mov ebx, dword [ebp - 0xdc]
mov dword [ebp - 0x108], edx
jmp 0x46ef66
mov dword [ebp - 0x108], eax
movzx ecx, word [esi + 0x16]
mov eax, dword [ebp - 0x104]
mov edx, dword [eax + ecx*4]
mov eax, dword [eax]
mov dword [ebp - 0x138], edx
mov edx, dword [esi + 0x48]
add edx, dword [ebp - 0x108]
add eax, dword [ebp - 0x108]
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xe0], eax
lea eax, [esi + ecx*4 + 0x54]
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x10c], eax
mov al, byte [edx]
cmp al, 0x80
jae 0x46efbe
movzx eax, al
inc edx
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x110], edx
jmp 0x46efea
mov ecx, dword [ebp - 0x110]
lea esi, [ebp - 0x144]
call fcn.00402980
mov esi, dword [ebp - 0xe4]
movzx ecx, al
add dword [ebp - 0x110], ecx
mov eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0xec]
mov edx, dword [ebp - 0x10c]
mov dword [edx], eax
call fcn.00407a90
mov edx, eax
mov eax, dword [ebp - 0x138]
add eax, edx
mov dword [ebp - 0x138], eax
cmp eax, edx
jb 0x46f0a3
mov edx, dword [ebp - 0x104]
add dword [ebp - 0x10c], 4
inc ecx
mov dword [edx + ecx*4], eax
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0xec], ecx
cmp ecx, dword [ebp - 0x100]
jg 0x46f040
cmp edx, dword [ebp - 0xe0]
jb 0x46efa6
mov word [esi + 0x16], cx
mov ecx, edx
sub ecx, dword [ebp - 0x108]
cmp dword [esi + 0x4c], 0
mov dword [esi + 0x48], ecx
jne 0x46f078
lea eax, [ebp - 0x2b4]
call fcn.004070a0
mov eax, dword [ebp - 0x138]
mov edx, 1
mov word [ebp - 0x2ac], dx
mov edx, dword [ebp - 0x110]
mov ecx, dword [ebp - 0xe0]
cmp edx, ecx
jb 0x46f089
ja 0x46f08e
cmp eax, dword [esi + 0x40]
jne 0x46f08e
cmp eax, dword [esi + 0x40]
jbe 0x46f0b2
mov eax, 0x11e5c
call fcn.004300d0
mov dword [ebp - 0xd4], eax
jmp case.default.0x46d73f
mov edx, dword [ebp - 0xe0]
inc edx
mov dword [ebp - 0x110], edx
jmp 0x46f040
movzx eax, word [esi + 0x16]
cmp eax, dword [ebp - 0x100]
jg 0x46f0ef
cmp byte [ebx + 1], 0xf8
mov eax, dword [ebp - 0xf0]
jne 0x46f0e5
mov edi, dword [ebx + 0x10]
push 0x800
call fcn.00407490
mov edi, dword [ebp - 0xf4]
add esp, 4
jmp 0x46f204
call fcn.004073c0
jmp 0x46f204
mov edx, dword [ebp - 0xf0]
mov ecx, 0x2460
test word [edx + 8], cx
je 0x46f107
mov eax, edx
call fcn.004073c0
mov eax, dword [ebp - 0x100]
mov ecx, dword [esi + eax*4 + 0x54]
mov edx, dword [esi + 0x44]
mov dword [ebp - 0x144], ecx
mov ecx, dword [ebp - 0x104]
cmp edx, dword [ecx + eax*4 + 4]
jb 0x46f148
mov ecx, dword [esi + 0x4c]
mov edx, dword [ebp - 0x104]
add ecx, dword [edx + eax*4]
mov eax, dword [ebp - 0xf0]
mov edx, dword [ebp - 0x144]
call fcn.00407bc0
jmp 0x46f1f5
mov al, byte [ebx + 3]
mov edx, dword [ebp - 0x144]
test al, 0xc0
je 0x46f163
cmp edx, 0xc
jb 0x46f15f
test dl, 1
je 0x46f170
test al, al
js 0x46f170
mov eax, edx
call fcn.00407a90
mov ecx, eax
test ecx, ecx
jne 0x46f190
mov ecx, 0xd
cmp ecx, edx
sbb ecx, ecx
not ecx
lea eax, [ebp - 0x230]
and ecx, eax
mov eax, dword [ebp - 0xf0]
call fcn.00407bc0
jmp 0x46f1f5
mov edx, dword [esi + 0x1c]
mov eax, dword [ebp - 0x104]
shr edx, 2
not edx
and edx, 1
push edx
mov edx, dword [ebp - 0x100]
mov eax, dword [eax + edx*4]
push eax
mov eax, dword [ebp - 0xf0]
mov ebx, ecx
mov ecx, dword [ebp - 0xe8]
call fcn.0045a5a0
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x46d7fb
mov esi, dword [ebp - 0xf0]
mov edx, dword [ebp - 0x144]
mov ecx, dword [esi + 0x10]
mov eax, esi
call fcn.00407bc0
mov ebx, dword [ebp - 0xdc]
mov ecx, 0xefff
and word [esi + 8], cx
mov dl, byte [ebp - 0x11d]
mov eax, dword [ebp - 0xf0]
mov byte [eax + 0xa], dl
mov esi, dword [ebp - 0xf0]
movzx eax, word [esi + 8]
test eax, 0x1000
je case.default.0x46d73f
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0xf8], ecx
test ecx, ecx
je case.default.0x46d73f
mov ebx, dword [esi + 0xc]
and eax, 0x12
mov dword [ebp - 0xec], eax
lea ecx, [ebx + 2]
mov eax, esi
call fcn.00412c20
test eax, eax
jne 0x4729f7
mov ecx, dword [ebp - 0xf8]
mov edx, dword [esi + 0x10]
push ebx
push ecx
push edx
call fcn.004b3cc0
mov eax, dword [esi + 0x10]
mov byte [ebx + eax], 0
mov eax, dword [ebp - 0xec]
mov ecx, dword [esi + 0x10]
add esp, 0xc
or eax, 0x200
mov byte [ecx + ebx + 1], 0
mov word [esi + 8], ax
jmp 0x46d7fb
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0x10]
lea edx, [eax + eax*4]
mov al, byte [ecx]
mov dword [ebp - 0xe0], ecx
lea esi, [esi + edx*8]
test al, al
je case.default.0x46d73f
jmp 0x46f2a0
mov ecx, dword [ebp - 0x11d]
inc dword [ebp - 0xe0]
push ecx
mov ecx, esi
call fcn.0041f460
mov edx, dword [ebp - 0xe0]
mov al, byte [edx]
add esp, 4
add esi, 0x28
test al, al
jne 0x46f2a0
jmp case.default.0x46d73f
mov ecx, dword [ebx + 0x10]
xor eax, eax
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x160], eax
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov eax, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
lea eax, [eax + eax*4]
mov dword [ebp - 0x100], edx
lea edx, [edx + eax*8 - 0x28]
movzx eax, byte [edi + 0x57]
mov dword [ebp - 0xe8], edx
lea edx, [ebx + ebx*4]
mov dword [ebp - 0xf8], eax
lea eax, [esi + edx*8]
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xf0], eax
test ecx, ecx
je 0x46f35c
mov esi, dword [ebp - 0x100]
mov al, byte [ecx]
mov ebx, ecx
lea ebx, [ebx]
mov edx, dword [ebp - 0x11d]
push edx
mov ecx, esi
call fcn.0041f460
mov al, byte [ebx + 1]
inc ebx
add esp, 4
add esi, 0x28
test al, al
jne 0x46f340
mov esi, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xf8]
push eax
mov edx, esi
call fcn.004079a0
mov ebx, eax
add esp, 4
mov dword [esi + 0x1c], ebx
call fcn.00407a90
mov ecx, 0x4000
mov dword [ebp - 0xe0], eax
test word [esi + 8], cx
je 0x46f3bc
mov edx, dword [ebp - 0x178]
or edx, dword [ebp - 0x174]
je 0x46f3a5
mov eax, esi
call fcn.00412c40
jmp 0x46f3bc
mov eax, dword [esi]
cdq
add dword [ebp - 0x164], eax
mov eax, dword [esi]
adc dword [ebp - 0x160], edx
sub dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xe0]
cdq
add dword [ebp - 0x178], eax
adc dword [ebp - 0x174], edx
cmp ebx, 0x7f
ja 0x46f3db
mov eax, 1
jmp 0x46f3e6
push 0
push ebx
call fcn.004029f0
add esp, 8
add dword [ebp - 0x10c], eax
sub esi, 0x28
cmp esi, dword [ebp - 0x100]
jae 0x46f362
mov ebx, dword [ebp - 0x10c]
cmp ebx, 0x7e
jle 0x46f425
mov eax, ebx
cdq
push edx
push eax
call fcn.004029f0
mov esi, eax
add ebx, esi
mov eax, ebx
cdq
push edx
push eax
call fcn.004029f0
add esp, 0x10
cmp esi, eax
jge 0x46f426
inc ebx
mov eax, ebx
cdq
mov ecx, eax
mov eax, dword [ebp - 0x178]
add eax, ecx
mov dword [ebp - 0x1cc], ecx
mov ecx, dword [ebp - 0x174]
mov esi, eax
adc ecx, edx
add esi, dword [ebp - 0x164]
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x58]
adc ecx, dword [ebp - 0x160]
mov dword [ebp - 0x1c8], edx
cdq
cmp ecx, edx
jg 0x472a26
jl 0x46f477
cmp esi, eax
ja 0x472a26
mov esi, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0x238]
mov eax, esi
call fcn.00412c20
test eax, eax
jne 0x4729f7
mov esi, dword [esi + 0x10]
mov dword [ebp - 0xe0], esi
cmp ebx, 0x80
jae 0x46f4ac
mov byte [esi], bl
mov eax, 1
jmp 0x46f4c2
mov ecx, dword [ebp - 0x1c8]
mov edx, dword [ebp - 0x1cc]
push ecx
push edx
call fcn.004027a0
add esp, 8
movzx eax, al
mov dword [ebp - 0xec], ebx
mov ebx, dword [ebp - 0x100]
mov dword [ebp - 0x108], eax
jmp 0x46f4e0
mov ecx, dword [ebx + 0x1c]
mov dword [ebp - 0xf8], ecx
cmp ecx, 0x80
jae 0x46f507
mov eax, dword [ebp - 0xe0]
mov edx, dword [ebp - 0x108]
mov byte [edx + eax], cl
mov eax, 1
jmp 0x46f527
mov edx, dword [ebp - 0xe0]
mov esi, dword [ebp - 0x108]
push 0
push ecx
lea esi, [esi + edx]
call fcn.004027a0
mov ecx, dword [ebp - 0xf8]
add esp, 8
mov edx, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xec]
movzx eax, al
add dword [ebp - 0x108], eax
lea edi, [esi + edx]
mov eax, ebx
call fcn.00407ab0
add esi, eax
add ebx, 0x28
mov dword [ebp - 0xec], esi
cmp ebx, dword [ebp - 0xe8]
jbe 0x46f4e0
mov ecx, dword [ebp - 0x238]
mov eax, dword [ebp - 0xf0]
mov edx, 0x10
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x164]
mov word [eax + 8], dx
mov edx, ecx
or edx, dword [ebp - 0x160]
je 0x46f58c
mov dword [eax], ecx
mov ecx, 0x4010
mov word [eax + 8], cx
mov edi, dword [ebp - 0xf4]
mov byte [eax + 0xa], 1
jmp 0x46d7fb
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov ecx, dword [eax + edx*4]
mov eax, dword [ecx]
xor ecx, ecx
lea edx, [ebp - 0x19c]
push edx
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x198], ecx
call fcn.004535f0
mov dword [ebp - 0xd4], eax
add esp, 4
mov eax, ebx
mov edx, edi
call fcn.004088e0
mov ecx, dword [ebp - 0x19c]
mov edx, dword [ebp - 0x198]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp case.default.0x46d73f
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x104], eax
mov dword [ebp - 0xe0], ecx
test eax, eax
jne 0x46f6fd
mov eax, dword [ebp - 0xd8]
cmp dword [eax + 0x9c], 0
jle 0x46f632
push str.cannot_open_savepoint___SQL_statements_in_progress
lea ebx, [edi + 0x2c]
mov esi, eax
call fcn.00430d40
add esp, 4
mov dword [ebp - 0xd4], 5
jmp 0x46d7fb
call fcn.00401d50
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x1f4]
add ecx, dword [eax + 0x1f0]
push ecx
push 0
push eax
call fcn.0040c7d0
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x472991
mov edx, dword [ebp - 0xec]
mov esi, dword [ebp - 0xd8]
add edx, 0x21
push eax
push edx
call fcn.0040ef90
mov esi, eax
add esp, 8
test esi, esi
je case.default.0x46d73f
mov ecx, dword [ebp - 0xec]
mov edx, dword [ebp - 0xe0]
inc ecx
push ecx
lea eax, [esi + 0x20]
push edx
push eax
mov dword [esi], eax
call fcn.004b3cc0
mov eax, dword [ebp - 0xd8]
add esp, 0xc
cmp byte [eax + 0x3f], 0
je 0x46f6bf
mov byte [eax + 0x3f], 0
mov byte [eax + 0x46], 1
jmp 0x46f6c5
inc dword [eax + 0x1f0]
mov ecx, dword [eax + 0x1e8]
mov dword [esi + 0x18], ecx
mov edx, dword [eax + 0x1f8]
mov dword [eax + 0x1e8], esi
mov dword [esi + 8], edx
mov ecx, dword [eax + 0x1fc]
mov dword [esi + 0xc], ecx
mov edx, dword [eax + 0x200]
mov dword [esi + 0x10], edx
mov eax, dword [eax + 0x204]
mov dword [esi + 0x14], eax
jmp case.default.0x46d73f
mov edx, dword [ebp - 0xd8]
mov esi, dword [edx + 0x1e8]
mov dword [ebp - 0x100], 0
test esi, esi
je 0x46f743
jmp 0x46f726
mov ecx, dword [ebp - 0xe0]
mov eax, dword [esi]
push ecx
push eax
call fcn.00401e20
add esp, 8
test eax, eax
je 0x46f76f
mov esi, dword [esi + 0x18]
inc dword [ebp - 0x100]
test esi, esi
jne 0x46f720
mov ecx, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xd8]
push ecx
push str.no_such_savepoint:__s
lea ebx, [edi + 0x2c]
call fcn.00430d40
add esp, 8
mov dword [ebp - 0xd4], 1
jmp 0x46d7fb
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0xe8], esi
mov esi, dword [ebp - 0xd8]
xor ecx, ecx
cmp dword [esi + 0x9c], ecx
jle 0x46f7af
cmp eax, 1
jne 0x46f7af
push str.cannot_release_savepoint___SQL_statements_in_progress
lea ebx, [edi + 0x2c]
call fcn.00430d40
add esp, 4
mov dword [ebp - 0xd4], 5
jmp 0x46d7fb
mov edx, dword [ebp - 0xe8]
cmp dword [edx + 0x18], ecx
jne 0x46f817
cmp byte [esi + 0x46], cl
je 0x46f817
mov dword [ebp - 0x108], 1
cmp eax, 1
jne 0x46f81d
push eax
mov edx, edi
call fcn.00434040
mov esi, eax
add esp, 4
test esi, esi
jne 0x4724f3
mov eax, dword [ebp - 0xd8]
mov esi, edi
mov byte [eax + 0x3f], 1
call fcn.00461a80
mov ecx, dword [ebp - 0xd8]
cmp eax, 5
je 0x472871
mov byte [ecx + 0x46], 0
mov edx, dword [edi + 0x50]
mov dword [ebp - 0xd4], edx
mov esi, ecx
jmp 0x46f945
mov dword [ebp - 0x108], ecx
mov edx, dword [esi + 0x1f0]
sub edx, dword [ebp - 0x100]
dec edx
mov dword [ebp - 0x100], edx
cmp eax, 2
jne 0x46f8bb
mov eax, dword [esi + 0x18]
shr eax, 1
and eax, 1
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x110], ecx
cmp dword [esi + 0x14], ecx
jle 0x46f8c1
xor eax, eax
cmp dword [ebp - 0x10c], eax
mov dword [ebp - 0xe0], ecx
sete al
mov dword [ebp - 0xf8], eax
lea ecx, [ecx]
mov ecx, dword [ebp - 0xf8]
mov edx, dword [esi + 0x10]
mov eax, dword [ebp - 0xe0]
push ecx
mov ecx, dword [edx + eax + 4]
push 0x204
push ecx
call fcn.004515b0
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x472991
mov eax, dword [ebp - 0x110]
add dword [ebp - 0xe0], 0x10
inc eax
mov dword [ebp - 0x110], eax
cmp eax, dword [esi + 0x14]
jl 0x46f870
jmp 0x46f8c1
mov dword [ebp - 0x10c], ecx
cmp dword [esi + 0x14], 0
mov dword [ebp - 0x110], 0
jle 0x46f92a
mov dword [ebp - 0xe0], 0
jmp 0x46f8e0
mov edx, dword [ebp - 0x100]
mov eax, dword [ebp - 0x104]
mov ecx, dword [esi + 0x10]
push edx
mov edx, dword [ebp - 0xe0]
push eax
mov eax, dword [ecx + edx + 4]
call fcn.0044b200
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x472991
mov eax, dword [ebp - 0x110]
add dword [ebp - 0xe0], 0x10
inc eax
mov dword [ebp - 0x110], eax
cmp eax, dword [esi + 0x14]
jl 0x46f8e0
cmp dword [ebp - 0x10c], 0
je 0x46f945
mov eax, esi
call fcn.00408030
mov eax, esi
call fcn.00420560
or dword [esi + 0x18], 2
mov ecx, dword [ebp - 0xe8]
cmp dword [esi + 0x1e8], ecx
je 0x46f9c4
jmp 0x46f960
cmp dword [esi + 0x208], 0
mov eax, dword [esi + 0x1e8]
mov edx, dword [eax + 0x18]
mov dword [esi + 0x1e8], edx
je 0x46f981
mov ecx, esi
call fcn.00401af0
jmp 0x46f9b0
cmp eax, dword [esi + 0x114]
jb 0x46f9a7
cmp eax, dword [esi + 0x118]
jae 0x46f9a7
mov edx, dword [esi + 0x110]
mov dword [eax], edx
dec dword [esi + 0xfc]
mov dword [esi + 0x110], eax
jmp 0x46f9b6
push eax
call fcn.00401a80
add esp, 4
mov ecx, dword [ebp - 0xe8]
dec dword [esi + 0x1f0]
cmp dword [esi + 0x1e8], ecx
jne 0x46f960
mov eax, dword [ebp - 0x104]
cmp eax, 1
jne 0x46f9fa
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax + 0x18]
mov dword [esi + 0x1e8], ecx
mov ecx, esi
call fcn.00401b30
cmp dword [ebp - 0x108], 0
jne case.default.0x46d73f
dec dword [esi + 0x1f0]
jmp 0x46fa30
cmp dword [ebp - 0x108], 0
mov edx, dword [ecx + 8]
mov dword [esi + 0x1f8], edx
mov edx, dword [ecx + 0xc]
mov dword [esi + 0x1fc], edx
mov edx, dword [ecx + 0x10]
mov dword [esi + 0x200], edx
mov ecx, dword [ecx + 0x14]
mov dword [esi + 0x204], ecx
je 0x46fa30
cmp eax, 2
jne case.default.0x46d73f
mov edx, dword [ebp - 0x100]
mov eax, dword [ebp - 0x104]
push edx
push eax
push esi
call fcn.0040c7d0
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x472991
jmp case.default.0x46d73f
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xf8], eax
test eax, eax
je 0x46faa3
cmp byte [edx + 0x3f], 0
jne 0x46faa3
test ecx, ecx
jne 0x46faa3
cmp dword [edx + 0x9c], ecx
jle 0x46faa3
push str.cannot_commit_transaction___SQL_statements_in_progress
lea ebx, [edi + 0x2c]
mov esi, edx
call fcn.00430d40
add esp, 4
mov dword [ebp - 0xd4], 5
jmp 0x46d7fb
movzx edx, byte [edx + 0x3f]
cmp eax, edx
jne 0x47289c
test eax, eax
jne 0x46faba
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x46fac8
mov eax, str.cannot_rollback___no_transaction_is_active
test ecx, ecx
jne 0x46fac8
mov eax, str.cannot_commit___no_transaction_is_active
mov esi, dword [ebp - 0xd8]
push eax
lea ebx, [edi + 0x2c]
call fcn.00430d40
add esp, 4
mov dword [ebp - 0xd4], 1
jmp 0x46d7fb
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x46fb03
mov eax, dword [ebp - 0xd8]
test dword [eax + 0x18], 0x2000000
jne 0x472946
mov edx, dword [ebx + 4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x10]
shl edx, 4
mov eax, dword [edx + eax + 4]
mov dword [ebp - 0xec], eax
test eax, eax
je 0x46fc1d
push ecx
push eax
call fcn.0044c580
add esp, 8
mov dword [ebp - 0xd4], eax
cmp eax, 5
je 0x472952
test eax, eax
jne 0x472991
cmp dword [ebx + 8], eax
je 0x46fbef
test byte [edi + 0x58], 0x20
je 0x46fbef
mov esi, dword [ebp - 0xd8]
cmp byte [esi + 0x3f], al
je 0x46fb70
cmp dword [esi + 0x98], 1
jle 0x46fbf5
cmp dword [edi + 0x68], 0
jne 0x46fb8b
mov ecx, dword [esi + 0x1f0]
inc dword [esi + 0x1f4]
add ecx, dword [esi + 0x1f4]
mov dword [edi + 0x68], ecx
mov edx, dword [edi + 0x68]
dec edx
push edx
push 0
push esi
call fcn.0040c7d0
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x46fbbd
mov eax, dword [edi + 0x68]
push eax
mov eax, dword [ebp - 0xec]
call fcn.00412860
add esp, 4
mov dword [ebp - 0xd4], eax
mov ecx, dword [esi + 0x1f8]
mov dword [edi + 0x98], ecx
mov edx, dword [esi + 0x1fc]
mov dword [edi + 0x9c], edx
mov eax, dword [esi + 0x200]
mov dword [edi + 0xa0], eax
mov ecx, dword [esi + 0x204]
mov dword [edi + 0xa4], ecx
jmp 0x46fbf5
mov esi, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xec]
lea edx, [ebp - 0x180]
push edx
push 1
call fcn.004129a0
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x10]
add esp, 8
add eax, eax
mov edx, dword [ecx + eax*8 + 0xc]
mov eax, dword [edx + 4]
jmp 0x46fc2f
mov esi, dword [ebp - 0xd8]
mov dword [ebp - 0x180], 0
xor eax, eax
cmp byte [ebx + 3], 0
je case.default.0x46d73f
mov ecx, dword [ebp - 0x180]
cmp ecx, dword [ebx + 0xc]
jne 0x46fc4d
cmp eax, dword [ebx + 0x10]
je case.default.0x46d73f
mov eax, dword [edi + 0x2c]
mov ecx, esi
call fcn.00401b30
push esi
mov ebx, str.database_schema_has_changed
call fcn.0040f170
mov edx, dword [ebp - 0xdc]
mov dword [edi + 0x2c], eax
mov eax, dword [edx + 4]
mov edx, dword [esi + 0x10]
mov ecx, eax
add ecx, ecx
mov ecx, dword [edx + ecx*8 + 0xc]
mov edx, dword [ebp - 0x180]
add esp, 4
cmp dword [ecx], edx
je 0x46fc99
mov edi, dword [ebp - 0xd8]
mov esi, eax
call fcn.00420530
mov edi, dword [ebp - 0xf4]
or dword [edi + 0x58], 8
mov dword [ebp - 0xd4], 0x11
jmp 0x46d7fb
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 4]
lea eax, [ebp - 0x1c0]
push eax
mov eax, dword [ebp - 0xd8]
push ecx
mov ecx, dword [eax + 0x10]
add edx, edx
mov eax, dword [ecx + edx*8 + 4]
call fcn.004129a0
add esp, 8
mov eax, ebx
mov edx, edi
call fcn.004088e0
mov ecx, eax
mov eax, dword [ebp - 0x1c0]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x46d73f
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x118]
shl eax, 4
add eax, dword [edx + 0x10]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.00407280
mov edx, dword [esi]
mov eax, dword [ebp - 0xe0]
mov ebx, dword [ebx + 8]
mov eax, dword [eax + 4]
push edx
call fcn.00448ba0
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xd4], eax
mov eax, dword [ecx + 8]
add esp, 4
cmp eax, 1
jne 0x46fd5a
mov edx, dword [ebp - 0xe0]
mov eax, dword [edx + 0xc]
mov edx, dword [esi]
mov dword [eax], edx
mov eax, dword [ebp - 0xd8]
or dword [eax + 0x18], 2
jmp 0x46fd6d
cmp eax, 2
jne 0x46fd6d
mov eax, dword [ebp - 0xe0]
mov edx, dword [eax + 0xc]
mov al, byte [esi]
mov byte [edx + 0x4c], al
cmp dword [ecx + 4], 1
jne 0x46d7fb
mov eax, dword [ebp - 0xd8]
call fcn.00408030
and dword [edi + 0x58], 0xfffffff7
jmp 0x46d7fb
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + ecx*4]
test esi, esi
je case.0x46d73f.54
mov ecx, dword [esi + 0x20]
cmp ecx, dword [ebx + 8]
je 0x46fee4
test byte [edi + 0x58], 8
je 0x46fdb9
mov dword [ebp - 0xd4], 0x204
jmp case.default.0x46d73f
mov eax, dword [ebx + 8]
mov esi, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x108], eax
shl eax, 4
add eax, dword [esi + 0x10]
xor ecx, ecx
mov esi, dword [eax + 4]
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0x100], esi
cmp dl, 0x37
jne 0x46fe0d
mov edx, dword [eax + 0xc]
mov al, byte [edx + 0x4c]
mov dword [ebp - 0x10c], 1
cmp al, byte [edi + 0x57]
jae 0x46fe13
mov byte [edi + 0x57], al
jmp 0x46fe13
mov dword [ebp - 0x10c], ecx
test byte [ebx + 3], 4
je 0x46fe47
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x118]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.00407280
mov esi, dword [esi]
mov dword [ebp - 0xe0], esi
cmp esi, 2
jl 0x472979
mov ecx, dword [ebp - 0xf8]
mov al, byte [ebx + 1]
cmp al, 0xfa
jne 0x46fe63
mov eax, dword [ebx + 0x10]
movzx ecx, word [eax + 8]
movzx edx, word [eax + 6]
mov dword [ebp - 0xec], eax
add ecx, edx
jmp 0x46fe6a
cmp al, 0xf2
jne 0x46fe6a
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebp - 0x108]
push 1
push eax
push ecx
mov ecx, dword [ebx + 4]
push ecx
mov ebx, edi
call fcn.0045cfb0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x4729f7
mov edx, dword [esi]
mov ebx, dword [ebp - 0xec]
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0xe0]
or dword [esi + 0x1c], 8
push edx
push ebx
push ecx
mov dword [esi + 0x20], eax
push eax
mov eax, dword [ebp - 0x100]
mov byte [esi + 0x19], 1
call fcn.00412950
xor edx, edx
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xdc]
add esp, 0x10
mov dword [esi + 8], ebx
cmp byte [eax + 1], 0xfa
mov ebx, eax
setne dl
add edx, edx
add edx, edx
xor edx, dword [esi + 0x1c]
and edx, 4
xor dword [esi + 0x1c], edx
mov cl, byte [ebx + 3]
mov edx, dword [esi]
and cl, 3
mov byte [edx + 0x4a], cl
jmp case.default.0x46d73f
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
push 1
push 0xffffffffffffffff
push eax
push ecx
mov ebx, edi
call fcn.0045cfb0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x4729f7
or dword [esi + 0x1c], 1
mov edx, dword [ebp - 0xdc]
mov byte [esi + 0x19], 1
movzx eax, byte [edx + 3]
mov edx, dword [ebp - 0xd8]
mov ecx, dword [edx]
push 0x41e
or eax, 5
push eax
push 0
push ecx
lea ecx, [esi + 4]
call fcn.0044bba0
add esp, 0x10
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x46fff7
mov edx, dword [esi + 4]
push 1
push edx
call fcn.0044c580
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x46fff7
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0xf8], eax
test eax, eax
je 0x46ffd9
mov ecx, dword [ebp - 0xdc]
movzx edx, byte [ecx + 3]
or edx, 2
push edx
lea eax, [ebp - 0x1ec]
push eax
mov eax, dword [esi + 4]
call fcn.00459830
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x46ffd3
mov ecx, dword [esi]
mov eax, dword [ebp - 0xf8]
mov edx, dword [ebp - 0x1ec]
push ecx
push eax
mov dword [esi + 8], eax
mov eax, dword [esi + 4]
push 1
push edx
call fcn.00412950
add esp, 0x10
mov dword [ebp - 0xd4], eax
and dword [esi + 0x1c], 0xfffffffb
jmp 0x46fff7
mov eax, dword [esi]
push eax
mov eax, dword [esi + 4]
push 0
push 1
push 1
call fcn.00412950
add esp, 0x10
or dword [esi + 0x1c], 4
mov dword [ebp - 0xd4], eax
mov edx, dword [ebp - 0xdc]
xor ecx, ecx
cmp byte [edx + 3], 8
setne cl
add ecx, ecx
add ecx, ecx
add ecx, ecx
xor ecx, dword [esi + 0x1c]
and ecx, 8
xor dword [esi + 0x1c], ecx
jmp 0x46d7fb
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
push 1
push 0xffffffffffffffff
push eax
push ecx
mov ebx, edi
call fcn.0045cfb0
add esp, 0x10
test eax, eax
je 0x4729f7
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x10]
push eax
mov dword [eax + 8], edx
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0xd8]
push eax
push ecx
call fcn.0041a7e0
add esp, 0xc
mov dword [ebp - 0xd4], eax
jmp 0x46d7fb
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + edx*4]
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
mov esi, ecx
add esi, 1
mov dword [ebp - 0x310], edx
adc edx, 0
mov dword [eax + 0x28], esi
mov dword [eax + 0x2c], edx
mov eax, ecx
or eax, dword [ebp - 0x310]
je 0x472797
jmp case.default.0x46d73f
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 4]
push 0
push 0xffffffffffffffff
push ecx
push edx
mov ebx, edi
call fcn.0045cfb0
add esp, 0x10
test eax, eax
je 0x4729f7
mov ecx, dword [ebp - 0xdc]
mov byte [eax + 0x19], 1
mov edx, dword [ecx + 8]
or dword [eax + 0x1c], 4
mov dword [eax + 0x10], edx
jmp 0x46d7fb
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 0x38]
mov ecx, dword [ecx + eax*4]
mov eax, edi
call fcn.0045ce80
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov dword [eax + edx*4], 0
jmp case.default.0x46d73f
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + edx*4]
test byte [eax + 0x1c], 4
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xe8], ecx
mov byte [eax + 0x19], 0
je 0x4701e2
mov eax, dword [ebx + 0xc]
lea ecx, [eax + eax*4]
mov dl, byte [esi + ecx*8 + 8]
lea esi, [esi + ecx*8]
and dl, 0xe
cmp dl, 2
jne 0x470136
push 0
mov eax, esi
call fcn.00408760
add esp, 4
mov ecx, esi
call fcn.00407120
mov dword [ebp - 0x188], eax
movzx eax, word [esi + 8]
mov dword [ebp - 0x184], edx
test al, 4
jne 0x470193
test al, 8
je 0x472797
fild qword [ebp - 0x188]
fcom qword [esi]
fnstsw ax
test ah, 0x41
jne 0x47017b
test byte [ebp - 0xe8], 1
fstp st(0)
je 0x470193
dec dword [ebp - 0xe8]
jmp 0x470193
fcomp qword [esi]
fnstsw ax
test ah, 5
jp 0x470193
test byte [ebp - 0xe8], 1
jne 0x470193
inc dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x184]
mov edx, dword [ebp - 0x188]
mov esi, dword [ebp - 0xe0]
lea eax, [ebp - 0x134]
push eax
mov eax, dword [esi]
push 0
push ecx
push edx
push 0
push eax
call fcn.00451ae0
mov ecx, dword [ebp - 0x188]
mov edx, dword [ebp - 0x184]
add esp, 0x18
mov dword [ebp - 0xd4], eax
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], edx
test eax, eax
jne 0x472991
jmp 0x47025e
mov eax, dword [eax + 8]
mov dx, word [ebx + 0x10]
mov dword [ebp - 0x30c], eax
test cl, 1
sete al
mov word [ebp - 0x308], dx
mov edx, 0x4000
lea eax, [eax + eax - 1]
mov byte [ebp - 0x306], al
mov eax, dword [ebx + 0xc]
lea ecx, [eax + eax*4]
lea eax, [esi + ecx*8]
mov dword [ebp - 0x304], eax
test word [eax + 8], dx
je 0x470225
call fcn.00412c40
mov edx, dword [ebp - 0xe0]
lea eax, [ebp - 0x134]
push eax
mov eax, dword [edx]
push 0
push 0
push 0
lea ecx, [ebp - 0x30c]
push ecx
push eax
call fcn.00451ae0
add esp, 0x18
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x472991
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xe8]
xor edx, edx
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], edx
mov eax, dword [ebp - 0x134]
cmp ecx, 0x40
jl 0x4702a5
cmp eax, edx
jl 0x47028e
jne 0x470283
cmp ecx, 0x41
je 0x47028e
mov dword [ebp - 0x134], edx
jmp case.default.0x46d73f
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x134], edx
mov edx, dword [esi]
push ecx
push edx
call fcn.00458f00
jmp 0x4702d8
cmp eax, edx
jg 0x4702c3
jne 0x4702b0
cmp ecx, 0x3e
je 0x4702c3
mov eax, dword [esi]
xor ecx, ecx
cmp byte [eax + 0x49], 1
setne cl
mov dword [ebp - 0x134], ecx
jmp 0x4702e9
mov dword [ebp - 0x134], edx
mov eax, dword [esi]
lea edx, [ebp - 0x134]
push edx
push eax
call fcn.004590b0
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x472991
cmp dword [ebp - 0x134], 0
jne 0x472797
jmp case.default.0x46d73f
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x38]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0xf8], eax
mov byte [eax + 0x19], 0
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.00407120
mov ecx, dword [ebp - 0xf8]
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x34], edx
mov byte [ecx + 0x1a], 1
jmp case.default.0x46d73f
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x38]
mov ecx, dword [edx + ecx*4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
xor eax, eax
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0x104], esi
mov dword [ebp - 0x10c], eax
cmp dword [ebx + 0x10], eax
jle 0x4703cf
mov ecx, dword [ecx + 8]
mov dword [ebp - 0x2c8], ecx
mov cx, word [ebx + 0x10]
mov dword [ebp - 0x2c0], esi
xor edx, edx
xor esi, esi
mov word [ebp - 0x2c4], cx
cmp dx, cx
jae 0x4703c4
mov dword [ebp - 0xec], eax
lea esp, [esp]
add eax, dword [ebp - 0x2c0]
mov edx, 0x4000
test word [eax + 8], dx
je 0x4703ad
call fcn.00412c40
mov cx, word [ebp - 0x2c4]
mov eax, dword [ebp - 0xec]
movzx edx, cx
inc esi
add eax, 0x28
mov dword [ebp - 0xec], eax
cmp esi, edx
jl 0x470390
lea esi, [ebp - 0x2c8]
jmp 0x47043e
mov eax, dword [ebp - 0xe0]
mov edi, dword [eax + 8]
push 0xbf
lea ebx, [ebp - 0x10c]
lea edx, [ebp - 0xc4]
call fcn.00413ae0
mov esi, eax
add esp, 4
test esi, esi
je 0x4729f1
mov eax, dword [ebp - 0x104]
mov ecx, 0x4000
test word [eax + 8], cx
je 0x470411
call fcn.00412c40
mov eax, dword [ebp - 0x104]
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0xe0]
push esi
push edx
mov edx, dword [ecx + 8]
push eax
push edx
call fcn.00407d40
mov edi, dword [ebp - 0xf4]
mov ebx, dword [ebp - 0xdc]
add esp, 0x10
xor ecx, ecx
mov byte [esi + 6], 0
cmp byte [ebx], 0x43
mov dword [ebp - 0xec], ecx
jne 0x47047d
xor eax, eax
cmp ax, word [esi + 4]
jae 0x47047d
mov eax, dword [esi + 8]
add eax, 8
lea ecx, [ecx]
test byte [eax], 1
jne 0x470473
movzx edx, word [esi + 4]
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x470460
jmp 0x47047d
mov dword [ebp - 0xec], 1
lea eax, [ebp - 0x1bc]
push eax
push 0
push 0
push 0
push esi
mov esi, dword [ebp - 0xe0]
mov ecx, dword [esi]
push ecx
call fcn.00451ae0
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x10c]
add esp, 0x18
call fcn.00401b30
cmp dword [ebp - 0xd4], 0
jne case.default.0x46d73f
mov ecx, dword [ebp - 0x1bc]
xor eax, eax
test ecx, ecx
sete al
mov dl, 1
sub dl, al
mov dword [esi + 0xc], ecx
mov byte [esi + 0x19], dl
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], 0
cmp byte [ebx], 0x45
jne 0x4704f4
test eax, eax
jne 0x472797
jmp case.default.0x46d73f
cmp dword [ebp - 0xec], 0
jne 0x472797
test eax, eax
je 0x472797
jmp case.default.0x46d73f
mov ecx, dword [edi + 0x38]
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov edx, dword [eax]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
mov ecx, dword [esi + eax*8]
mov esi, dword [esi + eax*8 + 4]
lea eax, [ebp - 0xec]
push eax
push 0
push esi
push ecx
push 0
push edx
mov dword [ebp - 0xec], 0
mov dword [ebp - 0x31c], ecx
call fcn.00451ae0
mov ecx, dword [ebp - 0x31c]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xf8]
mov dword [eax + 0x30], ecx
mov ecx, dword [ebp - 0xec]
add esp, 0x18
mov dword [eax + 0x34], esi
mov dword [eax + 0x3c], 0
mov word [eax + 0x19], 0
mov dword [eax + 0xc], ecx
test ecx, ecx
jne 0x472797
jmp case.default.0x46d73f
mov eax, ebx
mov edx, edi
call fcn.004088e0
mov edx, dword [ebx + 4]
mov ecx, dword [edi + 0x38]
mov ecx, dword [ecx + edx*4]
mov edx, dword [ecx + 0x28]
mov dword [eax], edx
mov ecx, dword [ecx + 0x2c]
mov dword [eax + 4], ecx
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + edx*4]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
jmp case.default.0x46d73f
xor eax, eax
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x108], eax
mov eax, ebx
mov edx, edi
call fcn.004088e0
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x38]
mov dword [ebp - 0xf0], eax
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0xe8], eax
mov eax, dword [eax]
test eax, eax
je 0x4707dd
mov ecx, dword [ebp - 0xe8]
test byte [ecx + 0x1c], 2
jne 0x470697
lea edi, [ebp - 0x108]
mov esi, eax
call fcn.00451a90
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x47298b
cmp dword [ebp - 0x108], eax
je 0x470641
mov dword [ebp - 0x130], 1
mov dword [ebp - 0x12c], eax
jmp 0x47068b
mov edx, dword [ebp - 0xe8]
mov esi, dword [edx]
lea edi, [ebp - 0x130]
call fcn.00406c50
cmp dword [ebp - 0x12c], 0x7fffffff
mov dword [ebp - 0xd4], eax
jl 0x47067d
jg 0x470671
cmp dword [ebp - 0x130], 0xffffffff
jb 0x47067d
mov eax, dword [ebp - 0xe8]
or dword [eax + 0x1c], 2
jmp 0x47068b
add dword [ebp - 0x130], 1
adc dword [ebp - 0x12c], 0
mov edi, dword [ebp - 0xf4]
mov esi, dword [ebp - 0x118]
mov edx, dword [ebx + 0xc]
test edx, edx
je 0x47072d
mov ecx, dword [edi + 0xb0]
test ecx, ecx
je 0x4706c7
mov eax, dword [ecx + 4]
test eax, eax
je 0x4706bc
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x4706b3
mov ecx, dword [ecx + 0x10]
lea eax, [edx + edx*4]
lea esi, [ecx + eax*8]
jmp 0x4706cd
lea edx, [edx + edx*4]
lea esi, [esi + edx*8]
call fcn.00407280
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, 0xffffffff
jne 0x4706e8
cmp ecx, 0x7fffffff
je 0x4707bd
mov edx, dword [ebp - 0xe8]
test byte [edx + 0x1c], 2
jne 0x4707bd
add eax, 1
adc ecx, 0
mov edx, ecx
mov ecx, dword [ebp - 0x12c]
cmp ecx, edx
jg 0x470722
jl 0x470714
cmp dword [ebp - 0x130], eax
jae 0x470722
mov ecx, edx
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], ecx
mov eax, dword [ebp - 0x130]
mov dword [esi], eax
mov dword [esi + 4], ecx
mov ecx, dword [ebp - 0xe8]
test byte [ecx + 0x1c], 2
je 0x4707cc
mov dword [ebp - 0xec], 0
mov esi, ecx
lea esp, [esp]
lea edx, [ebp - 0x130]
push edx
push 8
call fcn.00446790
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x130]
and eax, 0x3fffffff
add ecx, 1
lea edx, [ebp - 0x108]
push edx
adc eax, 0
push 0
push eax
push ecx
mov dword [ebp - 0x12c], eax
mov eax, dword [esi]
push 0
push eax
mov dword [ebp - 0x130], ecx
call fcn.00451ae0
add esp, 0x20
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4707cc
cmp dword [ebp - 0x108], eax
jne 0x4707cc
mov eax, dword [ebp - 0xec]
inc eax
mov dword [ebp - 0xec], eax
cmp eax, 0x64
jl 0x470750
mov dword [ebp - 0xd4], 0xd
jmp 0x472991
mov eax, dword [ebp - 0xe8]
mov byte [eax + 0x1a], 0
mov dword [eax + 0x3c], 0
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0x130]
mov edx, dword [ebp - 0x12c]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp case.default.0x46d73f
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [ebx + 4]
mov dword [ebp - 0xf8], ecx
mov ecx, dword [edi + 0x38]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x108], eax
mov eax, dword [ebx + 0xc]
cmp dl, 0x4b
jne 0x47082b
lea edx, [eax + eax*4]
mov eax, dword [esi + edx*8]
mov esi, dword [esi + edx*8 + 4]
jmp 0x47082e
cdq
mov esi, edx
test byte [ebx + 3], 1
mov dword [ebp - 0x1b8], eax
je 0x47083d
inc dword [edi + 0x5c]
test byte [ebx + 3], 2
je 0x47085b
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], esi
mov dword [edx + 0x20], eax
mov dword [edx + 0x24], esi
mov eax, dword [ebp - 0xf8]
movzx edx, word [eax + 8]
xor ecx, ecx
test dl, 1
je 0x470872
mov dword [eax + 0x10], ecx
mov dword [eax + 0xc], ecx
mov dl, byte [ebx + 3]
test dl, 0x10
je 0x470883
mov ecx, dword [ebp - 0x108]
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0xec], ecx
movzx ecx, word [eax + 8]
test ecx, 0x4000
je 0x470899
mov ecx, dword [eax]
jmp 0x47089b
xor ecx, ecx
push dword [ebp - 0xec]
movzx edx, dl
shr edx, 3
and edx, 1
push edx
mov edx, dword [eax + 0x10]
push ecx
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x1b8]
push ecx
mov ecx, dword [ebp - 0x108]
push edx
push esi
push eax
mov eax, dword [ecx]
push 0
call fcn.00459100
mov ecx, dword [ebp - 0x108]
add esp, 0x20
mov dword [ebp - 0xd4], eax
mov byte [ecx + 0x1a], 0
mov dword [ecx + 0x3c], 0
test eax, eax
jne case.default.0x46d73f
mov edx, dword [ebp - 0xd8]
mov ecx, dword [edx + 0xd4]
test ecx, ecx
je case.default.0x46d73f
mov eax, dword [ebx + 0x10]
test eax, eax
je case.default.0x46d73f
mov edx, dword [ebp - 0x1b8]
push esi
mov esi, dword [ebp - 0xd8]
push edx
push eax
mov eax, dword [ebp - 0x108]
movsx edx, byte [eax + 0x18]
mov eax, dword [esi + 0x10]
add edx, edx
mov edx, dword [eax + edx*8]
mov al, byte [ebx + 3]
push edx
and al, 4
movzx edx, al
mov eax, dword [esi + 0xd0]
neg edx
sbb edx, edx
and edx, 5
add edx, 0x12
push edx
push eax
call ecx
add esp, 0x18
jmp case.default.0x46d73f
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x38]
mov esi, dword [edx + ecx*4]
mov eax, dword [esi]
call fcn.00459310
mov dword [ebp - 0xd4], eax
mov dword [esi + 0x3c], 0
test eax, eax
jne 0x4709be
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ecx + 0xd4]
mov dword [ebp - 0xf8], eax
test eax, eax
je 0x4709be
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x4709be
test byte [esi + 0x1c], 4
je 0x4709be
mov edx, dword [esi + 0x34]
push edx
mov edx, dword [esi + 0x30]
push edx
mov edx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0xd0]
push eax
movsx eax, byte [esi + 0x18]
add eax, eax
mov eax, dword [edx + eax*8]
push eax
push 9
push ecx
call dword [ebp - 0xf8]
add esp, 0x18
test byte [ebx + 8], 1
je case.default.0x46d73f
inc dword [edi + 0x5c]
jmp case.default.0x46d73f
mov ecx, dword [edi + 0x5c]
mov eax, dword [ebp - 0xd8]
add dword [eax + 0x54], ecx
mov dword [eax + 0x50], ecx
mov dword [edi + 0x5c], 0
jmp case.default.0x46d73f
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + edx*4]
mov edx, dword [ebx + 0x10]
lea ecx, [ecx + ecx*4]
lea ecx, [esi + ecx*8]
lea esi, [ebp - 0x110]
push esi
push edx
push ecx
mov dword [ebp - 0x110], 0
call fcn.00435ad0
add esp, 0xc
cmp dword [ebp - 0x110], 0
mov dword [ebp - 0xd4], eax
jne 0x472797
jmp case.default.0x46d73f
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 4]
lea ecx, [esi + edx*8]
mov edx, dword [edi + 0x38]
mov eax, dword [edx + eax*4]
call fcn.00414a70
mov ecx, dword [edi + 0x38]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebx + 0xc]
mov edx, dword [ecx + eax*4]
mov dword [edx + 0x3c], 0
jmp case.default.0x46d73f
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 4]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [edi + 0x38]
mov ebx, dword [eax + edx*4]
test byte [ebx + 0x1c], 4
mov esi, dword [ebx]
mov dword [ebp - 0xf0], ecx
mov dword [ebp - 0xec], esi
jne 0x470aca
lea edi, [ebp - 0x240]
call fcn.00406c50
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ecx + 0x58]
cdq
cmp dword [ebp - 0x23c], edx
jg 0x472a20
mov esi, dword [ebp - 0x240]
jl 0x470abc
cmp esi, eax
ja 0x472a20
mov edi, dword [ebp - 0xf4]
mov dword [ebp - 0x18c], esi
jmp 0x470aee
lea edx, [ebp - 0x18c]
push edx
call fcn.00406ca0
mov esi, dword [ebp - 0x18c]
mov eax, dword [ebp - 0xd8]
add esp, 4
cmp esi, dword [eax + 0x58]
ja 0x472a26
mov ecx, esi
cmp esi, 0x20
ja 0x470afa
mov ecx, 0x20
mov eax, dword [ebp - 0xf0]
call fcn.00412c20
test eax, eax
jne 0x4729f7
mov eax, dword [ebp - 0xf0]
mov cx, word [eax + 8]
mov edx, 0xbe10
and cx, dx
or cx, 0x10
mov dword [eax + 0xc], esi
mov word [eax + 8], cx
test byte [ebx + 0x1c], 4
jne 0x470b5d
mov eax, dword [eax + 0x10]
push 0
push eax
mov eax, dword [ebp - 0xec]
push esi
push 0
push eax
call fcn.0044cd60
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xf0]
add esp, 0x14
mov byte [eax + 0xa], 1
jmp 0x46d7fb
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0xec]
push ecx
push esi
push 0
push edx
call fcn.00458d90
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xf0]
add esp, 0x10
mov byte [eax + 0xa], 1
jmp 0x46d7fb
mov eax, ebx
mov edx, edi
call fcn.004088e0
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x38]
mov esi, dword [edx + ecx*4]
cmp byte [esi + 0x19], 0
mov dword [ebp - 0xf0], eax
je 0x470bb4
mov ecx, 1
mov word [eax + 8], cx
jmp case.default.0x46d73f
cmp byte [esi + 0x1a], 0
je 0x470bde
mov edx, dword [esi + 0x30]
mov dword [ebp - 0x194], edx
mov ecx, dword [esi + 0x34]
mov dword [ebp - 0x190], ecx
mov ecx, edx
mov dword [eax], ecx
mov edx, dword [ebp - 0x190]
mov dword [eax + 4], edx
jmp case.default.0x46d73f
cmp dword [esi + 0x24], 0
je 0x470c24
mov eax, dword [esi + 0x24]
mov esi, dword [eax]
mov ecx, dword [esi]
lea edx, [ebp - 0x194]
push edx
push eax
mov eax, dword [ecx + 0x30]
call eax
push esi
push edi
mov dword [ebp - 0xd4], eax
call fcn.00413b40
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0x194]
mov dword [eax], ecx
mov edx, dword [ebp - 0x190]
add esp, 0x10
mov dword [eax + 4], edx
jmp case.default.0x46d73f
mov ecx, dword [esi]
cmp byte [ecx + 0x49], 1
je 0x470c61
mov edi, esi
call fcn.0045b3a0
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x47298b
mov edi, dword [ebp - 0xf4]
cmp byte [esi + 0x19], 0
je 0x470c6d
mov eax, dword [ebp - 0xf0]
mov edx, 1
mov word [eax + 8], dx
jmp case.default.0x46d73f
mov dword [ebp - 0xd4], 0
jmp 0x470c47
mov esi, dword [esi]
lea edi, [ebp - 0x194]
call fcn.00406c50
mov ecx, dword [ebp - 0x194]
mov edi, dword [ebp - 0xf4]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xf0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x190]
mov dword [eax + 4], edx
jmp case.default.0x46d73f
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 0x38]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x19], 1
mov dword [eax + 0x3c], 0
mov eax, dword [eax]
test eax, eax
je case.default.0x46d73f
mov esi, eax
call fcn.00406880
jmp case.default.0x46d73f
mov eax, dword [edi + 0x38]
mov edx, dword [ebx + 4]
mov eax, dword [eax + edx*4]
mov esi, dword [eax]
lea edi, [ebp - 0x104]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0x104], 0
call fcn.00451a90
mov ecx, dword [ebp - 0x104]
mov edi, dword [ebp - 0xf4]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xf8]
mov byte [eax + 0x19], cl
mov byte [eax + 0x1a], 0
mov dword [eax + 0x3c], 0
mov edx, dword [ebx + 0xc]
mov dword [eax + 0xc], edx
cmp dword [ebx + 8], 0
jle case.default.0x46d73f
test ecx, ecx
jne 0x472797
jmp case.default.0x46d73f
inc dword [edi + 0x74]
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 0x38]
mov esi, dword [ecx + eax*4]
cmp dword [esi + 0x38], 0
mov dword [ebp - 0x100], 1
je 0x470d66
lea edi, [ebp - 0x100]
mov eax, esi
call fcn.00435a80
mov edi, dword [ebp - 0xf4]
jmp 0x470daa
mov eax, dword [esi]
mov dword [ebp - 0xf8], eax
call fcn.00451850
test eax, eax
jne 0x470d9f
mov ecx, dword [ebp - 0xf8]
cmp byte [ecx + 0x49], al
jne 0x470d8e
mov dword [ebp - 0x100], 1
jmp 0x470d9f
mov eax, ecx
mov dword [ebp - 0x100], 0
call fcn.004519a0
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], 0
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x100]
mov byte [esi + 0x19], al
test eax, eax
jne 0x472797
jmp case.default.0x46d73f
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + edx*4]
mov ecx, dword [ebp - 0xd8]
push ecx
lea ebx, [ebp - 0x17c]
mov eax, esi
mov dword [ebp - 0x17c], 0
call fcn.0041b130
mov ebx, dword [ebp - 0xdc]
add esp, 4
jmp 0x470e2c
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
cmp dword [eax + edx*4], 0
je case.default.0x46d73f
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x38]
mov esi, dword [edx + ecx*4]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x17c], eax
mov edx, dword [esi]
mov eax, dword [ebx + 0x10]
lea ecx, [ebp - 0x17c]
push ecx
push edx
call eax
add esp, 8
mov dword [esi + 0x3c], 0
cmp dword [ebp - 0x17c], 0
mov dword [ebp - 0xd4], eax
jne 0x470e57
mov byte [esi + 0x19], 0
movzx ecx, byte [ebx + 3]
inc dword [edi + ecx*4 + 0x6c]
lea eax, [edi + ecx*4 + 0x6c]
jmp case.0x46d73f.16
mov byte [esi + 0x19], 1
jmp 0x4723ea
test byte [ebx + 3], 1
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov ecx, dword [eax + edx*4]
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
mov eax, dword [ecx]
mov dword [ebp - 0xe0], ecx
lea esi, [esi + edx*8]
mov dword [ebp - 0xf8], eax
je 0x470e89
inc dword [edi + 0x5c]
mov edx, 0x4000
test word [esi + 8], dx
je 0x470eaf
mov eax, esi
call fcn.00412c40
mov dword [ebp - 0xd4], eax
test eax, eax
jne case.default.0x46d73f
mov ecx, dword [ebp - 0xe0]
cmp dword [ecx + 0x38], 0
je 0x470ecf
mov eax, dword [ebp - 0xe0]
push esi
call fcn.00435710
add esp, 4
mov dword [ebp - 0xd4], eax
jmp case.default.0x46d73f
test byte [ebx + 3], 0x10
mov eax, dword [esi + 0xc]
mov esi, dword [esi + 0x10]
je 0x470ee0
mov ecx, dword [ecx + 0xc]
jmp 0x470ee2
xor ecx, ecx
push ecx
mov ecx, dword [ebx + 0xc]
push ecx
push 0
push 0
cdq
push 0x4ee565
push edx
push eax
mov eax, dword [ebp - 0xf8]
push esi
call fcn.00459100
mov edx, dword [ebp - 0xe0]
add esp, 0x20
mov dword [ebp - 0xd4], eax
mov dword [edx + 0x3c], 0
jmp case.default.0x46d73f
mov ecx, dword [edi + 0x38]
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
mov dword [ebp - 0xec], eax
mov ax, word [ebx + 0xc]
mov word [ebp - 0x2e0], ax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x2e4], edx
lea edx, [eax + eax*4]
lea eax, [esi + edx*8]
lea edx, [ebp - 0x1c4]
push edx
push 0
push 0
mov dword [ebp - 0x2dc], eax
push 0
lea eax, [ebp - 0x2e4]
push eax
push ecx
mov dword [ebp - 0xf8], ecx
mov byte [ebp - 0x2de], 0
call fcn.00451ae0
add esp, 0x18
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x470f9b
cmp dword [ebp - 0x1c4], eax
jne 0x470f9b
mov eax, dword [ebp - 0xf8]
call fcn.00459310
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xec]
mov dword [ecx + 0x3c], 0
jmp case.default.0x46d73f
mov eax, ebx
mov edx, edi
call fcn.004088e0
mov edx, dword [ebx + 4]
mov ecx, dword [edi + 0x38]
mov esi, dword [ecx + edx*4]
mov edx, dword [esi]
mov ecx, 1
mov word [eax + 8], cx
mov dword [ebp - 0xf8], edx
mov edx, dword [esi]
mov dword [ebp - 0xf0], eax
cmp byte [edx + 0x49], cl
je 0x471063
mov edi, esi
call fcn.0045b3a0
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x47298b
mov edi, dword [ebp - 0xf4]
cmp byte [esi + 0x19], 0
jne case.default.0x46d73f
mov ecx, dword [ebp - 0xd8]
lea eax, [ebp - 0x1a4]
push eax
mov eax, dword [ebp - 0xf8]
xor esi, esi
push ecx
mov dword [ebp - 0x1a4], esi
mov dword [ebp - 0x1a0], esi
call fcn.0045b3e0
add esp, 8
mov dword [ebp - 0xd4], eax
cmp eax, esi
jne 0x472991
mov eax, dword [ebp - 0xf0]
mov edx, dword [ebp - 0x1a4]
mov ecx, dword [ebp - 0x1a0]
mov dword [eax], edx
mov edx, 4
mov dword [eax + 4], ecx
mov word [eax + 8], dx
jmp case.default.0x46d73f
mov dword [ebp - 0xd4], 0
jmp 0x470ffc
mov ecx, dword [edi + 0x38]
mov eax, dword [ebx + 4]
mov edi, dword [ecx + eax*4]
mov eax, dword [edi + 8]
mov cx, word [ebx + 0x10]
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebx + 0xc]
cmp dl, 0x73
sbb dl, dl
mov word [ebp - 0x2f4], cx
mov ecx, dword [ebp - 0x118]
lea eax, [eax + eax*4]
mov byte [ebp - 0x2f2], dl
lea edx, [ecx + eax*8]
lea eax, [ebp - 0xe0]
push eax
lea ecx, [ebp - 0x2f8]
mov dword [ebp - 0x2f0], edx
mov edx, dword [ebp - 0xd8]
push ecx
push edx
mov dword [ebp - 0xe0], 0
call fcn.0045b530
add esp, 0xc
test byte [ebx], 1
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xe0]
je 0x4710e8
neg eax
jmp 0x4710e9
inc eax
mov edi, dword [ebp - 0xf4]
test eax, eax
jg 0x472797
jmp case.default.0x46d73f
mov eax, ebx
mov edx, edi
call fcn.004088e0
mov esi, eax
mov eax, 1
mov word [esi + 8], ax
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0xa4]
inc ecx
cmp dword [eax + 0x98], ecx
jle 0x471138
mov dword [ebp - 0xd4], 6
mov byte [edi + 0x56], 2
jmp case.default.0x46d73f
mov ecx, dword [ebx + 0xc]
mov eax, dword [eax + 0x10]
lea edx, [ebp - 0xf0]
push edx
mov edx, dword [ebx + 4]
mov dword [ebp - 0xec], ecx
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
push edx
mov dword [ebp - 0xf0], 0
call fcn.00459b50
mov ecx, 4
mov dword [ebp - 0xd4], eax
mov word [esi + 8], cx
mov ecx, dword [ebp - 0xf0]
mov eax, ecx
cdq
add esp, 8
cmp dword [ebp - 0xd4], 0
mov dword [esi], eax
mov dword [esi + 4], edx
jne case.default.0x46d73f
test ecx, ecx
je case.default.0x46d73f
mov edi, dword [ebx + 4]
mov eax, dword [ebp - 0xec]
mov esi, ecx
mov ecx, dword [ebp - 0xd8]
call fcn.0040a7b0
mov al, byte [ebp - 0xec]
mov edi, dword [ebp - 0xf4]
inc al
mov byte [ebp - 0x11e], al
jmp case.default.0x46d73f
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
mov ebx, dword [ebx + 4]
neg edx
sbb edx, edx
lea eax, [ebp - 0xe4]
and edx, eax
push edx
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0x10]
add ecx, ecx
mov dword [ebp - 0xe4], 0
mov eax, dword [eax + ecx*8 + 4]
call fcn.00459880
mov ecx, dword [ebp - 0xdc]
add esp, 4
cmp dword [ecx + 0xc], 0
mov dword [ebp - 0xd4], eax
je 0x46d7fb
mov eax, dword [ebp - 0xe4]
add dword [edi + 0x5c], eax
mov edx, ecx
mov ecx, dword [edx + 0xc]
test ecx, ecx
jle 0x46d7fb
mov edx, dword [ebp - 0x118]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp 0x46d7fb
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 0x38]
mov eax, dword [ecx + eax*4]
mov ebx, dword [eax + 0x38]
test ebx, ebx
je 0x471266
mov edx, dword [ebp - 0xd8]
push edx
call fcn.0041a9a0
add esp, 4
jmp 0x46d7fb
mov eax, dword [eax]
mov ebx, dword [eax + 0x3c]
mov eax, dword [eax]
push 0
call fcn.00459880
add esp, 4
mov dword [ebp - 0xd4], eax
jmp 0x46d7fb
mov eax, ebx
mov edx, edi
call fcn.004088e0
mov ecx, dword [ebp - 0xd8]
mov esi, eax
mov eax, dword [ebx + 4]
shl eax, 4
add eax, dword [ecx + 0x10]
xor ecx, ecx
cmp byte [ebx], 0x79
mov eax, dword [eax + 4]
setne cl
lea edx, [ebp - 0xf8]
mov dword [ebp - 0xf8], 0
inc ecx
push ecx
push edx
call fcn.00459830
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xf8]
cdq
add esp, 8
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.default.0x46d73f
mov eax, dword [ebx + 4]
mov ecx, str.sqlite_temp_master
cmp eax, 1
je 0x4712eb
mov ecx, str.sqlite_master
mov esi, dword [ebp - 0xd8]
lea edx, [edi + 0x2c]
mov dword [ebp - 0x224], edx
mov edx, dword [ebx + 0x10]
push edx
push ecx
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x220], eax
add eax, eax
mov dword [ebp - 0x228], esi
mov edx, dword [ecx + eax*8]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
call fcn.004245d0
mov ebx, dword [ebp - 0xd8]
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x471339
mov dword [ebp - 0xd4], 7
jmp 0x471391
push 0
lea eax, [ebp - 0x228]
push eax
push fcn.0046d410
push esi
push ebx
mov byte [ebx + 0x91], 1
mov dword [ebp - 0x21c], 0
call fcn.00473bc0
add esp, 0x14
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x471378
mov ecx, dword [ebp - 0x21c]
mov dword [ebp - 0xd4], ecx
mov eax, esi
mov ecx, ebx
call fcn.00401b30
cmp dword [ebp - 0xd4], 0
mov byte [ebx + 0x91], 0
je 0x471398
mov eax, ebx
call fcn.00420560
cmp dword [ebp - 0xd4], 7
je 0x4729f7
jmp 0x46d7fb
mov eax, dword [ebx + 4]
mov edi, dword [ebp - 0xd8]
call fcn.00428190
mov edi, dword [ebp - 0xf4]
mov dword [ebp - 0xd4], eax
jmp case.default.0x46d73f
mov edx, dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov edi, dword [ebp - 0xd8]
push edx
call fcn.0041be30
mov edi, dword [ebp - 0xf4]
add esp, 4
jmp case.default.0x46d73f
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebp - 0xd8]
push eax
mov eax, dword [ebx + 4]
push ecx
call fcn.00415d90
add esp, 8
jmp case.default.0x46d73f
mov edx, dword [ebx + 0x10]
mov eax, dword [ebp - 0xd8]
push edx
push eax
mov eax, dword [ebx + 4]
call fcn.00417660
add esp, 8
jmp case.default.0x46d73f
mov ebx, dword [ebx + 8]
mov esi, dword [ebp - 0xd8]
lea ecx, [ebx*4 + 4]
push 0
push ecx
mov dword [ebp - 0x10c], ebx
call fcn.0040ef90
add esp, 8
mov dword [ebp - 0x108], eax
test eax, eax
je 0x4729f7
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x118]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [edx + 4]
lea edx, [eax + eax*4]
xor esi, esi
lea eax, [ecx + edx*8]
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0x10c], esi
jle 0x4714a6
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0xe0]
call fcn.00407120
mov ecx, dword [ebp - 0x108]
add dword [ebp - 0xe0], 0x28
mov dword [ecx + esi*4], eax
inc esi
cmp esi, dword [ebp - 0x10c]
jl 0x471482
mov eax, dword [ebp - 0x108]
mov dword [eax + esi*4], 0
mov ecx, dword [ebx]
mov esi, dword [ebp - 0xd8]
lea edx, [ebp - 0x1b0]
push edx
mov edx, dword [ebp - 0x10c]
push ecx
push edx
mov edx, dword [esi + 0x10]
push eax
mov eax, dword [ebp - 0xdc]
movzx ecx, byte [eax + 3]
add ecx, ecx
mov ecx, dword [edx + ecx*8 + 4]
call fcn.0044eb10
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x108]
add esp, 0x10
mov ecx, esi
call fcn.00401b30
mov esi, dword [ebp - 0x1b0]
mov eax, esi
cdq
sub dword [ebx], eax
mov eax, dword [ebp - 0xe4]
sbb dword [ebx + 4], edx
call fcn.004073c0
test esi, esi
je 0x47153d
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4729f7
mov ecx, dword [ebp - 0xe4]
push fcn.00401a80
push 1
push eax
or eax, 0xffffffff
call fcn.0041e6e0
add esp, 0xc
movzx ecx, byte [ebp - 0x11d]
mov eax, dword [ebp - 0xe4]
call fcn.0041e5f0
jmp 0x46d7fb
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 0x20
lea edi, [esi + eax*8]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
lea esi, [esi + ecx*8]
jne 0x471582
call fcn.00412d00
test byte [edi + 8], 0x20
je 0x4729f1
mov ebx, dword [ebp - 0xdc]
mov edx, dword [esi + 4]
mov eax, dword [esi]
mov edi, dword [edi]
push edx
push eax
call fcn.00410990
mov edi, dword [ebp - 0xf4]
add esp, 8
jmp case.default.0x46d73f
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
test byte [esi + ecx*8 + 8], 0x20
lea eax, [esi + ecx*8]
mov dword [ebp - 0xe4], eax
je 0x4715f7
mov edx, eax
mov eax, dword [edx]
lea esi, [ebp - 0x248]
call fcn.00404e20
test eax, eax
je 0x4715f1
mov eax, dword [ebp - 0x244]
mov ebx, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x248]
push eax
mov eax, dword [ebp - 0x118]
lea edx, [ebx + ebx*4]
push ecx
lea eax, [eax + edx*8]
call fcn.00407420
add esp, 8
jmp 0x4723ea
mov eax, dword [ebp - 0xe4]
call fcn.004073c0
jmp case.0x46d73f.16
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
test byte [esi + ecx*8 + 8], 0x20
mov eax, dword [ebx + 0xc]
lea ecx, [esi + ecx*8]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xe4], ecx
lea esi, [esi + edx*8]
mov dword [ebp - 0xf8], eax
jne 0x47164c
mov edi, ecx
call fcn.00412d00
test byte [edi + 8], 0x20
je 0x4729f1
mov edi, dword [ebp - 0xf4]
mov ebx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x471678
mov ecx, dword [esi + 4]
mov edx, dword [esi]
push ecx
push edx
push eax
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax]
call fcn.00410a30
add esp, 0xc
test eax, eax
jne 0x472797
mov eax, dword [ebp - 0xf8]
test eax, eax
js case.default.0x46d73f
mov ecx, dword [esi + 4]
mov edx, dword [esi]
mov eax, dword [ebp - 0xe4]
mov edi, dword [eax]
push ecx
push edx
call fcn.00410990
mov edi, dword [ebp - 0xf4]
add esp, 8
jmp case.default.0x46d73f
cmp byte [ebx + 3], 0
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
lea edx, [eax + eax*4]
lea edx, [esi + edx*8]
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0xe0], edx
je 0x4716e0
mov eax, dword [edi + 0xb0]
mov ecx, dword [ecx + 0x14]
test eax, eax
je 0x4716e0
jmp 0x4716d0
cmp dword [eax + 0x1c], ecx
je case.default.0x46d73f
mov eax, dword [eax + 4]
test eax, eax
jne 0x4716d0
mov eax, dword [edi + 0xb8]
mov ecx, dword [ebp - 0xd8]
cmp eax, dword [ecx + 0x80]
jl 0x471715
push str.too_many_levels_of_trigger_recursion
lea ebx, [edi + 0x2c]
mov esi, ecx
mov dword [ebp - 0xd4], 1
call fcn.00430d40
add esp, 4
jmp 0x46d7fb
test byte [edx + 8], 0x40
jne 0x471807
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ecx + 0xc]
mov ebx, dword [ecx + 8]
mov ecx, dword [ecx + 0x10]
add ebx, eax
lea edx, [ebx + ebx*4 + 0xa]
lea eax, [eax + edx*2]
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0xd8]
cdq
push edx
push eax
call fcn.004198f0
mov esi, eax
add esp, 8
test esi, esi
je 0x4729f7
mov eax, dword [ebp - 0xe0]
call fcn.004070a0
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x10c]
mov dword [eax], esi
mov edx, 0x40
mov word [eax + 8], dx
mov edx, dword [ebp - 0xdc]
sub edx, dword [ebp - 0x114]
mov dword [esi], edi
mov dword [esi + 0x3c], ebx
mov eax, dword [ecx + 0xc]
mov dword [esi + 0x40], eax
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x2c], eax
mov edx, dword [edi + 8]
mov dword [esi + 0x10], edx
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x34], eax
mov edx, dword [edi + 0x38]
mov dword [esi + 0x18], edx
mov eax, dword [edi + 0x24]
mov dword [esi + 0x28], eax
mov edx, dword [edi + 4]
mov dword [esi + 8], edx
mov eax, dword [edi + 0x20]
mov dword [esi + 0x30], eax
mov ecx, dword [ecx + 0x14]
mov dword [esi + 0x1c], ecx
mov edx, dword [edi + 0xc8]
mov dword [esi + 0x14], edx
mov eax, dword [edi + 0xc4]
lea ecx, [ebx + ebx*4 + 0xa]
mov dword [esi + 0x38], eax
lea ecx, [esi + ecx*8]
lea eax, [esi + 0x50]
cmp eax, ecx
je 0x47180f
mov edx, dword [ebp - 0xd8]
mov ebx, 0x80
mov word [eax + 8], bx
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x4717f2
jmp 0x47180f
mov edx, dword [ebp - 0xe0]
mov esi, dword [edx]
inc dword [edi + 0xb8]
mov eax, dword [edi + 0xb0]
mov ecx, dword [ebp - 0x140]
mov edx, dword [ebp - 0x13c]
mov dword [esi + 4], eax
mov dword [esi + 0x24], edx
mov dword [esi + 0x20], ecx
mov eax, dword [edi + 0x5c]
mov dword [esi + 0x44], eax
mov ecx, dword [edi]
mov edx, dword [ecx + 0x50]
mov dword [esi + 0x48], edx
lea ecx, [esi + 0x28]
mov dword [edi + 0xb0], esi
mov dword [edi + 8], ecx
mov dword [edi + 0x5c], 0
mov eax, dword [esi + 0x3c]
mov dword [edi + 0x1c], eax
movzx edx, word [esi + 0x40]
mov dword [edi + 0x24], edx
lea eax, [eax + eax*4 + 5]
lea edx, [ecx + eax*8]
mov eax, dword [ebp - 0x10c]
mov dword [edi + 0x38], edx
mov dword [ebp - 0x118], ecx
mov ecx, dword [eax]
mov dword [edi + 4], ecx
mov esi, dword [eax + 4]
mov dword [edi + 0x20], esi
mov esi, dword [edi + 0x24]
lea edx, [edx + esi*4]
mov dword [edi + 0xc8], edx
mov eax, dword [eax + 0x10]
push eax
mov dword [ebp - 0x114], ecx
add ecx, 0xffffffec
push 0
push edx
mov dword [edi + 0xc4], eax
mov dword [ebp - 0xdc], ecx
call fcn.004b4310
add esp, 0xc
jmp 0x46d7fb
mov eax, ebx
mov edx, edi
call fcn.004088e0
mov edi, dword [edi + 0xb0]
mov ecx, dword [edi + 0x2c]
mov edx, dword [edi + 8]
lea ecx, [ecx + ecx*4]
mov ecx, dword [edx + ecx*4 + 4]
add ecx, dword [ebx + 4]
mov edx, dword [edi + 0x10]
lea ecx, [ecx + ecx*4]
push 0x1000
lea edi, [edx + ecx*8]
call fcn.00407490
mov edi, dword [ebp - 0xf4]
add esp, 4
jmp case.default.0x46d73f
mov ecx, dword [ebp - 0xd8]
test dword [ecx + 0x18], 0x1000000
mov eax, dword [ebx + 8]
cdq
je 0x471918
add dword [ecx + 0x200], eax
adc dword [ecx + 0x204], edx
jmp case.default.0x46d73f
cmp dword [ebx + 4], 0
je 0x47192f
add dword [ecx + 0x1f8], eax
adc dword [ecx + 0x1fc], edx
jmp case.default.0x46d73f
add dword [edi + 0x90], eax
adc dword [edi + 0x94], edx
jmp case.default.0x46d73f
cmp dword [ebx + 4], 0
je 0x471975
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x1f8]
or ecx, dword [eax + 0x1fc]
jne case.default.0x46d73f
mov edx, dword [eax + 0x200]
or edx, dword [eax + 0x204]
je 0x472797
jmp case.default.0x46d73f
mov eax, dword [edi + 0x90]
or eax, dword [edi + 0x94]
jne case.default.0x46d73f
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x200]
or ecx, dword [eax + 0x204]
je 0x472797
jmp case.default.0x46d73f
mov ecx, dword [edi + 0xb0]
test ecx, ecx
je 0x4719d2
mov eax, dword [ecx + 4]
test eax, eax
je 0x4719be
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x4719b5
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0x10]
lea ecx, [eax + edx*8]
mov dword [ebp - 0xe4], ecx
jmp 0x4719e1
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
lea eax, [esi + edx*8]
mov dword [ebp - 0xe4], eax
mov esi, dword [ebp - 0xe4]
call fcn.00407280
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0x118]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
call fcn.00407280
mov eax, dword [ebp - 0xe4]
mov ecx, dword [esi]
mov esi, dword [esi + 4]
mov edx, dword [eax + 4]
cmp edx, esi
jg case.default.0x46d73f
jl 0x471a22
mov edx, dword [eax]
cmp edx, ecx
jae case.default.0x46d73f
mov eax, dword [ebp - 0xe4]
mov dword [eax], ecx
mov dword [eax + 4], esi
jmp case.default.0x46d73f
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
cmp dword [esi + eax*8 + 4], 0
jg 0x472797
jl case.default.0x46d73f
cmp dword [esi + eax*8], 0
ja 0x472797
jmp case.default.0x46d73f
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, dword [ebx + 0xc]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
cmp dword [esi + 4], 0
jl 0x472797
jg case.default.0x46d73f
cmp dword [esi], 0
jb 0x472797
jmp case.default.0x46d73f
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
lea ecx, [esi + ecx*8]
mov esi, dword [ecx]
mov edx, esi
or edx, dword [ecx + 4]
je case.default.0x46d73f
mov eax, dword [ebx + 0xc]
cdq
add eax, esi
adc edx, dword [ecx + 4]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x472797
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
add dword [esi + eax*8], 0xffffffff
mov ecx, dword [esi + eax*8]
lea eax, [esi + eax*8]
adc dword [eax + 4], 0xffffffff
or ecx, dword [eax + 4]
je 0x472797
jmp case.default.0x46d73f
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov ecx, dword [esi + edx*8]
lea eax, [esi + edx*8]
mov edx, dword [eax + 4]
mov esi, ecx
add esi, 1
mov dword [ebp - 0x2cc], edx
adc edx, 0
mov dword [eax], esi
mov dword [eax + 4], edx
mov eax, ecx
or eax, dword [ebp - 0x2cc]
je 0x472797
jmp case.default.0x46d73f
mov eax, dword [ebx + 8]
movzx ecx, byte [ebx + 3]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xf8], eax
xor eax, eax
mov dword [ebp - 0xec], ecx
test ecx, ecx
jle 0x471b47
lea ebx, [ebx]
mov ecx, dword [ebp - 0xf8]
mov dword [ecx + eax*4], edx
mov ecx, dword [ebp - 0xec]
inc eax
add edx, 0x28
cmp eax, ecx
jl 0x471b30
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebp - 0x204], edx
mov dword [ebp - 0x200], eax
inc dword [eax + 0xc]
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x324], eax
xor eax, eax
mov edx, 1
mov word [ebp - 0x33c], dx
mov dword [ebp - 0x32c], eax
mov dword [ebp - 0x1f4], eax
lea edx, [ebp - 0x344]
mov dword [ebp - 0x208], edx
mov edx, ebx
sub edx, dword [ebp - 0x114]
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0xf8]
push edx
mov dword [ebp - 0x1f8], eax
push ecx
mov ecx, dword [ebp - 0x204]
lea eax, [ebp - 0x208]
mov dword [ebp - 0x1fc], edi
mov byte [ebp - 0x1f0], 0
mov edx, dword [ecx + 0x10]
push eax
call edx
add esp, 0xc
cmp dword [ebp - 0x1f4], 0
je 0x471c21
lea eax, [ebp - 0x344]
push eax
call fcn.0041ee10
mov esi, dword [ebp - 0xd8]
push eax
push 0x4d9734
lea ebx, [edi + 0x2c]
call fcn.00430d40
mov ecx, dword [ebp - 0x1f4]
mov ebx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0x118]
add esp, 0xc
mov dword [ebp - 0xd4], ecx
cmp byte [ebp - 0x1f0], 0
je 0x471c43
mov eax, dword [ebx - 0x10]
test eax, eax
je 0x471c43
lea edx, [eax + eax*4]
push 0
push 1
lea eax, [esi + edx*8]
call fcn.00407420
add esp, 8
lea eax, [ebp - 0x344]
call fcn.004070a0
jmp case.default.0x46d73f
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, esi
mov dword [ebp - 0xf8], esi
call fcn.00406ef0
mov dword [ebp - 0xd4], eax
test eax, eax
je 0x471ca1
mov ecx, esi
push ecx
call fcn.0041ee10
mov esi, dword [ebp - 0xd8]
push eax
push 0x4d9734
lea ebx, [edi + 0x2c]
call fcn.00430d40
mov ebx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xf8]
add esp, 0xc
movzx ecx, byte [ebp - 0x11d]
mov eax, esi
call fcn.0041e5f0
mov ecx, esi
call fcn.00407460
test eax, eax
jne 0x472a26
jmp case.default.0x46d73f
mov ecx, dword [ebx + 8]
or eax, 0xffffffff
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xcc], eax
lea edx, [ebp - 0xc8]
push edx
mov edx, dword [ebx + 4]
lea eax, [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xd8]
push ecx
push edx
push eax
mov dword [ebp - 0xd0], 0
call fcn.0044b3c0
add esp, 0x14
mov dword [ebp - 0xd4], eax
cmp eax, 5
jne 0x471d20
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 1
mov eax, dword [ebx + 0xc]
lea ecx, [eax + eax*4]
mov dword [ebp - 0xe0], 0
lea esi, [esi + ecx*8]
jmp 0x471d40
mov edx, dword [ebp - 0xe0]
mov eax, dword [ebp + edx*4 - 0xd0]
cdq
push edx
push eax
mov eax, esi
call fcn.00407420
mov eax, dword [ebp - 0xe0]
inc eax
add esp, 8
add esi, 0x28
mov dword [ebp - 0xe0], eax
cmp eax, 3
jl 0x471d40
jmp case.default.0x46d73f
mov eax, ebx
mov edx, edi
call fcn.004088e0
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x10]
mov esi, dword [ebx + 0xc]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebx + 4]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
mov dword [ebp - 0xf8], eax
mov eax, dword [eax + 4]
mov eax, dword [eax]
movzx ecx, byte [eax + 5]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0x100], ecx
mov eax, ecx
cmp esi, 0xffffffff
jne 0x471dbc
mov esi, ecx
mov edx, dword [ebp - 0xe8]
cmp byte [edx + 0x10], 3
jae 0x471dde
mov ecx, dword [edx + 0x40]
cmp dword [ecx], 0
je 0x471de0
cmp dword [edx + 0x4c], 0
jl 0x471de0
jg 0x471dde
cmp dword [edx + 0x48], 0
jbe 0x471de0
mov esi, eax
cmp byte [edx + 0xf], 0
mov ecx, 0x4ee565
jne 0x471df1
mov ecx, dword [edx + 0xa8]
cmp esi, 5
jne 0x471e18
call fcn.00401d50
test eax, eax
je 0x471ea0
mov eax, edx
call fcn.00405b60
test eax, eax
je 0x471ea0
mov eax, dword [ebp - 0x100]
cmp esi, eax
je 0x471ea6
cmp eax, 5
je 0x471e2e
cmp esi, 5
jne 0x471ea6
mov ecx, dword [ebp - 0xd8]
cmp byte [ecx + 0x3f], 0
je 0x471ecb
cmp dword [ecx + 0x98], 1
jg 0x471ecb
cmp eax, 5
jne 0x471e69
mov eax, dword [ebp - 0xe8]
call fcn.0044b590
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x471ea0
mov eax, esi
jmp 0x471e73
cmp eax, 4
jne 0x471e7e
mov eax, 2
mov ecx, dword [ebp - 0xe8]
call fcn.0044afd0
mov eax, dword [ebp - 0xf8]
xor edx, edx
cmp esi, 5
sete dl
inc edx
push edx
call fcn.0044f0f0
add esp, 4
mov dword [ebp - 0xd4], eax
test eax, eax
je 0x471ea6
mov esi, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xe8]
mov eax, esi
call fcn.0044afd0
mov edx, dword [ebp - 0xf0]
mov ecx, 0xa02
mov word [edx + 8], cx
cmp eax, 6
jne 0x471efc
xor eax, eax
jmp 0x471f03
mov dword [ebp - 0xd4], 1
mov eax, str.into
cmp esi, 5
je 0x471ee4
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
lea ebx, [edi + 0x2c]
mov esi, ecx
call fcn.00430d40
add esp, 8
jmp 0x46d7fb
mov eax, dword [eax*4 + 0x4e7d58]
mov edx, dword [ebp - 0xf0]
mov ecx, eax
mov dword [edx + 0x10], eax
call fcn.00401d50
movzx ecx, byte [ebp - 0x11d]
mov dword [edx + 0xc], eax
mov eax, edx
mov byte [edx + 0xa], 1
call fcn.0041e5f0
jmp case.default.0x46d73f
lea eax, [edi + 0x2c]
push eax
mov eax, dword [ebp - 0xd8]
call fcn.0046cec0
add esp, 4
mov dword [ebp - 0xd4], eax
jmp case.default.0x46d73f
mov ecx, dword [ebx + 4]
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
push eax
call fcn.00458850
add esp, 4
mov dword [ebp - 0xd4], eax
cmp eax, 0x65
jne case.default.0x46d73f
mov dword [ebp - 0xd4], 0
jmp 0x472797
cmp dword [ebx + 4], 0
jne 0x471f99
mov eax, dword [ebp - 0xd8]
call fcn.00408030
jmp case.default.0x46d73f
or dword [edi + 0x58], 8
jmp case.default.0x46d73f
mov cl, byte [ebx + 0xc]
test cl, cl
jne 0x471fbc
mov edx, dword [ebp - 0xd8]
test dword [edx + 0x18], 0x4000
jne case.default.0x46d73f
mov edx, dword [ebx + 8]
mov eax, dword [ebx + 4]
push edx
mov edx, dword [ebp - 0xd8]
mov edx, dword [edx + 0x10]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
call fcn.00412a90
add esp, 4
mov dword [ebp - 0xd4], eax
cmp al, 6
jne case.default.0x46d73f
mov eax, dword [ebx + 0x10]
mov esi, dword [ebp - 0xd8]
push eax
push str.database_table_is_locked:__s
lea ebx, [edi + 0x2c]
call fcn.00430d40
add esp, 8
jmp 0x46d7fb
mov edi, dword [ebx + 0x10]
mov eax, dword [ebp - 0xd8]
call fcn.004179a0
mov dword [ebp - 0xd4], eax
test edi, edi
je 0x46db64
mov ecx, dword [edi + 8]
mov edx, dword [ebp - 0xf4]
push ecx
push edx
call fcn.00413b40
mov edi, dword [ebp - 0xf4]
add esp, 8
jmp case.default.0x46d73f
mov edx, dword [ebp - 0x118]
xor eax, eax
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x288], eax
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x278], eax
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
lea edi, [edx + ecx*8]
lea eax, [ebp - 0x28c]
call fcn.00419fa0
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0x28c]
push eax
call fcn.0041ee10
add esp, 4
test eax, eax
je 0x4720e0
mov ecx, dword [ebp - 0xf4]
add ecx, 0x2c
push ecx
mov ecx, dword [ebp - 0xd8]
push eax
mov eax, dword [ebx + 4]
call fcn.0042e7d0
add esp, 8
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0x28c]
call fcn.004070a0
mov edi, dword [ebp - 0xf4]
jmp case.default.0x46d73f
mov esi, dword [ebp - 0xd8]
inc dword [esi + 0xa4]
mov edx, dword [ebx + 0x10]
mov eax, dword [ebx + 4]
push edx
mov ecx, esi
call fcn.0040c610
add esp, 4
dec dword [esi + 0xa4]
mov dword [ebp - 0xd4], eax
jmp case.default.0x46d73f
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xe8], 0
mov esi, dword [eax + 8]
test esi, esi
je 0x4721a7
mov eax, dword [esi]
mov dword [ebp - 0xf8], eax
test eax, eax
je 0x4721a7
mov edx, dword [eax + 0x18]
lea ecx, [ebp - 0xe8]
push ecx
push esi
call edx
push esi
push edi
mov dword [ebp - 0xd4], eax
call fcn.00413b40
add esp, 0x10
cmp dword [ebp - 0xd4], 0
jne case.default.0x46d73f
mov eax, dword [ebp - 0xe8]
push 0
push 0xffffffffffffffff
mov dword [eax], esi
mov ecx, dword [ebx + 4]
push 0
push ecx
mov ebx, edi
call fcn.0045cfb0
mov edx, dword [ebp - 0xe8]
add esp, 0x10
test eax, eax
je 0x4729e0
mov dword [eax + 0x24], edx
inc dword [esi + 4]
jmp 0x46d7fb
mov dword [ebp - 0xd4], 6
jmp case.default.0x46d73f
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 4]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x24]
mov dword [ebp - 0xe8], eax
mov eax, dword [esi]
mov ecx, dword [eax]
mov dword [ebp - 0xec], ecx
mov ecx, dword [edx]
mov dword [ebp - 0x108], ecx
mov ecx, dword [edi + 0xc]
mov dword [ebp - 0x100], eax
mov eax, dword [edx + 0x28]
mov dword [ebp - 0xf8], ecx
xor ecx, ecx
mov dword [ebp - 0x10c], esi
mov dword [ebp - 0xe0], 0
test eax, eax
jle 0x472225
mov esi, dword [ebp - 0xf8]
add edx, 0x50
mov dword [esi + ecx*4], edx
inc ecx
add edx, 0x28
cmp ecx, eax
jl 0x472214
mov esi, dword [ebp - 0x10c]
mov edx, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0x108]
push edx
mov edx, dword [ebp - 0xec]
push eax
mov eax, dword [ebx + 0x10]
push eax
mov eax, dword [edx + 0x20]
push ecx
push esi
call eax
mov ecx, dword [ebp - 0x100]
push ecx
push edi
mov dword [ebp - 0xd4], eax
call fcn.00413b40
add esp, 0x1c
cmp dword [ebp - 0xd4], 0
jne 0x472278
mov edx, dword [ebp - 0xec]
mov eax, dword [edx + 0x28]
push esi
call eax
add esp, 4
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 0
mov ecx, dword [ebp - 0xe8]
mov byte [ecx + 0x19], 0
jne 0x472797
jmp case.default.0x46d73f
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov ecx, dword [eax + edx*4]
cmp byte [ecx + 0x19], 0
mov eax, dword [ebx + 0xc]
lea edx, [eax + eax*4]
lea esi, [esi + edx*8]
je 0x4722b8
mov eax, esi
call fcn.004073c0
jmp case.default.0x46d73f
mov eax, dword [ecx + 0x24]
mov eax, dword [eax]
mov edx, dword [eax]
mov dword [ebp - 0xec], eax
xor eax, eax
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x254], eax
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0x264], esi
mov ax, word [esi + 8]
mov edx, 0xbe01
and ax, dx
or ax, 1
mov word [esi + 8], ax
mov eax, dword [ebx + 8]
push eax
mov eax, dword [ecx + 0x24]
mov ecx, dword [ebp - 0xf8]
lea edx, [ebp - 0x264]
push edx
mov edx, dword [ecx + 0x2c]
push eax
call edx
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xec]
push eax
push edi
call fcn.00413b40
mov eax, dword [ebp - 0x250]
add esp, 0x14
test eax, eax
je 0x472351
mov dword [ebp - 0xd4], eax
movzx ecx, byte [ebp - 0x11d]
mov eax, esi
call fcn.0041e5f0
mov ecx, esi
call fcn.00407460
test eax, eax
jne 0x472a26
jmp case.default.0x46d73f
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x38]
mov eax, dword [edx + ecx*4]
cmp byte [eax + 0x19], 0
mov dword [ebp - 0xf8], eax
jne case.default.0x46d73f
mov eax, dword [eax + 0x24]
mov esi, dword [eax]
mov ecx, dword [esi]
mov dword [ebp - 0xec], ecx
mov ecx, dword [ecx + 0x24]
push eax
call ecx
push esi
push edi
mov dword [ebp - 0xd4], eax
call fcn.00413b40
add esp, 0xc
cmp dword [ebp - 0xd4], 0
jne case.0x46d73f.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x24]
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx + 0x28]
push eax
call edx
add esp, 4
test eax, eax
jne 0x4723ea
mov ebx, dword [ebx + 8]
mov ecx, dword [ebp - 0x114]
lea eax, [ebx + ebx*4]
lea edx, [ecx + eax*4 - 0x14]
mov dword [ebp - 0xdc], edx
mov esi, dword [ebp - 0xd8]
mov eax, dword [esi + 0xf0]
test eax, eax
jne 0x472a4b
mov ebx, dword [esi + 0x124]
test ebx, ebx
je 0x46d7fb
mov eax, dword [ebp - 0x148]
cmp eax, dword [ebp - 0x158]
jb 0x46d7fb
mov ecx, dword [esi + 0x12c]
xor edx, edx
div ecx
sub ecx, edx
add ecx, dword [ebp - 0x148]
mov dword [ebp - 0x158], ecx
mov ecx, dword [esi + 0x128]
push ecx
call ebx
add esp, 4
test eax, eax
je 0x46d7fb
mov dword [ebp - 0xd4], 9
mov edx, dword [edi + 0x2c]
mov eax, dword [edi + 0xa8]
mov ecx, dword [ebp - 0xdc]
sub ecx, dword [ebp - 0x114]
mov ebx, dword [ebp - 0xd4]
push edx
push eax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
push ecx
push str.statement_aborts_at__d:___s___s
push ebx
mov dword [edi + 0x50], ebx
call fcn.00424860
add esp, 0x14
mov esi, edi
call fcn.00461a80
cmp ebx, 0xc0a
jne 0x4724ad
mov edx, dword [ebp - 0xd8]
mov byte [edx + 0x41], 1
mov al, byte [ebp - 0x11e]
mov esi, 1
test al, al
je 0x4724f3
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x10]
movzx ebx, al
dec ebx
mov eax, ebx
add eax, eax
mov eax, dword [edx + eax*8 + 0xc]
push eax
call fcn.0041c460
add esp, 4
cmp ebx, esi
je 0x4724f3
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 0x1c]
push eax
call fcn.0041c460
add esp, 4
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x140]
mov edx, dword [ebp - 0x13c]
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], edx
mov eax, dword [ebp - 0x148]
add dword [edi + 0x7c], eax
push edi
call fcn.004076d0
mov ecx, dword [ebp - 4]
add esp, 4
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.004b3861
mov esp, ebp
pop ebp
ret
mov edx, dword [ebx + 0x10]
mov eax, dword [edx + 8]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
lea esi, [esi + ecx*8]
mov ecx, 1
mov eax, esi
call fcn.0041e5f0
mov dword [ebp - 0xd4], eax
test eax, eax
jne case.default.0x46d73f
mov eax, dword [ebp - 0xf8]
mov ecx, dword [esi + 0x10]
mov edx, dword [eax]
mov edx, dword [edx + 0x4c]
push ecx
push eax
call edx
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xf8]
push eax
push edi
call fcn.00413b40
add esp, 0x10
and dword [edi + 0x58], 0xfffffff7
jmp case.default.0x46d73f
mov ecx, dword [ebx + 0x10]
mov eax, dword [ecx + 8]
mov dword [ebp - 0xf8], eax
test eax, eax
je 0x4721a7
mov eax, dword [eax]
mov dword [ebp - 0xec], eax
test eax, eax
je 0x4721a7
cmp dword [eax + 0x34], 0
mov ecx, dword [ebx + 8]
je case.default.0x46d73f
mov edx, dword [ebp - 0xd8]
mov al, byte [edx + 0x45]
mov esi, dword [edi + 0xc]
mov byte [ebp - 0x119], al
mov eax, dword [ebx + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x118]
lea edx, [eax + edx*8]
xor eax, eax
test ecx, ecx
jle 0x4725f3
mov dword [esi + eax*4], edx
inc eax
add edx, 0x28
cmp eax, ecx
jl 0x4725e8
mov dl, byte [ebx + 3]
mov eax, dword [ebp - 0xd8]
mov byte [eax + 0x45], dl
mov eax, dword [ebp - 0xf8]
lea edx, [ebp - 0x210]
push edx
push esi
push ecx
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx + 0x34]
push eax
call edx
mov edx, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xd4], eax
mov al, byte [ebp - 0x119]
push edx
push edi
mov byte [ecx + 0x45], al
call fcn.00413b40
add esp, 0x18
cmp dword [ebp - 0xd4], 0
jne 0x472672
cmp dword [ebx + 4], 0
je 0x472672
mov eax, dword [ebp - 0x210]
mov ecx, dword [ebp - 0x20c]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], ecx
mov dword [edx + 0x20], eax
mov dword [edx + 0x24], ecx
cmp byte [ebp - 0xd4], 0x13
jne 0x4709c8
mov eax, dword [ebx + 0x10]
cmp byte [eax + 0x10], 0
je 0x4709c8
mov al, byte [ebx + 3]
cmp al, 4
jne 0x4726a2
mov dword [ebp - 0xd4], 0
jmp case.default.0x46d73f
cmp al, 5
jne 0x4726b3
mov eax, 2
mov byte [edi + 0x56], al
jmp case.default.0x46d73f
movzx eax, al
mov byte [edi + 0x56], al
jmp case.default.0x46d73f
mov eax, ebx
mov edx, edi
call fcn.004088e0
mov ecx, dword [ebx + 4]
mov edx, dword [ebp - 0xd8]
mov edx, dword [edx + 0x10]
add ecx, ecx
mov ecx, dword [edx + ecx*8 + 4]
mov edx, dword [ecx + 4]
mov ecx, dword [edx + 0x2c]
mov dword [eax], ecx
mov dword [eax + 4], 0
jmp case.default.0x46d73f
mov eax, ebx
mov edx, edi
call fcn.004088e0
mov edx, dword [ebx + 4]
mov ebx, dword [ebx + 0xc]
mov esi, eax
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x10]
add edx, edx
mov eax, dword [ecx + edx*8 + 4]
xor ecx, ecx
test ebx, ebx
je 0x47271f
mov edx, dword [eax + 4]
mov ecx, dword [edx + 0x2c]
cmp ecx, ebx
jae 0x47271f
mov ecx, ebx
mov ebx, ecx
call fcn.004126e0
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x46d7fb
mov eax, dword [ebp - 0xd8]
cmp dword [eax + 0xb0], 0
je 0x47278d
test dword [edi + 0x58], 0x200
jne 0x47278d
mov edx, dword [ebx + 0x10]
test edx, edx
jne 0x47275a
mov edx, dword [edi + 0xa8]
test edx, edx
je 0x47278d
mov ecx, edi
call fcn.00426a30
mov esi, dword [ebp - 0xd8]
mov ecx, dword [esi + 0xb4]
mov edx, dword [esi + 0xb0]
push eax
push ecx
mov dword [ebp - 0xf8], eax
call edx
mov eax, dword [ebp - 0xf8]
add esp, 8
mov ecx, esi
call fcn.00401b30
cmp dword [ebx + 8], 0
je case.default.0x46d73f
mov ebx, dword [ebx + 8]
mov ecx, dword [ebp - 0x114]
lea eax, [ebx + ebx*4]
lea edx, [ecx + eax*4 - 0x14]
mov dword [ebp - 0xdc], edx
jmp 0x46d7fb
mov ecx, dword [ebx + 4]
mov dword [edi + 0x50], ecx
mov dl, byte [ebx + 8]
mov byte [edi + 0x56], dl
mov dword [edi + 0x4c], eax
test ecx, ecx
je 0x47284f
mov al, byte [ebx + 3]
test al, al
je 0x4727ff
movzx eax, al
mov eax, dword [eax*4 + 0x4e7584]
test eax, eax
je 0x472801
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x472801
mov esi, dword [ebp - 0xd8]
push ecx
push eax
lea ebx, [edi + 0x2c]
push str._s_constraint_failed:__s
call fcn.00430d40
add esp, 0xc
jmp 0x472827
xor eax, eax
mov ecx, dword [ebx + 0x10]
mov esi, dword [ebp - 0xd8]
lea ebx, [edi + 0x2c]
test ecx, ecx
je 0x472819
push ecx
push 0x4d9734
jmp 0x47281f
push eax
push str._s_constraint_failed
call fcn.00430d40
add esp, 8
mov ecx, dword [ebx]
mov edx, dword [edi + 0xa8]
mov eax, dword [ebp - 0xf8]
push ecx
mov ecx, dword [ebp - 0xdc]
push edx
mov edx, dword [ecx + 4]
push eax
push str.abort_at__d_in___s_:__s
push edx
call fcn.00424860
add esp, 0x14
mov esi, edi
call fcn.00461a80
mov esi, 5
cmp eax, esi
je 0x472894
mov esi, dword [edi + 0x50]
neg esi
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x4724f3
sub ebx, dword [ebp - 0x114]
mov eax, 0x66666667
imul ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x4c], eax
mov byte [ecx + 0x3f], 0
mov esi, 5
mov dword [edi + 0x50], esi
jmp 0x4724f3
test ecx, ecx
je 0x4728de
mov esi, dword [ebp - 0xd8]
push 0x204
mov eax, esi
call fcn.0045cc50
add esp, 4
mov byte [esi + 0x3f], 1
mov edi, dword [ebp - 0xd8]
call fcn.0040deb0
mov ecx, dword [ebp - 0xf4]
mov esi, dword [ecx + 0x50]
neg esi
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
mov edi, ecx
jmp 0x4724f3
push 1
mov edx, edi
call fcn.00434040
mov esi, eax
add esp, 4
test esi, esi
jne 0x4724f3
mov dl, byte [ebp - 0xf8]
mov eax, dword [ebp - 0xd8]
mov esi, edi
mov byte [eax + 0x3f], dl
call fcn.00461a80
mov esi, 5
cmp eax, esi
jne 0x4728b9
sub ebx, dword [ebp - 0x114]
mov eax, 0x66666667
imul ebx
mov eax, dword [ebp - 0xd8]
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dl, 1
sub dl, byte [ebp - 0xf8]
mov dword [edi + 0x4c], ecx
mov byte [eax + 0x3f], dl
mov dword [edi + 0x50], esi
jmp 0x4724f3
mov dword [ebp - 0xd4], 8
jmp 0x472991
sub ebx, dword [ebp - 0x114]
mov eax, 0x66666667
imul ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, 5
mov dword [edi + 0x4c], eax
mov dword [edi + 0x50], esi
jmp 0x4724f3
mov eax, 0x121b5
call fcn.004300d0
mov dword [ebp - 0xd4], eax
jmp 0x472991
mov edi, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xd8]
cmp byte [ecx + 0x41], 0
je 0x4729a9
mov dword [ebp - 0xd4], 7
jmp 0x4729b9
cmp dword [ebp - 0xd4], 0xc0a
je 0x472454
mov ecx, dword [ebp - 0xd4]
call fcn.0040e000
mov esi, dword [ebp - 0xd8]
push eax
push 0x4d9734
lea ebx, [edi + 0x2c]
call fcn.00430d40
add esp, 8
jmp 0x472454
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x1c]
push edx
call ecx
add esp, 4
jmp 0x4729f7
mov edi, dword [ebp - 0xf4]
mov esi, dword [ebp - 0xd8]
push 0x4e59a4
lea ebx, [edi + 0x2c]
mov byte [esi + 0x41], 1
call fcn.00430d40
add esp, 4
mov dword [ebp - 0xd4], 7
jmp 0x472454
mov edi, dword [ebp - 0xf4]
mov esi, dword [ebp - 0xd8]
push str.string_or_blob_too_big
lea ebx, [edi + 0x2c]
call fcn.00430d40
add esp, 4
mov dword [ebp - 0xd4], 0x12
jmp 0x472454
mov eax, 9
mov dword [edi + 0x50], eax
mov ecx, dword [str.interrupted]
mov dword [ebp - 0xd4], eax
mov eax, str.unknown_error
test ecx, ecx
je 0x472a6a
mov eax, ecx
mov esi, dword [ebp - 0xd8]
push eax
push 0x4d9734
lea ebx, [edi + 0x2c]
call fcn.00430d40
add esp, 8
jmp 0x472454