Function at 0x5197b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xac
mov eax, dword [0x790f00]
xor eax, esp
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xbc]
push ebx
mov ebx, dword [esp + 0xbc]
push ebp
mov ebp, dword [esp + 0xb8]
push esi
mov dword [esp + 0x50], eax
push edi
mov esi, dword [ebp + 8]
mov eax, dword [ebp]
mov edi, dword [esp + 0xc4]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x30], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x64], esi
test esi, esi
je 0x51980b
mov dword [esp + 0x80], esi
jmp 0x519839
cmp dword [ebp + 0x7c], 0
jne 0x51981b
test byte [eax + 0x50], 8
jne 0x51981b
mov byte [ebp + 0x17], 1
push ebp
call fcn.0052ba20
mov esi, eax
add esp, 4
mov dword [esp + 0x64], esi
mov dword [esp + 0x80], esi
test esi, esi
je 0x519bb1
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x519857
push 0
push 1
push 1
push 0xa6
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x51988a
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xa6
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebp]
mov dword [ebp + 0x2c], 2
cmp dword [ebx + 4], 0
jbe 0x5198e4
cmp byte [eax + 0xb1], 0
je 0x5198b3
push str.corrupt_database
push ebp
call fcn.00505000
jmp 0x519bae
push edi
push eax
mov dword [esp + 0x24], ebx
call fcn.0050aa10
mov ebp, eax
add esp, 8
test ebp, ebp
jns 0x5198de
push edi
push str.unknown_database__T
push dword [esp + 0x1c]
call fcn.00505000
add esp, 0xc
jmp 0x519bb1
mov dword [esp + 0x50], eax
jmp 0x5198f3
movzx ebp, byte [eax + 0xb0]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x50], ebp
mov eax, dword [esp + 0x10]
mov edi, ebp
shl edi, 4
add edi, dword [eax + 0x10]
mov dword [esp + 0x78], edi
cmp ebp, 1
jne 0x519920
push dword [esp + 0x14]
call fcn.00516a00
add esp, 4
test eax, eax
jne 0x519bb1
mov eax, dword [esp + 0x10]
push dword [esp + 0x1c]
push eax
call fcn.00516350
add esp, 8
mov dword [esp + 0x2c], eax
test eax, eax
je 0x519bb1
cmp dword [esp + 0xd0], 0
push dword [esp + 0x54]
je 0x51995a
push 0x6ef620
push dword [esp + 0x18]
call fcn.00515bf0
add esp, 0xc
jmp 0x519966
push dword [esp + 0x14]
call fcn.00516350
add esp, 8
cmp dword [ebx + 4], 0
mov dword [esp + 0x18], eax
jbe 0x519974
mov ebx, dword [edi]
jmp 0x519976
xor ebx, ebx
push ebx
push eax
push dword [esp + 0x34]
mov dword [esp + 0x2c], ebx
push 0x13
push dword [esp + 0x24]
call fcn.004f9a50
add esp, 0x14
test eax, eax
jne 0x519b8e
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], 0
mov eax, dword [ecx + 0xc]
mov dword [ecx + 0x1c8], 0
mov dword [esp + 0x38], 1
test eax, eax
je 0x5199e9
push eax
call dword [0x78d068]
mov ecx, dword [esp + 0x14]
add esp, 4
test ebx, ebx
je 0x519a02
push ebx
push ecx
call fcn.0050aa90
mov ebx, eax
add esp, 8
test ebx, ebx
jns 0x519a04
jmp 0x519a8d
xor ebx, ebx
mov eax, dword [esp + 0x10]
add ebx, ebx
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + ebx*8 + 4]
test ebx, ebx
je 0x519a8d
cmp byte [ebx + 9], 0
je 0x519a2d
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x519a2d
push ebx
call fcn.004cacd0
add esp, 4
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x1c8]
mov dword [esp + 0x24], ecx
mov eax, dword [eax + 0x40]
mov ecx, dword [eax]
test ecx, ecx
jne 0x519a53
mov dword [esp + 0x38], 0xc
jmp 0x519a6a
lea edx, [esp + 0xa8]
push edx
push 0xe
push eax
mov eax, dword [ecx + 0x28]
call eax
add esp, 0xc
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
mov dword [ecx + 0x1c8], eax
cmp byte [ebx + 9], 0
je 0x519a8d
add dword [ebx + 0xc], 0xffffffff
jne 0x519a8d
push ebx
call fcn.00544110
add esp, 4
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x519aa2
push eax
call dword [0x78d070]
add esp, 4
mov ebx, dword [esp + 0x38]
test ebx, ebx
jne 0x519bd3
push 1
push esi
call fcn.005381a0
push 0xffffffffffffffff
push dword [esp + 0xb4]
push ebx
push ebx
push esi
call fcn.00538150
mov edi, dword [esp + 0xc4]
add esp, 0x1c
test edi, edi
je 0x519b8e
push ebx
push edi
push ebx
push 1
push ebx
push 0x75
push esi
call fcn.0052b4d0
mov ecx, dword [esi + 0x6c]
add esp, 0x1c
cmp dword [esi + 0x70], ecx
jg 0x519b04
push ebx
push 1
push 1
push 0x54
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x519b37
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [esp + 0xa8]
test edi, edi
je 0x519b8e
cmp dword [0x78d018], 0
je 0x519bca
mov eax, dword [0x7935d8]
test eax, eax
je 0x519b5e
push eax
call dword [0x78d068]
add esp, 4
push edi
call dword [0x78d044]
sub dword [0x793570], eax
dec dword [0x793594]
push edi
call dword [0x78d03c]
mov eax, dword [0x7935d8]
add esp, 8
test eax, eax
je 0x519b8e
push eax
call dword [0x78d070]
add esp, 4
mov ebp, dword [esp + 0x10]
push dword [esp + 0x2c]
push ebp
call fcn.00502f20
mov eax, dword [esp + 0x20]
add esp, 8
test eax, eax
je 0x519bb1
push eax
push ebp
call fcn.00502f20
add esp, 8
mov ecx, dword [esp + 0xb8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.006daf70
add esp, 0xac
ret
push edi
call dword [0x78d03c]
jmp 0x519b8b
cmp ebx, 0xc
je 0x519c7c
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x519c6d
push eax
push 0x6ec65c
push dword [esp + 0x1c]
call fcn.00505000
mov esi, dword [esp + 0xb4]
add esp, 0xc
test esi, esi
je 0x519c6d
cmp dword [0x78d018], 0
je 0x519c63
mov eax, dword [0x7935d8]
test eax, eax
je 0x519c24
push eax
call dword [0x78d068]
add esp, 4
push esi
call dword [0x78d044]
sub dword [0x793570], eax
dec dword [0x793594]
push esi
call dword [0x78d03c]
mov eax, dword [0x7935d8]
add esp, 8
test eax, eax
je 0x519c6d
push eax
call dword [0x78d070]
mov eax, dword [esp + 0x18]
add esp, 4
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x519b8e
push esi
call dword [0x78d03c]
add esp, 4
mov eax, dword [esp + 0x14]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x519b8e
push dword [esp + 0x2c]
call fcn.004edfb0
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x519b8e
test byte [ebx + 5], 1
je 0x519cac
push dword [esp + 0x14]
call fcn.0051f280
add esp, 4
test eax, eax
jne 0x519b8e
mov al, byte [ebx + 5]
test al, 2
jne 0x519cc9
test al, 4
je 0x519cbf
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x519ccd
push ebx
push esi
call fcn.004f5ec0
add esp, 8
mov edx, dword [esp + 0x18]
movzx eax, byte [ebx + 4]
dec eax
cmp eax, 0x2a
ja case.0x519cdb.5
jmp dword [eax*4 + 0x51e100]
push ebp
push esi
call fcn.00538a70
mov eax, dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x519d2c
mov ecx, dword [esp + 0x14]
push eax
push 0x6e9d44
push 9
add dword [ecx + 0x2c], 2
push esi
call fcn.0052b5b0
push dword [esp + 0x3c]
push dword [esp + 0x24]
mov dword [eax + 4], ebp
mov dword [eax + 0x18], ebp
mov dword [eax + 0x7c], 0xfffff830
call fcn.00502f20
add esp, 0x18
jmp 0x519bb1
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
push ecx
push eax
call fcn.005110d0
push dword [esp + 0x24]
call fcn.004f6340
push ebp
push 0
push dword [esp + 0x28]
mov edi, eax
call fcn.004fa500
push edi
push 3
push ebp
push 0x64
push esi
call fcn.0052b470
mov ecx, dword [esp + 0xa4]
mov eax, dword [ecx + 0xc]
mov dword [eax + 0x50], edi
mov eax, dword [ecx + 0xc]
push dword [eax + 0x50]
push dword [ecx + 4]
call fcn.004fdbe0
push dword [esp + 0x60]
mov ebp, dword [esp + 0x48]
push ebp
call fcn.00502f20
mov eax, dword [esp + 0x54]
add esp, 0x3c
jmp 0x519ba7
mov edi, dword [edi + 4]
test edx, edx
jne 0x519db6
test edi, edi
je 0x519dae
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x24]
cdq
jmp 0x51a8e2
xor eax, eax
cdq
jmp 0x51a8e2
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0
push eax
push edx
call fcn.005110d0
mov eax, dword [esp + 0x24]
mov ebp, dword [esp + 0x18]
push 0
push 0
push eax
push edi
mov dword [ebp + 0x64], eax
call fcn.004fdc80
add esp, 0x18
cmp eax, 7
jne 0x519b92
push ebp
call fcn.00516600
push dword [esp + 0x30]
push ebp
call fcn.00502f20
mov eax, dword [esp + 0x24]
add esp, 0xc
jmp 0x519ba7
mov eax, dword [edi + 4]
or ebp, 0xffffffff
mov dword [esp + 0x24], eax
test edx, edx
je 0x519e3d
push str.fast
push edx
call fcn.00526840
add esp, 8
test eax, eax
jne 0x519e2c
lea ebp, [eax + 2]
jmp 0x519e3d
push 0
push dword [esp + 0x1c]
call fcn.00510e80
add esp, 8
movzx ebp, al
mov eax, dword [esp + 0x30]
cmp dword [eax + 4], 0
jne 0x519e7d
test ebp, ebp
js 0x519e7d
mov eax, dword [esp + 0x10]
xor ebx, ebx
cmp dword [eax + 0x14], ebx
jle 0x519e7d
xor edi, edi
mov esi, eax
nop word [eax + eax]
mov eax, dword [esi + 0x10]
push ebp
push dword [edi + eax + 4]
call fcn.004fdaf0
inc ebx
lea edi, [edi + 0x10]
add esp, 8
cmp ebx, dword [esi + 0x14]
jl 0x519e60
mov esi, dword [esp + 0x64]
push ebp
push dword [esp + 0x28]
call fcn.004fdaf0
cdq
push edx
push eax
push esi
call fcn.004f36b0
add esp, 0x14
jmp 0x519b8e
mov ebx, dword [esp + 0x14]
xorps xmm0, xmm0
push ebp
push ebx
movlpd qword [esp + 0xa4], xmm0
call fcn.004ffef0
mov edi, dword [ebx + 0x2c]
add esp, 8
mov eax, dword [esp + 0x2c]
inc edi
mov dword [ebx + 0x2c], edi
movzx eax, byte [eax]
cmp byte [eax + 0x6e8f28], 0x70
jne 0x519eec
push edi
push ebp
push 0xb1
push esi
call fcn.0052b410
add esp, 0x10
push 1
push edi
push 0x54
push esi
call fcn.0052b410
add esp, 0x10
jmp 0x519b8e
mov eax, dword [esp + 0x18]
test eax, eax
je 0x519f3e
lea ecx, [esp + 0x9c]
push ecx
push eax
call fcn.00503380
add esp, 8
test eax, eax
jne 0x519f3e
mov ecx, dword [esp + 0xa0]
mov eax, dword [esp + 0x9c]
test ecx, ecx
jg 0x519f2c
jl 0x519f3e
test eax, eax
jb 0x519f3e
test ecx, ecx
jl 0x519f51
jg 0x519f2c
cmp eax, 0xfffffffe
jbe 0x519f51
mov eax, 0xfffffffe
mov dword [esp + 0xa0], 0
jmp 0x519f51
xorps xmm0, xmm0
movlpd qword [esp + 0x9c], xmm0
mov eax, dword [esp + 0x9c]
push eax
push edi
push ebp
push 0xb2
push esi
call fcn.0052b470
add esp, 0x14
push 1
push edi
push 0x54
push esi
call fcn.0052b410
add esp, 0x10
jmp 0x519b8e
test edx, edx
je 0x519fa9
push str.exclusive
push edx
call fcn.00526840
add esp, 8
test eax, eax
jne 0x519f90
lea ecx, [eax + 1]
jmp 0x519fac
push str.normal
push dword [esp + 0x1c]
call fcn.00526840
add esp, 8
test eax, eax
jne 0x519fa9
xor ecx, ecx
jmp 0x519fac
or ecx, 0xffffffff
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x10]
cmp dword [eax + 4], 0
jne 0x51a00d
cmp ecx, 0xffffffff
jne 0x519fc5
movzx eax, byte [ebp + 0x59]
jmp 0x51a01e
mov edx, 2
cmp dword [ebp + 0x14], edx
jle 0x51a00a
mov ebx, 0x20
mov eax, dword [ebp + 0x10]
mov eax, dword [ebx + eax + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
js 0x51a001
cmp byte [eax + 0xc], 0
jne 0x51a001
mov ebp, dword [eax + 0xe8]
test ebp, ebp
je 0x519ffa
cmp byte [ebp + 0x2b], 2
je 0x519ffd
mov byte [eax + 4], cl
mov ebp, dword [esp + 0x10]
inc edx
add ebx, 0x10
cmp edx, dword [ebp + 0x14]
jl 0x519fd4
mov byte [ebp + 0x59], cl
mov eax, dword [edi + 4]
push ecx
mov eax, dword [eax + 4]
push dword [eax]
call fcn.00517370
add esp, 8
cmp eax, 1
mov edx, str.exclusive
mov ecx, str.normal
cmove ecx, edx
push ecx
push esi
call fcn.004f3740
add esp, 8
jmp 0x519b92
test edx, edx
je 0x51a093
mov edi, edx
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x51a046
sub edi, ecx
and edi, 0x3fffffff
xor ebx, ebx
cmp ebx, 6
je 0x51a093
mov eax, dword [ebx*4 + 0x6e9c68]
test eax, eax
je 0x51a093
push edi
push eax
push edx
call fcn.004b1730
add esp, 0xc
test eax, eax
je 0x51a07d
mov edx, dword [esp + 0x18]
inc ebx
jmp 0x51a057
cmp ebx, 2
jne 0x51a0af
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x51a0b4
or ebx, 0xffffffff
mov ecx, dword [esp + 0x30]
cmp dword [ecx + 4], 0
jne 0x51a0b8
xor edx, edx
mov dword [ecx + 4], 1
mov dword [esp + 0x50], edx
jmp 0x51a0bc
cmp ebx, 0xffffffff
je 0x51a096
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0x10]
mov edi, dword [ebp + 0x14]
sub edi, 1
js 0x51a17f
mov ebp, edi
shl ebp, 4
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
cmp dword [eax + ebp + 4], 0
je 0x51a167
cmp edi, edx
je 0x51a0f1
cmp dword [ecx + 4], 0
jne 0x51a167
mov eax, dword [esi + 0x9c]
bts eax, edi
mov dword [esi + 0x9c], eax
cmp edi, 1
je 0x51a123
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ebp + 4]
cmp byte [eax + 9], 0
je 0x51a123
mov eax, dword [esi + 0xa0]
bts eax, edi
mov dword [esi + 0xa0], eax
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x51a13c
push ebx
push 1
push edi
push 4
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x51a167
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 4
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x30]
sub ebp, 0x10
sub edi, 1
mov edx, dword [esp + 0x50]
jns 0x51a0d1
mov ebp, dword [esp + 0x10]
push 1
push 1
push 0x54
push esi
call fcn.0052b410
add esp, 0x10
jmp 0x519b92
mov eax, dword [edi + 4]
or ecx, 0xffffffff
mov dword [esp + 0xa0], ecx
mov eax, dword [eax + 4]
mov edi, dword [eax]
mov eax, 0xfffffffe
mov dword [esp + 0x9c], eax
test edx, edx
je 0x51a1ee
lea eax, [esp + 0x9c]
push eax
push edx
call fcn.00503380
mov ecx, dword [esp + 0xa8]
add esp, 8
cmp ecx, 0xffffffff
jg 0x51a1e7
jl 0x51a1e0
mov eax, dword [esp + 0x9c]
cmp eax, 0xffffffff
jae 0x51a1ee
or eax, 0xffffffff
or ecx, eax
jmp 0x51a1ee
mov eax, dword [esp + 0x9c]
cmp ecx, 0xffffffff
jl 0x51a216
jg 0x51a1fa
cmp eax, 0xffffffff
jb 0x51a216
mov edx, dword [edi + 0xe8]
mov dword [edi + 0xb0], eax
mov dword [edi + 0xb4], ecx
test edx, edx
je 0x51a216
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
push dword [edi + 0xb4]
push dword [edi + 0xb0]
push esi
call fcn.004f36b0
add esp, 0xc
jmp 0x519b8e
mov edi, dword [edi + 4]
test edx, edx
jne 0x51a25b
push edi
call fcn.004fbd70
cdq
push edx
push eax
push esi
call fcn.004f36b0
push dword [esp + 0x3c]
push dword [esp + 0x24]
call fcn.00502f20
add esp, 0x18
jmp 0x519bb1
push str.none
push edx
call fcn.00526840
add esp, 8
test eax, eax
jne 0x51a271
xor ebx, ebx
jmp 0x51a2cb
mov ebx, dword [esp + 0x18]
push str.full
push ebx
call fcn.00526840
add esp, 8
test eax, eax
jne 0x51a28c
lea ebx, [eax + 1]
jmp 0x51a2cb
push str.incremental
push ebx
call fcn.00526840
add esp, 8
test eax, eax
jne 0x51a2a3
lea ebx, [eax + 2]
jmp 0x51a2cb
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0
push eax
push ebx
call fcn.005110d0
mov eax, dword [esp + 0x24]
xor edx, edx
add esp, 8
movzx ecx, al
cmp eax, 2
cmova ecx, edx
movzx ebx, cl
mov eax, dword [esp + 0x10]
push ebx
push edi
mov byte [eax + 0x5a], bl
call fcn.004fdb60
add esp, 8
test eax, eax
jne 0x519b8e
cmp ebx, 1
je 0x51a2f2
cmp ebx, 2
jne 0x519b8e
mov edi, dword [esi + 0x6c]
push 0
push 0x6e9d6c
push 5
push esi
call fcn.0052b5b0
lea ecx, [edi + 4]
push ebp
push esi
mov dword [eax + 0x30], ecx
lea ecx, [ebx - 1]
mov dword [eax + 4], ebp
mov dword [eax + 0x18], ebp
mov dword [eax + 0x54], ebp
mov dword [eax + 0x5c], ecx
call fcn.00538a70
push dword [esp + 0x44]
mov ebp, dword [esp + 0x2c]
push ebp
call fcn.00502f20
mov eax, dword [esp + 0x38]
add esp, 0x20
jmp 0x519ba7
mov dword [esp + 0x1c], 0
test edx, edx
je 0x51a360
lea eax, [esp + 0x1c]
push eax
push edx
call fcn.005110d0
add esp, 8
test eax, eax
je 0x51a360
mov edi, dword [esp + 0x1c]
test edi, edi
jg 0x51a365
mov edi, bind
push ebp
push 0
push dword [esp + 0x1c]
call fcn.004fa500
push 1
push edi
push 0x47
push esi
call fcn.0052b410
push ebp
push 0x3e
push esi
call fcn.0052b3b0
push 1
push 0x54
push esi
mov edi, eax
call fcn.0052b3b0
push 0xffffffffffffffff
push 1
push 0x56
push esi
call fcn.0052b410
add esp, 0x44
push edi
push 1
push 0x3b
push esi
call fcn.0052b410
push edi
push esi
call fcn.00535820
add esp, 0x18
jmp 0x519b8e
test edx, edx
jne 0x51a3ca
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x50]
cdq
jmp 0x51a8e2
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0
push eax
push edx
call fcn.005110d0
mov ecx, dword [edi + 0xc]
mov eax, dword [esp + 0x24]
mov dword [ecx + 0x50], eax
mov eax, dword [edi + 0xc]
push dword [eax + 0x50]
push dword [edi + 4]
call fcn.004fdbe0
push dword [esp + 0x3c]
mov ebp, dword [esp + 0x24]
push ebp
call fcn.00502f20
mov eax, dword [esp + 0x30]
add esp, 0x18
jmp 0x519ba7
test edx, edx
jne 0x51a437
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x20]
and eax, 0x20
or eax, edx
je 0x51a64e
push 0
push dword [edi + 4]
call fcn.004fddb0
add esp, 8
jmp 0x51a64e
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 1
push eax
push edx
call fcn.005110d0
mov esi, dword [esp + 0x24]
add esp, 8
test eax, eax
je 0x51a461
push esi
push dword [edi + 4]
call fcn.004fddb0
add esp, 8
test esi, esi
setne al
movzx eax, al
push eax
push dword [esp + 0x1c]
call fcn.00510e80
mov ebp, dword [esp + 0x18]
add esp, 8
test al, al
mov eax, ebp
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x24]
je 0x51a48b
or ecx, 0x20
jmp 0x51a48e
and ecx, 0xffffffdf
mov dword [eax + 0x20], ecx
push ebp
mov dword [eax + 0x24], edx
call fcn.004f5c60
push dword [esp + 0x30]
push ebp
call fcn.00502f20
mov eax, dword [esp + 0x24]
add esp, 0xc
jmp 0x519ba7
test edx, edx
je 0x51a5d8
lea eax, [esp + 0x9c]
push eax
push edx
call fcn.00503380
add esp, 8
cmp dword [esp + 0xa0], 0
jg 0x51a4f8
jl 0x51a4df
cmp dword [esp + 0x9c], 0
jae 0x51a4f8
mov eax, dword [0x78d0c0]
mov ecx, dword [0x78d0c4]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], ecx
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x10]
cmp dword [eax + 4], 0
jne 0x51a51a
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa0]
mov dword [edx + 0x30], eax
mov dword [edx + 0x34], ecx
mov ebx, dword [edx + 0x14]
sub ebx, 1
js 0x51a5d8
mov esi, dword [esp + 0x30]
mov edi, ebx
shl edi, 4
mov dword [esp + 0x1c], edi
mov eax, dword [edx + 0x10]
mov edi, dword [edi + eax + 4]
test edi, edi
je 0x51a5c0
cmp ebx, ebp
je 0x51a54c
cmp dword [esi + 4], 0
jne 0x51a5c0
cmp byte [edi + 9], 0
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x7c], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x24], eax
je 0x51a585
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x51a585
push edi
call fcn.004cacd0
mov eax, dword [esp + 0x28]
add esp, 4
mov eax, dword [eax]
mov ecx, dword [esp + 0x78]
push eax
mov dword [eax + 0x88], ecx
mov ecx, dword [esp + 0x80]
mov dword [eax + 0x8c], ecx
call fcn.004e9580
add esp, 4
cmp byte [edi + 9], 0
je 0x51a5bc
add dword [edi + 0xc], 0xffffffff
jne 0x51a5bc
push edi
call fcn.00544110
add esp, 4
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
sub edi, 0x10
sub ebx, 1
mov dword [esp + 0x1c], edi
jns 0x51a533
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x20]
lea eax, [esp + 0x9c]
mov ebp, dword [esp + 0x10]
push eax
push 0x12
push edi
push ebp
mov dword [esp + 0xac], 0xffffffff
mov dword [esp + 0xb0], 0xffffffff
call fcn.004adee0
add esp, 0x10
test eax, eax
jne 0x51a62a
push dword [esp + 0xa0]
push dword [esp + 0xa0]
push esi
call fcn.004f36b0
add esp, 0xc
jmp 0x519b92
cmp eax, 0xc
je 0x519b92
mov ecx, dword [esp + 0x14]
inc dword [ecx + 0x24]
mov dword [ecx + 0xc], eax
jmp 0x519b92
test edx, edx
jne 0x51a669
mov ebx, dword [esp + 0x10]
movzx eax, byte [ebx + 0x56]
cdq
push edx
push eax
push esi
call fcn.004f36b0
push dword [esp + 0x38]
push ebx
call fcn.00502f20
add esp, 0x14
jmp 0x519bb1
mov cl, byte [edx]
mov al, cl
sub al, 0x30
cmp al, 2
ja 0x51a67b
movsx ebx, cl
sub ebx, 0x30
jmp 0x51a6ad
push str.file
push edx
call fcn.00526840
add esp, 8
test eax, eax
jne 0x51a692
lea ebx, [eax + 1]
jmp 0x51a6ad
push str.memory
push dword [esp + 0x1c]
call fcn.00526840
add esp, 8
neg eax
sbb ebx, ebx
and ebx, 0xfffffffe
add ebx, 2
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx]
movzx eax, byte [esi + 0x56]
cmp eax, ebx
je 0x519b8e
push ecx
call fcn.004deba0
mov ebp, dword [esp + 0x14]
add esp, 4
test eax, eax
jne 0x519b92
push dword [esp + 0x2c]
mov byte [esi + 0x56], bl
push ebp
call fcn.00502f20
mov eax, dword [esp + 0x20]
add esp, 8
jmp 0x519ba7
cmp byte [0x78d01c], 0
je 0x51a70f
push 0xb
call dword [0x78d060]
add esp, 4
test eax, eax
je 0x51a70f
push eax
call dword [0x78d068]
add esp, 4
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x51a72f
push dword [0x793500]
push esi
call fcn.004f3740
mov ebp, dword [esp + 0x18]
add esp, 8
jmp 0x51a7e7
cmp byte [ecx], 0
mov ebp, dword [esp + 0x10]
je 0x51a79f
mov eax, dword [ebp]
lea edx, [esp + 0x24]
push edx
push 1
push ecx
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x51a756
cmp dword [esp + 0x24], eax
jne 0x51a79f
push str.not_a_writable_directory
push dword [esp + 0x18]
call fcn.00505000
add esp, 8
cmp byte [0x78d01c], 0
je 0x51a789
push 0xb
call dword [0x78d060]
add esp, 4
test eax, eax
je 0x51a789
push eax
call dword [0x78d070]
add esp, 4
push dword [esp + 0x2c]
push ebp
call fcn.00502f20
mov eax, dword [esp + 0x20]
add esp, 8
jmp 0x519ba7
cmp byte [ebp + 0x56], 1
ja 0x51a7b1
push dword [esp + 0x14]
call fcn.004deba0
add esp, 4
push dword [0x793500]
call fcn.004c1720
mov eax, dword [esp + 0x1c]
add esp, 4
cmp byte [eax], 0
je 0x51a7dd
push eax
push 0x6ec65c
call fcn.004c13f0
add esp, 8
mov dword [0x793500], eax
jmp 0x51a7e7
mov dword [0x793500], 0
cmp byte [0x78d01c], 0
je 0x519b92
push 0xb
call dword [0x78d060]
add esp, 4
test eax, eax
je 0x519b92
push eax
call dword [0x78d070]
add esp, 4
jmp 0x519b92
cmp byte [0x78d01c], 0
je 0x51a838
push 0xb
call dword [0x78d060]
add esp, 4
test eax, eax
je 0x51a838
push eax
call dword [0x78d068]
add esp, 4
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x51a851
push dword [0x793504]
push esi
call fcn.004f3740
add esp, 8
jmp 0x51a8b6
cmp byte [ecx], 0
je 0x51a880
mov ebp, dword [esp + 0x10]
lea edx, [esp + 0x24]
push edx
push 1
push ecx
mov eax, dword [ebp]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x51a756
cmp dword [esp + 0x24], eax
je 0x51a756
push dword [0x793504]
call fcn.004c1720
mov eax, dword [esp + 0x1c]
add esp, 4
cmp byte [eax], 0
je 0x51a8ac
push eax
push 0x6ec65c
call fcn.004c13f0
add esp, 8
mov dword [0x793504], eax
jmp 0x51a8b6
mov dword [0x793504], 0
cmp byte [0x78d01c], 0
je 0x519b8e
push 0xb
call dword [0x78d060]
add esp, 4
jmp 0x519b80
test edx, edx
jne 0x51a8ff
movzx eax, byte [edi + 8]
cdq
sub eax, 1
sbb edx, 0
push edx
push eax
push esi
call fcn.004f36b0
push dword [esp + 0x38]
push dword [esp + 0x20]
call fcn.00502f20
add esp, 0x14
jmp 0x519bb1
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x55], 0
jne 0x51a931
push str.Safety_level_may_not_be_changed_inside_a_transaction
push dword [esp + 0x18]
call fcn.00505000
push dword [esp + 0x34]
mov ebp, dword [esp + 0x1c]
push ebp
call fcn.00502f20
mov eax, dword [esp + 0x28]
add esp, 0x10
jmp 0x519ba7
cmp ebp, 1
je 0x51e0f6
push 1
push 0
push edx
call fcn.004dd6a0
mov ebp, dword [esp + 0x1c]
inc eax
and eax, 7
mov ecx, 1
push ebp
cmove eax, ecx
mov byte [edi + 9], cl
mov byte [edi + 8], al
call fcn.004f5c60
push dword [esp + 0x3c]
push ebp
call fcn.00502f20
mov eax, dword [esp + 0x30]
add esp, 0x18
jmp 0x519ba7
test edx, edx
jne 0x51a9d5
push ebx
push esi
call fcn.004f5ec0
mov edi, dword [esp + 0x18]
add esp, 8
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 0x24]
and ecx, dword [ebx + 8]
and eax, dword [ebx + 0xc]
or ecx, eax
je 0x51a9a1
mov eax, 1
xor ecx, ecx
jmp 0x51a9bb
xorps xmm0, xmm0
movlpd qword [esp + 0x9c], xmm0
mov ecx, dword [esp + 0xa0]
mov eax, dword [esp + 0x9c]
push ecx
push eax
push esi
call fcn.004f36b0
push dword [esp + 0x38]
push edi
call fcn.00502f20
add esp, 0x14
jmp 0x519bb1
mov ebp, dword [esp + 0x10]
mov edi, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
cmp byte [ebp + 0x55], 0
jne 0x51a9eb
and edi, 0xffffbfff
push 0
push edx
call fcn.00510e80
mov edx, dword [ebp + 0x20]
add esp, 8
mov ebp, dword [ebp + 0x24]
test al, al
je 0x51aa10
or edi, edx
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [ebp + 0x20], edi
mov dword [ebp + 0x24], ebx
jmp 0x51aa66
mov eax, ebx
mov ecx, edi
not eax
not ecx
and eax, ebp
and ecx, edx
mov ebp, dword [esp + 0x10]
mov dword [ebp + 0x20], ecx
mov dword [ebp + 0x24], eax
cmp edi, 0x80000
jne 0x51aa40
test ebx, ebx
jne 0x51aa40
mov dword [ebp + 0x208], ebx
mov dword [ebp + 0x20c], ebx
jmp 0x51aa66
and edi, 1
or edi, 0
je 0x51aa66
push str.reset
push dword [esp + 0x1c]
call fcn.00526840
add esp, 8
test eax, eax
jne 0x51aa66
push ebp
call fcn.0051fd50
add esp, 4
push 0xa6
push esi
call fcn.0052b360
push ebp
call fcn.004f5c60
push dword [esp + 0x38]
push ebp
call fcn.00502f20
mov eax, dword [esp + 0x2c]
add esp, 0x14
jmp 0x519ba7
test edx, edx
je 0x519b8e
mov ebp, dword [esp + 0x20]
push ebp
push dword [esp + 0x18]
call fcn.004ffe70
push ebp
push dword [esp + 0x24]
mov ebp, dword [esp + 0x24]
push 2
push ebp
call fcn.00515660
mov edi, eax
add esp, 0x18
mov dword [esp + 0x60], edi
test edi, edi
je 0x519b8e
push edi
mov dword [esp + 0x3c], 0
call fcn.0051e750
push edi
push ebp
mov dword [esp + 0x30], eax
mov dword [ebp + 0x2c], 7
call fcn.00538b60
movzx eax, word [edi + 0x22]
xor ecx, ecx
mov ebp, dword [edi + 4]
xor edx, edx
add esp, 0xc
mov dword [esp + 0x34], ecx
cmp dx, ax
jge 0x519b8e
mov dword [esp + 0x44], eax
movzx edx, word [ebp + 0xe]
xor edi, edi
test dl, 0x62
je 0x51ab3c
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
jne 0x51ab20
inc dword [esp + 0x38]
jmp 0x51ac4d
mov eax, dword [esp + 0x44]
test dl, 0x20
je 0x51ab30
mov edi, 2
jmp 0x51ab3c
movzx edi, dl
and edi, 0x40
or edi, 0x20
shr edi, 5
test dl, 1
jne 0x51ab45
xor edx, edx
jmp 0x51ab75
mov ecx, dword [esp + 0x24]
mov edx, 1
test ecx, ecx
je 0x51ab75
cwde
mov dword [esp + 0x78], eax
cmp eax, edx
jl 0x51ab75
mov ecx, dword [ecx + 4]
mov esi, eax
movsx eax, word [ecx]
cmp eax, dword [esp + 0x34]
je 0x51ab71
inc edx
add ecx, 2
cmp edx, esi
jle 0x51ab60
mov esi, dword [esp + 0x64]
movzx eax, word [ebp + 0xc]
test ax, ax
jne 0x51ab82
xor eax, eax
jmp 0x51abaa
mov ecx, dword [esp + 0x60]
cmp byte [ecx + 0x2b], 0
je 0x51ab90
xor eax, eax
jmp 0x51abaa
mov ecx, dword [ecx + 0x34]
test ecx, ecx
jne 0x51ab9b
xor eax, eax
jmp 0x51abaa
cmp dword [ecx], eax
jge 0x51aba3
xor eax, eax
jmp 0x51abaa
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 - 0xc]
cmp edi, 2
jae 0x51abbc
test eax, eax
je 0x51abbc
mov ecx, dword [eax + 8]
mov dword [esp + 0x1c], ecx
jmp 0x51abc4
mov dword [esp + 0x1c], 0
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
mov dword [esp + 0x54], str.issisii
jne 0x51abdc
mov dword [esp + 0x54], str.issisi
test byte [ebp + 0xe], 4
je 0x51ac01
mov ecx, dword [ebp]
lea eax, [ecx + 1]
mov dword [esp + 0x78], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x51abf0
sub ecx, dword [esp + 0x78]
inc ecx
add ecx, dword [ebp]
jmp 0x51ac1a
mov eax, dword [ebp + 4]
shr eax, 4
and eax, 0xf
je 0x51ac15
mov ecx, dword [eax*4 + 0x78d1fc]
jmp 0x51ac1a
mov ecx, 0x774272
test byte [ebp + 4], 0xf
mov eax, 0
push edi
push edx
push dword [esp + 0x24]
setne al
push eax
mov eax, dword [esp + 0x44]
sub eax, dword [esp + 0x48]
push ecx
push dword [ebp]
push eax
push dword [esp + 0x70]
push 1
push esi
call fcn.005370d0
mov ecx, dword [esp + 0x5c]
add esp, 0x28
mov eax, dword [esp + 0x60]
inc ecx
add ebp, 0x10
mov dword [esp + 0x34], ecx
movzx eax, word [eax + 0x22]
mov edx, eax
cwde
cmp ecx, eax
mov dword [esp + 0x44], edx
mov eax, edx
jl 0x51ab04
push dword [esp + 0x2c]
mov ebp, dword [esp + 0x14]
push ebp
call fcn.00502f20
mov eax, dword [esp + 0x20]
add esp, 8
jmp 0x519ba7
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x20]
push ebx
push eax
mov dword [eax + 0x2c], 6
call fcn.004ffe70
mov ebp, dword [esp + 0x18]
add esp, 8
mov dword [esp + 0x3c], 0
cmp dword [ebp + 0x14], 0
jle 0x519b92
xor edi, edi
mov dword [esp + 0x44], edi
nop dword [eax]
test ebx, ebx
je 0x51ace4
mov eax, dword [ebp + 0x10]
mov eax, dword [edi + eax]
test eax, eax
je 0x51afad
push eax
push ebx
call fcn.00526840
add esp, 8
test eax, eax
jne 0x51afad
mov eax, dword [ebp + 0x10]
mov edx, dword [edi + eax + 0xc]
add edx, 8
mov ebx, dword [edx + 4]
test ebx, ebx
je 0x51ae56
nop dword [eax]
mov eax, dword [edx + 8]
dec ebx
mov dword [esp + 0x60], ebx
test eax, eax
je 0x51ae56
mov ecx, dword [eax + 8]
cmp word [ecx + 0x22], 0
je 0x51ad25
mov eax, dword [eax]
test eax, eax
jne 0x51ad10
jmp 0x51ae56
push dword [ecx]
push str.SELECTFROM__w_
push ebp
call fcn.00515bf0
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x51ae1a
push 0
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0
push eax
push 0
push 0
push 0xffffffffffffffff
push ebp
push dword [esp + 0x28]
call fcn.00515880
mov edi, dword [esp + 0x38]
add esp, 0x1c
test edi, edi
je 0x51ae06
mov ebx, dword [edi]
test ebx, ebx
jne 0x51ad9f
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.004b1f90
push 0x6f10ac
push 0x15cd4
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.004b1f90
add esp, 0x1c
jmp 0x51ae02
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x51adb0
push eax
call dword [0x78d068]
add esp, 4
cmp dword [edi + 0x8c], 0
jl 0x51adce
jg 0x51adc4
cmp dword [edi + 0x88], 0
jbe 0x51adce
push edi
push ebx
call fcn.004debf0
add esp, 8
push edi
call fcn.00537dc0
push edi
mov dword [esp + 0x5c], eax
call fcn.0052bae0
mov eax, dword [esp + 0x5c]
add esp, 8
cmp byte [ebx + 0x57], 0
jne 0x51adef
test eax, eax
je 0x51adf9
push eax
push ebx
call fcn.004c7320
add esp, 8
push ebx
call fcn.00514c00
add esp, 4
mov ebx, dword [esp + 0x60]
push ebp
mov ebp, dword [esp + 0x14]
push ebp
call fcn.00502f20
mov edi, dword [esp + 0x4c]
add esp, 8
jmp 0x51ae1e
mov ebp, dword [esp + 0x10]
cmp byte [ebp + 0x57], 0
je 0x51ae44
push str.out_of_memory
push dword [ebp + 0x10c]
call fcn.00505000
mov eax, dword [ebp + 0x10c]
add esp, 8
mov dword [eax + 0xc], 7
mov eax, dword [ebp + 0x10]
mov edx, dword [edi + eax + 0xc]
add edx, 8
test ebx, ebx
jne 0x51ad00
mov edi, dword [edx + 8]
mov dword [esp + 0x34], edi
test edi, edi
je 0x51afa5
mov ecx, dword [esp + 0x18]
nop dword [eax]
mov ebx, dword [edi + 8]
test ecx, ecx
je 0x51ae93
mov eax, dword [ebx]
test eax, eax
je 0x51af97
push eax
push ecx
call fcn.00526840
add esp, 8
test eax, eax
jne 0x51af93
mov al, byte [ebx + 0x2b]
cmp al, 2
jne 0x51aea4
mov dword [esp + 0x38], str.view
jmp 0x51aeca
cmp al, 1
jne 0x51aeb2
mov dword [esp + 0x38], str.virtual
jmp 0x51aeca
test dword [ebx + 0x1c], 0x1000
mov eax, str.shadow
mov ecx, str.table
cmove eax, ecx
mov dword [esp + 0x38], eax
mov ebp, dword [ebx]
mov edx, 7
test ebp, ebp
je 0x51af55
mov edi, ebp
mov ebx, str.sqlite_
mov al, byte [edi]
dec edx
test al, al
je 0x51af02
movzx ecx, byte [ebx]
movzx eax, al
mov al, byte [eax + 0x6e8f28]
cmp al, byte [ecx + 0x6e8f28]
jne 0x51af02
inc edi
inc ebx
test edx, edx
jg 0x51aee0
dec edx
test edx, edx
js 0x51af1e
movzx eax, byte [ebx]
movzx ecx, byte [eax + 0x6e8f28]
movzx eax, byte [edi]
movzx eax, byte [eax + 0x6e8f28]
sub eax, ecx
jne 0x51af51
lea edi, [ebp + 7]
push 0x6ed08f
push edi
call fcn.00526840
add esp, 8
test eax, eax
jne 0x51af3a
mov ebp, str.sqlite_schema
jmp 0x51af51
push 0x6ed273
push edi
call fcn.00526840
add esp, 8
test eax, eax
jne 0x51af51
mov ebp, str.sqlite_temp_schema
mov edi, dword [esp + 0x34]
mov edx, dword [edi + 8]
mov ecx, dword [edx + 0x1c]
mov eax, ecx
shr eax, 0x10
and eax, 1
shr ecx, 7
push eax
movsx eax, word [edx + 0x22]
and ecx, 1
push ecx
mov ecx, dword [esp + 0x4c]
push eax
push dword [esp + 0x44]
push ebp
mov ebp, dword [esp + 0x24]
mov eax, dword [ebp + 0x10]
push dword [ecx + eax]
push str.sssiii
push 1
push esi
call fcn.005370d0
add esp, 0x24
mov ecx, dword [esp + 0x18]
mov edi, dword [edi]
mov dword [esp + 0x34], edi
test edi, edi
jne 0x51ae70
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0x3c]
add edi, 0x10
inc eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x3c], eax
cmp eax, dword [ebp + 0x14]
jl 0x51acc0
jmp 0x519b92
test edx, edx
je 0x519b8e
mov edi, dword [esp + 0x20]
push edi
push edx
push dword [esp + 0x18]
call fcn.0050b630
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x51b023
push edi
push dword [esp + 0x1c]
push 2
push dword [esp + 0x20]
call fcn.00515660
add esp, 0x10
test eax, eax
je 0x519b8e
test byte [eax + 0x1c], 0x80
je 0x519b8e
push eax
call fcn.0051e750
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x519b8e
push dword [ebp + 0x18]
push dword [esp + 0x14]
call fcn.00521840
mov ecx, dword [ebx + 8]
add esp, 8
or ecx, dword [ebx + 0xc]
mov edi, eax
mov edx, dword [esp + 0x14]
je 0x51b04b
movzx eax, word [ebp + 0x34]
mov ecx, 6
jmp 0x51b054
movzx eax, word [ebp + 0x32]
mov ecx, 3
mov dword [esp + 0x38], eax
mov dword [edx + 0x2c], ecx
mov eax, dword [ebp + 0xc]
push edi
push dword [esp + 0x18]
mov dword [esp + 0x2c], eax
call fcn.004ffef0
xor edi, edi
add esp, 8
cmp word [esp + 0x38], di
je 0x519b8e
nop dword [eax]
mov eax, dword [ebp + 4]
movzx eax, word [eax + edi*2]
movsx edx, ax
test ax, ax
jns 0x51b093
xor eax, eax
jmp 0x51b0a1
mov eax, dword [esp + 0x24]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*8]
push eax
push edx
push edi
push str.iisX
push 1
push esi
call fcn.005370d0
mov eax, dword [ebx + 8]
add esp, 0x18
or eax, dword [ebx + 0xc]
je 0x51b0e5
movzx eax, word [ebp + 0x32]
cmp edi, eax
sbb eax, eax
neg eax
push eax
mov eax, dword [ebp + 0x20]
push dword [eax + edi*4]
mov eax, dword [ebp + 0x1c]
movzx eax, byte [eax + edi]
push eax
push str.isiX
push 4
push esi
call fcn.005370d0
add esp, 0x18
mov eax, dword [esp + 0x14]
push dword [eax + 0x2c]
push 1
push 0x54
push esi
call fcn.0052b410
mov ecx, dword [esp + 0x48]
inc edi
movzx eax, cx
add esp, 0x10
cmp edi, eax
jl 0x51b080
push dword [esp + 0x2c]
mov ebp, dword [esp + 0x14]
push ebp
call fcn.00502f20
mov eax, dword [esp + 0x20]
add esp, 8
jmp 0x519ba7
mov ebp, dword [esp + 0x10]
test edx, edx
je 0x519b92
mov edi, dword [esp + 0x20]
push edi
push edx
push ebp
call fcn.0050b6c0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x519b92
push dword [edi + 0x3c]
push ebp
call fcn.00521840
mov ecx, dword [esp + 0x1c]
push eax
push ecx
mov dword [ecx + 0x2c], 5
call fcn.004ffef0
mov edi, dword [edi + 8]
add esp, 0x10
xor ebx, ebx
test edi, edi
je 0x519b92
mov dword [esp + 0x9c], 0x6ef6c8
mov dword [esp + 0xa0], 0x6ef6cc
mov dword [esp + 0xa4], 0x6eadb4
xor eax, eax
cmp dword [edi + 0x24], eax
setne al
push eax
mov eax, dword [edi + 0x38]
and eax, 3
push dword [esp + eax*4 + 0xa0]
xor eax, eax
cmp byte [edi + 0x36], al
setne al
push eax
push dword [edi]
push ebx
push str.isisi
push 1
push esi
call fcn.005370d0
mov edi, dword [edi + 0x14]
add esp, 0x20
inc ebx
test edi, edi
jne 0x51b194
push dword [esp + 0x2c]
push ebp
call fcn.00502f20
mov eax, dword [esp + 0x20]
add esp, 8
jmp 0x519ba7
mov eax, dword [esp + 0x14]
xor edi, edi
mov ebp, dword [esp + 0x10]
mov dword [eax + 0x2c], 3
cmp dword [ebp + 0x14], edi
jle 0x519b92
xor ebx, ebx
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + ebx + 4]
test eax, eax
je 0x51b240
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xf], 0
jne 0x51b226
cmp dword [eax], 0x78da90
je 0x51b226
mov eax, dword [eax + 0xb8]
jmp 0x51b22b
mov eax, 0x6e9244
push eax
push dword [ecx + ebx]
push edi
push 0x6ef6d8
push 1
push esi
call fcn.005370d0
add esp, 0x18
inc edi
add ebx, 0x10
cmp edi, dword [ebp + 0x14]
jl 0x51b200
jmp 0x519b92
mov eax, dword [esp + 0x14]
xor ebx, ebx
mov ebp, dword [esp + 0x10]
mov dword [eax + 0x2c], 2
mov edi, dword [ebp + 0x1b8]
test edi, edi
je 0x519b92
nop dword [eax]
mov eax, dword [edi + 8]
push dword [eax]
push ebx
push 0x6ef6dc
push 1
push esi
call fcn.005370d0
mov edi, dword [edi]
add esp, 0x14
inc ebx
test edi, edi
jne 0x51b270
jmp 0x519b92
mov eax, dword [esp + 0x10]
mov ebp, 0x793510
mov ebx, dword [eax + 0x18]
mov eax, dword [esp + 0x14]
shr ebx, 5
and ebx, 1
mov dword [eax + 0x2c], 6
nop
mov edi, dword [ebp]
test edi, edi
je 0x51b2cb
push ebx
push 1
push edi
push esi
call fcn.004edf20
mov edi, dword [edi + 0x24]
add esp, 0x10
test edi, edi
jne 0x51b2b7
add ebp, 4
cmp ebp, 0x79356c
jl 0x51b2b0
mov ebp, dword [esp + 0x10]
mov edi, dword [ebp + 0x1a8]
test edi, edi
je 0x519b92
push ebx
push 0
push dword [edi + 8]
push esi
call fcn.004edf20
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x51b2e8
jmp 0x519b92
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
mov dword [eax + 0x2c], 1
mov edi, dword [ebp + 0x18c]
test edi, edi
je 0x519b92
nop
mov eax, dword [edi + 8]
push dword [eax + 4]
push 0x77ccf0
push 1
push esi
call fcn.005370d0
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x51b320
jmp 0x519b92
mov edi, 0x6e97b8
push dword [edi]
push 0x77ccf0
push 1
push esi
call fcn.005370d0
add edi, 0x10
add esp, 0x10
cmp edi, str.onoffalseyestruextrafull
jl 0x51b346
jmp 0x519b8e
mov ebp, dword [esp + 0x10]
test edx, edx
je 0x519b92
mov edi, dword [esp + 0x20]
push edi
push edx
push ebp
call fcn.0050b6c0
add esp, 0xc
mov dword [esp + 0x24], eax
test eax, eax
je 0x519b92
cmp byte [eax + 0x2b], 0
jne 0x519b92
mov edi, dword [eax + 0x30]
test edi, edi
je 0x519b92
push dword [eax + 0x3c]
push ebp
call fcn.00521840
mov ecx, dword [esp + 0x1c]
xor ebp, ebp
push eax
push ecx
mov dword [esp + 0x48], ebp
mov dword [ecx + 0x2c], 8
call fcn.004ffef0
add esp, 0x10
xor ebx, ebx
cmp dword [edi + 0x14], ebx
jle 0x51b42a
lea ebp, [edi + 0x24]
movzx eax, byte [edi + 0x19]
push str.NONE
push eax
call fcn.004c4b00
add esp, 4
push eax
movzx eax, byte [edi + 0x1a]
push eax
call fcn.004c4b00
mov ecx, dword [ebp]
add esp, 4
add ecx, ecx
push eax
push dword [ebp + 4]
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 4]
push dword [eax + ecx*8]
push dword [edi + 8]
push ebx
push dword [esp + 0x54]
push str.iissssss
push 1
push esi
call fcn.005370d0
inc ebx
lea ebp, [ebp + 8]
add esp, 0x2c
cmp ebx, dword [edi + 0x14]
jl 0x51b3d2
mov ebp, dword [esp + 0x38]
mov edi, dword [edi + 4]
inc ebp
mov dword [esp + 0x38], ebp
test edi, edi
jne 0x51b3c8
push dword [esp + 0x2c]
mov ebp, dword [esp + 0x14]
push ebp
call fcn.00502f20
mov eax, dword [esp + 0x20]
add esp, 8
jmp 0x519ba7
mov edx, dword [esp + 0x14]
add ebp, ebp
mov ebx, dword [esp + 0x10]
mov eax, dword [edx + 0x2c]
lea ecx, [eax + 1]
add eax, 5
mov dword [edx + 0x2c], eax
mov dword [esp + 0x68], eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x58], ecx
mov eax, dword [eax + ebp*8 + 0xc]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x51e0ef
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
test eax, eax
je 0x51b4a1
push edi
push eax
push 0
push edx
call fcn.00515660
mov edx, dword [esp + 0x24]
add esp, 0x10
xor ecx, ecx
jmp 0x51b4a6
mov eax, dword [ecx + 8]
mov ecx, dword [ecx]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x5c], eax
test eax, eax
je 0x51bb31
cmp byte [eax + 0x2b], 0
jne 0x51bb31
cmp dword [eax + 0x30], 0
je 0x51bb31
mov ecx, dword [eax + 0x3c]
mov edi, 0xffff8000
test ecx, ecx
je 0x51b4ea
mov eax, dword [ebx + 0x10]
xor edi, edi
add eax, 0xc
cmp dword [eax], ecx
je 0x51b4ea
lea eax, [eax + 0x10]
inc edi
cmp dword [eax], ecx
jne 0x51b4e2
mov eax, dword [ebx + 0x10]
mov ebp, edi
add ebp, ebp
mov ecx, edi
mov eax, dword [eax + ebp*8]
mov dword [esp + 0x20], eax
mov eax, dword [edx + 0x7c]
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov ebx, dword [edx + 0x58]
test ebx, eax
jne 0x51b611
bts ebx, edi
mov dword [edx + 0x58], ebx
cmp edi, 1
jne 0x51b61a
push edx
call fcn.00516a00
add esp, 4
mov ebx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x14]
movsx eax, word [ebx + 0x22]
add eax, dword [esp + 0x68]
cmp dword [ecx + 0x2c], eax
jge 0x51b544
mov dword [ecx + 0x2c], eax
push 0x70
push ebx
push edi
push 0
push ecx
call fcn.00516690
push 0
push dword [ebx]
push 0
push dword [esp + 0x78]
push 0
push 0x75
push esi
call fcn.0052b4d0
mov ebp, dword [ebx + 0x30]
add esp, 0x30
mov eax, 1
mov dword [esp + 0x34], eax
test ebp, ebp
je 0x51b686
mov eax, edi
shl eax, 4
mov dword [esp + 0x24], eax
push dword [esp + 0x20]
push dword [ebp + 8]
push dword [esp + 0x18]
call fcn.0050b6c0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x51b66e
mov dword [esp + 0x70], 0
cmp edi, 1
je 0x51b5d6
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
mov ecx, dword [edx]
mov ecx, dword [ecx + 0x10]
mov eax, dword [ecx + eax + 4]
cmp byte [eax + 9], 0
je 0x51b5d6
push dword [ebx]
push 0
push dword [ebx + 0x14]
push edi
push edx
call fcn.004e4960
add esp, 0x14
push 0
lea eax, [esp + 0x74]
push eax
push ebp
push ebx
push dword [esp + 0x24]
call fcn.0050d030
add esp, 0x14
test eax, eax
jne 0x519b8e
mov eax, dword [esp + 0x70]
test eax, eax
jne 0x51b64b
push 0x70
push ebx
push edi
push dword [esp + 0x40]
push dword [esp + 0x24]
call fcn.00516690
add esp, 0x14
jmp 0x51b66e
cmp edi, 1
je 0x51b52c
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x5c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ebp*8 + 4]
cmp byte [eax + 9], 0
je 0x51b534
push dword [ebx]
push 0
push dword [ebx + 0x14]
push edi
push ecx
call fcn.004e4960
add esp, 0x14
jmp 0x51b530
push edi
push dword [eax + 0x2c]
push dword [esp + 0x3c]
push 0x70
push esi
call fcn.0052b470
push dword [esp + 0x84]
push dword [esp + 0x2c]
call fcn.00538220
add esp, 0x1c
mov eax, dword [esp + 0x34]
mov ebp, dword [ebp + 4]
inc eax
mov dword [esp + 0x34], eax
test ebp, ebp
jne 0x51b584
mov ebx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x28], eax
jge 0x51b692
mov dword [ecx + 0x28], eax
push 0
push 0x24
push esi
call fcn.0052b3b0
mov ebp, dword [ebx + 0x30]
add esp, 0xc
mov dword [esp + 0x6c], 1
mov edi, eax
mov dword [esp + 0x7c], edi
mov dword [esp + 0x30], ebp
test ebp, ebp
je 0x51babb
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x10]
add eax, 2
mov dword [esp + 0x78], eax
nop dword [eax + eax]
push dword [esp + 0x20]
push dword [ebp + 8]
push ecx
call fcn.0050b6c0
xor edi, edi
mov dword [esp + 0x30], eax
add esp, 0xc
mov dword [esp + 0x70], 0
mov dword [esp + 0x1c], edi
test eax, eax
je 0x51b712
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x74]
push ecx
push ebp
push eax
push dword [esp + 0x24]
call fcn.0050d030
mov edi, dword [esp + 0x30]
add esp, 0x14
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x68]
dec dword [edx + 0x38]
mov eax, dword [ebp + 0x14]
mov ebx, dword [edx + 0x38]
add eax, ecx
mov dword [esp + 0x38], ebx
cmp dword [edx + 0x2c], eax
jge 0x51b731
mov dword [edx + 0x2c], eax
mov eax, dword [esp + 0x30]
xor ebp, ebp
cmp dword [eax + 0x14], ebp
jle 0x51b7ce
add eax, 0x24
mov ebx, ecx
mov dword [esp + 0x1c], eax
nop dword [eax]
test edi, edi
je 0x51b757
lea eax, [edi + ebp*4]
push ebx
push dword [eax]
push 0
push dword [esp + 0x68]
push esi
call fcn.00506290
mov ecx, dword [esi + 0x6c]
add esp, 0x14
cmp dword [esi + 0x70], ecx
jg 0x51b785
push 0
push dword [esp + 0x3c]
push ebx
push 0x32
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x51b7b4
mov edx, dword [esp + 0x38]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x30]
inc ebp
mov eax, dword [esp + 0x1c]
inc ebx
add eax, 8
mov dword [esp + 0x1c], eax
cmp ebp, dword [ecx + 0x14]
jl 0x51b750
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x70]
test eax, eax
je 0x51b85d
mov ecx, dword [eax + 0x10]
test ecx, ecx
jne 0x51b7f0
push eax
push dword [esp + 0x14]
call fcn.004cf870
add esp, 8
mov ecx, eax
mov ebp, dword [esp + 0x30]
mov eax, dword [ebp + 0x14]
push eax
push ecx
push 0
push eax
push dword [esp + 0x78]
push 0x60
push esi
call fcn.0052b4d0
mov ecx, dword [esi + 0x6c]
add esp, 0x1c
mov edx, dword [ebp + 0x14]
cmp dword [esi + 0x70], ecx
jg 0x51b830
push edx
push dword [esp + 0x6c]
push ebx
push dword [esp + 0x78]
push 0x1d
push esi
call fcn.004c4c90
add esp, 0x18
jmp 0x51b8c2
mov ebp, dword [esp + 0x6c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], ebp
mov ebp, dword [esp + 0x68]
mov dword [eax + ecx*4], 0xfd1d
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], ebp
mov dword [eax + ecx*4 + 0x10], edx
jmp 0x51b8be
cmp dword [esp + 0x24], 0
je 0x51b8be
mov ecx, dword [esi + 0x6c]
lea edx, [ecx + 2]
cmp dword [esi + 0x70], ecx
jg 0x51b885
push dword [esp + 0x68]
push edx
push dword [esp + 0x74]
push 0x1e
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x51b8b4
mov ebp, dword [esp + 0x6c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], ebp
mov ebp, dword [esp + 0x68]
mov dword [eax + ecx*4], 0x1e
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], ebp
mov dword [eax + ecx*4 + 0x10], 0
push ebx
push esi
call fcn.00535260
add esp, 8
mov ebp, dword [esp + 0x30]
mov edx, dword [esp + 0x5c]
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
test byte [edx + 0x1c], 0x80
jne 0x51b908
cmp eax, ecx
jg 0x51b8f3
mov eax, dword [esp + 0x58]
push 0
inc eax
push eax
push 0
push 0x87
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x51b95b
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x87
jmp 0x51b936
cmp eax, ecx
jg 0x51b923
mov eax, dword [esp + 0x58]
push 0
inc eax
push eax
push 0
push 0x4b
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x51b95b
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x4b
mov edx, dword [esp + 0x58]
mov ebp, dword [esp + 0x30]
inc edx
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 4], 0
mov eax, dword [esp + 0x6c]
dec eax
push eax
push dword [ebp + 8]
push 0x6ef6ec
push dword [esp + 0x84]
push esi
call fcn.005370d0
mov ecx, dword [esi + 0x6c]
add esp, 0x14
cmp dword [esi + 0x70], ecx
jg 0x51b996
push 0
push 4
push dword [esp + 0x60]
push 0x54
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x51b9c9
mov edx, dword [esp + 0x58]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x51b9e3
push ebx
push esi
push ecx
call fcn.004f1810
add esp, 0xc
jmp 0x51b9ec
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + ebx*4], eax
mov ecx, dword [esp + 0x10]
test edi, edi
je 0x51baa4
cmp edi, dword [ecx + 0x164]
jae 0x51ba36
cmp edi, dword [ecx + 0x15c]
jb 0x51ba1b
mov eax, dword [ecx + 0x158]
mov dword [edi], eax
mov dword [ecx + 0x158], edi
jmp 0x51baa4
cmp edi, dword [ecx + 0x160]
jb 0x51ba36
mov eax, dword [ecx + 0x150]
mov dword [edi], eax
mov dword [ecx + 0x150], edi
jmp 0x51baa4
cmp dword [ecx + 0x210], 0
je 0x51ba4b
push edi
push ecx
call fcn.004e5ae0
add esp, 8
jmp 0x51baa0
cmp dword [0x78d018], 0
je 0x51ba96
mov eax, dword [0x7935d8]
test eax, eax
je 0x51ba67
push eax
call dword [0x78d068]
add esp, 4
push edi
call dword [0x78d044]
sub dword [0x793570], eax
dec dword [0x793594]
push edi
call dword [0x78d03c]
mov eax, dword [0x7935d8]
add esp, 8
test eax, eax
je 0x51baa0
push eax
call dword [0x78d070]
jmp 0x51ba9d
push edi
call dword [0x78d03c]
add esp, 4
mov ecx, dword [esp + 0x10]
mov ebp, dword [ebp + 4]
inc dword [esp + 0x6c]
mov dword [esp + 0x30], ebp
test ebp, ebp
jne 0x51b6d0
mov edi, dword [esp + 0x7c]
mov ecx, dword [esi + 0x6c]
lea edx, [edi + 1]
cmp dword [esi + 0x70], ecx
jg 0x51bad8
push 0
push edx
push 0
push 0x27
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x51bb07
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x51bb19
mov eax, 0x7937a8
jmp 0x51bb22
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x54]
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
mov dword [eax + 8], edx
test ecx, ecx
je 0x519b8e
mov edx, dword [esp + 0x14]
jmp 0x51b484
test edx, edx
je 0x519b8e
push 0
push edx
call fcn.00510e80
mov ebp, dword [esp + 0x18]
xor ebx, ebx
add esp, 8
mov edi, 0x6e876c
test al, al
mov ecx, 0x6e8770
mov esi, 2
setne bl
test al, al
cmovne edi, ecx
lea ebx, [ebx*8 + 4]
nop dword [eax + eax]
push 0
push 0
push 0
push 0
push 0
push 0x4b5eb0
push edi
push 1
push esi
push str.like
push ebp
call fcn.00501c10
push 0
push 1
push esi
push str.like
push ebp
call fcn.0050aaf0
inc esi
add esp, 0x40
mov ecx, dword [eax + 4]
or ecx, ebx
and ecx, 0xffdfffff
mov dword [eax + 4], ecx
cmp esi, 3
jle 0x51bb80
push dword [esp + 0x2c]
push ebp
call fcn.00502f20
mov eax, dword [esp + 0x20]
add esp, 8
jmp 0x519ba7
mov ebx, dword [esp + 0x50]
xor eax, eax
mov edi, dword [esp + 0x14]
or ecx, 0xffffffff
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
mov al, byte [eax + 0x6e8f28]
mov byte [esp + 0x4f], al
mov eax, dword [esp + 0x30]
cmp dword [eax], 0
mov eax, 0x64
mov dword [edi + 0x2c], 6
cmove ebx, ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x50], ebx
mov dword [esp + 0x3c], eax
test edx, edx
je 0x51bc80
lea eax, [esp + 0x3c]
push eax
push edx
call fcn.005110d0
add esp, 8
test eax, eax
je 0x51bc4b
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x38], eax
test eax, eax
jg 0x51bc80
mov eax, 0x64
jmp 0x51bc7c
test ebx, ebx
js 0x51bc5f
mov eax, dword [esp + 0x10]
mov ecx, ebx
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8]
jmp 0x51bc61
xor eax, eax
push eax
push dword [esp + 0x1c]
push 0
push edi
call fcn.00515660
mov dword [esp + 0x94], eax
add esp, 0x10
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x38], eax
push 1
lea ecx, [eax - 1]
push ecx
push 0x47
push esi
call fcn.0052b410
mov ebp, dword [esp + 0x20]
xor ecx, ecx
add esp, 0x10
mov dword [esp + 0x68], ecx
lea ebx, [ecx + 1]
cmp dword [ebp + 0x14], ecx
jle 0x51bf83
lea eax, [esi + 0x70]
mov dword [esp + 0x90], 0x10
lea ebx, [esi + 0x6c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x34], ebx
xor ebp, ebp
test eax, eax
js 0x51bcd2
cmp ecx, eax
jne 0x51bf6c
mov eax, dword [edi + 0x7c]
mov edx, edi
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov edi, dword [edx + 0x58]
test edi, eax
jne 0x51bd02
bts edi, ecx
mov dword [edx + 0x58], edi
cmp ecx, 1
jne 0x51bd02
push edx
call fcn.00516a00
mov ecx, dword [esp + 0x6c]
add esp, 4
mov eax, dword [esp + 0x14]
add ecx, ecx
xor edx, edx
mov byte [eax + 0x17], 0
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
mov dword [esp + 0x1c], eax
mov edi, dword [eax + 0x10]
test edi, edi
je 0x51bf60
mov ecx, dword [esp + 0x84]
nop
mov eax, dword [edi + 8]
test ecx, ecx
je 0x51bd3b
cmp ecx, eax
jne 0x51bd65
test byte [eax + 0x1c], 0x80
jne 0x51bd42
inc edx
mov eax, dword [eax + 8]
xor ecx, ecx
test eax, eax
je 0x51bd59
nop dword [eax + eax]
mov eax, dword [eax + 0x14]
inc edx
inc ecx
test eax, eax
jne 0x51bd50
cmp ecx, ebp
cmovg ebp, ecx
mov ecx, dword [esp + 0x84]
mov edi, dword [edi]
test edi, edi
jne 0x51bd30
mov dword [esp + 0x44], ebp
test edx, edx
je 0x51bf60
mov ebp, dword [esp + 0x10]
lea eax, [edx + 1]
test ecx, ecx
push edi
cmove eax, edx
lea eax, [eax*4 + 4]
push eax
push ebp
call fcn.00503030
mov edi, eax
add esp, 0xc
test edi, edi
je 0x51bf7e
xor edx, edx
cmp dword [esp + 0x84], edx
je 0x51bdb6
mov edx, 1
mov dword [edi + 4], 0
mov ebp, dword [esp + 0x1c]
mov ebp, dword [ebp + 0x10]
test ebp, ebp
je 0x51be09
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x84]
mov dword [esp + 0x44], eax
mov ecx, dword [ebp + 8]
test ebx, ebx
je 0x51bddb
cmp ebx, ecx
jne 0x51bdfe
test byte [ecx + 0x1c], 0x80
jne 0x51bde8
mov eax, dword [ecx + 0x14]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x51bdfe
nop
mov eax, dword [ecx + 0x2c]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x51bdf0
mov ebp, dword [ebp]
test ebp, ebp
jne 0x51bdd0
mov ebx, dword [esp + 0x34]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
add eax, 8
mov dword [edi], edx
cmp dword [ecx + 0x2c], eax
jge 0x51be1e
mov dword [ecx + 0x2c], eax
push 0xfffffffffffffff2
push edi
push 1
push edx
push 2
push 0x9b
push esi
mov byte [ecx + 0x13], 0
mov dword [ecx + 0x1c], 0
call fcn.0052b4d0
mov eax, dword [ebx]
add esp, 0x1c
test eax, eax
jle 0x51be57
mov ecx, dword [esp + 0x68]
movzx edx, cl
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov ebp, dword [esp + 0x28]
mov edi, dword [ebx]
cmp dword [ebp], edi
jg 0x51be77
push 0
push 0
push 2
push 0x32
push esi
call fcn.004dd7e0
add esp, 0x14
mov edi, eax
jmp 0x51bea9
lea eax, [edi + 1]
mov dword [ebx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x68]
add ecx, ecx
push 0xfffffffffffffffa
mov eax, dword [edx + 0x10]
push dword [eax + ecx*8]
push str._in_database__s__n
push edx
call fcn.00515bf0
add esp, 0xc
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.0052b4d0
mov ecx, dword [ebx]
add esp, 0x1c
cmp dword [ebp], ecx
jg 0x51bef5
push 3
push 3
push 2
push 0x6f
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x51bf27
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push esi
call fcn.004dea30
mov eax, dword [esi]
add esp, 4
mov edx, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x51bf41
mov eax, 0x7937a8
jmp 0x51bf4a
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x1c]
mov edi, dword [eax + 0x10]
mov dword [esp + 0x1c], edi
test edi, edi
jne 0x51bfd4
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x68]
mov ebp, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x68], ecx
cmp ecx, dword [ebp + 0x14]
jl 0x51bcc4
mov ebx, 1
push 0
push 0x6e9de4
push 7
push esi
call fcn.0052b5b0
add esp, 0x10
test eax, eax
je 0x51bfb6
sub ebx, dword [esp + 0x38]
mov dword [eax + 8], ebx
mov byte [eax + 0x29], 0xff
mov dword [eax + 0x38], 0x6ef850
mov byte [eax + 0x65], 0xff
mov dword [eax + 0x74], str.database_disk_image_is_malformed
mov eax, dword [esi + 0x6c]
sub eax, 2
push eax
push 0
push esi
call fcn.0052b880
add esp, 0xc
jmp 0x519b92
mov edi, dword [esp + 0x1c]
mov edi, dword [edi + 8]
mov dword [esp + 0x48], edi
mov dword [esp + 0x78], 0
mov dword [esp + 0x5c], 0xffffffff
cmp byte [edi + 0x2b], 0
jne 0x51d892
mov eax, dword [esp + 0x84]
test eax, eax
je 0x51c008
cmp eax, edi
jne 0x51d892
cmp byte [esp + 0x4f], 0x71
je 0x51c05e
test byte [edi + 0x1c], 0x80
je 0x51c05e
mov ebp, dword [edi + 8]
mov dword [esp + 0x30], ebp
test ebp, ebp
je 0x51c034
mov eax, dword [ebp + 0x38]
and al, 3
cmp al, 2
je 0x51c030
mov ebp, dword [ebp + 0x14]
test ebp, ebp
jne 0x51c020
mov dword [esp + 0x30], ebp
movzx eax, word [ebp + 0x32]
push eax
push dword [esp + 0x18]
call fcn.00511250
movzx ecx, word [ebp + 0x32]
dec ecx
mov dword [esp + 0x74], eax
add ecx, eax
push ecx
push eax
push 1
push 0x4b
push esi
call fcn.0052b470
add esp, 0x1c
jmp 0x51c06e
mov dword [esp + 0x30], 0
mov dword [esp + 0x6c], 0
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x78]
push eax
push 0
push 1
push 0
push 0x70
push edi
push dword [esp + 0x30]
call fcn.005167d0
mov edx, dword [esp + 0x48]
add esp, 0x20
mov ecx, dword [ebx]
cmp dword [edx], ecx
jg 0x51c0ae
push 0
push 7
push 0
push 0x47
push esi
call fcn.004dd7e0
mov edx, dword [esp + 0x3c]
add esp, 0x14
jmp 0x51c0e0
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 7
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebp, dword [edi + 8]
test ebp, ebp
je 0x51c14a
mov edi, 8
nop dword [eax]
mov ecx, dword [ebx]
cmp dword [edx], ecx
jg 0x51c10c
push 0
push edi
push 0
push 0x47
push esi
call fcn.004dd7e0
mov edx, dword [esp + 0x3c]
add esp, 0x14
jmp 0x51c13e
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x64]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebp, dword [ebp + 0x14]
inc edi
test ebp, ebp
jne 0x51c0f0
mov edi, dword [esp + 0x48]
mov ecx, dword [ebx]
cmp dword [edx], ecx
jg 0x51c169
push 0
push 0
push dword [esp + 0x7c]
push 0x24
push esi
call fcn.004dd7e0
mov edx, dword [esp + 0x3c]
add esp, 0x14
jmp 0x51c19b
mov ebp, dword [esp + 0x74]
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebp, dword [ebx]
mov dword [esp + 0x54], ebp
cmp dword [edx], ebp
jg 0x51c1bc
push 0
push 1
push 7
push 0x56
push esi
call fcn.004dd7e0
add esp, 0x14
mov dword [esp + 0x54], eax
jmp 0x51c1f4
lea eax, [ebp + 1]
mov dword [ebx], eax
lea ecx, [ebp*4]
mov eax, dword [esi + 0x68]
add ecx, ebp
mov dword [eax + ecx*4], 0x56
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
test byte [edi + 0x1c], 0x80
jne 0x51c231
movsx edi, word [edi + 0x22]
or ecx, 0xffffffff
mov ebp, dword [esp + 0x48]
test edi, edi
jle 0x51c223
mov edx, dword [ebp + 4]
add edx, 0xe
nop
test byte [edx], 0x20
lea eax, [ecx + 1]
lea edx, [edx + 0x10]
cmovne eax, ecx
mov ecx, eax
sub edi, 1
jne 0x51c210
movsx eax, word [ebp + 0x20]
lea edx, [ecx - 1]
cmp ecx, eax
cmovne edx, ecx
jmp 0x51c24d
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x51c248
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x51c248
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x51c238
movzx edx, word [ecx + 0x34]
dec edx
mov ebp, dword [esp + 0x28]
test edx, edx
js 0x51c2d3
mov ecx, dword [ebx]
cmp dword [ebp], ecx
jg 0x51c274
push 3
push edx
push dword [esp + 0x7c]
push 0x5e
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x51c2a2
mov edi, dword [esp + 0x74]
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x51c2b1
mov eax, 0x7937a8
jmp 0x51c2bf
mov eax, dword [ebx]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
add eax, 0xffffffec
cmp dword [eax + 0xc], 3
jne 0x51c2d3
cmp byte [eax], 0x5e
jne 0x51c2d3
mov ecx, 0x80
or word [eax + 2], cx
cmp byte [esp + 0x4f], 0x71
je 0x51c436
mov eax, dword [esp + 0x30]
test eax, eax
je 0x51c436
mov edi, dword [ebx]
movzx edx, word [eax + 0x32]
cmp dword [ebp], edi
jg 0x51c312
push edx
push dword [esp + 0x70]
push 0
push dword [esp + 0x80]
push 0x29
push esi
call fcn.004c4c90
add esp, 0x18
mov edi, eax
jmp 0x51c344
mov ebp, dword [esp + 0x74]
lea eax, [edi + 1]
mov dword [ebx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], ebp
mov ebp, dword [esp + 0x6c]
mov dword [eax + ecx*4 + 0xc], ebp
mov ebp, dword [esp + 0x28]
mov dword [eax + ecx*4], 0xfd29
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0x10], edx
mov ecx, dword [ebx]
cmp dword [ebp], ecx
jg 0x51c360
push 0
push 0
push dword [esp + 0x74]
push 0x32
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x51c392
mov edx, dword [esp + 0x6c]
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x48]
push dword [eax]
push str.row_not_in_PRIMARY_KEY_order_for__s
push dword [esp + 0x18]
call fcn.00515bf0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.0052b4d0
push esi
call fcn.004dea30
mov eax, dword [esi]
add esp, 0x2c
mov edx, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x51c3d1
mov eax, 0x7937a8
jmp 0x51c3da
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esi]
mov edx, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x51c3ee
mov eax, 0x7937b0
jmp 0x51c3fa
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
add eax, 0x1c
mov ebp, dword [esp + 0x30]
xor edi, edi
mov dword [eax], edx
xor eax, eax
cmp ax, word [ebp + 0x32]
jae 0x51c436
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x74]
mov eax, dword [esp + 0x6c]
add eax, edi
push eax
push edi
push esi
push ebp
push ebx
call fcn.00507070
movzx eax, word [ebp + 0x32]
inc edi
add esp, 0x14
cmp edi, eax
jl 0x51c412
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x48]
xor ebp, ebp
xor eax, eax
mov dword [esp + 0x70], ebp
movzx edx, word [edi + 0x1e]
and edx, 1
mov dword [esp + 0x60], edx
cmp ax, word [edi + 0x22]
jge 0x51cc34
movsx eax, word [edi + 0x20]
mov ecx, ebp
shl ecx, 4
add ecx, dword [edi + 4]
mov dword [esp + 0x44], ecx
cmp ebp, eax
je 0x51cc23
test edx, edx
je 0x51c488
mov eax, dword [ecx + 4]
and eax, 0xf0
cmp dword [esp + 0x90], eax
sbb eax, eax
neg eax
jmp 0x51c491
xor eax, eax
cmp byte [ecx + 8], 0x41
setg al
test byte [ecx + 4], 0xf
mov dword [esp + 0x88], eax
jne 0x51c4a6
test eax, eax
je 0x51cc23
test byte [ecx + 0xe], 0x20
mov dword [esp + 0x40], 5
je 0x51c4d4
push 3
push ebp
push dword [esp + 0x7c]
push edi
push esi
call fcn.00506290
add esp, 0x14
or edi, 0xffffffff
mov dword [esp + 0x20], edi
lea edx, [edi + 4]
jmp 0x51c69c
movzx edx, word [ecx + 0xc]
test dx, dx
je 0x51c637
cmp byte [edi + 0x2b], 0
mov al, byte [ecx + 8]
mov byte [esp + 0x94], al
mov eax, dword [esp + 0x10]
mov dword [esp + 0x3c], 0
mov al, byte [eax + 0x54]
mov byte [esp + 0x98], al
jne 0x51c637
mov ecx, dword [edi + 0x34]
test ecx, ecx
je 0x51c637
mov eax, edx
cmp dword [ecx], eax
jl 0x51c637
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 - 0xc]
test eax, eax
je 0x51c637
push 0
lea ecx, [esp + 0x40]
push ecx
push dword [esp + 0x9c]
push dword [esp + 0xa4]
push eax
push dword [esp + 0x24]
call fcn.00545d00
mov edi, dword [esp + 0x54]
add esp, 0x18
test edi, edi
je 0x51c637
movzx ecx, word [edi + 0x10]
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x6e9250]
mov dword [esp + 0x40], eax
test ecx, 0x9000
jne 0x51c57f
cmp dword [edi + 0x18], 0
je 0x51c588
push edi
call fcn.00547410
add esp, 4
mov ecx, dword [edi + 0x14]
test ecx, ecx
je 0x51c5e2
cmp edi, dword [ecx + 0x164]
jae 0x51c5cd
cmp edi, dword [ecx + 0x15c]
jb 0x51c5b2
mov eax, dword [ecx + 0x158]
mov dword [edi], eax
mov dword [ecx + 0x158], edi
jmp 0x51c637
cmp edi, dword [ecx + 0x160]
jb 0x51c5cd
mov eax, dword [ecx + 0x150]
mov dword [edi], eax
mov dword [ecx + 0x150], edi
jmp 0x51c637
cmp dword [ecx + 0x210], 0
je 0x51c5e2
push edi
push ecx
call fcn.004e5ae0
add esp, 8
jmp 0x51c637
cmp dword [0x78d018], 0
je 0x51c62d
mov eax, dword [0x7935d8]
test eax, eax
je 0x51c5fe
push eax
call dword [0x78d068]
add esp, 4
push edi
call dword [0x78d044]
sub dword [0x793570], eax
dec dword [0x793594]
push edi
call dword [0x78d03c]
mov eax, dword [0x7935d8]
add esp, 8
test eax, eax
je 0x51c637
push eax
call dword [0x78d070]
jmp 0x51c634
push edi
call dword [0x78d03c]
add esp, 4
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x74]
mov dword [esp + 0x20], edi
test byte [eax + 0x1c], 0x80
je 0x51c68f
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x51c660
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x51c660
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x51c650
movzx edi, word [ecx + 0x34]
xor edx, edx
test edi, edi
je 0x51c67d
mov eax, dword [ecx + 4]
movzx ebp, bp
cmp bp, word [eax]
je 0x51c686
inc edx
add eax, 2
cmp edx, edi
jl 0x51c670
mov edi, dword [esp + 0x20]
or eax, 0xffffffff
jmp 0x51c699
mov edi, dword [esp + 0x20]
movzx eax, dx
jmp 0x51c699
push ebp
push eax
call fcn.00526e00
add esp, 8
movsx edx, ax
mov eax, dword [esp + 0x14]
mov ecx, esi
mov dword [esp + 0x58], edx
mov dword [esp + 0x3c], ecx
mov eax, dword [eax + 0x38]
dec eax
mov dword [esp + 0x7c], eax
lea ebp, [eax - 1]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x8c], ebp
mov dword [eax + 0x38], ebp
mov eax, dword [esp + 0x44]
test byte [eax + 4], 0xf
je 0x51c8b2
mov eax, dword [esp + 0x28]
mov ebp, dword [ebx]
cmp dword [eax], ebp
jg 0x51c6fb
push dword [esp + 0x40]
push edx
push dword [esp + 0x94]
push edi
push 0x12
push esi
call fcn.004c4c90
mov edx, dword [esp + 0x70]
add esp, 0x18
mov ebp, eax
jmp 0x51c736
lea eax, [ebp + 1]
mov dword [ebx], eax
lea ecx, [ebp*4]
mov eax, dword [esi + 0x68]
add ecx, ebp
mov ebx, dword [esp + 0x34]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x8c]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x40]
mov dword [eax + ecx*4 + 0x10], edi
mov edi, dword [esp + 0x20]
mov dword [eax + ecx*4], 0xfd12
mov dword [eax + ecx*4 + 0xc], edx
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 0x6c]
test edi, edi
jns 0x51c75f
test eax, eax
jle 0x51c758
lea ecx, [eax + eax*4]
mov edx, 0xf
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edi, ebp
jmp 0x51c819
test eax, eax
jle 0x51c777
lea ecx, [eax + eax*4]
mov ebx, 0xd
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], bx
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x28]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x51c792
push 3
push edx
push edi
push 0x5e
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x51c7c0
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x64]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x28]
mov edi, dword [ebx]
cmp dword [eax], edi
jg 0x51c7e4
push 0
push dword [esp + 0x90]
push 3
push 0x33
push esi
call fcn.004dd7e0
add esp, 0x14
mov edi, eax
jmp 0x51c819
mov edx, dword [esp + 0x8c]
lea eax, [edi + 1]
mov dword [ebx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x33
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x44]
push dword [eax]
mov eax, dword [esp + 0x4c]
push dword [eax]
push str.NULL_value_in__s._s
push dword [esp + 0x1c]
call fcn.00515bf0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.0052b4d0
mov edx, dword [esp + 0xb4]
add esp, 0x2c
test edx, edx
je 0x51c8f9
push dword [esp + 0x7c]
push esi
call fcn.00535260
mov eax, dword [esi]
add esp, 8
mov edx, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x51c874
mov eax, 0x7937a8
jmp 0x51c883
mov eax, dword [esi + 0x68]
lea ecx, [ebp*4]
add ecx, ebp
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esi]
mov edx, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x51c897
mov eax, 0x7937a8
jmp 0x51c8a0
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov ebp, dword [esp + 0x8c]
mov ecx, dword [esp + 0x3c]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x88]
cmp dword [esp + 0x60], 0
mov edi, dword [esp + 0x80]
je 0x51c9dd
test edx, edx
je 0x51c9a7
mov eax, dword [esp + 0x28]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x51c90a
push dword [esp + 0x40]
mov edx, dword [esp + 0x5c]
push edx
mov edx, dword [esp + 0x28]
push ebp
push edx
push 0x12
push esi
call fcn.004c4c90
add esp, 0x18
jmp 0x51c938
mov ebp, dword [esp + 0x8c]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x44]
jmp 0x51c8b9
mov edx, dword [esp + 0x20]
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x58]
mov dword [eax + ecx*4 + 0xc], edx
mov edx, dword [esp + 0x40]
mov dword [eax + ecx*4], 0xfd12
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0x10], edx
mov ecx, dword [ebx]
test ecx, ecx
jle 0x51c95d
mov eax, dword [esp + 0x44]
lea ecx, [ecx + ecx*4]
mov eax, dword [eax + 4]
shr eax, 4
and eax, 0xf
movzx edx, byte [eax + 0x78e733]
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x70]
add ecx, ecx
mov eax, dword [edi + 4]
push dword [eax + ecx*8]
mov eax, dword [esp + 0x48]
push dword [edi]
mov eax, dword [eax + 4]
shr eax, 4
and eax, 0xf
push dword [eax*4 + 0x78d1fc]
push str.non__s_value_in__s._s
push dword [esp + 0x20]
call fcn.00515bf0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.0052b4d0
add esp, 0x30
jmp 0x51c9b8
mov esi, ecx
mov dword [esp + 0x64], esi
mov dword [esp + 0x80], edi
mov edi, dword [esp + 0x48]
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x7c]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x51cbe8
push edx
push esi
push ecx
call fcn.004f1810
add esp, 0xc
jmp 0x51cbf0
cmp byte [eax + 8], 0x42
mov esi, ecx
mov dword [esp + 0x64], esi
mov dword [esp + 0x80], edi
jne 0x51ca9b
mov eax, dword [esp + 0x28]
mov ecx, dword [ebx]
mov esi, dword [esp + 0x3c]
cmp dword [eax], ecx
jg 0x51ca1e
push dword [esp + 0x40]
mov edx, dword [esp + 0x5c]
push edx
mov edx, dword [esp + 0x28]
push ebp
push edx
push 0x12
push esi
call fcn.004c4c90
add esp, 0x18
jmp 0x51ca4c
mov edx, dword [esp + 0x20]
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x58]
mov dword [eax + ecx*4 + 0xc], edx
mov edx, dword [esp + 0x40]
mov dword [eax + ecx*4], 0xfd12
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [ebx]
test eax, eax
jle 0x51ca62
lea ecx, [eax + eax*4]
mov edx, 0x1c
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x70]
add ecx, ecx
mov eax, dword [edx + 4]
push dword [eax + ecx*8]
push dword [edx]
push str.NUMERIC_value_in__s._s
push dword [esp + 0x1c]
call fcn.00515bf0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.0052b4d0
add esp, 0x2c
jmp 0x51c9a9
cmp byte [eax + 8], 0x43
jl 0x51c9b4
mov eax, dword [esp + 0x28]
mov ecx, dword [ebx]
mov edx, dword [esp + 0x58]
mov edi, dword [esp + 0x20]
cmp dword [eax], ecx
jg 0x51cacb
push dword [esp + 0x40]
push edx
push ebp
push edi
push 0x12
push esi
call fcn.004c4c90
add esp, 0x18
jmp 0x51caf1
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 0xc], edx
mov edx, dword [esp + 0x40]
mov dword [eax + ecx*4], 0xfd12
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [ebx]
test eax, eax
jle 0x51cb07
lea ecx, [eax + eax*4]
mov edx, 0x1b
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
test edi, edi
mov edi, dword [esp + 0x70]
js 0x51cb23
push 3
push edi
push dword [esp + 0x7c]
push dword [esp + 0x54]
push esi
call fcn.00506290
add esp, 0x14
push 0xffffffffffffffff
push 0x6ef770
push 0
push 1
push 3
push 0x60
push esi
call fcn.0052b4d0
mov eax, dword [esp + 0x44]
add esp, 0x1c
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x51cb5b
push dword [esp + 0x40]
push 3
push ebp
push 0xffffffffffffffff
push 0x12
push esi
call fcn.004c4c90
add esp, 0x18
jmp 0x51cb89
mov edx, dword [esp + 0x40]
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xfd12
mov dword [eax + ecx*4 + 4], 0xffffffff
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [ebx]
test eax, eax
jle 0x51cb9f
lea ecx, [eax + eax*4]
mov edx, 0x1c
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov ecx, edi
mov edi, dword [esp + 0x48]
add ecx, ecx
mov eax, dword [edi + 4]
push dword [eax + ecx*8]
push dword [edi]
push str.TEXT_value_in__s._s
push dword [esp + 0x1c]
call fcn.00515bf0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.0052b4d0
mov eax, dword [esp + 0xac]
add esp, 0x2c
mov dword [esp + 0x64], esi
mov dword [esp + 0x80], eax
jmp 0x51c9b8
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx]
mov dword [ecx + edx*4], eax
push esi
call fcn.004dea30
mov ecx, dword [esi + 0xc]
add esp, 4
not ebp
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x51cc13
push ebp
push esi
push ecx
call fcn.004f1810
add esp, 0xc
jmp 0x51cc1b
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx]
mov dword [ecx + ebp*4], eax
mov edx, dword [esp + 0x60]
mov ebp, dword [esp + 0x70]
movsx eax, word [edi + 0x22]
inc ebp
mov dword [esp + 0x70], ebp
cmp ebp, eax
jl 0x51c457
mov ecx, dword [edi + 0x10]
test ecx, ecx
je 0x51cd79
mov ebp, dword [esp + 0x10]
mov eax, dword [ebp + 0x20]
and eax, 0x200
or eax, 0
jne 0x51cd79
push eax
push ecx
push ebp
call fcn.00509dd0
add esp, 0xc
mov edx, eax
cmp byte [ebp + 0x57], 0
mov dword [esp + 0x60], edx
jne 0x51cd6b
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x74]
inc eax
mov ebp, dword [edi + 0x38]
dec ebp
mov dword [edi + 0x34], eax
mov dword [esp + 0x7c], ebp
lea ecx, [ebp - 1]
mov dword [edi + 0x38], ecx
mov edi, dword [edx]
dec edi
mov dword [esp + 0x3c], ecx
test edi, edi
jle 0x51cccf
mov ebx, dword [esp + 0x7c]
lea ebp, [edi*4 + 2]
mov esi, dword [esp + 0x14]
add ebp, edi
lea ebp, [edx + ebp*4]
push 0
push ebx
push dword [ebp]
push esi
call fcn.00508ec0
dec edi
lea ebp, [ebp - 0x14]
add esp, 0x10
test edi, edi
jg 0x51cca8
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x7c]
mov edx, dword [esp + 0x60]
mov edi, dword [esp + 0x3c]
push 0x10
push edi
push dword [edx + 8]
push dword [esp + 0x20]
call fcn.00509280
mov ecx, dword [esi + 0xc]
add esp, 0x10
not ebp
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x51ccff
push ebp
push esi
push ecx
call fcn.004f1810
add esp, 0xc
jmp 0x51cd07
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx]
mov dword [ecx + ebp*4], eax
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
mov dword [eax + 0x34], 0
mov eax, dword [esp + 0x48]
push dword [eax]
push str.CHECK_constraint_failed_in__s
push ebp
call fcn.00515bf0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.0052b4d0
push esi
call fcn.004dea30
mov ecx, dword [esi + 0xc]
add esp, 0x2c
not edi
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x51cd5b
push edi
push esi
push ecx
call fcn.004f1810
add esp, 0xc
jmp 0x51cd63
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx]
mov dword [ecx + edi*4], eax
mov edi, dword [esp + 0x48]
mov edx, dword [esp + 0x60]
test edx, edx
je 0x51cd79
push edx
push ebp
call fcn.004d6580
add esp, 8
cmp byte [esp + 0x4f], 0x71
je 0x51d637
mov edi, dword [edi + 8]
mov dword [esp + 0x20], edi
test edi, edi
je 0x51d637
mov eax, dword [esp + 0x24]
mov ecx, 8
sub ecx, eax
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x30]
nop
dec dword [eax + 0x38]
mov ebp, dword [eax + 0x38]
cmp ecx, edi
je 0x51d624
push dword [esp + 0x5c]
lea ecx, [esp + 0xa0]
push dword [esp + 0x7c]
push ecx
push 0
push 0
push dword [esp + 0x88]
push edi
push eax
call fcn.00510730
mov edx, dword [esp + 0x9c]
add esp, 0x20
mov ecx, dword [ebx]
add edx, dword [esp + 0x40]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x78], edi
cmp dword [eax], ecx
jg 0x51ce12
push 0
push 1
push edx
push 0x56
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x51ce44
mov edi, dword [esp + 0x20]
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x56
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x28]
movzx edx, word [edi + 0x34]
mov edi, dword [ebx]
cmp dword [eax], edi
jg 0x51ce6b
push edx
push dword [esp + 0x60]
push ebp
push dword [esp + 0x4c]
push 0x1d
push esi
call fcn.004c4c90
add esp, 0x18
mov edi, eax
jmp 0x51ce99
lea eax, [edi + 1]
mov dword [ebx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x40]
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x5c]
mov dword [eax + ecx*4 + 0xc], ebx
mov ebx, dword [esp + 0x34]
mov dword [eax + ecx*4], 0xfd1d
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0x10], edx
push 0
push str.row
push 0
push 3
push 0
push 0x75
push esi
call fcn.0052b4d0
mov ebp, dword [esp + 0x44]
add esp, 0x1c
mov ecx, dword [ebx]
cmp dword [ebp], ecx
jg 0x51cecf
push 3
push 3
push 7
push 0x6f
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x51cf01
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str._missing_from_index
push 0
push 4
push 0
push 0x75
push esi
call fcn.0052b4d0
mov ecx, dword [ebx]
add esp, 0x1c
cmp dword [ebp], ecx
jg 0x51cf33
push 3
push 3
push 4
push 0x6f
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x51cf65
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov ebp, dword [esp + 0x20]
push 0
push dword [ebp]
push 0
push 4
push 0
push 0x75
push esi
call fcn.0052b4d0
mov ecx, dword [ebx]
add esp, 0x1c
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x28]
cmp dword [eax], ecx
jg 0x51cfa0
push 3
push 3
push 4
push 0x6f
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x51cfd2
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push esi
call fcn.004dea30
mov ecx, dword [esi]
add esp, 4
mov edx, dword [ebx]
mov dword [esp + 0x88], eax
cmp byte [ecx + 0x57], 0
je 0x51cff3
mov ecx, 0x7937a8
jmp 0x51cffc
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x48]
mov dword [ecx + 8], edx
test byte [eax + 0x1c], 0x80
jne 0x51d162
mov eax, dword [esp + 0x28]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x51d02f
push 0
push 3
push dword [esp + 0x48]
push 0x8e
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x51d061
mov edx, dword [esp + 0x40]
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x8e
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
movzx eax, word [ebp + 0x34]
mov edx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x28]
dec edx
mov edi, dword [ebx]
add edx, eax
cmp dword [ebp], edi
jg 0x51d08b
push edx
push 0
push 3
push 0x35
push esi
call fcn.004dd7e0
add esp, 0x14
mov edi, eax
jmp 0x51d0bd
mov ebp, dword [esp + 0x28]
lea eax, [edi + 1]
mov dword [ebx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str.rowid_not_at_end_of_record_for_row
push 0
push 3
push 0
push 0x75
push esi
call fcn.0052b4d0
mov ecx, dword [ebx]
add esp, 0x1c
cmp dword [ebp], ecx
jg 0x51d0ef
push 3
push 3
push 7
push 0x6f
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x51d121
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str._of_index
push 0
push 4
push 0
push 0x75
push esi
call fcn.0052b4d0
mov eax, dword [esp + 0x58]
dec eax
push eax
push esi
call fcn.00535260
mov eax, dword [esi]
add esp, 0x24
mov edx, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x51d156
mov eax, 0x7937a8
jmp 0x51d15f
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x20]
xor ecx, ecx
xor ebp, ebp
xor edi, edi
cmp cx, word [eax + 0x32]
jae 0x51d375
nop word [eax + eax]
mov eax, dword [eax + 0x20]
cmp dword [eax + edi*4], 0x6e921c
je 0x51d239
test ebp, ebp
jne 0x51d19e
mov eax, dword [esp + 0x14]
dec dword [eax + 0x38]
mov ebp, dword [eax + 0x38]
mov eax, dword [esp + 0x28]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x51d1bc
push 3
push edi
push dword [esp + 0x48]
push 0x5e
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x51d1ea
mov edx, dword [esp + 0x40]
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x5c]
mov ecx, dword [ebx]
add edx, edi
cmp dword [eax], ecx
jg 0x51d20b
push edx
push ebp
push 3
push 0x34
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x51d239
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x64]
mov dword [eax + ecx*4], 0x34
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x20]
inc edi
movzx eax, word [eax + 0x32]
cmp edi, eax
mov eax, dword [esp + 0x20]
jl 0x51d180
test ebp, ebp
je 0x51d371
mov eax, dword [esp + 0x28]
mov edi, dword [ebx]
cmp dword [eax], edi
jg 0x51d275
push 0
push 0
push 0
push 9
push esi
call fcn.004dd7e0
add esp, 0x14
mov edi, eax
jmp 0x51d2a7
lea eax, [edi + 1]
mov dword [ebx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
not ebp
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x51d2c1
push ebp
push esi
push ecx
call fcn.004f1810
add esp, 0xc
jmp 0x51d2c9
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx]
mov dword [ecx + ebp*4], eax
push 0
push str.row
push 0
push 3
push 0
push 0x75
push esi
call fcn.0052b4d0
mov eax, dword [esp + 0x44]
add esp, 0x1c
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x51d2fe
push 3
push 3
push 7
push 0x6f
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x51d330
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str._values_differ_from_index
push 0
push 4
push 0
push 0x75
push esi
call fcn.0052b4d0
mov eax, dword [esp + 0x58]
dec eax
push eax
push esi
call fcn.00535260
mov eax, dword [esi]
add esp, 0x24
mov edx, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x51d365
mov eax, 0x7937a8
jmp 0x51d36e
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x36], 0
je 0x51d5bb
mov ecx, dword [esp + 0x14]
xor ebp, ebp
dec dword [ecx + 0x38]
mov edx, dword [ecx + 0x38]
xor ecx, ecx
mov dword [esp + 0x60], edx
cmp cx, word [eax + 0x32]
jae 0x51d41b
mov edi, dword [esp + 0x5c]
jmp 0x51d3a5
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 4]
movsx ecx, word [eax + ebp*2]
test ecx, ecx
js 0x51d3c0
mov eax, dword [esp + 0x48]
add ecx, ecx
mov eax, dword [eax + 4]
test byte [eax + ecx*8 + 4], 0xf
jne 0x51d40d
mov eax, dword [esp + 0x28]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x51d3df
push 0
push edx
push edi
push 0x32
push esi
call fcn.004dd7e0
mov edx, dword [esp + 0x74]
add esp, 0x14
jmp 0x51d40d
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x64]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x20]
inc ebp
inc edi
movzx eax, word [eax + 0x32]
cmp ebp, eax
jl 0x51d3a1
mov ebp, dword [esp + 0x28]
mov edi, dword [ebx]
cmp dword [ebp], edi
jg 0x51d43d
push 0
push 0
push dword [esp + 0x48]
push 0x27
push esi
call fcn.004dd7e0
add esp, 0x14
mov edi, eax
jmp 0x51d46f
mov edx, dword [esp + 0x40]
lea eax, [edi + 1]
mov dword [ebx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebx]
cmp dword [ebp], ecx
mov ebp, dword [esp + 0x60]
jg 0x51d48c
push 0
push ebp
push 0
push 9
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x51d4ba
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x51d4cb
mov eax, 0x7937a8
jmp 0x51d4d4
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov edi, dword [esp + 0x20]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x28]
mov ecx, dword [ebx]
movzx edx, word [edi + 0x32]
cmp dword [eax], ecx
jg 0x51d500
push edx
push dword [esp + 0x60]
push ebp
push dword [esp + 0x4c]
push 0x29
push esi
call fcn.004c4c90
add esp, 0x18
jmp 0x51d52e
mov edi, dword [esp + 0x40]
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x5c]
mov dword [eax + ecx*4 + 0xc], edi
mov edi, dword [esp + 0x20]
mov dword [eax + ecx*4], 0xfd29
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0x10], edx
push 0
push str.non_unique_entry_in_index
push 0
push 3
push 0
push 0x75
push esi
call fcn.0052b4d0
mov eax, dword [esp + 0x44]
add esp, 0x1c
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x51d565
push 0
push dword [esp + 0x40]
push 0
push 9
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x51d597
mov edx, dword [esp + 0x3c]
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
not ebp
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x51d5b1
push ebp
push esi
push ecx
call fcn.004f1810
add esp, 0xc
jmp 0x51d5bf
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx]
mov dword [ecx + ebp*4], eax
jmp 0x51d5bf
mov edi, dword [esp + 0x20]
mov eax, dword [esi]
mov edx, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x51d5d0
mov eax, 0x7937a8
jmp 0x51d5e0
mov eax, dword [esp + 0x88]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0x14]
test edx, edx
je 0x51d620
mov edi, dword [eax + 8]
not edx
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x51d60f
push edx
push edi
push ecx
call fcn.004f1810
add esp, 0xc
jmp 0x51d618
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
mov edi, dword [edi + 0x14]
inc dword [esp + 0x40]
mov dword [esp + 0x20], edi
test edi, edi
jne 0x51cdb0
mov ebp, dword [esp + 0x28]
mov ecx, dword [ebx]
mov edi, dword [esp + 0x54]
cmp dword [ebp], ecx
jg 0x51d65a
push 0
push edi
push dword [esp + 0x7c]
push 0x27
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x51d688
mov edx, dword [esp + 0x74]
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x51d699
mov eax, 0x7937b0
jmp 0x51d6a5
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
add eax, 0xfffffff4
cmp byte [esp + 0x4f], 0x71
mov dword [eax], edx
je 0x51d892
push 0
push str.wrong__of_entries_in_index
push 0
push 2
push 0
push 0x75
push esi
call fcn.0052b4d0
mov eax, dword [esp + 0x64]
add esp, 0x1c
mov ebp, dword [eax + 8]
test ebp, ebp
je 0x51d84e
mov eax, dword [esp + 0x30]
mov edx, 8
mov dword [esp + 0x3c], edx
cmp eax, ebp
je 0x51d83e
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
add edi, 0xfffffff8
mov ecx, dword [ebx]
add edi, edx
cmp dword [eax], ecx
jg 0x51d713
push 0
push 3
push edi
push 0x62
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x51d741
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x62
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x28]
mov edi, dword [ebx]
mov edx, dword [esp + 0x3c]
cmp dword [eax], edi
jg 0x51d763
push 3
push 0
push edx
push 0x35
push esi
call fcn.004dd7e0
add esp, 0x14
mov edi, eax
jmp 0x51d795
lea eax, [edi + 1]
mov dword [ebx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x64]
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx]
test eax, eax
jle 0x51d7ab
lea ecx, [eax + eax*4]
mov edx, 0x90
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
push 0
push dword [ebp]
push 0
push 4
push 0
push 0x75
push esi
call fcn.0052b4d0
mov eax, dword [esp + 0x44]
add esp, 0x1c
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x51d7de
push 3
push 2
push 4
push 0x6f
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x51d810
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push esi
call fcn.004dea30
mov eax, dword [esi]
add esp, 4
mov edx, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x51d82a
mov eax, 0x7937a8
jmp 0x51d833
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
mov ebp, dword [ebp + 0x14]
inc edx
mov dword [esp + 0x3c], edx
test ebp, ebp
jne 0x51d6e6
mov eax, dword [esp + 0x30]
test eax, eax
je 0x51d892
movzx eax, word [eax + 0x32]
mov edi, dword [esp + 0x14]
cmp eax, 1
jne 0x51d881
mov ecx, dword [esp + 0x6c]
test ecx, ecx
je 0x51d896
mov al, byte [edi + 0x13]
cmp al, 8
jae 0x51d896
movzx eax, al
mov dword [edi + eax*4 + 0xa0], ecx
inc byte [edi + 0x13]
jmp 0x51d896
cmp eax, dword [edi + 0x1c]
jle 0x51d896
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0x6c]
mov dword [edi + 0x20], eax
jmp 0x51d896
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x51bfd0
jmp 0x51bf64
test edx, edx
jne 0x51d8ee
mov ebx, dword [esp + 0x14]
push ebx
call fcn.0051f280
add esp, 4
test eax, eax
jne 0x519b8e
mov eax, dword [ebx]
movzx eax, byte [eax + 0x54]
push dword [eax*8 + 0x6e9e00]
push esi
call fcn.004f3740
push dword [esp + 0x34]
push dword [esp + 0x1c]
call fcn.00502f20
add esp, 0x10
jmp 0x519bb1
mov ebp, dword [esp + 0x10]
test byte [ebp + 0x18], 0x40
jne 0x519b92
mov eax, dword [str.UTF8]
mov esi, 0x6e9e00
test eax, eax
je 0x51d95e
nop word [eax + eax]
push eax
push edx
call fcn.00526840
add esp, 8
test eax, eax
je 0x51d92e
mov eax, dword [esi + 8]
add esi, 8
mov edx, dword [esp + 0x18]
test eax, eax
jne 0x51d910
jmp 0x51d967
mov cl, byte [esi + 4]
mov edx, 2
movzx eax, cl
test cl, cl
cmovne edx, eax
mov eax, dword [ebp + 0x10]
mov byte [esp + 0x9c], dl
push dword [esp + 0x9c]
mov eax, dword [eax + 0xc]
push ebp
mov byte [eax + 0x4d], dl
call fcn.00524fd0
add esp, 8
cmp dword [esi], 0
jne 0x519b92
push dword [esp + 0x18]
push str.unsupported_encoding:__s
push dword [esp + 0x1c]
call fcn.00505000
push dword [esp + 0x38]
push ebp
call fcn.00502f20
mov eax, dword [esp + 0x2c]
add esp, 0x14
jmp 0x519ba7
mov edi, dword [ebx + 8]
push ebp
push esi
call fcn.00538a70
add esp, 8
cmp dword [esp + 0x18], 0
je 0x51da2b
test byte [ebx + 5], 8
jne 0x51da2b
push 0
push 0x6e9e48
push 2
push esi
call fcn.0052b5b0
mov esi, eax
mov dword [esp + 0x34], 0
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x2c]
mov dword [esi + 4], ebp
mov dword [esi + 0x18], ebp
mov dword [esi + 0x1c], edi
call fcn.005110d0
mov eax, dword [esp + 0x3c]
add esp, 0x18
mov ebp, dword [esp + 0x10]
mov dword [esi + 0x20], eax
mov eax, 1
mov word [esi + 0x16], ax
cmp edi, eax
jne 0x519b92
mov eax, dword [ebp + 0x20]
and eax, 0x10000000
or eax, 0
je 0x519b92
push dword [esp + 0x2c]
mov byte [esi + 0x14], 0xb8
push ebp
call fcn.00502f20
mov eax, dword [esp + 0x20]
add esp, 8
jmp 0x519ba7
push 0
push 0x6e9e50
push 3
push esi
call fcn.0052b5b0
push esi
mov dword [eax + 4], ebp
mov dword [eax + 0x18], ebp
mov dword [eax + 0x20], edi
call fcn.00537e60
add esp, 0x14
jmp 0x519b8e
mov eax, dword [esp + 0x14]
xor edi, edi
mov dword [eax + 0x2c], 1
nop
cmp edi, 0x26
ja 0x51dadd
mov eax, dword [edi*4 + 0x6e8e88]
inc edi
test eax, eax
je 0x51dadd
push 0
push eax
push 0
push 1
push 0
push 0x75
push esi
call fcn.0052b4d0
mov ecx, dword [esi + 0x6c]
add esp, 0x1c
cmp dword [esi + 0x70], ecx
jg 0x51daa8
push 0
push 1
push 1
push 0x54
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x51da60
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x51da60
push esi
call fcn.00537e60
jmp 0x519b8b
mov eax, dword [esp + 0x30]
mov ebx, 0xc
cmp dword [eax], 0
cmovne ebx, ebp
xor edi, edi
test edx, edx
je 0x51db47
push str.full
push edx
call fcn.00526840
add esp, 8
test eax, eax
jne 0x51db14
lea edi, [eax + 1]
jmp 0x51db47
mov ebp, dword [esp + 0x18]
push str.restart
push ebp
call fcn.00526840
add esp, 8
test eax, eax
jne 0x51db2f
lea edi, [eax + 2]
jmp 0x51db47
push str.truncate
push ebp
call fcn.00526840
add esp, 8
mov ecx, 3
test eax, eax
cmove edi, ecx
mov eax, dword [esp + 0x14]
push 1
push edi
push ebx
push 3
push esi
mov dword [eax + 0x2c], 3
call fcn.0052b470
push 3
push 1
push 0x54
push esi
call fcn.0052b410
add esp, 0x24
jmp 0x519b8e
test edx, edx
je 0x51db9c
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0
push eax
push edx
call fcn.005110d0
push dword [esp + 0x2c]
mov ebp, dword [esp + 0x1c]
push ebp
call fcn.004b20b0
add esp, 0x10
jmp 0x51dba0
mov ebp, dword [esp + 0x10]
cmp dword [ebp + 0x110], 0x539cb0
jne 0x51dbc3
mov eax, dword [ebp + 0x114]
cdq
push edx
push eax
push esi
call fcn.004f36b0
add esp, 0xc
jmp 0x519b92
xor eax, eax
cdq
push edx
push eax
push esi
call fcn.004f36b0
add esp, 0xc
jmp 0x519b92
mov ebp, dword [esp + 0x10]
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x51dbeb
push eax
call dword [0x78d068]
add esp, 4
cmp byte [ebp + 0x5f], 0
jne 0x51dbfa
push ebp
call fcn.004ca980
add esp, 4
xor esi, esi
cmp dword [ebp + 0x14], esi
jle 0x51dc2e
xor edi, edi
mov eax, dword [ebp + 0x10]
mov eax, dword [edi + eax + 4]
test eax, eax
je 0x51dc25
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0xe4]
push dword [eax + 0x34]
call dword [0x78d0ac]
add esp, 4
inc esi
add edi, 0x10
cmp esi, dword [ebp + 0x14]
jl 0x51dc03
cmp byte [ebp + 0x5f], 0
jne 0x51dc3d
push ebp
call fcn.004cac90
add esp, 4
mov eax, dword [ebp + 0xc]
jmp 0x51a7ff
test edx, edx
je 0x51dc72
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0
push eax
push edx
call fcn.005110d0
mov ecx, dword [esp + 0x2c]
add esp, 8
mov dword [esp + 0x1c], ecx
test cl, 2
je 0x519b8e
jmp 0x51dc7a
mov dword [esp + 0x1c], 0xfffe
cmp dword [esp + 0x20], 0
mov ebx, dword [esp + 0x14]
mov edx, dword [ebx + 0x28]
mov dword [esp + 0x34], edx
lea eax, [edx + 1]
mov dword [ebx + 0x28], eax
je 0x51dc9a
mov eax, ebp
mov dword [esp + 0x54], eax
jmp 0x51dcae
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
dec eax
mov dword [esp + 0x54], eax
cmp ebp, eax
jg 0x51debe
mov ecx, ebp
mov edi, 1
rol edi, cl
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x24], edi
shl ebp, 4
cmp ecx, 1
je 0x51dea8
mov eax, dword [ebx + 0x7c]
mov ecx, ebx
test eax, eax
cmovne ecx, eax
mov eax, dword [ecx + 0x58]
test eax, edi
jne 0x51dce6
mov ebx, dword [esp + 0x50]
bts eax, ebx
mov dword [ecx + 0x58], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ebp + 0xc]
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x51de9c
nop dword [eax]
mov edi, dword [ebx + 8]
test dword [edi + 0x1c], 0x100
je 0x51de8e
mov ax, word [edi + 0x26]
add ax, 0x2e
movzx ecx, ax
mov eax, dword [edi + 8]
mov dword [esp + 0x9c], ecx
test eax, eax
je 0x51dd41
nop dword [eax]
test byte [eax + 0x38], 0x80
je 0x51ddcc
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x51dd30
test cx, cx
je 0x51ddcc
push 0x70
push edi
push dword [esp + 0x58]
push edx
push dword [esp + 0x24]
call fcn.00516690
mov eax, dword [esp + 0xb0]
add esp, 0x14
mov ecx, dword [esi + 0x6c]
movsx edx, ax
mov eax, dword [esp + 0x1c]
and eax, 1
add eax, 2
add eax, ecx
mov dword [esp + 0x9c], eax
cmp dword [esi + 0x70], ecx
jg 0x51dd96
push edx
push eax
push dword [esp + 0x3c]
push 0x21
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x51ddcc
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x34]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x9c]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x64]
mov dword [eax + ecx*4], 0x21
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x10]
push dword [edi]
mov eax, dword [ecx + 0x10]
push dword [eax + ebp]
push str.ANALYZE___w_.__w_
push ecx
call fcn.00515bf0
add esp, 0x10
mov edx, eax
test byte [esp + 0x1c], 1
je 0x51de73
mov edi, dword [esp + 0x14]
mov cl, byte [edi + 0x13]
test cl, cl
jne 0x51de06
inc dword [edi + 0x2c]
mov edi, dword [edi + 0x2c]
jmp 0x51de15
dec cl
movzx eax, cl
mov byte [edi + 0x13], cl
mov edi, dword [edi + eax*4 + 0xa0]
push 0xfffffffffffffffa
push edx
push 0
push edi
push 0
push 0x75
push esi
call fcn.0052b4d0
mov ecx, dword [esi + 0x6c]
add esp, 0x1c
cmp dword [esi + 0x70], ecx
jg 0x51de42
push 0
push 1
push edi
push 0x54
push esi
call fcn.004dd7e0
add esp, 0x14
jmp 0x51de8a
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x51de8a
push 0xfffffffffffffffa
push edx
push 0
push 0
push 0
push 0x94
push esi
call fcn.0052b4d0
add esp, 0x1c
mov edx, dword [esp + 0x34]
mov ebx, dword [ebx]
test ebx, ebx
jne 0x51dd00
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x54]
inc ecx
rol edi, 1
add ebp, 0x10
mov dword [esp + 0x50], ecx
mov dword [esp + 0x24], edi
cmp ecx, eax
jle 0x51dcc2
push 0xa6
push esi
call fcn.0052b360
add esp, 8
jmp 0x519b8e
test edx, edx
je 0x51df00
lea eax, [esp + 0x9c]
push eax
push edx
call fcn.00503380
add esp, 8
test eax, eax
jne 0x51df00
push dword [esp + 0xa0]
push dword [esp + 0xa0]
call fcn.004ac170
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.004ac170
push edx
push eax
push esi
call fcn.004f36b0
add esp, 0x14
jmp 0x519b8e
test edx, edx
je 0x51df72
lea eax, [esp + 0x9c]
push eax
push edx
call fcn.00503380
add esp, 8
test eax, eax
jne 0x51df72
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.004ac280
mov edi, dword [esp + 0xa8]
add esp, 8
mov ebx, eax
test edi, edi
jl 0x51df72
mov ecx, dword [esp + 0x9c]
jg 0x51df58
test ecx, ecx
je 0x51df72
mov eax, ebx
or eax, edx
je 0x51df68
cmp edx, edi
jl 0x51df72
jg 0x51df68
cmp ebx, ecx
jbe 0x51df72
push edi
push ecx
call fcn.004ac280
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.004ac280
push edx
push eax
push esi
call fcn.004f36b0
add esp, 0x14
jmp 0x519b8e
test edx, edx
je 0x51dfd1
lea eax, [esp + 0x9c]
push eax
push edx
call fcn.00503380
add esp, 8
test eax, eax
jne 0x51dfd1
cmp dword [esp + 0xa0], eax
jl 0x51dfd1
mov eax, dword [esp + 0x9c]
jg 0x51dfba
test eax, eax
jb 0x51dfd1
mov ebp, dword [esp + 0x10]
and eax, 0x7fffffff
push eax
push 0xb
push ebp
call fcn.004c2760
add esp, 0xc
jmp 0x51dfd5
mov ebp, dword [esp + 0x10]
mov eax, dword [ebp + 0xa4]
cdq
push edx
push eax
push esi
call fcn.004f36b0
add esp, 0xc
jmp 0x519b92
test edx, edx
je 0x51e02c
lea eax, [esp + 0x9c]
push eax
push edx
call fcn.00503380
add esp, 8
test eax, eax
jne 0x51e02c
cmp dword [esp + 0xa0], eax
jl 0x51e02c
mov eax, dword [esp + 0x9c]
jg 0x51e01b
test eax, eax
jb 0x51e02c
mov ebp, dword [esp + 0x10]
and eax, 0x7fffffff
mov dword [ebp + 0x1f0], eax
jmp 0x51e030
mov ebp, dword [esp + 0x10]
mov eax, dword [ebp + 0x1f0]
cdq
push edx
push eax
push esi
call fcn.004f36b0
add esp, 0xc
jmp 0x519b92
test edx, edx
je 0x51e0d4
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0
push eax
push edx
call fcn.005110d0
mov edi, dword [esp + 0x2c]
add esp, 8
mov ebp, dword [esp + 0x10]
test edi, edi
jle 0x51e088
push ebp
push 0x542fc0
push ebp
call fcn.004c0ef0
add esp, 0xc
mov dword [ebp + 0x1f4], edi
jmp 0x51e0d8
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x51e099
push eax
call dword [0x78d068]
add esp, 4
mov eax, dword [ebp + 0xc]
mov dword [ebp + 0x1c0], 0
mov dword [ebp + 0x1c4], 0
mov dword [ebp + 0x1c8], 0
mov dword [ebp + 0x1f4], 0
test eax, eax
je 0x51e0d8
push eax
call dword [0x78d070]
add esp, 4
jmp 0x51e0d8
mov ebp, dword [esp + 0x10]
mov eax, dword [ebp + 0x1f4]
cdq
push edx
push eax
push esi
call fcn.004f36b0
add esp, 0xc
jmp 0x519b92
mov ebp, ebx
jmp 0x519b92
mov ebp, eax
jmp 0x519b92