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

Disassembly:
sub esp, 0x6c
push ebx
push esi
push edi
mov edi, dword [esp + 0x7c]
mov esi, dword [edi + 8]
mov ebx, dword [edi]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x38], esi
test esi, esi
jne 0x49600c
push edi
call fcn.004a48f0
mov esi, eax
add esp, 4
mov dword [esp + 0x38], esi
mov dword [edi + 8], esi
test esi, esi
je 0x495fef
push 0x9e
push esi
call fcn.004a3ce0
add esp, 8
cmp dword [edi + 0x198], 0
jne 0x496004
mov eax, dword [edi]
test byte [eax + 0x3c], 8
jne 0x496004
mov byte [edi + 0x17], 1
test esi, esi
je 0x498a9c
or dword [esi + 0x58], 0x10
lea eax, [esp + 0x48]
push ebp
mov ebp, dword [esp + 0x88]
push eax
push ebp
push dword [esp + 0x8c]
mov dword [edi + 0x48], 2
push edi
call fcn.004a0000
mov ecx, eax
add esp, 0x10
mov dword [esp + 0x18], ecx
test ecx, ecx
js 0x498a9b
mov ebx, dword [ebx + 0x10]
shl eax, 4
add ebx, eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], ebx
cmp ecx, 1
jne 0x496069
push edi
call fcn.00492d50
add esp, 4
test eax, eax
jne 0x498a9b
push dword [esp + 0x4c]
mov edi, dword [esp + 0x14]
push edi
call fcn.004928f0
add esp, 8
mov dword [esp + 0x28], eax
test eax, eax
je 0x498a9b
cmp dword [esp + 0x90], 0
push dword [esp + 0x8c]
je 0x4960a7
push 0x4de0fc
push edi
call fcn.00491e80
add esp, 0xc
jmp 0x4960b0
push edi
call fcn.004928f0
add esp, 8
cmp dword [ebp + 4], 0
mov dword [esp + 0x14], eax
jbe 0x4960be
mov edi, dword [ebx]
jmp 0x4960c0
xor edi, edi
push edi
push eax
push dword [esp + 0x30]
mov dword [esp + 0x28], edi
push 0x13
push dword [esp + 0x90]
call fcn.00477e30
add esp, 0x14
test eax, eax
jne 0x498a7d
mov dword [esp + 0x6c], eax
lea ecx, [esp + 0x6c]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x14]
push ecx
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x14]
push 0xe
push edi
mov dword [esp + 0x84], 0
push eax
mov dword [eax + 0x1c4], 0
call fcn.00436d50
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x496188
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x498a7d
mov ecx, dword [esp + 0x80]
push 0
push eax
push 0
inc dword [ecx + 0x48]
mov edi, dword [ecx + 0x48]
push edi
push 0
push 0x61
push esi
call fcn.004a3ea0
push 1
push esi
call fcn.004ad0e0
push 0
push str.result
push 0
push 0
push esi
call fcn.004ad0a0
push 1
push edi
push 0x21
push esi
call fcn.004a3dc0
add esp, 0x48
push dword [esp + 0x6c]
call fcn.00438320
add esp, 4
jmp 0x498a7d
cmp edi, 0xc
je 0x4961c5
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x4961b3
push eax
push 0x4d01e8
push dword [esp + 0x88]
call fcn.00481160
push dword [esp + 0x78]
call fcn.00438320
add esp, 0x10
mov eax, dword [esp + 0x80]
inc dword [eax + 0x40]
mov dword [eax + 0xc], edi
jmp 0x498a7d
xor eax, eax
mov ecx, 0x3a
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
add eax, ecx
cdq
sub eax, edx
mov edi, eax
sar edi, 1
lea ecx, [edi + edi*2]
push dword [ecx*4 + 0x4d6538]
push dword [esp + 0x2c]
call fcn.0043ae40
add esp, 8
test eax, eax
je 0x49621a
jns 0x496206
mov eax, dword [esp + 0x30]
lea ecx, [edi - 1]
mov dword [esp + 0x34], ecx
jmp 0x496211
mov ecx, dword [esp + 0x34]
lea eax, [edi + 1]
mov dword [esp + 0x30], eax
cmp eax, ecx
jle 0x4961d4
jmp 0x498a7d
mov eax, dword [esp + 0x34]
cmp dword [esp + 0x30], eax
jg 0x498a7d
lea edi, [edi + edi*2]
test byte [edi*4 + 0x4d653d], 1
mov dword [esp + 0x44], edi
je 0x496250
push dword [esp + 0x80]
call fcn.004992a0
add esp, 4
test eax, eax
jne 0x498a7d
movzx eax, byte [edi*4 + 0x4d653c]
cmp eax, 0x23
ja case.0x496261.3
jmp dword [eax*4 + 0x498aa4]
mov ebp, dword [esp + 0x18]
push ebp
push esi
call fcn.004adc20
mov eax, dword [esp + 0x1c]
add esp, 8
test eax, eax
jne 0x4962e0
push 1
push esi
call fcn.004ad0e0
push 0
push str.cache_size
push 0
push 0
push esi
call fcn.004ad0a0
mov eax, dword [esp + 0x9c]
push 0
push 0x4d6dbc
push 9
add dword [eax + 0x48], 2
push esi
call fcn.004a3fc0
mov edi, eax
push ebp
push edi
push esi
call fcn.004a4200
push ebp
lea ecx, [edi + 1]
push ecx
push esi
call fcn.004a4200
add esp, 0x44
lea eax, [edi + 6]
push 0x7d0
push eax
push esi
call fcn.004a4200
add esp, 0xc
jmp 0x498a7d
push eax
call fcn.00477bb0
push eax
call fcn.00476120
push ebp
push 0
push dword [esp + 0x90]
mov edi, eax
call fcn.00478e50
push 1
push edi
push 0x17
push esi
call fcn.004a3dc0
push 1
push 3
push ebp
push 0x34
push esi
call fcn.004a3e30
mov eax, dword [ebx + 0xc]
mov dword [eax + 0x50], edi
mov eax, dword [ebx + 0xc]
push dword [eax + 0x50]
push dword [ebx + 4]
call fcn.0047c2f0
add esp, 0x40
jmp 0x498a7d
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 4]
test eax, eax
jne 0x496362
test esi, esi
je 0x496353
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x20]
cdq
push edx
push eax
push str.page_size
jmp 0x498a6e
xor eax, eax
cdq
push edx
push eax
push str.page_size
jmp 0x498a6e
push eax
call fcn.00477bb0
mov ecx, dword [esp + 0x14]
push 0
push 0xffffffffffffffff
push eax
push esi
mov dword [ecx + 0x48], eax
call fcn.0047c410
mov ecx, dword [esp + 0x24]
add esp, 0x14
cmp eax, 7
jne 0x498a81
mov byte [ecx + 0x41], 1
jmp 0x498a81
mov eax, dword [ebx + 4]
or ebx, 0xffffffff
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4963b3
push 0
push eax
call fcn.0048da80
add esp, 8
movzx ebx, al
cmp dword [ebp + 4], 0
jne 0x4963ed
test ebx, ebx
js 0x4963ed
mov eax, dword [esp + 0x10]
xor edi, edi
cmp dword [eax + 0x14], edi
jle 0x4963ed
xor esi, esi
lea ebx, [ebx]
mov eax, dword [eax + 0x10]
push ebx
push dword [esi + eax + 4]
call fcn.0047c210
mov eax, dword [esp + 0x18]
lea esi, [esi + 0x10]
inc edi
add esp, 8
cmp edi, dword [eax + 0x14]
jl 0x4963d0
push ebx
push dword [esp + 0x50]
call fcn.0047c210
cdq
push edx
push eax
push str.secure_delete
push dword [esp + 0x94]
call fcn.00472fc0
add esp, 0x18
jmp 0x498a7d
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x80]
push ebp
push ebx
call fcn.0047d9b0
inc dword [ebx + 0x48]
add esp, 8
mov edi, dword [ebx + 0x48]
mov ebx, dword [esp + 0x28]
movzx eax, byte [ebx]
cmp byte [eax + 0x4d9400], 0x70
jne 0x496450
push edi
push ebp
push 0x9c
push esi
call fcn.004a3dc0
add esp, 0x10
jmp 0x496470
push dword [esp + 0x14]
call fcn.00477bb0
push eax
call fcn.00476120
push eax
push edi
push ebp
push 0x9d
push esi
call fcn.004a3e30
add esp, 0x1c
push 1
push edi
push 0x21
push esi
call fcn.004a3dc0
push 1
push esi
call fcn.004ad0e0
push 0xffffffffffffffff
push ebx
push 0
push 0
push esi
call fcn.004ad0a0
add esp, 0x2c
jmp 0x498a7d
push dword [esp + 0x14]
mov edi, str.normal
call fcn.00464150
mov ecx, eax
add esp, 4
mov eax, dword [ebp + 4]
mov dword [esp + 0x80], ecx
test eax, eax
jne 0x49651f
cmp ecx, 0xffffffff
jne 0x4964c8
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x42]
jmp 0x496530
test eax, eax
jne 0x49651f
mov eax, dword [esp + 0x10]
mov ebp, 2
cmp dword [eax + 0x14], ebp
jle 0x49651c
mov ebx, dword [esp + 0x80]
lea edi, [ebp + 0x1e]
mov esi, eax
mov eax, dword [esi + 0x10]
push ebx
mov eax, dword [edi + eax + 4]
mov eax, dword [eax + 4]
push dword [eax]
call fcn.00493d30
inc ebp
lea edi, [edi + 0x10]
add esp, 8
cmp ebp, dword [esi + 0x14]
jl 0x4964e6
mov esi, dword [esp + 0x3c]
mov edi, str.normal
mov ebx, dword [esp + 0x48]
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x10]
mov byte [eax + 0x42], cl
mov eax, dword [ebx + 4]
push ecx
mov eax, dword [eax + 4]
push dword [eax]
call fcn.00493d30
add esp, 8
cmp eax, 1
jne 0x49653a
mov edi, str.exclusive
push 1
push esi
call fcn.004ad0e0
push 0
push str.locking_mode
push 0
push 0
push esi
call fcn.004ad0a0
push 0
push edi
push 0
push 1
push 0
push 0x61
push esi
call fcn.004a3ea0
push 1
push 1
push 0x21
push esi
call fcn.004a3dc0
add esp, 0x48
jmp 0x498a7d
push 1
push esi
call fcn.004ad0e0
push 0
push str.journal_mode
push 0
push 0
push esi
call fcn.004ad0a0
mov eax, dword [esp + 0x30]
add esp, 0x1c
test eax, eax
je 0x496641
push eax
call fcn.0049f710
add esp, 4
mov edi, eax
xor ebx, ebx
lea ecx, [ecx]
cmp ebx, 6
je 0x496641
mov ecx, dword [ebx*4 + 0x4d699c]
test ecx, ecx
je 0x496641
push edi
push ecx
push dword [esp + 0x1c]
call fcn.0043aeb0
add esp, 0xc
test eax, eax
je 0x4965d9
inc ebx
jmp 0x4965b0
cmp ebx, 0xffffffff
je 0x496644
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x14]
dec edi
js 0x496630
mov ebp, edi
shl ebp, 4
mov eax, dword [eax + 0x10]
cmp dword [eax + ebp + 4], 0
je 0x496622
cmp edi, ecx
je 0x49660c
mov eax, dword [esp + 0x88]
cmp dword [eax + 4], 0
jne 0x496622
push edi
push esi
call fcn.004adc20
push ebx
push 1
push edi
push 0xa
push esi
call fcn.004a3e30
add esp, 0x1c
mov eax, dword [esp + 0x10]
sub ebp, 0x10
dec edi
mov ecx, dword [esp + 0x18]
jns 0x4965f1
push 1
push 1
push 0x21
push esi
call fcn.004a3dc0
jmp 0x498a7a
or ebx, 0xffffffff
cmp dword [ebp + 4], 0
jne 0x4965de
xor ecx, ecx
mov dword [ebp + 4], 1
mov dword [esp + 0x18], ecx
jmp 0x4965e2
mov eax, dword [ebx + 4]
or ecx, 0xffffffff
mov edx, dword [esp + 0x14]
mov dword [esp + 0x64], ecx
mov eax, dword [eax + 4]
mov esi, dword [eax]
mov eax, 0xfffffffe
mov dword [esp + 0x60], eax
test edx, edx
je 0x4966a6
lea eax, [esp + 0x60]
push eax
push edx
call fcn.0047f690
mov ecx, dword [esp + 0x6c]
add esp, 8
cmp ecx, 0xffffffff
jg 0x4966a2
jl 0x49669b
mov eax, dword [esp + 0x60]
cmp eax, 0xffffffff
jae 0x4966a6
or eax, 0xffffffff
or ecx, eax
jmp 0x4966a6
mov eax, dword [esp + 0x60]
push ecx
push eax
push esi
call fcn.00493cc0
push edx
push eax
push str.journal_size_limit
push dword [esp + 0x98]
call fcn.00472fc0
add esp, 0x1c
jmp 0x498a7d
mov eax, dword [esp + 0x14]
mov edi, dword [ebx + 4]
test eax, eax
jne 0x4966f6
push edi
call fcn.0047a6a0
cdq
push edx
push eax
push str.auto_vacuum
push dword [esp + 0x90]
call fcn.00472fc0
add esp, 0x14
jmp 0x498a7d
push eax
call fcn.00463f50
mov ebx, eax
mov eax, dword [esp + 0x14]
push ebx
push edi
mov dword [esp + 0x8c], ebx
mov byte [eax + 0x43], bl
call fcn.0047c280
add esp, 0xc
test eax, eax
jne 0x498a7d
cmp ebx, 1
je 0x49672c
cmp ebx, 2
jne 0x498a7d
push 0
push 0x4d7030
push 6
push esi
call fcn.004a3fc0
mov ebp, dword [esp + 0x28]
mov ebx, eax
push ebp
push ebx
push esi
call fcn.004a4200
push ebp
lea ecx, [ebx + 1]
push ecx
push esi
call fcn.004a4200
lea edi, [ebx + 4]
push edi
lea eax, [ebx + 2]
push eax
push esi
call fcn.004a4220
mov eax, dword [esp + 0xb4]
dec eax
push eax
push edi
push esi
call fcn.004a4200
add esp, 0x40
lea eax, [ebx + 5]
push ebp
push eax
push esi
call fcn.004a4200
push ebp
push esi
call fcn.004adc20
add esp, 0x14
jmp 0x498a7d
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4967b1
lea ecx, [esp + 0x4c]
push ecx
push eax
call fcn.0048dba0
add esp, 8
test eax, eax
je 0x4967b1
mov edi, dword [esp + 0x4c]
test edi, edi
jg 0x4967b6
mov edi, 0x7fffffff
mov ebx, dword [esp + 0x18]
push ebx
push 0
push dword [esp + 0x88]
call fcn.00478e50
push 1
push edi
push 0x17
push esi
call fcn.004a3dc0
push ebx
push 0x92
push esi
call fcn.004a3d50
push 1
push 0x21
push esi
mov edi, eax
call fcn.004a3d50
push 0xffffffffffffffff
push 1
push 0x25
push esi
call fcn.004a3dc0
add esp, 0x44
push edi
push 1
push 0x8a
push esi
call fcn.004a3dc0
push edi
push esi
call fcn.004aac70
add esp, 0x18
jmp 0x498a7d
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x49684c
mov esi, dword [esp + 0x80]
push esi
call fcn.004992a0
add esp, 4
test eax, eax
jne 0x498a7d
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x50]
cdq
push edx
push eax
push str.cache_size
push esi
jmp 0x498a75
push eax
call fcn.00477bb0
mov ecx, dword [ebx + 0xc]
mov dword [ecx + 0x50], eax
mov eax, dword [ebx + 0xc]
push dword [eax + 0x50]
push dword [ebx + 4]
call fcn.0047c2f0
push dword [esp + 0x8c]
call fcn.004992a0
jmp 0x498a7a
mov eax, dword [esp + 0x14]
test eax, eax
je 0x496914
lea ecx, [esp + 0x60]
push ecx
push eax
call fcn.0047f690
mov edx, dword [esp + 0x6c]
add esp, 8
test edx, edx
jg 0x4968b9
jl 0x4968a3
mov ecx, dword [esp + 0x60]
test ecx, ecx
jae 0x4968bd
mov ecx, dword [0x4e2618]
mov edx, dword [0x4e261c]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], edx
jmp 0x4968bd
mov ecx, dword [esp + 0x60]
cmp dword [ebp + 4], 0
mov eax, dword [esp + 0x10]
jne 0x4968cd
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], edx
mov esi, dword [eax + 0x14]
dec esi
js 0x496918
mov ebx, dword [esp + 0x18]
mov edi, esi
shl edi, 4
lea esp, [esp]
mov eax, dword [eax + 0x10]
mov eax, dword [edi + eax + 4]
test eax, eax
je 0x496908
cmp esi, ebx
je 0x4968f5
cmp dword [ebp + 4], 0
jne 0x496908
push edx
push ecx
push eax
call fcn.0047c380
mov edx, dword [esp + 0x70]
add esp, 0xc
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x10]
sub edi, 0x10
dec esi
jns 0x4968e0
jmp 0x496918
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x60]
mov dword [esp + 0x60], 0xffffffff
push ecx
push 0x12
push dword [esp + 0x24]
mov dword [esp + 0x70], 0xffffffff
push eax
call fcn.00436d50
add esp, 0x10
test eax, eax
jne 0x496952
push dword [esp + 0x64]
push dword [esp + 0x64]
push str.mmap_size
jmp 0x498a6e
cmp eax, 0xc
je 0x498a7d
mov ecx, dword [esp + 0x80]
inc dword [ecx + 0x40]
mov dword [ecx + 0xc], eax
jmp 0x498a7d
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x49698a
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x40]
cdq
push edx
push eax
push str.temp_store
jmp 0x498a6e
push eax
push dword [esp + 0x84]
call fcn.00447670
add esp, 8
jmp 0x498a7d
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x4969f6
cmp dword [0x4e4bf0], ecx
je 0x498a7d
push 1
push esi
call fcn.004ad0e0
push 0
push str.temp_store_directory
push 0
push 0
push esi
call fcn.004ad0a0
push 0
push dword [0x4e4bf0]
push 0
push 1
push 0
push 0x61
push esi
call fcn.004a3ea0
push 1
push 1
push 0x21
push esi
call fcn.004a3dc0
add esp, 0x48
jmp 0x498a7d
cmp byte [ecx], 0
je 0x496a35
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x4c]
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 0x496a1c
cmp dword [esp + 0x4c], eax
jne 0x496a35
push str.not_a_writable_directory
push dword [esp + 0x84]
call fcn.00481160
add esp, 8
jmp 0x498a7d
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x40], 1
ja 0x496a4e
push dword [esp + 0x80]
call fcn.00465cd0
add esp, 4
push dword [0x4e4bf0]
call fcn.00438320
mov eax, dword [esp + 0x18]
add esp, 4
cmp byte [eax], 0
je 0x496a7d
push eax
push 0x4d01e8
call fcn.00437c10
add esp, 8
mov dword [0x4e4bf0], eax
jmp 0x498a7d
mov dword [0x4e4bf0], 0
jmp 0x498a7d
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x496ae3
cmp dword [0x4e4bf4], ecx
je 0x498a7d
push 1
push esi
call fcn.004ad0e0
push 0
push str.data_store_directory
push 0
push 0
push esi
call fcn.004ad0a0
push 0
push dword [0x4e4bf4]
push 0
push 1
push 0
push 0x61
push esi
call fcn.004a3ea0
push 1
push 1
push 0x21
push esi
call fcn.004a3dc0
add esp, 0x48
jmp 0x498a7d
cmp byte [ecx], 0
je 0x496b11
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x4c]
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 0x496a1c
cmp dword [esp + 0x4c], eax
je 0x496a1c
push dword [0x4e4bf4]
call fcn.00438320
mov eax, dword [esp + 0x18]
add esp, 4
cmp byte [eax], 0
je 0x496b40
push eax
push 0x4d01e8
call fcn.00437c10
add esp, 8
mov dword [0x4e4bf4], eax
jmp 0x498a7d
mov dword [0x4e4bf4], 0
jmp 0x498a7d
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x496b69
movzx eax, byte [ebx + 8]
dec eax
cdq
push edx
push eax
push str.synchronous
jmp 0x498a6e
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x3f], 0
jne 0x496b8c
push str.Safety_level_may_not_be_changed_inside_a_transaction
push dword [esp + 0x84]
call fcn.00481160
add esp, 8
jmp 0x498a7d
push 1
push 0
push ecx
call fcn.00464fb0
inc eax
add esp, 0xc
and eax, 3
jne 0x496ba4
mov eax, 1
push dword [esp + 0x10]
mov byte [ebx + 8], al
call fcn.004758d0
add esp, 4
jmp 0x498a7d
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x496be3
mov ecx, dword [esp + 0x10]
mov eax, dword [edi*4 + 0x4d6540]
and eax, dword [ecx + 0x18]
neg eax
sbb eax, eax
neg eax
cdq
push edx
push eax
push dword [edi*4 + 0x4d6538]
jmp 0x498a6e
mov eax, dword [esp + 0x10]
mov edi, dword [edi*4 + 0x4d6540]
cmp byte [eax + 0x3f], 0
jne 0x496bfa
and edi, 0xfff7ffff
push 0
push ecx
call fcn.0048da80
add esp, 8
test al, al
je 0x496c12
mov eax, dword [esp + 0x10]
or dword [eax + 0x18], edi
jmp 0x496c39
mov ecx, dword [esp + 0x10]
mov eax, edi
not eax
and dword [ecx + 0x18], eax
cmp edi, 0x1000000
jne 0x496c39
mov dword [ecx + 0x200], 0
mov dword [ecx + 0x204], 0
push 0
push 0
push 0x93
push esi
call fcn.004a3dc0
push dword [esp + 0x20]
call fcn.004758d0
add esp, 0x14
jmp 0x498a7d
mov eax, dword [esp + 0x14]
test eax, eax
je 0x498a7d
push dword [esp + 0x1c]
push eax
push dword [esp + 0x18]
call fcn.00485500
mov ebp, eax
add esp, 0xc
mov dword [esp + 0x3c], ebp
test ebp, ebp
je 0x498a7d
push ebp
mov dword [esp + 0x38], 0
call fcn.004991c0
push 6
push esi
mov dword [esp + 0x58], eax
call fcn.004ad0e0
mov ebx, dword [esp + 0x8c]
push dword [esp + 0x24]
push ebx
mov dword [ebx + 0x48], 6
call fcn.0047d9b0
push 0
push 0x4de15c
push 0
push 0
push esi
call fcn.004ad0a0
push 0
push str.name
push 0
push 1
push esi
call fcn.004ad0a0
push 0
push str.type
push 0
push 2
push esi
call fcn.004ad0a0
add esp, 0x50
push 0
push str.notnull
push 0
push 3
push esi
call fcn.004ad0a0
push 0
push str.dflt_value
push 0
push 4
push esi
call fcn.004ad0a0
push 0
push 0x4de184
push 0
push 5
push esi
call fcn.004ad0a0
push ebp
push ebx
call fcn.004adc50
mov edi, dword [ebp + 4]
xor eax, eax
add esp, 0x44
xor ebx, ebx
cmp ax, word [ebp + 0x22]
jge 0x498a7d
lea ebx, [ebx]
test byte [edi + 0x17], 2
je 0x496d4f
inc dword [esp + 0x34]
jmp 0x496e23
push 1
mov eax, ebx
sub eax, dword [esp + 0x38]
push eax
push 0x17
push esi
call fcn.004a3dc0
push 0
push dword [edi]
push 0
push 2
push 0
push 0x61
push esi
call fcn.004a3ea0
mov eax, dword [edi + 0xc]
add esp, 0x2c
test eax, eax
jne 0x496d81
mov eax, 0x4cf8b2
push 0
push eax
push 0
push 3
push 0
push 0x61
push esi
call fcn.004a3ea0
xor eax, eax
cmp byte [edi + 0x14], al
push 4
setne al
push eax
push 0x17
push esi
call fcn.004a3dc0
mov eax, dword [edi + 8]
add esp, 0x2c
test eax, eax
je 0x496dc5
push 0
push eax
push 0
push 5
push 0
push 0x61
push esi
call fcn.004a3ea0
add esp, 0x1c
jmp 0x496dd4
push 5
push 0
push 0x1a
push esi
call fcn.004a3dc0
add esp, 0x10
test byte [edi + 0x17], 1
jne 0x496dde
xor ecx, ecx
jmp 0x496e09
mov eax, dword [esp + 0x4c]
mov ecx, 1
test eax, eax
je 0x496e09
movsx ebp, word [ebp + 0x22]
cmp ebp, ecx
jl 0x496e05
mov edx, dword [eax + 4]
movsx eax, word [edx]
cmp eax, ebx
je 0x496e05
inc ecx
add edx, 2
cmp ecx, ebp
jle 0x496df6
mov ebp, dword [esp + 0x3c]
push 6
push ecx
push 0x17
push esi
call fcn.004a3dc0
push 6
push 1
push 0x21
push esi
call fcn.004a3dc0
add esp, 0x20
movsx eax, word [ebp + 0x22]
inc ebx
add edi, 0x18
cmp ebx, eax
jl 0x496d40
jmp 0x498a7d
mov esi, dword [esp + 0x80]
push esi
call fcn.0048e680
mov edi, eax
push 4
push edi
call fcn.004ad0e0
push dword [esp + 0x24]
mov dword [esi + 0x48], 4
push esi
call fcn.0047d9b0
push 0
push str.table
push 0
push 0
push edi
call fcn.004ad0a0
push 0
push str.index
push 0
push 1
push edi
call fcn.004ad0a0
push 0
push str.width
push 0
push 2
push edi
call fcn.004ad0a0
add esp, 0x50
push 0
push str.height
push 0
push 3
push edi
call fcn.004ad0a0
mov eax, dword [ebx + 0xc]
add esp, 0x14
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x498a7d
mov esi, dword [ebx + 8]
push 0
push dword [esi]
push 0
push 1
push 0
push 0x61
push edi
call fcn.004a3ea0
push 2
push 0
push 0x1a
push edi
call fcn.004a3dc0
movzx eax, word [esi + 0x28]
add esp, 0x2c
push 3
push eax
call fcn.00491df0
add esp, 4
push eax
push 0x17
push edi
call fcn.004a3dc0
movzx eax, word [esi + 0x26]
add esp, 0x10
push 4
push eax
call fcn.00491df0
add esp, 4
push eax
push 0x17
push edi
call fcn.004a3dc0
push 4
push 1
push 0x21
push edi
call fcn.004a3dc0
mov esi, dword [esi + 8]
add esp, 0x20
test esi, esi
je 0x496f85
push 0
push dword [esi]
push 0
push 2
push 0
push 0x61
push edi
call fcn.004a3ea0
movzx eax, word [esi + 0x2c]
add esp, 0x1c
push 3
push eax
call fcn.00491df0
add esp, 4
push eax
push 0x17
push edi
call fcn.004a3dc0
mov eax, dword [esi + 8]
add esp, 0x10
movzx eax, word [eax]
push 4
push eax
call fcn.00491df0
add esp, 4
push eax
push 0x17
push edi
call fcn.004a3dc0
push 4
push 1
push 0x21
push edi
call fcn.004a3dc0
mov esi, dword [esi + 0x14]
add esp, 0x20
test esi, esi
jne 0x496f25
mov ebx, dword [ebx]
test ebx, ebx
jne 0x496eb8
jmp 0x498a7d
mov eax, dword [esp + 0x14]
test eax, eax
je 0x498a7d
push dword [esp + 0x1c]
push eax
push dword [esp + 0x18]
call fcn.00485480
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x498a7d
cmp dword [edi*4 + 0x4d6540], 0
je 0x496fdd
movzx ebx, word [ebp + 0x30]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x80]
mov dword [ebx + 0x48], 6
jmp 0x496ff3
mov ebx, dword [esp + 0x80]
movzx eax, word [ebp + 0x2e]
mov dword [esp + 0x34], eax
mov dword [ebx + 0x48], 3
push dword [ebx + 0x48]
mov eax, dword [ebp + 0xc]
push esi
mov dword [esp + 0x50], eax
call fcn.004ad0e0
push dword [esp + 0x20]
push ebx
call fcn.0047d9b0
push 0
push str.seqno
push 0
push 0
push esi
call fcn.004ad0a0
push 0
push 0x4de15c
push 0
push 1
push esi
call fcn.004ad0a0
push 0
push str.name
push 0
push 2
push esi
call fcn.004ad0a0
add esp, 0x4c
cmp dword [edi*4 + 0x4d6540], 0
je 0x497083
push 0
push str.desc
push 0
push 3
push esi
call fcn.004ad0a0
push 0
push str.coll
push 0
push 4
push esi
call fcn.004ad0a0
push 0
push 0x4de1b0
push 0
push 5
push esi
call fcn.004ad0a0
add esp, 0x3c
xor ebx, ebx
cmp dword [esp + 0x34], ebx
jle 0x498a7d
nop
mov eax, dword [ebp + 4]
push 1
push ebx
push 0x17
movzx edi, word [eax + ebx*2]
push esi
call fcn.004a3dc0
movsx eax, di
push 2
push eax
push 0x17
push esi
mov dword [esp + 0x6c], eax
call fcn.004a3dc0
add esp, 0x20
test di, di
jns 0x4970cd
push 3
push 0
push 0x1a
push esi
call fcn.004a3dc0
add esp, 0x10
jmp 0x4970f1
mov eax, dword [esp + 0x4c]
push 0
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 4]
push dword [eax + ecx*8]
push 0
push 3
push 0
push 0x61
push esi
call fcn.004a3ea0
add esp, 0x1c
mov eax, dword [esp + 0x44]
cmp dword [eax*4 + 0x4d6540], 0
je 0x497140
mov eax, dword [ebp + 0x1c]
push 4
movzx eax, byte [eax + ebx]
push eax
push 0x17
push esi
call fcn.004a3dc0
mov eax, dword [ebp + 0x20]
push 0
push dword [eax + ebx*4]
push 0
push 5
push 0
push 0x61
push esi
call fcn.004a3ea0
movzx eax, word [ebp + 0x2e]
xor ecx, ecx
cmp ebx, eax
push 6
setl cl
push ecx
push 0x17
push esi
call fcn.004a3dc0
add esp, 0x3c
mov eax, dword [esp + 0x80]
push dword [eax + 0x48]
push 1
push 0x21
push esi
call fcn.004a3dc0
inc ebx
add esp, 0x10
cmp ebx, dword [esp + 0x34]
jl 0x497090
jmp 0x498a7d
mov eax, dword [esp + 0x14]
test eax, eax
je 0x498a7d
push dword [esp + 0x1c]
push eax
push dword [esp + 0x18]
call fcn.00485500
mov edi, eax
add esp, 0xc
test edi, edi
je 0x498a7d
mov ebx, dword [esp + 0x80]
push ebx
call fcn.0048e680
mov esi, eax
push 5
push esi
call fcn.004ad0e0
push dword [esp + 0x24]
mov dword [ebx + 0x48], 5
push ebx
call fcn.0047d9b0
push 0
push 0x4de1b4
push 0
push 0
push esi
call fcn.004ad0a0
push 0
push str.name
push 0
push 1
push esi
call fcn.004ad0a0
push 0
push str.unique
push 0
push 2
push esi
call fcn.004ad0a0
add esp, 0x50
push 0
push str.origin
push 0
push 3
push esi
call fcn.004ad0a0
push 0
push str.partial
push 0
push 4
push esi
call fcn.004ad0a0
mov edi, dword [edi + 8]
add esp, 0x28
xor ebx, ebx
test edi, edi
je 0x498a7d
mov dword [esp + 0x60], 0x4de1d0
mov dword [esp + 0x64], 0x4de1d4
mov dword [esp + 0x68], 0x4de184
push 1
push ebx
push 0x17
push esi
call fcn.004a3dc0
push 0
push dword [edi]
push 0
push 2
push 0
push 0x61
push esi
call fcn.004a3ea0
xor eax, eax
cmp byte [edi + 0x32], al
push 3
setne al
push eax
push 0x17
push esi
call fcn.004a3dc0
mov eax, dword [edi + 0x34]
push 0
and eax, 3
push dword [esp + eax*4 + 0xa0]
push 0
push 4
push 0
push 0x61
push esi
call fcn.004a3ea0
add esp, 0x58
xor eax, eax
cmp dword [edi + 0x24], eax
setne al
push 5
push eax
push 0x17
push esi
call fcn.004a3dc0
push 5
push 1
push 0x21
push esi
call fcn.004a3dc0
mov edi, dword [edi + 0x14]
add esp, 0x20
inc ebx
test edi, edi
jne 0x497236
jmp 0x498a7d
push 3
push esi
call fcn.004ad0e0
mov eax, dword [esp + 0x88]
push 0
push 0x4de1b4
push 0
push 0
push esi
mov dword [eax + 0x48], 3
call fcn.004ad0a0
push 0
push str.name
push 0
push 1
push esi
call fcn.004ad0a0
push 0
push str.file
push 0
push 2
push esi
call fcn.004ad0a0
mov ecx, dword [esp + 0x54]
xor ebx, ebx
add esp, 0x44
cmp dword [ecx + 0x14], ebx
jle 0x498a81
xor edi, edi
mov eax, dword [ecx + 0x10]
cmp dword [eax + edi + 4], 0
je 0x49737b
push 1
push ebx
push 0x17
push esi
call fcn.004a3dc0
mov eax, dword [esp + 0x20]
push 0
mov eax, dword [eax + 0x10]
push dword [eax + edi]
push 0
push 2
push 0
push 0x61
push esi
call fcn.004a3ea0
mov eax, dword [esp + 0x3c]
add esp, 0x2c
mov eax, dword [eax + 0x10]
push 0
push dword [eax + edi + 4]
call fcn.0047a6f0
add esp, 4
push eax
push 0
push 3
push 0
push 0x61
push esi
call fcn.004a3ea0
push 3
push 1
push 0x21
push esi
call fcn.004a3dc0
mov ecx, dword [esp + 0x3c]
add esp, 0x2c
inc ebx
add edi, 0x10
cmp ebx, dword [ecx + 0x14]
jl 0x497312
jmp 0x498a81
push 2
push esi
xor ebp, ebp
call fcn.004ad0e0
mov eax, dword [esp + 0x88]
push ebp
push 0x4de1b4
push ebp
push ebp
push esi
mov dword [eax + 0x48], 2
call fcn.004ad0a0
push ebp
push str.name
push ebp
push 1
push esi
call fcn.004ad0a0
mov ebx, dword [esp + 0x40]
add esp, 0x30
mov ebx, dword [ebx + 0x1b4]
test ebx, ebx
je 0x498a7d
mov edi, dword [ebx + 8]
push 1
push ebp
push 0x17
push esi
call fcn.004a3dc0
push 0
push dword [edi]
inc ebp
push 0
push 2
push 0
push 0x61
push esi
call fcn.004a3ea0
push 2
push 1
push 0x21
push esi
call fcn.004a3dc0
mov ebx, dword [ebx]
add esp, 0x3c
test ebx, ebx
jne 0x4973d3
jmp 0x498a7d
mov eax, dword [esp + 0x14]
test eax, eax
je 0x498a7d
push dword [esp + 0x1c]
push eax
push dword [esp + 0x18]
call fcn.00485500
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x4c], ebx
test ebx, ebx
je 0x498a7d
mov edi, dword [esp + 0x80]
push edi
call fcn.0048e680
mov esi, dword [ebx + 0x10]
add esp, 4
mov dword [esp + 0x2c], esi
mov ebp, eax
test esi, esi
je 0x498a7d
push 8
xor ebx, ebx
push ebp
mov dword [esp + 0x38], ebx
call fcn.004ad0e0
push dword [esp + 0x20]
mov dword [edi + 0x48], 8
push edi
call fcn.0047d9b0
push ebx
push 0x4de1d8
push ebx
push ebx
push ebp
call fcn.004ad0a0
push ebx
push 0x4de1b4
push ebx
push 1
push ebp
call fcn.004ad0a0
push ebx
push str.table
push ebx
push 2
push ebp
call fcn.004ad0a0
add esp, 0x4c
push ebx
push str.from
push ebx
push 3
push ebp
call fcn.004ad0a0
push ebx
push 0x4d029c
push ebx
push 4
push ebp
call fcn.004ad0a0
push ebx
push str.on_update
push ebx
push 5
push ebp
call fcn.004ad0a0
push ebx
push str.on_delete
push ebx
push 6
push ebp
call fcn.004ad0a0
add esp, 0x50
push ebx
push str.match
push ebx
push 7
push ebp
call fcn.004ad0a0
add esp, 0x14
lea esp, [esp]
cmp dword [esi + 0x14], 0
mov dword [esp + 0x80], 0
jle 0x497625
lea ecx, [esi + 0x24]
mov dword [esp + 0x34], ecx
lea esp, [esp]
movzx eax, byte [esi + 0x19]
mov edi, dword [ecx + 4]
push eax
call fcn.00441b80
movzx ecx, byte [esi + 0x1a]
mov ebx, eax
push ecx
call fcn.00441b80
push 1
push dword [esp + 0x3c]
mov esi, eax
push 0x17
push ebp
call fcn.004a3dc0
push 2
push dword [esp + 0x9c]
push 0x17
push ebp
call fcn.004a3dc0
mov eax, dword [esp + 0x54]
push 0
push dword [eax + 8]
push 0
push 3
push 0
push 0x61
push ebp
call fcn.004a3ea0
mov eax, dword [esp + 0x78]
add esp, 0x44
mov eax, dword [eax]
push 0
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
push dword [eax + ecx*8]
push 0
push 4
push 0
push 0x61
push ebp
call fcn.004a3ea0
push 0
push edi
neg edi
push 0
sbb edi, edi
push 5
and edi, 0x47
push 0
add edi, 0x1a
push edi
push ebp
call fcn.004a3ea0
push 0
push esi
push 0
push 6
push 0
push 0x61
push ebp
call fcn.004a3ea0
add esp, 0x54
push 0
push ebx
push 0
push 7
push 0
push 0x61
push ebp
call fcn.004a3ea0
push 0
push str.NONE
push 0
push 8
push 0
push 0x61
push ebp
call fcn.004a3ea0
push 8
push 1
push 0x21
push ebp
call fcn.004a3dc0
mov eax, dword [esp + 0xc8]
add esp, 0x48
mov esi, dword [esp + 0x2c]
inc eax
mov ecx, dword [esp + 0x34]
add ecx, 8
mov dword [esp + 0x80], eax
mov dword [esp + 0x34], ecx
cmp eax, dword [esi + 0x14]
jl 0x497520
mov ebx, dword [esp + 0x30]
mov esi, dword [esi + 4]
inc ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], esi
test esi, esi
jne 0x497500
jmp 0x498a7d
mov edi, dword [esp + 0x80]
push edi
mov eax, dword [edi + 0x48]
lea ebx, [eax + 6]
lea ebp, [eax + 1]
mov dword [esp + 0x24], ebx
lea ecx, [eax + 5]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x54], ecx
mov dword [edi + 0x48], ebx
call fcn.0048e680
mov esi, eax
push 4
push esi
call fcn.004ad0e0
push 0
push str.table
push 0
push 0
push esi
call fcn.004ad0a0
push 0
push str.rowid
push 0
push 1
push esi
call fcn.004ad0a0
push 0
push str.parent
push 0
push 2
push esi
call fcn.004ad0a0
add esp, 0x48
push 0
push str.fkid
push 0
push 3
push esi
call fcn.004ad0a0
push dword [esp + 0x2c]
push edi
call fcn.0047d9b0
mov eax, dword [esp + 0x2c]
add esp, 0x1c
mov ecx, dword [esp + 0x40]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 0xc]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x498a7d
mov edi, edi
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x4976fe
push dword [esp + 0x1c]
push ecx
push 0
push edi
call fcn.00491a80
add esp, 0x10
mov edi, eax
xor eax, eax
jmp 0x497703
mov edi, dword [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x48], eax
mov dword [esp + 0x2c], edi
test edi, edi
je 0x497ab9
cmp dword [edi + 0x10], 0
je 0x497ab9
push dword [edi]
push 0
push dword [edi + 0x1c]
push dword [esp + 0x24]
push dword [esp + 0x90]
call fcn.0049f8b0
mov ecx, dword [esp + 0x94]
add esp, 0x14
movsx eax, word [edi + 0x22]
add eax, ebx
cmp eax, dword [ecx + 0x48]
jle 0x49774c
mov dword [ecx + 0x48], eax
push 0x36
push edi
push dword [esp + 0x20]
push 0
push ecx
call fcn.00492ab0
push 0
push dword [edi]
push 0
push ebp
push 0
push 0x61
push esi
call fcn.004a3ea0
mov ebx, dword [edi + 0x10]
add esp, 0x30
mov ebp, 1
test ebx, ebx
je 0x497830
nop
push dword [esp + 0x1c]
push dword [ebx + 8]
push dword [esp + 0x18]
call fcn.00485500
mov edi, eax
add esp, 0xc
test edi, edi
je 0x497820
push dword [edi]
mov dword [esp + 0x28], 0
push 0
push dword [edi + 0x1c]
push dword [esp + 0x24]
push dword [esp + 0x90]
call fcn.0049f8b0
push 0
lea eax, [esp + 0x3c]
push eax
push ebx
push edi
push dword [esp + 0xa4]
call fcn.00486930
add esp, 0x28
test eax, eax
jne 0x498a7d
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x4977fd
push 0x36
push edi
push dword [esp + 0x20]
push ebp
push dword [esp + 0x90]
call fcn.00492ab0
add esp, 0x14
jmp 0x497820
push dword [esp + 0x18]
push dword [eax + 0x28]
push ebp
push 0x36
push esi
call fcn.004a3e30
push dword [esp + 0x38]
push dword [esp + 0x98]
call fcn.004ad1b0
add esp, 0x1c
mov ebx, dword [ebx + 4]
inc ebp
test ebx, ebx
jne 0x497780
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x80]
cmp dword [eax + 0x44], ebp
jge 0x49783f
mov dword [eax + 0x44], ebp
push 0
push 0x6d
push esi
call fcn.004a3d50
mov ebp, dword [edi + 0x10]
add esp, 0xc
mov dword [esp + 0x30], 1
mov ebx, eax
mov dword [esp + 0x60], ebx
test ebp, ebp
je 0x497a95
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 1]
mov dword [esp + 0x54], ecx
lea ecx, [eax + 2]
add eax, 3
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], eax
mov edi, edi
push dword [esp + 0x1c]
push dword [ebp + 8]
push dword [esp + 0x18]
call fcn.00485500
xor ebx, ebx
mov dword [esp + 0x50], eax
add esp, 0xc
mov dword [esp + 0x24], 0
mov dword [esp + 0x34], ebx
test eax, eax
je 0x4978c8
lea ecx, [esp + 0x34]
push ecx
lea ecx, [esp + 0x28]
push ecx
push ebp
push eax
push dword [esp + 0x90]
call fcn.00486930
mov ebx, dword [esp + 0x48]
add esp, 0x14
push esi
call fcn.004ab090
mov edi, eax
add esp, 4
mov eax, dword [esp + 0x44]
mov dword [esp + 0x38], edi
test eax, eax
je 0x497986
cmp dword [esp + 0x24], 0
jne 0x497986
mov eax, dword [esp + 0x2c]
mov edx, dword [ebp + 0x24]
push dword [esp + 0x20]
mov dword [esp + 0x50], edx
movsx ecx, word [eax + 0x20]
cmp edx, ecx
je 0x497947
push edx
push 0
push 0x2f
push esi
call fcn.004a3e30
push dword [esp + 0x34]
push dword [esp + 0x64]
push dword [esp + 0x48]
push esi
call fcn.0047db90
push edi
push dword [esp + 0x48]
push 0x4c
push esi
call fcn.004a3dc0
mov eax, dword [esi + 0x20]
add eax, 3
push eax
push dword [esp + 0x58]
push 0x26
push esi
call fcn.004a3dc0
add esp, 0x44
jmp 0x497954
push 0
push 0x68
push esi
call fcn.004a3dc0
add esp, 0x10
push dword [esp + 0x20]
push 0
push dword [esp + 0x38]
push 0x49
push esi
call fcn.004a3e30
push edi
push 0
push 0xe
push esi
call fcn.004a3dc0
mov eax, dword [esi + 0x20]
sub eax, 2
push eax
push esi
call fcn.004aac70
add esp, 0x2c
jmp 0x497a25
xor edi, edi
cmp dword [ebp + 0x14], edi
jle 0x4979df
mov ebx, dword [esp + 0x20]
lea eax, [ebp + 0x24]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x4979a5
mov eax, dword [ecx + edi*4]
jmp 0x4979a7
mov eax, dword [eax]
push ebx
push eax
push 0
push dword [esp + 0x38]
push esi
call fcn.00482360
push dword [esp + 0x4c]
push ebx
push 0x4c
push esi
call fcn.004a3dc0
mov eax, dword [esp + 0x64]
inc edi
add eax, 8
add esp, 0x24
inc ebx
mov dword [esp + 0x40], eax
cmp edi, dword [ebp + 0x14]
jl 0x497998
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x44]
test eax, eax
je 0x497a21
push dword [ebp + 0x14]
push dword [esp + 0x28]
push esi
call fcn.0048eea0
mov edi, dword [esp + 0x5c]
add esp, 8
push eax
push edi
push dword [ebp + 0x14]
push dword [esp + 0x30]
push 0x31
push esi
call fcn.004a3ea0
push 0
push edi
mov edi, dword [esp + 0x5c]
push edi
push dword [esp + 0x58]
push 0x46
push esi
call fcn.004a3f40
add esp, 0x34
jmp 0x497a25
mov edi, dword [esp + 0x38]
push dword [esp + 0x54]
push 0
push 0x68
push esi
call fcn.004a3dc0
push 0
push dword [ebp + 8]
push 0
push dword [esp + 0x74]
push 0
push 0x61
push esi
call fcn.004a3ea0
push dword [esp + 0x88]
mov eax, dword [esp + 0x60]
dec eax
push eax
push 0x17
push esi
call fcn.004a3dc0
push 4
push dword [esp + 0x7c]
push 0x21
push esi
call fcn.004a3dc0
add esp, 0x4c
push edi
push esi
call fcn.004acd00
push ebx
push dword [esp + 0x1c]
call fcn.0047f2c0
inc dword [esp + 0x40]
add esp, 0x10
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x497880
mov ebx, dword [esp + 0x60]
lea eax, [ebx + 1]
push eax
push 0
push 8
push esi
call fcn.004a3dc0
push ebx
push esi
call fcn.004aac70
mov ebx, dword [esp + 0x38]
add esp, 0x18
mov ebp, dword [esp + 0x3c]
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x80]
test eax, eax
jne 0x4976e0
jmp 0x498a7d
mov eax, dword [esp + 0x14]
test eax, eax
je 0x498a7d
push 0
push eax
call fcn.0048da80
movzx eax, al
push eax
push dword [esp + 0x1c]
call fcn.00499a20
jmp 0x498a7a
mov eax, dword [esp + 0x28]
xor ecx, ecx
movzx eax, byte [eax]
cmp byte [eax + 0x4d9400], 0x71
sete cl
cmp dword [ebp], 0
mov dword [esp + 0x3c], ecx
jne 0x497b19
or edi, 0xffffffff
mov dword [esp + 0x18], edi
jmp 0x497b1d
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x80]
push 1
push esi
mov dword [ebp + 0x48], 6
call fcn.004ad0e0
push 0
push 0x4dad40
push 0
push 0
push esi
call fcn.004ad0a0
mov eax, dword [esp + 0x30]
mov ebx, 0x64
add esp, 0x1c
mov dword [esp + 0x38], ebx
mov dword [esp + 0x48], ebx
test eax, eax
je 0x497b7f
lea ecx, [esp + 0x48]
push ecx
push eax
call fcn.0048dba0
mov ebx, dword [esp + 0x50]
add esp, 8
mov dword [esp + 0x38], ebx
test ebx, ebx
jg 0x497b7f
mov ebx, 0x64
mov dword [esp + 0x38], ebx
push 1
push ebx
push 0x17
push esi
call fcn.004a3dc0
mov eax, dword [esp + 0x20]
xor ecx, ecx
add esp, 0x10
mov dword [esp + 0x24], ecx
cmp dword [eax + 0x14], ecx
jle 0x498572
xor ebx, ebx
test edi, edi
js 0x497bae
cmp ecx, edi
jne 0x498560
push ecx
push ebp
call fcn.0047d9b0
push 1
push 0x8a
push esi
call fcn.004a3d50
push 0
push 0
push 0x16
push esi
mov edi, eax
call fcn.004a3dc0
push edi
push esi
call fcn.004aac70
mov eax, dword [esp + 0x3c]
add esp, 0x2c
mov edi, dword [esp + 0x24]
mov ecx, edi
shl ecx, 4
mov dword [esp + 0x60], ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 0xc]
add eax, 8
mov dword [esp + 0x5c], eax
mov ebp, dword [eax + 8]
test ebp, ebp
je 0x497c48
mov edi, dword [ebp + 8]
test byte [edi + 0x2a], 0x20
jne 0x497c1c
lea eax, [ebx + 2]
push eax
push dword [edi + 0x1c]
push 0x17
push esi
call fcn.004a3dc0
add esp, 0x10
inc ebx
mov edi, dword [edi + 8]
test edi, edi
je 0x497c3d
lea eax, [ebx + 2]
push eax
push dword [edi + 0x28]
push 0x17
push esi
call fcn.004a3dc0
mov edi, dword [edi + 0x14]
add esp, 0x10
inc ebx
test edi, edi
jne 0x497c23
mov ebp, dword [ebp]
test ebp, ebp
jne 0x497c00
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x80]
lea ecx, [ebx + 8]
mov eax, dword [ebp + 0x48]
cmp eax, ecx
jg 0x497c5b
mov eax, ecx
push 1
push ebx
push 2
push pe_nt_image_headers32
push esi
mov dword [ebp + 0x48], eax
call fcn.004a3e30
push edi
push esi
call fcn.004a4340
push 2
push 0x4c
push esi
call fcn.004a3d50
mov edx, dword [esp + 0x38]
add esp, 0x28
mov edi, eax
mov eax, dword [esp + 0x60]
mov ecx, dword [edx + 0x10]
push 0xffffffffffffffff
push dword [ecx + eax]
push str._in_database__s__n
push edx
call fcn.00491e80
add esp, 0xc
push eax
push 0
push 3
push 0
push 0x61
push esi
call fcn.004a3ea0
push 1
push 4
push 2
push 0x1e
push esi
call fcn.004a3e30
push 2
push 3
push 4
push 0x5e
push esi
call fcn.004a3e30
add esp, 0x44
push 1
push 2
push 0x21
push esi
call fcn.004a3dc0
push edi
push esi
call fcn.004aac70
mov eax, dword [esp + 0x74]
add esp, 0x18
mov ebx, dword [eax + 8]
mov dword [esp + 0x4c], ebx
test ebx, ebx
je 0x498554
mov eax, dword [esp + 0x3c]
lea ecx, [ecx]
test eax, eax
jne 0x498554
mov ebx, dword [ebx + 8]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x44], eax
mov dword [esp + 0x30], 0xffffffff
cmp dword [ebx + 8], eax
je 0x498542
test byte [ebx + 0x2a], 0x20
jne 0x497d30
mov dword [esp + 0x1c], eax
jmp 0x497d3d
push ebx
call fcn.004991c0
add esp, 4
mov dword [esp + 0x1c], eax
push 1
push 0x8a
push esi
call fcn.004a3d50
push 0
push 0
push 0x16
push esi
mov edi, eax
call fcn.004a3dc0
push edi
push esi
call fcn.004aac70
push ebp
call fcn.00481930
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x4c]
push eax
push 0
push 1
push 0x36
push ebx
push ebp
call fcn.00492b80
add esp, 0x44
push 7
push 0
push 0x17
push esi
call fcn.004a3dc0
mov ebx, dword [ebx + 8]
add esp, 0x10
xor edi, edi
test ebx, ebx
je 0x497db0
lea eax, [edi + 8]
push eax
push 0
push 0x17
push esi
call fcn.004a3dc0
mov ebx, dword [ebx + 0x14]
add esp, 0x10
inc edi
test ebx, ebx
jne 0x497d97
mov eax, dword [ebp + 0x48]
add edi, 8
cmp eax, edi
jg 0x497dbc
mov eax, edi
mov ebx, dword [esp + 0x20]
push 0
push ebx
push 0x6d
push esi
mov dword [ebp + 0x48], eax
call fcn.004a3dc0
push 1
push 7
push 0x25
push esi
call fcn.004a3dc0
mov ecx, dword [esp + 0x4c]
add esp, 0x20
mov dword [esp + 0x50], eax
xor ebp, ebp
xor eax, eax
cmp ax, word [ecx + 0x22]
jge 0x497ecd
xor edi, edi
mov dword [esp + 0x48], edi
lea esp, [esp]
movsx eax, word [ecx + 0x20]
cmp ebp, eax
je 0x497eb9
mov eax, dword [ecx + 4]
cmp byte [eax + edi + 0x14], 0
je 0x497eb9
push 3
push ebp
push ebx
push ecx
push esi
call fcn.00482360
push pe_nt_image_headers32
push esi
call fcn.004a4340
push 3
push 0x4d
push esi
call fcn.004a3d50
push 0xffffffffffffffff
push 1
push 0x25
push esi
mov ebx, eax
call fcn.004a3dc0
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 4]
push dword [ecx + edi]
push dword [eax]
push str.NULL_value_in__s._s
push dword [esp + 0x54]
call fcn.00491e80
add esp, 0x48
push 0xffffffffffffffff
push eax
push 0
push 3
push 0
push 0x61
push esi
call fcn.004a3ea0
push 1
push 3
push 0x21
push esi
call fcn.004a3dc0
push 1
push 0x8a
push esi
call fcn.004a3d50
push 0x16
push esi
mov edi, eax
call fcn.004a3ce0
add esp, 0x40
push ebx
push esi
call fcn.004aac70
push edi
push esi
call fcn.004aac70
mov edi, dword [esp + 0x58]
add esp, 0x10
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x20]
movsx eax, word [ecx + 0x22]
inc ebp
add edi, 0x18
mov dword [esp + 0x48], edi
cmp ebp, eax
jl 0x497e00
mov ebx, dword [ecx + 8]
test ebx, ebx
je 0x4982e3
mov ebp, dword [esp + 0x40]
mov eax, 8
sub eax, ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x60], eax
jmp 0x497ef0
push esi
call fcn.004ab090
add esp, 4
mov edi, eax
cmp dword [esp + 0x1c], ebx
je 0x4982d3
push dword [esp + 0x30]
lea eax, [esp + 0x58]
push dword [esp + 0x48]
push eax
push 0
push 0
push dword [esp + 0x34]
push ebx
push dword [esp + 0x9c]
call fcn.0048d400
mov ecx, dword [esp + 0x80]
push 1
add ecx, ebp
mov dword [esp + 0x54], eax
push ecx
push 0x25
push esi
mov dword [esp + 0x74], ebx
call fcn.004a3dc0
movzx ecx, word [ebx + 0x30]
push ecx
push dword [esp + 0x64]
push edi
push ebp
push 0x46
push esi
call fcn.004a3f40
add esp, 0x48
mov ebp, eax
push 0xffffffffffffffff
push 1
push 0x25
push esi
call fcn.004a3dc0
mov eax, dword [esi + 0x18]
add esp, 0x10
mov edi, dword [esi + 0x20]
cmp dword [eax + 0x54], edi
jg 0x497f8b
push 1
push esi
call fcn.004650f0
add esp, 8
test eax, eax
je 0x497f8b
mov edi, 1
jmp 0x497fbf
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x20]
mov word [eax + ecx*4], 0x61
mov byte [eax + ecx*4 + 3], 0
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 edx, dword [esi + 4]
mov ecx, dword [esi]
test edx, edx
je 0x497ff8
cmp byte [ecx + 0x41], 0
jne 0x497ff8
test edi, edi
jns 0x497fd6
mov edi, dword [esi + 0x20]
dec edi
lea eax, [edi + edi*4]
push dword [edx + eax*4 + 0x10]
lea edi, [edx + eax*4]
movsx eax, byte [edi + 1]
push eax
push ecx
call fcn.00452320
mov dword [edi + 0x10], str.row
mov byte [edi + 1], 0xfe
jmp 0x498005
push str.row
push 0xfffffffffffffffe
push ecx
call fcn.00452320
add esp, 0xc
push 3
push 3
push 7
push 0x5e
push esi
call fcn.004a3e30
mov eax, dword [esi + 0x18]
add esp, 0x14
mov edi, dword [esi + 0x20]
cmp dword [eax + 0x54], edi
jg 0x49803a
push 1
push esi
call fcn.004650f0
add esp, 8
test eax, eax
je 0x49803a
mov edi, 1
jmp 0x49806e
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x20]
mov word [eax + ecx*4], 0x61
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esi + 4]
mov ecx, dword [esi]
test edx, edx
je 0x4980a7
cmp byte [ecx + 0x41], 0
jne 0x4980a7
test edi, edi
jns 0x498085
mov edi, dword [esi + 0x20]
dec edi
lea eax, [edi + edi*4]
push dword [edx + eax*4 + 0x10]
lea edi, [edx + eax*4]
movsx eax, byte [edi + 1]
push eax
push ecx
call fcn.00452320
mov dword [edi + 0x10], str._missing_from_index
mov byte [edi + 1], 0xfe
jmp 0x4980b4
push str._missing_from_index
push 0xfffffffffffffffe
push ecx
call fcn.00452320
add esp, 0xc
push 3
push 3
push 4
push 0x5e
push esi
call fcn.004a3e30
push 0
push dword [ebx]
push 0
push 4
push 0
push 0x61
push esi
call fcn.004a3ea0
push 3
push 3
push 4
push 0x5e
push esi
mov dword [esp + 0xa0], eax
call fcn.004a3e30
add esp, 0x44
push 1
push 3
push 0x21
push esi
call fcn.004a3dc0
push 1
push 0x8a
push esi
call fcn.004a3d50
mov edi, eax
push 0x16
push esi
mov dword [esp + 0x7c], edi
call fcn.004a3ce0
push ebp
push esi
call fcn.004aac70
add esp, 0x2c
cmp byte [ebx + 0x32], 0
je 0x4982a1
push esi
call fcn.004ab090
mov ebp, eax
add esp, 4
xor eax, eax
xor edi, edi
cmp ax, word [ebx + 0x2e]
jae 0x498174
nop
mov eax, dword [ebx + 4]
movsx eax, word [eax + edi*2]
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 4]
cmp byte [eax + ecx*8 + 0x14], 0
jne 0x49816b
mov eax, dword [esp + 0x30]
push ebp
add eax, edi
push eax
push 0x4c
push esi
call fcn.004a3dc0
add esp, 0x10
movzx eax, word [ebx + 0x2e]
inc edi
cmp edi, eax
jl 0x498140
push dword [esp + 0x34]
push 8
push esi
call fcn.004a3d50
push ebp
push 0
push 0xe
push esi
mov edi, eax
call fcn.004a3dc0
mov edx, dword [esi + 0x20]
add esp, 0x1c
cmp edx, edi
jbe 0x4981a1
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
dec ecx
mov dword [eax + 0x58], ecx
movzx eax, word [ebx + 0x2e]
push eax
push dword [esp + 0x34]
push ebp
push dword [esp + 0x40]
push 0x73
push esi
call fcn.004a3f40
push 0xffffffffffffffff
push 1
push 0x25
push esi
call fcn.004a3dc0
mov eax, dword [esi + 0x18]
add esp, 0x28
mov edi, dword [esi + 0x20]
cmp dword [eax + 0x54], edi
jg 0x4981f1
push 1
push esi
call fcn.004650f0
add esp, 8
test eax, eax
je 0x4981f1
mov edi, 1
jmp 0x498225
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x20]
mov word [eax + ecx*4], 0x61
mov byte [eax + ecx*4 + 3], 0
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 edx, dword [esi + 4]
mov ecx, dword [esi]
test edx, edx
je 0x49825e
cmp byte [ecx + 0x41], 0
jne 0x49825e
test edi, edi
jns 0x49823c
mov edi, dword [esi + 0x20]
dec edi
lea eax, [edi + edi*4]
push dword [edx + eax*4 + 0x10]
lea edi, [edx + eax*4]
movsx eax, byte [edi + 1]
push eax
push ecx
call fcn.00452320
mov dword [edi + 0x10], str.non_unique_entry_in_index
mov byte [edi + 1], 0xfe
jmp 0x49826b
push str.non_unique_entry_in_index
push 0xfffffffffffffffe
push ecx
call fcn.00452320
add esp, 0xc
push dword [esp + 0x5c]
push 0
push 0xe
push esi
call fcn.004a3dc0
mov edi, dword [esi + 0x18]
or ecx, 0xffffffff
add esp, 0x10
sub ecx, ebp
js 0x498296
mov edx, dword [edi + 0x70]
test edx, edx
je 0x498296
mov eax, dword [esi + 0x20]
mov dword [edx + ecx*4], eax
mov eax, dword [esi + 0x20]
dec eax
mov dword [edi + 0x58], eax
mov edi, dword [esp + 0x58]
mov edx, dword [esi + 0x20]
cmp edx, edi
jbe 0x4982b2
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x18]
dec ecx
push dword [esp + 0x54]
push dword [esp + 0x84]
mov dword [eax + 0x58], ecx
call fcn.00499fa0
mov ebp, dword [esp + 0x3c]
add esp, 8
mov ebx, dword [ebx + 0x14]
inc ebp
mov dword [esp + 0x34], ebp
test ebx, ebx
jne 0x497ef0
mov edi, dword [esp + 0x50]
push edi
push dword [esp + 0x24]
push 8
push esi
call fcn.004a3dc0
mov edx, dword [esi + 0x20]
lea eax, [edi - 1]
add esp, 0x10
cmp edx, eax
jbe 0x49830b
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 8], edx
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
dec ecx
mov dword [eax + 0x58], ecx
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
cmp dword [eax + 0x54], edi
jg 0x498336
push 1
push esi
call fcn.004650f0
add esp, 8
test eax, eax
je 0x498336
mov edi, 1
jmp 0x49836a
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x20]
mov word [eax + ecx*4], 0x61
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esi + 4]
mov ecx, dword [esi]
test edx, edx
je 0x4983a3
cmp byte [ecx + 0x41], 0
jne 0x4983a3
test edi, edi
jns 0x498381
mov edi, dword [esi + 0x20]
dec edi
lea eax, [edi + edi*4]
push dword [edx + eax*4 + 0x10]
lea edi, [edx + eax*4]
movsx eax, byte [edi + 1]
push eax
push ecx
call fcn.00452320
mov dword [edi + 0x10], str.wrong__of_entries_in_index
mov byte [edi + 1], 0xfe
jmp 0x4983b0
push str.wrong__of_entries_in_index
push 0xfffffffffffffffe
push ecx
call fcn.00452320
mov eax, dword [esp + 0x38]
add esp, 0xc
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x498537
mov eax, dword [esp + 0x1c]
mov ebp, 8
mov dword [esp + 0x48], ebp
nop
cmp eax, ebx
je 0x498527
mov edi, dword [esi + 0x20]
lea eax, [edi + 2]
push eax
push 1
push 0x8a
push esi
call fcn.004a3dc0
push 0
push 0
push 0x16
push esi
call fcn.004a3dc0
mov eax, dword [esp + 0x60]
add eax, 0xfffffff8
push 3
add eax, ebp
push eax
push 0x32
push esi
call fcn.004a3dc0
push 3
lea eax, [edi + 8]
push eax
push ebp
push 0x4f
push esi
call fcn.004a3e30
mov ecx, dword [esi + 4]
add esp, 0x44
test ecx, ecx
je 0x498430
mov eax, dword [esi + 0x20]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 - 0x11], 0x90
push 0xffffffffffffffff
push 1
push 0x25
push esi
call fcn.004a3dc0
mov eax, dword [esi + 0x18]
add esp, 0x10
mov edi, dword [esi + 0x20]
mov ebp, dword [ebx]
cmp dword [eax + 0x54], edi
jg 0x498462
push 1
push esi
call fcn.004650f0
add esp, 8
test eax, eax
je 0x498462
mov edi, 1
jmp 0x498496
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x20]
mov word [eax + ecx*4], 0x61
mov byte [eax + ecx*4 + 3], 0
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 edx, dword [esi + 4]
mov ecx, dword [esi]
test edx, edx
je 0x4984f6
cmp byte [ecx + 0x41], 0
jne 0x4984f6
test edi, edi
jns 0x4984ad
mov edi, dword [esi + 0x20]
dec edi
lea eax, [edi + edi*4]
push dword [edx + eax*4 + 0x10]
lea edi, [edx + eax*4]
movsx eax, byte [edi + 1]
push eax
push ecx
call fcn.00452320
add esp, 0xc
mov dword [edi + 0x10], 0
test ebp, ebp
jne 0x4984d9
mov dword [edi + 0x10], ebp
mov byte [edi + 1], 0
jmp 0x498502
push ebp
call fcn.0049f710
cdq
push edx
push eax
push ebp
push dword [esi]
call fcn.0047f640
add esp, 0x14
mov dword [edi + 0x10], eax
mov byte [edi + 1], 0xff
jmp 0x498502
push ebp
push 0
push ecx
call fcn.00452320
add esp, 0xc
push 7
push 2
push 3
push 0x5e
push esi
call fcn.004a3e30
push 1
push 7
push 0x21
push esi
call fcn.004a3dc0
mov ebp, dword [esp + 0x6c]
add esp, 0x24
mov eax, dword [esp + 0x1c]
mov ebx, dword [ebx + 0x14]
inc ebp
mov dword [esp + 0x48], ebp
test ebx, ebx
jne 0x4983d0
mov eax, dword [esp + 0x3c]
mov ebp, dword [esp + 0x80]
mov ebx, dword [esp + 0x4c]
mov ebx, dword [ebx]
mov dword [esp + 0x4c], ebx
test ebx, ebx
jne 0x497d00
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, dword [eax + 0x14]
jl 0x497ba0
mov ebx, dword [esp + 0x38]
push 0
push 0x4d7384
push 3
push esi
call fcn.004a3fc0
neg ebx
mov edi, eax
push ebx
push edi
push esi
call fcn.004a4240
push edi
push esi
call fcn.004aac70
mov edx, dword [esi + 4]
add esp, 0x24
mov ecx, dword [esi]
inc edi
test edx, edx
je 0x4985d7
cmp byte [ecx + 0x41], 0
jne 0x4985d7
test edi, edi
jns 0x4985af
mov edi, dword [esi + 0x20]
dec edi
lea eax, [edi + edi*4]
push dword [edx + eax*4 + 0x10]
lea esi, [edx + eax*4]
movsx eax, byte [esi + 1]
push eax
push ecx
call fcn.00452320
add esp, 0xc
mov dword [esi + 0x10], 0x4de2a4
mov byte [esi + 1], 0xfe
jmp 0x498a7d
push 0x4de2a4
push 0xfffffffffffffffe
push ecx
call fcn.00452320
add esp, 0xc
jmp 0x498a7d
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x4986c7
mov ebx, dword [esp + 0x80]
push ebx
call fcn.004992a0
add esp, 4
test eax, eax
jne 0x498a7d
push 1
push esi
call fcn.004ad0e0
push 0
push str.encoding
push 0
push 0
push esi
call fcn.004ad0a0
push 1
push 0
push 0x61
push esi
call fcn.004a3dc0
mov eax, dword [ebx]
add esp, 0x2c
mov edx, dword [esi + 4]
mov ecx, dword [esi]
movzx eax, byte [eax + 0x3e]
mov ebx, dword [eax*8 + 0x4d9720]
test edx, edx
je 0x4986aa
cmp byte [ecx + 0x41], 0
jne 0x4986aa
mov eax, dword [esi + 0x20]
dec eax
lea eax, [eax + eax*4]
push dword [edx + eax*4 + 0x10]
lea edi, [edx + eax*4]
movsx eax, byte [edi + 1]
push eax
push ecx
call fcn.00452320
add esp, 0xc
mov dword [edi + 0x10], 0
test ebx, ebx
jne 0x498692
push 1
push 1
push 0x21
push esi
mov dword [edi + 0x10], ebx
mov byte [edi + 1], bl
call fcn.004a3dc0
jmp 0x498a7a
push 1
push 1
push 0x21
push esi
mov dword [edi + 0x10], ebx
mov byte [edi + 1], 0xfe
call fcn.004a3dc0
jmp 0x498a7a
push ebx
push 0xfffffffffffffffe
push ecx
call fcn.00452320
add esp, 0xc
push 1
push 1
push 0x21
push esi
call fcn.004a3dc0
jmp 0x498a7a
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x10]
mov eax, dword [edi + 0xc]
movzx eax, word [eax + 0x4e]
test al, 1
je 0x4986e1
test al, 4
je 0x498a7d
mov eax, dword [str.UTF8]
mov esi, 0x4d9720
test eax, eax
je 0x498737
nop
push eax
push ecx
call fcn.0043ae40
add esp, 8
test eax, eax
je 0x49870e
mov eax, dword [esi + 8]
add esi, 8
mov ecx, dword [esp + 0x14]
test eax, eax
jne 0x4986f0
jmp 0x498733
mov al, byte [esi + 4]
movzx ecx, al
test al, al
jne 0x49871d
mov ecx, 2
mov eax, dword [esp + 0x10]
mov byte [eax + 0x3e], cl
mov eax, dword [edi + 0xc]
mov byte [eax + 0x4d], cl
cmp dword [esi], 0
jne 0x498a7d
mov ecx, dword [esp + 0x14]
push ecx
push str.unsupported_encoding:__s
push dword [esp + 0x88]
call fcn.00481160
add esp, 0xc
jmp 0x498a7d
mov ebp, dword [esp + 0x18]
mov ebx, dword [edi*4 + 0x4d6540]
push ebp
push esi
call fcn.004adc20
add esp, 8
cmp dword [esp + 0x14], 0
je 0x4987bf
test byte [edi*4 + 0x4d653d], 2
jne 0x4987bf
push 0
push 0x4d88b4
push 3
push esi
call fcn.004a3fc0
mov edi, eax
push ebp
push edi
push esi
call fcn.004a4200
push dword [esp + 0x30]
call fcn.00477bb0
push eax
lea eax, [edi + 1]
push eax
push esi
call fcn.004a4200
push ebp
add edi, 2
push edi
push esi
call fcn.004a4200
push ebx
push edi
push esi
call fcn.004a4220
add esp, 0x44
jmp 0x498a7d
push 0
push 0x4d8c1c
push 3
push esi
call fcn.004a3fc0
mov edi, eax
push ebp
push edi
push esi
call fcn.004a4200
push ebp
inc edi
push edi
push esi
call fcn.004a4200
push ebx
push edi
push esi
call fcn.004a4240
push 1
push esi
call fcn.004ad0e0
push 0xffffffffffffffff
push dword [esp + 0x68]
push 0
push 0
push esi
call fcn.004ad0a0
add esp, 0x50
jmp 0x498a7d
push 1
push esi
xor edi, edi
call fcn.004ad0e0
mov eax, dword [esp + 0x88]
push edi
push str.compile_option
push edi
push edi
push esi
mov dword [eax + 0x48], 1
call fcn.004ad0a0
push edi
call fcn.004338e0
add esp, 0x20
test eax, eax
je 0x498a7d
push 0
push eax
push 0
push 1
push 0
push 0x61
push esi
inc edi
call fcn.004a3ea0
push 1
push 1
push 0x21
push esi
call fcn.004a3dc0
push edi
call fcn.004338e0
add esp, 0x30
test eax, eax
jne 0x498840
jmp 0x498a7d
cmp dword [ebp], 0
mov ebx, dword [esp + 0x18]
jne 0x49887f
mov ebx, 0xa
mov eax, dword [esp + 0x14]
xor edi, edi
test eax, eax
je 0x4988d0
push str.full
push eax
call fcn.0043ae40
add esp, 8
test eax, eax
jne 0x4988a0
lea edi, [eax + 1]
jmp 0x4988d0
mov ebp, dword [esp + 0x14]
push str.restart
push ebp
call fcn.0043ae40
add esp, 8
test eax, eax
jne 0x4988bb
lea edi, [eax + 2]
jmp 0x4988d0
push str.truncate
push ebp
call fcn.0043ae40
add esp, 8
test eax, eax
jne 0x4988d0
lea edi, [eax + 3]
push 3
push esi
call fcn.004ad0e0
mov eax, dword [esp + 0x88]
push 0
push str.busy
push 0
push 0
push esi
mov dword [eax + 0x48], 3
call fcn.004ad0a0
push 0
push 0x4de2e4
push 0
push 1
push esi
call fcn.004ad0a0
push 0
push str.checkpointed
push 0
push 2
push esi
call fcn.004ad0a0
add esp, 0x44
push 1
push edi
push ebx
push 9
push esi
call fcn.004a3e30
push 3
push 1
push 0x21
push esi
call fcn.004a3dc0
add esp, 0x24
jmp 0x498a7d
mov eax, dword [esp + 0x14]
test eax, eax
je 0x498957
push eax
call fcn.00477bb0
push eax
push dword [esp + 0x18]
call fcn.0043b770
add esp, 0xc
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xd8], 0x4af100
jne 0x49897a
mov eax, dword [eax + 0xdc]
cdq
push edx
push eax
push str.wal_autocheckpoint
jmp 0x498a6e
xor eax, eax
cdq
push edx
push eax
push str.wal_autocheckpoint
jmp 0x498a6e
push dword [esp + 0x10]
call fcn.00432590
add esp, 4
jmp 0x498a7d
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4989c4
lea ecx, [esp + 0x60]
push ecx
push eax
call fcn.0047f690
add esp, 8
test eax, eax
jne 0x4989c4
push dword [esp + 0x64]
push dword [esp + 0x64]
call fcn.00432780
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.00432780
push edx
push eax
push str.soft_heap_limit
push dword [esp + 0x94]
call fcn.00472fc0
add esp, 0x18
jmp 0x498a7d
mov eax, dword [esp + 0x14]
test eax, eax
je 0x498a2d
lea ecx, [esp + 0x60]
push ecx
push eax
call fcn.0047f690
add esp, 8
test eax, eax
jne 0x498a2d
cmp dword [esp + 0x64], eax
jl 0x498a2d
mov eax, dword [esp + 0x60]
jg 0x498a12
test eax, eax
jb 0x498a2d
and eax, 0x7fffffff
jl 0x498a2d
cmp eax, 8
jle 0x498a23
mov eax, 8
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x84], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x84]
cdq
push edx
push eax
push str.threads
jmp 0x498a6e
mov eax, dword [esp + 0x14]
test eax, eax
je 0x498a5c
push eax
call fcn.00477bb0
push eax
push dword [esp + 0x18]
call fcn.00437520
add esp, 0xc
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1ec]
cdq
push edx
push eax
push str.timeout
push dword [esp + 0x8c]
call fcn.00472fc0
add esp, 0x10
mov ecx, dword [esp + 0x10]
push dword [esp + 0x28]
push ecx
call fcn.0047f2c0
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call fcn.0047f2c0
add esp, 0x10
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x6c
ret