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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xd4
mov eax, dword [0x4fc040]
xor eax, esp
mov dword [esp + 0xd0], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ecx + 8]
mov dword [esp + 0x58], eax
mov eax, dword [ecx]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x44], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x3c], esi
push edi
mov edi, edx
test esi, esi
je 0x495f8b
mov dword [esp + 0x84], esi
jmp 0x495fb5
cmp dword [ecx + 0x7c], 0
jne 0x495f9b
test byte [eax + 0x50], 8
jne 0x495f9b
mov byte [ecx + 0x17], 1
call fcn.0044eed0
mov esi, eax
mov dword [esp + 0x40], esi
mov dword [esp + 0x84], esi
test esi, esi
je 0x49633f
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x495fd4
push 0
push 1
push 1
mov edx, 0xa6
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x496007
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 ecx, dword [esp + 0x18]
mov dword [ecx + 0x2c], 2
cmp dword [ebx + 4], 0
mov eax, dword [ecx]
jbe 0x496084
cmp byte [eax + 0xb1], 0
je 0x496046
push str.corrupt_database
push ecx
call fcn.0042b560
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xd0]
xor ecx, esp
call fcn.004e3214
mov esp, ebp
pop ebp
ret
mov edx, edi
mov dword [esp + 0x20], ebx
mov ecx, eax
call fcn.0047b4f0
mov edx, eax
mov dword [esp + 0x3c], edx
test edx, edx
jns 0x496095
push edi
push str.unknown_database__T
push dword [esp + 0x20]
call fcn.0042b560
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xd0]
xor ecx, esp
call fcn.004e3214
mov esp, ebp
pop ebp
ret
movzx edx, byte [eax + 0xb0]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x20], edi
jmp 0x496099
mov ecx, dword [esp + 0x18]
test edx, edx
js 0x49633f
mov eax, dword [esp + 0x10]
mov edi, edx
shl edi, 4
add edi, dword [eax + 0x10]
mov dword [esp + 0x64], edi
cmp edx, 1
jne 0x4960c7
call fcn.004832b0
test eax, eax
jne 0x49633f
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov ecx, eax
call fcn.0047b460
mov dword [esp + 0x34], eax
test eax, eax
je 0x49633f
cmp dword [ebp + 0x10], 0
je 0x4960fb
push dword [esp + 0x5c]
push 0x4ee400
push dword [esp + 0x18]
call fcn.0042a380
add esp, 0xc
jmp 0x496108
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x10]
call fcn.0047b460
cmp dword [ebx + 4], 0
mov dword [esp + 0x14], eax
jbe 0x496116
mov ebx, dword [edi]
jmp 0x496118
xor ebx, ebx
mov ecx, dword [esp + 0x18]
mov edx, 0x13
push ebx
push eax
push dword [esp + 0x3c]
mov dword [esp + 0x3c], ebx
call fcn.00479b90
mov ecx, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jne 0x496323
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], 0
mov dword [ecx + 0x1c8], 0
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x2c], 1
test eax, eax
je 0x49618e
push eax
call dword [0x4fc1d0]
mov ecx, dword [esp + 0x14]
add esp, 4
mov edx, ebx
call fcn.004dacf0
mov ebx, eax
test ebx, ebx
je 0x49620f
cmp byte [ebx + 9], 0
je 0x4961b1
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x4961b1
mov ecx, ebx
call fcn.0043e740
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 0x4961d7
mov dword [esp + 0x2c], 0xc
jmp 0x4961ee
lea edx, [esp + 0xcc]
push edx
push 0xe
push eax
mov eax, dword [ecx + 0x28]
call eax
add esp, 0xc
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
mov dword [ecx + 0x1c8], eax
cmp byte [ebx + 9], 0
je 0x49620f
add dword [ebx + 0xc], 0xffffffff
jne 0x49620f
mov ecx, ebx
call fcn.0043e720
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x496224
push eax
call dword [0x4fc1d8]
add esp, 4
mov ebx, dword [esp + 0x2c]
test ebx, ebx
jne 0x49635d
mov ebx, 1
mov ecx, esi
mov edx, ebx
call fcn.00451100
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x49625f
mov edx, dword [esp + 0xcc]
mov ecx, dword [esi + 0x74]
push 0xffffffffffffffff
push ebx
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0044e240
add esp, 0x10
mov edi, dword [esp + 0xcc]
test edi, edi
je 0x49631f
push edi
mov edx, ebx
mov ecx, esi
call fcn.0044f260
mov ecx, dword [esi + 0x6c]
add esp, 4
cmp dword [esi + 0x70], ecx
jg 0x49629a
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x4962c5
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], ebx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [esp + 0xcc]
test edi, edi
je 0x49631f
cmp dword [0x4fc180], 0
je 0x496354
mov eax, dword [0x4fed70]
test eax, eax
je 0x4962ec
push eax
call dword [0x4fc1d0]
add esp, 4
push edi
call dword [0x4fc1ac]
sub dword [0x4febf8], eax
add esp, 4
dec dword [0x4fec1c]
push edi
call dword [0x4fc1a4]
mov eax, dword [0x4fed70]
add esp, 4
test eax, eax
je 0x49631f
push eax
call dword [0x4fc1d8]
add esp, 4
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x34]
call fcn.004279d0
test ebx, ebx
je 0x49633f
mov edx, ebx
mov ecx, dword [esp + 0x10]
call fcn.004279d0
mov ecx, dword [esp + 0xdc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004e3214
mov esp, ebp
pop ebp
ret
push edi
call dword [0x4fc1a4]
jmp 0x49631c
cmp ebx, 0xc
je 0x496409
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x4963fa
push eax
push 0x4ea9f0
push dword [esp + 0x20]
call fcn.0042b560
mov esi, dword [esp + 0xd8]
add esp, 0xc
test esi, esi
je 0x4963fa
cmp dword [0x4fc180], 0
je 0x4963f0
mov eax, dword [0x4fed70]
test eax, eax
je 0x4963ae
push eax
call dword [0x4fc1d0]
add esp, 4
push esi
call dword [0x4fc1ac]
sub dword [0x4febf8], eax
add esp, 4
dec dword [0x4fec1c]
push esi
call dword [0x4fc1a4]
mov eax, dword [0x4fed70]
add esp, 4
test eax, eax
je 0x4963fa
push eax
call dword [0x4fc1d8]
mov eax, dword [esp + 0x1c]
add esp, 4
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x49631f
push esi
call dword [0x4fc1a4]
add esp, 4
mov eax, dword [esp + 0x18]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x49631f
mov ecx, dword [esp + 0x34]
call fcn.00495d00
mov ebx, eax
mov dword [esp + 0x4c], ebx
test ebx, ebx
je 0x49631f
test byte [ebx + 5], 1
je 0x496437
mov ecx, dword [esp + 0x18]
call fcn.0049d6c0
test eax, eax
jne 0x49631f
mov al, byte [ebx + 5]
test al, 2
jne 0x496453
test al, 4
je 0x49644a
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x496457
mov edx, ebx
mov ecx, esi
call fcn.00495bc0
mov ecx, dword [esp + 0x14]
movzx eax, byte [ebx + 4]
dec eax
cmp eax, 0x2a
ja case.0x496465.5
jmp dword [eax*4 + 0x49c1f4]
mov eax, dword [esi + 0x9c]
mov ebx, dword [esp + 0x3c]
bts eax, ebx
mov dword [esi + 0x9c], eax
cmp ebx, 1
je 0x4964a6
mov eax, dword [esi]
mov ecx, ebx
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 4]
cmp byte [eax + 9], 0
je 0x4964a6
mov eax, dword [esi + 0xa0]
bts eax, ebx
mov dword [esi + 0xa0], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4964df
mov ecx, dword [esp + 0x18]
lea edx, [eax + 9]
push ecx
push 0x4f08c0
add dword [ecx + 0x2c], 2
mov ecx, esi
call fcn.0044fbe0
mov edx, dword [esp + 0x3c]
add esp, 8
mov dword [eax + 4], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x7c], 0xfffff830
jmp 0x496336
lea edx, [esp + 0x20]
mov dword [esp + 0x20], 0
mov ecx, eax
call fcn.0042c8f0
mov ebx, dword [esp + 0x20]
test ebx, ebx
jns 0x49650b
cmp ebx, 0x80000000
jne 0x496509
mov ebx, 0x7fffffff
jmp 0x49650b
neg ebx
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x7c]
test eax, eax
cmovne ecx, eax
mov eax, 1
mov dword [esp + 0x18], ecx
mov edx, dword [ecx + 0x58]
mov ecx, dword [esp + 0x3c]
shl eax, cl
mov ecx, dword [esp + 0x18]
test edx, eax
jne 0x496549
mov eax, dword [esp + 0x3c]
bts edx, eax
mov dword [ecx + 0x58], edx
cmp eax, 1
jne 0x496549
call fcn.004832b0
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x54]
mov edx, dword [esp + 0x3c]
bts eax, edx
mov dword [ecx + 0x54], eax
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x496573
push ebx
push 3
push edx
mov edx, 0x64
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x49659e
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x64
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi + 0xc]
mov dword [eax + 0x50], ebx
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 4]
mov edx, dword [edx + 0x50]
call fcn.004415e0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x34]
call fcn.004279d0
mov ebx, dword [esp + 0x14]
jmp 0x496334
mov edi, dword [edi + 4]
test ecx, ecx
jne 0x49666f
test edi, edi
je 0x4965df
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x24]
jmp 0x4965e1
xor eax, eax
cdq
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], edx
push 0xfffffffffffffff3
lea eax, [esp + 0xac]
mov edx, 0x48
push eax
push ecx
push 1
push ecx
mov ecx, esi
call fcn.0044f670
add esp, 0x14
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x496633
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.0044f120
mov edx, dword [esp + 0x40]
add esp, 0xc
jmp 0x496336
mov edx, dword [esp + 0x34]
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 0x496336
lea edx, [esp + 0x20]
mov dword [esp + 0x20], 0
call fcn.0042c8f0
mov eax, dword [esp + 0x10]
mov ecx, edi
mov edx, dword [esp + 0x20]
push 0
push 0
mov dword [eax + 0x64], edx
call fcn.00441770
mov ecx, dword [esp + 0x18]
add esp, 8
cmp eax, 7
jne 0x496323
call fcn.00428130
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x34]
call fcn.004279d0
mov ebx, dword [esp + 0x14]
jmp 0x496334
mov ebx, dword [edi + 4]
or ecx, 0xffffffff
mov edi, dword [esp + 0x14]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x38], ecx
test edi, edi
je 0x496708
mov edx, str.fast
mov ecx, edi
call fcn.0042b700
test eax, eax
jne 0x4966ec
lea ecx, [eax + 2]
jmp 0x496704
push 0
mov edx, 1
mov ecx, edi
call fcn.00495ad0
xor ecx, ecx
add esp, 4
test al, al
setne cl
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0x48]
mov edi, 0xfff3
cmp dword [eax + 4], 0
jne 0x4967b4
test ecx, ecx
js 0x4967b4
mov eax, dword [esp + 0x10]
xor edx, edx
mov dword [esp + 0x2c], edx
cmp dword [eax + 0x14], edx
jle 0x4967b4
mov ebx, dword [esp + 0x38]
xor esi, esi
nop dword [eax]
mov eax, dword [eax + 0x10]
mov edi, dword [esi + eax + 4]
test edi, edi
je 0x496796
cmp byte [edi + 9], 0
je 0x496765
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x496765
mov ecx, edi
call fcn.0043e740
mov edx, dword [esp + 0x2c]
mov eax, dword [edi + 4]
mov ecx, 0xfff3
and word [eax + 0x18], cx
lea eax, [ebx*4]
mov ecx, dword [edi + 4]
or word [ecx + 0x18], ax
cmp byte [edi + 9], 0
je 0x496796
add dword [edi + 0xc], 0xffffffff
jne 0x496796
mov ecx, edi
call fcn.0043e720
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
inc edx
add esi, 0x10
mov dword [esp + 0x2c], edx
cmp edx, dword [eax + 0x14]
jl 0x496740
mov esi, dword [esp + 0x40]
mov edi, 0xfff3
mov ebx, dword [esp + 0x24]
test ebx, ebx
jne 0x4967bc
xor edi, edi
jmp 0x49680f
cmp byte [ebx + 9], 0
je 0x4967d2
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x4967d2
mov ecx, ebx
call fcn.0043e740
mov edx, dword [esp + 0x38]
test edx, edx
js 0x4967ef
mov eax, dword [ebx + 4]
and word [eax + 0x18], di
lea eax, [edx*4]
mov ecx, dword [ebx + 4]
or word [ecx + 0x18], ax
mov eax, dword [ebx + 4]
movzx edi, word [eax + 0x18]
shr edi, 2
and edi, 3
cmp byte [ebx + 9], 0
je 0x49680f
add dword [ebx + 0xc], 0xffffffff
jne 0x49680f
mov ecx, ebx
call fcn.0043e720
mov dword [esp + 0xac], 0
mov dword [esp + 0xa8], edi
push 0xfffffffffffffff3
lea eax, [esp + 0xac]
mov edx, 0x48
push eax
push ecx
push 1
push ecx
mov ecx, esi
call fcn.0044f670
add esp, 0x14
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x49c0d9
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x49631f
mov ebx, dword [esp + 0x18]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x3c]
mov edx, ebx
movlpd qword [esp + 0xa8], xmm0
mov eax, dword [ebx + 0x7c]
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov edi, dword [edx + 0x58]
test edi, eax
jne 0x4968a2
bts edi, ecx
mov dword [edx + 0x58], edi
cmp ecx, 1
jne 0x4968a2
mov ecx, edx
call fcn.004832b0
mov edi, dword [ebx + 0x2c]
mov eax, dword [esp + 0x34]
inc edi
mov dword [ebx + 0x2c], edi
movzx eax, byte [eax]
cmp byte [eax + 0x4f2180], 0x70
jne 0x496908
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4968dc
push 0
push edi
push dword [esp + 0x44]
mov edx, 0xb1
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x4969b4
mov ebx, dword [esp + 0x3c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xb1
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
jmp 0x4969ac
mov eax, dword [esp + 0x14]
test eax, eax
je 0x496957
lea edx, [esp + 0xa8]
mov ecx, eax
call fcn.0042c7e0
test eax, eax
jne 0x496957
mov eax, dword [esp + 0xac]
mov edx, dword [esp + 0xa8]
test eax, eax
jg 0x496945
jl 0x496957
test edx, edx
jb 0x496957
test eax, eax
jl 0x49696a
jg 0x496945
cmp edx, 0xfffffffe
jbe 0x49696a
mov edx, 0xfffffffe
mov dword [esp + 0xac], 0
jmp 0x49696a
xorps xmm0, xmm0
movlpd qword [esp + 0xa8], xmm0
mov edx, dword [esp + 0xa8]
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x496989
push edx
push edi
push dword [esp + 0x44]
mov edx, 0xb2
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x4969b4
mov ebx, dword [esp + 0x3c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xb2
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4969d5
push 0
push 1
push edi
mov edx, 0x54
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x49631f
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 0x49631f
test ecx, ecx
je 0x496a76
mov ebx, str.exclusive
mov edx, ecx
sub ebx, ecx
movzx ecx, byte [edx]
movzx eax, byte [ebx + edx]
cmp ecx, eax
jne 0x496a2c
test ecx, ecx
jne 0x496a3e
mov ecx, 1
jmp 0x496a79
movzx eax, byte [eax + 0x4f2180]
movzx ecx, byte [ecx + 0x4f2180]
sub ecx, eax
jne 0x496a41
inc edx
jmp 0x496a16
mov edx, dword [esp + 0x14]
mov ebx, str.normal
sub ebx, edx
nop dword [eax]
movzx ecx, byte [edx]
movzx eax, byte [ebx + edx]
cmp ecx, eax
jne 0x496a61
test ecx, ecx
jne 0x496a73
jmp 0x496a79
movzx eax, byte [eax + 0x4f2180]
movzx ecx, byte [ecx + 0x4f2180]
sub ecx, eax
jne 0x496a76
inc edx
jmp 0x496a50
or ecx, 0xffffffff
mov eax, dword [esp + 0x48]
cmp dword [eax + 4], 0
jne 0x496add
mov eax, dword [esp + 0x10]
cmp ecx, 0xffffffff
jne 0x496a91
mov cl, byte [eax + 0x59]
jmp 0x496b05
mov edx, 2
cmp dword [eax + 0x14], edx
jle 0x496ada
mov ebx, 0x20
mov eax, dword [eax + 0x10]
mov eax, dword [ebx + eax + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
js 0x496ac9
cmp byte [eax + 0xc], 0
jne 0x496ac9
mov edi, dword [eax + 0xe8]
test edi, edi
je 0x496ac6
cmp byte [edi + 0x2b], 2
je 0x496ac9
mov byte [eax + 4], cl
mov eax, dword [esp + 0x10]
inc edx
add ebx, 0x10
cmp edx, dword [eax + 0x14]
jl 0x496aa0
mov edi, dword [esp + 0x64]
mov byte [eax + 0x59], cl
mov eax, dword [edi + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
js 0x496b02
cmp byte [eax + 0xc], 0
jne 0x496b02
mov edx, dword [eax + 0xe8]
test edx, edx
je 0x496aff
cmp byte [edx + 0x2b], 2
je 0x496b02
mov byte [eax + 4], cl
mov cl, byte [eax + 4]
cmp cl, 1
mov edx, str.exclusive
mov eax, str.normal
mov ecx, esi
cmove eax, edx
mov edx, 1
push eax
call fcn.0044f260
add esp, 4
jmp 0x49683e
test ecx, ecx
je 0x496bcb
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x496b35
sub ecx, edx
and ecx, 0x3fffffff
xor eax, eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], eax
cmp eax, 6
je 0x496bcb
mov edi, dword [eax*4 + 0x4f10a0]
test edi, edi
je 0x496bcb
mov ebx, dword [esp + 0x14]
mov edx, ecx
test ecx, ecx
je 0x496b89
mov al, byte [ebx]
dec edx
test al, al
je 0x496b8a
movzx ecx, byte [edi]
movzx eax, al
mov al, byte [eax + 0x4f2180]
cmp al, byte [ecx + 0x4f2180]
jne 0x496b8a
inc ebx
inc edi
test edx, edx
jg 0x496b68
dec edx
test edx, edx
js 0x496bb1
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x4f2180]
movzx eax, byte [ebx]
movzx eax, byte [eax + 0x4f2180]
sub eax, ecx
je 0x496bb1
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
inc eax
jmp 0x496b4a
mov ebx, dword [esp + 0x2c]
cmp ebx, 2
jne 0x496be9
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x496bee
or ebx, 0xffffffff
mov ecx, dword [esp + 0x48]
cmp dword [ecx + 4], 0
jne 0x496bf2
mov dword [esp + 0x3c], 0
mov dword [ecx + 4], 1
jmp 0x496bf2
cmp ebx, 0xffffffff
je 0x496bce
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x14]
sub edi, 1
js 0x49683e
mov edx, edi
shl edx, 4
mov dword [esp + 0x2c], edx
nop dword [eax + eax]
mov eax, dword [eax + 0x10]
cmp dword [edx + eax + 4], 0
je 0x496cac
cmp edi, dword [esp + 0x3c]
je 0x496c2e
cmp dword [ecx + 4], 0
jne 0x496cac
mov eax, dword [esi + 0x9c]
bts eax, edi
mov dword [esi + 0x9c], eax
cmp edi, 1
je 0x496c60
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edx + 4]
cmp byte [eax + 9], 0
je 0x496c60
mov eax, dword [esi + 0xa0]
bts eax, edi
mov dword [esi + 0xa0], eax
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x496c7d
push ebx
push 1
push edi
mov edx, 4
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x496ca8
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 edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x48]
sub edx, 0x10
sub edi, 1
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2c], edx
jns 0x496c10
jmp 0x49683e
mov eax, dword [edi + 4]
or ecx, 0xffffffff
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xac], ecx
mov eax, dword [eax + 4]
mov edi, dword [eax]
mov eax, 0xfffffffe
mov dword [esp + 0xa8], eax
test ebx, ebx
je 0x496d29
lea edx, [esp + 0xa8]
mov ecx, ebx
call fcn.0042c7e0
mov ecx, dword [esp + 0xac]
cmp ecx, 0xffffffff
jg 0x496d1e
jl 0x496d17
mov eax, dword [esp + 0xa8]
cmp eax, 0xffffffff
jae 0x496d25
or eax, 0xffffffff
or ecx, eax
jmp 0x496d25
mov eax, dword [esp + 0xa8]
mov ebx, dword [esp + 0x14]
cmp ecx, 0xffffffff
jl 0x496d51
jg 0x496d35
cmp eax, 0xffffffff
jb 0x496d51
mov dword [edi + 0xb0], eax
mov dword [edi + 0xb4], ecx
mov edx, dword [edi + 0xe8]
test edx, edx
je 0x496d51
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
mov eax, dword [edi + 0xb0]
mov edx, 0x48
mov ecx, dword [edi + 0xb4]
push 0xfffffffffffffff3
mov dword [esp + 0xac], eax
lea eax, [esp + 0xac]
push eax
push ecx
push 1
mov dword [esp + 0xbc], ecx
push ecx
mov ecx, esi
call fcn.0044f670
mov ecx, dword [esi + 0x6c]
add esp, 0x14
cmp dword [esi + 0x70], ecx
jg 0x496dae
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.0044f120
mov ecx, dword [esp + 0x1c]
add esp, 0xc
jmp 0x496327
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 ecx, dword [esp + 0x10]
jmp 0x496327
mov edi, dword [edi + 4]
test ecx, ecx
jne 0x496e40
cmp byte [edi + 9], cl
je 0x496e05
inc dword [edi + 0xc]
cmp byte [edi + 0xa], cl
jne 0x496e05
mov ecx, edi
call fcn.0043e740
mov eax, dword [edi + 4]
xor ebx, ebx
cmp byte [eax + 0x11], bl
je 0x496e16
cmp byte [eax + 0x12], bl
setne bl
inc ebx
cmp byte [edi + 9], 0
je 0x496e29
add dword [edi + 0xc], 0xffffffff
jne 0x496e29
mov ecx, edi
call fcn.0043e720
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], 0
jmp 0x4965f0
mov edx, ecx
mov ecx, str.none
sub ecx, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
nop
movzx eax, byte [edx]
movzx ebx, byte [edx + ecx]
cmp eax, ebx
jne 0x496e66
test eax, eax
jne 0x496e7c
xor ebx, ebx
jmp 0x496f24
movzx ecx, byte [eax + 0x4f2180]
movzx eax, byte [ebx + 0x4f2180]
sub ecx, eax
jne 0x496e7f
mov ecx, dword [esp + 0x24]
inc edx
jmp 0x496e50
mov edx, dword [esp + 0x14]
mov ecx, str.full
sub ecx, edx
mov dword [esp + 0x24], ecx
nop
movzx eax, byte [edx]
movzx ebx, byte [edx + ecx]
cmp eax, ebx
jne 0x496ea7
test eax, eax
jne 0x496ebd
lea ebx, [eax + 1]
jmp 0x496f24
movzx ecx, byte [eax + 0x4f2180]
movzx eax, byte [ebx + 0x4f2180]
sub ecx, eax
jne 0x496ec0
mov ecx, dword [esp + 0x24]
inc edx
jmp 0x496e90
mov edx, dword [esp + 0x14]
mov ecx, str.incremental
sub ecx, edx
mov dword [esp + 0x24], ecx
nop
movzx eax, byte [edx]
movzx ebx, byte [edx + ecx]
cmp eax, ebx
jne 0x496ee4
test eax, eax
jne 0x496efa
lea ebx, [eax + 2]
jmp 0x496f24
movzx ecx, byte [eax + 0x4f2180]
movzx eax, byte [ebx + 0x4f2180]
sub ecx, eax
jne 0x496efd
mov ecx, dword [esp + 0x24]
inc edx
jmp 0x496ed0
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x20]
mov dword [esp + 0x20], 0
call fcn.0042c8f0
mov eax, dword [esp + 0x20]
xor edx, edx
cmp eax, 2
movzx ecx, al
cmova ecx, edx
movzx ebx, cl
mov eax, dword [esp + 0x10]
mov edx, ebx
mov ecx, edi
mov byte [eax + 0x5a], bl
call fcn.004418b0
test eax, eax
jne 0x49631f
cmp ebx, 1
je 0x496f4a
cmp ebx, 2
jne 0x49631f
mov edi, dword [esi + 0x6c]
mov edx, 5
push ecx
push 0x4f1b54
mov ecx, esi
call fcn.0044fbe0
mov edx, dword [esp + 0x44]
lea ecx, [edi + 4]
add esp, 8
mov dword [eax + 4], edx
mov dword [eax + 0x18], edx
mov dword [eax + 0x30], ecx
lea ecx, [ebx - 1]
mov dword [eax + 0x54], edx
mov dword [eax + 0x5c], ecx
mov eax, dword [esi + 0x9c]
bts eax, edx
mov dword [esi + 0x9c], eax
cmp edx, 1
je 0x49631f
mov eax, dword [esi]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 4]
mov ecx, dword [esp + 0x10]
cmp byte [eax + 9], 0
je 0x496323
mov eax, dword [esi + 0xa0]
bts eax, edx
mov edx, dword [esp + 0x34]
mov dword [esi + 0xa0], eax
call fcn.004279d0
mov ebx, dword [esp + 0x14]
jmp 0x496334
mov dword [esp + 0x20], 0
test ecx, ecx
je 0x496ff0
lea edx, [esp + 0x20]
call fcn.0042c8f0
test eax, eax
je 0x496ff0
mov edi, dword [esp + 0x20]
test edi, edi
jg 0x496ff5
mov edi, 0x7fffffff
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x3c]
mov eax, dword [ebx + 0x7c]
test eax, eax
cmovne ebx, eax
mov eax, 1
shl eax, cl
mov edx, dword [ebx + 0x58]
test edx, eax
jne 0x497029
bts edx, ecx
mov dword [ebx + 0x58], edx
cmp ecx, 1
jne 0x497029
mov ecx, ebx
call fcn.004832b0
mov ecx, dword [esp + 0x3c]
mov eax, dword [ebx + 0x54]
bts eax, ecx
mov dword [ebx + 0x54], eax
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x497050
push 0
push 1
push edi
mov edx, 0x47
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x49707f
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x47
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
mov edi, dword [esi + 0x6c]
cmp dword [esi + 0x70], edi
jg 0x4970a2
push 0
push 0
push dword [esp + 0x44]
mov edx, 0x3e
mov ecx, esi
call fcn.0044f120
add esp, 0xc
mov edi, eax
jmp 0x4970d5
mov ebx, dword [esp + 0x3c]
lea eax, [edi + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x3e
mov dword [eax + ecx*4 + 4], ebx
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 + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4970f4
push 0
push 0
push 1
mov edx, 0x54
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x497127
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], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x497146
push 0
push 0xffffffffffffffff
push 1
mov edx, 0x56
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x497179
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x56
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 0xffffffff
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x497197
push 0
push edi
push 1
mov edx, 0x3b
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x4971c6
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x3b
mov dword [eax + ecx*4 + 4], 1
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 [esi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x4971de
mov eax, 0x4fec48
mov dword [eax + 8], edx
jmp 0x49631f
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
jmp 0x49631f
test ecx, ecx
jne 0x4971ff
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x50]
jmp 0x4965e1
lea edx, [esp + 0x20]
mov dword [esp + 0x20], 0
call fcn.0042c8f0
mov ecx, dword [edi + 0xc]
mov eax, dword [esp + 0x20]
mov dword [ecx + 0x50], eax
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 4]
mov edx, dword [edx + 0x50]
call fcn.004415e0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x34]
call fcn.004279d0
mov ebx, dword [esp + 0x14]
jmp 0x496334
test ecx, ecx
jne 0x4972f0
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x20]
and eax, 0x20
or eax, ecx
je 0x49725e
mov ecx, dword [edi + 4]
xor edx, edx
call fcn.00441680
cdq
push 0xfffffffffffffff3
mov dword [esp + 0xac], eax
lea eax, [esp + 0xac]
push eax
push ecx
push 1
mov dword [esp + 0xbc], edx
mov edx, 0x48
push ecx
mov ecx, esi
call fcn.0044f670
mov ecx, dword [esi + 0x6c]
add esp, 0x14
cmp dword [esi + 0x70], ecx
jg 0x4972b2
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.0044f120
mov edx, dword [esp + 0x40]
add esp, 0xc
mov ecx, ebx
jmp 0x49633a
mov edx, dword [esp + 0x34]
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 ecx, ebx
jmp 0x49633a
lea edx, [esp + 0x20]
mov dword [esp + 0x20], 1
call fcn.0042c8f0
mov esi, dword [esp + 0x20]
test eax, eax
je 0x497313
mov ecx, dword [edi + 4]
mov edx, esi
call fcn.00441680
mov ecx, dword [esp + 0x14]
test esi, esi
mov edx, 1
setne al
movzx eax, al
push eax
call fcn.00495ad0
mov edx, dword [esp + 0x14]
add esp, 4
mov ebx, dword [esp + 0x10]
test al, al
mov eax, ebx
mov ecx, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
je 0x497365
or ecx, 0x20
mov dword [eax + 0x20], ecx
mov ecx, ebx
mov dword [eax + 0x24], edx
call fcn.00495c60
mov edx, dword [esp + 0x34]
mov ecx, ebx
call fcn.004279d0
mov ebx, dword [esp + 0x14]
jmp 0x496334
and ecx, 0xffffffdf
mov dword [eax + 0x20], ecx
mov ecx, ebx
mov dword [eax + 0x24], edx
call fcn.00495c60
mov edx, dword [esp + 0x34]
mov ecx, ebx
call fcn.004279d0
mov ebx, dword [esp + 0x14]
jmp 0x496334
test ecx, ecx
je 0x497497
lea edx, [esp + 0xb8]
call fcn.0042c7e0
cmp dword [esp + 0xbc], 0
jg 0x4973cc
jl 0x4973b3
cmp dword [esp + 0xb8], 0
jae 0x4973cc
mov eax, dword [0x4fc228]
mov ecx, dword [0x4fc22c]
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x10]
cmp dword [ecx + 4], 0
jne 0x4973f2
mov ecx, dword [esp + 0xbc]
mov eax, dword [esp + 0xb8]
mov dword [edx + 0x30], eax
mov dword [edx + 0x34], ecx
mov ecx, dword [esp + 0x48]
mov ebx, dword [edx + 0x14]
sub ebx, 1
js 0x497497
mov esi, ebx
shl esi, 4
mov eax, dword [edx + 0x10]
mov edi, dword [esi + eax + 4]
test edi, edi
je 0x497483
cmp ebx, dword [esp + 0x3c]
je 0x49741a
cmp dword [ecx + 4], 0
jne 0x497483
cmp byte [edi + 9], 0
mov ecx, dword [esp + 0xbc]
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x5c], ecx
mov ecx, dword [edi + 4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ecx
je 0x497455
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x497455
mov ecx, edi
call fcn.0043e740
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx]
mov dword [ecx + 0x88], eax
mov eax, dword [esp + 0x5c]
mov dword [ecx + 0x8c], eax
call fcn.00437e20
cmp byte [edi + 9], 0
je 0x49747f
add dword [edi + 0xc], 0xffffffff
jne 0x49747f
mov ecx, edi
call fcn.0043e720
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x48]
sub esi, 0x10
sub ebx, 1
jns 0x497403
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x10]
mov ebx, 1
mov dword [esp + 0xb8], 0xffffffff
mov dword [esp + 0xbc], 0xffffffff
mov eax, dword [edi + 0xc]
test eax, eax
je 0x4974c7
push eax
call dword [0x4fc1d0]
add esp, 4
mov edx, dword [esp + 0x30]
mov ecx, edi
call fcn.004dacf0
mov edi, eax
test edi, edi
je 0x497545
cmp byte [edi + 9], 0
je 0x4974ee
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x4974ee
mov ecx, edi
call fcn.0043e740
mov eax, dword [edi + 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 0x49750f
lea ebx, [ecx + 0xc]
jmp 0x497524
lea edx, [esp + 0xb8]
push edx
push 0x12
push eax
mov eax, dword [ecx + 0x28]
call eax
add esp, 0xc
mov ebx, eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
mov dword [ecx + 0x1c8], eax
cmp byte [edi + 9], 0
je 0x497545
add dword [edi + 0xc], 0xffffffff
jne 0x497545
mov ecx, edi
call fcn.0043e720
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x49755a
push eax
call dword [0x4fc1d8]
add esp, 4
test ebx, ebx
jne 0x49757f
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
jmp 0x496821
mov ecx, dword [esp + 0x10]
cmp ebx, 0xc
je 0x496323
mov eax, dword [esp + 0x18]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x496323
test ecx, ecx
jne 0x4975ac
mov ebx, dword [esp + 0x10]
movzx eax, byte [ebx + 0x56]
jmp 0x49725e
mov cl, byte [ecx]
mov al, cl
sub al, 0x30
cmp al, 2
ja 0x4975be
movsx ebx, cl
sub ebx, 0x30
jmp 0x497632
mov ebx, dword [esp + 0x14]
mov esi, str.file
mov edx, ebx
nop dword [eax]
movzx edi, byte [esi]
movzx eax, cl
cmp eax, edi
jne 0x4975e5
test cl, cl
jne 0x4975f7
mov ebx, 1
jmp 0x497632
movzx ecx, byte [eax + 0x4f2180]
movzx eax, byte [edi + 0x4f2180]
sub ecx, eax
jne 0x4975fe
mov cl, byte [edx + 1]
inc edx
inc esi
jmp 0x4975d0
mov esi, str.memory
mov edx, ebx
sub esi, ebx
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x49761b
test ecx, ecx
jne 0x49762d
lea ebx, [ecx + 2]
jmp 0x497632
movzx eax, byte [eax + 0x4f2180]
movzx ecx, byte [ecx + 0x4f2180]
sub ecx, eax
jne 0x497630
inc edx
jmp 0x497607
xor ebx, ebx
mov edx, dword [esp + 0x18]
mov esi, dword [edx]
movzx eax, byte [esi + 0x56]
cmp eax, ebx
je 0x49631f
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x497670
cmp byte [esi + 0x55], 0
je 0x497689
cmp byte [ecx + 8], 0
jne 0x497689
call fcn.004413d0
mov eax, dword [esi + 0x10]
mov ecx, esi
mov dword [eax + 0x14], 0
call fcn.0047ae90
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x34]
mov byte [esi + 0x56], bl
call fcn.004279d0
mov ebx, dword [esp + 0x14]
jmp 0x496334
push str.temporary_storage_cannot_be_changed_from_within_a_transaction
push edx
jmp 0x4979be
cmp byte [0x4fc184], 0
je 0x4976b6
push 0xb
call dword [0x4fc1c8]
add esp, 4
test eax, eax
je 0x4976b6
push eax
call dword [0x4fc1d0]
add esp, 4
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x497735
mov eax, dword [0x4feb30]
test eax, eax
je 0x49783f
push eax
mov edx, 1
mov ecx, esi
call fcn.0044f260
mov ecx, dword [esi + 0x6c]
add esp, 4
cmp dword [esi + 0x70], ecx
jg 0x4976fd
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x49783f
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 0x49783f
cmp byte [ecx], 0
je 0x497769
mov eax, dword [esp + 0x10]
lea edx, [esp + 0xc4]
push edx
push 1
push ecx
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x4978b9
cmp dword [esp + 0xc4], eax
je 0x4978b9
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x56], 1
ja 0x4977b5
mov edx, dword [esp + 0x18]
mov esi, dword [edx]
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x4977b5
cmp byte [esi + 0x55], 0
je 0x4977a7
cmp byte [ecx + 8], 0
jne 0x4977a7
call fcn.004413d0
mov eax, dword [esi + 0x10]
mov ecx, esi
mov dword [eax + 0x14], 0
call fcn.0047ae90
jmp 0x4977b5
push str.temporary_storage_cannot_be_changed_from_within_a_transaction
push edx
call fcn.0042b560
add esp, 8
mov esi, dword [0x4feb30]
test esi, esi
je 0x497817
cmp dword [0x4fc180], 0
je 0x49780d
mov eax, dword [0x4fed70]
test eax, eax
je 0x4977db
push eax
call dword [0x4fc1d0]
add esp, 4
push esi
call dword [0x4fc1ac]
sub dword [0x4febf8], eax
add esp, 4
dec dword [0x4fec1c]
push esi
call dword [0x4fc1a4]
mov eax, dword [0x4fed70]
add esp, 4
test eax, eax
je 0x497817
push eax
call dword [0x4fc1d8]
jmp 0x497814
push esi
call dword [0x4fc1a4]
add esp, 4
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0
je 0x497835
push ecx
push 0x4ea9f0
call fcn.0042a470
add esp, 8
mov dword [0x4feb30], eax
jmp 0x49783f
mov dword [0x4feb30], 0
cmp byte [0x4fc184], 0
je 0x49631f
push 0xb
call dword [0x4fc1c8]
jmp 0x49630e
cmp byte [0x4fc184], 0
je 0x49787b
push 0xb
call dword [0x4fc1c8]
add esp, 4
test eax, eax
je 0x49787b
push eax
call dword [0x4fc1d0]
add esp, 4
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x49788d
mov eax, dword [0x4feb2c]
jmp 0x4976c3
cmp byte [ecx], 0
je 0x497906
mov eax, dword [esp + 0x10]
lea edx, [esp + 0xc8]
push edx
push 1
push ecx
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x4978b9
cmp dword [esp + 0xc8], eax
jne 0x497902
push str.not_a_writable_directory
push dword [esp + 0x1c]
call fcn.0042b560
add esp, 8
cmp byte [0x4fc184], 0
je 0x4978ec
push 0xb
call dword [0x4fc1c8]
add esp, 4
test eax, eax
je 0x4978ec
push eax
call dword [0x4fc1d8]
add esp, 4
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x10]
call fcn.004279d0
mov ebx, dword [esp + 0x14]
jmp 0x496334
mov ecx, dword [esp + 0x14]
mov esi, dword [0x4feb2c]
test esi, esi
je 0x49796c
cmp dword [0x4fc180], 0
je 0x49795e
mov eax, dword [0x4fed70]
test eax, eax
je 0x49792c
push eax
call dword [0x4fc1d0]
add esp, 4
push esi
call dword [0x4fc1ac]
sub dword [0x4febf8], eax
add esp, 4
dec dword [0x4fec1c]
push esi
call dword [0x4fc1a4]
mov eax, dword [0x4fed70]
add esp, 4
test eax, eax
je 0x497968
push eax
call dword [0x4fc1d8]
jmp 0x497965
push esi
call dword [0x4fc1a4]
add esp, 4
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0
je 0x497989
push ecx
push 0x4ea9f0
call fcn.0042a470
add esp, 8
mov dword [0x4feb2c], eax
jmp 0x49783f
mov dword [0x4feb2c], 0
jmp 0x49783f
test ecx, ecx
jne 0x4979ab
movzx eax, byte [edi + 8]
cdq
sub eax, 1
sbb edx, ecx
jmp 0x4965e2
mov ecx, dword [esp + 0x10]
cmp byte [ecx + 0x55], 0
jne 0x4979dc
push str.Safety_level_may_not_be_changed_inside_a_transaction
push dword [esp + 0x1c]
call fcn.0042b560
mov ecx, dword [esp + 0x18]
add esp, 8
mov edx, dword [esp + 0x34]
call fcn.004279d0
mov ebx, dword [esp + 0x14]
jmp 0x496334
cmp dword [esp + 0x3c], 1
je 0x496323
mov ecx, dword [esp + 0x14]
xor edx, edx
push 1
call fcn.00495ad0
inc eax
add esp, 4
and eax, 7
mov ecx, 1
cmove eax, ecx
mov byte [edi + 8], al
mov byte [edi + 9], cl
mov ecx, dword [esp + 0x10]
call fcn.00495c60
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x34]
call fcn.004279d0
mov ebx, dword [esp + 0x14]
jmp 0x496334
test ecx, ecx
jne 0x497b01
mov edx, ebx
mov ecx, esi
call fcn.00495bc0
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 0x24]
and ecx, dword [ebx + 8]
and eax, dword [ebx + 0xc]
or ecx, eax
je 0x497a56
mov eax, 1
xor ecx, ecx
jmp 0x497a70
xorps xmm0, xmm0
movlpd qword [esp + 0xa8], xmm0
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0xa8]
push 0xfffffffffffffff3
mov dword [esp + 0xac], eax
mov edx, 0x48
lea eax, [esp + 0xac]
mov dword [esp + 0xb0], ecx
push eax
push ecx
push 1
push ecx
mov ecx, esi
call fcn.0044f670
mov ecx, dword [esi + 0x6c]
add esp, 0x14
cmp dword [esi + 0x70], ecx
jg 0x497ac3
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.0044f120
mov edx, dword [esp + 0x40]
add esp, 0xc
mov ecx, edi
jmp 0x49633a
mov edx, dword [esp + 0x34]
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 ecx, edi
jmp 0x49633a
mov eax, dword [esp + 0x10]
mov edi, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
cmp byte [eax + 0x55], 0
jne 0x497b17
and edi, 0xffffbfff
push 0
mov edx, 1
call fcn.00495ad0
mov ecx, dword [esp + 0x14]
add esp, 4
mov edx, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
mov dword [esp + 0x24], ecx
test al, al
je 0x497b4a
mov eax, dword [esp + 0x10]
or edx, edi
or ecx, ebx
mov ebx, eax
mov dword [eax + 0x20], edx
mov dword [eax + 0x24], ecx
jmp 0x497b7c
mov ecx, edi
mov eax, ebx
not ecx
not eax
and eax, dword [esp + 0x24]
and ecx, edx
mov edx, dword [esp + 0x10]
mov dword [edx + 0x20], ecx
mov dword [edx + 0x24], eax
cmp edi, 0x80000
jne 0x497bb4
test ebx, ebx
jne 0x497bb4
mov dword [edx + 0x208], ebx
mov dword [edx + 0x20c], ebx
mov ebx, edx
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x497bdb
push 0
push 0
push 0
mov edx, 0xa6
mov ecx, esi
call fcn.0044f120
add esp, 0xc
mov ecx, ebx
call fcn.00495c60
mov edx, dword [esp + 0x34]
mov ecx, ebx
call fcn.004279d0
mov ebx, dword [esp + 0x14]
jmp 0x496334
and edi, 1
or edi, 0
je 0x497b7a
mov ecx, dword [esp + 0x14]
mov edx, str.reset
call fcn.0042b700
mov ebx, dword [esp + 0x10]
test eax, eax
jne 0x497b7c
mov ecx, ebx
call fcn.0047ae90
jmp 0x497b7c
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], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, ebx
call fcn.00495c60
mov edx, dword [esp + 0x34]
mov ecx, ebx
call fcn.004279d0
mov ebx, dword [esp + 0x14]
jmp 0x496334
test ecx, ecx
je 0x49631f
mov edi, dword [esp + 0x30]
mov edx, edi
mov ecx, dword [esp + 0x18]
call fcn.00483350
mov ecx, dword [esp + 0x18]
mov edx, 2
push edi
push dword [esp + 0x18]
call fcn.0047aa70
mov edi, eax
add esp, 8
mov dword [esp + 0x74], edi
test edi, edi
je 0x49631f
mov ecx, dword [edi + 8]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x2c], ecx
test ecx, ecx
je 0x497c94
nop word [eax + eax]
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x497c90
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x497c80
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x18]
mov dword [eax + 0x2c], 7
cmp byte [edi + 0x2b], 1
je 0x497cac
cmp word [edi + 0x22], 0
jg 0x497cb5
mov edx, edi
mov ecx, eax
call fcn.0047f0f0
mov ecx, dword [edi + 4]
xor edx, edx
movzx eax, word [edi + 0x22]
xor edi, edi
mov dword [esp + 0x60], edx
mov dword [esp + 0x38], ecx
cmp di, ax
jge 0x49631f
mov dword [esp + 0x20], eax
movzx eax, word [ecx + 0xe]
xor edi, edi
test al, 0x62
je 0x497d0e
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
jne 0x497cf3
inc dword [esp + 0x8c]
jmp 0x497e6e
movzx eax, word [ecx + 0xe]
test al, 0x20
je 0x497d02
mov edi, 2
jmp 0x497d0e
movzx edi, al
and edi, 0x40
or edi, 0x20
shr edi, 5
test al, 1
jne 0x497d16
xor edx, edx
jmp 0x497d59
cmp dword [esp + 0x2c], 0
mov edx, 1
je 0x497d59
mov eax, dword [esp + 0x20]
cwde
mov dword [esp + 0x24], eax
cmp eax, edx
jl 0x497d59
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x24]
mov ecx, dword [eax + 4]
nop word [eax + eax]
movsx eax, word [ecx]
cmp eax, dword [esp + 0x60]
je 0x497d51
inc edx
add ecx, 2
cmp edx, esi
jle 0x497d40
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
movzx eax, word [ecx + 0xc]
mov dword [esp + 0x20], eax
test ax, ax
jne 0x497d6a
xor eax, eax
jmp 0x497daf
mov eax, dword [esp + 0x74]
cmp byte [eax + 0x2b], 0
je 0x497d78
xor eax, eax
jmp 0x497daf
mov eax, dword [eax + 0x34]
test eax, eax
je 0x497daf
mov ebx, dword [esp + 0x20]
movzx ebx, bx
cmp dword [eax], ebx
mov ebx, dword [esp + 0x4c]
jge 0x497d92
xor eax, eax
jmp 0x497daf
mov ecx, dword [esp + 0x20]
movzx eax, cx
mov ecx, dword [esp + 0x74]
lea eax, [eax + eax*4]
mov esi, dword [ecx + 0x34]
mov ecx, dword [esp + 0x38]
mov eax, dword [esi + eax*4 - 0xc]
mov esi, dword [esp + 0x40]
cmp edi, 2
jae 0x497dc1
test eax, eax
je 0x497dc1
mov eax, dword [eax + 8]
mov dword [esp + 0x20], eax
jmp 0x497dc9
mov dword [esp + 0x20], 0
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
mov dword [esp + 0x5c], str.issisii
jne 0x497de1
mov dword [esp + 0x5c], str.issisi
test byte [ecx + 0xe], 4
je 0x497e12
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x64], eax
lea eax, [ecx + 1]
mov dword [esp + 0x24], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x497df6
mov eax, dword [esp + 0x64]
sub ecx, dword [esp + 0x24]
inc eax
add eax, ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x50], eax
jmp 0x497e32
mov eax, dword [ecx + 4]
shr eax, 4
and eax, 0xf
je 0x497e2a
mov eax, dword [eax*4 + 0x4fd1dc]
mov dword [esp + 0x50], eax
jmp 0x497e32
mov dword [esp + 0x50], 0x4e76a1
test byte [ecx + 4], 0xf
mov eax, 0
push edi
push edx
push dword [esp + 0x28]
setne al
push eax
push dword [esp + 0x60]
mov eax, dword [esp + 0x74]
push dword [ecx]
sub eax, dword [esp + 0xa4]
push eax
push dword [esp + 0x78]
push 1
push esi
call fcn.0044f310
mov ecx, dword [esp + 0x60]
add esp, 0x28
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x74]
inc edx
add ecx, 0x10
mov dword [esp + 0x60], edx
mov dword [esp + 0x38], ecx
movzx eax, word [eax + 0x22]
mov edi, eax
cwde
mov dword [esp + 0x20], edi
cmp edx, eax
jl 0x497cd5
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x34]
call fcn.004279d0
mov ebx, dword [esp + 0x14]
jmp 0x496334
mov eax, dword [esp + 0x18]
mov ecx, eax
mov ebx, dword [esp + 0x30]
mov edx, ebx
mov dword [eax + 0x2c], 6
call fcn.00483350
mov edx, dword [esp + 0x10]
mov dword [esp + 0x4c], 0
cmp dword [edx + 0x14], 0
jle 0x4981fd
xor edi, edi
mov dword [esp + 0x38], edi
nop dword [eax + eax]
test ebx, ebx
je 0x497f05
mov eax, dword [edx + 0x10]
mov edx, dword [edi + eax]
test edx, edx
je 0x4981e0
mov ecx, ebx
call fcn.0042b700
test eax, eax
jne 0x4981e0
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x10]
mov edx, dword [edi + eax + 0xc]
add edx, 8
mov ebx, dword [edx + 4]
test ebx, ebx
je 0x498083
nop word [eax + eax]
mov eax, dword [edx + 8]
dec ebx
mov dword [esp + 0x5c], ebx
test eax, eax
je 0x498083
mov ecx, dword [eax + 8]
cmp word [ecx + 0x22], 0
je 0x497f45
mov eax, dword [eax]
test eax, eax
jne 0x497f30
jmp 0x498083
push dword [ecx]
push str.SELECTFROM__w_
push dword [esp + 0x18]
call fcn.0042a380
add esp, 0xc
mov dword [esp + 0x24], eax
test eax, eax
je 0x49803f
push 0
lea ecx, [esp + 0xa8]
mov dword [esp + 0xa8], 0
push ecx
mov ecx, dword [esp + 0x18]
mov edx, eax
push 0
push 0
push 0xffffffffffffffff
call fcn.0049dde0
mov edi, dword [esp + 0xb8]
add esp, 0x14
test edi, edi
je 0x49802e
mov ebx, dword [edi]
test ebx, ebx
jne 0x497fce
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.0042a650
push 0x4f0354
push 0x16101
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.0042a650
add esp, 0x1c
jmp 0x49802a
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x497fdf
push eax
call dword [0x4fc1d0]
add esp, 4
cmp dword [edi + 0x8c], 0
jl 0x497ffc
jg 0x497ff3
cmp dword [edi + 0x88], 0
jbe 0x497ffc
mov edx, edi
mov ecx, ebx
call fcn.004541e0
mov ecx, edi
call fcn.00452060
mov ecx, edi
mov dword [esp + 0x20], eax
call fcn.00452130
cmp byte [ebx + 0x57], 0
mov edx, dword [esp + 0x20]
jne 0x49801c
test edx, edx
je 0x498023
mov ecx, ebx
call fcn.00428210
mov ecx, ebx
call fcn.004d6c50
mov ebx, dword [esp + 0x5c]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
call fcn.004279d0
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x57], 0
je 0x498071
push 0x4e9c94
push dword [eax + 0x10c]
call fcn.0042b560
mov eax, dword [esp + 0x18]
add esp, 8
mov eax, dword [eax + 0x10c]
mov dword [eax + 0xc], 7
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
mov edx, dword [edi + eax + 0xc]
add edx, 8
test ebx, ebx
jne 0x497f20
mov edi, dword [edx + 8]
mov dword [esp + 0x60], edi
test edi, edi
je 0x4981d8
mov eax, dword [esp + 0x14]
mov ebx, dword [edi + 8]
test eax, eax
je 0x4980b6
mov edx, dword [ebx]
test edx, edx
je 0x4981ca
mov ecx, eax
call fcn.0042b700
test eax, eax
jne 0x4981c6
mov al, byte [ebx + 0x2b]
cmp al, 2
jne 0x4980c7
mov dword [esp + 0x50], str.view
jmp 0x4980ed
cmp al, 1
jne 0x4980d5
mov dword [esp + 0x50], str.virtual
jmp 0x4980ed
test dword [ebx + 0x1c], 0x1000
mov ecx, str.shadow
mov eax, str.table
cmove ecx, eax
mov dword [esp + 0x50], ecx
mov eax, dword [ebx]
mov edx, 7
mov dword [esp + 0x2c], eax
test eax, eax
je 0x498179
mov edi, eax
mov ebx, str.sqlite_
mov al, byte [edi]
dec edx
test al, al
je 0x498129
movzx ecx, byte [ebx]
movzx eax, al
mov al, byte [eax + 0x4f2180]
cmp al, byte [ecx + 0x4f2180]
jne 0x498129
inc edi
inc ebx
test edx, edx
jg 0x498107
dec edx
test edx, edx
js 0x498145
movzx eax, byte [ebx]
movzx ecx, byte [eax + 0x4f2180]
movzx eax, byte [edi]
movzx eax, byte [eax + 0x4f2180]
sub eax, ecx
jne 0x498179
mov edi, dword [esp + 0x2c]
mov edx, 0x4eb523
lea ecx, [edi + 7]
call fcn.0042b700
test eax, eax
jne 0x498161
mov edi, str.sqlite_schema
jmp 0x49817d
mov edx, 0x4eb717
lea ecx, [edi + 7]
call fcn.0042b700
test eax, eax
jne 0x49817d
mov edi, str.sqlite_temp_schema
jmp 0x49817d
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + 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 + 0x40]
push eax
mov eax, dword [esp + 0x1c]
push dword [esp + 0x5c]
push edi
mov eax, dword [eax + 0x10]
push dword [ecx + eax]
push str.sssiii
push 1
push esi
call fcn.0044f310
mov edi, dword [esp + 0x84]
add esp, 0x24
mov eax, dword [esp + 0x14]
mov edi, dword [edi]
mov dword [esp + 0x60], edi
test edi, edi
jne 0x498096
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x4c]
add edi, 0x10
mov edx, dword [esp + 0x10]
inc eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x38], edi
cmp eax, dword [edx + 0x14]
jl 0x497ee0
mov ecx, edx
jmp 0x496323
test ecx, ecx
je 0x49631f
push dword [esp + 0x30]
mov edx, ecx
mov ecx, dword [esp + 0x14]
call fcn.0047ac30
mov edi, eax
add esp, 4
test edi, edi
jne 0x498270
push dword [esp + 0x30]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + 2]
push dword [esp + 0x18]
call fcn.0047aa70
add esp, 8
test eax, eax
je 0x49631f
test byte [eax + 0x1c], 0x80
je 0x49631f
mov edi, dword [eax + 8]
test edi, edi
je 0x49631f
mov eax, dword [edi + 0x38]
and al, 3
cmp al, 2
je 0x498268
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x498258
test edi, edi
je 0x49631f
mov edx, dword [edi + 0x18]
mov ecx, 0xffff8000
test edx, edx
je 0x498298
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edx
je 0x498298
nop dword [eax]
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x498290
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
je 0x4982ab
movzx eax, word [edi + 0x34]
mov edx, 6
jmp 0x4982b4
movzx eax, word [edi + 0x32]
mov edx, 3
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
mov dword [ebx + 0x2c], edx
mov edx, ebx
mov eax, dword [edi + 0xc]
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0x7c]
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov ebx, dword [edx + 0x58]
test ebx, eax
jne 0x4982f0
bts ebx, ecx
mov dword [edx + 0x58], ebx
cmp ecx, 1
jne 0x4982f0
mov ecx, edx
call fcn.004832b0
xor ebx, ebx
cmp word [esp + 0x2c], bx
je 0x49631f
nop dword [eax]
mov eax, dword [edi + 4]
movzx eax, word [eax + ebx*2]
movsx edx, ax
test ax, ax
jns 0x498313
xor eax, eax
jmp 0x498321
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 ebx
push str.iisX
push 1
push esi
call fcn.0044f310
mov ecx, dword [esp + 0x64]
add esp, 0x18
mov eax, dword [ecx + 8]
or eax, dword [ecx + 0xc]
je 0x498369
movzx eax, word [edi + 0x32]
cmp ebx, eax
sbb eax, eax
neg eax
push eax
mov eax, dword [edi + 0x20]
push dword [eax + ebx*4]
mov eax, dword [edi + 0x1c]
movzx eax, byte [eax + ebx]
push eax
push str.isiX
push 4
push esi
call fcn.0044f310
add esp, 0x18
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + 0x6c]
mov edx, dword [eax + 0x2c]
cmp dword [esi + 0x70], ecx
jg 0x49838e
push 0
push edx
push 1
mov edx, 0x54
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x4983c1
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
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 + 0x2c]
inc ebx
movzx eax, cx
cmp ebx, eax
jl 0x498300
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x34]
call fcn.004279d0
mov ebx, dword [esp + 0x14]
jmp 0x496334
test ecx, ecx
je 0x49631f
push dword [esp + 0x30]
mov edx, ecx
mov ecx, dword [esp + 0x14]
call fcn.0047a690
mov edi, eax
add esp, 4
test edi, edi
je 0x49631f
mov edx, dword [edi + 0x3c]
mov ecx, 0xffff8000
test edx, edx
je 0x49842f
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edx
je 0x49842f
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x498427
mov ebx, dword [esp + 0x18]
mov dword [ebx + 0x2c], 5
mov eax, dword [ebx + 0x7c]
test eax, eax
cmovne ebx, eax
mov eax, 1
shl eax, cl
mov edx, dword [ebx + 0x58]
test edx, eax
jne 0x498462
bts edx, ecx
mov dword [ebx + 0x58], edx
cmp ecx, 1
jne 0x498462
mov ecx, ebx
call fcn.004832b0
mov edi, dword [edi + 8]
xor ebx, ebx
test edi, edi
je 0x49631f
mov dword [esp + 0xa8], 0x4ee4a8
mov dword [esp + 0xac], 0x4ee4ac
mov dword [esp + 0xb0], 0x4eddfc
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 + 0xac]
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.0044f310
mov edi, dword [edi + 0x14]
add esp, 0x20
inc ebx
test edi, edi
jne 0x498490
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x34]
call fcn.004279d0
mov ebx, dword [esp + 0x14]
jmp 0x496334
mov eax, dword [esp + 0x18]
xor edi, edi
mov edx, dword [esp + 0x10]
mov dword [eax + 0x2c], 3
cmp dword [edx + 0x14], edi
jle 0x4981fd
xor ebx, ebx
nop dword [eax]
mov ecx, dword [edx + 0x10]
mov eax, dword [ecx + ebx + 4]
test eax, eax
je 0x498544
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xf], 0
jne 0x498526
cmp dword [eax], 0x4fdd68
je 0x498526
mov eax, dword [eax + 0xb8]
jmp 0x49852b
mov eax, 0x4f0a18
push eax
push dword [ecx + ebx]
push edi
push 0x4ee4b8
push 1
push esi
call fcn.0044f310
mov edx, dword [esp + 0x28]
add esp, 0x18
inc edi
add ebx, 0x10
cmp edi, dword [edx + 0x14]
jl 0x498500
jmp 0x49631f
mov eax, dword [esp + 0x18]
xor ebx, ebx
mov edx, dword [esp + 0x10]
mov dword [eax + 0x2c], 2
mov edi, dword [edx + 0x1b8]
test edi, edi
je 0x4981fd
mov eax, dword [edi + 8]
push dword [eax]
push ebx
push 0x4ee4bc
push 1
push esi
call fcn.0044f310
mov edi, dword [edi]
add esp, 0x14
inc ebx
test edi, edi
jne 0x498571
jmp 0x49631f
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x18]
mov eax, dword [esp + 0x18]
shr ebx, 5
and ebx, 1
mov dword [eax + 0x2c], 6
mov eax, 0x4fec78
mov dword [esp + 0x20], eax
mov edi, dword [eax]
test edi, edi
je 0x4985da
nop word [eax + eax]
push ebx
push 1
mov edx, edi
mov ecx, esi
call fcn.00495d80
mov edi, dword [edi + 0x24]
add esp, 8
test edi, edi
jne 0x4985c0
mov eax, dword [esp + 0x20]
add eax, 4
mov dword [esp + 0x20], eax
cmp eax, 0x4fecd4
jl 0x4985b4
mov edx, dword [esp + 0x10]
mov edi, dword [edx + 0x1a8]
test edi, edi
je 0x4981fd
nop word [eax + eax]
mov edx, dword [edi + 8]
mov ecx, esi
push ebx
push 0
call fcn.00495d80
mov edi, dword [edi]
add esp, 8
test edi, edi
jne 0x498600
jmp 0x49631f
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov dword [eax + 0x2c], 1
mov edi, dword [edx + 0x18c]
test edi, edi
je 0x4981fd
nop dword [eax + eax]
mov eax, dword [edi + 8]
push dword [eax + 4]
push 0x4e93c4
push 1
push esi
call fcn.0044f310
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x498640
jmp 0x49631f
mov edi, 0x4f2618
push dword [edi]
push 0x4e93c4
push 1
push esi
call fcn.0044f310
add edi, 0x10
add esp, 0x10
cmp edi, str.0123456789ABCDEF
jl 0x498666
jmp 0x49631f
test ecx, ecx
je 0x49631f
push dword [esp + 0x30]
mov edx, ecx
mov ecx, dword [esp + 0x14]
call fcn.0047a690
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
je 0x49631f
cmp byte [eax + 0x2b], 0
jne 0x49631f
mov edi, dword [eax + 0x30]
test edi, edi
je 0x49631f
mov edx, dword [eax + 0x3c]
mov ecx, 0xffff8000
test edx, edx
je 0x4986e8
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edx
je 0x4986e8
nop
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x4986e0
mov ebx, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x2c], edx
mov dword [ebx + 0x2c], 8
mov eax, dword [ebx + 0x7c]
test eax, eax
cmovne ebx, eax
mov eax, 1
mov dword [esp + 0x18], ebx
shl eax, cl
mov ebx, dword [ebx + 0x58]
test ebx, eax
jne 0x498730
mov eax, dword [esp + 0x18]
bts ebx, ecx
mov dword [eax + 0x58], ebx
cmp ecx, 1
jne 0x498730
mov ecx, eax
call fcn.004832b0
xor edx, edx
nop dword [eax + eax]
xor ebx, ebx
cmp dword [edi + 0x14], ebx
jle 0x4987f3
lea edx, [edi + 0x24]
mov dword [esp + 0x20], edx
movzx eax, byte [edi + 0x1a]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x49874e
jmp dword [eax*4 + 0x49c2a0]
mov ecx, str.SET_NULL
jmp 0x498776
mov ecx, str.SET_DEFAULT
jmp 0x498776
mov ecx, str.CASCADE
jmp 0x498776
mov ecx, str.RESTRICT
jmp 0x498776
mov ecx, str.NO_ACTION
movzx eax, byte [edi + 0x19]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x498782
jmp dword [eax*4 + 0x49c2b0]
mov eax, str.SET_NULL
jmp 0x4987aa
mov eax, str.SET_DEFAULT
jmp 0x4987aa
mov eax, str.CASCADE
jmp 0x4987aa
mov eax, str.RESTRICT
jmp 0x4987aa
mov eax, str.NO_ACTION
push str.NONE
push eax
mov eax, dword [esp + 0x2c]
push ecx
push dword [edx + 4]
mov ecx, dword [edx]
mov eax, dword [eax + 4]
add ecx, ecx
push dword [eax + ecx*8]
push dword [edi + 8]
push ebx
push dword [esp + 0x48]
push str.iissssss
push 1
push esi
call fcn.0044f310
mov edx, dword [esp + 0x4c]
inc ebx
add edx, 8
add esp, 0x2c
mov dword [esp + 0x20], edx
cmp ebx, dword [edi + 0x14]
jl 0x498742
mov edx, dword [esp + 0x2c]
mov edi, dword [edi + 4]
inc edx
mov dword [esp + 0x2c], edx
test edi, edi
jne 0x498730
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x34]
call fcn.004279d0
mov ebx, dword [esp + 0x14]
jmp 0x496334
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov eax, dword [ebx + 0x2c]
lea ecx, [eax + 1]
add eax, 5
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x3c]
mov dword [ebx + 0x2c], eax
add ecx, ecx
mov dword [esp + 0x70], eax
mov eax, dword [edx + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x4981fd
jmp 0x498854
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x498875
push dword [esp + 0x30]
xor edx, edx
mov ecx, ebx
push eax
call fcn.0047aa70
mov edx, dword [esp + 0x18]
add esp, 8
xor ecx, ecx
jmp 0x49887a
mov eax, dword [ecx + 8]
mov ecx, dword [ecx]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x6c], eax
test eax, eax
je 0x499012
cmp byte [eax + 0x2b], 0
jne 0x499012
cmp dword [eax + 0x30], 0
je 0x499012
mov ecx, dword [eax + 0x3c]
mov edi, 0xffff8000
test ecx, ecx
je 0x4988be
mov eax, dword [edx + 0x10]
xor edi, edi
add eax, 0xc
cmp dword [eax], ecx
je 0x4988be
lea eax, [eax + 0x10]
inc edi
cmp dword [eax], ecx
jne 0x4988b6
mov eax, dword [edx + 0x10]
mov ecx, edi
shl ecx, 4
mov edx, ebx
mov dword [esp + 0x24], ecx
mov eax, dword [ecx + eax]
mov ecx, edi
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0x7c]
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov ebx, dword [edx + 0x58]
test ebx, eax
jne 0x4989f8
bts ebx, edi
mov dword [edx + 0x58], ebx
cmp edi, 1
jne 0x498a01
mov ecx, edx
call fcn.004832b0
mov ebx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x18]
movsx eax, word [ebx + 0x22]
add eax, dword [esp + 0x70]
cmp dword [ecx + 0x2c], eax
jge 0x49891d
mov dword [ecx + 0x2c], eax
push 0x70
push ebx
push edi
xor edx, edx
call fcn.0048e690
mov edx, dword [esp + 0x54]
add esp, 0xc
mov ecx, esi
push dword [ebx]
call fcn.0044f260
mov ecx, dword [ebx + 0x30]
add esp, 4
mov dword [esp + 0x2c], ecx
mov eax, 1
mov dword [esp + 0x38], eax
test ecx, ecx
je 0x498ae2
mov eax, edi
shl eax, 4
mov dword [esp + 0x24], eax
nop dword [eax]
mov edx, dword [ecx + 8]
push dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
call fcn.0047a690
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x498ac2
mov dword [esp + 0x74], 0
cmp edi, 1
je 0x4989b6
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov eax, dword [esp + 0x24]
mov ecx, dword [ecx + 0x10]
mov eax, dword [ecx + eax + 4]
cmp byte [eax + 9], 0
je 0x4989b6
push dword [ebx]
mov ecx, dword [esp + 0x1c]
mov edx, edi
push 0
push dword [ebx + 0x14]
call fcn.00479c30
add esp, 0xc
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x74]
push 0
push eax
push dword [esp + 0x34]
mov edx, ebx
call fcn.0048b430
add esp, 0xc
test eax, eax
jne 0x49631f
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x38]
test eax, eax
jne 0x498a3a
mov ecx, dword [esp + 0x18]
push 0x70
push ebx
push edi
call fcn.0048e690
add esp, 0xc
jmp 0x498ac2
cmp edi, 1
je 0x498905
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 4]
cmp byte [eax + 9], 0
je 0x498909
push dword [ebx]
mov ecx, dword [esp + 0x1c]
mov edx, edi
push 0
push dword [ebx + 0x14]
call fcn.00479c30
add esp, 0xc
jmp 0x498909
mov ecx, dword [esi + 0x6c]
mov ebx, dword [eax + 0x2c]
cmp dword [esi + 0x70], ecx
jg 0x498a59
push edi
push ebx
push edx
mov edx, 0x70
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x498a80
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x70
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x18]
mov ecx, eax
mov edx, dword [esp + 0x74]
mov ebx, dword [eax + 8]
call fcn.00483aa0
mov edx, eax
test edx, edx
je 0x498ac2
mov ecx, dword [ebx]
cmp byte [ecx + 0x57], 0
je 0x498ab0
push edx
mov edx, 0xfffffff8
call fcn.0044fcf0
add esp, 4
jmp 0x498ac2
mov eax, dword [ebx + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf8
mov dword [eax + ecx*4 - 4], edx
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x38]
inc eax
mov dword [esp + 0x38], eax
mov ecx, dword [ecx + 4]
mov dword [esp + 0x2c], ecx
test ecx, ecx
jne 0x498960
mov ebx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 0x28], eax
jge 0x498aee
mov dword [ecx + 0x28], eax
mov edx, dword [esi + 0x6c]
mov dword [esp + 0x4c], edx
cmp dword [esi + 0x70], edx
jg 0x498b15
push 0
push 0
push 0
mov edx, 0x24
mov ecx, esi
call fcn.0044f120
add esp, 0xc
mov dword [esp + 0x4c], eax
jmp 0x498b48
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x24
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 edi, dword [ebx + 0x30]
mov dword [esp + 0x44], 1
mov dword [esp + 0x54], edi
test edi, edi
je 0x498f98
nop
push dword [esp + 0x30]
mov edx, dword [edi + 8]
mov ecx, dword [esp + 0x14]
call fcn.0047a690
xor edx, edx
mov dword [esp + 0x8c], eax
add esp, 4
mov dword [esp + 0x74], 0
mov dword [esp + 0x38], edx
test eax, eax
je 0x498ba9
lea ecx, [esp + 0x38]
mov edx, eax
push ecx
lea ecx, [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x20]
push edi
call fcn.0048b430
mov edx, dword [esp + 0x44]
add esp, 0xc
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x70]
dec dword [eax + 0x38]
mov ebx, dword [eax + 0x38]
mov eax, dword [edi + 0x14]
add eax, ecx
cmp dword [esi + 0x2c], eax
mov esi, dword [esp + 0x40]
jge 0x498bd4
mov esi, dword [esp + 0x18]
mov dword [esi + 0x2c], eax
mov esi, dword [esp + 0x40]
mov edi, dword [edi + 0x14]
mov dword [esp + 0x2c], 0
test edi, edi
jle 0x498c9a
mov eax, dword [esp + 0x54]
mov edi, ecx
add eax, 0x24
xor ecx, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x5c], ecx
nop word [eax + eax]
test edx, edx
je 0x498c07
lea eax, [ecx + edx]
mov edx, dword [esp + 0x6c]
mov ecx, esi
push edi
push dword [eax]
push 0
call fcn.0046d1d0
mov ecx, dword [esi + 0x6c]
add esp, 0xc
cmp dword [esi + 0x70], ecx
jg 0x498c37
push 0
push ebx
push edi
mov edx, 0x32
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x498c62
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], edi
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x54]
inc edi
mov eax, dword [esp + 0x20]
inc dword [esp + 0x2c]
add eax, 8
mov dword [esp + 0x20], eax
mov edx, dword [ecx + 0x14]
mov ecx, dword [esp + 0x5c]
add ecx, 4
mov dword [esp + 0x24], edx
cmp dword [esp + 0x2c], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x5c], ecx
jl 0x498c00
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x74]
test eax, eax
je 0x498d90
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x20], ecx
test ecx, ecx
jne 0x498cc0
mov ecx, dword [esp + 0x10]
mov edx, eax
call fcn.0048e820
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x54]
mov edx, dword [esi + 0x6c]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x24], eax
cmp dword [esi + 0x70], edx
jg 0x498ced
push 0
push eax
push dword [esp + 0x78]
mov edx, 0x60
mov ecx, esi
call fcn.0044f120
add esp, 0xc
mov edx, eax
jmp 0x498d24
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x70]
mov dword [eax + ecx*4], 0x60
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x24]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push edi
push dword [esp + 0x24]
mov ecx, esi
call fcn.0044fec0
mov edi, dword [esp + 0x5c]
add esp, 8
mov ecx, dword [esi + 0x6c]
mov edx, dword [edi + 0x14]
cmp dword [esi + 0x70], ecx
jg 0x498d60
push edx
push dword [esp + 0x74]
mov edx, 0x1d
mov ecx, esi
push ebx
push dword [esp + 0x50]
call fcn.0044f160
add esp, 0x10
jmp 0x498e43
mov edi, dword [esp + 0x44]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xfd1d
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x70]
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], edx
jmp 0x498e3f
cmp dword [esp + 0x88], 0
je 0x498e3f
mov ecx, dword [esi + 0x6c]
lea edx, [ecx + 2]
cmp dword [esi + 0x70], ecx
jg 0x498dc3
push dword [esp + 0x70]
mov ecx, esi
push edx
push dword [esp + 0x4c]
mov edx, 0x1e
call fcn.0044f120
add esp, 0xc
jmp 0x498df2
mov edi, dword [esp + 0x44]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x1e
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x70]
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x498e10
push 0
push ebx
push 0
mov edx, 9
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x498e3f
lea eax, [ecx + 1]
mov dword [esi + 0x6c], 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], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [esp + 0x54]
mov edx, dword [esp + 0x6c]
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
test byte [edx + 0x1c], 0x80
jne 0x498e87
cmp eax, ecx
jg 0x498e72
mov eax, dword [esp + 0x48]
mov edx, 0x87
push 0
inc eax
mov ecx, esi
push eax
push 0
call fcn.0044f120
add esp, 0xc
jmp 0x498ede
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 0x498eb9
cmp eax, ecx
jg 0x498ea6
mov eax, dword [esp + 0x48]
mov edx, 0x4b
push 0
inc eax
mov ecx, esi
push eax
push 0
call fcn.0044f120
add esp, 0xc
jmp 0x498ede
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 + 0x48]
mov edi, dword [esp + 0x54]
inc edx
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 [esp + 0x44]
dec eax
push eax
push dword [edi + 8]
mov eax, dword [esp + 0x50]
push 0x4ee4d4
add eax, 2
push eax
push esi
call fcn.0044f310
mov ecx, dword [esi + 0x6c]
add esp, 0x14
cmp dword [esi + 0x70], ecx
jg 0x498f1e
push 0
push 4
push dword [esp + 0x50]
mov edx, 0x54
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x498f51
mov edx, dword [esp + 0x48]
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 0x498f6b
push ebx
mov edx, esi
call fcn.0044f970
add esp, 4
jmp 0x498f74
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + ebx*4], eax
mov edx, dword [esp + 0x38]
test edx, edx
je 0x498f85
mov ecx, dword [esp + 0x10]
call fcn.004279d0
mov edi, dword [edi + 4]
inc dword [esp + 0x44]
mov dword [esp + 0x54], edi
test edi, edi
jne 0x498b60
mov ebx, dword [esp + 0x4c]
mov ecx, dword [esi + 0x6c]
lea edx, [ebx + 1]
cmp dword [esi + 0x70], ecx
jg 0x498fbd
push 0
push edx
push 0
mov edx, 0x27
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x498fec
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 0x498ffe
mov eax, 0x4fec48
jmp 0x499007
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x64]
mov ebx, dword [esp + 0x18]
mov dword [eax + 8], edx
test ecx, ecx
jne 0x498850
jmp 0x49631f
test ecx, ecx
je 0x49631f
push 0
mov edx, 1
call fcn.00495ad0
mov ecx, dword [esp + 0x14]
xor edx, edx
add esp, 4
test al, al
setne dl
call fcn.0048b1d0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x34]
call fcn.004279d0
mov ebx, dword [esp + 0x14]
jmp 0x496334
mov ebx, dword [esp + 0x3c]
xor eax, eax
mov edi, dword [esp + 0x18]
or edx, 0xffffffff
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x34]
movzx eax, byte [eax]
mov al, byte [eax + 0x4f2180]
mov byte [esp + 0x6b], al
mov eax, dword [esp + 0x48]
cmp dword [eax], 0
mov eax, 0x64
mov dword [edi + 0x2c], 6
cmove ebx, edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x50], eax
test ecx, ecx
je 0x4990fd
lea edx, [esp + 0x50]
call fcn.0042c8f0
test eax, eax
je 0x4990c7
mov eax, dword [esp + 0x50]
mov dword [esp + 0x2c], eax
test eax, eax
jg 0x4990fd
mov eax, 0x64
jmp 0x4990f9
test ebx, ebx
js 0x4990db
mov eax, dword [esp + 0x10]
mov ecx, ebx
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8]
jmp 0x4990dd
xor eax, eax
push eax
push dword [esp + 0x18]
xor edx, edx
mov ecx, edi
call fcn.0047aa70
mov dword [esp + 0x94], eax
add esp, 8
mov eax, dword [esp + 0x50]
mov dword [esp + 0x2c], eax
mov ecx, dword [esi + 0x6c]
lea edx, [eax - 1]
cmp dword [esi + 0x70], ecx
jg 0x49911e
push 0
push 1
push edx
mov edx, 0x47
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x49914d
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x47
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 + 0x10]
xor edx, edx
mov dword [esp + 0x74], edx
lea ebx, [edx + 1]
cmp dword [eax + 0x14], edx
jle 0x49957b
mov ecx, dword [esp + 0x3c]
lea eax, [esi + 0x70]
mov dword [esp + 0x28], eax
lea eax, [esi + 0x6c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x94], 0x10
xor ebx, ebx
test ecx, ecx
js 0x499192
cmp edx, ecx
jne 0x499562
mov eax, dword [edi + 0x7c]
mov edx, edi
mov ecx, dword [esp + 0x74]
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov edi, dword [edx + 0x58]
test edi, eax
jne 0x4991c4
bts edi, ecx
mov dword [edx + 0x58], edi
cmp ecx, 1
jne 0x4991c4
mov ecx, edx
call fcn.004832b0
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x18]
add ecx, ecx
xor edx, edx
mov byte [eax + 0x17], bl
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
mov dword [esp + 0x20], eax
mov edi, dword [eax + 0x10]
test edi, edi
je 0x499556
mov ecx, dword [esp + 0x8c]
mov eax, dword [edi + 8]
test ecx, ecx
je 0x4991fb
cmp ecx, eax
jne 0x499225
test byte [eax + 0x1c], 0x80
jne 0x499202
inc edx
mov eax, dword [eax + 8]
xor ecx, ecx
test eax, eax
je 0x499219
nop dword [eax + eax]
mov eax, dword [eax + 0x14]
inc edx
inc ecx
test eax, eax
jne 0x499210
cmp ecx, ebx
cmovg ebx, ecx
mov ecx, dword [esp + 0x8c]
mov edi, dword [edi]
test edi, edi
jne 0x4991f0
mov dword [esp + 0x60], ebx
test edx, edx
je 0x499556
test ecx, ecx
lea eax, [edx + 1]
mov ecx, dword [esp + 0x10]
cmove eax, edx
push edi
lea eax, [eax*4 + 4]
push eax
call fcn.00427e60
mov edi, eax
add esp, 8
test edi, edi
je 0x499576
xor edx, edx
cmp dword [esp + 0x8c], edx
je 0x499275
mov edx, 1
mov dword [edi + 4], 0
mov ebx, dword [esp + 0x20]
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x4992c8
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x8c]
mov dword [esp + 0x60], eax
nop
mov ecx, dword [ebx + 8]
test esi, esi
je 0x49929b
cmp esi, ecx
jne 0x4992be
test byte [ecx + 0x1c], 0x80
jne 0x4992a8
mov eax, dword [ecx + 0x14]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x4992be
nop
mov eax, dword [ecx + 0x2c]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x4992b0
mov ebx, dword [ebx]
test ebx, ebx
jne 0x499290
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x60]
add eax, 8
mov dword [edi], edx
cmp dword [ecx + 0x2c], eax
jge 0x4992dd
mov dword [ecx + 0x2c], eax
mov eax, dword [esp + 0x28]
mov byte [ecx + 0x13], 0
mov dword [ecx + 0x1c], 0
mov ecx, dword [esp + 0x1c]
mov ebx, dword [ecx]
cmp dword [eax], ebx
jg 0x49930e
push 1
push edx
push 2
mov edx, 0x9b
mov ecx, esi
call fcn.0044f120
add esp, 0xc
mov ebx, eax
jmp 0x499340
lea eax, [ebx + 1]
mov dword [ecx], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0x9b
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 1
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x499358
push edi
mov edx, 0xfffffff2
call fcn.0044fcf0
add esp, 4
jmp 0x49938b
test ebx, ebx
jns 0x499363
mov eax, dword [esp + 0x1c]
mov ebx, dword [eax]
dec ebx
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x499384
push 0xfffffffffffffff2
push edi
mov edx, eax
mov ecx, esi
call fcn.0044fdf0
add esp, 8
jmp 0x49938b
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xf2
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebx]
test eax, eax
jle 0x4993a7
mov ecx, dword [esp + 0x74]
movzx edx, cl
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov eax, dword [esp + 0x28]
mov edi, dword [ebx]
cmp dword [eax], edi
jg 0x4993ca
push 0
push 0
push 2
mov edx, 0x32
mov ecx, esi
call fcn.0044f120
add esp, 0xc
mov edi, eax
jmp 0x4993fc
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 + 0x74]
add ecx, ecx
mov eax, dword [edx + 0x10]
push dword [eax + ecx*8]
push str._in_database__s__n
push edx
call fcn.0042a380
mov ecx, dword [esp + 0x28]
mov ebx, eax
mov eax, dword [esp + 0x34]
add esp, 0xc
mov edx, dword [ecx]
cmp dword [eax], edx
jg 0x499443
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.0044f120
add esp, 0xc
mov edx, eax
jmp 0x499479
lea eax, [edx + 1]
mov dword [ecx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x499491
push ebx
mov edx, 0xfffffffa
call fcn.0044fcf0
add esp, 4
jmp 0x4994c8
test edx, edx
jns 0x49949c
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x4994bd
push 0xfffffffffffffffa
push ebx
mov edx, eax
mov ecx, esi
call fcn.0044fdf0
add esp, 8
jmp 0x4994c8
test ebx, ebx
je 0x4994c8
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0xfa
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x4994ed
push 3
push 3
push 2
mov edx, 0x6f
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x49951f
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
mov ecx, esi
call fcn.00495e20
mov eax, dword [esi]
mov edx, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x499537
mov eax, 0x4fec48
jmp 0x499540
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]
mov edi, dword [eax + 0x10]
mov dword [esp + 0x20], edi
test edi, edi
jne 0x4995e4
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x74]
inc ebx
mov edx, ebx
mov dword [esp + 0x74], ebx
cmp ebx, dword [eax + 0x14]
jl 0x499184
mov ebx, 1
push ecx
push 0x4f4f54
mov edx, 7
mov ecx, esi
call fcn.0044fbe0
mov edx, eax
add esp, 8
test edx, edx
je 0x4995be
sub ebx, dword [esp + 0x2c]
mov ecx, str.unknown_error
mov eax, dword [str.database_disk_image_is_malformed]
test eax, eax
mov dword [edx + 8], ebx
mov byte [edx + 0x29], 0xff
cmovne ecx, eax
mov dword [edx + 0x38], 0x4ee638
mov byte [edx + 0x65], 0xff
mov dword [edx + 0x74], ecx
mov eax, dword [esi]
mov ecx, dword [esi + 0x6c]
sub ecx, 2
cmp byte [eax + 0x57], 0
mov eax, 0x4fec48
jne 0x4995d4
mov eax, dword [esi + 0x68]
mov dword [eax + 0xc], ecx
jmp 0x49631f
mov edi, dword [esp + 0x20]
mov edi, dword [edi + 8]
mov dword [esp + 0x58], edi
mov dword [esp + 0x24], 0
mov dword [esp + 0x70], 0xffffffff
cmp byte [edi + 0x2b], 0
jne 0x49b58d
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x499618
cmp eax, edi
jne 0x49b58d
cmp byte [esp + 0x6b], 0x71
je 0x499712
test byte [edi + 0x1c], 0x80
je 0x499712
mov ecx, dword [edi + 8]
mov dword [esp + 0x6c], ecx
test ecx, ecx
je 0x49964c
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x499648
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x499638
mov dword [esp + 0x6c], ecx
movzx ecx, word [ecx + 0x32]
cmp ecx, 1
jne 0x499681
mov ecx, dword [esp + 0x18]
mov al, byte [ecx + 0x13]
test al, al
jne 0x49966c
inc dword [ecx + 0x2c]
mov eax, dword [ecx + 0x2c]
mov dword [esp + 0x7c], eax
jmp 0x4996ae
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov eax, dword [ecx + eax*4 + 0xa0]
mov dword [esp + 0x7c], eax
jmp 0x4996ae
mov edi, dword [esp + 0x18]
mov edx, dword [edi + 0x1c]
mov eax, dword [edi + 0x20]
mov dword [esp + 0x7c], eax
cmp ecx, edx
jg 0x49969f
add eax, ecx
sub edx, ecx
mov dword [edi + 0x20], eax
mov dword [edi + 0x1c], edx
jmp 0x4996ae
mov eax, dword [edi + 0x2c]
lea edx, [eax + 1]
add eax, ecx
mov dword [esp + 0x7c], edx
mov dword [edi + 0x2c], eax
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0x28]
dec edx
mov ecx, dword [ebx]
movzx eax, word [eax + 0x32]
add edx, eax
cmp dword [edi], ecx
jg 0x4996e2
push edx
push dword [esp + 0x80]
mov edx, 0x4b
mov ecx, esi
push 1
call fcn.0044f120
add esp, 0xc
jmp 0x499726
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x7c]
mov dword [eax + ecx*4], 0x4b
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x499726
mov edi, dword [esp + 0x28]
mov dword [esp + 0x6c], 0
mov dword [esp + 0x7c], 0
mov ebx, dword [esp + 0x58]
lea eax, [esp + 0x38]
mov ecx, dword [esp + 0x18]
mov edx, ebx
push eax
lea eax, [esp + 0x7c]
push eax
push 0
push 1
push 0
push 0x70
call fcn.00493520
mov edx, dword [esp + 0x34]
add esp, 0x18
mov ecx, dword [edx]
cmp dword [edi], ecx
jg 0x49976f
push 0
push 7
push 0
mov edx, 0x47
mov ecx, esi
call fcn.0044f120
mov edx, dword [esp + 0x28]
add esp, 0xc
jmp 0x4997a5
mov ebx, dword [esp + 0x58]
lea eax, [ecx + 1]
mov dword [edx], 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 ebx, dword [ebx + 8]
test ebx, ebx
je 0x499813
mov edi, 8
mov eax, dword [esp + 0x28]
mov ecx, dword [edx]
cmp dword [eax], ecx
jg 0x4997d5
push 0
push edi
push 0
mov edx, 0x47
mov ecx, esi
call fcn.0044f120
mov edx, dword [esp + 0x28]
add esp, 0xc
jmp 0x499807
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x40]
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 ebx, dword [ebx + 0x14]
inc edi
test ebx, ebx
jne 0x4997b1
mov edi, dword [esp + 0x28]
mov ecx, dword [edx]
cmp dword [edi], ecx
jg 0x499839
push 0
push 0
push dword [esp + 0x80]
mov edx, 0x24
mov ecx, esi
call fcn.0044f120
mov edx, dword [esp + 0x28]
add esp, 0xc
jmp 0x49986b
mov ebx, dword [esp + 0x78]
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edx]
mov dword [esp + 0x5c], ecx
cmp dword [edi], ecx
jg 0x499890
push 0
push 1
push 7
mov edx, 0x56
mov ecx, esi
call fcn.0044f120
add esp, 0xc
mov dword [esp + 0x5c], eax
jmp 0x4998c2
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
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
mov ebx, dword [esp + 0x58]
test byte [ebx + 0x1c], 0x80
jne 0x499905
movsx edi, word [ebx + 0x22]
or ecx, 0xffffffff
test edi, edi
jle 0x4998f3
mov edx, dword [ebx + 4]
add edx, 0xe
nop dword [eax]
test byte [edx], 0x20
lea eax, [ecx + 1]
lea edx, [edx + 0x10]
cmovne eax, ecx
mov ecx, eax
sub edi, 1
jne 0x4998e0
movsx eax, word [ebx + 0x20]
lea edx, [ecx - 1]
mov edi, dword [esp + 0x28]
cmp ecx, eax
cmovne edx, ecx
jmp 0x499925
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x499920
nop dword [eax]
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x499920
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x499910
movzx edx, word [ecx + 0x34]
dec edx
mov ebx, dword [esp + 0x1c]
test edx, edx
js 0x4999b1
mov ecx, dword [ebx]
cmp dword [edi], ecx
jg 0x499952
push 3
push edx
push dword [esp + 0x80]
mov edx, 0x5e
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x499980
mov edi, dword [esp + 0x78]
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 0x49998f
mov eax, 0x4fec48
jmp 0x49999d
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 0x4999b1
cmp byte [eax], 0x5e
jne 0x4999b1
mov ecx, 0x80
or word [eax + 2], cx
cmp byte [esp + 0x6b], 0x71
je 0x499bd0
mov ecx, dword [esp + 0x6c]
test ecx, ecx
je 0x499bd0
mov eax, dword [esp + 0x28]
mov edi, dword [ebx]
movzx edx, word [ecx + 0x32]
cmp dword [eax], edi
jg 0x4999fa
push edx
push dword [esp + 0x80]
mov edx, 0x29
mov ecx, esi
push 0
push dword [esp + 0x84]
call fcn.0044f160
add esp, 0x10
mov edi, eax
jmp 0x499a2c
lea eax, [edi + 1]
mov dword [ebx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x78]
mov dword [eax + ecx*4], 0xfd29
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x7c]
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], esi
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [esp + 0x28]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x499a52
push 0
push 0
push dword [esp + 0x84]
mov edx, 0x32
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x499a84
mov edx, dword [esp + 0x7c]
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 + 0x58]
push dword [eax]
push str.row_not_in_PRIMARY_KEY_order_for__s
push dword [esp + 0x18]
call fcn.0042a380
mov ecx, dword [esp + 0x28]
mov ebx, eax
mov eax, dword [esp + 0x34]
add esp, 0xc
mov edx, dword [ecx]
cmp dword [eax], edx
jg 0x499ac4
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.0044f120
add esp, 0xc
mov edx, eax
jmp 0x499afa
lea eax, [edx + 1]
mov dword [ecx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x499b12
push ebx
mov edx, 0xfffffffa
call fcn.0044fcf0
add esp, 4
jmp 0x499b49
test edx, edx
jns 0x499b1d
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x499b3e
push 0xfffffffffffffffa
push ebx
mov edx, eax
mov ecx, esi
call fcn.0044fdf0
add esp, 8
jmp 0x499b49
test ebx, ebx
je 0x499b49
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0xfa
mov ecx, esi
call fcn.00495e20
mov eax, dword [esi]
mov ebx, dword [esp + 0x1c]
cmp byte [eax + 0x57], 0
mov edx, dword [ebx]
je 0x499b65
mov eax, 0x4fec48
jmp 0x499b6e
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 0x499b82
mov eax, 0x4fec50
jmp 0x499b8e
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
add eax, 0x1c
mov ecx, dword [esp + 0x6c]
xor edi, edi
mov dword [eax], edx
xor eax, eax
cmp ax, word [ecx + 0x32]
jae 0x499bd0
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
mov edx, ecx
add eax, edi
mov ecx, esi
push eax
push edi
push ebx
call fcn.0046cf60
mov ecx, dword [esp + 0x78]
inc edi
add esp, 0xc
movzx eax, word [ecx + 0x32]
cmp edi, eax
jl 0x499ba6
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x58]
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x54], edx
movzx edi, word [eax + 0x1e]
and edi, 1
mov dword [esp + 0x64], edi
cmp cx, word [eax + 0x22]
jge 0x49a725
mov ebx, dword [esp + 0x58]
xor eax, eax
mov dword [esp + 0x4c], eax
nop dword [eax + eax]
mov ecx, dword [ebx + 4]
add ecx, eax
movsx eax, word [ebx + 0x20]
mov dword [esp + 0x60], ecx
cmp edx, eax
je 0x49a703
test edi, edi
je 0x499c2e
mov eax, dword [ecx + 4]
and eax, 0xf0
cmp dword [esp + 0x94], eax
sbb eax, eax
neg eax
jmp 0x499c37
xor eax, eax
cmp byte [ecx + 8], 0x41
setg al
test byte [ecx + 4], 0xf
mov dword [esp + 0x50], eax
jne 0x499c49
test eax, eax
je 0x49a703
test byte [ecx + 0xe], 0x20
mov dword [esp + 0x48], 5
je 0x499c7c
push 3
push edx
push dword [esp + 0x80]
mov edx, ebx
mov ecx, esi
call fcn.0046d1d0
add esp, 0xc
or ecx, 0xffffffff
mov dword [esp + 0x30], ecx
lea ebx, [ecx + 4]
jmp 0x499d9c
cmp word [ecx + 0xc], 0
je 0x499d3e
mov edi, dword [esp + 0x10]
mov dword [esp + 0xa0], 0
mov al, byte [ecx + 8]
mov byte [esp + 0x98], al
mov al, byte [edi + 0x54]
mov byte [esp + 0x9c], al
movzx eax, word [ecx + 0xc]
test ax, ax
je 0x499d3e
cmp byte [ebx + 0x2b], 0
jne 0x499d3e
mov ecx, dword [ebx + 0x34]
test ecx, ecx
je 0x499d3e
cmp dword [ecx], eax
jl 0x499d3e
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 - 0xc]
test edx, edx
je 0x499d3a
push ecx
lea eax, [esp + 0xa4]
mov ecx, edi
push eax
push dword [esp + 0xa0]
push dword [esp + 0xa8]
call fcn.0044e870
mov edi, dword [esp + 0xb0]
add esp, 0x10
test edi, edi
je 0x499d3a
movzx ecx, word [edi + 0x10]
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x4f4f70]
mov dword [esp + 0x48], eax
test ecx, 0x9000
jne 0x499d29
cmp dword [edi + 0x18], 0
je 0x499d30
mov ecx, edi
call fcn.0044d830
mov ecx, dword [edi + 0x14]
mov edx, edi
call fcn.004279d0
mov edx, dword [esp + 0x54]
test byte [ebx + 0x1c], 0x80
mov eax, dword [esp + 0x78]
mov dword [esp + 0x30], eax
je 0x499d8e
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x499d63
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x499d63
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x499d53
movzx edi, word [ecx + 0x34]
xor edx, edx
test edi, edi
je 0x499d84
mov eax, dword [esp + 0x54]
movzx ebx, ax
mov eax, dword [ecx + 4]
cmp bx, word [eax]
je 0x499d89
inc edx
add eax, 2
cmp edx, edi
jl 0x499d77
or eax, 0xffffffff
jmp 0x499d95
movzx eax, dx
jmp 0x499d95
mov ecx, ebx
call fcn.0047b7d0
mov ecx, dword [esp + 0x30]
movsx ebx, ax
mov edx, dword [esp + 0x18]
mov dword [esp + 0x44], ebx
mov eax, dword [edx + 0x38]
dec eax
mov dword [esp + 0x88], eax
lea edi, [eax - 1]
mov dword [edx + 0x38], edi
mov edx, dword [esp + 0x60]
mov dword [esp + 0x80], edi
test byte [edx + 4], 0xf
je 0x49a0a7
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov edx, dword [edi]
mov dword [esp + 0x90], edx
cmp dword [eax], edx
jg 0x499e06
push dword [esp + 0x48]
mov edx, 0x12
push ebx
push dword [esp + 0x88]
push ecx
mov ecx, esi
call fcn.0044f160
mov edx, eax
add esp, 0x10
mov dword [esp + 0x90], edx
jmp 0x499e3e
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edx, dword [esp + 0x30]
mov dword [eax + ecx*4], 0xfd12
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x80]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], edx
mov edx, dword [esp + 0x90]
cmp dword [esp + 0x30], 0
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 0x6c]
jge 0x499e6a
test eax, eax
jle 0x499e63
lea ecx, [eax + eax*4]
mov ebx, 0xf
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], bx
mov ebx, edx
jmp 0x499f2b
test eax, eax
jle 0x499e7e
lea ecx, [eax + eax*4]
mov edx, 0xd
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov eax, dword [esp + 0x28]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x499ea0
push 3
push ebx
push dword [esp + 0x38]
mov edx, 0x5e
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x499ece
mov edx, dword [esp + 0x30]
lea eax, [ecx + 1]
mov dword [edi], 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], ebx
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x28]
mov ebx, dword [edi]
cmp dword [eax], ebx
jg 0x499ef6
push 0
push dword [esp + 0x84]
mov edx, 0x33
mov ecx, esi
push 3
call fcn.0044f120
add esp, 0xc
mov ebx, eax
jmp 0x499f2b
mov edx, dword [esp + 0x80]
lea eax, [ebx + 1]
mov dword [edi], eax
lea ecx, [ebx + ebx*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 edi, dword [esp + 0x60]
mov eax, dword [esp + 0x58]
push dword [edi]
push dword [eax]
push str.NULL_value_in__s._s
push dword [esp + 0x1c]
call fcn.0042a380
mov ecx, dword [esp + 0x2c]
mov edi, eax
mov eax, dword [esp + 0x38]
add esp, 0x10
mov edx, dword [ecx]
cmp dword [eax], edx
jg 0x499f71
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.0044f120
add esp, 0xc
mov edx, eax
jmp 0x499fa7
lea eax, [edx + 1]
mov dword [ecx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x499fbf
push edi
mov edx, 0xfffffffa
call fcn.0044fcf0
add esp, 4
jmp 0x499ff6
test edx, edx
jns 0x499fca
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x499feb
push 0xfffffffffffffffa
push edi
mov edx, eax
mov ecx, esi
call fcn.0044fdf0
add esp, 8
jmp 0x499ff6
test edi, edi
je 0x499ff6
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xfa
mov eax, dword [esp + 0x50]
test eax, eax
je 0x49a0eb
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x88]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x49a02d
push 0
push edx
push 0
mov edx, 9
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x49a05b
lea eax, [ecx + 1]
mov dword [edi], 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 eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x49a06c
mov eax, 0x4fec48
jmp 0x49a07c
mov eax, dword [esp + 0x90]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x49a090
mov eax, 0x4fec48
jmp 0x49a099
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov edi, dword [esp + 0x80]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x50]
cmp dword [esp + 0x64], 0
je 0x49a233
mov ebx, dword [esp + 0x1c]
test eax, eax
je 0x49a3be
mov eax, dword [esp + 0x28]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x49a0f8
push dword [esp + 0x48]
mov edx, dword [esp + 0x48]
mov ecx, esi
push edx
push edi
push dword [esp + 0x3c]
mov edx, 0x12
call fcn.0044f160
add esp, 0x10
jmp 0x49a126
mov edx, dword [esp + 0x60]
mov edi, dword [esp + 0x80]
jmp 0x49a0ab
mov edx, dword [esp + 0x30]
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], edx
mov edx, dword [esp + 0x44]
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], edx
mov edx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 0x10], edx
mov ecx, dword [ebx]
mov edi, dword [esp + 0x60]
test ecx, ecx
jle 0x49a14b
mov eax, dword [edi + 4]
lea ecx, [ecx + ecx*4]
shr eax, 4
and eax, 0xf
movzx edx, byte [eax + 0x4f04f7]
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
add ecx, ecx
mov eax, dword [edx + 4]
push dword [eax + ecx*8]
mov eax, dword [edi + 4]
push dword [edx]
shr eax, 4
and eax, 0xf
push dword [eax*4 + 0x4fd1dc]
push str.non__s_value_in__s._s
push dword [esp + 0x20]
call fcn.0042a380
mov edx, dword [ebx]
mov edi, eax
mov eax, dword [esp + 0x3c]
add esp, 0x14
cmp dword [eax], edx
jg 0x49a1a3
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.0044f120
add esp, 0xc
mov edx, eax
jmp 0x49a1d9
lea eax, [edx + 1]
mov dword [ebx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x49a1f4
push edi
mov edx, 0xfffffffa
call fcn.0044fcf0
add esp, 4
jmp 0x49a69e
test edx, edx
jns 0x49a1fb
mov edx, dword [ebx]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x49a21f
push 0xfffffffffffffffa
push edi
mov edx, eax
mov ecx, esi
call fcn.0044fdf0
add esp, 8
jmp 0x49a69e
test edi, edi
je 0x49a69e
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xfa
jmp 0x49a69e
cmp byte [edx + 8], 0x42
mov edi, esi
mov eax, dword [esp + 0x84]
mov dword [esp + 0x90], eax
jne 0x49a3d5
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x49a280
push dword [esp + 0x48]
mov edx, dword [esp + 0x48]
mov ecx, esi
push edx
push dword [esp + 0x88]
mov edx, 0x12
push dword [esp + 0x3c]
call fcn.0044f160
add esp, 0x10
jmp 0x49a2b5
mov edx, dword [esp + 0x30]
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], edx
mov edx, dword [esp + 0x80]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x44]
mov dword [eax + ecx*4 + 0xc], edx
mov edx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [ebx]
test eax, eax
jle 0x49a2cb
lea ecx, [eax + eax*4]
mov edx, 0x1c
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
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.0042a380
mov edx, dword [ebx]
mov edi, eax
mov eax, dword [esp + 0x38]
add esp, 0x10
cmp dword [eax], edx
jg 0x49a313
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.0044f120
add esp, 0xc
mov edx, eax
jmp 0x49a349
lea eax, [edx + 1]
mov dword [ebx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x49a376
push edi
mov edx, 0xfffffffa
call fcn.0044fcf0
mov edi, dword [esp + 0x88]
add esp, 4
mov dword [esp + 0x40], esi
mov dword [esp + 0x84], edi
jmp 0x49a69e
test edx, edx
jns 0x49a37d
mov edx, dword [ebx]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x49a3b3
push 0xfffffffffffffffa
push edi
mov edx, eax
mov ecx, esi
call fcn.0044fdf0
mov edi, dword [esp + 0x8c]
add esp, 8
mov dword [esp + 0x40], esi
mov dword [esp + 0x84], edi
jmp 0x49a69e
test edi, edi
je 0x49a3be
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xfa
mov edi, dword [esp + 0x84]
mov dword [esp + 0x40], esi
mov dword [esp + 0x84], edi
jmp 0x49a69e
cmp byte [edx + 8], 0x43
mov esi, edi
mov dword [esp + 0x40], esi
mov dword [esp + 0x84], eax
jl 0x49a69a
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x30]
mov ecx, dword [esi]
cmp dword [eax], ecx
jg 0x49a420
push dword [esp + 0x48]
mov edx, dword [esp + 0x48]
mov ecx, edi
push edx
push dword [esp + 0x88]
mov edx, 0x12
push ebx
call fcn.0044f160
add esp, 0x10
jmp 0x49a451
mov edx, dword [esp + 0x80]
lea eax, [ecx + 1]
mov dword [esi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0xfd12
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x44]
mov dword [eax + ecx*4 + 0xc], edx
mov edx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [esi]
test eax, eax
jle 0x49a467
lea ecx, [eax + eax*4]
mov edx, 0x1b
mov eax, dword [edi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
test ebx, ebx
mov ebx, dword [esp + 0x54]
js 0x49a487
mov edx, dword [esp + 0x58]
mov ecx, edi
push 3
push ebx
push dword [esp + 0x80]
call fcn.0046d1d0
add esp, 0xc
mov eax, dword [esp + 0x28]
mov edx, dword [esi]
cmp dword [eax], edx
jg 0x49a4aa
push 0
push 1
push 3
mov edx, 0x60
mov ecx, edi
call fcn.0044f120
add esp, 0xc
mov edx, eax
jmp 0x49a4e0
mov ebx, dword [esp + 0x54]
lea eax, [edx + 1]
mov dword [esi], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x60
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
je 0x49a4fa
push 0x4ee558
or edx, 0xffffffff
call fcn.0044fcf0
add esp, 4
jmp 0x49a531
test edx, edx
jns 0x49a501
mov edx, dword [esi]
dec edx
mov eax, dword [edi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x49a526
push 0xffffffffffffffff
push 0x4ee558
mov edx, eax
mov ecx, edi
call fcn.0044fdf0
add esp, 8
jmp 0x49a531
mov dword [eax + 0x10], 0x4ee558
mov byte [eax + 1], 0xff
mov eax, dword [esp + 0x28]
mov ecx, dword [esi]
cmp dword [eax], ecx
jg 0x49a55b
push dword [esp + 0x48]
mov edx, 0x12
mov ecx, edi
push 3
push dword [esp + 0x88]
push 0xffffffffffffffff
call fcn.0044f160
add esp, 0x10
jmp 0x49a590
mov edx, dword [esp + 0x80]
lea eax, [ecx + 1]
mov dword [esi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0xfd12
mov dword [eax + ecx*4 + 4], 0xffffffff
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [esi]
test eax, eax
jle 0x49a5a6
lea ecx, [eax + eax*4]
mov edx, 0x1c
mov eax, dword [edi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x58]
add ebx, ebx
mov eax, dword [edx + 4]
push dword [eax + ebx*8]
push dword [edx]
push str.TEXT_value_in__s._s
push dword [esp + 0x1c]
call fcn.0042a380
mov edx, dword [esi]
mov ebx, eax
mov eax, dword [esp + 0x38]
add esp, 0x10
cmp dword [eax], edx
jg 0x49a5ea
push 0
push 3
push 0
mov edx, 0x75
mov ecx, edi
call fcn.0044f120
add esp, 0xc
mov edx, eax
jmp 0x49a620
lea eax, [edx + 1]
mov dword [esi], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov esi, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
je 0x49a63f
push ebx
mov edx, 0xfffffffa
call fcn.0044fcf0
mov ecx, dword [esp + 0x94]
add esp, 4
jmp 0x49a68d
test edx, edx
jns 0x49a646
mov edx, dword [esi]
dec edx
mov eax, dword [edi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x49a66e
push 0xfffffffffffffffa
push ebx
mov edx, eax
mov ecx, edi
call fcn.0044fdf0
mov ecx, dword [esp + 0x98]
add esp, 8
jmp 0x49a68d
mov ecx, dword [esp + 0x90]
mov esi, edi
mov dword [esp + 0x40], esi
mov dword [esp + 0x84], ecx
test ebx, ebx
je 0x49a69a
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0xfa
mov esi, edi
mov dword [esp + 0x84], ecx
mov dword [esp + 0x40], esi
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x88]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x49a6bf
push edx
mov edx, esi
call fcn.0044f970
add esp, 4
jmp 0x49a6c7
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx]
mov dword [ecx + edx*4], eax
mov ecx, esi
call fcn.00495e20
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x80]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x49a6ef
push edx
mov edx, esi
call fcn.0044f970
add esp, 4
jmp 0x49a6f7
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx]
mov dword [ecx + edx*4], eax
mov ebx, dword [esp + 0x58]
mov edi, dword [esp + 0x64]
mov edx, dword [esp + 0x54]
movsx eax, word [ebx + 0x22]
inc edx
add dword [esp + 0x4c], 0x10
cmp edx, eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x54], edx
jl 0x499c00
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x58]
mov edx, dword [eax + 0x10]
test edx, edx
je 0x49a914
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x20]
and eax, 0x200
or eax, 0
jne 0x49a910
push eax
mov ecx, edi
call fcn.00468d60
add esp, 4
mov edx, eax
cmp byte [edi + 0x57], 0
mov dword [esp + 0x4c], edx
jne 0x49a905
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov ebx, dword [eax + 0x38]
dec ebx
mov dword [esp + 0x64], ebx
lea eax, [ebx - 1]
mov dword [ecx + 0x38], eax
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x78]
inc eax
mov dword [ecx + 0x34], eax
mov edi, dword [edx]
dec edi
test edi, edi
jle 0x49a7c6
mov esi, dword [esp + 0x64]
lea ebx, [edi*4 + 2]
add ebx, edi
lea ebx, [edx + ebx*4]
nop dword [eax]
push 0
push esi
push dword [ebx]
push ecx
call fcn.004709d0
mov ecx, dword [esp + 0x28]
lea ebx, [ebx - 0x14]
dec edi
add esp, 0x10
test edi, edi
jg 0x49a7a0
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x64]
mov edx, dword [esp + 0x4c]
push 0x10
push dword [esp + 0x8c]
push dword [edx + 8]
push ecx
call fcn.00470460
mov ecx, dword [esi + 0xc]
add esp, 0x10
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x49a7f5
push ebx
mov edx, esi
call fcn.0044f970
add esp, 4
jmp 0x49a801
mov eax, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x40]
mov eax, dword [eax]
mov dword [ecx + ebx*4], eax
mov eax, dword [esp + 0x18]
mov dword [eax + 0x34], 0
mov eax, dword [esp + 0x58]
push dword [eax]
push str.CHECK_constraint_failed_in__s
push dword [esp + 0x18]
call fcn.0042a380
mov ebx, dword [esp + 0x28]
mov edi, eax
mov eax, dword [esp + 0x34]
add esp, 0xc
mov edx, dword [ebx]
cmp dword [eax], edx
jg 0x49a84c
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.0044f120
add esp, 0xc
mov edx, eax
jmp 0x49a882
lea eax, [edx + 1]
mov dword [ebx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x49a89a
push edi
mov edx, 0xfffffffa
call fcn.0044fcf0
add esp, 4
jmp 0x49a8cd
test edx, edx
jns 0x49a8a1
mov edx, dword [ebx]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x49a8c2
push 0xfffffffffffffffa
push edi
mov edx, eax
mov ecx, esi
call fcn.0044fdf0
add esp, 8
jmp 0x49a8cd
test edi, edi
je 0x49a8cd
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xfa
mov ecx, esi
call fcn.00495e20
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x88]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x49a8f5
push edx
mov edx, esi
call fcn.0044f970
add esp, 4
jmp 0x49a8fd
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx]
mov dword [ecx + edx*4], eax
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x4c]
test edx, edx
je 0x49a910
mov ecx, edi
call fcn.00469a60
mov eax, dword [esp + 0x58]
cmp byte [esp + 0x6b], 0x71
je 0x49b309
mov edi, dword [eax + 8]
mov dword [esp + 0x44], 0
mov dword [esp + 0x30], edi
test edi, edi
je 0x49b309
mov ecx, dword [esp + 0x18]
nop word [eax + eax]
dec dword [ecx + 0x38]
mov eax, dword [ecx + 0x38]
mov dword [esp + 0x4c], eax
cmp dword [esp + 0x6c], edi
je 0x49b2f6
push dword [esp + 0x70]
lea eax, [esp + 0xac]
mov edx, edi
push dword [esp + 0x28]
push eax
push 0
push 0
push dword [esp + 0x8c]
call fcn.004865d0
mov edx, dword [esp + 0x5c]
add esp, 0x18
mov ecx, dword [ebx]
add edx, 8
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x24], edi
cmp dword [eax], ecx
jg 0x49a9a8
push 0
push 1
push edx
mov edx, 0x56
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x49a9da
mov edi, dword [esp + 0x30]
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
movzx edx, word [edi + 0x34]
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x44]
add edi, dword [esp + 0x38]
mov ebx, dword [ebx]
cmp dword [eax], ebx
jg 0x49aa0d
push edx
push dword [esp + 0x74]
mov edx, 0x1d
mov ecx, esi
push dword [esp + 0x54]
push edi
call fcn.0044f160
add esp, 0x10
mov ebx, eax
jmp 0x49aa3f
mov ecx, dword [esp + 0x1c]
lea eax, [ebx + 1]
mov dword [ecx], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0xfd1d
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x4c]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x70]
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], edx
push str.row
mov edx, 3
mov ecx, esi
call fcn.0044f260
mov edi, dword [esp + 0x20]
add esp, 4
mov eax, dword [esp + 0x28]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x49aa78
push 3
push 3
push 7
mov edx, 0x6f
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x49aaaa
lea eax, [ecx + 1]
mov dword [edi], 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 str._missing_from_index
mov edx, 4
mov ecx, esi
call fcn.0044f260
mov eax, dword [esp + 0x2c]
add esp, 4
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x49aadf
push 3
push 3
push 4
mov edx, 0x6f
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x49ab11
lea eax, [ecx + 1]
mov dword [edi], 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 eax, dword [esp + 0x30]
mov edx, 4
mov ecx, esi
push dword [eax]
call fcn.0044f260
mov ecx, dword [edi]
add esp, 4
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x28]
cmp dword [eax], ecx
jg 0x49ab4b
push 3
push 3
push 4
mov edx, 0x6f
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x49ab7d
lea eax, [ecx + 1]
mov dword [edi], 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 ecx, esi
call fcn.00495e20
mov ecx, dword [esi]
mov edx, dword [edi]
mov dword [esp + 0x88], eax
cmp byte [ecx + 0x57], 0
je 0x49ab9c
mov ecx, 0x4fec48
jmp 0x49aba5
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x58]
mov dword [ecx + 8], edx
test byte [eax + 0x1c], 0x80
jne 0x49ad62
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x44]
add edx, dword [esp + 0x38]
mov ecx, dword [edi]
cmp dword [ebx], ecx
jg 0x49abde
push 0
push 3
push edx
mov edx, 0x8e
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x49ac10
mov ebx, dword [esp + 0x28]
lea eax, [ecx + 1]
mov dword [edi], 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
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x70]
mov edi, dword [edi]
dec edx
movzx eax, word [eax + 0x34]
add edx, eax
cmp dword [ebx], edi
jg 0x49ac3d
push edx
push 0
push 3
mov edx, 0x35
mov ecx, esi
call fcn.0044f120
add esp, 0xc
mov edi, eax
jmp 0x49ac6f
mov ebx, dword [esp + 0x1c]
lea eax, [edi + 1]
lea ecx, [edi + edi*4]
mov dword [ebx], eax
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
mov ebx, dword [esp + 0x1c]
mov edx, 3
push str.rowid_not_at_end_of_record_for_row
mov ecx, esi
call fcn.0044f260
mov eax, dword [esp + 0x2c]
add esp, 4
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x49aca8
push 3
push 3
push 7
mov edx, 0x6f
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x49acda
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 str._of_index
mov edx, 4
mov ecx, esi
call fcn.0044f260
mov eax, dword [esp + 0x2c]
add esp, 4
mov edx, dword [esp + 0x50]
mov ecx, dword [ebx]
dec edx
cmp dword [eax], ecx
jg 0x49ad13
push 0
push edx
push 0
mov edx, 9
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x49ad45
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x1c]
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 eax, dword [esi]
mov edx, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x49ad56
mov eax, 0x4fec48
jmp 0x49ad5f
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x30]
xor ecx, ecx
xor ebx, ebx
xor edi, edi
cmp cx, word [eax + 0x32]
jae 0x49aff5
mov edx, dword [esp + 0x38]
add edx, dword [esp + 0x44]
mov dword [esp + 0x4c], edx
nop dword [eax]
nop word [eax + eax]
mov eax, dword [eax + 0x20]
cmp dword [eax + edi*4], str.BINARY
je 0x49ae62
test ebx, ebx
jne 0x49adae
mov eax, dword [esp + 0x18]
dec dword [eax + 0x38]
mov ebx, dword [eax + 0x38]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [esp + 0x28]
cmp dword [eax], ecx
jg 0x49add1
push 3
push edi
push edx
mov edx, 0x5e
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x49ae03
mov edx, dword [esp + 0x1c]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [edx], eax
mov eax, dword [esi + 0x68]
mov edx, dword [esp + 0x4c]
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 + 0x1c]
mov edx, dword [esp + 0x70]
add edx, edi
mov ecx, dword [eax]
mov eax, dword [esp + 0x28]
cmp dword [eax], ecx
jg 0x49ae2c
push edx
push ebx
push 3
mov edx, 0x34
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x49ae5e
mov esi, dword [esp + 0x1c]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [esi], eax
mov esi, dword [esp + 0x40]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x34
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x30]
inc edi
movzx eax, word [eax + 0x32]
cmp edi, eax
mov eax, dword [esp + 0x30]
jl 0x49ad90
test ebx, ebx
je 0x49aff1
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov edi, dword [edx]
cmp dword [eax], edi
jg 0x49aea6
push 0
push 0
push 0
mov edx, 9
mov ecx, esi
call fcn.0044f120
add esp, 0xc
mov edi, eax
jmp 0x49aed8
lea eax, [edi + 1]
mov dword [edx], 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 ebx
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x49aef6
push ebx
mov edx, esi
call fcn.0044f970
add esp, 4
jmp 0x49aefe
mov ecx, dword [ecx + 0x40]
mov eax, dword [edx]
mov dword [ecx + ebx*4], eax
push str.row
mov edx, 3
mov ecx, esi
call fcn.0044f260
mov ebx, dword [esp + 0x20]
add esp, 4
mov eax, dword [esp + 0x28]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x49af37
push 3
push 3
push 7
mov edx, 0x6f
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x49af69
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 str._values_differ_from_index
mov edx, 4
mov ecx, esi
call fcn.0044f260
mov eax, dword [esp + 0x2c]
add esp, 4
mov edx, dword [esp + 0x50]
mov ecx, dword [ebx]
dec edx
cmp dword [eax], ecx
jg 0x49afa2
push 0
push edx
push 0
mov edx, 9
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x49afd4
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x1c]
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 eax, dword [esi]
mov edx, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x49afe5
mov eax, 0x4fec48
jmp 0x49afee
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x30]
cmp byte [eax + 0x36], 0
je 0x49b293
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x64], 0
dec dword [ecx + 0x38]
mov edx, dword [ecx + 0x38]
xor ecx, ecx
mov dword [esp + 0x4c], edx
cmp cx, word [eax + 0x32]
jae 0x49b0c5
mov edi, dword [esp + 0x70]
xor ebx, ebx
jmp 0x49b034
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 4]
movsx ecx, word [ebx + eax]
test ecx, ecx
js 0x49b04f
mov eax, dword [esp + 0x58]
add ecx, ecx
mov eax, dword [eax + 4]
test byte [eax + ecx*8 + 4], 0xf
jne 0x49b0a8
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [esp + 0x28]
cmp dword [eax], ecx
jg 0x49b076
push 0
push edx
push edi
mov edx, 0x32
mov ecx, esi
call fcn.0044f120
mov edx, dword [esp + 0x58]
add esp, 0xc
jmp 0x49b0a8
mov esi, dword [esp + 0x1c]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [esi], eax
mov esi, dword [esp + 0x40]
mov eax, dword [esi + 0x68]
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 + 0x30]
inc edi
mov ecx, dword [esp + 0x64]
add ebx, 2
inc ecx
mov dword [esp + 0x64], ecx
movzx eax, word [eax + 0x32]
cmp ecx, eax
jl 0x49b030
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x44]
add edx, dword [esp + 0x38]
mov edi, dword [ebx]
cmp dword [eax], edi
jg 0x49b0f3
push 0
push 0
push edx
mov edx, 0x27
mov ecx, esi
call fcn.0044f120
add esp, 0xc
mov edi, eax
jmp 0x49b125
lea eax, [edi + 1]
mov dword [ebx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x40]
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 eax, dword [esp + 0x28]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x49b149
mov ebx, dword [esp + 0x4c]
mov edx, 9
push 0
push ebx
push 0
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x49b17b
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x4c]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x49b190
mov eax, 0x4fec48
jmp 0x49b199
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov edi, dword [esp + 0x44]
add edi, dword [esp + 0x38]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x30]
movzx edx, word [eax + 0x32]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [esp + 0x28]
cmp dword [eax], ecx
jg 0x49b1d2
push edx
push dword [esp + 0x74]
mov edx, 0x29
mov ecx, esi
push ebx
push edi
call fcn.0044f160
add esp, 0x10
jmp 0x49b200
mov esi, dword [esp + 0x1c]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [esi], eax
mov esi, dword [esp + 0x40]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xfd29
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x70]
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], edx
push str.non_unique_entry_in_index
mov edx, 3
mov ecx, esi
call fcn.0044f260
mov edx, dword [esp + 0x20]
add esp, 4
mov eax, dword [esp + 0x28]
mov ecx, dword [edx]
cmp dword [eax], ecx
jg 0x49b23f
push 0
push dword [esp + 0x54]
mov edx, 9
mov ecx, esi
push 0
call fcn.0044f120
mov edx, dword [esp + 0x28]
add esp, 0xc
jmp 0x49b271
mov edi, dword [esp + 0x50]
lea eax, [ecx + 1]
mov dword [edx], 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], edi
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 0x49b28b
push ebx
mov edx, esi
call fcn.0044f970
add esp, 4
jmp 0x49b293
mov ecx, dword [ecx + 0x40]
mov eax, dword [edx]
mov dword [ecx + ebx*4], eax
mov eax, dword [esi]
mov ebx, dword [esp + 0x1c]
cmp byte [eax + 0x57], 0
mov edx, dword [ebx]
je 0x49b2a8
mov eax, 0x4fec48
jmp 0x49b2b8
mov eax, dword [esp + 0x88]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
mov edi, dword [esp + 0xa8]
mov dword [eax + 8], edx
test edi, edi
je 0x49b2ee
mov eax, dword [esp + 0x18]
not edi
mov edx, dword [eax + 8]
mov ecx, dword [edx + 0xc]
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x49b2e5
push edi
call fcn.0044f970
add esp, 4
jmp 0x49b2ee
mov ecx, dword [ecx + 0x40]
mov eax, dword [edx + 0x6c]
mov dword [ecx + edi*4], eax
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
mov edi, dword [edi + 0x14]
inc dword [esp + 0x44]
mov dword [esp + 0x30], edi
test edi, edi
jne 0x49a940
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x5c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x49b336
push 0
push ebx
push dword [esp + 0x80]
mov edx, 0x27
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x49b364
mov edx, dword [esp + 0x78]
lea eax, [ecx + 1]
mov dword [edi], 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], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x49b375
mov eax, 0x4fec50
jmp 0x49b381
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
add eax, 0xfffffff4
cmp byte [esp + 0x6b], 0x71
mov dword [eax], edx
je 0x49b589
push str.wrong__of_entries_in_index
mov edx, 2
mov ecx, esi
call fcn.0044f260
mov eax, dword [esp + 0x5c]
add esp, 4
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x49b541
mov ecx, dword [esp + 0x6c]
mov eax, 8
mov dword [esp + 0x50], eax
nop
cmp ecx, ebx
je 0x49b531
mov edx, dword [esp + 0x38]
mov ecx, dword [edi]
add edx, 0xfffffff8
add edx, eax
mov eax, dword [esp + 0x28]
cmp dword [eax], ecx
jg 0x49b3f1
push 0
push 3
push edx
mov edx, 0x62
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x49b423
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0x62
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
mov eax, dword [esp + 0x28]
mov edi, dword [edi]
mov edx, dword [esp + 0x50]
cmp dword [eax], edi
jg 0x49b449
push 3
push 0
push edx
mov edx, 0x35
mov ecx, esi
call fcn.0044f120
add esp, 0xc
mov edi, eax
jmp 0x49b47b
mov ecx, dword [esp + 0x1c]
lea eax, [edi + 1]
mov dword [ecx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
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 [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
jle 0x49b495
lea ecx, [eax + eax*4]
mov edx, 0x90
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
push dword [ebx]
mov edx, 4
mov ecx, esi
call fcn.0044f260
mov edx, dword [esp + 0x20]
add esp, 4
mov eax, dword [esp + 0x28]
mov ecx, dword [edx]
cmp dword [eax], ecx
jg 0x49b4cb
push 3
push 2
push 4
mov edx, 0x6f
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x49b4fd
lea eax, [ecx + 1]
mov dword [edx], 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
mov ecx, esi
call fcn.00495e20
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x49b519
mov eax, 0x4fec48
jmp 0x49b522
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x6c]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x50]
mov ebx, dword [ebx + 0x14]
inc eax
mov dword [esp + 0x50], eax
test ebx, ebx
jne 0x49b3c0
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x49b589
movzx eax, word [eax + 0x32]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
cmp eax, 1
jne 0x49b578
mov ecx, dword [esp + 0x7c]
test ecx, ecx
je 0x49b591
mov al, byte [edi + 0x13]
cmp al, 8
jae 0x49b591
movzx eax, al
mov dword [edi + eax*4 + 0xa0], ecx
inc byte [edi + 0x13]
jmp 0x49b591
cmp eax, dword [edi + 0x1c]
jle 0x49b591
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0x7c]
mov dword [edi + 0x20], eax
jmp 0x49b591
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x4995e0
jmp 0x49955a
test ecx, ecx
jne 0x49b5e9
mov ebx, dword [esp + 0x18]
mov ecx, ebx
call fcn.0049d6c0
test eax, eax
jne 0x49631f
mov eax, dword [ebx]
movzx eax, byte [eax + 0x54]
mov eax, dword [eax*8 + 0x4f5670]
test eax, eax
je 0x49631f
push eax
mov edx, 1
mov ecx, esi
call fcn.0044f260
add esp, 4
jmp 0x49660d
mov edx, dword [esp + 0x10]
test byte [edx + 0x18], 0x40
jne 0x4981fd
mov esi, dword [str.UTF8]
mov edi, 0x4f5670
test esi, esi
je 0x49b641
mov edx, ecx
sub esi, ecx
nop word [eax + eax]
movzx ecx, byte [edx]
movzx eax, byte [edx + esi]
cmp ecx, eax
jne 0x49b675
test ecx, ecx
jne 0x49b687
mov cl, byte [edi + 4]
mov edx, 2
movzx eax, cl
test cl, cl
mov ecx, dword [esp + 0x10]
cmovne edx, eax
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 0xc]
mov byte [eax + 0x4d], dl
call fcn.00484000
cmp dword [edi], 0
jne 0x49631f
push dword [esp + 0x14]
push str.unsupported_encoding:__s
push dword [esp + 0x20]
call fcn.0042b560
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, dword [esp + 0x34]
call fcn.004279d0
mov ebx, dword [esp + 0x14]
jmp 0x496334
movzx eax, byte [eax + 0x4f2180]
movzx ecx, byte [ecx + 0x4f2180]
sub ecx, eax
jne 0x49b68a
inc edx
jmp 0x49b610
mov esi, dword [edi + 8]
add edi, 8
test esi, esi
je 0x49b64a
mov ecx, dword [esp + 0x14]
jmp 0x49b606
mov eax, dword [esi + 0x9c]
mov edx, dword [esp + 0x3c]
bts eax, edx
mov edi, dword [ebx + 8]
mov dword [esi + 0x9c], eax
cmp edx, 1
je 0x49b6db
mov eax, dword [esi]
mov ecx, edx
shl ecx, 4
mov eax, dword [eax + 0x10]
mov eax, dword [ecx + eax + 4]
cmp byte [eax + 9], 0
je 0x49b6db
mov eax, dword [esi + 0xa0]
bts eax, edx
mov dword [esi + 0xa0], eax
cmp dword [esp + 0x14], 0
je 0x49b770
test byte [ebx + 5], 8
jne 0x49b770
push ecx
push 0x4f0a04
mov edx, 2
mov ecx, esi
call fcn.0044fbe0
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x2c]
mov esi, eax
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 0x44]
add esp, 8
mov dword [esi + 4], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], edi
call fcn.0042c8f0
mov ecx, dword [esp + 0x24]
mov eax, 1
mov dword [esi + 0x20], ecx
mov word [esi + 0x16], ax
cmp edi, eax
jne 0x49631f
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x496323
mov edx, dword [esp + 0x34]
mov byte [esi + 0x14], 0xb8
call fcn.004279d0
mov ebx, dword [esp + 0x14]
jmp 0x496334
push ecx
push 0x4f5820
mov edx, 3
mov ecx, esi
call fcn.0044fbe0
mov ecx, dword [esp + 0x44]
add esp, 8
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov ecx, 1
mov dword [eax + 0x20], edi
mov edx, dword [esi + 0x6c]
cmp edx, ecx
jle 0x49631f
mov eax, dword [esi + 0x68]
add eax, 0x14
cmp byte [eax], 0xa6
je 0x49b7ba
inc ecx
add eax, 0x14
cmp ecx, edx
jl 0x49b7a8
jmp 0x49631f
mov eax, dword [esi + 0x68]
mov byte [eax + 0x14], 0xb8
jmp 0x49631f
mov eax, dword [esp + 0x18]
xor edi, edi
mov dword [eax + 0x2c], 1
mov ecx, 1
cmp edi, 0x24
ja 0x49b84e
mov eax, dword [edi*4 + 0x4f3b00]
inc edi
test eax, eax
je 0x49b84e
mov edx, ecx
mov ecx, esi
push eax
call fcn.0044f260
mov ecx, dword [esi + 0x6c]
add esp, 4
cmp dword [esi + 0x70], ecx
jg 0x49b819
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x49b7d3
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 0x49b7d3
mov edx, dword [esi + 0x6c]
mov ecx, 1
cmp edx, ecx
jle 0x49631f
mov eax, dword [esi + 0x68]
add eax, 0x14
cmp byte [eax], 0xa6
je 0x49b7ba
inc ecx
add eax, 0x14
cmp ecx, edx
jl 0x49b864
jmp 0x49631f
mov eax, dword [esp + 0x48]
mov ebx, 0xc
cmp dword [eax], 0
cmovne ebx, dword [esp + 0x3c]
xor edx, edx
mov dword [esp + 0x2c], ebx
test ecx, ecx
je 0x49b943
mov edx, str.full
mov ebx, ecx
sub ebx, edx
movzx eax, byte [ebx + edx]
movzx edi, byte [edx]
cmp eax, edi
jne 0x49b8b9
test eax, eax
jne 0x49b8cb
lea edx, [eax + 1]
jmp 0x49b93f
movzx ecx, byte [eax + 0x4f2180]
movzx eax, byte [edi + 0x4f2180]
sub ecx, eax
jne 0x49b8ce
inc edx
jmp 0x49b8a2
mov edx, dword [esp + 0x14]
mov ebx, str.restart
sub ebx, edx
nop dword [eax]
movzx eax, byte [edx]
movzx edi, byte [edx + ebx]
cmp eax, edi
jne 0x49b8f4
test eax, eax
jne 0x49b906
lea edx, [eax + 2]
jmp 0x49b93f
movzx ecx, byte [eax + 0x4f2180]
movzx eax, byte [edi + 0x4f2180]
sub ecx, eax
jne 0x49b909
inc edx
jmp 0x49b8e0
mov edx, dword [esp + 0x14]
mov ebx, str.truncate
sub ebx, edx
movzx eax, byte [edx]
movzx edi, byte [edx + ebx]
cmp eax, edi
jne 0x49b928
test eax, eax
jne 0x49b93a
lea edx, [eax + 3]
jmp 0x49b93f
movzx ecx, byte [eax + 0x4f2180]
movzx eax, byte [edi + 0x4f2180]
sub ecx, eax
jne 0x49b93d
inc edx
jmp 0x49b914
xor edx, edx
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
mov dword [eax + 0x2c], 3
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x49b96b
push 1
push edx
push ebx
mov edx, 3
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x49b996
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 3
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 1
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x49b9a7
push 0
push 3
jmp 0x49684e
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], 3
jmp 0x4969f4
test ecx, ecx
je 0x49b9f4
lea edx, [esp + 0x24]
mov dword [esp + 0x24], 0
call fcn.0042c8f0
push dword [esp + 0x24]
push dword [esp + 0x14]
call fcn.004d7da0
add esp, 8
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x110], 0x4d7c70
jne 0x49ba1e
mov eax, dword [eax + 0x114]
cdq
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], edx
jmp 0x496821
xor eax, eax
cdq
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], edx
jmp 0x496821
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x49ba4d
push eax
call dword [0x4fc1d0]
mov edx, dword [esp + 0x14]
add esp, 4
cmp byte [edx + 0x5f], 0
jne 0x49ba5e
mov ecx, edx
call fcn.0043e7e0
mov edx, dword [esp + 0x10]
xor esi, esi
cmp dword [edx + 0x14], esi
jle 0x49ba96
xor edi, edi
mov eax, dword [edx + 0x10]
mov eax, dword [edi + eax + 4]
test eax, eax
je 0x49ba8d
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0xe4]
push dword [eax + 0x34]
call dword [0x4fc214]
mov edx, dword [esp + 0x14]
add esp, 4
inc esi
add edi, 0x10
cmp esi, dword [edx + 0x14]
jl 0x49ba67
cmp byte [edx + 0x5f], 0
jne 0x49baa7
mov ecx, edx
call fcn.0043e830
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0xc]
jmp 0x496311
test ecx, ecx
je 0x49bad7
lea edx, [esp + 0x24]
mov dword [esp + 0x24], 0
call fcn.0042c8f0
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], ecx
test cl, 2
je 0x49631f
jmp 0x49badf
mov dword [esp + 0x20], 0xfffe
cmp dword [esp + 0x30], 0
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x28]
mov dword [esp + 0x44], edx
lea eax, [edx + 1]
mov dword [ecx + 0x28], eax
mov ecx, dword [esp + 0x3c]
je 0x49bb03
mov eax, ecx
mov dword [esp + 0x5c], eax
jmp 0x49bb17
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
dec eax
mov dword [esp + 0x5c], eax
cmp ecx, eax
jg 0x49be5e
mov ebx, 1
mov edi, ecx
rol ebx, cl
shl edi, 4
mov dword [esp + 0x64], ebx
mov dword [esp + 0x4c], edi
nop dword [eax + eax]
cmp ecx, 1
je 0x49be44
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x7c]
test eax, eax
cmovne ecx, eax
mov eax, dword [ecx + 0x58]
test eax, ebx
jne 0x49bb56
mov ebx, dword [esp + 0x3c]
bts eax, ebx
mov dword [ecx + 0x58], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
mov eax, dword [edi + eax + 0xc]
mov ebx, dword [eax + 0x10]
mov dword [esp + 0x38], ebx
test ebx, ebx
je 0x49be38
mov edi, dword [ebx + 8]
test dword [edi + 0x1c], 0x100
je 0x49be26
mov ax, word [edi + 0x26]
add ax, 0x2e
movzx ecx, ax
mov eax, dword [edi + 8]
mov dword [esp + 0xa8], ecx
test eax, eax
je 0x49bbb1
nop dword [eax]
test byte [eax + 0x38], 0x80
je 0x49bc35
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x49bba0
test cx, cx
je 0x49bc35
mov ecx, dword [esp + 0x18]
push 0x70
push edi
push dword [esp + 0x44]
call fcn.0048e690
mov ebx, dword [esp + 0x2c]
add esp, 0xc
mov ecx, dword [esi + 0x6c]
and ebx, 1
mov eax, dword [esp + 0xa8]
add ebx, 2
add ebx, ecx
movsx edx, ax
cmp dword [esi + 0x70], ecx
jg 0x49bc02
push edx
push ebx
push dword [esp + 0x4c]
mov edx, 0x21
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x49bc31
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x44]
mov dword [eax + ecx*4], 0x21
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
push dword [edi]
mov ecx, dword [esp + 0x50]
mov eax, dword [edx + 0x10]
push dword [ecx + eax]
push str.ANALYZE___w_.__w_
push edx
call fcn.0042a380
add esp, 0x10
mov edi, eax
test byte [esp + 0x20], 1
je 0x49bd7e
mov ecx, dword [esp + 0x18]
mov al, byte [ecx + 0x13]
test al, al
jne 0x49bc73
inc dword [ecx + 0x2c]
mov ebx, dword [ecx + 0x2c]
jmp 0x49bc82
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov ebx, dword [ecx + eax*4 + 0xa0]
mov edx, dword [esi + 0x6c]
cmp dword [esi + 0x70], edx
jg 0x49bca2
push 0
push ebx
push 0
mov edx, 0x75
mov ecx, esi
call fcn.0044f120
add esp, 0xc
mov edx, eax
jmp 0x49bcd5
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x49bced
push edi
mov edx, 0xfffffffa
call fcn.0044fcf0
add esp, 4
jmp 0x49bd21
test edx, edx
jns 0x49bcf5
mov edx, dword [esi + 0x6c]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x49bd16
push 0xfffffffffffffffa
push edi
mov edx, eax
mov ecx, esi
call fcn.0044fdf0
add esp, 8
jmp 0x49bd21
test edi, edi
je 0x49bd21
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xfa
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x49bd46
push 0
push 1
push ebx
mov edx, 0x54
mov ecx, esi
call fcn.0044f120
mov ebx, dword [esp + 0x44]
add esp, 0xc
jmp 0x49be22
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], ebx
mov ebx, dword [esp + 0x38]
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x49be22
mov edx, dword [esi + 0x6c]
cmp dword [esi + 0x70], edx
jg 0x49bd9f
push 0
push 0
push 0
mov edx, 0x94
mov ecx, esi
call fcn.0044f120
add esp, 0xc
mov edx, eax
jmp 0x49bdd6
mov ebx, dword [esp + 0x38]
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x94
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]
cmp byte [ecx + 0x57], 0
je 0x49bdee
push edi
mov edx, 0xfffffffa
call fcn.0044fcf0
add esp, 4
jmp 0x49be22
test edx, edx
jns 0x49bdf6
mov edx, dword [esi + 0x6c]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x49be17
push 0xfffffffffffffffa
push edi
mov edx, eax
mov ecx, esi
call fcn.0044fdf0
add esp, 8
jmp 0x49be22
test edi, edi
je 0x49be22
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xfa
mov edx, dword [esp + 0x44]
mov ebx, dword [ebx]
mov dword [esp + 0x38], ebx
test ebx, ebx
jne 0x49bb70
mov edi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x5c]
mov ebx, dword [esp + 0x64]
inc ecx
rol ebx, 1
add edi, 0x10
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x64], ebx
cmp ecx, eax
jle 0x49bb30
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x49be80
push 0
push 0
push 0
mov edx, 0xa6
mov ecx, esi
call fcn.0044f120
add esp, 0xc
jmp 0x49631f
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], 0
mov dword [eax + ecx*4 + 8], 0
jmp 0x4969f4
test ecx, ecx
je 0x49bed2
lea edx, [esp + 0xa8]
call fcn.0042c7e0
test eax, eax
jne 0x49bed2
push dword [esp + 0xac]
push dword [esp + 0xac]
call fcn.00427480
add esp, 8
call fcn.004d5940
test eax, eax
je 0x49beec
or edi, 0xffffffff
or ebx, edi
mov dword [esp + 0xac], ebx
jmp 0x49681a
mov eax, dword [0x4fed70]
test eax, eax
je 0x49bf04
push eax
call dword [0x4fc1d0]
mov eax, dword [0x4fed70]
add esp, 4
mov edi, dword [0x4fed78]
mov ebx, dword [0x4fed7c]
test eax, eax
je 0x49bf1e
push eax
call dword [0x4fc1d8]
add esp, 4
mov dword [esp + 0xac], ebx
jmp 0x49681a
test ecx, ecx
je 0x49bfba
lea edx, [esp + 0xa8]
call fcn.0042c7e0
test eax, eax
jne 0x49bfba
call fcn.004d5940
test eax, eax
je 0x49bf56
or ebx, 0xffffffff
or edi, ebx
jmp 0x49bf88
mov eax, dword [0x4fed70]
test eax, eax
je 0x49bf6e
push eax
call dword [0x4fc1d0]
mov eax, dword [0x4fed70]
add esp, 4
mov ebx, dword [0x4fed80]
mov edi, dword [0x4fed84]
test eax, eax
je 0x49bf88
push eax
call dword [0x4fc1d8]
add esp, 4
mov edx, dword [esp + 0xac]
test edx, edx
jl 0x49bfba
mov ecx, dword [esp + 0xa8]
jg 0x49bfa0
test ecx, ecx
je 0x49bfba
mov eax, ebx
or eax, edi
je 0x49bfb0
cmp edi, edx
jl 0x49bfba
jg 0x49bfb0
cmp ebx, ecx
jbe 0x49bfba
push edx
push ecx
call fcn.004275c0
add esp, 8
call fcn.004d5940
test eax, eax
je 0x49bfd4
or edi, 0xffffffff
or ebx, edi
mov dword [esp + 0xac], ebx
jmp 0x49681a
mov eax, dword [0x4fed70]
test eax, eax
je 0x49bfec
push eax
call dword [0x4fc1d0]
mov eax, dword [0x4fed70]
add esp, 4
mov edi, dword [0x4fed80]
mov ebx, dword [0x4fed84]
jmp 0x49bf10
test ecx, ecx
je 0x49c040
lea edx, [esp + 0xa8]
call fcn.0042c7e0
test eax, eax
jne 0x49c040
cmp dword [esp + 0xac], eax
jl 0x49c040
mov eax, dword [esp + 0xa8]
jg 0x49c027
test eax, eax
jb 0x49c040
mov ecx, 8
and eax, 0x7fffffff
cmp eax, ecx
cmova eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0xa4], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xa4]
cdq
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], edx
jmp 0x496821
test ecx, ecx
je 0x49c097
lea edx, [esp + 0xa8]
call fcn.0042c7e0
test eax, eax
jne 0x49c097
cmp dword [esp + 0xac], eax
jl 0x49c097
mov eax, dword [esp + 0xa8]
jg 0x49c088
test eax, eax
jb 0x49c097
mov ecx, dword [esp + 0x10]
and eax, 0x7fffffff
mov dword [ecx + 0x1f0], eax
mov eax, dword [esp + 0x10]
push 0xfffffffffffffff3
mov eax, dword [eax + 0x1f0]
cdq
mov dword [esp + 0xac], eax
lea eax, [esp + 0xac]
push eax
push ecx
push 1
mov dword [esp + 0xbc], edx
mov edx, 0x48
push ecx
mov ecx, esi
call fcn.0044f670
mov ecx, dword [esi + 0x6c]
add esp, 0x14
cmp dword [esi + 0x70], ecx
jle 0x49684a
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
jmp 0x4969ec
test ecx, ecx
je 0x49c1d3
lea edx, [esp + 0x24]
mov dword [esp + 0x24], 0
call fcn.0042c8f0
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
mov eax, dword [ecx + 0xc]
test edi, edi
jle 0x49c188
test eax, eax
je 0x49c133
push eax
call dword [0x4fc1d0]
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [ecx + 0x1c0], 0x4d71a0
mov dword [ecx + 0x1c4], ecx
mov dword [ecx + 0x1c8], 0
mov dword [ecx + 0x1f4], 0
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x49c16c
push eax
call dword [0x4fc1d8]
mov ecx, dword [esp + 0x14]
add esp, 4
mov eax, edi
mov dword [ecx + 0x1f4], edi
cdq
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], edx
jmp 0x496821
test eax, eax
je 0x49c19a
push eax
call dword [0x4fc1d0]
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [ecx + 0x1c0], 0
mov dword [ecx + 0x1c4], 0
mov dword [ecx + 0x1c8], 0
mov dword [ecx + 0x1f4], 0
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x49c1d7
push eax
call dword [0x4fc1d8]
add esp, 4
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x1f4]
cdq
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], edx
jmp 0x496821