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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x134
mov eax, dword [0x4c9890]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
push ebx
mov ebx, dword [ecx + 4]
push esi
mov esi, dword [ecx]
push edi
mov eax, dword [esi + 8]
mov edi, dword [ecx + 8]
mov eax, dword [eax + 0xc]
push ecx
mov al, byte [eax + 0x4d]
mov byte [ebp - 0xf4], al
xor eax, eax
mov dword [ebp - 0x10c], eax
mov eax, dword [esi + 0x30]
mov dword [ebp - 0xfc], eax
mov eax, dword [esi + 0x34]
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xdc], esi
mov byte [ebp - 0xf5], 0
mov dword [ebp - 0x110], 0
mov dword [ebp - 0xe0], edi
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x100], eax
call fcn.00473390
mov ecx, dword [ebp - 0xd8]
add esp, 4
cmp dword [ecx + 0x5c], 7
je 0x479514
mov dword [ecx + 0x5c], 0
mov dword [ecx + 0x14], 0
cmp dword [esi + 0xe0], 0
mov dword [esi + 0x1b4], 0
jne 0x4794ff
mov eax, dword [ecx + 0x58]
xor edx, edx
cmp dword [esi + 0x114], edx
mov dword [ebp - 0xd4], eax
setne dl
mov dword [ebp - 0x114], edx
cmp byte [esi + 0x1e], 0
jne 0x479514
lea edi, [eax + eax*4]
test edx, edx
je 0x473522
mov eax, dword [ebp - 0x110]
cmp dword [esi + 0x11c], eax
jne 0x47351b
push dword [esi + 0x118]
mov eax, dword [esi + 0x114]
call eax
add esp, 4
test eax, eax
jne 0x47920c
inc eax
mov dword [ebp - 0x110], eax
test byte [ebx + edi*4 + 2], 2
je 0x473564
mov eax, dword [ebx + edi*4 + 8]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, 0x2460
mov dword [ebp - 0xe8], edx
test word [edx + 0x1c], ax
je 0x473559
push edx
call fcn.0047af60
mov edx, dword [ebp - 0xe8]
add esp, 4
mov eax, 4
mov word [edx + 0x1c], ax
jmp 0x47356a
mov edx, dword [ebp - 0xe8]
movzx eax, byte [ebx + edi*4]
dec eax
cmp eax, 0x93
ja case.0x47357a.17
jmp dword [eax*4 + 0x479548]
cmp dword [esi + 0xe0], 0
jne 0x4794f9
mov eax, dword [ebx + edi*4 + 8]
dec eax
mov dword [ebp - 0xd4], eax
jmp case.0x47357a.17
mov ecx, dword [ebx + edi*4 + 4]
mov eax, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
lea ecx, [ecx + ecx*4]
mov edx, 4
mov word [eax + ecx*8 + 0x1c], dx
mov eax, dword [ebp - 0xd4]
cdq
mov dword [esi + ecx*8 + 0x10], eax
mov eax, esi
mov dword [eax + ecx*8 + 0x14], edx
mov eax, dword [ebx + edi*4 + 8]
dec eax
mov dword [ebp - 0xd4], eax
mov esi, dword [ebp - 0xdc]
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*8 + 0x10]
mov dword [ebp - 0xd4], eax
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 4]
mov edi, dword [ebp - 0xe0]
lea ecx, [eax + eax*4]
mov eax, 4
mov word [edi + ecx*8 + 0x1c], ax
mov eax, dword [edi + ecx*8 + 0x10]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xd4]
cdq
mov dword [edi + ecx*8 + 0x10], eax
mov dword [edi + ecx*8 + 0x14], edx
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xd4], eax
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
je case.0x47357a.17
cmp dword [ebx + edi*4 + 4], 0
mov ecx, dword [ebp - 0xd8]
jne 0x47927b
mov edx, dword [ecx + 0xa8]
test edx, edx
je 0x47927b
push dword [ecx + 0x6c]
mov eax, dword [edx + 0x3c]
dec dword [ecx + 0xb0]
push esi
mov dword [ecx + 0xa8], eax
call fcn.0047c1f0
push edx
call fcn.00479ba0
mov ecx, dword [esi + 0x30]
mov dword [ebp - 0xfc], ecx
mov ecx, dword [esi + 0x34]
add esp, 0xc
cmp dword [ebx + edi*4 + 8], 4
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0x100], ecx
jne 0x4736cd
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4 + 8]
dec eax
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd8]
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 0xe0], eax
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x47357a.17
mov ecx, dword [ebx + edi*4 + 0x10]
mov eax, dword [ecx]
mov dword [edx + 0x10], eax
mov eax, dword [ecx + 4]
mov dword [edx + 0x14], eax
jmp case.0x47357a.17
mov eax, 8
mov word [edx + 0x1c], ax
mov eax, dword [ebx + edi*4 + 0x10]
movsd xmm0, qword [eax]
movsd qword [edx + 8], xmm0
jmp case.0x47357a.17
mov edx, dword [ebx + edi*4 + 0x10]
push edx
mov byte [ebx + edi*4], 9
call fcn.004705b0
add esp, 4
cmp byte [ebp - 0xf4], 1
mov dword [ebx + edi*4 + 4], eax
je 0x4737e1
push 0
push 1
push 0xffffffffffffffff
push edx
push dword [ebp - 0xe8]
call fcn.0047b100
add esp, 0x14
mov dword [ebp - 0xd0], eax
cmp eax, 0x12
je 0x4794d7
movzx ecx, byte [ebp - 0xf4]
push ecx
push dword [ebp - 0xe8]
call fcn.00472d50
add esp, 8
test eax, eax
jne 0x479514
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 [ebx + edi*4 + 1], 0xff
jne 0x4737ce
push dword [ebx + edi*4 + 0x10]
push esi
call fcn.0045f2e0
mov ecx, dword [ebp - 0xe8]
add esp, 8
mov byte [ebx + edi*4 + 1], 0xff
mov eax, dword [ecx + 4]
mov dword [ebx + edi*4 + 0x10], eax
mov eax, dword [ecx + 0x18]
mov dword [ebx + edi*4 + 4], eax
mov eax, dword [ebx + edi*4 + 4]
cmp eax, dword [esi + 0x48]
jg 0x4794d7
mov ecx, dword [ebp - 0xe8]
mov eax, 0xa02
mov word [ecx + 0x1c], ax
mov eax, dword [ebx + edi*4 + 0x10]
mov dword [ecx + 4], eax
mov eax, dword [ebx + edi*4 + 4]
mov dword [ecx + 0x18], eax
mov al, byte [ebp - 0xf4]
mov byte [ecx + 0x1f], al
jmp case.0x47357a.17
push 0
push 0
push dword [ebx + edi*4 + 4]
push dword [ebx + edi*4 + 0x10]
push edx
call fcn.0047b100
mov eax, dword [ebp - 0xe8]
mov cl, byte [ebp - 0xf4]
add esp, 0x14
mov byte [eax + 0x1f], cl
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 4]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
lea esi, [esi - 5]
mov eax, dword [eax + 0x48]
lea esi, [eax + esi*8]
push esi
mov dword [ebp - 0xcc], esi
call fcn.0047b400
add esp, 4
test eax, eax
jne 0x4794d1
push 0x800
push esi
push dword [ebp - 0xe8]
call fcn.0047b2c0
mov esi, dword [ebp - 0xdc]
add esp, 0xc
jmp case.0x47357a.17
mov edx, dword [ebx + edi*4 + 0xc]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebx + edi*4 + 4]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebx + edi*4 + 8]
mov edi, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
mov dword [ebp - 0xc0], ecx
lea esi, [edi + eax*8]
lea eax, [ecx + ecx*4]
lea edi, [edi + eax*8]
mov dword [ebp - 0xe8], edi
test edx, edx
je 0x473910
jmp 0x4738d0
dec edx
mov dword [ebp - 0xc8], edx
mov eax, dword [edi + 0x24]
push esi
mov dword [ebp - 0xcc], eax
push edi
mov dword [edi + 0x24], 0
call fcn.0047adb0
mov eax, dword [ebp - 0xcc]
mov dword [esi + 0x24], eax
mov edx, dword [ebp - 0xc8]
add esp, 8
add esi, 0x28
add edi, 0x28
test edx, edx
jne 0x4738d0
mov dword [ebp - 0xe8], edi
mov esi, dword [ebp - 0xdc]
dec edx
mov dword [ebp - 0xc8], edx
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 8]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
push 0x1000
lea eax, [ecx + eax*8]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebx + edi*4 + 4]
mov edi, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
push edi
call fcn.0047b2c0
mov eax, 0x1000
add esp, 0xc
test word [edi + 0x1c], ax
je case.0x47357a.17
push edi
call fcn.0047ad40
add esp, 4
test eax, eax
jne 0x479514
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 8]
mov edx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
push 0x1000
lea ecx, [edx + eax*8]
mov eax, dword [ebx + edi*4 + 4]
mov dword [ebp - 0xe8], ecx
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
push eax
push ecx
call fcn.0047b2c0
add esp, 0xc
jmp case.0x47357a.17
push 0
push dword [ebp - 0xd8]
call fcn.00472fd0
add esp, 8
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x4791ea
push 1
push dword [ebp - 0xd8]
call fcn.00473030
add esp, 8
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x4791ea
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xe0]
mov eax, dword [ecx + 0x54]
add eax, 2
or eax, 1
mov dword [ecx + 0x54], eax
mov eax, dword [ebx + edi*4 + 4]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov dword [ecx + 0x14], edx
xor ecx, ecx
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xc8], ecx
cmp dword [ebx + edi*4 + 8], ecx
jle 0x479335
lea esp, [esp]
lea eax, [ecx + ecx*4]
mov esi, 0x1000
test word [edx + eax*8 + 0x1c], si
mov esi, dword [ebp - 0xdc]
lea eax, [edx + eax*8]
je 0x473a65
push eax
call fcn.0047ad40
add esp, 4
test eax, eax
jne 0x479514
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xcc]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*8]
push eax
call fcn.0047ae10
mov eax, dword [ebp - 0xc8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xcc]
lea eax, [eax + ecx*8]
push eax
call fcn.0047b330
mov ecx, dword [ebp - 0xc8]
inc ecx
add esp, 8
mov dword [ebp - 0xc8], ecx
cmp ecx, dword [ebx + edi*4 + 8]
jge 0x479335
mov edx, dword [ebp - 0xcc]
jmp 0x473a30
mov eax, dword [ebx + edi*4 + 4]
mov edx, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
mov eax, dword [ecx + edi*4 + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + edi*4 + 0xc]
movzx ecx, word [ebx + 0x1c]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov al, byte [esi + 0x1c]
or al, cl
mov dword [ebp - 0xe8], edi
test al, 1
je 0x473b02
push edi
call fcn.0047b050
add esp, 4
mov ebx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xdc]
jmp case.0x47357a.17
test ecx, 0x4000
je 0x473b1b
push ebx
call fcn.0047a9b0
add esp, 4
test eax, eax
jne 0x47950e
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x473b37
push esi
call fcn.0047a9b0
add esp, 4
test eax, eax
jne 0x47950e
test byte [ebx + 0x1c], 0x12
jne 0x473b56
movzx eax, byte [ebp - 0xf4]
push eax
push ebx
call fcn.0047b370
add esp, 8
test eax, eax
jne 0x47950e
test byte [esi + 0x1c], 0x12
jne 0x473b75
movzx eax, byte [ebp - 0xf4]
push eax
push esi
call fcn.0047b370
add esp, 8
test eax, eax
jne 0x47950e
mov eax, dword [ebx + 0x18]
add eax, dword [esi + 0x18]
cdq
mov edi, eax
mov eax, dword [ebp - 0xdc]
mov ecx, edx
mov dword [ebp - 0xcc], edi
mov dword [ebp - 0xc8], ecx
mov eax, dword [eax + 0x48]
cdq
cmp ecx, edx
jg 0x4794d1
jl 0x473ba8
cmp edi, eax
ja 0x4794d1
mov edi, dword [ebp - 0xe8]
mov ecx, 0xbf02
mov ax, word [edi + 0x1c]
and ax, cx
or ax, 2
mov word [edi + 0x1c], ax
xor eax, eax
cmp edi, esi
sete al
push eax
mov eax, dword [ebp - 0xcc]
add eax, 2
push eax
push edi
call fcn.0047aba0
add esp, 0xc
test eax, eax
jne 0x47950e
cmp edi, esi
je 0x473bfa
push dword [esi + 0x18]
push dword [esi + 4]
push dword [edi + 4]
call fcn.00488240
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.00488240
mov eax, dword [ebp - 0xcc]
mov ecx, dword [edi + 4]
mov ebx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xdc]
mov byte [eax + ecx], 0
mov eax, dword [ebp - 0xcc]
mov ecx, dword [edi + 4]
add esp, 0xc
mov byte [ecx + eax + 1], 0
mov eax, 0x200
or word [edi + 0x1c], ax
mov eax, dword [ebp - 0xcc]
mov dword [edi + 0x18], eax
mov al, byte [ebp - 0xf4]
mov byte [edi + 0x1f], al
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.00442dc0
mov eax, dword [ebx + edi*4 + 8]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
push ebx
call fcn.00442dc0
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [eax + edi*4 + 0xc]
add esp, 8
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
movzx ecx, word [esi + 0x1c]
mov dword [ebp - 0xe8], eax
movzx eax, word [ebx + 0x1c]
or ecx, eax
mov dword [ebp - 0xcc], ecx
test cl, 1
jne 0x473fbc
mov al, byte [esi + 0x1c]
and al, byte [ebx + 0x1c]
test al, 4
je 0x473d2a
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0xc4], ecx
mov edx, dword [esi + 0x14]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xbc], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x104], eax
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xe4]
movzx eax, byte [eax + edi*4]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x473d0a
jmp dword [eax*4 + 0x479798]
push edx
push ecx
lea eax, [ebp - 0xbc]
push eax
call fcn.00458c40
add esp, 0xc
test eax, eax
je 0x473e19
push esi
call fcn.0047b9a0
fstp qword [ebp - 0xb4]
push ebx
call fcn.0047b9a0
fst qword [ebp - 0xac]
mov ebx, dword [ebp - 0xe4]
add esp, 8
movzx eax, byte [ebx + edi*4]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x473d5b
jmp dword [eax*4 + 0x4797a8]
push edx
push ecx
lea eax, [ebp - 0xbc]
push eax
call fcn.004705e0
add esp, 0xc
test eax, eax
jne 0x473d2a
jmp 0x473e19
push edx
push ecx
lea eax, [ebp - 0xbc]
push eax
call fcn.00467db0
add esp, 0xc
test eax, eax
jne 0x473d2a
jmp 0x473e19
mov eax, ecx
or eax, edx
je 0x473fbc
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0xec]
jne 0x473dc3
test eax, eax
jne 0x473dc3
cmp dword [ebp - 0x104], 0x80000000
je 0x473d2a
push edx
push ecx
push dword [ebp - 0x104]
push eax
call fcn.004880a0
jmp 0x473e0d
mov eax, ecx
or eax, edx
je 0x473fbc
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x473df9
mov ecx, 1
xor edx, edx
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0xec]
push edx
push ecx
push dword [ebp - 0x104]
push eax
call fcn.0048c360
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xbc]
mov ebx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xdc]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xb8]
mov dword [ecx + 0x14], eax
mov ax, word [ecx + 0x1c]
mov edx, 0xbf04
and ax, dx
or ax, 4
mov word [ecx + 0x1c], ax
jmp case.0x47357a.17
movsd xmm0, qword [ebp - 0xac]
fstp st(0)
addsd xmm0, qword [ebp - 0xb4]
movsd qword [ebp - 0xac], xmm0
jmp 0x473f60
movsd xmm0, qword [ebp - 0xac]
fstp st(0)
subsd xmm0, qword [ebp - 0xb4]
movsd qword [ebp - 0xac], xmm0
jmp 0x473f60
movsd xmm0, qword [ebp - 0xac]
fstp st(0)
mulsd xmm0, qword [ebp - 0xb4]
movsd qword [ebp - 0xac], xmm0
jmp 0x473f60
movsd xmm1, qword [ebp - 0xb4]
fstp st(0)
ucomisd xmm1, qword [0x4b0438]
lahf
test ah, 0x44
jnp 0x473fc2
movsd xmm0, qword [ebp - 0xac]
divsd xmm0, xmm1
movsd qword [ebp - 0xac], xmm0
jmp 0x473f60
fld qword [ebp - 0xb4]
call fcn.0048c4d6
mov esi, eax
mov edi, edx
mov dword [ebp - 0xc4], esi
mov dword [ebp - 0xc0], edi
call fcn.0048c4d6
mov ecx, esi
or ecx, edi
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], edx
je 0x473fc2
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x473f37
mov esi, 1
xor edi, edi
mov dword [ebp - 0xc4], esi
mov dword [ebp - 0xc0], edi
push edi
push esi
push edx
push eax
call fcn.0048c360
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], edx
fild qword [ebp - 0x134]
fstp qword [ebp - 0xac]
movsd xmm0, qword [ebp - 0xac]
sub esp, 8
movsd qword [esp], xmm0
call fcn.00467060
add esp, 8
test eax, eax
jne 0x473fc2
mov edi, dword [ebp - 0xe8]
movsd xmm0, qword [ebp - 0xac]
mov ax, word [edi + 0x1c]
mov ecx, 0xbf08
and ax, cx
or ax, 8
movsd qword [edi + 8], xmm0
mov word [edi + 0x1c], ax
test byte [ebp - 0xcc], 8
jne 0x4735d7
push edi
call fcn.0047a1b0
mov esi, dword [ebp - 0xdc]
add esp, 4
jmp case.0x47357a.17
mov ebx, dword [ebp - 0xe4]
push dword [ebp - 0xe8]
call fcn.0047b050
mov esi, dword [ebp - 0xdc]
add esp, 4
jmp case.0x47357a.17
movzx ecx, byte [ebx + edi*4 + 3]
mov eax, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xe0]
mov esi, dword [eax + 0xc]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x84], esi
mov eax, dword [ebx + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebx + edi*4 + 8]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
xor eax, eax
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xcc], eax
test ecx, ecx
jle 0x47408d
jmp 0x474030
mov dword [esi + eax*4], edx
mov eax, dword [ebp - 0xc8]
mov ecx, 0x1000
test word [eax + 0x1c], cx
je 0x47405b
push eax
call fcn.0047ad40
add esp, 4
test eax, eax
jne 0x47950e
mov eax, dword [ebp - 0xc8]
push eax
call fcn.0047b330
mov eax, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xc8]
inc eax
add edx, 0x28
add esp, 4
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], edx
cmp eax, dword [ebp - 0x80]
jge 0x47408d
mov esi, dword [ebp - 0x84]
jmp 0x474030
cmp byte [ebx + edi*4 + 1], 0xfb
mov eax, dword [ebx + edi*4 + 0x10]
jne 0x4740a4
mov dword [ebp - 0xc0], 0
jmp 0x4740ac
mov dword [ebp - 0xc0], eax
mov eax, dword [eax]
push dword [ebp - 0xe8]
mov esi, dword [ebp - 0xdc]
mov dword [ebp - 0xc4], eax
mov eax, 1
mov word [ebp - 0xa0], ax
lea eax, [ebp - 0xbc]
push eax
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0
call fcn.0047adb0
mov eax, dword [ebp - 0xa0]
and eax, 0xbf01
or eax, 1
mov word [ebp - 0xa0], ax
mov eax, dword [ebp - 0xc4]
add esp, 8
mov dword [ebp - 0x90], 0
test byte [eax + 3], 8
je 0x474128
mov eax, dword [ebx + edi*4 - 4]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0xfc]
mov dword [esi + 0x30], eax
mov eax, dword [ebp - 0x100]
mov dword [esi + 0x34], eax
push dword [ebp - 0x84]
lea eax, [ebp - 0xc4]
push dword [ebp - 0x80]
push eax
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax + 0xc]
call eax
mov eax, dword [esi + 0x30]
mov dword [ebp - 0xfc], eax
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xc0]
add esp, 0xc
test eax, eax
je 0x474190
push dword [ebx + edi*4 + 4]
push eax
call fcn.00473280
mov eax, dword [ebp - 0xc0]
add esp, 8
mov dword [ebx + edi*4 + 0x10], eax
mov byte [ebx + edi*4 + 1], 0xf9
cmp byte [esi + 0x1e], 0
jne 0x479359
cmp dword [ebp - 0x90], 0
je 0x4741d4
lea eax, [ebp - 0xbc]
push eax
call fcn.004412b0
push eax
mov eax, dword [ebp - 0xd8]
push 0x4afe94
add eax, 0x38
push esi
push eax
call fcn.0046f820
mov eax, dword [ebp - 0x90]
add esp, 0x14
mov dword [ebp - 0xd0], eax
movzx eax, byte [ebp - 0xf4]
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.00472d50
mov edi, dword [ebp - 0xe8]
lea eax, [ebp - 0xbc]
push eax
push edi
call fcn.0047adb0
push edi
call fcn.0047b400
add esp, 0x14
test eax, eax
jne 0x4794d7
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 4]
mov edx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ebx + edi*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [ebx + edi*4 + 0xc]
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 0x474259
push edx
call fcn.0047b050
mov esi, dword [ebp - 0xdc]
add esp, 4
jmp case.0x47357a.17
push ecx
call fcn.0047a140
push esi
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], edx
call fcn.0047a140
mov esi, eax
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0xb8], edx
mov cl, byte [ebx + edi*4]
add esp, 8
mov byte [ebp - 0xb4], cl
cmp cl, 0x52
jne 0x4742a9
mov ecx, dword [ebp - 0xcc]
and ecx, esi
and dword [ebp - 0xc8], edx
mov dword [ebp - 0xcc], ecx
jmp 0x474402
cmp cl, 0x53
jne 0x4742c7
mov ecx, dword [ebp - 0xcc]
or ecx, esi
or dword [ebp - 0xc8], edx
mov dword [ebp - 0xcc], ecx
jmp 0x474402
mov eax, esi
or eax, edx
je 0x4743fc
test edx, edx
jg 0x474311
jl 0x4742db
test esi, esi
jae 0x474306
mov al, 0xa9
sub al, cl
mov cl, al
mov byte [ebp - 0xb4], cl
cmp edx, 0xffffffff
jl 0x474341
jg 0x4742f3
cmp esi, 0xffffffc0
jbe 0x474341
neg esi
adc edx, 0
neg edx
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0xb8], edx
test edx, edx
jl 0x47436d
jg 0x474311
cmp esi, 0x40
jb 0x47436d
cmp dword [ebp - 0xc8], 0
jg 0x474357
jl 0x474325
cmp dword [ebp - 0xcc], 0
jae 0x474357
cmp cl, 0x54
je 0x474357
or eax, 0xffffffff
cdq
mov ecx, eax
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc8], edx
jmp 0x474402
mov dword [ebp - 0xbc], 0x40
mov dword [ebp - 0xb8], 0
jmp 0x474311
xor eax, eax
cdq
mov ecx, eax
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc8], edx
jmp 0x474402
movq xmm1, qword [ebp - 0xcc]
movd xmm0, esi
cmp cl, 0x54
jne 0x4743a4
psllq xmm1, xmm0
movq qword [ebp - 0xc4], xmm1
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc8], eax
jmp 0x474402
cmp dword [ebp - 0xc8], 0
psrlq xmm1, xmm0
movq qword [ebp - 0xc4], xmm1
jg 0x4743e2
jl 0x4743c4
cmp dword [ebp - 0xcc], 0
jae 0x4743e2
mov ecx, 0x40
sub ecx, esi
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.0048aed0
or dword [ebp - 0xc4], eax
or dword [ebp - 0xc0], edx
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc8], eax
jmp 0x474402
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xdc]
mov dword [edx + 0x10], ecx
mov eax, dword [ebp - 0xc8]
mov dword [edx + 0x14], eax
mov ax, word [edx + 0x1c]
mov ecx, 0xbf04
and ax, cx
or ax, 4
mov word [edx + 0x1c], ax
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.0047ad10
mov eax, dword [ebx + edi*4 + 8]
cdq
add esp, 4
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
mov esi, dword [ebp - 0xdc]
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
push dword [ebp - 0xf4]
lea eax, [eax + eax*4]
push 0x63
lea esi, [ecx + eax*8]
push esi
call fcn.00442d60
movzx eax, word [esi + 0x1c]
add esp, 0xc
test al, 4
jne 0x4744a9
mov eax, dword [ebx + edi*4 + 8]
mov esi, dword [ebp - 0xdc]
test eax, eax
je 0x47936d
dec eax
mov dword [ebp - 0xd4], eax
jmp case.0x47357a.17
and eax, 0xbf04
or eax, 4
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xdc]
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 4
lea eax, [ecx + eax*8]
je case.0x47357a.17
push eax
call fcn.0047aef0
add esp, 4
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx ecx, word [esi + 0x1c]
test cl, 1
jne 0x4735d7
push dword [ebp - 0xf4]
mov eax, ecx
shr eax, 3
and eax, 2
or eax, ecx
push 0x61
push esi
mov word [esi + 0x1c], ax
call fcn.00442d60
mov eax, 0x4000
add esp, 0xc
test word [esi + 0x1c], ax
je 0x474553
push esi
call fcn.0047a9b0
mov ecx, 0xbfe3
add esp, 4
and word [esi + 0x1c], cx
mov esi, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], eax
jmp 0x4791ea
xor eax, eax
mov ecx, 0xbfe3
and word [esi + 0x1c], cx
mov dword [ebp - 0xd0], eax
mov esi, dword [ebp - 0xdc]
jmp 0x4791ea
mov eax, dword [ebx + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 0x1c]
test al, 1
jne 0x4735d7
test al, 0x10
jne 0x4745bf
push dword [ebp - 0xf4]
push 0x61
push esi
call fcn.00442d60
mov ax, word [esi + 0x1c]
mov ecx, 0xbf10
and ax, cx
add esp, 0xc
or ax, 0x10
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xdc]
jmp case.0x47357a.17
and eax, 0xff10
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xdc]
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
call fcn.0047ae70
add esp, 4
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea eax, [ecx + eax*8]
jne case.0x47357a.17
push eax
call fcn.0047ad10
add esp, 4
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea eax, [ecx + eax*8]
jne case.0x47357a.17
push eax
call fcn.0047aef0
add esp, 4
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 4]
mov edx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ebx + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
movzx eax, word [esi + 0x1c]
mov word [ebp - 0xc6], ax
movzx eax, word [ecx + 0x1c]
mov bl, byte [ebp - 0xc6]
mov word [ebp - 0xc4], ax
mov dword [ebp - 0xec], ecx
mov cl, al
or al, bl
test al, 1
mov eax, dword [ebp - 0xe4]
mov al, byte [eax + edi*4 + 3]
je 0x4746f8
test al, al
jns 0x4746a7
and cl, bl
test cl, 1
mov edx, 0
sete dl
jmp 0x474788
mov ebx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xdc]
test al, 0x10
je 0x4746e0
mov eax, dword [ebx + edi*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov edx, 0xbf01
mov ax, word [ecx + 0x1c]
and ax, dx
or ax, 1
mov dword [ebp - 0xe8], ecx
mov word [ecx + 0x1c], ax
jmp case.0x47357a.17
test al, 8
je case.0x47357a.17
mov eax, dword [ebx + edi*4 + 8]
dec eax
mov dword [ebp - 0xd4], eax
jmp case.0x47357a.17
and al, 0x67
mov byte [ebp - 0xc8], al
je 0x47473e
mov ebx, dword [ebp - 0xf4]
push ebx
push dword [ebp - 0xc8]
push esi
call fcn.00442d60
push ebx
push dword [ebp - 0xc8]
mov ebx, dword [ebp - 0xec]
push ebx
call fcn.00442d60
mov eax, dword [ebp - 0xdc]
add esp, 0x18
cmp byte [eax + 0x1e], 0
je 0x474744
mov esi, eax
jmp 0x479514
mov ebx, dword [ebp - 0xec]
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x47475d
push esi
call fcn.0047a9b0
add esp, 4
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x47476c
push ebx
call fcn.0047a9b0
add esp, 4
mov eax, dword [ebp - 0xe4]
push dword [eax + edi*4 + 0x10]
push esi
push ebx
call fcn.004679c0
mov bl, byte [ebp - 0xc6]
add esp, 0xc
mov edx, eax
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xcc], edx
movzx ecx, byte [eax + edi*4]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x4747a0
jmp dword [ecx*4 + 0x4797b8]
xor eax, eax
test edx, edx
sete al
jmp 0x4747db
xor eax, eax
test edx, edx
setne al
jmp 0x4747db
xor eax, eax
test edx, edx
sets al
jmp 0x4747db
xor eax, eax
test edx, edx
setle al
jmp 0x4747db
xor eax, eax
test edx, edx
setg al
jmp 0x4747db
xor eax, eax
test edx, edx
setns al
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xcc], eax
test byte [ecx + edi*4 + 3], 0x10
je 0x47482d
mov eax, dword [ecx + edi*4 + 8]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, 0xbf04
mov ax, word [edi + 0x1c]
and ax, cx
or ax, 4
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0xcc]
cdq
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
mov bl, byte [ebp - 0xc6]
mov dword [ebp - 0xe8], edi
jmp 0x47483c
test eax, eax
je 0x47483c
mov eax, dword [ecx + edi*4 + 8]
dec eax
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xec]
mov byte [esi + 0x1c], bl
mov al, byte [ebp - 0xc4]
mov ebx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xdc]
mov byte [ecx + 0x1c], al
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 0x10]
mov dword [ebp - 0x10c], eax
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 0xc]
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0xcc], eax
mov ebx, dword [ebx + edi*4 + 0x10]
mov dword [ebp - 0xbc], ebx
mov ecx, dword [edx + edi*4 + 4]
mov dword [ebp - 0xc4], ecx
mov edi, dword [edx + edi*4 + 8]
xor edx, edx
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xc0], edi
mov dword [ebp - 0xc8], edx
test eax, eax
jle 0x47495b
mov eax, dword [ebp - 0x10c]
test eax, eax
je 0x4748c1
mov esi, dword [eax + edx*4]
jmp 0x4748c3
mov esi, edx
mov dword [ebp - 0xb8], esi
mov ecx, dword [ebx + edx*4 + 0xc]
mov dword [ebp - 0xb4], ecx
mov eax, dword [ebx + 8]
push ecx
movzx eax, byte [eax + edx]
mov dword [ebp - 0xb0], eax
lea eax, [esi + edi]
mov edi, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
push eax
mov eax, dword [ebp - 0xec]
add eax, esi
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
push eax
call fcn.004679c0
add esp, 0xc
mov dword [ebp - 0x108], eax
test eax, eax
jne 0x474944
mov edx, dword [ebp - 0xc8]
inc edx
mov dword [ebp - 0xc8], edx
cmp edx, dword [ebp - 0xcc]
jge 0x474955
mov ecx, dword [ebp - 0xc4]
mov ebx, dword [ebp - 0xbc]
mov edi, dword [ebp - 0xc0]
mov dword [ebp - 0xec], ecx
jmp 0x4748b2
cmp dword [ebp - 0xb0], 0
je 0x474955
neg eax
mov dword [ebp - 0x108], eax
mov esi, dword [ebp - 0xdc]
mov ebx, dword [ebp - 0xe4]
xor eax, eax
mov dword [ebp - 0x10c], eax
jmp case.0x47357a.17
mov eax, dword [ebp - 0x108]
test eax, eax
jns 0x474988
mov eax, dword [ebx + edi*4 + 4]
dec eax
mov dword [ebp - 0xd4], eax
jmp case.0x47357a.17
jne 0x47499a
mov eax, dword [ebx + edi*4 + 8]
dec eax
mov dword [ebp - 0xd4], eax
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 0xc]
dec eax
mov dword [ebp - 0xd4], eax
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea eax, [ecx + eax*8]
je 0x4749c8
mov ecx, 2
jmp 0x4749de
push eax
call fcn.0047a140
add esp, 4
or eax, edx
je 0x4749dc
mov ecx, 1
jmp 0x4749de
xor ecx, ecx
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xcc], ecx
mov eax, dword [ebx + edi*4 + 8]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 1
lea eax, [edx + eax*8]
je 0x474a02
mov eax, 2
jmp 0x474a24
push eax
call fcn.0047a140
mov ecx, dword [ebp - 0xcc]
add esp, 4
or eax, edx
mov edx, dword [ebp - 0xe0]
je 0x474a22
mov eax, 1
jmp 0x474a24
xor eax, eax
mov dword [ebp - 0xc8], eax
cmp byte [ebx + edi*4], 0x45
lea eax, [eax + ecx*2]
jne 0x474a3d
movzx ecx, byte [ecx + eax + 0x4b4c6c]
jmp 0x474a45
movzx ecx, byte [ecx + eax + 0x4b5164]
mov dword [ebp - 0xcc], ecx
mov eax, dword [ebx + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov dword [ebp - 0xe8], edi
cmp ecx, 2
jne 0x474a79
mov ax, word [edi + 0x1c]
mov ecx, 0xbf01
and ax, cx
or ax, 1
mov word [edi + 0x1c], ax
jmp case.0x47357a.17
mov eax, ecx
cdq
mov dword [edi + 0x10], eax
mov ax, word [edi + 0x1c]
mov ecx, 0xbf04
and ax, cx
or ax, 4
mov dword [edi + 0x14], edx
mov word [edi + 0x1c], ax
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 4]
mov edx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 1
lea ecx, [edx + eax*8]
mov eax, dword [ebx + edi*4 + 8]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov dword [ebp - 0xe8], edi
je 0x474ad0
push edi
call fcn.0047b050
add esp, 4
jmp case.0x47357a.17
push ecx
call fcn.0047a140
add esp, 4
or eax, edx
jne 0x474af3
mov eax, 1
cdq
push edx
push eax
push edi
call fcn.0047b020
add esp, 0xc
jmp case.0x47357a.17
xor eax, eax
cdq
push edx
push eax
push edi
call fcn.0047b020
add esp, 0xc
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 4]
mov edx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 1
lea ecx, [edx + eax*8]
mov eax, dword [ebx + edi*4 + 8]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov dword [ebp - 0xe8], edi
je 0x474b3b
push edi
call fcn.0047b050
add esp, 4
jmp case.0x47357a.17
push ecx
call fcn.0047a140
not edx
push edx
not eax
push eax
push edi
call fcn.0047b020
add esp, 0x10
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea esi, [ecx + eax*8]
je 0x474b72
mov ecx, dword [ebx + edi*4 + 0xc]
jmp 0x474bb5
push esi
call fcn.0047b9a0
fstp qword [ebp - 0xf0]
movsd xmm0, qword [ebp - 0xf0]
add esp, 4
ucomisd xmm0, qword [0x4b0438]
lahf
test ah, 0x44
jnp 0x474b9e
mov ecx, 1
jmp 0x474ba0
xor ecx, ecx
mov dword [ebp - 0xcc], ecx
cmp byte [ebx + edi*4], 0x1c
jne 0x474bbb
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
mov dword [ebp - 0xcc], ecx
test ecx, ecx
je 0x474bd5
mov eax, dword [ebx + edi*4 + 8]
mov esi, dword [ebp - 0xdc]
dec eax
mov dword [ebp - 0xd4], eax
jmp case.0x47357a.17
cmp byte [ebx + edi*4], 0x1a
mov edx, dword [ebp - 0xd4]
jne 0x474bf8
mov eax, 4
mov word [esi + 0x1c], ax
mov dword [esi + 0x10], 1
mov dword [esi + 0x14], 0
mov esi, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xd0]
jmp 0x4791f0
mov eax, dword [ebx + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
jmp 0x4746e2
mov eax, dword [ebx + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
jne case.0x47357a.17
mov eax, dword [ebx + edi*4 + 8]
dec eax
mov dword [ebp - 0xd4], eax
jmp case.0x47357a.17
mov ecx, dword [ebx + edi*4 + 4]
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xbc], ecx
mov eax, dword [ebx + edi*4 + 8]
mov dword [ebp - 0xb8], eax
xorps xmm0, xmm0
mov dword [ebp - 0xb4], 0
movq qword [ebp - 0x8c], xmm0
movq qword [ebp - 0x84], xmm0
movq qword [ebp - 0x7c], xmm0
movq qword [ebp - 0x74], xmm0
movq qword [ebp - 0x6c], xmm0
mov eax, dword [ebx + edi*4 + 0xc]
mov dword [ebp - 0xb0], 0
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x44]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0xb4], edx
mov eax, dword [edx]
mov dword [ebp - 0xac], eax
test eax, eax
je 0x474d55
push edx
call fcn.004731a0
add esp, 4
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x47948e
mov ecx, dword [ebp - 0xb4]
cmp byte [ecx + 0x1c], al
jne 0x47522c
mov edx, dword [ebp - 0xd8]
mov eax, dword [ecx + 0x50]
cmp eax, dword [edx + 0x54]
jne 0x474d15
mov edx, dword [ecx + 0x54]
mov dword [ebp - 0xcc], edx
mov eax, dword [ecx + 0x60]
mov dword [ebp - 0xb0], eax
jmp 0x474da4
cmp byte [ecx + 0x1f], 0
je 0x474d3e
lea eax, [ebp - 0xc4]
push eax
push dword [ebp - 0xac]
call fcn.0045c5a0
mov edx, dword [ebp - 0xc4]
add esp, 8
mov dword [ebp - 0xcc], edx
jmp 0x474d9e
lea eax, [ebp - 0xcc]
push eax
push dword [ebp - 0xac]
call fcn.0045bae0
add esp, 8
jmp 0x474d98
mov eax, dword [edx + 0x10]
test eax, eax
jle 0x47522c
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0x48], ecx
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0xcc], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0xb0], eax
test byte [ebx + edi*4 + 3], 0x20
je 0x474d8c
xor eax, eax
jmp 0x474d95
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x54]
mov dword [edx + 0x50], eax
mov edx, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xb4]
test edx, edx
je 0x475236
cmp edx, dword [esi + 0x48]
ja 0x4794d7
mov esi, dword [ecx + 0x14]
mov ebx, dword [ebp - 0xd8]
mov dword [ebp - 0xa0], esi
mov edx, dword [ecx + 0x58]
mov dword [ebp - 0xa8], edx
mov eax, dword [ecx + 0x50]
cmp eax, dword [ebx + 0x54]
mov ebx, dword [ebp - 0xe4]
jne 0x474de9
mov eax, dword [ecx + 0x5c]
mov dword [ebp - 0xa4], eax
jmp 0x475046
lea eax, [edx + esi*4]
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x50], 0
mov dword [ecx + 0x5c], eax
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 0x54], eax
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x54]
mov eax, dword [ebp - 0xb4]
mov dword [eax + 0x50], ecx
mov ecx, dword [ebp - 0xb0]
test ecx, ecx
je 0x474e2f
mov dword [ebp - 0x94], ecx
jmp 0x474e85
mov eax, dword [ebp - 0xb4]
cmp byte [eax + 0x1f], 0
lea eax, [ebp - 0x50]
push eax
push dword [ebp - 0xac]
je 0x474e4c
call fcn.0045c580
jmp 0x474e51
call fcn.0045bac0
mov ecx, eax
mov eax, dword [ebp - 0xcc]
add esp, 8
cmp eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x94], ecx
ja 0x474e78
mov dword [ebp - 0xb0], ecx
mov dword [eax + 0x60], ecx
jmp 0x474e7f
mov dword [eax + 0x60], 0
mov ecx, dword [ebp - 0x94]
mov al, byte [ecx]
cmp al, 0x80
jae 0x474e98
movzx edx, al
mov dword [ebp - 0x5c], edx
mov eax, 1
jmp 0x474eb1
lea eax, [ebp - 0x5c]
push eax
push ecx
call fcn.00465690
mov edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x94]
add esp, 8
movzx eax, al
movzx eax, al
mov dword [ebp - 0x54], eax
cmp edx, 0x18003
jbe 0x474edd
push 0x100a0
call fcn.0045e420
mov esi, dword [ebp - 0xdc]
add esp, 4
mov dword [ebp - 0xd0], eax
jmp 0x4791ea
mov ebx, dword [ebp - 0xa0]
lea esi, [ebx*4 + 3]
add esi, ebx
cmp esi, edx
cmovg esi, edx
cmp dword [ebp - 0xb0], 0
mov dword [ebp - 0x9c], esi
jne 0x474f5f
cmp dword [ebp - 0x50], esi
jge 0x474f5f
xor eax, eax
mov word [ebp - 0x70], ax
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0x8c]
push eax
mov eax, dword [ebp - 0xb4]
movzx eax, byte [eax + 0x1f]
push eax
push esi
push 0
push dword [ebp - 0xac]
call fcn.0047aac0
mov ebx, eax
add esp, 0x14
mov dword [ebp - 0xd0], ebx
test ebx, ebx
jne 0x473af1
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x9c]
mov ebx, dword [ebp - 0xa0]
mov dword [ebp - 0x94], ecx
lea eax, [ecx + esi]
mov esi, dword [ebp - 0x54]
add esi, ecx
xor ecx, ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x98], ecx
test ebx, ebx
jle 0x474ff1
lea esp, [esp]
cmp esi, eax
mov eax, dword [ebp - 0xa4]
jae 0x4750a4
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0x64]
mov cl, byte [eax]
cmp cl, 0x80
jae 0x474fa7
movzx edx, cl
inc eax
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x64], eax
jmp 0x474fbd
lea ecx, [ebp - 0x4c]
push ecx
push eax
call fcn.00465690
mov edx, dword [ebp - 0x4c]
movzx eax, al
add esp, 8
add dword [ebp - 0x64], eax
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x98]
mov dword [eax + ecx*4], edx
push dword [ebp - 0x4c]
call fcn.0047c1d0
mov edx, dword [ebp - 0x5c]
add edx, eax
add esp, 4
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x5c], edx
cmp edx, eax
jae 0x4750ae
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x8c]
push eax
call fcn.0047af20
mov edx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
add esp, 4
mov eax, 1
mov word [ebp - 0x70], ax
cmp edx, esi
ja 0x475208
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0xcc]
cmp eax, ecx
ja 0x475208
cmp edx, esi
jne 0x475034
cmp eax, ecx
jne 0x475208
mov eax, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xa8]
mov ebx, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xb8]
cmp dword [eax + ecx*4], 0
je 0x475170
cmp dword [ebp - 0xb0], 0
je 0x4750d2
mov esi, dword [ebp - 0x90]
mov edi, 0x2460
test word [esi + 0x1c], di
je 0x475091
push esi
call fcn.0047af60
mov esi, dword [ebp - 0x90]
mov eax, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xb8]
add esp, 4
mov eax, dword [eax + ecx*4]
add eax, dword [ebp - 0xb0]
push esi
push dword [edx + ecx*4]
push eax
jmp 0x475157
mov dword [eax + ecx*4], 0
mov edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x98]
inc ecx
mov dword [ebp - 0x98], ecx
cmp ecx, dword [ebp - 0xa0]
jge 0x474ff1
mov eax, dword [ebp - 0x60]
mov esi, dword [ebp - 0x64]
jmp 0x474f80
push dword [edx + ecx*4]
call fcn.0047c1d0
push dword [ebp - 0x90]
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0x8c]
push eax
call fcn.0047adb0
mov ecx, dword [ebp - 0xa4]
lea eax, [ebp - 0x8c]
push eax
mov eax, dword [ebp - 0xb4]
movzx eax, byte [eax + 0x1f]
push eax
push dword [ebp - 0x9c]
mov eax, dword [ebp - 0xb8]
push dword [ecx + eax*4]
push dword [ebp - 0xac]
call fcn.0047aac0
add esp, 0x20
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x474564
mov edx, dword [ebp - 0x88]
push dword [ebp - 0x90]
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x94], edx
push dword [ecx + eax*4]
push edx
call fcn.0047bdc0
mov eax, dword [ebp - 0x90]
mov cl, byte [ebp - 0xf4]
add esp, 0xc
mov byte [eax + 0x1f], cl
jmp 0x4751aa
cmp byte [ebx + edi*4 + 1], 0xf8
jne 0x475190
push 0x800
push dword [ebx + edi*4 + 0x10]
push dword [ebp - 0x90]
call fcn.0047b2c0
add esp, 0xc
jmp 0x4751aa
mov ecx, dword [ebp - 0x90]
mov edx, 0xbf01
mov ax, word [ecx + 0x1c]
and ax, dx
or ax, 1
mov word [ecx + 0x1c], ax
cmp dword [ebp - 0x68], 0
je 0x4751e9
mov eax, dword [ebp - 0x90]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov eax, dword [ebp - 0x90]
mov ecx, 0x200
or word [eax + 0x1c], cx
mov ecx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x88]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x68]
mov dword [eax + 0x24], ecx
push dword [ebp - 0x90]
call fcn.0047ad40
mov esi, dword [ebp - 0xdc]
add esp, 4
mov dword [ebp - 0xd0], eax
jmp 0x4791ea
push 0x100f0
call fcn.0045e420
mov ebx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xdc]
add esp, 4
mov dword [ebp - 0xd0], eax
jmp case.0x47357a.17
mov dword [ebp - 0xcc], 0
mov ecx, dword [ebp - 0x90]
mov edx, 0xbf01
mov ax, word [ecx + 0x1c]
and ax, dx
or ax, 1
mov word [ecx + 0x1c], ax
jmp case.0x47357a.17
mov ecx, dword [ebx + edi*4 + 0x10]
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xcc], ecx
mov eax, dword [ebx + edi*4 + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov al, byte [ecx]
mov byte [ebp - 0xc8], al
test al, al
je 0x4752c6
mov ebx, 0x4000
inc ecx
mov dword [ebp - 0xcc], ecx
test word [esi + 0x1c], bx
je 0x475296
push esi
call fcn.0047a9b0
add esp, 4
push dword [ebp - 0xf4]
push dword [ebp - 0xc8]
push esi
call fcn.00442d60
mov ecx, dword [ebp - 0xcc]
add esp, 0xc
mov al, byte [ecx]
add esi, 0x28
mov byte [ebp - 0xc8], al
test al, al
jne 0x475280
mov ebx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xdc]
inc ecx
mov dword [ebp - 0xcc], ecx
jmp case.0x47357a.17
mov esi, dword [ebp - 0xe4]
xor edx, edx
mov dword [ebp - 0xbc], edx
xor ebx, ebx
mov dword [ebp - 0xac], ebx
xorps xmm0, xmm0
movlpd qword [ebp - 0xc4], xmm0
mov eax, dword [esi + edi*4 + 4]
mov dword [ebp - 0x98], eax
mov ecx, dword [esi + edi*4 + 0x10]
lea eax, [eax + eax*4]
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0xec], ecx
mov ecx, dword [ebp - 0xe0]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xa0], ecx
mov eax, dword [esi + edi*4 + 8]
mov dword [ebp - 0x98], eax
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ebp - 0xd8]
add ecx, 0xffffffd8
movzx eax, byte [eax + 0x65]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x9c], ecx
mov eax, dword [esi + edi*4 + 0xc]
mov esi, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xa0]
mov esi, eax
mov dword [ebp - 0xc8], esi
cmp eax, ecx
ja 0x47547d
lea ebx, [ebx]
mov edi, dword [ebp - 0xec]
test edi, edi
je 0x4753cb
push dword [ebp - 0xf4]
mov ecx, esi
sub ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movzx eax, byte [eax + edi]
push eax
push esi
call fcn.00442d60
mov ecx, dword [ebp - 0x94]
mov ebx, dword [ebp - 0xac]
mov esi, dword [ebp - 0xc8]
add esp, 0xc
mov dword [ebp - 0xec], ecx
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x4753fd
cmp dword [esi + 0x18], 0
jle 0x4753fd
push esi
call fcn.0047a9b0
mov ecx, dword [ebp - 0x94]
mov ebx, dword [ebp - 0xac]
mov esi, dword [ebp - 0xc8]
add esp, 4
mov dword [ebp - 0xec], ecx
push dword [ebp - 0x90]
push esi
call fcn.0047c0d0
mov ecx, eax
push ecx
mov dword [ebp - 0xa4], ecx
call fcn.0047c1d0
mov edi, eax
cdq
add dword [ebp - 0xc4], eax
push 0
push ecx
adc dword [ebp - 0xc0], edx
mov dword [ebp - 0x88], edi
call fcn.00472a80
mov edx, dword [ebp - 0xbc]
add edx, eax
mov eax, 0x4000
add esp, 0x14
mov dword [ebp - 0xbc], edx
test word [esi + 0x1c], ax
je 0x475455
add ebx, dword [esi + 0x10]
jmp 0x47545c
xor eax, eax
test edi, edi
cmovne ebx, eax
mov eax, dword [ebp - 0xa0]
add esi, 0x28
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xc8], esi
cmp esi, dword [ebp - 0x9c]
jbe 0x475380
mov eax, edx
cdq
push edx
push eax
call fcn.00472a80
mov edi, dword [ebp - 0xbc]
mov esi, eax
add edi, esi
mov eax, edi
cdq
push edx
push eax
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xbc], edi
call fcn.00472a80
add esp, 0x10
cmp esi, eax
jge 0x4754b5
inc edi
mov dword [ebp - 0xbc], edi
mov eax, ebx
cdq
mov ecx, eax
mov eax, edi
mov esi, edx
cdq
mov ebx, eax
sub ebx, ecx
mov edi, edx
sbb edi, esi
add ebx, dword [ebp - 0xc4]
mov esi, dword [ebp - 0xdc]
adc edi, dword [ebp - 0xc0]
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0xb0], edi
mov eax, dword [esi + 0x48]
cdq
cmp edi, edx
jg 0x4794d7
jl 0x4754fb
cmp ebx, eax
ja 0x4794d7
mov edi, dword [ebp - 0xe8]
push 0
push ebx
push edi
call fcn.0047aba0
add esp, 0xc
test eax, eax
jne 0x479514
mov eax, dword [ebp - 0xbc]
mov ecx, dword [edi + 4]
mov dword [ebp - 0xcc], ecx
cmp eax, 0x80
jae 0x475534
mov byte [ecx], al
mov eax, 1
jmp 0x47553e
push eax
push ecx
call fcn.0046caf0
add esp, 8
mov ecx, dword [ebp - 0x9c]
movzx esi, al
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0xc8], eax
cmp eax, ecx
ja 0x4755d0
lea ecx, [ecx]
push dword [ebp - 0x90]
push eax
call fcn.0047c0d0
add esp, 8
mov dword [ebp - 0xa4], eax
cmp eax, 0x80
jae 0x47558e
mov cl, al
mov eax, dword [ebp - 0xcc]
mov byte [esi + eax], cl
mov eax, 1
jmp 0x4755a0
push eax
mov eax, dword [ebp - 0xcc]
add eax, esi
push eax
call fcn.0046caf0
add esp, 8
mov esi, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x9c]
movzx eax, al
add esi, eax
mov eax, dword [ebp - 0xc8]
add eax, 0x28
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0xc8], eax
cmp eax, ecx
jbe 0x475560
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xc8], eax
cmp eax, ecx
ja 0x475626
lea ebx, [ebx]
push dword [ebp - 0x90]
push eax
mov eax, dword [ebp - 0xb4]
sub eax, esi
push eax
mov eax, dword [ebp - 0xcc]
add eax, esi
push eax
call fcn.0047c020
mov esi, dword [ebp - 0x8c]
add esi, eax
mov eax, dword [ebp - 0xc8]
add eax, 0x28
add esp, 0x10
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0xc8], eax
cmp eax, dword [ebp - 0x9c]
jbe 0x4755e0
mov eax, dword [ebp - 0xb4]
mov dword [edi + 0x18], eax
mov eax, 0x410
mov word [edi + 0x1c], ax
mov dword [edi + 0x20], 0
mov eax, dword [ebp - 0xac]
test eax, eax
je 0x475655
mov dword [edi + 0x10], eax
mov eax, 0x4410
mov word [edi + 0x1c], ax
mov ebx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xdc]
mov byte [edi + 0x1f], 1
jmp case.0x47357a.17
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x4756b9
lea ecx, [ebp - 0xcc]
push ecx
push eax
call fcn.0045b860
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xc8]
add esp, 8
mov dword [ecx + 0x14], eax
jmp case.0x47357a.17
mov ecx, dword [ebp - 0xe8]
xorps xmm0, xmm0
movlpd qword [ebp - 0xcc], xmm0
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xc8]
mov dword [ecx + 0x14], eax
jmp case.0x47357a.17
mov ebx, dword [ebx + edi*4 + 4]
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xcc], ebx
mov eax, dword [eax + edi*4 + 0x10]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xc8], eax
test ebx, ebx
jne 0x475812
cmp dword [esi + 0x90], ebx
jle 0x475743
mov eax, dword [ebp - 0xd8]
push str.cannot_open_savepoint___SQL_statements_in_progress
add eax, 0x38
push esi
push eax
call fcn.0046f820
mov ebx, dword [ebp - 0xe4]
add esp, 0xc
mov dword [ebp - 0xd0], 5
mov eax, 5
jmp 0x4791ea
push eax
call fcn.004705b0
mov dword [ebp - 0xc4], eax
mov eax, dword [esi + 0x1e4]
add eax, dword [esi + 0x1e0]
push eax
push 0
push esi
call fcn.0047d2d0
mov ebx, eax
add esp, 0x10
mov dword [ebp - 0xd0], ebx
test ebx, ebx
jne 0x479494
mov eax, dword [ebp - 0xc4]
add eax, 0x19
push eax
push esi
call fcn.0045f340
add esp, 8
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x475807
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0xc4]
inc eax
push eax
push dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc0]
push dword [eax]
call fcn.00488240
add esp, 0xc
cmp byte [esi + 0x1c], bl
je 0x4757c8
mov byte [esi + 0x1c], bl
mov byte [esi + 0x1e8], 1
jmp 0x4757ce
inc dword [esi + 0x1e0]
mov eax, dword [ebp - 0xc0]
mov ecx, dword [esi + 0x1dc]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [esi + 0x1f0]
mov dword [esi + 0x1dc], eax
mov eax, dword [ebp - 0xc0]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [esi + 0x1f4]
mov dword [eax + 0xc], ecx
mov ebx, dword [ebp - 0xe4]
jmp case.0x47357a.17
xor edi, edi
mov dword [ebp - 0xb4], edi
mov esi, dword [esi + 0x1dc]
mov dword [ebp - 0xbc], esi
test esi, esi
je 0x475859
lea ebx, [ebx]
push eax
push dword [esi]
call fcn.00470560
add esp, 8
test eax, eax
je 0x475892
mov eax, dword [ebp - 0xec]
inc edi
mov dword [ebp - 0xb4], edi
mov esi, dword [esi + 0x10]
mov dword [ebp - 0xbc], esi
test esi, esi
jne 0x475830
mov esi, dword [ebp - 0xdc]
push eax
mov eax, dword [ebp - 0xd8]
push str.no_such_savepoint:__s
add eax, 0x38
push esi
push eax
call fcn.0046f820
mov ebx, dword [ebp - 0xe4]
add esp, 0x10
mov dword [ebp - 0xd0], 1
mov eax, 1
jmp 0x4791ea
mov eax, dword [ebp - 0xdc]
cmp dword [eax + 0x90], 0
jg 0x475aab
cmp ebx, 2
jne 0x4758b7
cmp dword [eax + 0x8c], 1
jg 0x475aab
cmp dword [esi + 0x10], 0
jne 0x475924
cmp byte [eax + 0x1e8], 0
je 0x475924
mov dword [ebp - 0xec], 1
cmp ebx, 1
jne 0x47592e
push ebx
push dword [ebp - 0xd8]
call fcn.00472fd0
mov edi, dword [ebp - 0xdc]
mov esi, eax
add esp, 8
test esi, esi
jne 0x479420
mov esi, dword [ebp - 0xd8]
push esi
mov byte [edi + 0x1c], bl
call fcn.00479ce0
add esp, 4
cmp eax, 5
je 0x479377
mov byte [edi + 0x1e8], 0
mov eax, dword [esi + 0x5c]
mov dword [ebp - 0xd0], eax
jmp 0x4759c1
mov dword [ebp - 0xec], 0
mov eax, dword [eax + 0x1e0]
sub eax, edi
mov edi, dword [ebp - 0xdc]
dec eax
xor ecx, ecx
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], ecx
cmp dword [edi + 4], ecx
jle 0x47599b
mov esi, edi
push eax
mov eax, dword [esi + 8]
add ecx, ecx
push ebx
push dword [eax + ecx*8 + 4]
call fcn.0045d390
mov ebx, eax
add esp, 0xc
mov dword [ebp - 0xd0], ebx
test ebx, ebx
jne 0x479494
mov ecx, dword [ebp - 0xb0]
mov ebx, dword [ebp - 0xcc]
inc ecx
mov dword [ebp - 0xb0], ecx
cmp ecx, dword [esi + 4]
jge 0x475995
mov eax, dword [ebp - 0xb4]
jmp 0x475952
mov esi, dword [ebp - 0xbc]
cmp ebx, 2
jne 0x4759cd
test dword [edi + 0xc], 0x200
je 0x4759cd
push edi
call fcn.00460740
push 0xffffffffffffffff
push edi
call fcn.0046d260
add esp, 0xc
or dword [edi + 0xc], 0x200
mov ebx, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xbc]
cmp dword [edi + 0x1dc], esi
je 0x475a1e
jmp 0x4759e0
mov eax, dword [edi + 0x1dc]
mov dword [ebp - 0xb8], eax
mov eax, dword [eax + 0x10]
mov dword [edi + 0x1dc], eax
push dword [ebp - 0xb8]
push edi
call fcn.0045f2e0
dec dword [edi + 0x1e0]
mov esi, dword [ebp - 0xbc]
add esp, 8
cmp dword [edi + 0x1dc], esi
jne 0x4759e0
mov ebx, dword [ebp - 0xcc]
cmp ebx, 1
jne 0x475a56
mov eax, dword [esi + 0x10]
mov esi, dword [ebp - 0xdc]
mov dword [esi + 0x1dc], eax
push dword [ebp - 0xbc]
push esi
call fcn.0045f2e0
add esp, 8
cmp dword [ebp - 0xec], 0
jne 0x475807
dec dword [esi + 0x1e0]
jmp 0x475a7b
cmp dword [ebp - 0xec], 0
mov eax, dword [esi + 8]
mov dword [edi + 0x1f0], eax
mov eax, dword [esi + 0xc]
mov esi, dword [ebp - 0xdc]
mov dword [esi + 0x1f4], eax
jne 0x475807
push dword [ebp - 0xb4]
push dword [ebp - 0xcc]
push esi
call fcn.0047d2d0
mov ebx, eax
add esp, 0xc
mov dword [ebp - 0xd0], ebx
test ebx, ebx
jne 0x479494
mov ebx, dword [ebp - 0xe4]
jmp case.0x47357a.17
mov esi, dword [ebp - 0xdc]
mov ecx, str.release
mov eax, str.rollback
cmp ebx, 2
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0xd8]
push str.cannot__s_savepoint___SQL_statements_in_progress
add eax, 0x38
push esi
push eax
call fcn.0046f820
mov ebx, dword [ebp - 0xe4]
add esp, 0x10
mov dword [ebp - 0xd0], 5
mov eax, 5
jmp 0x4791ea
mov edx, dword [ebx + edi*4 + 4]
mov dword [ebp - 0xcc], edx
mov ecx, dword [ebx + edi*4 + 8]
mov dword [ebp - 0xc8], ecx
test edx, edx
je 0x475b61
cmp byte [esi + 0x1c], 0
jne 0x475b61
mov dword [ebp - 0xc4], 1
test ecx, ecx
je 0x475b51
cmp dword [esi + 0x8c], 1
jle 0x475b6b
push str.cannot_rollback_transaction___SQL_statements_in_progress
mov eax, dword [ebp - 0xd8]
add eax, 0x38
push esi
push eax
call fcn.0046f820
mov eax, 5
add esp, 0xc
mov dword [ebp - 0xd0], eax
jmp 0x4791ea
cmp dword [esi + 0x90], 0
jle 0x475b6b
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x475b2e
mov dword [ebp - 0xc4], 0
movzx eax, byte [esi + 0x1c]
cmp edx, eax
jne 0x479397
test edx, edx
jne 0x475b82
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x475b91
test ecx, ecx
mov eax, str.cannot_rollback___no_transaction_is_active
mov ecx, str.cannot_commit___no_transaction_is_active
cmove eax, ecx
push eax
mov eax, dword [ebp - 0xd8]
add eax, 0x38
push esi
push eax
call fcn.0046f820
mov eax, 1
add esp, 0xc
mov dword [ebp - 0xd0], eax
jmp 0x4791ea
mov ecx, dword [ebx + edi*4 + 4]
mov eax, dword [esi + 8]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xcc], eax
test eax, eax
je case.0x47357a.17
push dword [ebx + edi*4 + 8]
push eax
call fcn.0045b220
add esp, 8
mov dword [ebp - 0xd0], eax
cmp eax, 5
je 0x479453
test eax, eax
jne 0x47948e
cmp dword [ebx + edi*4 + 8], eax
je 0x4791ea
mov ecx, dword [ebp - 0xd8]
cmp byte [ecx + 0x67], al
je 0x4791ea
cmp byte [esi + 0x1c], al
je 0x475c1f
cmp dword [esi + 0x8c], 1
jle 0x4791ea
mov eax, ecx
cmp dword [eax + 0x78], 0
jne 0x475c3e
mov eax, dword [esi + 0x1e0]
inc dword [esi + 0x1e4]
add eax, dword [esi + 0x1e4]
mov dword [ecx + 0x78], eax
mov eax, ecx
mov eax, dword [eax + 0x78]
dec eax
push eax
push 0
push esi
call fcn.0047d2d0
add esp, 0xc
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x475c75
mov eax, dword [ebp - 0xd8]
push dword [eax + 0x78]
push dword [ebp - 0xcc]
call fcn.0045b1f0
add esp, 8
mov dword [ebp - 0xd0], eax
mov eax, dword [esi + 0x1f0]
mov ecx, dword [ebp - 0xd8]
mov dword [ecx + 0x98], eax
mov eax, dword [esi + 0x1f4]
mov dword [ecx + 0x9c], eax
jmp case.0x47357a.17
mov ecx, dword [ebx + edi*4 + 4]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ebx + edi*4 + 0xc]
lea edx, [ebp - 0xcc]
push edx
mov dword [ebp - 0xc4], eax
push eax
mov eax, dword [esi + 8]
add ecx, ecx
push dword [eax + ecx*8 + 4]
call fcn.0045bf30
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xe8]
cdq
add esp, 0xc
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
shl eax, 4
add eax, dword [esi + 8]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebx + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.0047ad10
push dword [esi + 0x10]
mov eax, dword [ebp - 0xcc]
push dword [ebx + edi*4 + 8]
push dword [eax + 4]
call fcn.0045d7b0
mov dword [ebp - 0xd0], eax
mov eax, dword [ebx + edi*4 + 8]
add esp, 0x10
cmp eax, 1
jne 0x475d47
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 0x10]
mov esi, dword [ebp - 0xdc]
mov dword [ecx], eax
or dword [esi + 0xc], 0x200
jmp 0x475d61
cmp eax, 2
jne 0x475d5b
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 0xc]
mov al, byte [esi + 0x10]
mov byte [ecx + 0x4c], al
mov esi, dword [ebp - 0xdc]
cmp dword [ebx + edi*4 + 4], 1
jne case.0x47357a.17
push esi
call fcn.00460740
mov eax, dword [ebp - 0xd8]
add esp, 4
mov byte [eax + 0x63], 0
jmp case.0x47357a.17
mov ecx, dword [ebx + edi*4 + 4]
mov eax, dword [esi + 8]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x475dc5
lea ecx, [ebp - 0xcc]
push ecx
push 1
push eax
call fcn.0045bf30
mov ecx, dword [ebx + edi*4 + 4]
mov eax, dword [esi + 8]
add esp, 0xc
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [ebp - 0xcc]
mov eax, dword [eax + 4]
jmp 0x475dcf
xor ecx, ecx
mov dword [ebp - 0xcc], ecx
xor eax, eax
mov dword [ebp - 0xc8], eax
cmp ecx, dword [ebx + edi*4 + 8]
jne 0x475de5
cmp eax, dword [ebx + edi*4 + 0xc]
je case.0x47357a.17
mov eax, dword [ebp - 0xd8]
push dword [eax + 0x38]
push esi
call fcn.0045f2e0
push str.database_schema_has_changed
push esi
call fcn.0045f510
mov ecx, dword [ebp - 0xd8]
add esp, 0x10
mov dword [ecx + 0x38], eax
mov edx, dword [ebx + edi*4 + 4]
mov eax, dword [esi + 8]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xcc]
je 0x475e2e
push edx
push esi
call fcn.0046d260
add esp, 8
mov eax, dword [ebp - 0xd8]
mov byte [eax + 0x63], 1
mov eax, 0x11
mov dword [ebp - 0xd0], eax
jmp 0x4791ea
mov eax, dword [ebp - 0xd8]
cmp byte [eax + 0x63], 0
je 0x475e64
mov eax, 4
mov dword [ebp - 0xd0], eax
jmp 0x4791ea
mov eax, dword [ebp - 0xe4]
xor ecx, ecx
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc8], ecx
mov ebx, dword [ebx + edi*4 + 8]
mov dword [ebp - 0xc4], ebx
mov esi, dword [eax + edi*4 + 0xc]
mov eax, dword [ebp - 0xdc]
mov edx, esi
mov dword [ebp - 0xc0], esi
shl edx, 4
add edx, dword [eax + 8]
mov dword [ebp - 0xb0], edx
mov eax, dword [edx + 4]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xe4]
cmp byte [eax + edi*4], 0x28
jne 0x475ed5
mov dword [ebp - 0xbc], 1
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0xd8]
mov al, byte [eax + 0x4c]
cmp al, byte [edx + 0x65]
jae 0x475edb
mov byte [edx + 0x65], al
jmp 0x475edb
mov dword [ebp - 0xbc], ecx
mov edx, dword [ebp - 0xe4]
cmp byte [edx + edi*4 + 3], cl
je 0x475f1a
mov ecx, dword [ebp - 0xe0]
lea eax, [ebx + ebx*4]
lea esi, [ecx + eax*8]
push esi
call fcn.0047ad10
mov eax, dword [esi + 0x10]
add esp, 4
mov dword [ebp - 0xc4], eax
cmp eax, 2
jl 0x479464
mov esi, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xcc]
mov ebx, dword [ebp - 0xe4]
mov al, byte [ebx + edi*4 + 1]
cmp al, 0xfa
jne 0x475f59
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + edi*4 + 0x10]
mov eax, dword [eax]
mov dword [ebp - 0xc8], ecx
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xc0]
movzx ecx, word [eax + 6]
inc ecx
jmp 0x475f61
cmp al, 0xf2
jne 0x475f67
mov ecx, dword [ebx + edi*4 + 0x10]
mov dword [ebp - 0xcc], ecx
push 1
push esi
push ecx
push dword [ebx + edi*4 + 4]
push dword [ebp - 0xd8]
call fcn.00441f20
add esp, 0x14
mov dword [ebp - 0xb4], eax
test eax, eax
je 0x47950e
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xb4]
mov byte [eax + 0x20], 1
mov eax, dword [ebp - 0xb4]
push dword [eax]
push dword [ebp - 0xc8]
push dword [ebp - 0xbc]
push dword [ebp - 0xc4]
push dword [ebp - 0xb8]
call fcn.0045b9c0
mov ecx, dword [ebp - 0xb4]
mov esi, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc8]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0xb4]
add esp, 0x14
cmp byte [ebx + edi*4 + 1], 0xfa
setne cl
mov byte [eax + 0x1e], cl
mov ecx, dword [ebp - 0xb4]
cmp byte [ecx + 0x1e], 0
sete al
mov byte [ecx + 0x1f], al
jmp case.0x47357a.17
push 1
push 0xffffffffffffffff
push dword [ebx + edi*4 + 8]
push dword [ebx + edi*4 + 4]
push dword [ebp - 0xd8]
call fcn.00441f20
add esp, 0x14
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x479514
mov byte [eax + 0x1c], 1
movzx eax, byte [ebx + edi*4 + 3]
push 0x41e
or eax, 9
push eax
mov eax, dword [ebp - 0xcc]
add eax, 4
push eax
push esi
push 0
push dword [esi]
call fcn.0045cbf0
add esp, 0x18
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x47613b
mov eax, dword [ebp - 0xcc]
push 1
push dword [eax + 4]
call fcn.0045b220
add esp, 8
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x47613b
cmp dword [ebx + edi*4 + 0x10], eax
je 0x476112
movzx eax, byte [ebx + edi*4 + 3]
or eax, 2
push eax
lea eax, [ebp - 0x11c]
push eax
mov eax, dword [ebp - 0xcc]
push dword [eax + 4]
call fcn.0045b990
add esp, 0xc
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x476106
mov eax, dword [ebp - 0xcc]
push dword [eax]
push dword [ebx + edi*4 + 0x10]
push 1
push dword [ebp - 0x11c]
push dword [eax + 4]
call fcn.0045b9c0
mov ecx, dword [ebx + edi*4 + 0x10]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xcc]
add esp, 0x14
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 - 0xcc]
mov ecx, dword [eax + 8]
mov al, byte [edx + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x1e], 0
jmp 0x47613b
mov eax, dword [ebp - 0xcc]
push dword [eax]
push 0
push 1
push 1
push dword [eax + 4]
call fcn.0045b9c0
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xcc]
add esp, 0x14
mov byte [eax + 0x1e], 1
cmp byte [ebx + edi*4 + 3], 0x10
mov eax, dword [ebp - 0xcc]
setne cl
mov byte [eax + 0x20], cl
mov ecx, dword [ebp - 0xcc]
cmp byte [ecx + 0x1e], 0
sete al
mov byte [ecx + 0x1f], al
jmp case.0x47357a.17
push 1
push 0xffffffffffffffff
push dword [ebx + edi*4 + 8]
push dword [ebx + edi*4 + 4]
push dword [ebp - 0xd8]
call fcn.00441f20
add esp, 0x14
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x479514
mov ecx, dword [ebx + edi*4 + 0x10]
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 - 0xcc]
mov ecx, dword [eax + 8]
mov al, byte [edx + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x21], 1
push dword [ebp - 0xcc]
push esi
call fcn.0047c3f0
add esp, 8
mov dword [ebp - 0xd0], eax
jmp 0x4791ea
push 0
push 0xffffffffffffffff
push dword [ebx + edi*4 + 0xc]
push dword [ebx + edi*4 + 4]
push dword [ebp - 0xd8]
call fcn.00441f20
add esp, 0x14
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x479514
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebx + edi*4 + 8]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x1e], 1
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x1f], 0
jmp case.0x47357a.17
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebx + edi*4 + 4]
mov eax, dword [edx + 0x44]
push dword [eax + ecx*4]
push edx
call fcn.00479bf0
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + edi*4 + 4]
mov eax, dword [eax + 0x44]
add esp, 8
mov dword [eax + ecx*4], 0
jmp case.0x47357a.17
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc4], ecx
cmp dword [ecx], 0
je 0x47358e
movzx eax, byte [ebx + edi*4]
mov dword [ebp - 0xc8], eax
mov byte [ecx + 0x1c], 0
mov ecx, dword [ebp - 0xc4]
cmp byte [ecx + 0x1e], 0
je 0x4764ed
mov eax, dword [ebx + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.00442dc0
push esi
call fcn.0047a140
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x98], edx
mov byte [eax + 0x19], 0
movzx eax, word [esi + 0x1c]
add esp, 8
test al, 4
jne 0x476475
test al, 8
jne 0x4762ed
mov eax, dword [ebx + edi*4 + 8]
mov esi, dword [ebp - 0xdc]
dec eax
mov dword [ebp - 0xd4], eax
jmp case.0x47357a.17
cmp dword [ebp - 0x9c], 0
jne 0x4763d7
cmp dword [ebp - 0x98], 0x80000000
jne 0x4763d7
movsd xmm1, qword [esi + 8]
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x120], VariantClear
fild qword [ebp - 0x124]
fstp qword [ebp - 0xf0]
fld qword [ebp - 0xf0]
fstp qword [ebp - 0xf0]
movsd xmm0, qword [ebp - 0xf0]
comisd xmm0, xmm1
xorps xmm0, xmm0
ja 0x476356
comisd xmm1, xmm0
jbe 0x4763d7
mov dword [ebp - 0xcc], 1
comisd xmm0, xmmword [esi + 8]
jbe 0x476386
cmp dword [ebp - 0xc8], 0x30
jl 0x4763c1
lea eax, [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xc4]
push dword [eax]
call fcn.0045be60
jmp 0x4763a3
cmp dword [ebp - 0xc8], 0x2f
jg 0x4763c1
lea eax, [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xc4]
push dword [eax]
call fcn.0045c5e0
add esp, 8
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x479488
cmp dword [ebp - 0xcc], 0
je 0x474564
mov eax, dword [ebx + edi*4 + 8]
mov esi, dword [ebp - 0xdc]
dec eax
mov dword [ebp - 0xd4], eax
jmp case.0x47357a.17
mov eax, dword [ebp - 0xc8]
cmp eax, 0x2e
je 0x47642e
cmp eax, 0x30
je 0x47642e
fild qword [ebp - 0x9c]
fstp qword [ebp - 0xf0]
fld qword [ebp - 0xf0]
fstp qword [ebp - 0xf0]
movsd xmm0, qword [ebp - 0xf0]
comisd xmm0, xmmword [esi + 8]
jbe 0x476475
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x98]
add eax, 0xffffffff
adc ecx, 0xffffffff
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], ecx
jmp 0x476481
fild qword [ebp - 0x9c]
fstp qword [ebp - 0xf0]
fld qword [ebp - 0xf0]
movsd xmm0, qword [esi + 8]
fstp qword [ebp - 0xf0]
comisd xmm0, xmmword [ebp - 0xf0]
jbe 0x476475
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x98]
add eax, 1
adc ecx, 0
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], ecx
jmp 0x476481
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x9c]
lea edx, [ebp - 0xcc]
push edx
push 0
push ecx
push eax
mov eax, dword [ebp - 0xc4]
push 0
push dword [eax]
call fcn.0045c770
mov ecx, eax
add esp, 0x18
mov dword [ebp - 0xd0], ecx
test ecx, ecx
jne 0x479488
mov esi, dword [ebp - 0xdc]
cmp dword [ebp - 0xcc], eax
jne 0x476587
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x19], 1
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x9c]
mov dword [eax + 0x40], ecx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x98]
mov dword [eax + 0x44], ecx
jmp 0x476587
mov eax, dword [ebx + edi*4 + 0x10]
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xa4], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0xbc], eax
mov ax, word [ebp - 0xa4]
mov word [ebp - 0xb8], ax
mov eax, dword [ebp - 0xc8]
and eax, 1
shl eax, 3
mov word [ebp - 0xb6], ax
mov eax, dword [ebx + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, 0x4000
mov dword [ebp - 0xac], eax
test word [eax + 0x1c], dx
je 0x476551
push eax
call fcn.0047a9b0
mov ecx, dword [ebp - 0xc4]
add esp, 4
lea eax, [ebp - 0xcc]
push eax
push 0
push 0
push 0
lea eax, [ebp - 0xbc]
push eax
push dword [ecx]
call fcn.0045c770
add esp, 0x18
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x47948e
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x50], 0
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xcc]
cmp eax, 0x30
jl 0x4765df
test ecx, ecx
js 0x4765c9
jne 0x4765ba
cmp eax, 0x31
je 0x4765c9
mov dword [ebp - 0xcc], 0
jmp case.0x47357a.17
lea eax, [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xc4]
push dword [eax]
call fcn.0045cac0
jmp 0x47661b
test ecx, ecx
jg 0x476607
jne 0x4765ea
cmp eax, 0x2e
je 0x476607
mov eax, dword [ebp - 0xc4]
push dword [eax]
call fcn.0045be40
add esp, 4
mov dword [ebp - 0xcc], eax
test eax, eax
jmp 0x4746e2
lea eax, [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xc4]
push dword [eax]
call fcn.0045d140
add esp, 8
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x47948e
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x19], 0
cmp dword [ebp - 0xcc], 0
jmp 0x4746e2
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xcc], eax
cmp dword [eax], 0
je case.0x47357a.17
mov ecx, dword [ebp - 0xe0]
mov byte [eax + 0x1c], 0
mov eax, dword [ebx + edi*4 + 8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
call fcn.0047a140
mov ecx, dword [ebp - 0xcc]
add esp, 4
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x1d], 1
jmp case.0x47357a.17
mov eax, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xe0]
mov eax, dword [eax + 0x44]
xor edx, edx
mov dword [ebp - 0xcc], edx
mov ecx, dword [ebx + edi*4 + 4]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ebx + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
cmp dword [ecx], edx
je 0x4767e9
cmp dword [ebx + edi*4 + 0x10], edx
jle 0x47671a
mov eax, dword [ecx + 8]
mov dword [ebp - 0xb4], eax
mov ax, word [ebx + edi*4 + 0x10]
mov word [ebp - 0xb0], ax
mov eax, 0x10
mov word [ebp - 0xae], ax
lea eax, [ebp - 0xb4]
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xbc], eax
jmp 0x476775
lea eax, [ebp - 0xc0]
push eax
push 0x97
lea eax, [ebp - 0x9c]
push eax
push dword [ecx + 8]
call fcn.00472ce0
add esp, 0x10
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x47950e
push eax
push dword [esi + 4]
mov eax, dword [ebp - 0xc8]
push dword [esi + 0x18]
push dword [eax + 8]
call fcn.0047bbb0
mov eax, dword [ebp - 0xbc]
add esp, 0x10
or word [eax + 6], 0x10
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xc8]
lea edx, [ebp - 0xc4]
push edx
push 0
push 0
push 0
push eax
push dword [ecx]
call fcn.0045c770
mov esi, dword [ebp - 0xdc]
add esp, 0x18
cmp dword [ebx + edi*4 + 0x10], 0
mov dword [ebp - 0xd0], eax
jne 0x4767b5
push dword [ebp - 0xc0]
push esi
call fcn.0045f2e0
mov eax, dword [ebp - 0xd0]
add esp, 8
test eax, eax
jne 0x4791ea
cmp dword [ebp - 0xc4], eax
sete al
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x50], 0
mov edx, dword [ebp - 0xcc]
cmp byte [ebx + edi*4], 0x34
mov esi, dword [ebp - 0xdc]
jne 0x4767fc
test edx, edx
jmp 0x4746e2
test edx, edx
jne case.0x47357a.17
mov eax, dword [ebx + edi*4 + 8]
dec eax
mov dword [ebp - 0xd4], eax
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 0xc]
mov edx, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
mov eax, dword [ecx + edi*4 + 0x10]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0xbc], eax
mov ecx, dword [ecx + edi*4 + 4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc8], eax
mov dword [eax + 0x4c], 0
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x50], 0
mov ecx, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xbc]
mov eax, dword [ecx]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xc4], eax
mov eax, dword [ecx + 8]
xor ecx, ecx
mov ax, word [eax + 6]
movzx edx, ax
mov word [ebp - 0xc0], ax
mov word [ebp - 0xcc], cx
test edx, edx
jle 0x4768be
xor eax, eax
mov edi, edi
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x1c], 1
jne 0x47697f
inc cx
movzx eax, cx
mov word [ebp - 0xcc], cx
cmp eax, edx
jl 0x4768a0
cmp dword [ebp - 0xec], 0
je 0x473af1
mov eax, dword [ebp - 0xc8]
push ebx
mov eax, dword [eax + 8]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xc0]
inc eax
mov word [ebp - 0xb0], ax
mov eax, 0x20
mov word [ebp - 0xae], ax
mov dword [ebp - 0xa4], esi
call fcn.0047ad10
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xc8]
add eax, 0x4c
push eax
push 0
push 0
push 0
lea eax, [ebp - 0xb4]
push eax
push dword [ebp - 0xc4]
call fcn.0045c770
add esp, 0x1c
test byte [ebp - 0xae], 0x20
mov dword [ebp - 0xd0], eax
jne 0x4769ab
mov ecx, dword [ebp - 0xac]
cmp ecx, dword [ebp - 0x9c]
jne 0x476962
mov eax, dword [ebp - 0xa8]
cmp eax, dword [ebp - 0x98]
je 0x4769a5
mov esi, dword [ebp - 0xdc]
mov dword [ebx + 0x10], ecx
mov eax, dword [ebp - 0xa8]
mov dword [ebx + 0x14], eax
mov ebx, dword [ebp - 0xe4]
jmp case.0x47357a.17
mov ebx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xdc]
mov eax, dword [ebx + edi*4 + 8]
dec eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xc4], 0
jmp case.0x47357a.17
mov eax, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xe4]
mov esi, dword [ebx + edi*4 + 8]
dec esi
mov dword [ebp - 0xd4], esi
mov esi, dword [ebp - 0xdc]
jmp 0x4791ea
mov eax, dword [ebx + edi*4 + 0xc]
mov ecx, dword [ebx + edi*4 + 4]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xcc], eax
mov edx, dword [eax]
mov dword [ebp - 0xc8], edx
test edx, edx
je 0x476ab7
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xc4], 0
mov ecx, dword [eax + esi*8 + 0x10]
lea ebx, [ebp - 0xc4]
push ebx
push 0
mov dword [ebp - 0xbc], ecx
mov eax, dword [eax + esi*8 + 0x14]
push eax
push ecx
push 0
push edx
mov dword [ebp - 0xb8], eax
call fcn.0045c770
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xcc]
mov ecx, dword [edx + esi*8 + 0x10]
mov dword [eax + 0x40], ecx
mov ecx, dword [edx + esi*8 + 0x14]
mov eax, dword [ebp - 0xcc]
mov ebx, dword [ebp - 0xe4]
mov dword [eax + 0x44], ecx
mov eax, dword [ebp - 0xcc]
add esp, 0x18
cmp dword [ebp - 0xc4], 0
sete cl
mov byte [eax + 0x19], cl
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x1c], 0
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x50], 0
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x1d], 0
mov ecx, dword [ebp - 0xc4]
test ecx, ecx
je 0x476aa3
mov eax, dword [ebx + edi*4 + 8]
dec eax
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xdc]
mov dword [eax + 0x4c], ecx
jmp case.0x47357a.17
mov esi, dword [ebx + edi*4 + 8]
dec esi
mov dword [ebp - 0xd4], esi
mov esi, dword [ebp - 0xdc]
mov dword [eax + 0x4c], 0
jmp case.0x47357a.17
mov ecx, dword [ebx + 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 [ebx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
jmp case.0x47357a.17
mov eax, dword [ebp - 0xd8]
xorps xmm0, xmm0
mov eax, dword [eax + 0x44]
movlpd qword [ebp - 0xcc], xmm0
mov dword [ebp - 0xc0], 0
mov ecx, dword [ebx + edi*4 + 4]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0xc4], esi
mov eax, dword [esi]
test eax, eax
je 0x476e49
cmp byte [esi + 0x1b], 0
jne 0x476d2e
push eax
call fcn.0045bee0
mov ecx, eax
add esp, 4
or ecx, edx
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], edx
jne 0x476c01
lea eax, [ebp - 0xc0]
push eax
push dword [esi]
call fcn.0045c5e0
add esp, 8
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x479488
cmp dword [ebp - 0xc0], eax
je 0x476b9b
mov eax, 1
xor edx, edx
jmp 0x476bef
lea eax, [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xc4]
push dword [eax]
call fcn.0045c5a0
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xcc]
add esp, 8
cmp eax, 0xffffffff
jne 0x476be9
cmp edx, 0x7fffffff
jne 0x476be9
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x1b], 1
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xcc]
jmp 0x476bfb
add eax, 1
adc edx, 0
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xcc], eax
mov esi, dword [ebp - 0xc4]
mov ecx, dword [ebx + edi*4 + 0xc]
test ecx, ecx
je 0x476ce4
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax + 0xa8]
test edx, edx
je 0x476c4e
mov dword [ebp - 0xb4], edx
mov eax, dword [edx + 0x3c]
test eax, eax
je 0x476c3f
lea ebx, [ebx]
mov edx, eax
mov dword [ebp - 0xb4], edx
mov eax, dword [edx + 0x3c]
test eax, eax
jne 0x476c30
mov eax, dword [ebx + edi*4 + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea eax, [eax + ecx*8]
jmp 0x476c5a
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0xe0]
lea eax, [ecx + eax*8]
push eax
mov dword [ebp - 0xb8], eax
call fcn.0047ad10
mov esi, dword [ebp - 0xb8]
add esp, 4
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
cmp edx, 0xffffffff
jne 0x476c86
cmp ecx, 0x7fffffff
je 0x47947b
mov eax, dword [ebp - 0xc4]
cmp byte [eax + 0x1b], 0
jne 0x47947b
add edx, 1
adc ecx, 0
cmp dword [ebp - 0xc8], ecx
jg 0x476cc0
jl 0x476cb0
mov eax, dword [ebp - 0xcc]
cmp eax, edx
jae 0x476cc6
mov eax, edx
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], ecx
jmp 0x476cc6
mov eax, dword [ebp - 0xcc]
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0xc8]
mov dword [esi + 0x14], eax
mov esi, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xcc]
cmp edx, 0x7fffffff
jg 0x476cfb
jl 0x476cf3
cmp eax, 0xffffffff
jae 0x476cfb
add eax, 1
adc edx, 0
jmp 0x476d12
xorps xmm0, xmm0
movlpd qword [ebp - 0x12c], xmm0
mov edx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x12c]
push edx
push eax
push dword [esi]
call fcn.0045d570
mov esi, dword [ebp - 0xc4]
add esp, 0xc
cmp byte [esi + 0x1b], 0
je 0x476e2e
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xfc]
and eax, 0x3fffffff
add ecx, 1
lea edx, [ebp - 0xc0]
push edx
push 0
adc eax, 0
push eax
push ecx
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xbc], 0
push 0
push dword [esi]
call fcn.0045c770
mov edx, eax
add esp, 0x18
mov dword [ebp - 0xd0], edx
test edx, edx
jne 0x476e28
mov ecx, dword [ebp - 0xc0]
test ecx, ecx
jne 0x476e1c
mov eax, dword [ebp - 0xbc]
inc eax
mov dword [ebp - 0xbc], eax
cmp eax, 0x64
jge 0x476e1c
lea eax, [ebp - 0xcc]
push eax
push 8
call fcn.0043ed80
mov eax, dword [ebp - 0xcc]
add esp, 8
cmp dword [ebp - 0xbc], 5
jge 0x476dcf
and eax, 0xffffff
xor ecx, ecx
jmp 0x476ddb
mov ecx, dword [ebp - 0xc8]
and ecx, 0x3fffffff
add eax, 1
lea edx, [ebp - 0xc0]
push edx
push 0
adc ecx, 0
push ecx
push eax
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], ecx
push 0
push dword [eax]
call fcn.0045c770
mov edx, eax
add esp, 0x18
mov dword [ebp - 0xd0], edx
test edx, edx
je 0x476d82
jmp 0x476e28
test edx, edx
jne 0x476e28
test ecx, ecx
je 0x47947b
mov esi, dword [ebp - 0xc4]
mov byte [esi + 0x19], 0
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x50], 0
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xdc]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xc8]
mov dword [ecx + 0x14], eax
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 8]
mov edx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xcc], esi
mov eax, dword [eax + 0x44]
mov ecx, dword [ebx + edi*4 + 4]
mov ebx, dword [eax + ecx*4]
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xbc], ebx
cmp byte [eax + edi*4], 0x39
mov eax, dword [eax + edi*4 + 0xc]
jne 0x476ec2
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0xc8], eax
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xc4], ecx
mov edx, dword [eax + 0x14]
jmp 0x476ecb
cdq
mov ecx, eax
mov dword [ebp - 0xc4], ecx
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xc0], edx
test byte [eax + edi*4 + 3], 1
je 0x476eed
mov eax, dword [ebp - 0xd8]
inc dword [eax + 0x6c]
mov eax, dword [ebp - 0xe4]
test byte [eax + edi*4 + 3], 2
je 0x476f1e
mov dword [ebp - 0x100], edx
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xfc], ecx
mov dword [edx + 0x30], ecx
mov eax, dword [ebp - 0xc0]
mov dword [edx + 0x34], eax
mov ebx, dword [ebp - 0xbc]
mov esi, dword [ebp - 0xcc]
test byte [esi + 0x1c], 1
je 0x476f44
mov dword [esi + 4], 0
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x18], 0
mov ebx, dword [ebp - 0xbc]
mov esi, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xe4]
test byte [eax + edi*4 + 3], 0x10
je 0x476f5c
mov eax, dword [ebx + 0x4c]
mov dword [ebp - 0xb4], eax
jmp 0x476f66
mov dword [ebp - 0xb4], 0
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x476f7c
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xb8], eax
jmp 0x476f86
mov dword [ebp - 0xb8], 0
push 0
push 0
push dword [ebx]
call fcn.0045d570
push dword [ebp - 0xb4]
mov ebx, dword [ebp - 0xe4]
movzx eax, byte [ebx + edi*4 + 3]
and eax, 8
push eax
push dword [ebp - 0xb8]
mov eax, dword [ebp - 0xcc]
push dword [eax + 0x18]
push dword [eax + 4]
mov eax, dword [ebp - 0xbc]
push dword [ebp - 0xc0]
push dword [ebp - 0xc4]
push 0
push dword [eax]
call fcn.0045c030
mov esi, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xbc]
add esp, 0x30
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xbc]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xbc]
mov dword [eax + 0x50], 0
mov eax, dword [ebp - 0xd0]
test eax, eax
jne 0x4791ea
cmp dword [esi + 0xbc], eax
je 0x4791ea
cmp dword [ebx + edi*4 + 0x10], eax
je 0x4791ea
mov eax, dword [ebp - 0xbc]
push dword [ebp - 0xc0]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 8]
push dword [ebp - 0xc4]
add ecx, ecx
mov edx, dword [eax + ecx*8]
mov dword [ebp - 0xb0], edx
mov ecx, dword [ebx + edi*4 + 0x10]
mov dword [ebp - 0xac], ecx
test byte [ebx + edi*4 + 3], 4
push ecx
mov eax, 0x12
mov edi, 0x17
cmovne eax, edi
push edx
push eax
mov dword [ebp - 0xa8], eax
push dword [esi + 0xb8]
mov eax, dword [esi + 0xbc]
call eax
jmp 0x4791e1
mov eax, dword [ebp - 0xd8]
xorps xmm0, xmm0
mov eax, dword [eax + 0x44]
movlpd qword [ebp - 0xcc], xmm0
mov ecx, dword [ebx + edi*4 + 4]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc4], ecx
cmp dword [esi + 0xbc], 0
je 0x4770c5
cmp dword [ebx + edi*4 + 0x10], 0
je 0x4770c5
mov eax, dword [ecx + 0x40]
mov dword [ebp - 0xcc], eax
mov eax, dword [ecx + 0x44]
mov dword [ebp - 0xc8], eax
push ecx
call fcn.004731a0
add esp, 4
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x47948e
push eax
push eax
mov eax, dword [ebp - 0xc4]
push dword [eax]
call fcn.0045d570
mov eax, dword [ebp - 0xc4]
push dword [eax]
call fcn.0045bb00
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc4]
add esp, 0x10
mov dword [eax + 0x50], 0
mov eax, dword [ebp - 0xd0]
test eax, eax
jne 0x47715b
mov edx, dword [esi + 0xbc]
test edx, edx
je 0x47715b
mov eax, dword [ebx + edi*4 + 0x10]
test eax, eax
je 0x477155
push dword [ebp - 0xc8]
push dword [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 8]
add ecx, ecx
push dword [eax + ecx*8]
push 9
push dword [esi + 0xb8]
call edx
add esp, 0x18
mov eax, dword [ebp - 0xd0]
test byte [ebx + edi*4 + 8], 1
mov edx, dword [ebp - 0xd4]
je 0x4791f0
mov ecx, dword [ebp - 0xd8]
inc dword [ecx + 0x6c]
jmp 0x4791f0
mov eax, dword [ebp - 0xd8]
push dword [eax + 0x6c]
push esi
call fcn.0047c1f0
mov eax, dword [ebp - 0xd8]
add esp, 8
mov dword [eax + 0x6c], 0
jmp case.0x47357a.17
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0xe0]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xcc], ecx
mov eax, dword [ebx + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
lea edx, [ebp - 0xc8]
push edx
push eax
push ecx
call fcn.0047c3b0
add esp, 0xc
cmp dword [ebp - 0xc8], 0
mov dword [ebp - 0xd0], eax
je 0x4791ea
mov edx, dword [ebx + edi*4 + 8]
dec edx
jmp 0x4791f0
mov eax, dword [ebx + edi*4 + 8]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + edi*4 + 4]
mov eax, dword [eax + 0x44]
push edx
mov eax, dword [eax + ecx*4]
push eax
mov dword [ebp - 0xe8], edx
mov dword [ebp - 0xcc], eax
call fcn.0047c770
add esp, 8
mov dword [ebp - 0xd0], eax
jmp 0x4791ea
mov eax, dword [ebx + edi*4 + 8]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, dword [ebx + 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 - 0xcc], ecx
mov eax, dword [ecx]
push ecx
mov dword [ebp - 0xc8], eax
call fcn.004731a0
add esp, 4
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x47948e
mov eax, dword [ebp - 0xcc]
cmp byte [eax + 0x1f], 0
je 0x4772c7
lea eax, [ebp - 0xbc]
push eax
push dword [ebp - 0xc8]
call fcn.0045c5a0
mov eax, dword [esi + 0x48]
cdq
add esp, 8
cmp dword [ebp - 0xb8], edx
jg 0x4794d7
mov ecx, dword [ebp - 0xbc]
jl 0x4772bf
cmp ecx, eax
ja 0x4794d7
mov dword [ebp - 0xc4], ecx
jmp 0x4772eb
lea eax, [ebp - 0xc4]
push eax
push dword [ebp - 0xc8]
call fcn.0045bae0
mov ecx, dword [ebp - 0xc4]
add esp, 8
cmp ecx, dword [esi + 0x48]
ja 0x4794d7
mov edi, dword [ebp - 0xe8]
push 0
push ecx
push edi
call fcn.0047aba0
add esp, 0xc
test eax, eax
jne 0x479514
mov eax, dword [ebp - 0xc4]
push dword [edi + 4]
mov dword [edi + 0x18], eax
mov ax, word [edi + 0x1c]
mov ecx, 0xbf10
and ax, cx
or ax, 0x10
mov word [edi + 0x1c], ax
push dword [ebp - 0xc4]
mov eax, dword [ebp - 0xcc]
push 0
cmp byte [eax + 0x1f], 0
push dword [ebp - 0xc8]
je 0x477356
call fcn.0045c560
mov dword [ebp - 0xd0], eax
add esp, 0x10
mov byte [edi + 0x1f], 1
jmp 0x4791ea
call fcn.0045ba80
mov dword [ebp - 0xd0], eax
add esp, 0x10
mov byte [edi + 0x1f], 1
jmp 0x4791ea
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xcc], ecx
cmp byte [ecx + 0x1c], 0
je 0x477397
mov eax, 1
mov word [edx + 0x1c], ax
jmp case.0x47357a.17
cmp byte [ecx + 0x1d], 0
je 0x4773cc
mov eax, dword [ecx + 0x38]
mov dword [ebp - 0xc4], eax
mov eax, dword [ecx + 0x3c]
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xc0]
mov dword [ecx + 0x14], eax
jmp case.0x47357a.17
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x477429
mov eax, dword [eax]
mov dword [ebp - 0xbc], eax
mov eax, dword [eax]
lea edx, [ebp - 0xc4]
mov dword [ebp - 0xb8], eax
mov eax, dword [eax + 0x30]
push edx
push dword [ecx + 0x24]
call eax
push dword [ebp - 0xbc]
mov dword [ebp - 0xd0], eax
push dword [ebp - 0xd8]
call fcn.0044ec10
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xe8]
add esp, 0x10
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xc0]
mov dword [ecx + 0x14], eax
jmp case.0x47357a.17
push ecx
call fcn.004731a0
add esp, 4
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x47948e
mov ecx, dword [ebp - 0xcc]
cmp byte [ecx + 0x19], al
je 0x47747a
mov eax, dword [ecx + 0x40]
mov dword [ebp - 0xc4], eax
mov eax, dword [ecx + 0x44]
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xc0]
mov dword [ecx + 0x14], eax
jmp case.0x47357a.17
lea eax, [ebp - 0xc4]
push eax
push dword [ecx]
call fcn.0045c5a0
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xc0]
add esp, 8
mov dword [ecx + 0x14], eax
jmp case.0x47357a.17
mov ecx, dword [ebx + edi*4 + 4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xcc], eax
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax]
test eax, eax
je case.0x47357a.17
push eax
call fcn.0045b4a0
add esp, 4
jmp case.0x47357a.17
mov ecx, dword [ebx + edi*4 + 4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xcc], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], 0
test eax, eax
je 0x477538
lea ecx, [ebp - 0xc4]
push ecx
push eax
call fcn.0045c5e0
mov ecx, dword [ebp - 0xcc]
add esp, 8
mov dword [ebp - 0xd0], eax
mov al, byte [ebp - 0xc4]
mov byte [ecx + 0x1c], al
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x50], 0
mov eax, dword [ebx + edi*4 + 8]
test eax, eax
jle case.0x47357a.17
cmp dword [ebp - 0xc4], 0
je case.0x47357a.17
dec eax
mov dword [ebp - 0xd4], eax
jmp case.0x47357a.17
mov eax, dword [ebp - 0xd8]
inc dword [eax + 0x80]
jmp 0x47759b
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc4], 1
cmp dword [eax + 0x48], 0
lea ecx, [ebp - 0xc4]
push ecx
je 0x4775ed
push eax
push esi
call fcn.0047c540
mov cl, byte [ebp - 0xc4]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xcc]
add esp, 0xc
mov byte [eax + 0x1c], cl
cmp dword [ebp - 0xc4], 0
jmp 0x4746e2
mov eax, dword [eax]
push eax
mov dword [ebp - 0xc8], eax
call fcn.0045be60
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xcc]
add esp, 8
cmp dword [ebp - 0xc4], 0
sete cl
mov byte [eax + 0x1a], cl
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x50], 0
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xcc]
mov cl, byte [ebp - 0xc4]
mov byte [eax + 0x1c], cl
cmp dword [ebp - 0xc4], 0
jmp 0x4746e2
cmp dword [esi + 0xe0], 0
jne 0x4794f9
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xcc], eax
test eax, eax
je case.0x47357a.17
cmp dword [eax + 0x48], 0
lea ecx, [ebp - 0xc8]
push ecx
je 0x477697
push eax
push esi
call fcn.0047c480
add esp, 0xc
jmp 0x4776ac
mov dword [ebp - 0xc8], 1
push dword [eax]
mov eax, dword [ebx + edi*4 + 0x10]
call eax
add esp, 8
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0xd0], eax
mov al, byte [ebp - 0xc8]
mov byte [ecx + 0x1c], al
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x50], 0
cmp dword [ebp - 0xc8], 0
jne 0x4776f7
mov eax, dword [ebx + edi*4 + 8]
dec eax
mov dword [ebp - 0xd4], eax
mov al, byte [ebx + edi*4 + 3]
test al, al
je 0x4776f7
mov ecx, dword [ebp - 0xd8]
movzx eax, al
inc dword [ecx + eax*4 + 0x78]
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x19], 0
jmp case.0x47357a.17
mov ecx, dword [ebx + edi*4 + 4]
mov eax, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xe0]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xcc], ecx
mov eax, dword [ebx + edi*4 + 8]
mov ebx, dword [ecx]
lea eax, [eax + eax*4]
mov dword [ebp - 0xc8], ebx
lea esi, [edx + eax*8]
test ebx, ebx
je 0x473af1
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x47776c
push esi
call fcn.0047a9b0
mov ebx, eax
add esp, 4
mov dword [ebp - 0xd0], ebx
test ebx, ebx
jne 0x473af1
mov ebx, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xcc]
cmp dword [ecx + 0x48], 0
je 0x477794
push esi
mov esi, dword [ebp - 0xdc]
push ecx
push esi
call fcn.0047c7e0
mov ebx, dword [ebp - 0xe4]
add esp, 0xc
mov dword [ebp - 0xd0], eax
jmp case.0x47357a.17
mov edx, dword [esi + 0x18]
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xc4], edx
mov esi, dword [esi + 4]
mov dword [ebp - 0xc0], esi
test byte [eax + edi*4 + 3], 0x10
je 0x4777b8
mov eax, dword [ecx + 0x4c]
jmp 0x4777ba
xor eax, eax
push eax
mov eax, dword [ebp - 0xe4]
push dword [eax + edi*4 + 0xc]
mov eax, edx
push 0
push 0
push 0x4a6884
cdq
push edx
push eax
push esi
push ebx
call fcn.0045c030
mov ebx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xcc]
add esp, 0x24
mov dword [eax + 0x50], 0
jmp case.0x47357a.17
mov ecx, dword [ebx + edi*4 + 4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xcc], eax
mov ecx, dword [eax]
mov dword [ebp - 0xc8], ecx
test ecx, ecx
je case.0x47357a.17
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xbc], eax
mov ax, word [ebx + edi*4 + 0xc]
mov word [ebp - 0xb8], ax
xor eax, eax
mov word [ebp - 0xb6], ax
mov eax, dword [ebx + edi*4 + 8]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0xc4]
push eax
push 0
push 0
push 0
lea eax, [ebp - 0xbc]
push eax
push ecx
call fcn.0045c770
add esp, 0x18
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x47789e
cmp dword [ebp - 0xc4], eax
jne 0x47789e
push dword [ebp - 0xc8]
call fcn.0045bb00
add esp, 4
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x50], 0
jmp case.0x47357a.17
mov ecx, dword [ebx + edi*4 + 4]
mov eax, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xe8]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc8], eax
mov eax, dword [eax]
mov dword [ebp - 0xcc], eax
mov eax, 1
mov word [edi + 0x1c], ax
cmp dword [ebp - 0xcc], 0
je case.0x47357a.17
push dword [ebp - 0xc8]
call fcn.004731a0
add esp, 4
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x47948e
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x1c], 0
jne case.0x47357a.17
lea eax, [ebp - 0xc4]
push eax
push dword [ebp - 0xcc]
push esi
call fcn.0047a030
add esp, 0xc
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x47948e
mov eax, dword [ebp - 0xc4]
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0xc0]
mov dword [edi + 0x14], eax
mov eax, 4
mov word [edi + 0x1c], ax
jmp case.0x47357a.17
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xcc], ecx
cmp dword [ecx], 0
je case.0x47357a.17
mov eax, dword [ecx + 8]
mov dword [ebp - 0xc4], eax
mov ax, word [ebx + edi*4 + 0x10]
mov word [ebp - 0xc0], ax
cmp byte [ebx + edi*4 + 3], 0
mov eax, 0xc
jne 0x47799f
mov eax, 4
mov edx, dword [ebp - 0xe0]
mov word [ebp - 0xbe], ax
mov eax, dword [ebx + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0xb4], eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0xc4]
push eax
push ecx
call fcn.00479f80
add esp, 0xc
cmp byte [ebx + edi*4], 0x64
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc8]
jne 0x4779e9
neg eax
jmp 0x4779ea
inc eax
mov dword [ebp - 0xc8], eax
test eax, eax
jle case.0x47357a.17
mov eax, dword [ebx + edi*4 + 8]
dec eax
mov dword [ebp - 0xd4], eax
jmp case.0x47357a.17
xor ecx, ecx
mov dword [ebp - 0xc8], ecx
mov eax, dword [esi + 0x88]
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x477a49
cmp dword [eax + 0x34], 0xbdf20da3
jne 0x477a3c
cmp byte [eax + 0x66], 2
jae 0x477a3c
cmp dword [eax + 0x58], 0
jl 0x477a3c
inc ecx
mov dword [ebp - 0xc8], ecx
mov eax, dword [eax + 0x40]
mov dword [ebp - 0xc4], eax
test eax, eax
jne 0x477a20
mov eax, 1
mov word [edx + 0x1c], ax
cmp dword [ebp - 0xc8], eax
jle 0x477a74
mov ecx, dword [ebp - 0xd8]
mov eax, 6
mov dword [ebp - 0xd0], eax
mov byte [ecx + 0x60], 2
jmp 0x4791ea
mov ecx, dword [ebx + edi*4 + 0xc]
mov dword [ebp - 0xc0], ecx
lea eax, [ebp - 0xcc]
push eax
push dword [ebx + edi*4 + 4]
mov eax, dword [esi + 8]
add ecx, ecx
push dword [eax + ecx*8 + 4]
call fcn.0045bd30
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xd0], eax
mov eax, 4
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xcc]
cdq
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xd0]
add esp, 0xc
mov dword [ecx + 0x14], edx
test eax, eax
jne 0x4791ea
mov eax, dword [ebp - 0xcc]
test eax, eax
je case.0x47357a.17
push dword [ebx + edi*4 + 4]
push eax
push dword [ebp - 0xc0]
push esi
call fcn.0046d760
mov al, byte [ebp - 0xc0]
add esp, 0x10
inc al
mov byte [ebp - 0xf5], al
jmp case.0x47357a.17
mov dword [ebp - 0xcc], 0
xor ecx, ecx
cmp dword [ebx + edi*4 + 0xc], ecx
lea eax, [ebp - 0xcc]
cmove eax, ecx
mov ecx, dword [ebx + edi*4 + 8]
push eax
push dword [ebx + edi*4 + 4]
mov eax, dword [esi + 8]
add ecx, ecx
push dword [eax + ecx*8 + 4]
call fcn.0045b4c0
add esp, 0xc
cmp dword [ebx + edi*4 + 0xc], 0
mov dword [ebp - 0xd0], eax
je 0x4791ea
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xcc]
add dword [ecx + 0x6c], eax
mov ecx, dword [ebx + edi*4 + 0xc]
test ecx, ecx
jle case.0x47357a.17
mov edi, dword [ebp - 0xe0]
lea ecx, [ecx + ecx*4]
cdq
add dword [edi + ecx*8 + 0x10], eax
adc dword [edi + ecx*8 + 0x14], edx
jmp case.0x47357a.17
mov dword [ebp - 0xcc], 0
mov ecx, dword [ebx + edi*4 + 4]
shl ecx, 4
add ecx, dword [esi + 8]
xor eax, eax
mov dword [ebp - 0xc4], ecx
cmp byte [ebx + edi*4], 0x69
setne al
inc eax
push eax
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0xcc]
push eax
push dword [ecx + 4]
call fcn.0045b990
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xcc]
cdq
add esp, 0xc
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x47357a.17
mov edx, dword [ebx + edi*4 + 4]
cmp edx, 1
mov dword [ebp - 0xcc], edx
mov eax, str.sqlite_master
mov ecx, str.sqlite_temp_master
cmovne ecx, eax
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc0], esi
mov eax, dword [ebx + edi*4 + 4]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xd8]
add eax, 0x38
mov dword [ebp - 0xb8], eax
push dword [ebx + edi*4 + 0x10]
mov eax, dword [esi + 8]
push ecx
add edx, edx
push dword [eax + edx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push esi
call fcn.00467690
add esp, 0x14
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x479514
push 0
lea eax, [ebp - 0xc0]
push eax
mov byte [esi + 0x7c], 1
push fcn.00465e80
push dword [ebp - 0xc4]
mov dword [ebp - 0xb4], 0
push esi
call fcn.0043bad0
push dword [ebp - 0xc4]
test eax, eax
cmove eax, dword [ebp - 0xb4]
push esi
mov dword [ebp - 0xd0], eax
call fcn.0045f2e0
mov eax, dword [ebp - 0xd0]
add esp, 0x1c
mov byte [esi + 0x7c], 0
cmp eax, 7
je 0x479514
jmp 0x4791ea
push dword [ebx + edi*4 + 4]
push esi
call fcn.004596c0
add esp, 8
mov dword [ebp - 0xd0], eax
jmp 0x4791ea
push dword [ebx + edi*4 + 0x10]
push dword [ebx + edi*4 + 4]
push esi
call fcn.00470bc0
add esp, 0xc
jmp case.0x47357a.17
push dword [ebx + edi*4 + 0x10]
push dword [ebx + edi*4 + 4]
push esi
call fcn.00470b40
add esp, 0xc
jmp case.0x47357a.17
push dword [ebx + edi*4 + 0x10]
push dword [ebx + edi*4 + 4]
push esi
call fcn.00470c10
add esp, 0xc
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 8]
mov dword [ebp - 0xcc], eax
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.0045f340
mov edx, eax
add esp, 8
mov dword [ebp - 0xc8], edx
test edx, edx
je 0x479514
mov ecx, dword [ebx + edi*4 + 0xc]
mov esi, dword [ebp - 0xe0]
lea ecx, [ecx + ecx*4]
lea ecx, [esi + ecx*8]
mov dword [ebp - 0xb8], ecx
mov ecx, dword [ebx + edi*4 + 4]
lea eax, [ecx + ecx*4]
lea esi, [esi + eax*8]
xor eax, eax
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xcc], eax
jle 0x477d89
jmp 0x477d50
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
push eax
call fcn.0047a140
mov edx, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc8]
add esp, 4
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0xc4]
inc eax
mov dword [ebp - 0xc4], eax
cmp eax, dword [ebp - 0xcc]
jl 0x477d50
mov edx, dword [ebp - 0xc8]
mov dword [edx + eax*4], 0
movzx ecx, byte [ebx + edi*4 + 3]
mov edi, dword [ebp - 0xdc]
lea eax, [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0xb8]
add ecx, ecx
push dword [eax + 0x10]
mov eax, dword [edi + 8]
push dword [ebp - 0xcc]
push dword [ebp - 0xc8]
push dword [eax + ecx*8 + 4]
call fcn.0045c210
push dword [ebp - 0xc8]
mov dword [ebp - 0xbc], eax
push edi
call fcn.0045f2e0
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xb8]
cdq
sub dword [ecx + 0x10], eax
push esi
sbb dword [ecx + 0x14], edx
call fcn.0047b050
add esp, 0x20
cmp dword [ebp - 0xc0], 0
je 0x477e1d
mov eax, dword [ebp - 0xbc]
test eax, eax
je 0x47950a
push fcn.0043ec90
push 1
push 0xffffffffffffffff
push eax
push esi
call fcn.0047b100
add esp, 0x14
movzx eax, byte [ebp - 0xf4]
push eax
push esi
call fcn.00472d50
add esp, 8
mov esi, edi
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [ebx + edi*4 + 8]
lea edi, [eax + eax*4]
jne 0x477e66
push esi
call fcn.0047b0a0
add esp, 4
test byte [esi + 0x1c], 0x20
je 0x47950e
mov eax, dword [ebp - 0xe0]
push dword [eax + edi*8 + 0x14]
push dword [eax + edi*8 + 0x10]
push dword [esi + 0x10]
call fcn.0046d860
mov esi, dword [ebp - 0xdc]
add esp, 0xc
jmp case.0x47357a.17
cmp dword [esi + 0xe0], 0
jne 0x4794f9
mov eax, dword [ebx + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea esi, [ecx + eax*8]
je 0x477ef4
lea eax, [ebp - 0xcc]
push eax
push dword [esi + 0x10]
call fcn.0046d8f0
add esp, 8
test eax, eax
je 0x477ef4
mov eax, dword [ebx + edi*4 + 0xc]
push dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xe0]
push dword [ebp - 0xcc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
call fcn.0047b020
mov esi, dword [ebp - 0xdc]
add esp, 0xc
jmp case.0x47357a.17
push esi
call fcn.0047b050
mov eax, dword [ebx + edi*4 + 8]
mov esi, dword [ebp - 0xdc]
add esp, 4
dec eax
mov dword [ebp - 0xd4], eax
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebx + edi*4 + 0xc]
lea ebx, [eax + eax*4]
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + edi*4 + 0x10]
mov dword [ebp - 0xcc], eax
test byte [esi + 0x1c], 0x20
jne 0x477f5f
push esi
call fcn.0047b0a0
add esp, 4
test byte [esi + 0x1c], 0x20
je 0x47950e
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xe0]
test eax, eax
je 0x477fb1
js 0x477f6a
and eax, 0xf
jmp 0x477f6f
mov eax, 0xff
push dword [ecx + ebx*8 + 0x14]
push dword [ecx + ebx*8 + 0x10]
push eax
push dword [esi + 0x10]
call fcn.0046d940
add esp, 0x10
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x477fa9
mov ebx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xdc]
mov eax, dword [ebx + edi*4 + 8]
dec eax
mov dword [ebp - 0xd4], eax
jmp case.0x47357a.17
mov eax, dword [ebp - 0xcc]
test eax, eax
js 0x473af1
mov edi, dword [ebp - 0xe0]
push dword [edi + ebx*8 + 0x14]
push dword [edi + ebx*8 + 0x10]
push dword [esi + 0x10]
call fcn.0046d860
mov ebx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xdc]
add esp, 0xc
jmp case.0x47357a.17
mov edx, dword [ebx + edi*4 + 0x10]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xb4], edx
mov eax, dword [ebx + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov dword [ebp - 0xc4], esi
cmp byte [ebx + edi*4 + 3], 0
je 0x47803d
mov eax, dword [ebp - 0xd8]
mov ecx, dword [edx + 0x10]
mov eax, dword [eax + 0xa8]
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xb8], eax
test eax, eax
je 0x47803d
cmp dword [eax + 0x20], ecx
je 0x4735d7
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0xb8], eax
test eax, eax
jne 0x478027
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xdc]
mov eax, dword [eax + 0xb0]
cmp eax, dword [ecx + 0x70]
jl 0x478082
mov eax, dword [ebp - 0xd8]
push str.too_many_levels_of_trigger_recursion
mov esi, ecx
add eax, 0x38
push esi
push eax
mov dword [ebp - 0xd0], 1
call fcn.0046f820
add esp, 0xc
mov eax, 1
jmp 0x4791ea
test byte [esi + 0x1c], 0x40
jne 0x4781eb
mov eax, dword [edx + 8]
add eax, dword [edx + 0xc]
mov esi, dword [ebp - 0xdc]
mov dword [ebp - 0xcc], eax
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea eax, [eax + ecx*2]
lea eax, [eax*4 + 0x40]
push eax
push esi
mov dword [ebp - 0xc8], eax
call fcn.0045f410
add esp, 8
mov dword [ebp - 0xb8], eax
test eax, eax
je 0x479514
push dword [ebp - 0xc4]
call fcn.0047af20
mov eax, dword [ebp - 0xc4]
mov ebx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xd4]
mov ecx, 0x40
mov word [eax + 0x1c], cx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xb8]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xb8]
add esp, 4
mov dword [eax], ebx
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xb8]
mov dword [eax + 0x28], ecx
mov eax, dword [ebp - 0xb8]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebx + 8]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebx + 0x18]
mov dword [eax + 0x14], ecx
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebp - 0xb8]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0xb8]
mov cx, word [ebx + 0x32]
mov word [eax + 0x1c], cx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebx + 4]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebx + 0x1c]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0x10]
mov eax, dword [ebp - 0xb8]
mov dword [eax + 0x20], ecx
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0x24]
lea ecx, [edx + 0x40]
lea eax, [eax + eax*4]
mov dword [ebp - 0xc0], ecx
lea eax, [eax + 8]
lea eax, [edx + eax*8]
mov dword [ebp - 0xbc], eax
cmp ecx, eax
je 0x4781fc
mov ebx, 1
lea esp, [esp]
mov word [ecx + 0x1c], bx
mov eax, dword [ebp - 0xc0]
mov dword [eax], esi
mov ecx, dword [ebp - 0xc0]
add ecx, 0x28
mov dword [ebp - 0xc0], ecx
cmp ecx, dword [ebp - 0xbc]
jne 0x4781c0
mov edx, dword [ebp - 0xb8]
jmp 0x4781f6
mov edx, dword [esi + 0x10]
mov dword [ebp - 0xb8], edx
mov esi, ecx
mov ebx, dword [ebp - 0xd8]
inc dword [ebx + 0xb0]
mov eax, dword [ebx + 0xa8]
mov ecx, dword [ebp - 0xfc]
mov dword [edx + 0x3c], eax
mov eax, dword [ebp - 0xb8]
mov dword [eax + 0x30], ecx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0x100]
mov dword [eax + 0x34], ecx
mov ecx, dword [ebx + 0x6c]
mov eax, dword [ebp - 0xb8]
mov dword [eax + 0x38], ecx
mov ecx, dword [ebp - 0xb8]
mov dword [ebx + 0xa8], ecx
lea edi, [ecx + 0x18]
mov dword [ebx + 0x6c], 0
mov dword [ebx + 8], edi
mov eax, dword [ecx + 0x24]
mov dword [ebx + 0x18], eax
mov ax, word [ecx + 0x28]
mov ecx, dword [ebp - 0xd8]
mov word [ebx + 0x32], ax
mov eax, dword [ebx + 0x18]
inc eax
mov dword [ebp - 0xe0], edi
lea eax, [eax + eax*4]
or edx, 0xffffffff
lea eax, [edi + eax*8]
mov dword [ebx + 0x44], eax
mov eax, dword [ebp - 0xb4]
mov ebx, dword [eax]
mov dword [ecx + 4], ebx
mov eax, dword [eax + 4]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xe4], ebx
jmp 0x4791f0
mov eax, dword [ebp - 0xd8]
push 0x1000
mov edx, dword [eax + 0xa8]
mov dword [ebp - 0xcc], 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 [ebx + edi*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea eax, [eax + ecx*8]
push eax
push dword [ebp - 0xe8]
mov dword [ebp - 0xc8], eax
call fcn.0047b2c0
add esp, 0xc
jmp case.0x47357a.17
cmp dword [ebx + edi*4 + 4], 0
mov eax, dword [ebx + edi*4 + 8]
cdq
je 0x478302
add dword [esi + 0x1f0], eax
adc dword [esi + 0x1f4], edx
jmp case.0x47357a.17
mov ecx, dword [ebp - 0xd8]
add dword [ecx + 0x90], eax
mov eax, ecx
adc dword [eax + 0x94], edx
jmp case.0x47357a.17
cmp dword [ebx + edi*4 + 4], 0
je 0x478344
mov eax, dword [esi + 0x1f0]
or eax, dword [esi + 0x1f4]
jne case.0x47357a.17
mov eax, dword [ebx + edi*4 + 8]
dec eax
mov dword [ebp - 0xd4], eax
jmp case.0x47357a.17
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [eax + 0x90]
or eax, dword [ecx + 0x94]
jne case.0x47357a.17
mov eax, dword [ebx + edi*4 + 8]
dec eax
mov dword [ebp - 0xd4], eax
jmp case.0x47357a.17
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax + 0xa8]
test edx, edx
je 0x4783ae
mov dword [ebp - 0xc8], edx
mov eax, dword [edx + 0x3c]
test eax, eax
je 0x47839f
nop
mov edx, eax
mov dword [ebp - 0xc8], edx
mov eax, dword [edx + 0x3c]
test eax, eax
jne 0x478390
mov eax, dword [ebx + edi*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea eax, [eax + ecx*8]
jmp 0x4783be
mov eax, dword [ebx + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
mov dword [ebp - 0xcc], eax
call fcn.0047ad10
mov eax, dword [ebx + edi*4 + 8]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.0047ad10
mov eax, dword [ebp - 0xcc]
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
add esp, 8
cmp dword [eax + 0x14], edx
jg 0x4735d7
jl 0x478403
cmp dword [eax + 0x10], ecx
jae 0x4735d7
mov esi, dword [ebp - 0xdc]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 0x14], 0
jl case.0x47357a.17
jg 0x47358e
cmp dword [ecx + eax*8 + 0x10], 0
jbe case.0x47357a.17
mov eax, dword [ebx + edi*4 + 8]
dec eax
mov dword [ebp - 0xd4], eax
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 0x14], 0
jg case.0x47357a.17
jl 0x47358e
cmp dword [ecx + eax*8 + 0x10], 0
jae case.0x47357a.17
mov eax, dword [ebx + edi*4 + 8]
dec eax
mov dword [ebp - 0xd4], eax
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 4]
mov esi, dword [ebp - 0xe0]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + edi*4 + 0xc]
cdq
add dword [esi + ecx*8 + 0x10], eax
mov eax, esi
adc dword [eax + ecx*8 + 0x14], edx
mov eax, dword [eax + ecx*8 + 0x10]
mov edx, esi
mov esi, dword [ebp - 0xdc]
or eax, dword [edx + ecx*8 + 0x14]
jne case.0x47357a.17
mov eax, dword [ebx + edi*4 + 8]
dec eax
mov dword [ebp - 0xd4], eax
jmp case.0x47357a.17
movzx ecx, byte [ebx + edi*4 + 3]
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xcc], ecx
mov eax, dword [ebx + edi*4 + 8]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xc0], edx
mov esi, dword [eax + 0xc]
xor eax, eax
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0xc8], eax
test ecx, ecx
jle 0x47853b
mov dword [esi + eax*4], edx
push dword [ebp - 0xc0]
call fcn.0047b330
mov eax, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xc0]
inc eax
add edx, 0x28
add esp, 4
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc0], edx
cmp eax, dword [ebp - 0xcc]
jge 0x47853b
mov esi, dword [ebp - 0x7c]
jmp 0x478501
mov eax, dword [ebx + edi*4 + 0x10]
mov ecx, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xdc]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebx + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0x8c], eax
inc dword [eax + 0x18]
mov ecx, dword [ebp - 0xbc]
mov eax, 1
mov word [ebp - 0x98], ax
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0xb4], esi
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
test byte [ecx + 3], 8
je 0x4785c4
mov eax, dword [ebx + edi*4 - 4]
mov dword [ebp - 0x84], eax
push dword [ebp - 0x7c]
lea eax, [ebp - 0xbc]
push dword [ebp - 0xcc]
push eax
mov eax, dword [ecx + 0x10]
call eax
add esp, 0xc
cmp dword [ebp - 0x88], 0
je 0x478616
lea eax, [ebp - 0xb4]
push eax
call fcn.004412b0
push eax
mov eax, dword [ebp - 0xd8]
push 0x4afe94
add eax, 0x38
push esi
push eax
call fcn.0046f820
mov eax, dword [ebp - 0x88]
add esp, 0x14
mov dword [ebp - 0xd0], eax
lea eax, [ebp - 0xb4]
push eax
call fcn.0047af20
add esp, 4
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xcc], eax
push dword [ebx + edi*4 + 0x10]
push eax
call fcn.0047aa20
add esp, 8
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x47867b
push dword [ebp - 0xcc]
call fcn.004412b0
push eax
mov eax, dword [ebp - 0xd8]
push 0x4afe94
add eax, 0x38
push esi
push eax
call fcn.0046f820
add esp, 0x14
movzx eax, byte [ebp - 0xf4]
push eax
push dword [ebp - 0xcc]
call fcn.00472d50
push dword [ebp - 0xcc]
call fcn.0047b400
add esp, 0xc
test eax, eax
jne 0x4794d7
jmp case.0x47357a.17
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0xc4]
push eax
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc0], 0xffffffff
mov dword [ebp - 0xc4], 0xffffffff
push dword [ebx + edi*4 + 8]
push dword [ebx + edi*4 + 4]
push esi
call fcn.0045d950
mov edx, eax
add esp, 0x14
mov dword [ebp - 0xd0], edx
cmp edx, 5
jne 0x478707
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xc8], 1
mov edx, dword [ebp - 0xe0]
xor eax, eax
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebx + edi*4 + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dword [ebp - 0xbc], ecx
mov eax, dword [ebp + eax*4 - 0xc8]
cdq
push edx
push eax
push ecx
call fcn.0047b020
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xbc]
inc eax
add ecx, 0x28
add esp, 0xc
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xbc], ecx
cmp eax, 3
jl 0x478725
jmp case.0x47357a.17
mov edx, dword [ebx + edi*4 + 0xc]
mov dword [ebp - 0xc4], edx
mov ecx, dword [ebx + edi*4 + 4]
mov eax, dword [esi + 8]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
push eax
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xcc], eax
call fcn.0045d130
mov esi, eax
push esi
mov dword [ebp - 0xc8], esi
call fcn.00468e10
mov ebx, eax
cmp edx, 0xffffffff
cmove edx, ebx
push esi
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xc4], edx
call fcn.004690c0
test eax, eax
cmove edx, ebx
push esi
mov dword [ebp - 0xc4], edx
call fcn.00468de0
add esp, 0x10
mov dword [ebp - 0xbc], eax
cmp edx, 5
jne 0x4787f5
push eax
call fcn.004705b0
add esp, 4
test eax, eax
je 0x4787e8
push esi
call fcn.00469e30
add esp, 4
test eax, eax
jne 0x4787f5
mov edx, ebx
mov dword [ebp - 0xc4], edx
jmp 0x4788b9
cmp edx, ebx
je 0x4788b9
cmp ebx, 5
je 0x47880b
cmp edx, 5
jne 0x4788b9
mov eax, dword [ebp - 0xdc]
cmp byte [eax + 0x1c], 0
je 0x478927
cmp dword [eax + 0x8c], 1
jg 0x478927
cmp ebx, 5
jne 0x478862
push esi
call fcn.00468a80
add esp, 4
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x4788a7
push dword [ebp - 0xc4]
push dword [ebp - 0xc8]
call fcn.004698e0
mov edx, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xcc]
add esp, 8
jmp 0x478886
cmp ebx, 4
jne 0x478880
push 2
push esi
call fcn.004698e0
mov edx, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xcc]
add esp, 8
jmp 0x478886
mov ecx, dword [ebp - 0xec]
xor eax, eax
cmp edx, 5
sete al
inc eax
push eax
push ecx
call fcn.0045d680
add esp, 8
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x47891f
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0xc4], edx
mov esi, dword [ebp - 0xc8]
push edx
push esi
call fcn.004698e0
mov ebx, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebx + edi*4 + 8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, 0xa02
mov word [edi + 0x1c], ax
push dword [ebp - 0xc4]
mov dword [ebp - 0xe8], edi
call fcn.00467290
push eax
mov dword [edi + 4], eax
call fcn.004705b0
mov dword [edi + 0x18], eax
movzx eax, byte [ebp - 0xf4]
push eax
push edi
mov byte [edi + 0x1f], 1
call fcn.00472d50
mov esi, dword [ebp - 0xdc]
jmp 0x4791e1
mov edx, dword [ebp - 0xc4]
jmp 0x4788b3
mov esi, dword [ebp - 0xdc]
cmp edx, 5
mov ecx, str.out_of
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 esi
push eax
mov dword [ebp - 0xd0], 1
call fcn.0046f820
mov ebx, dword [ebp - 0xe4]
add esp, 0x10
mov eax, 1
jmp 0x4791ea
mov eax, dword [ebp - 0xd8]
add eax, 0x38
push esi
push eax
call fcn.0046dd40
add esp, 8
mov dword [ebp - 0xd0], eax
jmp 0x4791ea
mov ecx, dword [ebx + edi*4 + 4]
mov eax, dword [esi + 8]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
push eax
mov dword [ebp - 0xcc], eax
call fcn.0045bfb0
add esp, 4
mov dword [ebp - 0xd0], eax
cmp eax, 0x65
jne 0x4791ea
mov eax, dword [ebx + edi*4 + 8]
dec eax
mov dword [ebp - 0xd4], eax
xor eax, eax
mov dword [ebp - 0xd0], eax
jmp 0x4791ea
cmp dword [ebx + edi*4 + 4], 0
jne 0x4789e6
push esi
call fcn.00460740
add esp, 4
jmp case.0x47357a.17
mov eax, dword [ebp - 0xd8]
mov byte [eax + 0x63], 1
jmp case.0x47357a.17
mov al, byte [ebx + edi*4 + 0xc]
mov byte [ebp - 0x118], al
test al, al
jne 0x478a10
test dword [esi + 0xc], 0x80000
jne case.0x47357a.17
push dword [ebp - 0x118]
mov ecx, dword [ebx + edi*4 + 4]
push dword [ebx + edi*4 + 8]
mov eax, dword [esi + 8]
add ecx, ecx
push dword [eax + ecx*8 + 4]
call fcn.0045c6e0
add esp, 0xc
mov dword [ebp - 0xd0], eax
cmp al, 6
jne 0x4791ea
push dword [ebx + edi*4 + 0x10]
mov eax, dword [ebp - 0xd8]
push str.database_table_is_locked:__s
add eax, 0x38
push esi
push eax
call fcn.0046f820
add esp, 0x10
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 0x10]
push eax
push esi
mov dword [ebp - 0xcc], eax
call fcn.0047cb90
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xcc]
add esp, 8
test eax, eax
je case.0x47357a.17
push dword [eax + 8]
push dword [ebp - 0xd8]
call fcn.0044ec10
add esp, 8
jmp case.0x47357a.17
mov eax, dword [ebp - 0xd8]
add eax, 0x38
push eax
push dword [ebx + edi*4 + 0x10]
push dword [ebx + edi*4 + 4]
push esi
call fcn.0047cdc0
add esp, 0x10
mov dword [ebp - 0xd0], eax
jmp 0x4791ea
mov eax, dword [ebp - 0xd8]
mov byte [eax + 0x66], 2
push dword [ebx + edi*4 + 0x10]
push dword [ebx + edi*4 + 4]
push esi
call fcn.0047ce80
mov ecx, dword [ebp - 0xd8]
add esp, 0xc
mov dword [ebp - 0xd0], eax
mov byte [ecx + 0x66], 0
jmp 0x4791ea
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc8], 0
mov eax, dword [ebx + edi*4 + 0x10]
lea edx, [ebp - 0xc8]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xc4], ecx
mov eax, dword [ecx]
push edx
mov dword [ebp - 0xc0], eax
mov eax, dword [eax + 0x18]
push ecx
call eax
push dword [ebp - 0xc4]
mov dword [ebp - 0xd0], eax
push dword [ebp - 0xd8]
call fcn.0044ec10
mov eax, dword [ebp - 0xd0]
add esp, 0x10
test eax, eax
jne 0x4791ea
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xc4]
push 0
push 0xffffffffffffffff
push 0
mov dword [eax], ecx
push dword [ebx + edi*4 + 4]
push dword [ebp - 0xd8]
call fcn.00441f20
add esp, 0x14
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x478ba1
mov ecx, dword [ebp - 0xc8]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x28], ecx
jmp case.0x47357a.17
mov byte [esi + 0x1e], 1
mov eax, dword [ebp - 0xc0]
push dword [ebp - 0xc8]
mov eax, dword [eax + 0x1c]
call eax
add esp, 4
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xc0], edx
mov eax, dword [eax + 0x44]
lea esi, [edx + 0x28]
mov dword [ebp - 0xbc], esi
mov ecx, dword [ebx + edi*4 + 4]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xb0], eax
mov ebx, dword [eax + 0x24]
mov dword [ebp - 0xb8], ebx
mov eax, dword [ebx]
mov dword [ebp - 0xb4], eax
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xec], eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xcc], eax
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0x104], ecx
mov dword [ebp - 0xc8], ecx
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xac], 0
mov edx, dword [ecx + 0xc]
xor ecx, ecx
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0xa8], ecx
test eax, eax
jle 0x478cb2
nop
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xa4]
push dword [eax + ecx*4]
call fcn.0047b330
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xa4]
inc ecx
add esp, 4
mov dword [ebp - 0xa8], ecx
cmp ecx, eax
jge 0x478c98
mov esi, dword [ebp - 0xbc]
jmp 0x478c50
mov ecx, dword [ebp - 0xc4]
mov ebx, dword [ebp - 0xb8]
mov esi, dword [ebp - 0xc8]
mov dword [ebp - 0xec], ecx
jmp 0x478cb8
mov esi, dword [ebp - 0x104]
mov ecx, dword [ebp - 0xd8]
push edx
push eax
mov eax, dword [ebp - 0xe4]
mov byte [ecx + 0x66], 1
push dword [eax + edi*4 + 0x10]
mov ecx, dword [ebp - 0xec]
push esi
mov eax, dword [ecx + 0x20]
push ebx
call eax
push dword [ebp - 0xb4]
mov ebx, eax
mov eax, dword [ebp - 0xd8]
push eax
mov dword [ebp - 0xd0], ebx
mov byte [eax + 0x66], 0
call fcn.0044ec10
add esp, 0x1c
test ebx, ebx
jne 0x478d1c
mov eax, dword [ebp - 0xc4]
push dword [ebp - 0xb8]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
mov dword [ebp - 0xac], eax
jmp 0x478d22
mov eax, dword [ebp - 0xac]
mov ebx, dword [ebp - 0xe4]
test eax, eax
je 0x478d37
mov eax, dword [ebx + edi*4 + 8]
dec eax
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xb0]
mov esi, dword [ebp - 0xdc]
mov byte [eax + 0x1c], 0
jmp case.0x47357a.17
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebx + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xc4], eax
cmp byte [esi + 0x1c], 0
je 0x478d8c
push eax
call fcn.0047b050
mov esi, dword [ebp - 0xdc]
add esp, 4
jmp case.0x47357a.17
mov eax, dword [esi + 0x24]
push 0x40
mov eax, dword [eax]
mov dword [ebp - 0xcc], eax
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0xbc]
push 0
push eax
call fcn.004866f0
push dword [ebp - 0xc4]
lea eax, [ebp - 0xb4]
push eax
call fcn.0047adb0
mov eax, dword [ebp - 0x98]
and eax, 0xbf01
or eax, 1
mov word [ebp - 0x98], ax
push dword [ebx + edi*4 + 8]
lea eax, [ebp - 0xbc]
push eax
mov eax, dword [ebp - 0xc8]
push dword [esi + 0x24]
mov eax, dword [eax + 0x2c]
call eax
push dword [ebp - 0xcc]
mov dword [ebp - 0xd0], eax
push dword [ebp - 0xd8]
call fcn.0044ec10
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0xd0]
test eax, eax
cmovne ecx, eax
movzx eax, byte [ebp - 0xf4]
push eax
lea eax, [ebp - 0xb4]
push eax
mov dword [ebp - 0xd0], ecx
call fcn.00472d50
lea eax, [ebp - 0xb4]
push eax
push dword [ebp - 0xc4]
call fcn.0047adb0
push dword [ebp - 0xc4]
call fcn.0047b400
mov esi, dword [ebp - 0xdc]
add esp, 0x3c
test eax, eax
jne 0x4794d7
jmp case.0x47357a.17
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xc4], 0
mov ecx, dword [ebx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc0], ecx
cmp byte [ecx + 0x1c], 0
jne case.0x47357a.17
mov eax, dword [ecx + 0x24]
mov edx, dword [ebp - 0xd8]
mov eax, dword [eax]
mov dword [ebp - 0xcc], eax
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
mov byte [edx + 0x66], 1
push dword [ecx + 0x24]
mov eax, dword [eax + 0x24]
call eax
push dword [ebp - 0xcc]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xd8]
push eax
mov byte [eax + 0x66], 0
call fcn.0044ec10
add esp, 0xc
cmp dword [ebp - 0xd0], 0
jne 0x478efa
mov eax, dword [ebp - 0xc0]
push dword [eax + 0x24]
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
mov dword [ebp - 0xc4], eax
jmp 0x478f00
mov eax, dword [ebp - 0xc4]
test eax, eax
jne case.0x47357a.17
mov eax, dword [ebx + edi*4 + 8]
dec eax
mov dword [ebp - 0xd4], eax
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 0x10]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [eax + 8]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebx + edi*4 + 4]
push 1
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
mov dword [ebp - 0xc8], eax
call fcn.00472d50
add esp, 8
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x4791ea
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xc8]
mov edx, dword [ecx]
push dword [eax + 4]
mov eax, dword [edx + 0x4c]
push ecx
call eax
push dword [ebp - 0xcc]
mov dword [ebp - 0xd0], eax
push dword [ebp - 0xd8]
call fcn.0044ec10
mov eax, dword [ebp - 0xd8]
add esp, 0x10
mov byte [eax + 0x63], 0
jmp case.0x47357a.17
mov eax, dword [ebx + edi*4 + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0xcc], eax
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
mov edx, dword [ebx + edi*4 + 8]
mov dword [ebp - 0xc4], edx
cmp dword [eax + 0x34], 0
je case.0x47357a.17
mov bl, byte [esi + 0x22]
mov eax, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xe4]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xb4], eax
mov eax, dword [esi + edi*4 + 0xc]
mov dword [ebp - 0xc0], 0
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xb0], ecx
test edx, edx
jle 0x479042
lea esp, [esp]
push ecx
call fcn.0047b330
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xb0]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xb0]
inc eax
add ecx, 0x28
add esp, 4
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xc0], eax
cmp eax, dword [ebp - 0xc4]
jl 0x479000
mov al, byte [esi + edi*4 + 3]
mov esi, dword [ebp - 0xdc]
mov byte [esi + 0x22], al
lea eax, [ebp - 0xbc]
push eax
push dword [ebp - 0xb4]
mov eax, dword [ebp - 0xc8]
push dword [ebp - 0xc4]
mov eax, dword [eax + 0x34]
push dword [ebp - 0xcc]
call eax
mov byte [esi + 0x22], bl
push dword [ebp - 0xcc]
mov dword [ebp - 0xd0], eax
push dword [ebp - 0xd8]
call fcn.0044ec10
mov ebx, dword [ebp - 0xd0]
add esp, 0x18
test ebx, ebx
jne 0x4790d9
mov ebx, dword [ebp - 0xe4]
cmp dword [ebx + edi*4 + 4], 0
je 0x4790cb
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xfc], eax
mov dword [esi + 0x30], eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x100], ecx
mov dword [esi + 0x34], eax
mov eax, dword [ebp - 0xd8]
inc dword [eax + 0x6c]
jmp case.0x47357a.17
cmp ebx, 0x13
mov ebx, dword [ebp - 0xe4]
jne 0x4790cb
mov eax, dword [ebx + edi*4 + 0x10]
cmp byte [eax + 0x10], 0
je 0x4790cb
mov al, byte [ebx + edi*4 + 3]
cmp al, 4
jne 0x479103
xor eax, eax
mov dword [ebp - 0xd0], eax
jmp 0x4791ea
cmp al, 5
jne 0x47911a
mov ecx, dword [ebp - 0xd8]
mov eax, 2
mov byte [ecx + 0x60], al
jmp case.0x47357a.17
mov ecx, dword [ebp - 0xd8]
movzx eax, al
mov byte [ecx + 0x60], al
jmp case.0x47357a.17
mov ecx, dword [ebx + edi*4 + 4]
mov eax, dword [esi + 8]
add ecx, ecx
push dword [eax + ecx*8 + 4]
call fcn.0045c640
add esp, 4
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], 0
jmp case.0x47357a.17
mov ecx, dword [ebx + edi*4 + 4]
mov eax, dword [esi + 8]
add ecx, ecx
mov edx, dword [eax + ecx*8 + 4]
mov ecx, dword [ebx + edi*4 + 0xc]
xor eax, eax
test ecx, ecx
je 0x479174
push edx
call fcn.0045c640
add esp, 4
cmp eax, ecx
cmovb eax, ecx
push eax
push edx
call fcn.0045c740
mov ecx, dword [ebp - 0xe8]
cdq
add esp, 8
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x47357a.17
cmp dword [esi + 0x98], 0
je case.0x47357a.17
mov eax, dword [ebx + edi*4 + 0x10]
test eax, eax
jne 0x4791aa
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0xa0]
mov dword [ebp - 0xcc], eax
test eax, eax
je case.0x47357a.17
push eax
push dword [ebp - 0xd8]
call fcn.004797d0
push eax
mov dword [ebp - 0xc8], eax
push dword [esi + 0x9c]
mov eax, dword [esi + 0x98]
call eax
push dword [ebp - 0xc8]
push esi
call fcn.0045f2e0
add esp, 0x18
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xd4]
inc edx
mov dword [ebp - 0xd4], edx
test eax, eax
jne 0x47953a
mov eax, edx
mov edx, dword [ebp - 0x114]
jmp 0x4734e3
mov ebx, 9
mov edx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xd8]
push dword [eax + 0x38]
mov dword [eax + 0x5c], ebx
push dword [eax + 0xa0]
push edx
push str.statement_aborts_at__d:___s___s
push ebx
call fcn.0043eaf0
push dword [ebp - 0xd8]
call fcn.00479ce0
add esp, 0x18
cmp ebx, 0xc0a
jne 0x47924f
mov byte [esi + 0x1e], 1
mov al, byte [ebp - 0xf5]
mov esi, 1
test al, al
je 0x47941a
mov edi, dword [ebp - 0xdc]
movzx eax, al
dec eax
push eax
push edi
call fcn.0046d260
add esp, 8
jmp 0x479420
mov eax, dword [ebx + edi*4 + 4]
mov edx, dword [ebp - 0xd4]
mov dword [ecx + 0x5c], eax
mov al, byte [ebx + edi*4 + 8]
mov byte [ecx + 0x60], al
mov dword [ecx + 0x58], edx
mov eax, dword [ebx + edi*4 + 0x10]
test eax, eax
je 0x4792d4
push eax
push 0x4afe94
lea eax, [ecx + 0x38]
push esi
push eax
call fcn.0046f820
push dword [ebx + edi*4 + 0x10]
mov eax, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xd4]
push dword [eax + 0xa0]
push edx
push str.abort_at__d_in___s_:__s
push dword [ebx + edi*4 + 4]
call fcn.0043eaf0
add esp, 0x24
jmp 0x4792f2
cmp dword [ecx + 0x5c], 0
je 0x4792f8
push dword [ecx + 0xa0]
push edx
push str.constraint_failed_at__d_in___s_
push dword [ebx + edi*4 + 4]
call fcn.0043eaf0
add esp, 0x10
mov ecx, dword [ebp - 0xd8]
push ecx
call fcn.00479ce0
mov edi, dword [ebp - 0xdc]
add esp, 4
cmp eax, 5
mov eax, dword [ebp - 0xd8]
jne 0x47931f
mov esi, 5
mov dword [eax + 0x5c], esi
jmp 0x479420
cmp dword [eax + 0x5c], 0
mov esi, 0x65
mov eax, 1
cmovne esi, eax
jmp 0x479420
cmp byte [esi + 0x1e], 0
jne 0x479514
mov eax, dword [ebp - 0xd4]
mov esi, dword [ebp - 0xd8]
inc eax
mov dword [esi + 0x58], eax
mov esi, 0x64
jmp 0x47941a
lea eax, [ebp - 0xbc]
push eax
call fcn.0047af20
add esp, 4
jmp 0x479514
mov ebx, 0x14
jmp 0x479494
mov edx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xd8]
mov dword [esi + 0x58], edx
mov esi, 5
mov byte [edi + 0x1c], 0
mov dword [eax + 0x5c], esi
jmp 0x479420
test ecx, ecx
je 0x4793ca
push esi
call fcn.0046d660
mov edi, dword [ebp - 0xd8]
add esp, 4
mov byte [esi + 0x1c], 1
push esi
call fcn.0045dac0
add esp, 4
cmp dword [edi + 0x5c], 0
mov esi, 1
mov eax, 0x65
cmove esi, eax
jmp 0x47941a
mov edi, dword [ebp - 0xd8]
push 1
push edi
call fcn.00472fd0
mov esi, eax
add esp, 8
test esi, esi
jne 0x47941a
mov al, byte [ebp - 0xcc]
mov esi, dword [ebp - 0xdc]
push edi
mov byte [esi + 0x1c], al
call fcn.00479ce0
add esp, 4
cmp eax, 5
jne 0x4793ae
mov edx, dword [ebp - 0xd4]
mov al, 1
sub al, byte [ebp - 0xcc]
mov dword [edi + 0x58], edx
mov byte [esi + 0x1c], al
mov esi, 5
mov dword [edi + 0x5c], esi
mov edi, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xfc]
push dword [ebp - 0xd8]
mov dword [edi + 0x30], eax
mov eax, dword [ebp - 0x100]
mov dword [edi + 0x34], eax
call fcn.0047a250
mov ecx, dword [ebp - 4]
add esp, 4
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00487c50
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xd4]
mov dword [edi + 0x58], edx
jmp 0x479412
push 0x10406
call fcn.0045e420
mov esi, dword [ebp - 0xdc]
add esp, 4
mov ebx, eax
jmp 0x479494
mov esi, dword [ebp - 0xdc]
mov ebx, 0xd
jmp 0x479494
mov esi, dword [ebp - 0xdc]
mov ebx, dword [ebp - 0xd0]
cmp byte [esi + 0x1e], 0
je 0x4794a1
mov ebx, 7
jmp 0x4794ad
cmp ebx, 0xc0a
je 0x479211
push ebx
call fcn.00460640
push eax
mov eax, dword [ebp - 0xd8]
push 0x4afe94
add eax, 0x38
push esi
push eax
call fcn.0046f820
add esp, 0x14
jmp 0x479211
mov esi, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xd8]
push str.string_or_blob_too_big
add eax, 0x38
push esi
push eax
call fcn.0046f820
add esp, 0xc
mov ebx, 0x12
jmp 0x479211
mov ecx, dword [ebp - 0xd8]
mov ebx, 9
mov dword [ecx + 0x5c], ebx
push ebx
jmp 0x4794ae
mov esi, edi
jmp 0x479514
mov esi, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xd8]
push str.out_of_memory
add eax, 0x38
push esi
push eax
mov byte [esi + 0x1e], 1
call fcn.0046f820
add esp, 0xc
mov ebx, 7
jmp 0x479211
mov ebx, dword [ebp - 0xd0]
jmp 0x479217