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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x114
mov eax, dword [0x50c7c4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ecx + 4]
push edi
mov edi, dword [ecx]
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xdc], esi
mov eax, dword [edi + 8]
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], edi
mov byte [ebp - 0xf9], 0
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x108], 0
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0x10c], 0
mov al, byte [eax + 0x4d]
mov byte [ebp - 0xec], al
mov eax, dword [ecx + 8]
mov dword [ebp - 0xe4], eax
xor eax, eax
mov dword [ebp - 0x104], eax
call fcn.00450100
mov ecx, dword [ebp - 0xd8]
cmp dword [ecx + 0x5c], 7
je 0x45acad
mov dword [ecx + 0x5c], 0
mov dword [ecx + 0x14], 0
cmp dword [edi + 0xe0], 0
mov dword [edi + 0x1b4], 0
jne 0x45b0db
mov ebx, dword [ecx + 0x58]
xor edx, edx
cmp dword [edi + 0x114], edx
setne dl
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0xd4], ebx
lea ebx, [ebx]
cmp byte [edi + 0x1e], 0
jne 0x45acad
lea edi, [ebx + ebx*4]
test edx, edx
je 0x454fcd
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0x108]
cmp dword [eax + 0x11c], ecx
jne 0x454fc0
push dword [eax + 0x118]
mov eax, dword [eax + 0x114]
call eax
add esp, 4
test eax, eax
jne 0x45ab1c
jmp 0x454fc6
mov eax, dword [ebp - 0x108]
inc eax
mov dword [ebp - 0x108], eax
test byte [esi + edi*4 + 2], 2
je 0x455002
mov eax, dword [esi + edi*4 + 8]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, eax
mov dword [ebp - 0xe8], eax
call fcn.0044e3a0
mov edx, dword [ebp - 0xe8]
mov eax, 4
mov word [edx + 0x1c], ax
jmp 0x455008
mov edx, dword [ebp - 0xe8]
movzx eax, byte [esi + edi*4]
dec eax
cmp eax, 0x90
ja case.0x455018.17
jmp dword [eax*4 + 0x45b12c]
mov ecx, dword [ebp - 0xcc]
cmp dword [ecx + 0xe0], 0
jne 0x45b0cf
mov ebx, dword [esi + edi*4 + 8]
mov edi, ecx
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
mov ecx, dword [esi + edi*4 + 4]
mov eax, 4
mov ebx, dword [ebp - 0xe4]
lea ecx, [ecx + ecx*4]
mov word [ebx + ecx*8 + 0x1c], ax
mov eax, dword [ebp - 0xd4]
cdq
mov dword [ebx + ecx*8 + 0x14], edx
mov edx, dword [ebp - 0xe0]
mov dword [ebx + ecx*8 + 0x10], eax
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xcc]
jmp 0x454f74
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
mov edi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
mov ebx, dword [ecx + eax*8 + 0x10]
inc ebx
jmp 0x454f74
mov eax, dword [esi + edi*4 + 4]
mov ebx, dword [ebp - 0xe4]
mov edi, dword [ebp - 0xcc]
lea ecx, [eax + eax*4]
mov eax, 4
mov word [ebx + ecx*8 + 0x1c], ax
mov eax, dword [ebx + ecx*8 + 0x10]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xd4]
cdq
mov dword [ebx + ecx*8 + 0x14], edx
mov edx, dword [ebp - 0xe0]
mov dword [ebx + ecx*8 + 0x10], eax
mov ebx, dword [ebp - 0xc8]
inc ebx
jmp 0x454f74
mov eax, dword [esi + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
je case.0x455018.17
cmp dword [esi + edi*4 + 4], 0
mov edx, dword [ebp - 0xd8]
jne 0x45ab30
mov ecx, dword [edx + 0xa8]
test ecx, ecx
je 0x45ab30
mov eax, dword [ecx + 0x3c]
dec dword [edx + 0xb0]
mov dword [edx + 0xa8], eax
mov eax, dword [edx + 0x6c]
mov edx, dword [ebp - 0xcc]
add dword [edx + 0x40], eax
mov dword [edx + 0x3c], eax
call fcn.00450a60
cmp dword [esi + edi*4 + 8], 4
mov ebx, eax
mov dword [ebp - 0xd4], ebx
jne 0x455167
mov edi, eax
lea ecx, [edi + edi*4]
mov edi, dword [ebp - 0xd8]
mov eax, dword [edi + 4]
mov ebx, dword [eax + ecx*4 + 8]
dec ebx
jmp 0x45516d
mov edi, dword [ebp - 0xd8]
mov esi, dword [edi + 4]
inc ebx
mov eax, dword [edi + 8]
mov edi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xdc], esi
mov dword [ebp - 0xe4], eax
jmp 0x454f74
mov eax, dword [esi + edi*4 + 4]
inc ebx
mov ecx, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xcc]
cdq
mov dword [ecx + 0x14], edx
mov edx, dword [ebp - 0xe0]
mov dword [ecx + 0x10], eax
jmp 0x454f74
mov ecx, dword [esi + edi*4 + 0x10]
inc ebx
mov edi, dword [ebp - 0xcc]
mov eax, dword [ecx]
mov dword [edx + 0x10], eax
mov eax, dword [ecx + 4]
mov dword [edx + 0x14], eax
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
mov eax, 8
inc ebx
mov word [edx + 0x1c], ax
mov eax, dword [esi + edi*4 + 0x10]
mov edi, dword [ebp - 0xcc]
movsd xmm0, qword [eax]
movsd qword [edx + 8], xmm0
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
mov ecx, dword [esi + edi*4 + 0x10]
mov byte [esi + edi*4], 9
call fcn.00437670
cmp byte [ebp - 0xec], 1
mov dword [esi + edi*4 + 4], eax
je 0x4552ad
push 0
push 1
mov edx, ecx
mov ecx, dword [ebp - 0xe8]
push 0xffffffffffffffff
call fcn.0044eb10
add esp, 0xc
mov dword [ebp - 0xd0], eax
cmp eax, 0x12
je 0x45af46
movzx edx, byte [ebp - 0xec]
mov ecx, dword [ebp - 0xe8]
call fcn.0044e010
test eax, eax
jne 0x45aca7
mov ecx, dword [ebp - 0xe8]
mov edx, 0xfbff
mov dword [ecx + 0x24], eax
mov ax, word [ecx + 0x1c]
and ax, dx
mov edx, 0x800
or ax, dx
mov word [ecx + 0x1c], ax
cmp byte [esi + edi*4 + 1], 0xff
jne 0x45529a
push dword [esi + edi*4 + 0x10]
push dword [ebp - 0xcc]
call fcn.00435500
mov ecx, dword [ebp - 0xe8]
add esp, 8
mov byte [esi + edi*4 + 1], 0xff
mov eax, dword [ecx + 4]
mov dword [esi + edi*4 + 0x10], eax
mov eax, dword [ecx + 0x18]
mov dword [esi + edi*4 + 4], eax
mov ecx, dword [ebp - 0xcc]
mov eax, dword [esi + edi*4 + 4]
cmp eax, dword [ecx + 0x48]
jg 0x45af42
mov ecx, dword [ebp - 0xe8]
mov eax, 0xa02
mov word [ecx + 0x1c], ax
mov eax, dword [esi + edi*4 + 0x10]
mov dword [ecx + 4], eax
mov eax, dword [esi + edi*4 + 4]
mov dword [ecx + 0x18], eax
mov al, byte [ebp - 0xec]
mov byte [ecx + 0x1f], al
mov edi, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xd0]
inc ebx
mov dword [ebp - 0xd4], ebx
test eax, eax
jne 0x45acd9
mov edx, dword [ebp - 0xe0]
jmp 0x454f80
mov edi, dword [ebp - 0xcc]
mov eax, 1
mov word [edx + 0x1c], ax
inc ebx
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
mov edx, dword [esi + edi*4 + 0x10]
push 0
push 0
push dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xe8]
mov ecx, edi
call fcn.0044eb10
mov al, byte [ebp - 0xec]
add esp, 0xc
mov edx, dword [ebp - 0xe0]
inc ebx
mov byte [edi + 0x1f], al
mov edi, dword [ebp - 0xcc]
jmp 0x454f74
mov eax, dword [esi + edi*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
lea ecx, [ecx - 5]
mov eax, dword [eax + 0x48]
lea esi, [eax + ecx*8]
mov ecx, esi
mov dword [ebp - 0xc8], esi
call fcn.0044e9b0
test eax, eax
jne 0x45af46
mov ecx, dword [ebp - 0xe8]
mov edx, esi
push 0x800
call fcn.0044e9e0
mov esi, dword [ebp - 0xdc]
add esp, 4
mov edi, dword [ebp - 0xcc]
inc ebx
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
mov edx, dword [esi + edi*4 + 0xc]
mov dword [ebp - 0xc4], edx
mov eax, dword [esi + edi*4 + 4]
mov dword [ebp - 0xc0], eax
mov ecx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xe4]
mov dword [ebp - 0xbc], ecx
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
lea eax, [ecx + ecx*4]
lea eax, [edi + eax*8]
mov dword [ebp - 0xe8], eax
test edx, edx
je 0x455437
mov ebx, eax
dec edx
mov ecx, ebx
mov dword [ebp - 0xc4], edx
mov edx, esi
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0xc8], eax
mov dword [ebx + 0x24], 0
call fcn.0044eaa0
mov eax, dword [ebp - 0xc8]
add ebx, 0x28
mov dword [esi + 0x24], eax
add esi, 0x28
mov edx, dword [ebp - 0xc4]
test edx, edx
jne 0x4553f2
mov dword [ebp - 0xe8], ebx
mov ebx, dword [ebp - 0xd4]
mov esi, dword [ebp - 0xdc]
dec edx
mov edi, dword [ebp - 0xcc]
inc ebx
mov dword [ebp - 0xc4], edx
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
mov eax, dword [esi + edi*4 + 8]
mov edx, dword [ebp - 0xe4]
push 0x1000
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [esi + edi*4 + 4]
mov dword [ebp - 0xe8], ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
call fcn.0044e9e0
mov ecx, dword [ebp - 0xe8]
mov eax, 0x1000
add esp, 4
test word [ecx + 0x1c], ax
je 0x457f48
call fcn.0044e150
mov edi, dword [ebp - 0xcc]
test eax, eax
jne 0x45acad
mov edx, dword [ebp - 0xe0]
inc ebx
jmp 0x454f74
mov eax, dword [esi + edi*4 + 8]
mov edx, dword [ebp - 0xe4]
push 0x1000
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [esi + edi*4 + 4]
mov dword [ebp - 0xe8], ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
call fcn.0044e9e0
mov edi, dword [ebp - 0xcc]
add esp, 4
mov edx, dword [ebp - 0xe0]
inc ebx
jmp 0x454f74
mov ecx, dword [ebp - 0xd8]
xor edx, edx
call fcn.00451460
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x455529
mov ecx, dword [ebp - 0xd8]
lea edx, [eax + 1]
call fcn.00451370
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x45abcf
mov edi, dword [ebp - 0xcc]
jmp 0x4552f2
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
movzx ecx, word [ebx + 0x1c]
mov al, byte [esi + 0x1c]
or al, cl
mov dword [ebp - 0xe8], edx
test al, 1
je 0x455596
mov ecx, edx
call fcn.0044e770
mov ebx, dword [ebp - 0xd4]
mov esi, dword [ebp - 0xdc]
inc ebx
mov edi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
test ecx, 0x4000
je 0x4555ad
mov ecx, ebx
call fcn.0044e1b0
test eax, eax
jne 0x45aca7
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x4555c7
mov ecx, esi
call fcn.0044e1b0
test eax, eax
jne 0x45aca7
test byte [ebx + 0x1c], 0x12
jne 0x4555e3
movzx edx, byte [ebp - 0xec]
mov ecx, ebx
call fcn.0044e260
test eax, eax
jne 0x45aca7
test byte [esi + 0x1c], 0x12
jne 0x4555ff
movzx edx, byte [ebp - 0xec]
mov ecx, esi
call fcn.0044e260
test eax, eax
jne 0x45aca7
mov eax, dword [ebx + 0x18]
add eax, dword [esi + 0x18]
cdq
mov edi, eax
mov ecx, edx
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xc8], edi
mov dword [ebp - 0xc4], ecx
mov eax, dword [eax + 0x48]
cdq
cmp ecx, edx
jg 0x45af46
jl 0x455632
cmp edi, eax
ja 0x45af46
mov edi, dword [ebp - 0xe8]
mov ecx, 0xbf02
mov ax, word [edi + 0x1c]
and ax, cx
mov ecx, edi
or ax, 2
mov word [edi + 0x1c], ax
xor eax, eax
mov edx, dword [ebp - 0xc8]
cmp edi, esi
sete al
push eax
lea edx, [edx + 2]
call fcn.0044e030
add esp, 4
test eax, eax
jne 0x45aca7
cmp edi, esi
je 0x455684
push dword [esi + 0x18]
push dword [esi + 4]
push dword [edi + 4]
call fcn.004ad250
add esp, 0xc
push dword [ebx + 0x18]
mov eax, dword [edi + 4]
push dword [ebx + 4]
add eax, dword [esi + 0x18]
push eax
call fcn.004ad250
mov eax, dword [ebp - 0xc8]
add esp, 0xc
mov ecx, dword [edi + 4]
mov ebx, dword [ebp - 0xd4]
mov esi, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xe0]
mov byte [eax + ecx], 0
mov eax, dword [ebp - 0xc8]
mov ecx, dword [edi + 4]
mov edi, dword [ebp - 0xcc]
mov byte [ecx + eax + 1], 0
mov eax, 0x200
mov ecx, dword [ebp - 0xe8]
or word [ecx + 0x1c], ax
inc ebx
mov eax, dword [ebp - 0xc8]
mov dword [ecx + 0x18], eax
mov al, byte [ebp - 0xec]
mov byte [ecx + 0x1f], al
jmp 0x454f74
mov eax, dword [esi + edi*4 + 4]
mov ebx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov ecx, esi
call fcn.00454ce0
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ecx + edi*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov ecx, ebx
call fcn.00454ce0
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ecx + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
movzx ecx, word [ebx + 0x1c]
mov dword [ebp - 0xe8], eax
movzx eax, word [esi + 0x1c]
or ecx, eax
mov dword [ebp - 0xc8], ecx
test cl, 1
jne 0x455a1e
mov al, byte [ebx + 0x1c]
and al, byte [esi + 0x1c]
test al, 4
je 0x4557c5
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0xc0], ecx
mov edx, dword [esi + 0x14]
mov dword [ebp - 0xbc], edx
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xb8], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xdc]
movzx eax, byte [eax + edi*4]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x4557a6
jmp dword [eax*4 + 0x45b370]
push edx
push ecx
lea ecx, [ebp - 0xb8]
call fcn.00438650
add esp, 8
test eax, eax
je 0x4558bd
mov ecx, esi
call fcn.0044e4f0
mov ecx, ebx
movsd qword [ebp - 0xb0], xmm0
call fcn.0044e4f0
mov esi, dword [ebp - 0xdc]
movsd qword [ebp - 0xa8], xmm0
movsd qword [ebp - 0xf8], xmm0
movzx eax, byte [esi + edi*4]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x455801
jmp dword [eax*4 + 0x45b380]
push edx
push ecx
lea ecx, [ebp - 0xb8]
call fcn.004386f0
add esp, 8
test eax, eax
jne 0x4557c5
jmp 0x4558bd
push edx
push ecx
lea ecx, [ebp - 0xb8]
call fcn.00438740
add esp, 8
test eax, eax
jne 0x4557c5
jmp 0x4558bd
mov eax, ecx
or eax, edx
je 0x455a1e
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0xf4]
jne 0x455867
test eax, eax
jne 0x455867
cmp dword [ebp - 0x100], 0x80000000
je 0x4557c5
push edx
push ecx
push dword [ebp - 0x100]
push eax
call fcn.004bac90
jmp 0x4558b1
mov eax, ecx
or eax, edx
je 0x455a1e
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x45589d
mov ecx, 1
xor edx, edx
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xbc], edx
mov eax, dword [ebp - 0xf4]
push edx
push ecx
push dword [ebp - 0x100]
push eax
call fcn.004bad40
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xe8]
mov edx, 0xbf04
mov eax, dword [ebp - 0xb8]
mov ebx, dword [ebp - 0xd4]
mov esi, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xcc]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xb4]
mov dword [ecx + 0x14], eax
mov ax, word [ecx + 0x1c]
and ax, dx
mov edx, dword [ebp - 0xe0]
or ax, 4
inc ebx
mov word [ecx + 0x1c], ax
jmp 0x454f74
addsd xmm0, qword [ebp - 0xb0]
jmp 0x4559c0
subsd xmm0, qword [ebp - 0xb0]
jmp 0x4559c0
mulsd xmm0, qword [ebp - 0xb0]
jmp 0x4559c0
movsd xmm1, qword [ebp - 0xb0]
ucomisd xmm1, qword [0x4fe208]
lahf
test ah, 0x44
jnp 0x455a1e
divsd xmm0, xmm1
jmp 0x4559c0
movsd xmm0, qword [ebp - 0xb0]
call fcn.004ddbbf
movsd xmm0, qword [ebp - 0xf8]
mov esi, eax
mov edi, edx
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xbc], edi
call fcn.004ddbbf
mov ecx, esi
mov dword [ebp - 0xb8], eax
or ecx, edi
mov dword [ebp - 0xb4], edx
je 0x455a1e
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x4559aa
mov esi, 1
xor edi, edi
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xbc], edi
push edi
push esi
push edx
push eax
call fcn.004bad40
mov ecx, eax
call fcn.004ddd5f
mov esi, dword [ebp - 0xdc]
movsd qword [ebp - 0xa8], xmm0
call fcn.00437630
test eax, eax
jne 0x455a1e
mov ecx, dword [ebp - 0xe8]
mov edx, 0xbf08
movsd xmm0, qword [ebp - 0xa8]
mov ax, word [ecx + 0x1c]
and ax, dx
movsd qword [ecx + 8], xmm0
or ax, 8
mov word [ecx + 0x1c], ax
test byte [ebp - 0xc8], 8
jne 0x455a06
call fcn.0044e550
mov ebx, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xcc]
inc ebx
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
mov ecx, dword [ebp - 0xe8]
jmp 0x455573
movzx ecx, byte [esi + edi*4 + 3]
mov eax, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0x7c], ecx
mov esi, dword [eax + 0xc]
mov dword [ebp - 0x80], esi
mov eax, dword [edx + edi*4 + 0xc]
mov edx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xe8], eax
mov eax, dword [edx + edi*4 + 8]
mov edx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
xor eax, eax
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xc8], eax
test ecx, ecx
jle 0x455ad3
mov dword [esi + eax*4], edx
mov eax, 0x1000
mov ecx, dword [ebp - 0xc4]
test word [ecx + 0x1c], ax
je 0x455aa8
call fcn.0044e150
test eax, eax
jne 0x45aca7
mov ecx, dword [ebp - 0xc4]
call fcn.00454bb0
mov eax, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xc4]
inc eax
add edx, 0x28
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
cmp eax, dword [ebp - 0x7c]
jge 0x455ad3
mov esi, dword [ebp - 0x80]
jmp 0x455a81
mov esi, dword [ebp - 0xdc]
cmp byte [esi + edi*4 + 1], 0xfb
mov eax, dword [esi + edi*4 + 0x10]
jne 0x455af0
mov dword [ebp - 0xbc], 0
jmp 0x455af8
mov dword [ebp - 0xbc], eax
mov eax, dword [eax]
mov edx, dword [ebp - 0xe8]
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0xc0], eax
mov eax, 1
mov word [ebp - 0x9c], ax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
call fcn.0044eaa0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xc0]
and eax, 0xbf01
or eax, 1
mov dword [ebp - 0x8c], 0
mov word [ebp - 0x9c], ax
test byte [ecx + 3], 8
je 0x455b70
mov eax, dword [esi + edi*4 - 4]
mov dword [ebp - 0x88], eax
push dword [ebp - 0x80]
lea eax, [ebp - 0xc0]
push dword [ebp - 0x7c]
push eax
mov eax, dword [ecx + 0xc]
call eax
mov eax, dword [ebp - 0xcc]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne 0x45ac9c
mov ecx, dword [ebp - 0xbc]
test ecx, ecx
je 0x455bb7
mov edx, dword [esi + edi*4 + 4]
call fcn.00451a30
mov eax, dword [ebp - 0xbc]
mov dword [esi + edi*4 + 0x10], eax
mov byte [esi + edi*4 + 1], 0xf9
cmp dword [ebp - 0x8c], 0
je 0x455bf7
mov dl, 1
lea ecx, [ebp - 0xb8]
call fcn.0044f0b0
push eax
mov eax, dword [ebp - 0xd8]
push 0x4f7fa8
push dword [ebp - 0xcc]
add eax, 0x38
push eax
call fcn.00435910
mov eax, dword [ebp - 0x8c]
add esp, 0x10
mov dword [ebp - 0xd0], eax
movzx edx, byte [ebp - 0xec]
lea ecx, [ebp - 0xb8]
call fcn.0044e010
mov ecx, dword [ebp - 0xe8]
lea edx, [ebp - 0xb8]
call fcn.0044eaa0
mov ecx, dword [ebp - 0xe8]
call fcn.0044e9b0
mov edi, dword [ebp - 0xcc]
test eax, eax
jne 0x45af4c
jmp 0x4552ec
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edx + edi*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [edx + edi*4 + 0xc]
mov edx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov al, byte [ecx + 0x1c]
or al, byte [esi + 0x1c]
mov dword [ebp - 0xe8], edx
test al, 1
je 0x455c97
mov ecx, edx
call fcn.0044e770
mov esi, dword [ebp - 0xdc]
inc ebx
mov edi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
call fcn.0044e440
mov ecx, esi
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
call fcn.0044e440
mov esi, eax
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xb8], esi
mov cl, byte [eax + edi*4]
mov byte [ebp - 0xb0], cl
cmp cl, 0x52
jne 0x455cea
mov ecx, dword [ebp - 0xc8]
and ecx, esi
and dword [ebp - 0xc4], edx
mov dword [ebp - 0xc8], ecx
jmp 0x455e43
cmp cl, 0x53
jne 0x455d08
mov ecx, dword [ebp - 0xc8]
or ecx, esi
or dword [ebp - 0xc4], edx
mov dword [ebp - 0xc8], ecx
jmp 0x455e43
mov eax, esi
or eax, edx
je 0x455e3d
test edx, edx
jg 0x455d52
jl 0x455d1c
test esi, esi
jae 0x455d47
mov al, 0xa9
sub al, cl
mov cl, al
mov byte [ebp - 0xb0], cl
cmp edx, 0xffffffff
jl 0x455d82
jg 0x455d34
cmp esi, 0xffffffc0
jbe 0x455d82
neg esi
mov dword [ebp - 0xb8], esi
adc edx, 0
neg edx
mov dword [ebp - 0xb4], edx
test edx, edx
jl 0x455dae
jg 0x455d52
cmp esi, 0x40
jb 0x455dae
cmp dword [ebp - 0xc4], 0
jg 0x455d98
jl 0x455d66
cmp dword [ebp - 0xc8], 0
jae 0x455d98
cmp cl, 0x54
je 0x455d98
or eax, 0xffffffff
cdq
mov ecx, eax
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xc8], ecx
jmp 0x455e43
mov dword [ebp - 0xb8], 0x40
mov dword [ebp - 0xb4], 0
jmp 0x455d52
xor eax, eax
cdq
mov ecx, eax
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xc8], ecx
jmp 0x455e43
movq xmm1, qword [ebp - 0xc8]
movd xmm0, esi
cmp cl, 0x54
jne 0x455de5
psllq xmm1, xmm0
movq qword [ebp - 0xc0], xmm1
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], eax
jmp 0x455e43
cmp dword [ebp - 0xc4], 0
psrlq xmm1, xmm0
movq qword [ebp - 0xc0], xmm1
jg 0x455e23
jl 0x455e05
cmp dword [ebp - 0xc8], 0
jae 0x455e23
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, esi
or edx, 0xffffffff
call fcn.004dd9a0
or dword [ebp - 0xc0], eax
or dword [ebp - 0xbc], edx
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], eax
jmp 0x455e43
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xe8]
mov edx, 0xbf04
mov esi, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xcc]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x14], eax
mov ax, word [ecx + 0x1c]
and ax, dx
mov edx, dword [ebp - 0xe0]
or ax, 4
inc ebx
mov word [ecx + 0x1c], ax
jmp 0x454f74
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0044e5f0
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + edi*4 + 8]
mov edi, dword [ebp - 0xcc]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
inc ebx
mov esi, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00454ce0
test byte [esi + 0x1c], 8
je 0x455eeb
mov ecx, esi
call fcn.0044e550
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x455f18
mov esi, dword [ebp - 0xdc]
mov eax, dword [esi + edi*4 + 8]
test eax, eax
je 0x45ad5b
mov edi, dword [ebp - 0xcc]
mov ebx, eax
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
mov edi, dword [ebp - 0xcc]
and eax, 0xbf04
mov edx, dword [ebp - 0xe0]
or eax, 4
mov word [esi + 0x1c], ax
inc ebx
mov esi, dword [ebp - 0xdc]
jmp 0x454f74
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 4
lea ecx, [ecx + eax*8]
je 0x457f48
call fcn.0044e620
mov edi, dword [ebp - 0xcc]
inc ebx
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx ecx, word [esi + 0x1c]
test cl, 1
jne 0x456d39
mov eax, ecx
shr eax, 3
and eax, 2
or eax, ecx
mov word [esi + 0x1c], ax
test al, 2
jne 0x455faf
test al, 0xc
je 0x455faf
movzx edx, byte [ebp - 0xec]
mov ecx, esi
call fcn.0044e260
mov eax, 0xfff3
and word [esi + 0x1c], ax
movzx eax, word [esi + 0x1c]
test eax, 0x4000
je 0x455fcc
mov ecx, esi
call fcn.0044e1b0
jmp 0x455fce
xor eax, eax
mov ecx, 0xbfe3
mov dword [ebp - 0xd0], eax
and word [esi + 0x1c], cx
mov esi, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xcc]
jmp 0x4552f2
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 0x1c]
test al, 1
jne 0x456d39
test al, 0x10
jne 0x456050
test al, 2
jne 0x456024
test al, 0xc
je 0x456024
movzx edx, byte [ebp - 0xec]
mov ecx, esi
call fcn.0044e260
mov ax, word [esi + 0x1c]
mov ecx, 0xbf10
mov edi, dword [ebp - 0xcc]
and ax, cx
mov edx, dword [ebp - 0xe0]
or ax, 0x10
mov word [esi + 0x1c], ax
inc ebx
mov esi, dword [ebp - 0xdc]
jmp 0x454f74
mov edi, dword [ebp - 0xcc]
and eax, 0xff10
mov edx, dword [ebp - 0xe0]
inc ebx
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xdc]
jmp 0x454f74
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.0044e6a0
mov edi, dword [ebp - 0xcc]
inc ebx
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea ecx, [ecx + eax*8]
jne 0x457f48
call fcn.0044e5f0
mov edi, dword [ebp - 0xcc]
inc ebx
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea ecx, [ecx + eax*8]
jne 0x457f48
call fcn.0044e620
mov edi, dword [ebp - 0xcc]
inc ebx
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
movzx eax, word [esi + 0x1c]
mov word [ebp - 0xc2], ax
movzx eax, word [ebx + 0x1c]
mov word [ebp - 0xc0], ax
movzx edx, word [ebx + 0x1c]
movzx ecx, word [esi + 0x1c]
mov al, dl
or al, cl
test al, 1
mov eax, dword [ebp - 0xdc]
je 0x4561cb
mov al, byte [eax + edi*4 + 3]
test al, al
jns 0x456160
and edx, ecx
not edx
and edx, 1
jmp 0x45624c
mov esi, dword [ebp - 0xdc]
test al, 0x10
je 0x4561ac
mov eax, dword [esi + edi*4 + 8]
mov edx, 0xbf01
mov ecx, dword [ebp - 0xe4]
mov ebx, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xcc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov ax, word [ecx + 0x1c]
and ax, dx
mov dword [ebp - 0xe8], ecx
mov edx, dword [ebp - 0xe0]
or ax, 1
mov word [ecx + 0x1c], ax
inc ebx
jmp 0x454f74
test al, 8
je 0x455a06
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xcc]
dec ebx
mov edx, dword [ebp - 0xe0]
inc ebx
jmp 0x454f74
mov dl, byte [eax + edi*4 + 3]
and dl, 0x67
mov byte [ebp - 0xc4], dl
je 0x456210
push dword [ebp - 0xec]
mov ecx, esi
call fcn.00454d70
mov dl, byte [ebp - 0xc4]
add esp, 4
mov ecx, ebx
push dword [ebp - 0xec]
call fcn.00454d70
mov eax, dword [ebp - 0xcc]
add esp, 4
cmp byte [eax + 0x1e], 0
jne 0x45b11e
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x456227
mov ecx, esi
call fcn.0044e1b0
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x456234
mov ecx, ebx
call fcn.0044e1b0
mov eax, dword [ebp - 0xdc]
mov edx, esi
mov ecx, ebx
push dword [eax + edi*4 + 0x10]
call fcn.0044ecd0
add esp, 4
mov edx, eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xc8], edx
movzx ecx, byte [eax + edi*4]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x456264
jmp dword [ecx*4 + 0x45b390]
xor eax, eax
test edx, edx
sete al
jmp 0x45629f
xor eax, eax
test edx, edx
setne al
jmp 0x45629f
xor eax, eax
test edx, edx
sets al
jmp 0x45629f
xor eax, eax
test edx, edx
setle al
jmp 0x45629f
xor eax, eax
test edx, edx
setg al
jmp 0x45629f
xor eax, eax
test edx, edx
setns al
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xc8], eax
test byte [ecx + edi*4 + 3], 0x10
je 0x456319
mov eax, dword [ecx + edi*4 + 8]
mov edx, 0xbf04
mov ecx, dword [ebp - 0xe4]
mov edi, dword [ebp - 0xcc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov ax, word [ecx + 0x1c]
and ax, dx
mov dword [ebp - 0xe8], ecx
or ax, 4
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xc8]
cdq
mov dword [ecx + 0x14], edx
mov edx, dword [ebp - 0xe0]
mov dword [ecx + 0x10], eax
mov al, byte [ebp - 0xc2]
mov byte [esi + 0x1c], al
mov al, byte [ebp - 0xc0]
mov esi, dword [ebp - 0xdc]
mov byte [ebx + 0x1c], al
mov ebx, dword [ebp - 0xd4]
inc ebx
jmp 0x454f74
test eax, eax
je 0x456328
mov eax, dword [ecx + edi*4 + 8]
dec eax
mov dword [ebp - 0xd4], eax
mov al, byte [ebp - 0xc2]
mov edi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xe0]
mov byte [esi + 0x1c], al
mov al, byte [ebp - 0xc0]
mov esi, dword [ebp - 0xdc]
mov byte [ebx + 0x1c], al
mov ebx, dword [ebp - 0xd4]
inc ebx
jmp 0x454f74
mov eax, dword [esi + edi*4 + 0x10]
inc ebx
mov edi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0x104], eax
jmp 0x454f74
mov eax, dword [esi + edi*4 + 0xc]
xor edx, edx
mov dword [ebp - 0xc8], eax
mov ebx, dword [esi + edi*4 + 0x10]
mov dword [ebp - 0xb8], ebx
mov ecx, dword [esi + edi*4 + 4]
mov dword [ebp - 0xc0], ecx
mov edi, dword [esi + edi*4 + 8]
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0xc4], edx
test eax, eax
jle 0x456459
mov eax, dword [ebp - 0x104]
test eax, eax
je 0x4563c1
mov esi, dword [eax + edx*4]
jmp 0x4563c3
mov esi, edx
mov dword [ebp - 0xb4], esi
mov ecx, dword [ebx + edx*4 + 0xc]
mov dword [ebp - 0xb0], ecx
mov eax, dword [ebx + 8]
push ecx
mov ecx, dword [ebp - 0xe4]
movzx eax, byte [eax + edx]
mov dword [ebp - 0xac], eax
lea eax, [esi + edi]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebp - 0xf4]
add eax, esi
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.0044ecd0
add esp, 4
mov dword [ebp - 0x10c], eax
test eax, eax
jne 0x456442
mov edx, dword [ebp - 0xc4]
inc edx
mov dword [ebp - 0xc4], edx
cmp edx, dword [ebp - 0xc8]
jge 0x456453
mov ecx, dword [ebp - 0xc0]
mov ebx, dword [ebp - 0xb8]
mov edi, dword [ebp - 0xbc]
mov dword [ebp - 0xf4], ecx
jmp 0x4563b2
cmp dword [ebp - 0xac], 0
je 0x456453
neg eax
mov dword [ebp - 0x10c], eax
mov esi, dword [ebp - 0xdc]
mov ebx, dword [ebp - 0xd4]
xor eax, eax
mov edi, dword [ebp - 0xcc]
inc ebx
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0x104], eax
jmp 0x454f74
mov eax, dword [ebp - 0x10c]
test eax, eax
jns 0x456498
mov ebx, dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
jne 0x4564af
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
mov ebx, dword [esi + edi*4 + 0xc]
mov edi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea ecx, [ecx + eax*8]
je 0x4564e2
mov ecx, 2
jmp 0x4564f4
call fcn.0044e440
or eax, edx
je 0x4564f2
mov ecx, 1
jmp 0x4564f4
xor ecx, ecx
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0xc8], ecx
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 1
lea eax, [edx + eax*8]
je 0x456518
mov eax, 2
jmp 0x456538
mov ecx, eax
call fcn.0044e440
mov ecx, dword [ebp - 0xc8]
or eax, edx
mov edx, dword [ebp - 0xe4]
je 0x456536
mov eax, 1
jmp 0x456538
xor eax, eax
mov dword [ebp - 0xc4], eax
lea eax, [eax + ecx*2]
cmp byte [esi + edi*4], 0x45
jne 0x456551
movzx ecx, byte [ecx + eax + 0x4f1204]
jmp 0x456559
movzx ecx, byte [ecx + eax + 0x4f3a48]
mov dword [ebp - 0xc8], ecx
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov dword [ebp - 0xe8], edx
cmp ecx, 2
jne 0x45659a
mov ax, word [edx + 0x1c]
mov ecx, 0xbf01
mov edi, dword [ebp - 0xcc]
and ax, cx
or ax, 1
inc ebx
mov word [edx + 0x1c], ax
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
mov edi, dword [ebp - 0xcc]
mov eax, ecx
mov ecx, dword [ebp - 0xe8]
cdq
mov dword [ecx + 0x10], eax
mov ax, word [ecx + 0x1c]
mov dword [ecx + 0x14], edx
mov edx, 0xbf04
and ax, dx
mov edx, dword [ebp - 0xe0]
or ax, 4
inc ebx
mov word [ecx + 0x1c], ax
jmp 0x454f74
mov eax, dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 1
lea ecx, [edx + eax*8]
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov dword [ebp - 0xe8], edi
je 0x45660f
mov ecx, edi
call fcn.0044e770
mov edi, dword [ebp - 0xcc]
inc ebx
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
call fcn.0044e440
or eax, edx
jne 0x45663c
mov eax, 1
mov ecx, edi
cdq
push edx
push eax
call fcn.0044e7c0
mov edi, dword [ebp - 0xcc]
add esp, 8
mov edx, dword [ebp - 0xe0]
inc ebx
jmp 0x454f74
xor eax, eax
cdq
push edx
push eax
mov ecx, edi
call fcn.0044e7c0
mov edi, dword [ebp - 0xcc]
add esp, 8
mov edx, dword [ebp - 0xe0]
inc ebx
jmp 0x454f74
mov eax, dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 1
lea ecx, [edx + eax*8]
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov dword [ebp - 0xe8], edi
je 0x45669d
mov ecx, edi
call fcn.0044e770
mov edi, dword [ebp - 0xcc]
inc ebx
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
call fcn.0044e440
not eax
not edx
jmp 0x45663f
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea ecx, [ecx + eax*8]
je 0x4566d0
mov ecx, dword [esi + edi*4 + 0xc]
test ecx, ecx
mov dword [ebp - 0xc8], ecx
jmp 0x457f41
call fcn.0044e4f0
ucomisd xmm0, qword [0x4fe208]
lahf
test ah, 0x44
jnp 0x4566ea
mov ecx, 1
jmp 0x4566ec
xor ecx, ecx
mov dword [ebp - 0xc8], ecx
cmp byte [esi + edi*4], 0x1b
jne 0x456707
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jmp 0x457f41
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
jmp 0x457f41
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
jne 0x457f48
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xcc]
dec ebx
mov edx, dword [ebp - 0xe0]
inc ebx
jmp 0x454f74
mov eax, dword [esi + edi*4 + 4]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0xe4]
mov edx, 0xbf01
mov dword [ebp - 0xb8], eax
mov eax, dword [esi + edi*4 + 8]
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], 0
movdqu xmmword [ebp - 0x88], xmm0
movdqu xmmword [ebp - 0x78], xmm0
movq qword [ebp - 0x68], xmm0
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0x8c], ecx
mov ax, word [ecx + 0x1c]
and ax, dx
or ax, 1
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xac], 0
mov ecx, dword [eax + 0x44]
mov eax, dword [ebp - 0xb8]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0xb0], edx
mov eax, dword [edx]
mov dword [ebp - 0xa8], eax
test eax, eax
je 0x456880
mov ecx, edx
call fcn.00451c10
mov ecx, eax
mov dword [ebp - 0xd0], ecx
test ecx, ecx
jne 0x45ae50
mov ecx, dword [ebp - 0xb0]
cmp byte [ecx + 0x1c], al
je 0x45681d
mov edi, dword [ebp - 0xcc]
inc ebx
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xc8], eax
jmp 0x454f74
mov edx, dword [ebp - 0xd8]
mov eax, dword [ecx + 0x4c]
cmp eax, dword [edx + 0x54]
jne 0x456842
mov edx, dword [ecx + 0x50]
mov dword [ebp - 0xc8], edx
mov eax, dword [ecx + 0x5c]
mov dword [ebp - 0xac], eax
jmp 0x4568cf
cmp byte [ecx + 0x1f], 0
mov ecx, dword [ebp - 0xa8]
je 0x45686d
lea edx, [ebp - 0xc0]
call fcn.00447900
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xc8], edx
jmp 0x4568c9
lea edx, [ebp - 0xc8]
call fcn.00447990
mov dword [ebp - 0xd0], eax
jmp 0x4568c3
mov eax, dword [edx + 0x10]
test eax, eax
jle 0x456d44
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0x48], ecx
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0xc8], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0xac], eax
test byte [esi + edi*4 + 3], 0x20
je 0x4568b7
xor eax, eax
jmp 0x4568c0
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x54]
mov dword [edx + 0x4c], eax
mov edx, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xb0]
test edx, edx
je case.0x455018.17
mov eax, dword [ebp - 0xcc]
cmp edx, dword [eax + 0x48]
ja 0x45af3e
mov esi, dword [ecx + 0x14]
mov dword [ebp - 0x9c], esi
mov edx, dword [ecx + 0x54]
mov dword [ebp - 0xf4], esi
mov esi, dword [ebp - 0xd8]
mov dword [ebp - 0xa4], edx
mov eax, dword [ecx + 0x4c]
cmp eax, dword [esi + 0x54]
mov esi, dword [ebp - 0xf4]
jne 0x456920
mov eax, dword [ecx + 0x58]
mov dword [ebp - 0xa0], eax
jmp 0x456b90
lea eax, [edx + esi*4]
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0xa0], eax
mov dword [ecx + 0x58], eax
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xc8]
mov dword [ecx + 0x50], eax
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x54]
mov eax, dword [ebp - 0xb0]
mov dword [eax + 0x4c], ecx
mov esi, dword [ebp - 0xac]
test esi, esi
je 0x456966
mov dword [ebp - 0x90], esi
jmp 0x4569c8
mov edx, dword [ebp - 0xb0]
xor ecx, ecx
mov eax, dword [ebp - 0xa8]
cmp byte [edx + 0x1f], cl
je 0x456982
cmp byte [eax + 0x53], 1
jne 0x45699f
push ecx
jmp 0x45698a
cmp byte [eax + 0x53], 1
jne 0x45699f
push 1
lea edx, [ebp - 0x4c]
mov ecx, eax
call fcn.00447f50
mov edx, dword [ebp - 0xb0]
add esp, 4
mov ecx, eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x90], ecx
cmp eax, dword [ebp - 0x4c]
ja 0x4569bb
mov dword [ebp - 0xac], ecx
mov dword [edx + 0x5c], ecx
jmp 0x4569c2
mov dword [edx + 0x5c], 0
mov esi, dword [ebp - 0x90]
mov al, byte [esi]
cmp al, 0x80
jae 0x4569db
movzx ecx, al
mov eax, 1
mov dword [ebp - 0x58], ecx
jmp 0x4569f1
lea edx, [ebp - 0x58]
mov ecx, esi
call fcn.00438480
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x90]
movzx eax, al
movzx eax, al
mov dword [ebp - 0x50], eax
cmp ecx, 0x18003
jbe 0x456a20
mov ecx, 0xfbca
call fcn.00492f50
mov esi, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xcc]
mov dword [ebp - 0xd0], eax
jmp 0x4552f2
mov ebx, dword [ebp - 0x9c]
lea edx, [ebx*4 + 3]
add edx, ebx
cmp edx, ecx
cmovg edx, ecx
cmp dword [ebp - 0xac], 0
mov dword [ebp - 0x98], edx
jne 0x456aa2
cmp dword [ebp - 0x4c], edx
jge 0x456aa2
mov ecx, dword [ebp - 0xa8]
xor eax, eax
mov word [ebp - 0x6c], ax
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0x88]
push eax
mov eax, dword [ebp - 0xb0]
movzx eax, byte [eax + 0x1f]
push eax
push edx
xor edx, edx
call fcn.0044ef40
mov ebx, eax
add esp, 0xc
mov dword [ebp - 0xd0], ebx
test ebx, ebx
jne 0x456d33
mov esi, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x98]
mov ebx, dword [ebp - 0x9c]
mov dword [ebp - 0x90], esi
lea eax, [esi + edx]
add esi, dword [ebp - 0x50]
xor edx, edx
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x94], edx
test ebx, ebx
jle 0x456b3f
mov edi, edi
cmp esi, eax
mov eax, dword [ebp - 0xa0]
jae 0x456bd7
mov dword [eax + edx*4], ecx
mov esi, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x94]
mov al, byte [esi]
cmp al, 0x80
jae 0x456af3
movzx edx, al
mov eax, dword [ebp - 0xa4]
mov dword [eax + ecx*4], edx
mov eax, 1
jmp 0x456b06
mov eax, dword [ebp - 0xa4]
lea edx, [eax + ecx*4]
mov ecx, esi
call fcn.00438480
movzx eax, al
mov esi, dword [ebp - 0x60]
mov edx, dword [ebp - 0x94]
mov ecx, dword [ebp - 0xa4]
movzx eax, al
add esi, eax
mov dword [ebp - 0x60], esi
mov ecx, dword [ecx + edx*4]
call fcn.00451db0
mov ecx, dword [ebp - 0x58]
add ecx, eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x58], ecx
cmp ecx, eax
jae 0x456bea
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x60], eax
lea ecx, [ebp - 0x88]
call fcn.0044e400
mov edx, dword [ebp - 0x60]
mov eax, 1
mov esi, dword [ebp - 0x5c]
mov word [ebp - 0x6c], ax
cmp edx, esi
ja 0x456d23
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0xc8]
cmp eax, ecx
ja 0x456d23
cmp edx, esi
jne 0x456b7e
cmp eax, ecx
jne 0x456d23
mov eax, dword [ebp - 0xa0]
mov edx, dword [ebp - 0xa4]
mov ebx, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xb4]
cmp dword [eax + ecx*4], 0
je 0x456ca4
cmp dword [ebp - 0xac], 0
je 0x456c05
mov ecx, dword [ebp - 0x8c]
call fcn.0044e3a0
mov esi, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xa0]
mov edx, dword [ebp - 0xa4]
mov ecx, dword [eax + esi*4]
add ecx, dword [ebp - 0xac]
mov edx, dword [edx + esi*4]
jmp 0x456c82
mov dword [eax + edx*4], 0
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x60]
mov edx, dword [ebp - 0x94]
inc edx
mov dword [ebp - 0x94], edx
cmp edx, dword [ebp - 0x9c]
jge 0x456b3f
mov eax, dword [ebp - 0x5c]
jmp 0x456ac0
mov ecx, dword [edx + ecx*4]
call fcn.00451db0
mov edx, dword [ebp - 0x8c]
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x98], eax
call fcn.0044eaa0
mov edx, dword [ebp - 0xb4]
lea eax, [ebp - 0x88]
mov ecx, dword [ebp - 0xa8]
push eax
mov eax, dword [ebp - 0xb0]
movzx eax, byte [eax + 0x1f]
push eax
mov eax, dword [ebp - 0xa0]
push dword [ebp - 0x98]
mov edx, dword [eax + edx*4]
call fcn.0044ef40
add esp, 0xc
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x455fdd
mov eax, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 0x90], ecx
mov edx, dword [eax + edx*4]
push dword [ebp - 0x8c]
call fcn.00451e90
mov eax, dword [ebp - 0x8c]
mov cl, byte [ebp - 0xec]
mov esi, dword [ebp - 0xdc]
mov byte [eax + 0x1f], cl
jmp 0x456cc5
mov esi, dword [ebp - 0xdc]
cmp byte [esi + edi*4 + 1], 0xf8
jne 0x456cc8
mov edx, dword [esi + edi*4 + 0x10]
mov ecx, dword [ebp - 0x8c]
push 0x800
call fcn.0044e9e0
add esp, 4
cmp dword [ebp - 0x64], 0
je 0x456d07
mov eax, dword [ebp - 0x8c]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov ecx, 0x200
mov eax, dword [ebp - 0x8c]
or word [eax + 0x1c], cx
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x84]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x64]
mov dword [eax + 0x24], ecx
mov ecx, dword [ebp - 0x8c]
call fcn.0044e150
mov edi, dword [ebp - 0xcc]
mov dword [ebp - 0xd0], eax
jmp 0x4552f2
mov ecx, 0xfc14
call fcn.00492f50
mov dword [ebp - 0xd0], eax
mov ebx, dword [ebp - 0xd4]
mov esi, dword [ebp - 0xdc]
jmp case.0x455018.17
mov dword [ebp - 0xc8], 0
jmp case.0x455018.17
mov ecx, dword [esi + edi*4 + 0x10]
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0xc8], ecx
mov eax, dword [esi + edi*4 + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov al, byte [ecx]
mov byte [ebp - 0xc4], al
test al, al
je 0x456dc7
mov ebx, 0x4000
mov edi, edi
inc ecx
mov dword [ebp - 0xc8], ecx
test word [esi + 0x1c], bx
je 0x456d9a
mov ecx, esi
call fcn.0044e1b0
mov al, byte [ebp - 0xc4]
push dword [ebp - 0xec]
mov dl, al
mov ecx, esi
call fcn.00454d70
mov ecx, dword [ebp - 0xc8]
add esp, 4
add esi, 0x28
mov al, byte [ecx]
mov byte [ebp - 0xc4], al
test al, al
jne 0x456d80
mov ebx, dword [ebp - 0xd4]
mov esi, dword [ebp - 0xdc]
inc ecx
mov edi, dword [ebp - 0xcc]
inc ebx
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xc8], ecx
jmp 0x454f74
xor edx, edx
xor ebx, ebx
mov dword [ebp - 0xb8], edx
xorps xmm0, xmm0
movlpd qword [ebp - 0xc0], xmm0
mov dword [ebp - 0xa8], ebx
mov eax, dword [esi + edi*4 + 4]
mov dword [ebp - 0x94], eax
mov ecx, dword [esi + edi*4 + 0x10]
mov dword [ebp - 0x90], ecx
lea eax, [eax + eax*4]
mov dword [ebp - 0xf4], ecx
mov ecx, dword [ebp - 0xe4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0x9c], ecx
mov eax, dword [esi + edi*4 + 8]
mov dword [ebp - 0x94], eax
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ebp - 0xd8]
add ecx, 0xffffffd8
mov dword [ebp - 0x98], ecx
movzx eax, byte [eax + 0x66]
mov dword [ebp - 0x8c], eax
mov eax, dword [esi + edi*4 + 0xc]
mov esi, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x9c]
mov esi, eax
mov dword [ebp - 0xc4], esi
cmp eax, ecx
ja 0x456f7c
mov edi, dword [ebp - 0xf4]
test edi, edi
je 0x456ecc
push dword [ebp - 0xec]
mov ecx, esi
sub ecx, eax
mov eax, 0x66666667
imul ecx
mov ecx, esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dl, byte [eax + edi]
call fcn.00454d70
mov ecx, dword [ebp - 0x90]
add esp, 4
mov ebx, dword [ebp - 0xa8]
mov esi, dword [ebp - 0xc4]
mov dword [ebp - 0xf4], ecx
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x456efc
cmp dword [esi + 0x18], 0
jle 0x456efc
mov ecx, esi
call fcn.0044e1b0
mov ecx, dword [ebp - 0x90]
mov ebx, dword [ebp - 0xa8]
mov esi, dword [ebp - 0xc4]
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0x8c]
mov ecx, esi
call fcn.00451cb0
mov ecx, eax
mov dword [ebp - 0xa0], ecx
call fcn.00451db0
mov edi, eax
cdq
add dword [ebp - 0xc0], eax
push 0
adc dword [ebp - 0xbc], edx
push ecx
mov dword [ebp - 0x84], edi
call fcn.00438500
mov edx, dword [ebp - 0xb8]
add esp, 8
add edx, eax
mov eax, 0x4000
mov dword [ebp - 0xb8], edx
test word [esi + 0x1c], ax
je 0x456f54
add ebx, dword [esi + 0x10]
jmp 0x456f5b
xor eax, eax
test edi, edi
cmovne ebx, eax
mov eax, dword [ebp - 0x9c]
add esi, 0x28
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xc4], esi
cmp esi, dword [ebp - 0x98]
jbe 0x456e82
mov eax, edx
cdq
push edx
push eax
call fcn.00438500
mov edi, dword [ebp - 0xb8]
mov esi, eax
add edi, esi
mov dword [ebp - 0xa4], esi
mov eax, edi
mov dword [ebp - 0xb8], edi
cdq
push edx
push eax
call fcn.00438500
add esp, 0x10
cmp esi, eax
jge 0x456fb4
inc edi
mov dword [ebp - 0xb8], edi
mov eax, ebx
cdq
mov ecx, eax
mov esi, edx
mov eax, edi
cdq
mov ebx, eax
mov edi, edx
mov eax, dword [ebp - 0xcc]
sub ebx, ecx
sbb edi, esi
add ebx, dword [ebp - 0xc0]
mov dword [ebp - 0xb0], ebx
adc edi, dword [ebp - 0xbc]
mov dword [ebp - 0xac], edi
mov eax, dword [eax + 0x48]
cdq
cmp edi, edx
jg 0x45af46
jl 0x456ffa
cmp ebx, eax
ja 0x45af46
mov edx, ebx
mov ebx, dword [ebp - 0xe8]
push 0
mov ecx, ebx
call fcn.0044e030
add esp, 4
test eax, eax
jne 0x45aca7
mov edx, dword [ebp - 0xb8]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0xc8], ecx
cmp edx, 0x80
jae 0x457038
mov al, dl
mov byte [ecx], al
mov eax, 1
jmp 0x45703d
call fcn.004382d0
mov ecx, dword [ebp - 0x98]
movzx esi, al
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x88], esi
mov dword [ebp - 0xc4], eax
cmp eax, ecx
ja 0x4570cd
lea esp, [esp]
mov edx, dword [ebp - 0x8c]
mov ecx, eax
call fcn.00451cb0
mov edx, eax
mov dword [ebp - 0xa0], edx
cmp edx, 0x80
jae 0x45708f
mov cl, al
mov eax, dword [ebp - 0xc8]
mov byte [esi + eax], cl
mov eax, 1
jmp 0x45709d
mov ecx, dword [ebp - 0xc8]
lea ecx, [esi + ecx]
call fcn.004382d0
mov esi, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x98]
movzx eax, al
add esi, eax
mov eax, dword [ebp - 0xc4]
add eax, 0x28
mov dword [ebp - 0x88], esi
mov dword [ebp - 0xc4], eax
cmp eax, ecx
jbe 0x457060
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xc4], eax
cmp eax, ecx
ja 0x457125
jmp 0x4570e0
mov ecx, dword [ebp - 0xc8]
push dword [ebp - 0x8c]
mov edx, dword [ebp - 0xb0]
push eax
sub edx, esi
lea ecx, [esi + ecx]
call fcn.00451dd0
mov esi, dword [ebp - 0x88]
add esp, 8
add esi, eax
mov eax, dword [ebp - 0xc4]
add eax, 0x28
mov dword [ebp - 0x88], esi
mov dword [ebp - 0xc4], eax
cmp eax, dword [ebp - 0x98]
jbe 0x4570e0
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xb0]
mov dword [ecx + 0x18], eax
mov eax, 0x410
mov word [ecx + 0x1c], ax
mov dword [ecx + 0x20], 0
mov eax, dword [ebp - 0xa8]
test eax, eax
je 0x45715a
mov dword [ecx + 0x10], eax
mov eax, 0x4410
mov word [ecx + 0x1c], ax
mov ebx, dword [ebp - 0xd4]
mov esi, dword [ebp - 0xdc]
inc ebx
mov edi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xe0]
mov byte [ecx + 0x1f], 1
jmp 0x454f74
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
mov dword [ebp - 0xc0], ecx
test ecx, ecx
je 0x4571c6
lea edx, [ebp - 0xc8]
call fcn.0044be50
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc8]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x14], eax
jmp case.0x455018.17
mov ecx, dword [ebp - 0xe8]
xorps xmm0, xmm0
movlpd qword [ebp - 0xc8], xmm0
mov eax, dword [ebp - 0xc8]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x14], eax
jmp case.0x455018.17
mov ebx, dword [esi + edi*4 + 4]
mov dword [ebp - 0xc8], ebx
mov eax, dword [esi + edi*4 + 0x10]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xc4], eax
test ebx, ebx
jne 0x4572c8
mov edi, dword [ebp - 0xcc]
cmp dword [edi + 0x90], ebx
jg 0x45ad6b
mov ecx, eax
call fcn.00437670
mov ecx, edi
mov dword [ebp - 0xc0], eax
lea edx, [eax + 0x19]
call fcn.00435760
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x4572b6
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0xc0]
inc eax
push eax
mov eax, dword [ebp - 0xbc]
push dword [ebp - 0xc4]
push dword [eax]
call fcn.004ad250
add esp, 0xc
cmp byte [edi + 0x1c], bl
je 0x457277
mov byte [edi + 0x1c], bl
mov byte [edi + 0x1e8], 1
jmp 0x45727d
inc dword [edi + 0x1e0]
mov eax, dword [ebp - 0xbc]
mov ecx, dword [edi + 0x1dc]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [edi + 0x1f0]
mov dword [edi + 0x1dc], eax
mov eax, dword [ebp - 0xbc]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [edi + 0x1f4]
mov dword [eax + 0xc], ecx
mov ebx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xe0]
inc ebx
jmp 0x454f74
mov ecx, dword [ebp - 0xcc]
xor edi, edi
mov dword [ebp - 0xb0], edi
mov esi, dword [ecx + 0x1dc]
mov dword [ebp - 0xb8], esi
test esi, esi
je 0x45adb5
mov ecx, dword [esi]
mov edx, eax
call fcn.00437880
test eax, eax
je 0x457309
mov eax, dword [ebp - 0xf4]
inc edi
mov dword [ebp - 0xb0], edi
mov esi, dword [esi + 0x10]
jmp 0x4572dc
mov eax, dword [ebp - 0xcc]
cmp dword [eax + 0x90], 0
jg 0x4574f8
cmp ebx, 2
jne 0x45732e
cmp dword [eax + 0x8c], 1
jg 0x4574f8
cmp dword [esi + 0x10], 0
jne 0x457394
cmp byte [eax + 0x1e8], 0
je 0x457394
mov dword [ebp - 0xf4], 1
cmp ebx, 1
jne 0x45739e
mov edx, ebx
mov ebx, dword [ebp - 0xd8]
mov ecx, ebx
call fcn.00451460
mov esi, eax
test esi, esi
jne 0x45ad41
mov edi, dword [ebp - 0xcc]
mov ecx, ebx
mov byte [edi + 0x1c], 1
call fcn.004514c0
cmp eax, 5
je 0x45ad9e
mov byte [edi + 0x1e8], 0
mov eax, dword [ebx + 0x5c]
mov dword [ebp - 0xd0], eax
jmp 0x45742e
mov dword [ebp - 0xf4], 0
mov ecx, dword [eax + 0x1e0]
xor eax, eax
sub ecx, edi
mov dword [ebp - 0xac], eax
mov edi, dword [ebp - 0xcc]
dec ecx
mov dword [ebp - 0xb0], ecx
cmp dword [edi + 4], eax
jle 0x45740a
push ecx
mov ecx, dword [edi + 8]
add eax, eax
mov edx, ebx
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00447640
mov ebx, eax
add esp, 4
mov dword [ebp - 0xd0], ebx
test ebx, ebx
jne 0x45ae5c
mov eax, dword [ebp - 0xac]
mov ebx, dword [ebp - 0xc8]
inc eax
mov dword [ebp - 0xac], eax
cmp eax, dword [edi + 4]
jge 0x457404
mov ecx, dword [ebp - 0xb0]
jmp 0x4573c0
mov esi, dword [ebp - 0xb8]
cmp ebx, 2
jne 0x45743a
test dword [edi + 0xc], 0x200
je 0x45743a
mov ecx, edi
call fcn.00452850
or edx, 0xffffffff
call fcn.00466fb0
or dword [edi + 0xc], 0x200
mov ebx, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xb8]
cmp dword [edi + 0x1dc], esi
je 0x45748e
jmp 0x457450
mov eax, dword [edi + 0x1dc]
mov dword [ebp - 0xb4], eax
mov eax, dword [eax + 0x10]
mov dword [edi + 0x1dc], eax
push dword [ebp - 0xb4]
push edi
call fcn.00435500
dec dword [edi + 0x1e0]
add esp, 8
mov esi, dword [ebp - 0xb8]
cmp dword [edi + 0x1dc], esi
jne 0x457450
mov ebx, dword [ebp - 0xc8]
cmp ebx, 1
jne 0x4574d5
mov eax, dword [esi + 0x10]
mov dword [edi + 0x1dc], eax
push dword [ebp - 0xb8]
push edi
call fcn.00435500
mov ebx, dword [ebp - 0xd4]
add esp, 8
cmp dword [ebp - 0xf4], 0
mov esi, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xd0]
jne 0x4552f2
dec dword [edi + 0x1e0]
jmp 0x4552f2
mov eax, dword [esi + 8]
mov ebx, dword [ebp - 0xd4]
mov dword [edi + 0x1f0], eax
mov eax, dword [esi + 0xc]
mov esi, dword [ebp - 0xdc]
mov dword [edi + 0x1f4], eax
jmp 0x4552ec
mov edi, dword [ebp - 0xcc]
cmp ebx, 2
mov ecx, str.release
mov eax, str.rollback
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0xd8]
push str.cannot__s_savepoint___SQL_statements_in_progress
add eax, 0x38
push edi
push eax
call fcn.00435910
mov ebx, dword [ebp - 0xd4]
add esp, 0x10
mov esi, dword [ebp - 0xdc]
mov eax, 5
mov dword [ebp - 0xd0], 5
jmp 0x4552f2
mov eax, dword [ebp - 0xcc]
mov ecx, dword [esi + edi*4 + 4]
add ecx, ecx
mov eax, dword [eax + 8]
mov ecx, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xc8], ecx
test ecx, ecx
je case.0x455018.17
mov edx, dword [esi + edi*4 + 8]
call fcn.00446490
mov dword [ebp - 0xd0], eax
cmp eax, 5
je 0x45adeb
test eax, eax
jne 0x45ae50
cmp dword [esi + edi*4 + 8], eax
mov edi, dword [ebp - 0xcc]
je 0x4552f2
mov ecx, dword [ebp - 0xd8]
cmp byte [ecx + 0x68], al
je 0x4552f2
cmp byte [edi + 0x1c], al
je 0x4575b9
cmp dword [edi + 0x8c], 1
jle 0x4552f2
mov eax, ecx
cmp dword [eax + 0x78], 0
jne 0x4575d8
mov eax, dword [edi + 0x1e0]
inc dword [edi + 0x1e4]
add eax, dword [edi + 0x1e4]
mov dword [ecx + 0x78], eax
mov eax, ecx
mov edx, dword [eax + 0x78]
mov ecx, dword [ebp - 0xc8]
call fcn.004475f0
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xd0], eax
mov eax, dword [edi + 0x1f0]
mov dword [ecx + 0x98], eax
mov eax, dword [edi + 0x1f4]
mov dword [ecx + 0x9c], eax
jmp 0x4552ec
mov eax, dword [esi + edi*4 + 4]
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0xc4], eax
add eax, eax
mov edx, dword [esi + edi*4 + 0xc]
mov edi, dword [ebp - 0xcc]
mov dword [ebp - 0xc0], edx
push ecx
mov ecx, dword [edi + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0044bd40
mov eax, dword [ebp - 0xc8]
add esp, 4
mov ecx, dword [ebp - 0xe8]
inc ebx
cdq
mov dword [ecx + 0x14], edx
mov edx, dword [ebp - 0xe0]
mov dword [ecx + 0x10], eax
jmp 0x454f74
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xcc]
shl eax, 4
add eax, dword [ecx + 8]
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xc8], eax
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0044e5f0
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xc8]
push dword [esi + 0x10]
mov edx, dword [eax + edi*4 + 8]
mov ecx, dword [ecx + 4]
call fcn.0044bdb0
mov dword [ebp - 0xd0], eax
add esp, 4
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + edi*4 + 8]
cmp eax, 1
jne 0x4576dd
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 0x10]
mov dword [ecx], eax
mov eax, dword [ebp - 0xcc]
or dword [eax + 0xc], 0x200
jmp 0x4576f1
cmp eax, 2
jne 0x4576f1
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 0xc]
mov al, byte [esi + 0x10]
mov byte [ecx + 0x4c], al
mov esi, dword [ebp - 0xdc]
cmp dword [esi + edi*4 + 4], 1
mov edi, dword [ebp - 0xcc]
jne 0x4552ec
mov ecx, edi
call fcn.00452850
mov eax, dword [ebp - 0xd8]
mov byte [eax + 0x64], 0
jmp 0x4552ec
mov edx, dword [ebp - 0xcc]
mov ecx, dword [esi + edi*4 + 4]
add ecx, ecx
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xc0], ecx
test ecx, ecx
je 0x45776d
lea eax, [ebp - 0xc8]
mov edx, 1
push eax
call fcn.0044bd40
mov edx, dword [ebp - 0xcc]
add esp, 4
mov ecx, dword [esi + edi*4 + 4]
add ecx, ecx
mov eax, dword [edx + 8]
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [ebp - 0xc8]
mov eax, dword [eax + 4]
jmp 0x457777
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], eax
cmp ecx, dword [esi + edi*4 + 8]
jne 0x45778d
cmp eax, dword [esi + edi*4 + 0xc]
je case.0x455018.17
mov eax, dword [ebp - 0xd8]
push dword [eax + 0x38]
push edx
call fcn.00435500
mov ecx, dword [ebp - 0xcc]
add esp, 8
mov edx, str.database_schema_has_changed
call fcn.00435880
mov ecx, dword [ebp - 0xd8]
mov dword [ecx + 0x38], eax
mov edx, dword [esi + edi*4 + 4]
mov ecx, edx
mov edi, dword [ebp - 0xcc]
add ecx, ecx
mov eax, dword [edi + 8]
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xc8]
je 0x4577de
mov ecx, edi
call fcn.00466fb0
mov eax, dword [ebp - 0xd8]
mov byte [eax + 0x64], 1
mov eax, 0x11
mov dword [ebp - 0xd0], eax
jmp 0x4552f2
mov eax, dword [ebp - 0xd8]
cmp byte [eax + 0x64], 0
jne 0x45ae1b
mov eax, dword [ebp - 0xcc]
xor ecx, ecx
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], ecx
mov ebx, dword [esi + edi*4 + 8]
mov dword [ebp - 0xc0], ebx
mov esi, dword [esi + edi*4 + 0xc]
mov edx, esi
mov dword [ebp - 0xbc], esi
shl edx, 4
add edx, dword [eax + 8]
mov dword [ebp - 0xac], edx
mov eax, dword [edx + 4]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xdc]
cmp byte [eax + edi*4], 0x27
jne 0x457873
mov dword [ebp - 0xb8], 1
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0xd8]
mov al, byte [eax + 0x4c]
cmp al, byte [edx + 0x66]
jae 0x457879
mov byte [edx + 0x66], al
jmp 0x457879
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0xdc]
cmp byte [edx + edi*4 + 3], cl
je 0x4578bc
mov ecx, dword [ebp - 0xe4]
lea eax, [ebx + ebx*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0044e5f0
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xc0], eax
cmp eax, 2
jl 0x45ae07
mov esi, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xdc]
mov al, byte [edx + edi*4 + 1]
cmp al, 0xfa
jne 0x4578f5
mov eax, dword [ebp - 0xd8]
mov ecx, dword [edx + edi*4 + 0x10]
mov dword [ebp - 0xc4], ecx
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xc4]
mov esi, dword [ebp - 0xbc]
movzx ecx, word [eax + 6]
inc ecx
jmp 0x4578fd
cmp al, 0xf2
jne 0x457903
mov ecx, dword [edx + edi*4 + 0x10]
mov dword [ebp - 0xc8], ecx
push 1
push esi
mov esi, dword [ebp - 0xdc]
push ecx
mov ecx, dword [ebp - 0xd8]
mov edx, dword [esi + edi*4 + 4]
call fcn.00454be0
add esp, 0xc
mov dword [ebp - 0xb0], eax
test eax, eax
je 0x45aca7
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xb0]
mov byte [eax + 0x20], 1
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xb4]
push dword [eax]
push dword [ebp - 0xc4]
push dword [ebp - 0xb8]
call fcn.00447770
mov ecx, dword [ebp - 0xb0]
mov ebx, eax
mov eax, dword [ebp - 0xc4]
add esp, 0xc
mov dword [ebp - 0xd0], ebx
mov dword [ecx + 8], eax
cmp ebx, 0x10
jne 0x457995
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xd0], 0
mov dword [eax], 0
cmp byte [esi + edi*4 + 1], 0xfa
mov eax, dword [ebp - 0xb0]
setne cl
mov byte [eax + 0x1e], cl
mov ecx, dword [ebp - 0xb0]
cmp byte [ecx + 0x1e], 0
sete al
mov byte [ecx + 0x1f], al
mov ebx, dword [ebp - 0xd4]
jmp case.0x455018.17
mov edx, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xd8]
push 1
push 0xffffffffffffffff
push dword [esi + edi*4 + 8]
call fcn.00454be0
add esp, 0xc
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x45aca7
mov edx, dword [ebp - 0xcc]
xor ecx, ecx
mov byte [eax + 0x1c], 1
movzx eax, byte [esi + edi*4 + 3]
or eax, 9
push 0x41e
push eax
mov eax, dword [ebp - 0xc8]
add eax, 4
push eax
call fcn.004456b0
add esp, 0xc
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x457af0
mov ecx, dword [ebp - 0xc8]
lea edx, [eax + 1]
mov ecx, dword [ecx + 4]
call fcn.00446490
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x457af0
mov ecx, dword [ebp - 0xc8]
cmp dword [esi + edi*4 + 0x10], eax
je 0x457aca
mov ecx, dword [ecx + 4]
lea edx, [ebp - 0x110]
push 2
call fcn.0044b850
add esp, 4
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x457abe
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0x110]
push dword [ecx]
mov ecx, dword [ecx + 4]
push dword [esi + edi*4 + 0x10]
push 1
call fcn.00447770
mov ecx, dword [esi + edi*4 + 0x10]
add esp, 0xc
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc8]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 8]
mov al, byte [edx + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1e], 0
jmp 0x457af0
push dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, 1
push 0
push 1
call fcn.00447770
mov dword [ebp - 0xd0], eax
add esp, 0xc
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1e], 1
cmp byte [esi + edi*4 + 3], 0x10
mov eax, dword [ebp - 0xc8]
setne cl
mov byte [eax + 0x20], cl
mov ecx, dword [ebp - 0xc8]
cmp byte [ecx + 0x1e], 0
sete al
jmp 0x4552e3
mov edx, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xd8]
push 0
push 0xffffffffffffffff
push dword [esi + edi*4 + 0xc]
call fcn.00454be0
add esp, 0xc
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x45aca7
mov edx, dword [ebp - 0xe0]
inc ebx
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xc8]
mov ecx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xcc]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1e], 1
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1f], 0
jmp 0x454f74
mov ecx, dword [ebp - 0xd8]
mov eax, dword [esi + edi*4 + 4]
mov edx, dword [ecx + 0x44]
mov edx, dword [edx + eax*4]
call fcn.00450a10
mov eax, dword [ebp - 0xd8]
inc ebx
mov ecx, dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xe0]
mov eax, dword [eax + 0x44]
mov dword [eax + ecx*4], 0
jmp 0x454f74
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc0], ecx
cmp dword [ecx], 0
je 0x457c30
movzx eax, byte [esi + edi*4]
mov dword [ebp - 0xc4], eax
mov byte [ecx + 0x1c], 0
mov ecx, dword [ebp - 0xc0]
cmp byte [ecx + 0x1e], 0
je 0x457de6
mov eax, dword [esi + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov ecx, ebx
mov dword [ebp - 0x100], ebx
call fcn.00454ce0
mov ecx, ebx
call fcn.0044e440
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x94], edx
mov byte [eax + 0x19], 0
movzx eax, word [ebx + 0x1c]
test al, 4
jne 0x457d68
test al, 8
jne 0x457c45
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
mov ebx, dword [ebp - 0x98]
mov esi, dword [ebp - 0x94]
test ebx, ebx
jne 0x457d00
cmp esi, 0x80000000
jne 0x457d00
mov edx, esi
xor ecx, ecx
call fcn.004ddd5f
mov eax, dword [ebp - 0x100]
movsd xmm1, qword [eax + 8]
comisd xmm0, xmm1
xorps xmm0, xmm0
ja 0x457c88
comisd xmm1, xmm0
jbe 0x457d00
mov dword [ebp - 0xc8], 1
comisd xmm0, xmmword [eax + 8]
jbe 0x457cb7
cmp dword [ebp - 0xc4], 0x2e
jl 0x457cf0
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0xc8]
mov ecx, dword [ecx]
call fcn.00448350
jmp 0x457cd3
cmp dword [ebp - 0xc4], 0x2d
jg 0x457cf0
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0xc8]
mov ecx, dword [ecx]
call fcn.00448380
mov ebx, eax
mov dword [ebp - 0xd0], ebx
test ebx, ebx
jne 0x45ae56
cmp dword [ebp - 0xc8], 0
je 0x456d33
mov esi, dword [ebp - 0xdc]
mov ebx, dword [esi + edi*4 + 8]
dec ebx
jmp case.0x455018.17
mov eax, dword [ebp - 0xc4]
cmp eax, 0x2c
je 0x457d3a
cmp eax, 0x2e
je 0x457d3a
mov edx, esi
mov ecx, ebx
call fcn.004ddd5f
mov eax, dword [ebp - 0x100]
comisd xmm0, xmmword [eax + 8]
jbe 0x457d74
add ebx, 0xffffffff
mov dword [ebp - 0x98], ebx
adc esi, 0xffffffff
mov dword [ebp - 0x94], esi
jmp 0x457d74
mov edx, esi
mov ecx, ebx
call fcn.004ddd5f
mov eax, dword [ebp - 0x100]
movsd xmm1, qword [eax + 8]
comisd xmm1, xmm0
jbe 0x457d74
add ebx, 1
mov dword [ebp - 0x98], ebx
adc esi, 0
mov dword [ebp - 0x94], esi
jmp 0x457d74
mov esi, dword [ebp - 0x94]
mov ebx, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xc0]
lea eax, [ebp - 0xc8]
push eax
push 0
push esi
mov ecx, dword [ecx]
xor edx, edx
push ebx
call fcn.004483d0
mov ebx, eax
add esp, 0x10
mov dword [ebp - 0xd0], ebx
test ebx, ebx
jne 0x45ae56
mov ebx, dword [ebp - 0xd4]
mov esi, dword [ebp - 0xdc]
cmp dword [ebp - 0xc8], eax
jne 0x457e7d
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x19], 1
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x98]
mov dword [eax + 0x40], ecx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x94]
mov dword [eax + 0x44], ecx
jmp 0x457e7d
mov eax, dword [esi + edi*4 + 0x10]
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0xa0], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0xb8], eax
mov ax, word [ebp - 0xa0]
mov word [ebp - 0xb4], ax
mov eax, dword [ebp - 0xc4]
and eax, 1
shl eax, 3
mov word [ebp - 0xb2], ax
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, 0x4000
mov dword [ebp - 0xa8], eax
test word [eax + 0x1c], dx
je 0x457e48
mov ecx, eax
call fcn.0044e1b0
mov ecx, dword [ebp - 0xc0]
mov ecx, dword [ecx]
lea eax, [ebp - 0xc8]
push eax
push 0
push 0
push 0
lea edx, [ebp - 0xb8]
call fcn.004483d0
add esp, 0x10
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x45ae50
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xc0]
mov dword [eax + 0x4c], 0
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc8]
cmp eax, 0x2e
jl 0x457eeb
test ecx, ecx
js 0x457ecc
jne 0x457eb0
cmp eax, 0x2f
je 0x457ecc
mov edi, dword [ebp - 0xcc]
inc ebx
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xc8], 0
jmp 0x454f74
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0xc8]
mov ecx, dword [ecx]
call fcn.004487a0
mov ecx, eax
mov dword [ebp - 0xd0], ecx
test ecx, ecx
jmp 0x457f2a
test ecx, ecx
jg 0x457f0f
jne 0x457ef6
cmp eax, 0x2c
je 0x457f0f
mov eax, dword [ebp - 0xc0]
xor ecx, ecx
mov eax, dword [eax]
cmp byte [eax + 0x53], 1
setne cl
mov dword [ebp - 0xc8], ecx
jmp 0x457f3a
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0xc8]
mov ecx, dword [ecx]
call fcn.00448930
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x45ae50
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x19], 0
cmp dword [ebp - 0xc8], 0
je 0x457f48
mov ebx, dword [esi + edi*4 + 8]
dec ebx
mov edi, dword [ebp - 0xcc]
inc ebx
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc8], eax
cmp dword [eax], 0
je 0x457f48
mov ecx, dword [ebp - 0xe4]
mov byte [eax + 0x1c], 0
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.0044e440
mov ecx, dword [ebp - 0xc8]
inc ebx
mov edi, dword [ebp - 0xcc]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xe0]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1d], 1
jmp 0x454f74
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dword [ebp - 0xc8], edx
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc4], ecx
mov eax, dword [esi + edi*4 + 0xc]
mov esi, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
cmp dword [ecx], edx
je 0x4580eb
mov edx, dword [ebp - 0xdc]
cmp dword [edx + edi*4 + 0x10], 0
jle 0x45803e
mov eax, dword [ecx + 8]
mov dword [ebp - 0xb8], eax
mov ax, word [edx + edi*4 + 0x10]
lea edx, [ebp - 0xb8]
mov word [ebp - 0xb4], ax
mov eax, 0x10
mov dword [ebp - 0xa8], esi
mov word [ebp - 0xb2], ax
mov dword [ebp - 0xbc], edx
jmp 0x45807a
mov edx, dword [esi + 0x18]
lea eax, [ebp - 0xa0]
mov ecx, dword [ecx + 8]
push 0x97
push eax
push dword [esi + 4]
call fcn.004520e0
add esp, 0xc
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x45aca7
or word [eax + 6], 0x10
mov edx, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xc4]
mov ecx, dword [ecx]
lea eax, [ebp - 0xc0]
push eax
push 0
push 0
push 0
call fcn.004483d0
mov esi, dword [ebp - 0xdc]
add esp, 0x10
mov dword [ebp - 0xd0], eax
cmp dword [esi + edi*4 + 0x10], 0
jne 0x4580b5
mov ecx, dword [ebp - 0xbc]
call fcn.00452270
mov eax, dword [ebp - 0xd0]
test eax, eax
jne 0x455529
cmp dword [ebp - 0xc0], eax
sete al
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x4c], 0
mov edx, dword [ebp - 0xc8]
jmp 0x4580f1
mov esi, dword [ebp - 0xdc]
cmp byte [esi + edi*4], 0x32
jne 0x4580fe
test edx, edx
jmp 0x457f41
test edx, edx
jne 0x457f48
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xcc]
dec ebx
mov edx, dword [ebp - 0xe0]
inc ebx
jmp 0x454f74
mov eax, dword [esi + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [esi + edi*4 + 0x10]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xb8], eax
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc4], eax
mov dword [eax + 0x48], 0
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x4c], 0
mov ecx, dword [ebp - 0xc4]
mov esi, dword [ebp - 0xb8]
mov eax, dword [ecx]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xf4], eax
mov eax, dword [ecx + 8]
xor ecx, ecx
mov dx, word [eax + 6]
xor eax, eax
mov word [ebp - 0xbc], dx
mov word [ebp - 0xc8], cx
cmp ax, dx
jae 0x4581bf
nop
movzx eax, cx
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x1c], 1
jne 0x458280
inc cx
mov word [ebp - 0xc8], cx
cmp cx, dx
jb 0x4581a0
cmp dword [ebp - 0xf4], 0
je 0x456d33
mov eax, dword [ebp - 0xc4]
mov ecx, ebx
mov eax, dword [eax + 8]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xbc]
inc eax
mov dword [ebp - 0xa0], esi
mov word [ebp - 0xac], ax
mov eax, 0x20
mov word [ebp - 0xaa], ax
call fcn.0044e5f0
mov eax, dword [ebx + 0x10]
lea edx, [ebp - 0xb0]
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0x98], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0xc4]
add eax, 0x48
push eax
push 0
push 0
push 0
call fcn.004483d0
add esp, 0x10
mov dword [ebp - 0xd0], eax
test byte [ebp - 0xaa], 0x20
jne 0x4582a0
mov ecx, dword [ebp - 0xa8]
cmp ecx, dword [ebp - 0x98]
jne 0x458263
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0x94]
je 0x45829a
mov esi, dword [ebp - 0xdc]
mov dword [ebx + 0x10], ecx
mov eax, dword [ebp - 0xa4]
mov dword [ebx + 0x14], eax
mov ebx, dword [ebp - 0xd4]
jmp case.0x455018.17
mov esi, dword [ebp - 0xdc]
mov ebx, dword [esi + edi*4 + 8]
dec ebx
mov dword [ebp - 0xc0], 0
jmp case.0x455018.17
mov eax, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xdc]
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xcc]
dec ebx
jmp 0x4552f2
mov eax, dword [esi + edi*4 + 0xc]
mov ecx, dword [esi + edi*4 + 4]
lea ebx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc8], eax
mov esi, dword [eax]
mov dword [ebp - 0xc4], esi
test esi, esi
je 0x4583a7
mov eax, dword [ebp - 0xe4]
lea edx, [ebp - 0xc0]
push edx
mov dword [ebp - 0xc0], 0
xor edx, edx
push 0
mov ecx, dword [eax + ebx*8 + 0x10]
mov dword [ebp - 0xb8], ecx
mov eax, dword [eax + ebx*8 + 0x14]
push eax
push ecx
mov ecx, esi
mov dword [ebp - 0xb4], eax
call fcn.004483d0
mov edx, dword [ebp - 0xe4]
add esp, 0x10
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xdc]
mov ecx, dword [edx + ebx*8 + 0x10]
mov dword [eax + 0x40], ecx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [edx + ebx*8 + 0x14]
mov dword [eax + 0x44], ecx
cmp dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0xc8]
sete cl
mov byte [eax + 0x19], cl
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1c], 0
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x4c], 0
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1d], 0
mov ecx, dword [ebp - 0xc0]
test ecx, ecx
je 0x458393
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xc8]
mov ebx, dword [ebp - 0xd4]
mov dword [eax + 0x48], ecx
jmp case.0x455018.17
mov esi, dword [ebp - 0xdc]
mov ebx, dword [esi + edi*4 + 8]
dec ebx
mov dword [eax + 0x48], 0
jmp case.0x455018.17
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x30]
mov dword [edx + 0x10], eax
mov eax, dword [ecx + 0x34]
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xe0]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
inc ebx
jmp 0x454f74
mov eax, dword [ebp - 0xd8]
xorps xmm0, xmm0
movlpd qword [ebp - 0xc8], xmm0
mov dword [ebp - 0xbc], 0
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0xc0], esi
mov ecx, dword [esi]
test ecx, ecx
je 0x458747
cmp byte [esi + 0x1b], 0
jne 0x458620
mov edx, dword [ecx + 0x18]
mov eax, edx
mov dword [ebp - 0xc8], edx
mov ecx, dword [ecx + 0x1c]
or eax, ecx
mov dword [ebp - 0xc4], ecx
jne 0x4584eb
mov ecx, dword [esi]
lea edx, [ebp - 0xbc]
call fcn.00448380
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x45ae50
cmp dword [ebp - 0xbc], eax
je 0x458489
lea edx, [eax + 1]
xor ecx, ecx
jmp 0x4584d9
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0xc8]
mov ecx, dword [ecx]
call fcn.00447900
mov edx, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xd0], eax
cmp edx, 0xffffffff
jne 0x4584d3
cmp ecx, 0x7fffffff
jne 0x4584d3
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x1b], 1
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc8]
jmp 0x4584e5
add edx, 1
adc ecx, 0
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc8], edx
mov esi, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + edi*4 + 0xc]
test eax, eax
je 0x4585d6
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0xa8]
test edx, edx
je 0x458544
mov dword [ebp - 0xb0], edx
mov eax, dword [edx + 0x3c]
test eax, eax
je 0x45852f
lea ebx, [ebx]
mov edx, eax
mov dword [ebp - 0xb0], edx
mov eax, dword [edx + 0x3c]
test eax, eax
jne 0x458520
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + edi*4 + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea ecx, [eax + ecx*8]
jmp 0x458550
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xb4], ecx
call fcn.0044e5f0
mov esi, dword [ebp - 0xb4]
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
cmp edx, 0xffffffff
jne 0x458578
cmp ecx, 0x7fffffff
je 0x45ae36
mov eax, dword [ebp - 0xc0]
cmp byte [eax + 0x1b], 0
jne 0x45ae36
add edx, 1
adc ecx, 0
cmp dword [ebp - 0xc4], ecx
jg 0x4585b2
jl 0x4585a2
mov eax, dword [ebp - 0xc8]
cmp eax, edx
jae 0x4585b8
mov eax, edx
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc8], eax
jmp 0x4585b8
mov eax, dword [ebp - 0xc8]
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0xc4]
mov dword [esi + 0x14], eax
mov esi, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc8]
cmp ecx, 0x7fffffff
jg 0x4585ed
jl 0x4585e5
cmp edx, 0xffffffff
jae 0x4585ed
add edx, 1
adc ecx, 0
jmp 0x458604
xorps xmm0, xmm0
movlpd qword [ebp - 0xf8], xmm0
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf8]
push ecx
mov ecx, dword [esi]
push edx
call fcn.004477c0
mov esi, dword [ebp - 0xc0]
add esp, 8
cmp byte [esi + 0x1b], 0
je 0x45872c
mov edi, dword [ebp - 0xcc]
lea edx, [ebp - 0xbc]
push edx
push 0
mov eax, dword [edi + 0x34]
mov ecx, dword [edi + 0x30]
and eax, 0x3fffffff
add ecx, 1
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xc8], ecx
adc eax, 0
xor edx, edx
push eax
mov dword [ebp - 0xc4], eax
push ecx
mov ecx, dword [esi]
call fcn.004483d0
mov edx, eax
add esp, 0x10
mov dword [ebp - 0xd0], edx
test edx, edx
jne 0x458726
jmp 0x458680
mov ecx, dword [ebp - 0xbc]
test ecx, ecx
jne 0x45871a
mov eax, dword [ebp - 0xb8]
inc eax
mov dword [ebp - 0xb8], eax
cmp eax, 0x64
jge 0x45871a
lea eax, [ebp - 0xc8]
push eax
push 8
call fcn.00436ea0
mov eax, dword [ebp - 0xc8]
add esp, 8
cmp dword [ebp - 0xb8], 5
jge 0x4586cd
and eax, 0xffffff
xor ecx, ecx
jmp 0x4586d9
mov ecx, dword [ebp - 0xc4]
and ecx, 0x3fffffff
add eax, 1
lea edx, [ebp - 0xbc]
push edx
adc ecx, 0
mov dword [ebp - 0xc8], eax
push 0
push ecx
mov dword [ebp - 0xc4], ecx
xor edx, edx
mov ecx, dword [ebp - 0xc0]
push eax
mov ecx, dword [ecx]
call fcn.004483d0
mov edx, eax
add esp, 0x10
mov dword [ebp - 0xd0], edx
test edx, edx
je 0x458680
jmp 0x458726
test edx, edx
jne 0x458726
test ecx, ecx
je 0x45ae43
mov esi, dword [ebp - 0xc0]
mov byte [esi + 0x19], 0
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xc0]
mov dword [eax + 0x4c], 0
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xdc]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x14], eax
jmp case.0x455018.17
mov eax, dword [esi + edi*4 + 8]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], esi
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ebx, dword [eax + ecx*4]
mov dword [ebp - 0xb8], ebx
cmp byte [edx + edi*4], 0x37
mov eax, dword [edx + edi*4 + 0xc]
jne 0x4587cc
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xc4], eax
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xc0], ecx
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xbc], eax
jmp 0x4587e1
cdq
mov ecx, eax
mov dword [ebp - 0xbc], edx
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xc0], ecx
test byte [edx + edi*4 + 3], 1
je 0x4587f1
mov eax, dword [ebp - 0xd8]
inc dword [eax + 0x6c]
test byte [edx + edi*4 + 3], 2
je 0x458816
mov ebx, dword [ebp - 0xcc]
mov dword [ebx + 0x30], ecx
mov eax, dword [ebp - 0xbc]
mov dword [ebx + 0x34], eax
mov ebx, dword [ebp - 0xb8]
mov esi, dword [ebp - 0xc8]
test byte [esi + 0x1c], 1
je 0x45883c
mov dword [esi + 4], 0
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x18], 0
mov ebx, dword [ebp - 0xb8]
mov esi, dword [ebp - 0xc8]
test byte [edx + edi*4 + 3], 0x10
je 0x45884e
mov eax, dword [ebx + 0x48]
mov dword [ebp - 0xb0], eax
jmp 0x458858
mov dword [ebp - 0xb0], 0
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x45886e
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xb4], eax
jmp 0x458878
mov dword [ebp - 0xb4], 0
mov ecx, dword [ebx]
push 0
push 0
call fcn.004477c0
push dword [ebp - 0xb0]
mov esi, dword [ebp - 0xdc]
xor edx, edx
mov ecx, dword [ebp - 0xb8]
movzx eax, byte [esi + edi*4 + 3]
mov ecx, dword [ecx]
and eax, 8
push eax
push dword [ebp - 0xb4]
mov eax, dword [ebp - 0xc8]
push dword [eax + 0x18]
push dword [eax + 4]
push dword [ebp - 0xbc]
push dword [ebp - 0xc0]
call fcn.0044b150
mov ebx, eax
add esp, 0x24
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xd0], ebx
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xb8]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xb8]
mov dword [eax + 0x4c], 0
test ebx, ebx
jne 0x4579b6
mov edx, dword [ebp - 0xcc]
cmp dword [edx + 0xbc], ebx
je 0x45ab08
cmp dword [esi + edi*4 + 0x10], ebx
je 0x45ab08
mov eax, dword [ebp - 0xb8]
mov ebx, 0x17
push dword [ebp - 0xbc]
push dword [ebp - 0xc0]
mov ecx, dword [eax + 0xc]
mov eax, dword [edx + 8]
add ecx, ecx
mov edx, dword [eax + ecx*8]
mov eax, 0x12
mov dword [ebp - 0xac], edx
mov ecx, dword [esi + edi*4 + 0x10]
mov dword [ebp - 0xa8], ecx
test byte [esi + edi*4 + 3], 4
mov edi, dword [ebp - 0xcc]
push ecx
cmovne eax, ebx
push edx
push eax
mov dword [ebp - 0xa4], eax
push dword [edi + 0xb8]
mov eax, dword [edi + 0xbc]
call eax
mov ebx, dword [ebp - 0xd4]
add esp, 0x18
jmp 0x4552ec
mov eax, dword [ebp - 0xd8]
xorps xmm0, xmm0
movlpd qword [ebp - 0xc8], xmm0
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xc0], ecx
cmp dword [eax + 0xbc], 0
je 0x4589c8
cmp dword [esi + edi*4 + 0x10], 0
je 0x4589c8
mov eax, dword [ecx + 0x40]
mov dword [ebp - 0xc8], eax
mov eax, dword [ecx + 0x44]
mov dword [ebp - 0xc4], eax
call fcn.00451c10
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x45ae50
mov ecx, dword [ebp - 0xc0]
push eax
push eax
mov ecx, dword [ecx]
call fcn.004477c0
mov ecx, dword [ebp - 0xc0]
add esp, 8
mov ecx, dword [ecx]
call fcn.0044b350
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc0]
mov dword [eax + 0x4c], 0
mov eax, dword [ebp - 0xd0]
test eax, eax
jne 0x458a6c
mov eax, dword [ebp - 0xcc]
mov edx, dword [eax + 0xbc]
test edx, edx
je 0x458a66
mov eax, dword [esi + edi*4 + 0x10]
test eax, eax
je 0x458a66
push dword [ebp - 0xc4]
push dword [ebp - 0xc8]
push eax
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xcc]
add ecx, ecx
mov eax, dword [eax + 8]
push dword [eax + ecx*8]
mov eax, dword [ebp - 0xcc]
push 9
push dword [eax + 0xb8]
call edx
add esp, 0x18
mov eax, dword [ebp - 0xd0]
test byte [esi + edi*4 + 8], 1
je 0x455529
mov edi, dword [ebp - 0xd8]
inc dword [edi + 0x6c]
mov edi, dword [ebp - 0xcc]
jmp 0x4552f2
mov eax, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xe0]
mov eax, dword [eax + 0x6c]
add dword [edi + 0x40], eax
inc ebx
mov dword [edi + 0x3c], eax
mov eax, dword [ebp - 0xd8]
mov dword [eax + 0x6c], 0
jmp 0x454f74
mov eax, dword [esi + edi*4 + 8]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, dword [esi + edi*4 + 4]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xc4], eax
call fcn.00451c10
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x45ae50
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xc4]
cmp byte [eax + 0x1f], 0
je 0x458b4b
lea edx, [ebp - 0xb8]
call fcn.00447900
mov edi, dword [ebp - 0xcc]
mov eax, dword [edi + 0x48]
cdq
cmp dword [ebp - 0xb4], edx
jg 0x45af4c
mov edx, dword [ebp - 0xb8]
jl 0x458b43
cmp edx, eax
ja 0x45af4c
mov dword [ebp - 0xc0], edx
jmp 0x458b6b
lea edx, [ebp - 0xc0]
call fcn.00447990
mov edi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xc0]
cmp edx, dword [edi + 0x48]
ja 0x45af4c
mov ecx, dword [ebp - 0xe8]
push 0
call fcn.0044e030
add esp, 4
test eax, eax
jne 0x45acad
mov ecx, dword [ebp - 0xe8]
mov edx, 0xbf10
mov eax, dword [ebp - 0xc0]
mov dword [ecx + 0x18], eax
mov ax, word [ecx + 0x1c]
and ax, dx
or ax, 0x10
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x1f], 0
je 0x458be2
push 0
push dword [ecx + 4]
mov ecx, dword [ebp - 0xc4]
xor edx, edx
push dword [ebp - 0xc0]
call fcn.00447ba0
mov ecx, dword [ebp - 0xe8]
add esp, 0xc
mov dword [ebp - 0xd0], eax
mov byte [ecx + 0x1f], 1
jmp 0x4552f2
push dword [ecx + 4]
push dword [ebp - 0xc0]
push 0
push dword [ebp - 0xc4]
call fcn.00447f10
mov ecx, dword [ebp - 0xe8]
add esp, 0x10
mov dword [ebp - 0xd0], eax
mov byte [ecx + 0x1f], 1
jmp 0x4552f2
mov ecx, dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xd8]
mov eax, dword [edi + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc8], ecx
cmp byte [ecx + 0x1c], 0
je 0x458c47
mov edi, dword [ebp - 0xcc]
mov eax, 1
mov word [edx + 0x1c], ax
inc ebx
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
cmp byte [ecx + 0x1d], 0
je 0x458c7c
mov eax, dword [ecx + 0x38]
mov dword [ebp - 0xc0], eax
mov eax, dword [ecx + 0x3c]
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xc0]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xbc]
mov dword [ecx + 0x14], eax
jmp case.0x455018.17
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x458cd5
mov eax, dword [eax]
lea edx, [ebp - 0xc0]
mov dword [ebp - 0xb8], eax
push edx
mov eax, dword [eax]
mov dword [ebp - 0xb4], eax
push dword [ecx + 0x24]
mov eax, dword [eax + 0x30]
call eax
mov edx, dword [ebp - 0xb8]
add esp, 8
mov ecx, edi
mov dword [ebp - 0xd0], eax
call fcn.00454e20
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xc0]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xbc]
mov dword [ecx + 0x14], eax
jmp case.0x455018.17
call fcn.00451c10
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x45ae50
mov ecx, dword [ebp - 0xc8]
cmp byte [ecx + 0x19], al
je 0x458d22
mov eax, dword [ecx + 0x40]
mov dword [ebp - 0xc0], eax
mov eax, dword [ecx + 0x44]
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xc0]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xbc]
mov dword [ecx + 0x14], eax
jmp case.0x455018.17
mov ecx, dword [ecx]
lea edx, [ebp - 0xc0]
call fcn.00447900
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc0]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xbc]
mov dword [ecx + 0x14], eax
jmp case.0x455018.17
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc8], eax
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
test ecx, ecx
je 0x457f48
call fcn.004444a0
mov edi, dword [ebp - 0xcc]
inc ebx
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xc4], eax
test eax, eax
jne 0x458dcb
mov dword [ebp - 0xc0], 1
jmp 0x458de4
lea edx, [ebp - 0xc0]
mov ecx, eax
call fcn.00448380
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xd0], eax
mov al, byte [ebp - 0xc0]
mov byte [ecx + 0x1c], al
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x4c], 0
mov eax, dword [esi + edi*4 + 8]
test eax, eax
jle case.0x455018.17
cmp dword [ebp - 0xc0], 0
mov edi, dword [ebp - 0xcc]
je 0x4552ec
lea ebx, [eax - 1]
jmp 0x4552ec
mov eax, dword [ebp - 0xd8]
inc dword [eax + 0x80]
jmp 0x458e49
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc0], 1
mov eax, dword [ecx]
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x458ebc
lea edx, [ebp - 0xc0]
mov ecx, eax
call fcn.00448350
cmp dword [ebp - 0xc0], 0
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc8]
sete cl
mov byte [eax + 0x1a], cl
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x4c], 0
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], 0
mov ecx, dword [ebp - 0xc8]
mov al, byte [ebp - 0xc0]
mov byte [ecx + 0x1c], al
cmp dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0xd0]
je 0x455529
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xcc]
dec ebx
jmp 0x4552f2
mov eax, dword [ebp - 0xcc]
cmp dword [eax + 0xe0], 0
jne 0x45b0d3
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc8], eax
test eax, eax
je case.0x455018.17
mov ecx, dword [eax]
mov dword [ebp - 0xc4], ecx
test ecx, ecx
jne 0x458f3b
mov edi, dword [ebp - 0xcc]
inc ebx
mov edx, dword [ebp - 0xe0]
mov byte [eax + 0x1c], 1
jmp 0x454f74
mov dword [ebp - 0xc0], 1
lea edx, [ebp - 0xc0]
cmp byte [esi + edi*4], 0x43
jne 0x458f58
call fcn.004487a0
jmp 0x458f5d
call fcn.00448930
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xd0], eax
mov al, byte [ebp - 0xc0]
mov byte [ecx + 0x1c], al
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x4c], 0
cmp dword [ebp - 0xc0], 0
jne 0x458fae
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd4], eax
mov al, byte [esi + edi*4 + 3]
test al, al
je 0x458fa8
mov ebx, dword [ebp - 0xd8]
movzx eax, al
inc dword [ebx + eax*4 + 0x78]
mov ebx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], 0
jmp case.0x455018.17
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xe4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc8], ecx
mov eax, dword [esi + edi*4 + 8]
mov ebx, dword [ecx]
mov dword [ebp - 0xc4], ebx
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
test ebx, ebx
je 0x456d33
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x459021
mov ecx, esi
call fcn.0044e1b0
mov ebx, eax
mov dword [ebp - 0xd0], ebx
test ebx, ebx
jne 0x456d33
mov ebx, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc8]
mov edx, dword [esi + 0x18]
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xc0], edx
mov esi, dword [esi + 4]
mov dword [ebp - 0xbc], esi
test byte [eax + edi*4 + 3], 0x10
je 0x459045
mov eax, dword [ecx + 0x48]
jmp 0x459047
xor eax, eax
push eax
mov eax, dword [ebp - 0xdc]
mov ecx, ebx
push dword [eax + edi*4 + 0xc]
mov eax, edx
push 0
push 0
cdq
push 0x4ef4d1
push edx
push eax
mov edx, esi
call fcn.0044b150
mov ebx, dword [ebp - 0xd4]
add esp, 0x1c
mov esi, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x4c], 0
jmp case.0x455018.17
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc8], eax
mov ecx, dword [eax]
mov dword [ebp - 0xc4], ecx
test ecx, ecx
je case.0x455018.17
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0xb8], eax
mov ax, word [esi + edi*4 + 0xc]
mov word [ebp - 0xb4], ax
xor eax, eax
mov word [ebp - 0xb2], ax
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0xa8], eax
lea edx, [ebp - 0xb8]
lea eax, [ebp - 0xc0]
push eax
push 0
push 0
push 0
call fcn.004483d0
add esp, 0x10
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x459128
cmp dword [ebp - 0xc0], eax
jne 0x459128
mov ecx, dword [ebp - 0xc4]
call fcn.0044b350
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x4c], 0
jmp case.0x455018.17
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc4], eax
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
mov eax, 1
mov word [edx + 0x1c], ax
cmp dword [ebp - 0xc8], 0
je 0x457f48
mov ecx, dword [ebp - 0xc4]
call fcn.00451c10
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x45ae50
mov eax, dword [ebp - 0xc4]
cmp byte [eax + 0x1c], 0
jne 0x457f48
mov edx, dword [ebp - 0xc8]
lea eax, [ebp - 0xc0]
push eax
call fcn.00452550
add esp, 4
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x45ae50
mov ecx, dword [ebp - 0xe8]
inc ebx
mov eax, dword [ebp - 0xc0]
mov edi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xe0]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xbc]
mov dword [ecx + 0x14], eax
mov eax, 4
mov word [ecx + 0x1c], ax
jmp 0x454f74
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc8], ecx
cmp dword [ecx], 0
je case.0x455018.17
mov eax, dword [ecx + 8]
mov dword [ebp - 0xc0], eax
mov ax, word [esi + edi*4 + 0x10]
mov word [ebp - 0xbc], ax
mov eax, 0xc
cmp byte [esi + edi*4 + 3], 0
jne 0x459232
mov eax, 4
mov edx, dword [ebp - 0xe4]
mov word [ebp - 0xba], ax
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0xb0], eax
lea edx, [ebp - 0xc0]
lea eax, [ebp - 0xc4]
push eax
call fcn.00452700
add esp, 4
mov dword [ebp - 0xd0], eax
cmp byte [esi + edi*4], 0x51
mov eax, dword [ebp - 0xc4]
jne 0x45927a
neg eax
jmp 0x45927b
inc eax
mov dword [ebp - 0xc4], eax
test eax, eax
mov eax, dword [ebp - 0xd0]
jle 0x455529
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xcc]
dec ebx
jmp 0x4552f2
mov edx, dword [ebp - 0xcc]
xor ecx, ecx
mov dword [ebp - 0xc4], ecx
mov eax, dword [edx + 0x88]
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x4592e9
lea ecx, [ecx]
cmp dword [eax + 0x34], 0xbdf20da3
jne 0x4592dc
cmp byte [eax + 0x67], 2
jae 0x4592dc
cmp dword [eax + 0x58], 0
jl 0x4592dc
inc ecx
mov dword [ebp - 0xc4], ecx
mov eax, dword [eax + 0x40]
mov dword [ebp - 0xc0], eax
test eax, eax
jne 0x4592c0
mov eax, dword [ebp - 0xe8]
mov ecx, 1
mov word [eax + 0x1c], cx
cmp dword [ebp - 0xc4], ecx
jg 0x45aea0
mov eax, dword [esi + edi*4 + 0xc]
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0xbc], eax
add eax, eax
push ecx
mov ecx, dword [edx + 8]
mov edx, dword [esi + edi*4 + 4]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0044bcf0
mov ecx, dword [ebp - 0xe8]
add esp, 4
mov dword [ebp - 0xd0], eax
mov eax, 4
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xc8]
cdq
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xd0]
mov dword [ecx + 0x14], edx
test eax, eax
jne 0x455529
mov eax, dword [ebp - 0xc8]
test eax, eax
je case.0x455018.17
push dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xcc]
mov ecx, edi
mov edx, dword [ebp - 0xbc]
push eax
call fcn.00468d10
mov al, byte [ebp - 0xbc]
add esp, 8
inc al
mov byte [ebp - 0xf9], al
jmp 0x4552ec
xor ecx, ecx
mov dword [ebp - 0xc8], 0
cmp dword [esi + edi*4 + 0xc], ecx
lea eax, [ebp - 0xc8]
mov edx, dword [esi + edi*4 + 4]
cmove eax, ecx
mov ecx, dword [ebp - 0xcc]
push eax
mov eax, dword [esi + edi*4 + 8]
add eax, eax
mov ecx, dword [ecx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0044ba30
add esp, 4
mov dword [ebp - 0xd0], eax
cmp dword [esi + edi*4 + 0xc], 0
je 0x455529
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xc8]
add dword [ecx + 0x6c], eax
mov ecx, dword [esi + edi*4 + 0xc]
test ecx, ecx
jle case.0x455018.17
mov edi, dword [ebp - 0xe4]
lea ecx, [ecx + ecx*4]
cdq
add dword [edi + ecx*8 + 0x10], eax
adc dword [edi + ecx*8 + 0x14], edx
jmp case.0x455018.17
mov eax, dword [ebp - 0xcc]
lea edx, [ebp - 0xc8]
mov dword [ebp - 0xc8], 0
mov ecx, dword [esi + edi*4 + 4]
shl ecx, 4
add ecx, dword [eax + 8]
xor eax, eax
mov dword [ebp - 0xc0], ecx
cmp byte [esi + edi*4], 0x62
setne al
inc eax
mov dword [ebp - 0xc4], eax
mov ecx, dword [ecx + 4]
push eax
call fcn.0044b850
mov ecx, dword [ebp - 0xe8]
add esp, 4
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc8]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x455018.17
mov edx, dword [esi + edi*4 + 4]
mov eax, str.sqlite_master
cmp edx, 1
mov dword [ebp - 0xc8], edx
mov ecx, str.sqlite_temp_master
cmovne ecx, eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xbc], eax
add edx, edx
mov dword [ebp - 0xc4], ecx
mov eax, dword [esi + edi*4 + 4]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xd8]
add eax, 0x38
mov dword [ebp - 0xb4], eax
push dword [esi + edi*4 + 0x10]
mov edi, dword [ebp - 0xcc]
push ecx
mov eax, dword [edi + 8]
push dword [eax + edx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push edi
call fcn.00436b20
add esp, 0x14
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x45acad
push 0
lea eax, [ebp - 0xbc]
mov byte [edi + 0x7c], 1
push eax
push 0x4798c0
push dword [ebp - 0xc0]
mov dword [ebp - 0xb0], 0
push edi
call fcn.00476330
add esp, 0x14
test eax, eax
cmove eax, dword [ebp - 0xb0]
mov dword [ebp - 0xd0], eax
push dword [ebp - 0xc0]
push edi
call fcn.00435500
mov eax, dword [ebp - 0xd0]
add esp, 8
mov byte [edi + 0x7c], 0
cmp eax, 7
je 0x45acad
jmp 0x4552f2
mov edx, dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xcc]
mov ecx, edi
call fcn.00465780
mov dword [ebp - 0xd0], eax
jmp 0x4552f2
push dword [esi + edi*4 + 0x10]
mov edx, dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xcc]
mov ecx, edi
call fcn.00467370
mov edx, dword [ebp - 0xe0]
add esp, 4
inc ebx
jmp 0x454f74
push dword [esi + edi*4 + 0x10]
mov edx, dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xcc]
mov ecx, edi
call fcn.00466f20
mov edx, dword [ebp - 0xe0]
add esp, 4
inc ebx
jmp 0x454f74
push dword [esi + edi*4 + 0x10]
mov edx, dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xcc]
mov ecx, edi
call fcn.00483400
mov edx, dword [ebp - 0xe0]
add esp, 4
inc ebx
jmp 0x454f74
mov edx, dword [esi + edi*4 + 8]
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0xc8], edx
lea edx, [edx*4 + 4]
call fcn.00435760
mov edx, eax
mov dword [ebp - 0xc4], edx
test edx, edx
je 0x45aca7
mov ecx, dword [esi + edi*4 + 0xc]
mov eax, dword [ebp - 0xe4]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*8]
mov dword [ebp - 0xb4], ecx
mov ecx, dword [esi + edi*4 + 4]
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0xe4]
lea esi, [ecx + eax*8]
xor eax, eax
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc8], eax
jle 0x459666
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.0044e440
mov edx, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc4]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp eax, dword [ebp - 0xc8]
jl 0x459631
mov edx, dword [ebp - 0xc4]
mov dword [edx + eax*4], 0
lea eax, [ebp - 0xbc]
mov edx, dword [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xb4]
push dword [eax + 0x10]
mov eax, dword [ebp - 0xdc]
push dword [ebp - 0xc8]
movzx eax, byte [eax + edi*4 + 3]
mov edi, dword [ebp - 0xcc]
add eax, eax
mov ecx, dword [edi + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0044cc10
add esp, 0xc
mov dword [ebp - 0xb8], eax
push dword [ebp - 0xc4]
push edi
call fcn.00435500
mov ecx, dword [ebp - 0xb4]
add esp, 8
mov eax, dword [ebp - 0xbc]
cdq
sub dword [ecx + 0x10], eax
sbb dword [ecx + 0x14], edx
mov ecx, esi
call fcn.0044e770
cmp dword [ebp - 0xbc], 0
je 0x459704
mov edx, dword [ebp - 0xb8]
test edx, edx
je 0x45acad
push fcn.00435460
push 1
push 0xffffffffffffffff
mov ecx, esi
call fcn.0044eb10
add esp, 0xc
movzx edx, byte [ebp - 0xec]
mov ecx, esi
call fcn.0044e010
mov esi, dword [ebp - 0xdc]
inc ebx
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + edi*4 + 8]
lea edi, [eax + eax*4]
jne 0x459759
mov ecx, esi
call fcn.0044e8e0
test byte [esi + 0x1c], 0x20
je 0x45aca7
mov eax, dword [ebp - 0xe4]
mov ecx, dword [esi + 0x10]
push dword [eax + edi*8 + 0x14]
push dword [eax + edi*8 + 0x10]
call fcn.0043c740
add esp, 8
mov esi, dword [ebp - 0xdc]
inc ebx
mov edi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
mov eax, dword [ebp - 0xcc]
cmp dword [eax + 0xe0], 0
jne 0x45b0d3
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea esi, [ecx + eax*8]
je 0x459802
mov ecx, dword [esi + 0x10]
lea edx, [ebp - 0xc8]
call fcn.0043cb00
test eax, eax
je 0x459802
mov esi, dword [ebp - 0xdc]
push dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xe4]
push dword [ebp - 0xc8]
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.0044e7c0
mov edi, dword [ebp - 0xcc]
add esp, 8
mov edx, dword [ebp - 0xe0]
inc ebx
jmp 0x454f74
mov ecx, esi
call fcn.0044e770
mov esi, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xe0]
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xcc]
dec ebx
inc ebx
jmp 0x454f74
mov eax, dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + edi*4 + 0xc]
lea ebx, [eax + eax*4]
mov eax, dword [ecx + edi*4 + 0x10]
mov dword [ebp - 0xc8], eax
test byte [esi + 0x1c], 0x20
jne 0x459870
mov ecx, esi
call fcn.0044e8e0
test byte [esi + 0x1c], 0x20
je 0x45aca7
mov eax, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xe4]
test eax, eax
je 0x4598c2
js 0x45987b
and eax, 0xf
jmp 0x459880
mov eax, 0xff
push dword [edx + ebx*8 + 0x14]
mov ecx, dword [esi + 0x10]
push dword [edx + ebx*8 + 0x10]
mov dl, al
call fcn.0043cb80
add esp, 8
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x4598ba
mov esi, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xe0]
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xcc]
jmp 0x454f74
mov eax, dword [ebp - 0xc8]
test eax, eax
js 0x4598dd
mov eax, dword [ebp - 0xe4]
mov ecx, dword [esi + 0x10]
push dword [eax + ebx*8 + 0x14]
push dword [eax + ebx*8 + 0x10]
call fcn.0043c740
add esp, 8
mov ebx, dword [ebp - 0xd4]
mov esi, dword [ebp - 0xdc]
inc ebx
mov edi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
mov edx, dword [esi + edi*4 + 0x10]
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xb0], edx
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xc0], esi
cmp byte [eax + edi*4 + 3], 0
je 0x45995d
mov eax, dword [ebp - 0xd8]
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0xac], ecx
mov eax, dword [eax + 0xa8]
mov dword [ebp - 0xb4], eax
test eax, eax
je 0x45995d
cmp dword [eax + 0x20], ecx
je 0x459772
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0xb4], eax
test eax, eax
jne 0x459947
mov ecx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xcc]
mov eax, dword [ecx + 0xb0]
cmp eax, dword [edi + 0x70]
jge 0x45aec7
test byte [esi + 0x1c], 0x40
jne 0x459ae1
mov eax, dword [edx + 8]
add eax, dword [edx + 0xc]
mov dword [ebp - 0xc8], eax
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea eax, [eax + ecx*2]
mov ecx, edi
lea edx, [eax*4 + 0x40]
mov dword [ebp - 0xc4], edx
call fcn.00435730
mov dword [ebp - 0xb4], eax
test eax, eax
je 0x45acad
mov ecx, dword [ebp - 0xc0]
call fcn.0044e400
mov eax, dword [ebp - 0xc0]
mov ecx, 0x40
mov esi, dword [ebp - 0xd8]
mov word [eax + 0x1c], cx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xb4]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xb4]
mov dword [eax], esi
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xc8]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xb4]
mov dword [eax + 0x28], ecx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xd4]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [esi + 8]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [esi + 0x18]
mov dword [eax + 0x14], ecx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [esi + 0x44]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0xb4]
mov cx, word [esi + 0x32]
mov word [eax + 0x1c], cx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [esi + 4]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax + 0x10]
mov eax, dword [ebp - 0xb4]
mov dword [eax + 0x20], ecx
mov edx, dword [ebp - 0xb4]
mov eax, dword [edx + 0x24]
lea ecx, [edx + 0x40]
mov dword [ebp - 0xbc], ecx
lea eax, [eax + eax*4]
lea eax, [eax + 8]
lea eax, [edx + eax*8]
mov dword [ebp - 0xb8], eax
cmp ecx, eax
je 0x459aec
mov esi, 1
jmp 0x459ab0
mov word [ecx + 0x1c], si
mov eax, dword [ebp - 0xbc]
mov dword [eax], edi
mov ecx, dword [ebp - 0xbc]
add ecx, 0x28
mov dword [ebp - 0xbc], ecx
cmp ecx, dword [ebp - 0xb8]
jne 0x459ab0
mov esi, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xb4]
jmp 0x459aec
mov edx, dword [esi + 0x10]
mov esi, ecx
mov dword [ebp - 0xb4], edx
inc dword [esi + 0xb0]
mov eax, dword [esi + 0xa8]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x30]
mov eax, dword [ebp - 0xb4]
mov ebx, dword [ebp - 0xd8]
mov dword [eax + 0x30], ecx
mov ecx, dword [edi + 0x34]
mov eax, dword [ebp - 0xb4]
mov dword [eax + 0x34], ecx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [esi + 0x6c]
mov dword [eax + 0x38], ecx
mov ecx, dword [ebp - 0xb4]
mov dword [esi + 0x6c], 0
mov dword [esi + 0xa8], ecx
lea edx, [ecx + 0x18]
mov dword [esi + 8], edx
mov eax, dword [ecx + 0x24]
mov dword [esi + 0x18], eax
mov ax, word [ecx + 0x28]
mov word [esi + 0x32], ax
mov eax, dword [esi + 0x18]
inc eax
mov dword [ebp - 0xe4], edx
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xe0]
mov dword [esi + 0x44], eax
mov eax, dword [ebp - 0xb0]
mov esi, dword [eax]
mov dword [ebx + 4], esi
mov eax, dword [eax + 4]
mov dword [ebx + 0x1c], eax
or ebx, 0xffffffff
mov dword [ebp - 0xdc], esi
inc ebx
jmp 0x454f74
mov eax, dword [ebp - 0xd8]
push 0x1000
mov edx, dword [eax + 0xa8]
mov dword [ebp - 0xc8], edx
mov eax, dword [edx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
mov eax, dword [eax + ecx*4 + 4]
add eax, dword [esi + edi*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edx, [eax + ecx*8]
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xc4], edx
call fcn.0044e9e0
mov edi, dword [ebp - 0xcc]
add esp, 4
mov edx, dword [ebp - 0xe0]
inc ebx
jmp 0x454f74
cmp dword [esi + edi*4 + 4], 0
mov eax, dword [esi + edi*4 + 8]
cdq
je 0x459c06
mov edi, dword [ebp - 0xcc]
add dword [edi + 0x1f0], eax
adc dword [edi + 0x1f4], edx
inc ebx
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
mov edi, dword [ebp - 0xd8]
add dword [edi + 0x90], eax
adc dword [edi + 0x94], edx
inc ebx
mov edi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
cmp dword [esi + edi*4 + 4], 0
je 0x459c58
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ecx + 0x1f0]
or eax, dword [ecx + 0x1f4]
jne 0x459c4a
mov ebx, dword [esi + edi*4 + 8]
dec ebx
mov edx, dword [ebp - 0xe0]
inc ebx
mov edi, ecx
jmp 0x454f74
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [eax + 0x90]
or eax, dword [ecx + 0x94]
jne 0x457f48
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xcc]
dec ebx
mov edx, dword [ebp - 0xe0]
inc ebx
jmp 0x454f74
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax + 0xa8]
test edx, edx
je 0x459cce
mov dword [ebp - 0xc4], edx
mov eax, dword [edx + 0x3c]
test eax, eax
je 0x459cbf
lea ebx, [ebx]
mov edx, eax
mov dword [ebp - 0xc4], edx
mov eax, dword [edx + 0x3c]
test eax, eax
jne 0x459cb0
mov eax, dword [esi + edi*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea ecx, [eax + ecx*8]
jmp 0x459cde
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xc8], ecx
call fcn.0044e5f0
mov eax, dword [esi + edi*4 + 8]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0044e5f0
mov eax, dword [ebp - 0xc8]
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
cmp dword [eax + 0x14], edx
jg 0x459d1e
jl 0x459d18
cmp dword [eax + 0x10], ecx
jae 0x459d1e
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
mov esi, dword [ebp - 0xdc]
inc ebx
mov edi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
mov eax, dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
cmp dword [edx + eax*8 + 0x14], 0
jl 0x457f48
jg 0x457f43
cmp dword [edx + eax*8 + 0x10], 0
jbe 0x457f48
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xcc]
dec ebx
mov edx, dword [ebp - 0xe0]
inc ebx
jmp 0x454f74
mov eax, dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
cmp dword [edx + eax*8 + 0x14], 0
jg 0x457f48
jl 0x457f43
cmp dword [edx + eax*8 + 0x10], 0
jae 0x457f48
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xcc]
dec ebx
mov edx, dword [ebp - 0xe0]
inc ebx
jmp 0x454f74
mov eax, dword [esi + edi*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + edi*4 + 0xc]
mov esi, dword [ebp - 0xe4]
cdq
add dword [esi + ecx*8 + 0x10], eax
mov eax, esi
adc dword [eax + ecx*8 + 0x14], edx
mov edx, esi
mov eax, dword [eax + ecx*8 + 0x10]
mov esi, dword [ebp - 0xdc]
or eax, dword [edx + ecx*8 + 0x14]
jne 0x457f48
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xcc]
dec ebx
mov edx, dword [ebp - 0xe0]
inc ebx
jmp 0x454f74
movzx ecx, byte [esi + edi*4 + 3]
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0xc8], ecx
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xbc], edx
mov esi, dword [eax + 0xc]
xor eax, eax
mov dword [ebp - 0x78], esi
mov dword [ebp - 0xc4], eax
test ecx, ecx
jle 0x459e77
jmp 0x459e40
mov dword [esi + eax*4], edx
mov ecx, dword [ebp - 0xbc]
call fcn.00454bb0
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xbc]
inc eax
add edx, 0x28
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xbc], edx
cmp eax, dword [ebp - 0xc8]
jge 0x459e77
mov esi, dword [ebp - 0x78]
jmp 0x459e40
mov esi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe4]
mov eax, dword [esi + edi*4 + 0x10]
mov dword [ebp - 0xb8], eax
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x88], eax
inc dword [eax + 0x18]
mov eax, 1
mov ecx, dword [ebp - 0xb8]
mov word [ebp - 0x94], ax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 0
test byte [ecx + 3], 8
je 0x459f00
mov eax, dword [esi + edi*4 - 4]
mov dword [ebp - 0x80], eax
push dword [ebp - 0x78]
lea eax, [ebp - 0xb8]
push dword [ebp - 0xc8]
push eax
mov eax, dword [ecx + 0x10]
call eax
add esp, 0xc
cmp dword [ebp - 0x84], 0
je 0x459f69
mov dl, 1
lea ecx, [ebp - 0xb0]
call fcn.0044f0b0
mov edi, dword [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xd8]
push 0x4f7fa8
add eax, 0x38
push edi
push eax
call fcn.00435910
mov eax, dword [ebp - 0x84]
lea ecx, [ebp - 0xb0]
add esp, 0x10
mov dword [ebp - 0xd0], eax
call fcn.0044e400
jmp 0x4552ec
mov edi, dword [ebp - 0xcc]
lea ecx, [ebp - 0xb0]
call fcn.0044e400
jmp 0x4552ec
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xc8], ecx
mov edx, dword [esi + edi*4 + 0x10]
call fcn.0044e310
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x459fd6
mov ecx, dword [ebp - 0xc8]
mov dl, 1
call fcn.0044f0b0
mov edi, dword [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xd8]
push 0x4f7fa8
add eax, 0x38
push edi
push eax
call fcn.00435910
add esp, 0x10
jmp 0x459fdc
mov edi, dword [ebp - 0xcc]
movzx edx, byte [ebp - 0xec]
mov ecx, dword [ebp - 0xc8]
call fcn.0044e010
mov ecx, dword [ebp - 0xc8]
call fcn.0044e9b0
test eax, eax
jne 0x45af4c
jmp 0x4552ec
mov ecx, dword [ebp - 0xcc]
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0xc0]
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xbc], 0xffffffff
mov dword [ebp - 0xc0], 0xffffffff
mov edx, dword [esi + edi*4 + 4]
push eax
push dword [esi + edi*4 + 8]
call fcn.00492120
mov edx, eax
add esp, 0xc
mov dword [ebp - 0xd0], edx
cmp edx, 5
jne 0x45a069
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xc4], 1
mov edx, dword [ebp - 0xe4]
xor eax, eax
mov dword [ebp - 0xc8], eax
mov ecx, dword [esi + edi*4 + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dword [ebp - 0xb8], ecx
mov eax, dword [ebp + eax*4 - 0xc4]
cdq
push edx
push eax
call fcn.0044e7c0
mov eax, dword [ebp - 0xc8]
add esp, 8
mov ecx, dword [ebp - 0xb8]
inc eax
add ecx, 0x28
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xb8], ecx
cmp eax, 3
jl 0x45a087
jmp case.0x455018.17
mov esi, dword [esi + edi*4 + 0xc]
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xc0], esi
mov ecx, dword [eax + edi*4 + 4]
mov eax, dword [ebp - 0xcc]
add ecx, ecx
cmp esi, 0xffffffff
mov eax, dword [eax + 8]
mov ebx, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xc8], ebx
mov eax, dword [ebx + 4]
mov ecx, dword [eax]
mov dword [ebp - 0xc4], ecx
movzx edx, byte [ecx + 5]
cmove esi, edx
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xc0], esi
cmp byte [ecx + 0xf], 3
jae 0x45a125
mov eax, dword [ecx + 0x40]
cmp dword [eax], 0
je 0x45a12d
cmp dword [ecx + 0x4c], 0
jl 0x45a12d
jg 0x45a125
cmp dword [ecx + 0x48], 0
jbe 0x45a12d
mov esi, edx
mov dword [ebp - 0xc0], esi
mov eax, dword [ecx + 0x90]
mov dword [ebp - 0xb8], eax
cmp esi, 5
jne 0x45a159
cmp byte [eax], 0
je 0x45a14c
call fcn.004413b0
test eax, eax
jne 0x45a159
mov esi, edx
mov dword [ebp - 0xc0], esi
jmp 0x45a1fd
cmp esi, edx
je 0x45a1fd
cmp edx, 5
je 0x45a16f
cmp esi, 5
jne 0x45a1fd
mov eax, dword [ebp - 0xcc]
cmp byte [eax + 0x1c], 0
je 0x45aef4
cmp dword [eax + 0x8c], 1
jg 0x45aef4
cmp edx, 5
jne 0x45a1ae
call fcn.004414e0
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x45a1e3
mov edx, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc4]
jmp 0x45a1b8
cmp edx, 4
jne 0x45a1c9
mov edx, 2
call fcn.004412c0
mov ebx, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xc0]
xor edx, edx
mov ecx, ebx
cmp esi, 5
sete dl
inc edx
call fcn.0044d290
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x45a1f1
mov esi, dword [ebp - 0xbc]
mov dword [ebp - 0xc0], esi
jmp 0x45a1f7
mov esi, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc4]
mov edx, esi
call fcn.004412c0
mov esi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xc0], eax
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, 0xa02
mov word [ebx + 0x1c], ax
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xe8], ebx
cmp ecx, 6
jne 0x45a23e
xor ecx, ecx
jmp 0x45a245
mov ecx, dword [ecx*4 + 0x4f3488]
mov dword [ebx + 4], ecx
call fcn.00437670
movzx edx, byte [ebp - 0xec]
mov ecx, ebx
mov dword [ebx + 0x18], eax
mov byte [ebx + 0x1f], 1
call fcn.0044e010
mov ebx, dword [ebp - 0xd4]
jmp case.0x455018.17
mov ecx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xcc]
mov edx, edi
lea ecx, [ecx + 0x38]
call fcn.004864a0
mov dword [ebp - 0xd0], eax
jmp 0x4552f2
mov eax, dword [ebp - 0xcc]
mov ecx, dword [esi + edi*4 + 4]
add ecx, ecx
mov eax, dword [eax + 8]
mov ecx, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xc8], ecx
call fcn.00446e80
mov dword [ebp - 0xd0], eax
cmp eax, 0x65
jne 0x455529
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xcc]
dec ebx
xor eax, eax
mov dword [ebp - 0xd0], eax
jmp 0x4552f2
cmp dword [esi + edi*4 + 4], 0
jne 0x45a2f3
mov edi, dword [ebp - 0xcc]
mov ecx, edi
call fcn.00452850
mov edx, dword [ebp - 0xe0]
inc ebx
jmp 0x454f74
mov eax, dword [ebp - 0xd8]
inc ebx
mov edi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xe0]
mov byte [eax + 0x64], 1
jmp 0x454f74
mov al, byte [esi + edi*4 + 0xc]
mov byte [ebp - 0x114], al
test al, al
jne 0x45a330
mov eax, dword [ebp - 0xcc]
test dword [eax + 0xc], 0x80000
jne 0x45ab15
mov ecx, dword [ebp - 0xcc]
mov eax, dword [esi + edi*4 + 4]
push dword [ebp - 0x114]
mov edx, dword [esi + edi*4 + 8]
add eax, eax
mov ecx, dword [ecx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0044d170
add esp, 4
mov dword [ebp - 0xd0], eax
cmp al, 6
jne 0x455529
push dword [esi + edi*4 + 0x10]
mov eax, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xcc]
add eax, 0x38
push str.database_table_is_locked:__s
push edi
push eax
call fcn.00435910
add esp, 0x10
jmp 0x4552ec
mov edx, dword [esi + edi*4 + 0x10]
mov edi, dword [ebp - 0xcc]
mov ecx, edi
mov dword [ebp - 0xc8], edx
call fcn.004877c0
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0xd0], eax
test edx, edx
je 0x4552ec
mov edx, dword [edx + 8]
mov ecx, dword [ebp - 0xd8]
call fcn.00454e20
jmp 0x4552ec
mov eax, dword [ebp - 0xd8]
mov edx, dword [esi + edi*4 + 4]
add eax, 0x38
push eax
push dword [esi + edi*4 + 0x10]
mov edi, dword [ebp - 0xcc]
mov ecx, edi
call fcn.00487330
add esp, 8
mov dword [ebp - 0xd0], eax
jmp 0x4552f2
mov eax, dword [ebp - 0xd8]
mov byte [eax + 0x67], 2
push dword [esi + edi*4 + 0x10]
mov edx, dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xcc]
mov ecx, edi
call fcn.004875b0
mov ecx, dword [ebp - 0xd8]
add esp, 4
mov dword [ebp - 0xd0], eax
mov byte [ecx + 0x67], 0
jmp 0x4552f2
mov dword [ebp - 0xc8], 0
lea edx, [ebp - 0xc4]
mov dword [ebp - 0xc4], 0
mov eax, dword [esi + edi*4 + 0x10]
push edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0xc0], ecx
push ecx
mov eax, dword [ecx]
mov dword [ebp - 0xbc], eax
mov eax, dword [eax + 0x18]
call eax
mov edx, dword [ebp - 0xc0]
add esp, 8
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xd0], eax
call fcn.00454e20
mov eax, dword [ebp - 0xd0]
test eax, eax
jne 0x455529
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc0]
push 0
push 0xffffffffffffffff
mov dword [eax], ecx
mov edx, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xd8]
push 0
call fcn.00454be0
mov edi, dword [ebp - 0xcc]
add esp, 0xc
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x45a4e8
mov ecx, dword [ebp - 0xc4]
inc ebx
mov edx, dword [ebp - 0xe0]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x28], ecx
jmp 0x454f74
mov byte [edi + 0x1e], 1
mov eax, dword [ebp - 0xbc]
push dword [ebp - 0xc4]
mov eax, dword [eax + 0x1c]
call eax
add esp, 4
jmp 0x4552ec
mov eax, dword [esi + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xbc], edx
lea esi, [edx + 0x28]
mov dword [ebp - 0xb8], esi
mov ecx, dword [eax + edi*4 + 4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xac], eax
mov ebx, dword [eax + 0x24]
mov dword [ebp - 0xb4], ebx
mov eax, dword [ebx]
mov dword [ebp - 0xb0], eax
mov eax, dword [eax]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xf4], eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xc8], eax
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0xc4], ecx
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xa8], 0
mov edx, dword [ecx + 0xc]
xor ecx, ecx
mov dword [ebp - 0xa0], edx
mov dword [ebp - 0xa4], ecx
test eax, eax
jle 0x45a5ff
lea esp, [esp]
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [ecx + eax*4]
call fcn.00454bb0
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xc8]
inc ecx
mov edx, dword [ebp - 0xa0]
mov dword [ebp - 0xa4], ecx
cmp ecx, eax
jge 0x45a5e5
mov esi, dword [ebp - 0xb8]
jmp 0x45a5a0
mov ecx, dword [ebp - 0xc0]
mov ebx, dword [ebp - 0xb4]
mov esi, dword [ebp - 0xc4]
mov dword [ebp - 0xf4], ecx
jmp 0x45a605
mov esi, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xd8]
push edx
push eax
mov eax, dword [ebp - 0xdc]
mov byte [ecx + 0x67], 1
mov ecx, dword [ebp - 0xf4]
push dword [eax + edi*4 + 0x10]
mov eax, dword [ecx + 0x20]
push esi
push ebx
call eax
mov edx, dword [ebp - 0xb0]
mov ebx, eax
mov eax, dword [ebp - 0xd8]
add esp, 0x14
mov ecx, eax
mov dword [ebp - 0xd0], ebx
mov byte [eax + 0x67], 0
call fcn.00454e20
test ebx, ebx
jne 0x45a66a
mov eax, dword [ebp - 0xc0]
push dword [ebp - 0xb4]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
mov dword [ebp - 0xa8], eax
jmp 0x45a670
mov eax, dword [ebp - 0xa8]
mov esi, dword [ebp - 0xdc]
test eax, eax
je 0x45a685
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xac]
mov ebx, dword [ebp - 0xd4]
mov byte [eax + 0x1c], 0
jmp case.0x455018.17
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe4]
mov eax, dword [eax + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xc0], ecx
cmp byte [esi + 0x1c], 0
je 0x45a6e9
call fcn.0044e770
mov esi, dword [ebp - 0xdc]
inc ebx
mov edi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
mov eax, dword [esi + 0x24]
push 0x40
push 0
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
lea eax, [ebp - 0xb8]
push eax
call fcn.004af8a0
mov edx, dword [ebp - 0xc0]
lea ecx, [ebp - 0xb0]
add esp, 0xc
call fcn.0044eaa0
mov eax, dword [ebp - 0x94]
and eax, 0xbf01
or eax, 1
mov word [ebp - 0x94], ax
mov eax, dword [ebp - 0xdc]
push dword [eax + edi*4 + 8]
lea eax, [ebp - 0xb8]
push eax
mov eax, dword [ebp - 0xc4]
push dword [esi + 0x24]
mov eax, dword [eax + 0x2c]
call eax
mov edx, dword [ebp - 0xc8]
add esp, 0xc
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xd0], eax
call fcn.00454e20
mov eax, dword [ebp - 0x84]
test eax, eax
mov ecx, dword [ebp - 0xd0]
movzx edx, byte [ebp - 0xec]
cmovne ecx, eax
mov dword [ebp - 0xd0], ecx
lea ecx, [ebp - 0xb0]
call fcn.0044e010
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0xb0]
call fcn.0044eaa0
mov ecx, dword [ebp - 0xc0]
call fcn.0044e9b0
mov edi, dword [ebp - 0xcc]
test eax, eax
jne 0x45af4c
mov esi, dword [ebp - 0xdc]
jmp 0x4552ec
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xc0], 0
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xbc], ecx
cmp byte [ecx + 0x1c], 0
jne case.0x455018.17
mov eax, dword [ecx + 0x24]
mov edx, dword [ebp - 0xd8]
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
mov byte [edx + 0x67], 1
push dword [ecx + 0x24]
mov eax, dword [eax + 0x24]
call eax
mov edx, dword [ebp - 0xc8]
add esp, 4
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xd8]
mov ecx, eax
mov byte [eax + 0x67], 0
call fcn.00454e20
cmp dword [ebp - 0xd0], 0
jne 0x45a863
mov eax, dword [ebp - 0xbc]
push dword [eax + 0x24]
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
mov dword [ebp - 0xc0], eax
jmp 0x45a869
mov eax, dword [ebp - 0xc0]
test eax, eax
mov eax, dword [ebp - 0xd0]
jne 0x455529
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xcc]
dec ebx
jmp 0x4552f2
mov eax, dword [esi + edi*4 + 0x10]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [eax + 8]
mov dword [ebp - 0xc8], edx
mov eax, dword [esi + edi*4 + 4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xc4], eax
mov ecx, dword [edx]
push dword [eax + 4]
push edx
mov eax, dword [ecx + 0x4c]
call eax
mov edi, dword [ebp - 0xd8]
add esp, 8
mov edx, dword [ebp - 0xc8]
mov ecx, edi
mov dword [ebp - 0xd0], eax
call fcn.00454e20
mov byte [edi + 0x64], 0
jmp case.0x455018.17
mov eax, dword [esi + edi*4 + 0x10]
mov ecx, dword [ebp - 0xdc]
mov esi, dword [eax + 8]
mov dword [ebp - 0xc8], esi
mov ebx, dword [esi]
mov dword [ebp - 0xc4], ebx
mov edx, dword [ecx + edi*4 + 8]
mov dword [ebp - 0xc0], edx
cmp dword [ebx + 0x34], 0
je 0x456d33
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xb0], eax
mov eax, dword [ecx + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xbc], 0
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xac], ecx
test edx, edx
jle 0x45a996
call fcn.00454bb0
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xac]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xac]
inc eax
mov edx, dword [ebp - 0xc0]
add ecx, 0x28
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xbc], eax
cmp eax, edx
jl 0x45a942
mov eax, dword [ebp - 0xb0]
mov ebx, dword [ebp - 0xc4]
mov esi, dword [ebp - 0xc8]
jmp 0x45a99c
mov eax, dword [ebp - 0xf4]
lea ecx, [ebp - 0xb8]
push ecx
push eax
mov eax, dword [ebx + 0x34]
push edx
push esi
call eax
mov edx, dword [ebp - 0xc8]
add esp, 0x10
mov ecx, dword [ebp - 0xd8]
mov ebx, eax
mov dword [ebp - 0xd0], ebx
call fcn.00454e20
mov esi, dword [ebp - 0xdc]
test ebx, ebx
jne 0x45aa03
cmp dword [esi + edi*4 + 4], ebx
mov edi, dword [ebp - 0xcc]
je 0x45aa09
mov eax, dword [ebp - 0xb8]
mov ebx, dword [ebp - 0xd4]
mov dword [edi + 0x30], eax
mov eax, dword [ebp - 0xb4]
mov dword [edi + 0x34], eax
mov eax, dword [ebp - 0xd8]
inc dword [eax + 0x6c]
jmp 0x4552ec
mov edi, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0xd4]
inc dword [eax + 0x6c]
jmp 0x4552ec
mov ecx, dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xcc]
add ecx, ecx
inc ebx
mov eax, dword [edi + 8]
mov eax, dword [eax + ecx*8 + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x30]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], 0
mov edx, dword [ebp - 0xe0]
jmp 0x454f74
mov eax, dword [ebp - 0xcc]
xor edx, edx
mov ecx, dword [esi + edi*4 + 4]
add ecx, ecx
mov eax, dword [eax + 8]
mov esi, dword [eax + ecx*8 + 4]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + edi*4 + 0xc]
test ecx, ecx
je 0x45aa7a
mov eax, dword [esi + 4]
mov edx, dword [eax + 0x30]
cmp edx, ecx
cmovb edx, ecx
mov ecx, esi
call fcn.00445fe0
mov ecx, dword [ebp - 0xe8]
inc ebx
mov esi, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xcc]
cdq
mov dword [ecx + 0x14], edx
mov edx, dword [ebp - 0xe0]
mov dword [ecx + 0x10], eax
jmp 0x454f74
mov edx, dword [esi + edi*4 + 0x10]
mov eax, dword [ebp - 0xd8]
test edx, edx
jne 0x45aaba
mov edx, dword [eax + 0xa0]
mov edi, dword [ebp - 0xcc]
mov dword [ebp - 0xc8], edx
test edx, edx
je 0x4552ec
cmp dword [edi + 0x98], 0
je 0x4552ec
mov ecx, eax
call fcn.00454840
mov ecx, dword [edi + 0x98]
mov esi, eax
push esi
push dword [edi + 0x9c]
call ecx
push esi
push edi
call fcn.00435500
mov esi, dword [ebp - 0xdc]
add esp, 0x10
jmp 0x4552ec
mov ebx, dword [ebp - 0xd4]
mov edi, edx
jmp 0x4552ec
mov edi, eax
jmp 0x4552ec
mov dword [ebp - 0xd0], 9
mov eax, 9
jmp 0x45acd9
mov ecx, dword [esi + edi*4 + 4]
mov ebx, dword [ebp - 0xd8]
mov dword [edx + 0x5c], ecx
mov al, byte [esi + edi*4 + 8]
mov byte [edx + 0x60], al
mov edx, dword [ebp - 0xd4]
mov dword [ebx + 0x58], edx
mov eax, dword [esi + edi*4 + 0x10]
test eax, eax
je 0x45ab8d
push eax
push 0x4f7fa8
push dword [ebp - 0xcc]
lea eax, [ebx + 0x38]
push eax
call fcn.00435910
push dword [esi + edi*4 + 0x10]
push dword [ebx + 0xa0]
push dword [ebp - 0xd4]
push str.abort_at__d_in___s_:__s
push dword [esi + edi*4 + 4]
call fcn.00436d50
add esp, 0x24
jmp 0x45aba9
test ecx, ecx
je 0x45aba9
push dword [ebx + 0xa0]
push edx
push str.constraint_failed_at__d_in___s_
push dword [esi + edi*4 + 4]
call fcn.00436d50
add esp, 0x10
mov ecx, ebx
call fcn.004514c0
cmp eax, 5
je 0x45adab
cmp dword [ebx + 0x5c], 0
mov esi, 0x65
mov eax, 1
cmovne esi, eax
jmp 0x45ad41
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xe4]
mov eax, dword [ecx + 0x54]
add eax, 2
or eax, 1
mov dword [ecx + 0x54], eax
mov eax, dword [esi + edi*4 + 4]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov dword [ecx + 0x14], edx
xor ecx, ecx
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xc4], ecx
cmp dword [esi + edi*4 + 8], ecx
jle 0x45ac76
mov ebx, 0x1000
lea eax, [ecx + ecx*4]
test word [edx + eax*8 + 0x1c], bx
lea eax, [edx + eax*8]
je 0x45ac39
mov ecx, eax
call fcn.0044e150
test eax, eax
jne 0x45aca7
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc8]
lea eax, [ecx + ecx*4]
lea ecx, [edx + eax*8]
call fcn.0044e210
mov eax, dword [ebp - 0xc4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xc8]
lea ecx, [eax + ecx*8]
call fcn.00454bb0
mov ecx, dword [ebp - 0xc4]
inc ecx
mov dword [ebp - 0xc4], ecx
cmp ecx, dword [esi + edi*4 + 8]
jge 0x45ac76
mov edx, dword [ebp - 0xc8]
jmp 0x45ac11
mov edi, dword [ebp - 0xcc]
cmp byte [edi + 0x1e], 0
jne 0x45acad
mov ebx, dword [ebp - 0xd8]
mov esi, 0x64
mov eax, dword [ebp - 0xd4]
inc eax
mov dword [ebx + 0x58], eax
jmp 0x45ad41
lea ecx, [ebp - 0xb8]
call fcn.0044e400
mov edi, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xd8]
push str.out_of_memory
add eax, 0x38
mov byte [edi + 0x1e], 1
push edi
push eax
call fcn.00435910
add esp, 0xc
mov dword [ebp - 0xd0], 7
mov eax, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xd4]
mov ebx, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd8]
push dword [ecx + 0x38]
mov dword [ecx + 0x5c], eax
push dword [ecx + 0xa0]
push edi
push str.statement_aborts_at__d:___s___s
push eax
call fcn.00436d50
mov ecx, dword [ebp - 0xd8]
add esp, 0x14
call fcn.004514c0
cmp dword [ebp - 0xd0], 0xc0a
jne 0x45ad21
mov byte [ebx + 0x1e], 1
mov al, byte [ebp - 0xf9]
mov esi, 1
test al, al
je 0x45ad3b
movzx edx, al
mov ecx, ebx
dec edx
call fcn.00466fb0
mov ebx, dword [ebp - 0xd8]
mov ecx, ebx
call fcn.00450160
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004a6d1e
mov esp, ebp
pop ebp
ret
mov ebx, 0x14
mov dword [ebp - 0xd0], ebx
jmp 0x45ae56
mov eax, dword [ebp - 0xd8]
push str.cannot_open_savepoint___SQL_statements_in_progress
add eax, 0x38
push edi
push eax
call fcn.00435910
mov edi, dword [ebp - 0xd4]
add esp, 0xc
mov dword [ebp - 0xd0], 5
inc edi
mov eax, 5
jmp 0x45acdf
mov eax, dword [ebp - 0xd4]
mov dword [ebx + 0x58], eax
mov byte [edi + 0x1c], 0
mov esi, 5
mov dword [ebx + 0x5c], esi
jmp 0x45ad41
mov ebx, dword [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xd8]
push str.no_such_savepoint:__s
add eax, 0x38
push ebx
push eax
call fcn.00435910
mov edi, dword [ebp - 0xd4]
mov eax, 1
add esp, 0x10
mov dword [ebp - 0xd0], eax
inc edi
jmp 0x45ace5
mov ebx, dword [ebp - 0xd8]
mov esi, 5
mov eax, dword [ebp - 0xd4]
mov dword [ebx + 0x58], eax
mov dword [ebx + 0x5c], esi
jmp 0x45ad41
mov ecx, 0xff16
call fcn.00492f50
mov ebx, eax
mov dword [ebp - 0xd0], ebx
jmp 0x45ae56
mov edi, dword [ebp - 0xd4]
mov eax, 4
mov dword [ebp - 0xd0], 4
inc edi
jmp 0x45acdf
mov ebx, 0xd
mov dword [ebp - 0xd0], ebx
jmp 0x45ae56
mov ebx, 0xd
mov dword [ebp - 0xd0], ebx
jmp 0x45ae5c
mov ebx, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xcc]
cmp byte [edi + 0x1e], 0
je 0x45ae6f
mov ebx, 7
mov dword [ebp - 0xd0], ebx
jmp 0x45ae7b
cmp ebx, 0xc0a
je 0x45acd3
mov ecx, ebx
call fcn.004917d0
push eax
mov eax, dword [ebp - 0xd8]
push 0x4f7fa8
add eax, 0x38
push edi
push eax
call fcn.00435910
add esp, 0x10
jmp 0x45acd3
mov eax, dword [ebp - 0xd8]
mov ebx, edx
mov edi, dword [ebp - 0xd4]
mov dword [ebp - 0xd0], 6
inc edi
mov byte [eax + 0x60], 2
mov eax, 6
jmp 0x45ace5
push str.too_many_levels_of_trigger_recursion
lea eax, [ecx + 0x38]
mov dword [ebp - 0xd0], 1
push edi
push eax
call fcn.00435910
mov edi, dword [ebp - 0xd4]
add esp, 0xc
inc edi
mov eax, 1
jmp 0x45acdf
mov ebx, dword [ebp - 0xcc]
mov ecx, str.out_of
cmp esi, 5
mov dword [ebp - 0xd0], 1
mov eax, str.into
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0xd8]
push str.cannot_change__s_wal_mode_from_within_a_transaction
add eax, 0x38
push ebx
push eax
call fcn.00435910
mov edi, dword [ebp - 0xd4]
add esp, 0x10
inc edi
mov eax, 1
jmp 0x45ace5
mov edi, eax
jmp 0x45af4c
mov edi, ecx
jmp 0x45af4c
mov edi, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xd8]
push str.string_or_blob_too_big
add eax, 0x38
push edi
push eax
call fcn.00435910
add esp, 0xc
mov dword [ebp - 0xd0], 0x12
mov eax, 0x12
jmp 0x45acd9
mov edx, dword [esi + edi*4 + 4]
mov ebx, dword [ebp - 0xcc]
mov dword [ebp - 0xc8], edx
mov ecx, dword [esi + edi*4 + 8]
mov dword [ebp - 0xc4], ecx
test edx, edx
je 0x45aff2
cmp byte [ebx + 0x1c], 0
jne 0x45aff2
mov dword [ebp - 0xc0], 1
test ecx, ecx
je 0x45afe2
cmp dword [ebx + 0x8c], 1
jle 0x45affc
push str.cannot_rollback_transaction___SQL_statements_in_progress
mov eax, dword [ebp - 0xd8]
add eax, 0x38
push ebx
push eax
call fcn.00435910
mov edi, dword [ebp - 0xd4]
mov eax, 5
add esp, 0xc
mov dword [ebp - 0xd0], eax
inc edi
jmp 0x45ace5
cmp dword [ebx + 0x90], 0
jle 0x45affc
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x45afb8
mov dword [ebp - 0xc0], 0
movzx eax, byte [ebx + 0x1c]
cmp edx, eax
jne 0x45b049
test edx, edx
jne 0x45b00f
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x45b01e
test ecx, ecx
mov eax, str.cannot_rollback___no_transaction_is_active
mov edx, str.cannot_commit___no_transaction_is_active
cmove eax, edx
push eax
mov eax, dword [ebp - 0xd8]
add eax, 0x38
push ebx
push eax
call fcn.00435910
mov edi, dword [ebp - 0xd4]
mov eax, 1
add esp, 0xc
mov dword [ebp - 0xd0], eax
inc edi
jmp 0x45ace5
test ecx, ecx
je 0x45b07b
mov ecx, ebx
call fcn.004916f0
mov byte [ebx + 0x1c], 1
mov ecx, ebx
call fcn.00491320
mov ebx, dword [ebp - 0xd8]
mov esi, 1
mov eax, 0x65
cmp dword [ebx + 0x5c], 0
cmove esi, eax
jmp 0x45ad41
mov edi, dword [ebp - 0xd8]
mov edx, 1
mov ecx, edi
call fcn.00451460
mov esi, eax
test esi, esi
jne 0x45b125
mov al, byte [ebp - 0xc8]
mov ecx, edi
mov byte [ebx + 0x1c], al
call fcn.004514c0
cmp eax, 5
jne 0x45b058
mov eax, dword [ebp - 0xd4]
mov esi, 5
mov dword [edi + 0x58], eax
mov al, 1
sub al, byte [ebp - 0xc8]
mov byte [ebx + 0x1c], al
mov ebx, edi
mov dword [ebx + 0x5c], esi
jmp 0x45ad41
mov edi, ecx
jmp 0x45b0d5
mov edi, eax
mov ecx, dword [ebp - 0xd8]
mov eax, dword [str.interrupted]
test eax, eax
mov dword [ecx + 0x5c], 9
mov ecx, str.unknown_error
cmovne ecx, eax
mov dword [ebp - 0xd0], 9
mov eax, dword [ebp - 0xd8]
push ecx
push 0x4f7fa8
add eax, 0x38
push edi
push eax
call fcn.00435910
add esp, 0x10
mov eax, 9
jmp 0x45acd9
mov edi, eax
jmp 0x45acad
mov ebx, edi
jmp 0x45ad41