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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
mov eax, dword [0x49f008]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, ecx
mov dword [ebp - 0x3c], edx
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [eax]
mov ecx, eax
push esi
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x1c], eax
call fcn.004241a0
mov esi, eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], esi
mov dword [eax + 8], esi
test esi, esi
je 0x44e22e
mov edx, dword [ebp - 0x3c]
lea ecx, [ebp - 0x58]
push ecx
mov byte [esi + 0x60], 1
mov ecx, eax
push ebx
mov dword [eax + 0x4c], 2
call fcn.0043d480
mov ecx, eax
add esp, 8
mov dword [ebp - 0x30], ecx
test ecx, ecx
js 0x44e22e
mov eax, dword [ebp - 0x1c]
mov edx, ecx
shl edx, 4
add edx, dword [eax + 0x10]
mov dword [ebp - 0x20], edx
cmp ecx, 1
jne 0x44bf13
mov ecx, dword [ebp - 0x24]
call fcn.00440d30
test eax, eax
jne 0x44e22e
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x58]
test edx, edx
je 0x44e22e
push dword [edx + 4]
mov edx, dword [edx]
mov ecx, eax
call fcn.0040a1b0
add esp, 4
mov dword [ebp - 0x34], eax
mov ecx, eax
call fcn.0040c140
cmp dword [ebp - 0x34], 0
je 0x44e22e
cmp dword [ebp + 0x10], 0
je 0x44bf5a
push edi
push 0x494fdc
push dword [ebp - 0x1c]
call fcn.0040b620
add esp, 0xc
jmp 0x44bf80
test edi, edi
je 0x44bf7e
push dword [edi + 4]
mov edx, dword [edi]
mov ecx, dword [ebp - 0x1c]
call fcn.0040a1b0
mov edi, eax
add esp, 4
mov ecx, edi
mov dword [ebp - 0x2c], edi
call fcn.0040c140
mov eax, edi
jmp 0x44bf83
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebx + 4], 0
jbe 0x44bf90
mov edi, dword [ebp - 0x20]
mov edi, dword [edi]
jmp 0x44bf92
xor edi, edi
mov ecx, dword [ebp - 0x24]
mov edx, 0x13
push edi
push eax
push dword [ebp - 0x34]
call fcn.0043c540
add esp, 0xc
test eax, eax
jne 0x44e218
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x18]
push eax
push 0xe
push edi
push dword [ebp - 0x1c]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], 0
call fcn.00468e90
add esp, 0x10
mov dword [ebp - 0x3c], eax
test eax, eax
jne 0x44c067
mov edi, dword [ebp - 0x18]
test edi, edi
je 0x44e1ea
mov eax, dword [ebp - 0x24]
mov edx, 0x5e
push 0
mov ecx, esi
inc dword [eax + 0x4c]
mov ebx, dword [eax + 0x4c]
push ebx
push 0
call fcn.004242a0
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0
push edi
call fcn.004249e0
add esp, 8
mov edx, 1
mov ecx, esi
call fcn.004259a0
mov eax, dword [esi]
cmp byte [eax + 0x36], 0
jne 0x44c043
mov ecx, dword [esi + 0x10]
mov edx, str.result
push 0
push 1
push 0xffffffffffffffff
call fcn.00423690
add esp, 0xc
push 0
push 1
push ebx
mov edx, 0x10
mov ecx, esi
call fcn.004242a0
add esp, 0xc
push dword [ebp - 0x18]
call fcn.00409d50
add esp, 4
jmp 0x44e1ea
cmp eax, 0xc
je 0x44c0a0
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x44c092
push ecx
push 0x492a88
push dword [ebp - 0x24]
call fcn.0040c0f0
add esp, 0xc
push dword [ebp - 0x18]
call fcn.00409d50
mov eax, dword [ebp - 0x3c]
add esp, 4
mov ecx, dword [ebp - 0x24]
inc dword [ecx + 0x44]
mov dword [ecx + 0xc], eax
jmp 0x44e1ea
mov ecx, dword [ebp - 0x34]
mov edx, str.default_cache_size
call fcn.0040c1f0
test eax, eax
jne 0x44c203
mov ebx, dword [ebp - 0x24]
mov ecx, ebx
call fcn.0044e9d0
test eax, eax
jne 0x44e218
mov edx, dword [ebp - 0x30]
mov ecx, esi
call fcn.00424e50
mov eax, dword [ebp - 0x2c]
test eax, eax
jne 0x44c16a
lea edx, [eax + 1]
mov ecx, esi
call fcn.004259a0
mov eax, dword [esi]
cmp byte [eax + 0x36], 0
jne 0x44c104
mov ecx, dword [esi + 0x10]
mov edx, str.cache_size
push 0
push 1
push 0xffffffffffffffff
call fcn.00423690
add esp, 0xc
add dword [ebx + 0x4c], 2
mov edx, 8
push 0x4976a8
mov ecx, esi
call fcn.004247c0
mov ecx, dword [esi + 0x1c]
mov edi, eax
mov ebx, dword [ebp - 0x30]
add esp, 4
cmp ecx, edi
jbe 0x44c135
mov ecx, dword [esi + 4]
lea edx, [edi + edi*4]
mov dword [ecx + edx*4 + 4], ebx
mov ecx, dword [esi + 0x1c]
lea eax, [edi + 1]
cmp ecx, eax
jbe 0x44c149
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 4], ebx
mov ecx, dword [esi + 0x1c]
mov edx, dword [ebp - 0x1c]
add edi, 6
cmp ecx, edi
jbe 0x44e1ed
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 4], 0x7d0
jmp 0x44e1ed
lea edx, [ebp - 0x28]
mov dword [ebp - 0x28], 0
mov ecx, eax
call fcn.0040ca60
mov edi, dword [ebp - 0x28]
test edi, edi
jns 0x44c193
cmp edi, 0x80000000
jne 0x44c191
mov edi, 0x7fffffff
jmp 0x44c193
neg edi
push dword [ebp - 0x30]
xor edx, edx
mov ecx, ebx
call fcn.00440eb0
add esp, 4
mov edx, 7
mov ecx, esi
push 0
push 1
push edi
call fcn.004242a0
add esp, 0xc
mov edx, 0x25
mov ecx, esi
push 1
push 3
push dword [ebp - 0x30]
call fcn.004242a0
mov ecx, dword [ebp - 0x20]
add esp, 0xc
mov eax, dword [ecx + 0xc]
mov dword [eax + 0x50], edi
mov eax, dword [ecx + 0xc]
mov ebx, dword [ecx + 4]
mov ecx, ebx
mov edi, dword [eax + 0x50]
mov esi, dword [ebx + 4]
call fcn.00418af0
mov ecx, dword [esi]
mov edx, edi
mov ecx, dword [ecx + 0xb4]
call fcn.00410ce0
mov ecx, ebx
call fcn.00418bc0
jmp 0x44e1ea
mov ecx, dword [ebp - 0x34]
mov edx, str.page_size
call fcn.0040c1f0
test eax, eax
jne 0x44c287
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x2c]
mov esi, dword [eax + 4]
test edi, edi
jne 0x44c247
test esi, esi
je 0x44c22d
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x20]
jmp 0x44c22f
xor eax, eax
mov ecx, dword [ebp - 0x24]
cdq
push edx
push eax
mov edx, str.page_size
call fcn.0044bc00
add esp, 8
jmp 0x44e1ea
lea edx, [ebp - 0x28]
mov dword [ebp - 0x28], 0
mov ecx, edi
call fcn.0040ca60
mov eax, dword [ebp - 0x1c]
mov ecx, esi
mov edx, dword [ebp - 0x28]
push 0
push 0xffffffffffffffff
mov dword [eax + 0x3c], edx
call fcn.0041a940
mov edx, dword [ebp - 0x1c]
add esp, 8
mov ecx, dword [ebp - 0x20]
cmp eax, 7
jne 0x44e1f0
mov byte [edx + 0x36], 1
jmp 0x44e1f0
mov ecx, dword [ebp - 0x34]
mov edx, str.secure_delete
call fcn.0040c1f0
test eax, eax
jne 0x44c321
mov eax, dword [ebp - 0x20]
or edx, 0xffffffff
mov edi, dword [ebp - 0x2c]
mov dword [ebp - 0x38], edx
mov eax, dword [eax + 4]
mov dword [ebp - 0x3c], eax
test edi, edi
je 0x44c2cd
push 0
mov edx, 1
mov ecx, edi
call fcn.0044ba30
xor edx, edx
add esp, 4
test al, al
setne dl
mov dword [ebp - 0x38], edx
cmp dword [ebx + 4], 0
jne 0x44c2fe
test edx, edx
js 0x44c2fe
mov eax, dword [ebp - 0x1c]
xor edi, edi
cmp dword [eax + 0x14], edi
jle 0x44c2fe
xor esi, esi
mov ecx, dword [eax + 0x10]
mov ecx, dword [esi + ecx + 4]
call fcn.0041aa70
mov eax, dword [ebp - 0x1c]
lea esi, [esi + 0x10]
mov edx, dword [ebp - 0x38]
inc edi
cmp edi, dword [eax + 0x14]
jl 0x44c2e3
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
call fcn.0041aa70
mov ecx, dword [ebp - 0x24]
cdq
push edx
push eax
mov edx, str.secure_delete
call fcn.0044bc00
add esp, 8
jmp 0x44e1ea
mov ecx, dword [ebp - 0x34]
mov edx, str.page_count
call fcn.0040c1f0
test eax, eax
je 0x44e136
mov ecx, dword [ebp - 0x34]
mov edx, str.max_page_count
call fcn.0040c1f0
test eax, eax
je 0x44e136
mov ecx, dword [ebp - 0x34]
mov edx, str.locking_mode
call fcn.0040c1f0
test eax, eax
jne 0x44c46b
mov eax, dword [ebp - 0x2c]
mov edi, str.normal
mov ecx, str.exclusive
test eax, eax
je 0x44c395
mov edx, ecx
mov ecx, eax
call fcn.0040c1f0
test eax, eax
jne 0x44c383
lea edx, [eax + 1]
jmp 0x44c398
mov ecx, dword [ebp - 0x2c]
mov edx, edi
call fcn.0040c1f0
test eax, eax
jne 0x44c395
xor edx, edx
jmp 0x44c398
or edx, 0xffffffff
cmp dword [ebx + 4], 0
mov dword [ebp - 0x30], edx
jne 0x44c3eb
mov eax, dword [ebp - 0x1c]
cmp edx, 0xffffffff
jne 0x44c3af
movzx eax, byte [eax + 0x37]
jmp 0x44c3fb
mov ebx, 2
cmp dword [eax + 0x14], ebx
jle 0x44c3e8
mov edi, 0x20
mov esi, eax
mov eax, dword [esi + 0x10]
mov eax, dword [edi + eax + 4]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx]
call fcn.004163b0
mov edx, dword [ebp - 0x30]
lea edi, [edi + 0x10]
inc ebx
cmp ebx, dword [esi + 0x14]
jl 0x44c3c0
mov esi, dword [ebp - 0x28]
mov edi, str.normal
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x37], dl
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
call fcn.004163b0
cmp eax, 1
mov edx, 1
mov eax, str.exclusive
mov ecx, esi
cmove edi, eax
call fcn.004259a0
mov eax, dword [esi]
cmp byte [eax + 0x36], 0
jne 0x44c430
mov ecx, dword [esi + 0x10]
mov edx, str.locking_mode
push 0
push 1
push 0xffffffffffffffff
call fcn.00423690
add esp, 0xc
push 0
push 1
push 0
mov edx, 0x5e
mov ecx, esi
call fcn.004242a0
add esp, 0xc
mov edx, eax
push 0
push edi
mov ecx, esi
call fcn.004249e0
push 0
push 1
push 1
mov edx, 0x10
mov ecx, esi
call fcn.004242a0
add esp, 0x14
jmp 0x44e1ea
mov ecx, dword [ebp - 0x34]
mov edx, str.journal_mode
call fcn.0040c1f0
test eax, eax
jne 0x44c5af
mov ecx, dword [ebp - 0x24]
call fcn.0044e9d0
test eax, eax
jne 0x44e218
lea edx, [eax + 1]
mov ecx, esi
call fcn.004259a0
mov eax, dword [esi]
cmp byte [eax + 0x36], 0
jne 0x44c4b8
mov ecx, dword [esi + 0x10]
mov edx, str.journal_mode
push 0
push 1
push 0xffffffffffffffff
call fcn.00423690
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x44c58c
cmp byte [ecx], 0
mov edi, ecx
je 0x44c4d6
nop word [eax + eax]
inc edi
cmp byte [edi], 0
jne 0x44c4d0
sub edi, ecx
and edi, 0x3fffffff
xor ebx, ebx
cmp ebx, 6
je 0x44c58c
mov eax, dword [ebx*4 + 0x497418]
test eax, eax
je 0x44c58c
push edi
push eax
push ecx
call fcn.0040c240
add esp, 0xc
test eax, eax
je 0x44c50d
mov ecx, dword [ebp - 0x2c]
inc ebx
jmp 0x44c4e0
cmp ebx, 0xffffffff
je 0x44c58f
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
mov edi, dword [eax + 0x14]
sub edi, 1
js 0x44c575
mov ecx, edi
shl ecx, 4
mov dword [ebp - 0x28], ecx
nop dword [eax]
mov eax, dword [eax + 0x10]
cmp dword [ecx + eax + 4], 0
je 0x44c564
cmp edi, dword [ebp - 0x30]
je 0x44c545
cmp dword [edx + 4], 0
jne 0x44c564
mov edx, edi
mov ecx, esi
call fcn.00424e50
push ebx
push 1
push edi
mov edx, 0x7e
mov ecx, esi
call fcn.004242a0
mov ecx, dword [ebp - 0x28]
add esp, 0xc
mov edx, dword [ebp - 0x38]
sub ecx, 0x10
sub edi, 1
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], ecx
jns 0x44c530
push 0
push 1
push 1
mov edx, 0x10
mov ecx, esi
call fcn.004242a0
jmp 0x44e1e7
or ebx, 0xffffffff
mov edx, dword [ebp - 0x38]
cmp dword [edx + 4], 0
jne 0x44c519
mov dword [ebp - 0x30], 0
mov dword [edx + 4], 1
jmp 0x44c519
mov ecx, dword [ebp - 0x34]
mov edx, str.journal_size_limit
call fcn.0040c1f0
test eax, eax
jne 0x44c66e
mov eax, dword [ebp - 0x20]
or edx, 0xffffffff
mov edi, dword [ebp - 0x2c]
mov ecx, 0xfffffffe
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov esi, dword [eax]
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], edx
test edi, edi
je 0x44c61a
push 1
push 0xf4240
lea edx, [ebp - 0x54]
mov ecx, edi
call fcn.0040c890
mov edx, dword [ebp - 0x50]
add esp, 8
cmp edx, 0xffffffff
jg 0x44c617
jl 0x44c60a
mov ecx, dword [ebp - 0x54]
cmp ecx, 0xffffffff
jae 0x44c61a
or ecx, 0xffffffff
or edx, ecx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], edx
jmp 0x44c61a
mov ecx, dword [ebp - 0x54]
cmp edx, 0xffffffff
jl 0x44c645
jg 0x44c626
cmp ecx, 0xffffffff
jb 0x44c645
mov dword [esi + 0x88], ecx
mov eax, dword [ebp - 0x50]
mov dword [esi + 0x8c], eax
mov eax, dword [esi + 0xb8]
test eax, eax
je 0x44c645
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
mov ecx, dword [esi + 0x88]
mov edx, str.journal_size_limit
mov dword [ebp - 0x54], ecx
mov eax, dword [esi + 0x8c]
push eax
push ecx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x50], eax
call fcn.0044bc00
add esp, 8
jmp 0x44e1ea
mov ecx, dword [ebp - 0x34]
mov edx, str.auto_vacuum
call fcn.0040c1f0
test eax, eax
jne 0x44c793
mov eax, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x24]
mov ecx, ebx
mov edi, dword [eax + 4]
call fcn.0044e9d0
test eax, eax
jne 0x44e218
mov eax, dword [ebp - 0x2c]
test eax, eax
jne 0x44c6c8
test edi, edi
je 0x44c6af
mov ecx, edi
call fcn.0041ab60
jmp 0x44c6b1
xor eax, eax
cdq
mov ecx, ebx
push edx
push eax
mov edx, str.auto_vacuum
call fcn.0044bc00
add esp, 8
jmp 0x44e1ea
mov ecx, eax
call fcn.0044bae0
mov edx, dword [ebp - 0x1c]
mov ebx, eax
mov byte [edx + 0x38], bl
test ebx, ebx
js 0x44e1ed
mov edx, ebx
mov ecx, edi
call fcn.0041aae0
test eax, eax
jne 0x44e1ea
cmp ebx, 1
je 0x44c6fe
cmp ebx, 2
jne 0x44e1ea
push 0x499264
mov edx, 6
mov ecx, esi
call fcn.004247c0
mov ecx, dword [esi + 0x1c]
mov edi, eax
add esp, 4
cmp ecx, edi
jbe 0x44c72b
mov ecx, dword [esi + 4]
lea edx, [edi + edi*4]
mov eax, dword [ebp - 0x30]
mov dword [ecx + edx*4 + 4], eax
mov ecx, dword [esi + 0x1c]
lea eax, [edi + 1]
cmp ecx, eax
jbe 0x44c742
mov edx, dword [ebp - 0x30]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 4], edx
mov ecx, dword [esi + 0x1c]
lea eax, [edi + 2]
cmp ecx, eax
jbe 0x44c759
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
lea edx, [edi + 4]
mov dword [eax + ecx*4 + 8], edx
mov ecx, dword [esi + 0x1c]
lea eax, [edi + 4]
cmp ecx, eax
jbe 0x44c770
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
lea edx, [ebx - 1]
mov dword [eax + ecx*4 + 4], edx
mov ecx, dword [esi + 0x1c]
add edi, 5
cmp ecx, edi
jbe 0x44c784
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
mov edx, dword [ebp - 0x30]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [ebp - 0x30]
mov ecx, esi
call fcn.00424e50
jmp 0x44e1ea
mov ecx, dword [ebp - 0x34]
mov edx, str.incremental_vacuum
call fcn.0040c1f0
test eax, eax
jne 0x44c878
mov ebx, dword [ebp - 0x24]
mov ecx, ebx
call fcn.0044e9d0
test eax, eax
jne 0x44e218
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x44c7d5
lea edx, [ebp - 0x38]
mov ecx, eax
call fcn.0040ca60
test eax, eax
je 0x44c7d5
cmp dword [ebp - 0x38], 0
jg 0x44c7dc
mov dword [ebp - 0x38], 0x7fffffff
mov edi, dword [ebp - 0x30]
xor edx, edx
push edi
mov ecx, ebx
call fcn.00440eb0
add esp, 4
mov edx, 7
mov ecx, esi
push 0
push 1
push dword [ebp - 0x38]
call fcn.004242a0
add esp, 0xc
mov edx, 0x80
mov ecx, esi
push 0
push 0
push edi
call fcn.004242a0
add esp, 0xc
mov edx, 0x10
mov ecx, esi
mov edi, eax
push 0
push 0
push 1
call fcn.004242a0
add esp, 0xc
mov edx, 0x14
mov ecx, esi
push 0
push 0xffffffffffffffff
push 1
call fcn.004242a0
add esp, 0xc
mov edx, 0x78
mov ecx, esi
push 0
push edi
push 1
call fcn.004242a0
add esp, 0xc
test edi, edi
js 0x44e1ea
mov edx, dword [esi + 0x1c]
cmp edx, edi
jbe 0x44e1ea
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
jmp 0x44e1ea
mov ecx, dword [ebp - 0x34]
mov edx, str.cache_size
call fcn.0040c1f0
test eax, eax
jne 0x44c911
mov ebx, dword [ebp - 0x24]
mov ecx, ebx
call fcn.0044e9d0
test eax, eax
jne 0x44e218
mov edi, dword [ebp - 0x2c]
test edi, edi
jne 0x44c8c6
mov eax, dword [ebp - 0x20]
mov ecx, ebx
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x50]
cdq
push edx
push eax
mov edx, str.cache_size
call fcn.0044bc00
add esp, 8
jmp 0x44e1ea
lea edx, [ebp - 0x28]
mov dword [ebp - 0x28], 0
mov ecx, edi
call fcn.0040ca60
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov ecx, dword [edx + 0xc]
mov dword [ecx + 0x50], eax
mov ebx, dword [edx + 4]
mov ecx, ebx
mov eax, dword [edx + 0xc]
mov esi, dword [ebx + 4]
mov edi, dword [eax + 0x50]
call fcn.00418af0
mov ecx, dword [esi]
mov edx, edi
mov ecx, dword [ecx + 0xb4]
call fcn.00410ce0
mov ecx, ebx
call fcn.00418bc0
jmp 0x44e1ea
mov ecx, dword [ebp - 0x34]
mov edx, str.temp_store
call fcn.0040c1f0
test eax, eax
jne 0x44c97f
mov edi, dword [ebp - 0x2c]
test edi, edi
jne 0x44c948
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
movzx eax, byte [eax + 0x35]
cdq
push edx
push eax
mov edx, str.temp_store
call fcn.0044bc00
add esp, 8
jmp 0x44e1ea
mov ecx, edi
call fcn.0044bb60
mov ebx, eax
mov eax, dword [ebp - 0x24]
mov esi, dword [eax]
movzx ecx, byte [esi + 0x35]
cmp ecx, ebx
je 0x44e1ea
mov ecx, eax
call fcn.0044bbb0
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
test eax, eax
jne 0x44e1f0
mov byte [esi + 0x35], bl
jmp 0x44e1f0
mov ecx, dword [ebp - 0x34]
mov edx, str.temp_store_directory
call fcn.0040c1f0
test eax, eax
jne 0x44ca59
mov edi, dword [ebp - 0x2c]
test edi, edi
jne 0x44c9d9
cmp dword [0x4a1af4], edi
je 0x44e1ea
lea edx, [eax + 1]
mov ecx, esi
call fcn.004259a0
mov eax, dword [esi]
cmp byte [eax + 0x36], 0
jne 0x44c9ce
mov ecx, dword [esi + 0x10]
mov edx, str.temp_store_directory
push edi
push 1
push 0xffffffffffffffff
call fcn.00423690
add esp, 0xc
mov edi, dword [0x4a1af4]
jmp 0x44c430
cmp byte [edi], 0
je 0x44ca0e
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x3c]
push ecx
push 1
push edi
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x44c9fc
cmp dword [ebp - 0x3c], eax
jne 0x44ca0e
push str.not_a_writable_directory
push dword [ebp - 0x24]
call fcn.0040c0f0
jmp 0x44e215
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x35], 1
ja 0x44ca1f
mov ecx, dword [ebp - 0x24]
call fcn.0044bbb0
push dword [0x4a1af4]
call fcn.00409d50
add esp, 4
cmp byte [edi], 0
je 0x44ca4a
push edi
push 0x492a88
call fcn.0040b700
add esp, 8
mov dword [0x4a1af4], eax
jmp 0x44e1ea
mov dword [0x4a1af4], 0
jmp 0x44e1ea
mov ecx, dword [ebp - 0x34]
mov edx, str.data_store_directory
call fcn.0040c1f0
test eax, eax
jne 0x44cb18
mov edi, dword [ebp - 0x2c]
test edi, edi
jne 0x44cab3
cmp dword [0x4a1af0], edi
je 0x44e1ea
lea edx, [eax + 1]
mov ecx, esi
call fcn.004259a0
mov eax, dword [esi]
cmp byte [eax + 0x36], 0
jne 0x44caa8
mov ecx, dword [esi + 0x10]
mov edx, str.data_store_directory
push edi
push 1
push 0xffffffffffffffff
call fcn.00423690
add esp, 0xc
mov edi, dword [0x4a1af0]
jmp 0x44c430
cmp byte [edi], 0
je 0x44cade
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x3c]
push ecx
push 1
push edi
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x44c9fc
cmp dword [ebp - 0x3c], eax
je 0x44c9fc
push dword [0x4a1af0]
call fcn.00409d50
add esp, 4
cmp byte [edi], 0
je 0x44cb09
push edi
push 0x492a88
call fcn.0040b700
add esp, 8
mov dword [0x4a1af0], eax
jmp 0x44e1ea
mov dword [0x4a1af0], 0
jmp 0x44e1ea
mov ecx, dword [ebp - 0x34]
mov edx, str.synchronous
call fcn.0040c1f0
test eax, eax
jne 0x44cb9f
mov ebx, dword [ebp - 0x24]
mov ecx, ebx
call fcn.0044e9d0
test eax, eax
jne 0x44e218
mov edi, dword [ebp - 0x2c]
test edi, edi
jne 0x44cb65
mov eax, dword [ebp - 0x20]
mov ecx, ebx
movzx eax, byte [eax + 9]
cdq
sub eax, 1
sbb edx, edi
push edx
push eax
mov edx, str.synchronous
call fcn.0044bc00
add esp, 8
jmp 0x44e1ea
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x34], 0
jne 0x44cb81
push str.Safety_level_may_not_be_changed_inside_a_transaction
push ebx
call fcn.0040c0f0
add esp, 8
jmp 0x44e1ea
push 1
xor edx, edx
mov ecx, edi
call fcn.0044ba30
mov ecx, dword [ebp - 0x20]
add esp, 4
mov edx, dword [ebp - 0x1c]
inc al
mov byte [ecx + 9], al
jmp 0x44e1f0
push dword [ebp - 0x2c]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x24]
call fcn.0044bd10
add esp, 4
test eax, eax
jne 0x44e1ea
mov ecx, dword [ebp - 0x34]
mov edx, str.table_info
call fcn.0040c1f0
test eax, eax
jne 0x44ce1f
cmp dword [ebp - 0x2c], eax
je 0x44ce1f
mov ecx, dword [ebp - 0x24]
call fcn.0044e9d0
test eax, eax
jne 0x44e218
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
push edi
call fcn.0043cab0
mov ebx, eax
add esp, 4
mov dword [ebp - 0x38], ebx
test ebx, ebx
je 0x44e1ea
xor edi, edi
mov ecx, esi
mov dword [ebp - 0x28], edi
lea edx, [edi + 6]
call fcn.004259a0
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x4c], 6
mov ecx, dword [esi]
cmp byte [ecx + 0x36], 0
jne 0x44ccea
mov ecx, dword [esi + 0x10]
mov edx, 0x49513c
push edi
push 1
push 0xffffffffffffffff
call fcn.00423690
mov ecx, dword [esi]
add esp, 0xc
cmp byte [ecx + 0x36], 0
jne 0x44ccea
mov ecx, dword [esi + 0x10]
mov edx, str.name
push edi
push 1
push 0xffffffffffffffff
add ecx, 0x28
call fcn.00423690
mov ecx, dword [esi]
add esp, 0xc
cmp byte [ecx + 0x36], 0
jne 0x44ccea
mov ecx, dword [esi + 0x10]
mov edx, str.type
push edi
push 1
push 0xffffffffffffffff
add ecx, 0x50
call fcn.00423690
mov ecx, dword [esi]
add esp, 0xc
cmp byte [ecx + 0x36], 0
jne 0x44ccea
mov ecx, dword [esi + 0x10]
mov edx, str.notnull
push edi
push 1
push 0xffffffffffffffff
add ecx, 0x78
call fcn.00423690
mov ecx, dword [esi]
add esp, 0xc
cmp byte [ecx + 0x36], 0
jne 0x44ccea
mov ecx, dword [esi + 0x10]
mov edx, str.dflt_value
push edi
push 1
push 0xffffffffffffffff
add ecx, 0xa0
call fcn.00423690
mov ecx, dword [esi]
add esp, 0xc
cmp byte [ecx + 0x36], 0
jne 0x44ccea
mov ecx, dword [esi + 0x10]
mov edx, 0x495164
push edi
push 1
push 0xffffffffffffffff
add ecx, 0xc8
call fcn.00423690
add esp, 0xc
mov ecx, dword [ebp - 0x24]
mov edx, ebx
call fcn.0043e960
mov ecx, dword [ebp - 0x38]
xor eax, eax
mov ebx, dword [ebx + 0xc]
mov dword [ebp - 0x48], eax
cmp dword [ecx + 8], eax
jle 0x44e1ea
cmp byte [ebx + 0x17], 0
je 0x44cd17
inc edi
mov dword [ebp - 0x28], edi
jmp 0x44ce0a
push 0
sub eax, edi
mov edx, 7
push 1
push eax
mov ecx, esi
call fcn.004242a0
mov edi, dword [ebx]
add esp, 0xc
mov edx, 0x5e
mov ecx, esi
push 0
push 2
push 0
call fcn.004242a0
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0
push edi
call fcn.004249e0
mov eax, dword [ebx + 0xc]
mov edi, 0x491f94
push 0
test eax, eax
mov edx, 0x5e
push 3
push 0
mov ecx, esi
cmovne edi, eax
call fcn.004242a0
add esp, 0x14
mov edx, eax
mov ecx, esi
push 0
push edi
call fcn.004249e0
xor eax, eax
mov edx, 7
cmp byte [ebx + 0x14], al
mov ecx, esi
push 0
setne al
push 4
push eax
call fcn.004242a0
mov edi, dword [ebx + 8]
add esp, 0x14
mov ecx, esi
push 0
push 5
push 0
test edi, edi
je 0x44cdc7
mov edx, 0x5e
call fcn.004242a0
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0
push edi
call fcn.004249e0
add esp, 8
jmp 0x44cdd4
mov edx, 0xa
call fcn.004242a0
add esp, 0xc
movzx eax, byte [ebx + 0x15]
mov edx, 7
push 0
push 6
push eax
mov ecx, esi
call fcn.004242a0
add esp, 0xc
mov edx, 0x10
mov ecx, esi
push 0
push 6
push 1
call fcn.004242a0
mov eax, dword [ebp - 0x48]
add esp, 0xc
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x38]
inc eax
add ebx, 0x18
mov dword [ebp - 0x48], eax
cmp eax, dword [ecx + 8]
jl 0x44cd08
jmp 0x44e1ea
mov ecx, dword [ebp - 0x34]
mov edx, str.index_info
call fcn.0040c1f0
test eax, eax
jne 0x44cf6e
cmp dword [ebp - 0x2c], eax
je 0x44cf6e
mov ebx, dword [ebp - 0x24]
mov ecx, ebx
call fcn.0044e9d0
test eax, eax
jne 0x44e218
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
push edi
call fcn.0043cc50
mov edi, eax
add esp, 4
mov dword [ebp - 0x28], edi
test edi, edi
je 0x44e1ea
mov eax, dword [edi + 0xc]
mov edx, 3
mov ecx, esi
mov dword [ebp - 0x3c], eax
call fcn.004259a0
mov dword [ebx + 0x4c], 3
mov eax, dword [esi]
cmp byte [eax + 0x36], 0
jne 0x44cee4
mov ecx, dword [esi + 0x10]
mov edx, str.seqno
push 0
push 1
push 0xffffffffffffffff
call fcn.00423690
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x36], 0
jne 0x44cee4
mov ecx, dword [esi + 0x10]
mov edx, 0x49513c
push 0
push 1
push 0xffffffffffffffff
add ecx, 0x28
call fcn.00423690
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x36], 0
jne 0x44cee4
mov ecx, dword [esi + 0x10]
mov edx, str.name
push 0
push 1
push 0xffffffffffffffff
add ecx, 0x50
call fcn.00423690
add esp, 0xc
xor ebx, ebx
cmp dword [edi + 0x24], ebx
jle 0x44e1ea
nop
mov eax, dword [edi + 4]
mov edx, 7
push 0
push 1
push ebx
mov edi, dword [eax + ebx*4]
mov ecx, esi
call fcn.004242a0
add esp, 0xc
mov edx, 7
mov ecx, esi
push 0
push 2
push edi
call fcn.004242a0
mov eax, dword [ebp - 0x3c]
lea ecx, [edi + edi*2]
add esp, 0xc
mov edx, 0x5e
mov eax, dword [eax + 0xc]
push 0
push 3
push 0
mov edi, dword [eax + ecx*8]
mov ecx, esi
call fcn.004242a0
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0
push edi
call fcn.004249e0
push 0
push 3
push 1
mov edx, 0x10
mov ecx, esi
call fcn.004242a0
mov edi, dword [ebp - 0x28]
inc ebx
add esp, 0x14
cmp ebx, dword [edi + 0x24]
jl 0x44cef0
jmp 0x44e1ea
mov ecx, dword [ebp - 0x34]
mov edx, str.index_list
call fcn.0040c1f0
test eax, eax
jne 0x44d0bc
cmp dword [ebp - 0x2c], eax
je 0x44d0bc
mov esi, dword [ebp - 0x24]
mov ecx, esi
call fcn.0044e9d0
test eax, eax
jne 0x44e218
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
push edi
call fcn.0043cab0
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x44e1ea
mov ecx, esi
call fcn.00451640
mov ebx, dword [ebx + 0x10]
mov edi, eax
test ebx, ebx
je 0x44e1ea
xor esi, esi
mov ecx, edi
mov dword [ebp - 0x28], esi
lea edx, [esi + 3]
call fcn.004259a0
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x4c], 3
mov eax, dword [edi]
cmp byte [eax + 0x36], 0
jne 0x44d041
mov ecx, dword [edi + 0x10]
mov edx, 0x495188
push esi
push 1
push 0xffffffffffffffff
call fcn.00423690
mov eax, dword [edi]
add esp, 0xc
cmp byte [eax + 0x36], 0
jne 0x44d041
mov ecx, dword [edi + 0x10]
mov edx, str.name
push esi
push 1
push 0xffffffffffffffff
add ecx, 0x28
call fcn.00423690
mov eax, dword [edi]
add esp, 0xc
cmp byte [eax + 0x36], 0
jne 0x44d041
mov ecx, dword [edi + 0x10]
mov edx, str.unique
push esi
push 1
push 0xffffffffffffffff
add ecx, 0x50
call fcn.00423690
add esp, 0xc
push 0
push 1
push esi
mov edx, 7
mov ecx, edi
call fcn.004242a0
mov esi, dword [ebx]
add esp, 0xc
mov edx, 0x5e
mov ecx, edi
push 0
push 2
push 0
call fcn.004242a0
add esp, 0xc
mov edx, eax
mov ecx, edi
push 0
push esi
call fcn.004249e0
xor eax, eax
mov edx, 7
cmp byte [ebx + 0x2c], al
mov ecx, edi
push 0
setne al
push 3
push eax
call fcn.004242a0
add esp, 0x14
mov edx, 0x10
mov ecx, edi
push 0
push 3
push 1
call fcn.004242a0
mov esi, dword [ebp - 0x28]
add esp, 0xc
mov ebx, dword [ebx + 0x14]
inc esi
mov dword [ebp - 0x28], esi
test ebx, ebx
jne 0x44d041
jmp 0x44e1ea
mov ecx, dword [ebp - 0x34]
mov edx, str.database_list
call fcn.0040c1f0
test eax, eax
jne 0x44d232
mov ebx, dword [ebp - 0x24]
mov ecx, ebx
call fcn.0044e9d0
test eax, eax
jne 0x44e218
lea edx, [eax + 3]
mov ecx, esi
call fcn.004259a0
mov dword [ebx + 0x4c], 3
mov eax, dword [esi]
cmp byte [eax + 0x36], 0
jne 0x44d154
mov ecx, dword [esi + 0x10]
mov edx, 0x495188
push 0
push 1
push 0xffffffffffffffff
call fcn.00423690
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x36], 0
jne 0x44d154
mov ecx, dword [esi + 0x10]
mov edx, str.name
push 0
push 1
push 0xffffffffffffffff
add ecx, 0x28
call fcn.00423690
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x36], 0
jne 0x44d154
mov ecx, dword [esi + 0x10]
mov edx, str.file
push 0
push 1
push 0xffffffffffffffff
add ecx, 0x50
call fcn.00423690
add esp, 0xc
mov edx, dword [ebp - 0x1c]
xor ecx, ecx
mov dword [ebp - 0x28], ecx
cmp dword [edx + 0x14], ecx
jle 0x44e1ed
xor ebx, ebx
nop word [eax + eax]
mov eax, dword [edx + 0x10]
cmp dword [eax + ebx + 4], 0
je 0x44d21d
push 0
push 1
push ecx
mov edx, 7
mov ecx, esi
call fcn.004242a0
mov eax, dword [ebp - 0x1c]
add esp, 0xc
mov edx, 0x5e
mov ecx, esi
mov eax, dword [eax + 0x10]
push 0
push 2
push 0
mov edi, dword [ebx + eax]
call fcn.004242a0
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0
push edi
call fcn.004249e0
mov eax, dword [ebp - 0x1c]
add esp, 8
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ebx + 4]
mov eax, dword [eax + 4]
mov edi, dword [eax]
cmp byte [edi + 0xe], 0
je 0x44d1db
mov edi, 0x491f94
jmp 0x44d1e1
mov edi, dword [edi + 0x90]
push 0
push 3
push 0
mov edx, 0x5e
mov ecx, esi
call fcn.004242a0
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0
push edi
call fcn.004249e0
push 0
push 3
push 1
mov edx, 0x10
mov ecx, esi
call fcn.004242a0
mov ecx, dword [ebp - 0x28]
add esp, 0x14
mov edx, dword [ebp - 0x1c]
inc ecx
add ebx, 0x10
mov dword [ebp - 0x28], ecx
cmp ecx, dword [edx + 0x14]
jl 0x44d170
jmp 0x44e1ed
mov ecx, dword [ebp - 0x34]
mov edx, str.collation_list
call fcn.0040c1f0
test eax, eax
jne 0x44d30f
lea edx, [eax + 2]
mov dword [ebp - 0x38], eax
mov ecx, esi
call fcn.004259a0
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x4c], 2
mov eax, dword [esi]
cmp byte [eax + 0x36], 0
jne 0x44d29d
mov ecx, dword [esi + 0x10]
mov edx, 0x495188
push 0
push 1
push 0xffffffffffffffff
call fcn.00423690
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x36], 0
jne 0x44d29d
mov ecx, dword [esi + 0x10]
mov edx, str.name
push 0
push 1
push 0xffffffffffffffff
add ecx, 0x28
call fcn.00423690
add esp, 0xc
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0x1a4]
test ebx, ebx
je 0x44e1ea
nop
mov edi, dword [ebx + 8]
mov edx, 7
push 0
push 1
push dword [ebp - 0x38]
mov ecx, esi
call fcn.004242a0
inc dword [ebp - 0x38]
add esp, 0xc
mov edi, dword [edi]
mov edx, 0x5e
mov ecx, esi
push 0
push 2
push 0
call fcn.004242a0
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0
push edi
call fcn.004249e0
push 0
push 2
push 1
mov edx, 0x10
mov ecx, esi
call fcn.004242a0
mov ebx, dword [ebx]
add esp, 0x14
test ebx, ebx
jne 0x44d2b0
jmp 0x44e1ea
mov ecx, dword [ebp - 0x34]
mov edx, str.foreign_key_list
call fcn.0040c1f0
test eax, eax
jne 0x44d69a
cmp dword [ebp - 0x2c], eax
je 0x44d69a
mov esi, dword [ebp - 0x24]
mov ecx, esi
call fcn.0044e9d0
test eax, eax
jne 0x44e218
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
push edi
call fcn.0043cab0
mov ebx, eax
add esp, 4
mov dword [ebp - 0x3c], ebx
test ebx, ebx
je 0x44e1ea
mov ecx, esi
call fcn.00451640
mov edi, dword [ebx + 0x24]
mov esi, eax
mov dword [ebp - 0x44], esi
test edi, edi
je 0x44e1ea
xor ebx, ebx
mov ecx, esi
mov dword [ebp - 0x4c], ebx
lea edx, [ebx + 8]
call fcn.004259a0
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x4c], 8
mov eax, dword [esi]
cmp byte [eax + 0x36], bl
jne 0x44d4a0
mov ecx, dword [esi + 0x10]
mov edx, 0x4951c8
push ebx
push 1
push 0xffffffffffffffff
call fcn.00423690
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x36], bl
jne 0x44d4a0
mov ecx, dword [esi + 0x10]
mov edx, 0x495188
push ebx
push 1
push 0xffffffffffffffff
add ecx, 0x28
call fcn.00423690
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x36], bl
jne 0x44d4a0
mov ecx, dword [esi + 0x10]
mov edx, str.table
push ebx
push 1
push 0xffffffffffffffff
add ecx, 0x50
call fcn.00423690
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x36], bl
jne 0x44d4a0
mov ecx, dword [esi + 0x10]
mov edx, str.from
push ebx
push 1
push 0xffffffffffffffff
add ecx, 0x78
call fcn.00423690
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x36], bl
jne 0x44d4a0
mov ecx, dword [esi + 0x10]
mov edx, 0x4951d4
push ebx
push 1
push 0xffffffffffffffff
add ecx, 0xa0
call fcn.00423690
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x36], bl
jne 0x44d4a0
mov ecx, dword [esi + 0x10]
mov edx, str.on_update
push ebx
push 1
push 0xffffffffffffffff
add ecx, 0xc8
call fcn.00423690
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x36], bl
jne 0x44d4a0
mov ecx, dword [esi + 0x10]
mov edx, str.on_delete
push ebx
push 1
push 0xffffffffffffffff
add ecx, 0xf0
call fcn.00423690
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x36], bl
jne 0x44d4a0
mov ecx, dword [esi + 0x10]
mov edx, str.match
push ebx
push 1
push 0xffffffffffffffff
add ecx, 0x118
call fcn.00423690
add esp, 0xc
cmp dword [edi + 0x14], 0
mov dword [ebp - 0x38], 0
jle 0x44d686
lea eax, [edi + 0x24]
mov dword [ebp - 0x48], eax
nop word [eax + eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x28], eax
movzx eax, byte [edi + 0x19]
add eax, 0xfffffffa
cmp eax, 3
ja case.default.0x44d4d2
jmp dword [eax*4 + 0x44e240]
mov dword [ebp - 0x30], str.SET_NULL
jmp 0x44d504
mov dword [ebp - 0x30], str.SET_DEFAULT
jmp 0x44d504
mov dword [ebp - 0x30], str.CASCADE
jmp 0x44d504
mov dword [ebp - 0x30], str.RESTRICT
jmp 0x44d504
mov dword [ebp - 0x30], str.NO_ACTION
movzx eax, byte [edi + 0x1a]
add eax, 0xfffffffa
cmp eax, 3
ja case.default.0x44d510
jmp dword [eax*4 + 0x44e250]
mov ebx, str.SET_NULL
jmp 0x44d538
mov ebx, str.SET_DEFAULT
jmp 0x44d538
mov ebx, str.CASCADE
jmp 0x44d538
mov ebx, str.RESTRICT
jmp 0x44d538
mov ebx, str.NO_ACTION
push 0
push 1
push dword [ebp - 0x4c]
mov edx, 7
mov ecx, esi
call fcn.004242a0
add esp, 0xc
mov edx, 7
mov ecx, esi
push 0
push 2
push dword [ebp - 0x38]
call fcn.004242a0
mov ecx, dword [ebp - 0x44]
add esp, 0xc
mov esi, dword [edi + 8]
mov edx, 0x5e
push 0
push 3
push 0
call fcn.004242a0
mov ecx, dword [ebp - 0x44]
add esp, 0xc
mov edx, eax
push 0
push esi
call fcn.004249e0
mov eax, dword [ebp - 0x48]
mov edx, 0x5e
push 0
push 4
push 0
mov eax, dword [eax]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + ecx*8]
mov ecx, dword [ebp - 0x44]
call fcn.004242a0
add esp, 0x14
mov edx, eax
push 0
push esi
mov esi, dword [ebp - 0x44]
mov ecx, esi
call fcn.004249e0
cmp dword [ebp - 0x28], 0
mov eax, 0x5e
push 0
push 5
mov edx, 0xa
mov ecx, esi
push 0
cmovne edx, eax
call fcn.004242a0
add esp, 0x14
mov edx, eax
mov ecx, esi
push 0
push dword [ebp - 0x28]
call fcn.004249e0
push 0
push 6
push 0
mov edx, 0x5e
mov ecx, esi
call fcn.004242a0
add esp, 0x14
mov edx, eax
mov ecx, esi
push 0
push ebx
call fcn.004249e0
push 0
push 7
mov ebx, 0x5e
mov ecx, esi
push 0
mov edx, ebx
call fcn.004242a0
add esp, 0x14
push 0
push dword [ebp - 0x30]
mov edx, eax
mov ecx, esi
call fcn.004249e0
push 0
push 8
push 0
mov edx, ebx
mov ecx, esi
call fcn.004242a0
add esp, 0x14
mov edx, eax
mov ecx, esi
push 0
push str.NONE
call fcn.004249e0
push 0
push 8
push 1
lea edx, [ebx - 0x4e]
mov ecx, esi
call fcn.004242a0
mov ecx, dword [ebp - 0x38]
add esp, 0x14
mov eax, dword [ebp - 0x48]
inc ecx
add eax, 8
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x48], eax
cmp ecx, dword [edi + 0x14]
jl 0x44d4c0
mov ebx, dword [ebp - 0x4c]
mov edi, dword [edi + 4]
inc ebx
mov dword [ebp - 0x4c], ebx
test edi, edi
jne 0x44d4a0
jmp 0x44e1ea
mov edi, dword [ebp - 0x34]
mov edx, str.case_sensitive_like
mov ecx, edi
call fcn.0040c1f0
test eax, eax
jne 0x44d6da
mov edi, dword [ebp - 0x2c]
test edi, edi
je 0x44e1ea
push eax
lea edx, [eax + 1]
mov ecx, edi
call fcn.0044ba30
mov ecx, dword [ebp - 0x1c]
xor edx, edx
add esp, 4
test al, al
setne dl
call fcn.00445220
jmp 0x44e1ea
mov edx, str.integrity_check
mov ecx, edi
call fcn.0040c1f0
test eax, eax
je 0x44db88
mov edx, str.quick_check
mov ecx, edi
call fcn.0040c1f0
test eax, eax
je 0x44db88
mov edx, str.encoding
mov ecx, edi
call fcn.0040c1f0
test eax, eax
jne 0x44d804
mov edi, dword [ebp - 0x2c]
test edi, edi
jne 0x44d77a
mov ebx, dword [ebp - 0x24]
mov ecx, ebx
call fcn.0044e9d0
test eax, eax
jne 0x44e218
lea edx, [edi + 1]
mov ecx, esi
call fcn.004259a0
push edi
push str.encoding
push edi
xor edx, edx
mov ecx, esi
call fcn.00425a30
add esp, 0xc
lea edx, [edi + 0x5e]
mov ecx, esi
push edi
push 1
push edi
call fcn.004242a0
mov eax, dword [ebx]
add esp, 0xc
or edx, 0xffffffff
mov eax, dword [eax + 0x10]
push 0xfffffffffffffffe
mov eax, dword [eax + 0xc]
movzx eax, byte [eax + 0x4d]
push dword [eax*8 + 0x4968a8]
jmp 0x44c44a
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4e]
and al, 5
cmp al, 1
je 0x44e1ea
mov eax, dword [str.UTF8]
mov esi, 0x4968a8
test eax, eax
je 0x44d7f1
nop
mov edx, eax
mov ecx, edi
call fcn.0040c1f0
test eax, eax
je 0x44d7ca
mov eax, dword [esi + 8]
add esi, 8
test eax, eax
jne 0x44d7a0
push edi
push str.unsupported_encoding:__s
push dword [ebp - 0x24]
call fcn.0040c0f0
jmp 0x44e1e7
mov cl, byte [esi + 4]
mov edx, 2
test cl, cl
movzx eax, cl
cmovne edx, eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov byte [eax + 0x4d], dl
cmp dword [esi], 0
jne 0x44e1ea
push edi
push str.unsupported_encoding:__s
push dword [ebp - 0x24]
call fcn.0040c0f0
jmp 0x44e1e7
mov edx, str.schema_version
mov ecx, edi
call fcn.0040c1f0
test eax, eax
je 0x44da4f
mov edx, str.user_version
mov ecx, edi
call fcn.0040c1f0
test eax, eax
je 0x44da4f
mov edx, str.freelist_count
mov ecx, edi
call fcn.0040c1f0
test eax, eax
je 0x44da4f
mov edx, str.compile_options
mov ecx, edi
call fcn.0040c1f0
test eax, eax
jne 0x44d8d0
lea edx, [eax + 1]
mov ecx, esi
xor edi, edi
call fcn.004259a0
mov eax, dword [ebp - 0x24]
xor edx, edx
push edi
push str.compile_option
push edi
mov ecx, esi
mov dword [eax + 0x4c], 1
call fcn.00425a30
add esp, 0xc
mov eax, 0x5e
cmp edi, 2
ja 0x44d890
mov ebx, dword [edi*4 + 0x4996f4]
jmp 0x44d892
xor ebx, ebx
inc edi
test ebx, ebx
je 0x44e1ea
push 0
push 1
push 0
mov edx, eax
mov ecx, esi
call fcn.004242a0
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0
push ebx
call fcn.004249e0
push 0
push 1
push 1
mov edx, 0x10
mov ecx, esi
call fcn.004242a0
add esp, 0x14
jmp 0x44d87d
mov edx, str.wal_checkpoint
mov ecx, edi
call fcn.0040c1f0
test eax, eax
jne 0x44d9bb
cmp dword [ebx], 0
mov eax, 0xa
mov ebx, dword [ebp - 0x2c]
cmovne eax, dword [ebp - 0x30]
xor edi, edi
mov dword [ebp - 0x3c], eax
test ebx, ebx
je 0x44d927
mov edx, str.full
mov ecx, ebx
call fcn.0040c1f0
test eax, eax
jne 0x44d911
lea edi, [eax + 1]
jmp 0x44d927
mov edx, str.restart
mov ecx, ebx
call fcn.0040c1f0
test eax, eax
mov eax, 2
cmove edi, eax
mov ebx, dword [ebp - 0x24]
mov ecx, ebx
call fcn.0044e9d0
test eax, eax
jne 0x44e218
lea edx, [eax + 3]
mov ecx, esi
call fcn.004259a0
push 0
push str.busy
push 0
xor edx, edx
mov dword [ebx + 0x4c], 3
mov ecx, esi
call fcn.00425a30
add esp, 0xc
mov edx, 1
mov ecx, esi
push 0
push 0x49536c
push 0
call fcn.00425a30
add esp, 0xc
mov edx, 2
mov ecx, esi
push 0
push str.checkpointed
push 0
call fcn.00425a30
add esp, 0xc
mov edx, 0x7d
mov ecx, esi
push 1
push edi
push dword [ebp - 0x3c]
call fcn.004242a0
add esp, 0xc
mov edx, 0x10
mov ecx, esi
push 0
push 3
push 1
call fcn.004242a0
jmp 0x44e1e7
mov edx, str.wal_autocheckpoint
mov ecx, edi
call fcn.0040c1f0
test eax, eax
jne 0x44da2e
mov edi, dword [ebp - 0x2c]
test edi, edi
je 0x44d9fd
lea edx, [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov ecx, edi
call fcn.0040ca60
mov eax, dword [ebp - 0x28]
test eax, eax
jle 0x44d9ee
push eax
push 0x467740
jmp 0x44d9f2
push 0
push 0
push dword [ebp - 0x1c]
call fcn.00467880
add esp, 0xc
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0xbc], 0x467740
jne 0x44da14
mov eax, dword [eax + 0xc0]
jmp 0x44da16
xor eax, eax
mov ecx, dword [ebp - 0x24]
cdq
push edx
push eax
mov edx, str.wal_autocheckpoint
call fcn.0044bc00
add esp, 8
jmp 0x44e1ea
mov edx, str.shrink_memory
mov ecx, edi
call fcn.0040c1f0
test eax, eax
jne 0x44e1ea
mov ecx, dword [ebp - 0x1c]
call fcn.00466480
jmp 0x44e1ea
mov ebx, dword [ebp - 0x30]
mov ecx, esi
mov edx, ebx
call fcn.00424e50
movsx eax, byte [edi]
add eax, 0xffffffba
cmp eax, 0x2d
ja case.0x44da6d.71
movzx eax, byte [eax + 0x44e26c]
jmp dword [eax*4 + 0x44e260]
xor edi, edi
jmp 0x44da84
mov edi, 1
jmp 0x44da84
mov edi, 6
cmp dword [ebp - 0x2c], 0
je 0x44db1c
test edi, edi
je 0x44db1c
push 0x498a98
mov edx, 3
mov ecx, esi
call fcn.004247c0
mov ebx, eax
add esp, 4
cmp dword [esi + 0x1c], ebx
jbe 0x44dabe
mov ecx, dword [esi + 4]
lea edx, [ebx + ebx*4]
mov eax, dword [ebp - 0x30]
mov dword [ecx + edx*4 + 4], eax
mov ecx, dword [ebp - 0x2c]
lea edx, [ebp - 0x28]
mov dword [ebp - 0x28], 0
call fcn.0040ca60
mov eax, dword [esi + 0x1c]
lea ecx, [ebx + 1]
cmp eax, ecx
jbe 0x44daea
mov eax, dword [ebp - 0x28]
lea edx, [ecx + ecx*4]
mov ecx, dword [esi + 4]
mov dword [ecx + edx*4 + 4], eax
mov eax, dword [esi + 0x1c]
lea edx, [ebx + 2]
cmp eax, edx
jbe 0x44e1ea
mov eax, dword [esi + 4]
lea ecx, [edx + edx*4]
mov ebx, dword [ebp - 0x30]
mov dword [eax + ecx*4 + 4], ebx
mov eax, dword [esi + 0x1c]
cmp eax, edx
jbe 0x44e1ea
mov eax, dword [esi + 4]
lea ecx, [edx + edx*4]
mov dword [eax + ecx*4 + 8], edi
jmp 0x44e1ea
push 0x4991cc
mov edx, 3
mov ecx, esi
call fcn.004247c0
mov ecx, dword [esi + 0x1c]
add esp, 4
cmp ecx, eax
jbe 0x44db44
mov ecx, dword [esi + 4]
lea edx, [eax + eax*4]
mov dword [ecx + edx*4 + 4], ebx
mov ecx, dword [esi + 0x1c]
lea edx, [eax + 1]
cmp ecx, edx
jbe 0x44db66
mov eax, dword [esi + 4]
lea ecx, [edx + edx*4]
mov dword [eax + ecx*4 + 4], ebx
mov ecx, dword [esi + 0x1c]
cmp ecx, edx
jbe 0x44db66
mov eax, dword [esi + 4]
lea ecx, [edx + edx*4]
mov dword [eax + ecx*4 + 0xc], edi
mov edx, 1
mov ecx, esi
call fcn.004259a0
mov ebx, dword [ebp - 0x34]
xor edx, edx
push 0xffffffffffffffff
push ebx
push 0
mov ecx, esi
call fcn.00425a30
jmp 0x44e1e7
movzx eax, byte [edi]
or ecx, 0xffffffff
cmp dword [ebx], 0
mov edi, dword [ebp - 0x24]
mov al, byte [eax + 0x497d10]
mov byte [ebp - 0x3d], al
mov eax, dword [ebp - 0x30]
cmove eax, ecx
mov ecx, edi
mov dword [ebp - 0x30], eax
call fcn.0044e9d0
test eax, eax
jne 0x44e218
lea edx, [eax + 1]
mov dword [edi + 0x4c], 6
mov ecx, esi
call fcn.004259a0
push 0
push str.integrity_check
push 0
xor edx, edx
mov ecx, esi
call fcn.00425a30
mov ecx, dword [ebp - 0x2c]
add esp, 0xc
mov eax, 0x64
mov dword [ebp - 0x38], eax
test ecx, ecx
je 0x44dc02
lea edx, [ebp - 0x38]
call fcn.0040ca60
mov eax, dword [ebp - 0x38]
mov ecx, 0x64
test eax, eax
cmovle eax, ecx
mov dword [ebp - 0x38], eax
push 0
push 1
push eax
mov edx, 7
mov ecx, esi
call fcn.004242a0
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
add esp, 0xc
mov dword [ebp - 0x4c], ecx
cmp dword [eax + 0x14], ecx
jle 0x44e0db
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x48], ecx
nop dword [eax]
xor ebx, ebx
test eax, eax
js 0x44dc3e
cmp ecx, eax
jne 0x44e0c7
mov edx, ecx
mov ecx, edi
call fcn.00440dc0
push 0
push 0
push 1
mov edx, 0x78
mov ecx, esi
call fcn.004242a0
add esp, 0xc
mov edx, 6
mov ecx, esi
mov edi, eax
push 0
push 0
push 0
call fcn.004242a0
add esp, 0xc
test edi, edi
js 0x44dc88
mov edx, dword [esi + 0x1c]
cmp edx, edi
jbe 0x44dc88
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
mov edi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x48]
mov eax, dword [edi + 0x10]
mov eax, dword [eax + ecx + 0xc]
mov dword [ebp - 0x3c], eax
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x44dcf4
mov edi, dword [eax + 8]
mov edx, 7
push 0
lea eax, [ebx + 2]
mov ecx, esi
push eax
push dword [edi + 0x14]
call fcn.004242a0
mov edi, dword [edi + 0x10]
add esp, 0xc
inc ebx
test edi, edi
je 0x44dce5
push 0
lea eax, [ebx + 2]
mov edx, 7
push eax
push dword [edi + 0x28]
mov ecx, esi
call fcn.004242a0
mov edi, dword [edi + 0x14]
add esp, 0xc
inc ebx
test edi, edi
jne 0x44dcc5
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
test eax, eax
jne 0x44dca2
mov edi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
lea eax, [ebx + 4]
cmp dword [ecx + 0x4c], eax
jge 0x44dd02
mov dword [ecx + 0x4c], eax
push 1
push ebx
push 2
mov edx, 0x6f
mov ecx, esi
call fcn.004242a0
mov ecx, dword [esi + 4]
add esp, 0xc
test ecx, ecx
je 0x44dd2a
mov eax, dword [esi + 0x1c]
mov edx, dword [ebp - 0x4c]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 - 0x11], dl
push 0
push 0
push 2
mov edx, 0x49
mov ecx, esi
call fcn.004242a0
mov ecx, dword [edi + 0x10]
add esp, 0xc
mov ebx, eax
mov eax, dword [ebp - 0x48]
push dword [ecx + eax]
push str._in_database__s__n
push edi
call fcn.0040b620
add esp, 0xc
mov edx, 0x5e
mov ecx, esi
mov edi, eax
push 0
push 3
push 0
call fcn.004242a0
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0xffffffffffffffff
push edi
call fcn.004249e0
push 1
push 4
push 2
mov edx, 0xd
mov ecx, esi
call fcn.004242a0
add esp, 0x14
mov edx, 0x5b
mov ecx, esi
push 2
push 3
push 4
call fcn.004242a0
add esp, 0xc
mov edx, 0x10
mov ecx, esi
push 0
push 1
push 2
call fcn.004242a0
add esp, 0xc
test ebx, ebx
js 0x44ddcf
mov edx, dword [esi + 0x1c]
cmp edx, ebx
jbe 0x44ddcf
mov eax, dword [esi + 4]
lea ecx, [ebx + ebx*4]
mov dword [eax + ecx*4 + 8], edx
mov eax, dword [ebp - 0x3c]
mov ebx, dword [eax + 0x10]
mov dword [ebp - 0x3c], ebx
test ebx, ebx
je 0x44e0be
mov al, byte [ebp - 0x3d]
cmp al, 0x71
je 0x44e0be
mov ebx, dword [ebx + 8]
mov dword [ebp - 0x50], ebx
cmp dword [ebx + 0x10], 0
je 0x44e0ae
push 0
push 0
push 1
mov edx, 0x78
mov ecx, esi
call fcn.004242a0
add esp, 0xc
mov edx, 6
mov ecx, esi
mov edi, eax
push 0
push 0
push 0
call fcn.004242a0
add esp, 0xc
test edi, edi
js 0x44de3c
mov edx, dword [esi + 0x1c]
cmp edx, edi
jbe 0x44de3c
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
mov ecx, dword [ebp - 0x24]
mov edx, ebx
push 0x27
push 1
call fcn.0044a9f0
push 0
push 2
push 0
mov edx, 7
mov ecx, esi
call fcn.004242a0
add esp, 0x14
mov edx, 0x48
mov ecx, esi
push 0
push 0
push 1
call fcn.004242a0
add esp, 0xc
mov edi, eax
mov edx, 0x14
mov dword [ebp - 0x5c], edi
mov ecx, esi
push 0
push 1
push 2
call fcn.004242a0
mov ebx, dword [ebx + 0x10]
add esp, 0xc
mov dword [ebp - 0x44], ebx
test ebx, ebx
je 0x44df6b
mov dword [ebp - 0x28], 2
mov ecx, dword [ebp - 0x24]
mov edx, ebx
push 0
push 3
push 1
call fcn.004428b0
mov edi, dword [ebx + 0x24]
add esp, 0xc
mov edx, 0x34
mov ecx, esi
inc edi
push eax
push 0
push dword [ebp - 0x28]
call fcn.004242a0
add esp, 0xc
mov ebx, eax
mov edx, ebx
mov ecx, esi
push 0xfffffffffffffff2
push edi
call fcn.004249e0
push 0x4998e8
mov edx, 0xb
mov ecx, esi
call fcn.004247c0
add esp, 0xc
mov edi, eax
mov ecx, esi
push 0xfffffffffffffffe
push 0x495248
lea edx, [edi + 1]
call fcn.004249e0
push 0xfffffffffffffffe
push str._missing_from_index
lea edx, [edi + 3]
mov ecx, esi
call fcn.004249e0
mov eax, dword [ebp - 0x44]
lea edx, [edi + 4]
push 0
mov ecx, esi
push dword [eax]
call fcn.004249e0
add esp, 0x18
add edi, 9
js 0x44df3f
mov edx, dword [esi + 0x1c]
cmp edx, edi
jbe 0x44df3f
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
test ebx, ebx
js 0x44df54
mov edx, dword [esi + 0x1c]
cmp edx, ebx
jbe 0x44df54
mov eax, dword [esi + 4]
lea ecx, [ebx + ebx*4]
mov dword [eax + ecx*4 + 8], edx
mov ebx, dword [ebp - 0x44]
inc dword [ebp - 0x28]
mov ebx, dword [ebx + 0x14]
mov dword [ebp - 0x44], ebx
test ebx, ebx
jne 0x44dea3
mov edi, dword [ebp - 0x5c]
push 0
lea eax, [edi + 1]
mov edx, 0x5f
push eax
push 1
mov ecx, esi
call fcn.004242a0
add esp, 0xc
test edi, edi
js 0x44df97
mov edx, dword [esi + 0x1c]
cmp edx, edi
jbe 0x44df97
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x44e0ab
mov dword [ebp - 0x44], 2
nop
push 0
push 0
push 1
mov edx, 0x78
mov ecx, esi
call fcn.004242a0
add esp, 0xc
mov edx, 6
mov ecx, esi
mov edi, eax
push 0
push 0
push 0
call fcn.004242a0
add esp, 0xc
test edi, edi
js 0x44dff1
mov edx, dword [esi + 0x1c]
cmp edx, edi
jbe 0x44dff1
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
push 0x4998c0
mov edx, 0xa
mov ecx, esi
call fcn.004247c0
mov edx, dword [esi + 0x1c]
mov ebx, eax
add esp, 4
lea edi, [ebx + 1]
cmp edx, edi
jbe 0x44e035
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
mov edx, dword [ebp - 0x44]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esi + 0x1c]
cmp edx, edi
jbe 0x44e035
mov eax, dword [esi + 4]
lea edx, [ebx + 4]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esi + 0x1c]
lea edi, [ebx + 3]
cmp edx, edi
jbe 0x44e060
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
mov edx, dword [ebp - 0x44]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esi + 0x1c]
cmp edx, edi
jbe 0x44e060
mov eax, dword [esi + 4]
lea edx, [ebx + 2]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esi + 0x1c]
lea eax, [ebx + 4]
test eax, eax
js 0x44e075
cmp edx, eax
jbe 0x44e075
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 8], edx
push 0xfffffffffffffffe
push str.wrong__of_entries_in_index
lea edx, [ebx + 6]
mov ecx, esi
call fcn.004249e0
mov edi, dword [ebp - 0x28]
lea edx, [ebx + 7]
push 0
mov ecx, esi
push dword [edi]
call fcn.004249e0
mov edi, dword [edi + 0x14]
add esp, 0x10
inc dword [ebp - 0x44]
mov dword [ebp - 0x28], edi
test edi, edi
jne 0x44dfb0
mov al, byte [ebp - 0x3d]
mov ebx, dword [ebp - 0x3c]
mov ebx, dword [ebx]
mov dword [ebp - 0x3c], ebx
test ebx, ebx
jne 0x44dde3
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x30]
mov edi, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x1c]
inc ecx
add dword [ebp - 0x48], 0x10
mov dword [ebp - 0x4c], ecx
cmp ecx, dword [ebx + 0x14]
jl 0x44dc30
push 0x499784
mov edx, 4
mov ecx, esi
call fcn.004247c0
mov ebx, eax
add esp, 4
cmp dword [esi + 0x1c], ebx
jbe 0x44e105
mov edi, dword [ebp - 0x38]
lea edx, [ebx + ebx*4]
mov ecx, dword [esi + 4]
neg edi
mov dword [ecx + edx*4 + 8], edi
lea eax, [ebx + 1]
test eax, eax
js 0x44e11d
mov edx, dword [esi + 0x1c]
cmp edx, eax
jbe 0x44e11d
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 8], edx
push 0xfffffffffffffffe
push 0x495288
lea edx, [ebx + 2]
mov ecx, esi
call fcn.004249e0
add esp, 8
jmp 0x44e1ea
mov ebx, dword [ebp - 0x24]
mov ecx, ebx
call fcn.0044e9d0
test eax, eax
jne 0x44e218
mov edx, dword [ebp - 0x30]
mov ecx, ebx
call fcn.00440dc0
inc dword [ebx + 0x4c]
mov edi, dword [ebx + 0x4c]
mov ebx, dword [ebp - 0x34]
movzx eax, byte [ebx]
cmp byte [eax + 0x497d10], 0x70
jne 0x44e170
push 0
mov edx, 0x92
jmp 0x44e1a1
mov ecx, dword [ebp - 0x2c]
xor eax, eax
mov dword [ebp - 0x3c], eax
test ecx, ecx
je 0x44e19b
lea edx, [ebp - 0x3c]
call fcn.0040ca60
mov eax, dword [ebp - 0x3c]
test eax, eax
jns 0x44e19b
cmp eax, 0x80000000
jne 0x44e199
mov eax, 0x7fffffff
jmp 0x44e19b
neg eax
push eax
mov edx, 0x93
push edi
push dword [ebp - 0x30]
mov ecx, esi
call fcn.004242a0
add esp, 0xc
mov edx, 0x10
mov ecx, esi
push 0
push 1
push edi
call fcn.004242a0
add esp, 0xc
mov edx, 1
mov ecx, esi
call fcn.004259a0
mov eax, dword [esi]
cmp byte [eax + 0x36], 0
jne 0x44e1ea
mov ecx, dword [esi + 0x10]
mov edx, ebx
push 0xffffffffffffffff
push 1
push 0xffffffffffffffff
call fcn.00423690
add esp, 0xc
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp byte [edx + 0x34], 0
je 0x44e218
mov edx, dword [edx + 0x18]
mov eax, edx
shr eax, 0x16
shr edx, 0x15
and eax, 1
and edx, 1
push eax
push edx
movzx edx, byte [ecx + 9]
mov ecx, dword [ecx + 4]
call fcn.0041a890
add esp, 8
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x1c]
call fcn.00409df0
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
call fcn.00409df0
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0047540c
mov esp, ebp
pop ebp
ret