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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x94
push ebx
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi + 8]
test eax, eax
push edi
mov edi, dword [esi]
mov dword [esp + 0xc], edi
jne 0x474fd5
cmp dword [esi + 0x78], eax
jne 0x474fce
test byte [edi + 0x50], 8
jne 0x474fce
mov byte [esi + 0x17], 1
mov ebx, esi
call fcn.0043c140
test eax, eax
mov dword [esp + 0x10], eax
je 0x47858b
push 0
push 1
push 1
push 0xa6
push eax
call fcn.0043c3f0
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
add esp, 0x14
push esi
lea ecx, [esp + 0x60]
mov dword [esi + 0x2c], 2
call fcn.004611a0
add esp, 4
test eax, eax
mov dword [esp + 0x18], eax
jl 0x47858b
mov edx, dword [edi + 0x10]
mov ecx, eax
shl ecx, 4
add edx, ecx
cmp eax, 1
mov dword [esp + 0x30], ecx
mov dword [esp + 0x14], edx
jne 0x475041
mov eax, esi
call fcn.00466a10
test eax, eax
jne 0x47858b
mov ecx, dword [esp + 0x5c]
push edi
call fcn.00461020
add esp, 4
test eax, eax
mov dword [esp + 0x7c], eax
je 0x47858b
cmp dword [ebp + 0x18], 0
je 0x475073
mov eax, dword [ebp + 0x14]
push eax
push 0x4ca194
call fcn.0041ba60
add esp, 8
jmp 0x47507f
mov ecx, dword [ebp + 0x14]
push edi
call fcn.00461020
add esp, 4
mov ecx, dword [ebp + 0x10]
cmp dword [ecx + 4], 0
mov dword [esp + 0x34], eax
jbe 0x475098
mov edx, dword [esp + 0x14]
mov eax, dword [edx]
mov dword [esp + 0x24], eax
jmp 0x4750a0
mov dword [esp + 0x24], 0
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x7c]
push ecx
push edx
push eax
push 0x13
mov eax, esi
call fcn.0045f990
add esp, 0x10
test eax, eax
jne 0x47856d
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0xc]
xor edi, edi
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], edx
mov dword [esp + 0x98], edi
mov dword [eax + 0x1c8], edi
mov eax, dword [eax + 0xc]
cmp eax, edi
mov dword [esp + 0x20], 1
je 0x47510c
push eax
call dword [0x4d4408]
add esp, 4
cmp dword [esp + 0x24], edi
je 0x4751fc
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0xc]
call fcn.00461110
test eax, eax
jl 0x475197
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x10]
shl eax, 4
mov ebx, dword [eax + edx + 4]
test ebx, ebx
je 0x475197
cmp byte [ebx + 9], 0
je 0x475150
add dword [ebx + 0xc], 1
cmp byte [ebx + 0xa], 0
jne 0x475150
mov edi, ebx
call fcn.0042d6a0
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0xc]
mov ecx, dword [eax]
mov edi, dword [edx + 0x1c8]
mov ecx, dword [ecx + 0x40]
push 0xe
lea edx, [esp + 0x90]
call fcn.004184f0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x10]
add esp, 4
mov dword [eax + 0x1c8], edi
cmp byte [ebx + 9], 0
je 0x475197
add dword [ebx + 0xc], 0xffffffff
jne 0x475197
mov esi, ebx
call fcn.0042d660
mov esi, dword [ebp + 8]
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0xc]
test eax, eax
mov edi, dword [esp + 0x34]
je 0x4751b0
push eax
call dword [0x4d4410]
add esp, 4
mov ebx, dword [esp + 0x20]
test ebx, ebx
jne 0x475203
mov esi, dword [esp + 0x10]
push 1
call fcn.0043e090
mov edx, dword [esp + 0x90]
add esp, 4
push 0xffffffffffffffff
push edx
push ebx
push ebx
mov ecx, esi
call fcn.0043e120
mov eax, dword [esp + 0x9c]
mov ecx, esi
call fcn.00474cf0
mov eax, dword [esp + 0x9c]
push eax
call fcn.004191a0
add esp, 0x14
jmp 0x47856d
xor eax, eax
jmp 0x475127
cmp ebx, 0xc
je 0x47523d
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x475231
push eax
push 0x4bebec
call fcn.0041cbf0
mov ecx, dword [esp + 0x94]
push ecx
call fcn.004191a0
mov esi, dword [ebp + 8]
add esp, 0xc
add dword [esi + 0x24], 1
mov dword [esi + 0xc], ebx
jmp 0x47856d
mov ebx, dword [esp + 0x7c]
call fcn.00474e10
test eax, eax
mov dword [esp + 0x2c], eax
je 0x47856d
mov ebx, eax
test byte [ebx + 5], 1
je 0x47526b
push esi
call fcn.00479780
add esp, 4
test eax, eax
jne 0x47856d
mov al, byte [ebx + 5]
test al, 2
jne 0x47528b
test al, 4
je 0x47527a
test edi, edi
jne 0x47528b
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
mov ecx, ebx
call fcn.00474bc0
jmp 0x47528f
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
movzx ecx, byte [eax + 4]
add ecx, 0xffffffff
cmp ecx, 0x2a
ja case.0x4752a3.4
jmp dword [ecx*4 + 0x478594]
mov ecx, dword [esp + 0x18]
mov edx, 1
shl edx, cl
or dword [ebx + 0x9c], edx
cmp ecx, 1
je 0x4752c7
mov eax, ebx
call fcn.0043d460
test edi, edi
jne 0x4752f6
add dword [esi + 0x2c], 2
push 9
mov eax, 0x4c2e18
mov ecx, ebx
call fcn.0043cc00
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x7c], 0xfffff830
jmp 0x47856d
mov ecx, edi
call fcn.0041d870
call fcn.0041dfd0
mov ecx, dword [esp + 0x18]
mov edi, eax
push 0
mov eax, esi
call fcn.00466b50
mov eax, dword [esp + 0x1c]
add esp, 4
push edi
push 3
push eax
push 0x64
push ebx
call fcn.0043c3f0
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0xc]
mov dword [ecx + 0x50], edi
mov edx, dword [eax + 0xc]
mov ecx, dword [edx + 0x50]
mov eax, dword [eax + 4]
add esp, 0x14
push ecx
call fcn.00430020
add esp, 4
jmp 0x47856d
test edi, edi
mov edx, dword [esp + 0x14]
mov esi, dword [edx + 4]
jne 0x475366
test esi, esi
je 0x475869
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x24]
jmp 0x478560
mov ecx, edi
call fcn.0041d870
mov edi, dword [esp + 0xc]
push 0
push eax
mov dword [edi + 0x64], eax
push esi
xor eax, eax
call fcn.00430180
add esp, 0xc
cmp eax, 7
jne 0x47856d
push edi
call fcn.00419a00
add esp, 4
jmp 0x47856d
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 4]
or ebx, 0xffffffff
test edi, edi
mov dword [esp + 0x30], edx
je 0x4753d7
push str.fast
push edi
call fcn.0041cd70
add esp, 8
test eax, eax
jne 0x4753c2
lea ebx, [eax + 2]
jmp 0x4753d7
push 0
push 1
push edi
call fcn.00474990
add esp, 0xc
neg al
sbb eax, eax
neg eax
mov ebx, eax
mov eax, dword [ebp + 0x10]
cmp dword [eax + 4], 0
jne 0x475410
test ebx, ebx
jl 0x475410
mov ecx, dword [esp + 0xc]
xor edi, edi
cmp dword [ecx + 0x14], edi
jle 0x475410
xor esi, esi
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x10]
mov eax, dword [eax + esi + 4]
call fcn.00430300
mov ecx, dword [esp + 0xc]
add edi, 1
add esi, 0x10
cmp edi, dword [ecx + 0x14]
jl 0x4753f1
mov eax, dword [esp + 0x30]
call fcn.00430300
mov esi, dword [esp + 0x10]
jmp 0x478562
mov ecx, dword [esp + 0x18]
xor eax, eax
mov edx, esi
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
call fcn.00466ab0
add dword [esi + 0x2c], 1
mov edx, dword [esp + 0x7c]
movzx eax, byte [edx]
cmp byte [eax + 0x4c1700], 0x70
mov esi, dword [esi + 0x2c]
jne 0x475463
mov ecx, dword [esp + 0x18]
push 0
push esi
push ecx
push 0xb1
push ebx
call fcn.0043c3f0
jmp 0x4754c2
xor ebx, ebx
cmp edi, ebx
je 0x4754a2
mov edi, dword [esp + 0x34]
lea edx, [esp + 0x40]
push edx
call fcn.0041d5f0
add esp, 4
test eax, eax
jne 0x4754a2
mov ecx, dword [esp + 0x44]
cmp ecx, ebx
mov eax, dword [esp + 0x40]
jg 0x47549b
jl 0x4754a2
cmp eax, ebx
jb 0x4754a2
cmp ecx, ebx
jl 0x4754a8
jg 0x47549b
cmp eax, 0xfffffffe
jbe 0x4754a8
mov eax, 0xfffffffe
jmp 0x4754a4
xor eax, eax
mov dword [esp + 0x44], ebx
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
push esi
push eax
push 0xb2
push ecx
call fcn.0043c3f0
mov ebx, dword [esp + 0x24]
add esp, 0x14
push 0
push 1
push esi
push 0x54
push ebx
call fcn.0043c3f0
add esp, 0x14
jmp 0x47856d
mov esi, edi
mov dword [esp + 0x20], str.normal
call fcn.00474a60
mov edx, eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 4]
test eax, eax
jne 0x47553f
cmp edx, 0xffffffff
jne 0x475504
mov ecx, dword [esp + 0xc]
movzx eax, byte [ecx + 0x59]
jmp 0x475550
test eax, eax
jne 0x47553f
mov ebx, dword [esp + 0xc]
mov esi, 2
cmp dword [ebx + 0x14], esi
jle 0x47553c
mov edi, 0x20
jmp 0x475520
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax + edi + 4]
mov eax, dword [ecx + 4]
mov eax, dword [eax]
call fcn.0042a180
add esi, 1
add edi, 0x10
cmp esi, dword [ebx + 0x14]
jl 0x475520
mov byte [ebx + 0x59], dl
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 4]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call fcn.0042a180
cmp eax, 1
jne 0x47555d
mov dword [esp + 0x20], str.exclusive
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
call fcn.00474cf0
jmp 0x47856d
test edi, edi
jne 0x475578
or esi, 0xffffffff
jmp 0x4755ce
mov eax, edi
call fcn.0041c9d0
mov dword [esp + 0x30], eax
xor esi, esi
cmp esi, 6
je 0x475573
mov eax, dword [esi*4 + 0x4c2e00]
test eax, eax
je 0x475573
mov edx, dword [esp + 0x30]
push edx
push eax
push edi
call fcn.0041cdc0
add esp, 0xc
test eax, eax
je 0x4755ad
add esi, 1
jmp 0x475585
cmp esi, 2
jne 0x4755c9
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
xor ecx, ecx
or eax, ecx
je 0x4755e6
or esi, 0xffffffff
jmp 0x4755ce
cmp esi, 0xffffffff
jne 0x4755e6
mov eax, dword [ebp + 0x10]
cmp dword [eax + 4], 0
jne 0x4755e6
mov dword [esp + 0x18], 0
mov dword [eax + 4], 1
mov ecx, dword [esp + 0xc]
mov edi, dword [ecx + 0x14]
sub edi, 1
js 0x475654
mov eax, edi
shl eax, 4
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0xc]
mov ecx, dword [edx + 0x10]
cmp dword [ecx + eax + 4], 0
je 0x475646
cmp edi, dword [esp + 0x18]
je 0x475618
mov edx, dword [ebp + 0x10]
cmp dword [edx + 4], 0
jne 0x475646
mov eax, 1
mov ecx, edi
shl eax, cl
or dword [ebx + 0x9c], eax
cmp edi, 1
je 0x475633
mov eax, ebx
call fcn.0043d460
push esi
push 1
push edi
push 4
push ebx
call fcn.0043c3f0
mov eax, dword [esp + 0x34]
add esp, 0x14
sub edi, 1
sub eax, 0x10
test edi, edi
mov dword [esp + 0x20], eax
jge 0x4755fb
push 0
push 1
push 1
push 0x54
push ebx
call fcn.0043c3f0
add esp, 0x14
jmp 0x47856d
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 4]
mov eax, dword [edx + 4]
mov esi, dword [eax]
or ecx, 0xffffffff
test edi, edi
mov eax, 0xfffffffe
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
je 0x4756ba
mov edi, dword [esp + 0x34]
lea ecx, [esp + 0x40]
push ecx
call fcn.0041d5f0
mov ecx, dword [esp + 0x48]
add esp, 4
cmp ecx, 0xffffffff
jg 0x4756b6
jl 0x4756af
mov eax, dword [esp + 0x40]
cmp eax, 0xffffffff
jae 0x4756ba
or eax, 0xffffffff
or ecx, eax
jmp 0x4756ba
mov eax, dword [esp + 0x40]
push ecx
push eax
mov ecx, esi
call fcn.0042a2f0
mov esi, dword [esp + 0x18]
push edx
push eax
call fcn.00474c50
add esp, 0x10
jmp 0x47856d
test edi, edi
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
mov dword [esp + 0x20], eax
jne 0x4756ef
call fcn.004303f0
jmp 0x478560
mov esi, edi
call fcn.00474a90
mov ecx, dword [esp + 0xc]
mov ebx, eax
mov eax, dword [esp + 0x20]
push ebx
mov byte [ecx + 0x5a], bl
call fcn.00430370
add esp, 4
test eax, eax
jne 0x47856d
cmp ebx, 1
je 0x475722
cmp ebx, 2
jne 0x47856d
mov esi, dword [esp + 0x10]
mov edi, dword [esi + 0x6c]
push 5
mov eax, 0x4c2e40
mov ecx, esi
call fcn.0043cc00
mov ecx, dword [esp + 0x1c]
mov edx, 1
shl edx, cl
add edi, 4
add ebx, 0xffffffff
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x30], edi
mov dword [eax + 0x54], ecx
mov dword [eax + 0x5c], ebx
or dword [esi + 0x9c], edx
add esp, 4
cmp ecx, 1
je 0x47856d
mov eax, esi
call fcn.0043d460
jmp 0x47856d
test edi, edi
mov dword [esp + 0x3c], 0
je 0x47579a
lea eax, [esp + 0x3c]
push eax
push edi
call fcn.0041d6f0
add esp, 8
test eax, eax
je 0x47579a
cmp dword [esp + 0x3c], 0
jg 0x4757a2
mov dword [esp + 0x3c], 0x7fffffff
mov edi, dword [esp + 0x18]
push 0
mov ecx, edi
mov eax, esi
call fcn.00466b50
mov ecx, dword [esp + 0x40]
add esp, 4
push 0
push 1
push ecx
push 0x47
push ebx
call fcn.0043c3f0
add esp, 0x14
push 0
push 0
push edi
push 0x3e
push ebx
call fcn.0043c3f0
add esp, 0x14
push 0
push 0
push 1
push 0x54
push ebx
mov esi, eax
call fcn.0043c3f0
add esp, 0x14
push 0
push 0xffffffffffffffff
push 1
push 0x56
push ebx
call fcn.0043c3f0
add esp, 0x14
push 0
push esi
push 1
push 0x3b
push ebx
call fcn.0043c3f0
add esp, 0x14
mov edx, esi
mov eax, ebx
call fcn.0043cd40
jmp 0x47856d
test edi, edi
jne 0x47582d
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0xc]
mov eax, dword [eax + 0x50]
jmp 0x478560
mov ecx, edi
call fcn.0041d870
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0xc]
mov dword [edx + 0x50], eax
mov eax, dword [ecx + 0xc]
mov edx, dword [eax + 0x50]
mov eax, dword [ecx + 4]
push edx
call fcn.00430020
add esp, 4
jmp 0x47856d
test edi, edi
jne 0x475886
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x20]
and eax, 0x20
xor ecx, ecx
or eax, ecx
jne 0x475870
xor eax, eax
jmp 0x478560
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 4]
push 0
call fcn.00430080
add esp, 4
jmp 0x478560
lea edx, [esp + 0x20]
push edx
push edi
mov dword [esp + 0x28], 1
call fcn.0041d6f0
mov esi, dword [esp + 0x28]
add esp, 8
test eax, eax
je 0x4758b4
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
push esi
call fcn.00430080
add esp, 4
test esi, esi
setne al
mov ecx, edi
call fcn.00474a40
test al, al
mov eax, dword [esp + 0xc]
je 0x4758e0
mov ecx, dword [eax + 0x24]
or dword [eax + 0x20], 0x20
push eax
mov dword [eax + 0x24], ecx
call fcn.00474d30
add esp, 4
jmp 0x47856d
mov edx, dword [eax + 0x24]
and dword [eax + 0x20], 0xffffffdf
push eax
mov dword [eax + 0x24], edx
call fcn.00474d30
add esp, 4
jmp 0x47856d
test edi, edi
je 0x47599a
mov edi, dword [esp + 0x34]
lea eax, [esp + 0x40]
push eax
call fcn.0041d5f0
mov ecx, dword [esp + 0x48]
add esp, 4
test ecx, ecx
jg 0x475936
jl 0x475922
cmp dword [esp + 0x40], 0
jae 0x475936
mov ecx, dword [0x4d4460]
mov dword [esp + 0x40], ecx
mov ecx, dword [0x4d4464]
mov dword [esp + 0x44], ecx
mov edx, dword [ebp + 0x10]
cmp dword [edx + 4], 0
mov eax, dword [esp + 0xc]
jne 0x47594d
mov edx, dword [esp + 0x40]
mov dword [eax + 0x30], edx
mov dword [eax + 0x34], ecx
mov edi, dword [eax + 0x14]
sub edi, 1
js 0x47599a
mov ebx, edi
shl ebx, 4
lea ebx, [ebx]
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [edx + ebx + 4]
test eax, eax
je 0x475990
cmp edi, dword [esp + 0x18]
je 0x47597e
mov edx, dword [ebp + 0x10]
cmp dword [edx + 4], 0
jne 0x475990
push ecx
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004300d0
mov ecx, dword [esp + 0x4c]
add esp, 8
sub edi, 1
sub ebx, 0x10
test edi, edi
jge 0x475960
mov edx, dword [esp + 0xc]
or eax, 0xffffffff
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
lea edi, [eax + 2]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x4759bd
push eax
call dword [0x4d4408]
add esp, 4
cmp dword [esp + 0x24], 0
je 0x475a73
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0xc]
call fcn.00461110
test eax, eax
jl 0x475a49
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x10]
shl eax, 4
mov ebx, dword [eax + edx + 4]
test ebx, ebx
je 0x475a49
cmp byte [ebx + 9], 0
je 0x475a01
add dword [ebx + 0xc], edi
cmp byte [ebx + 0xa], 0
jne 0x475a01
mov edi, ebx
call fcn.0042d6a0
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0xc]
mov ecx, dword [eax]
mov edi, dword [edx + 0x1c8]
mov ecx, dword [ecx + 0x40]
push 0x12
lea edx, [esp + 0x44]
call fcn.004184f0
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x10]
add esp, 4
mov dword [eax + 0x1c8], edi
cmp byte [ebx + 9], 0
je 0x475a45
add dword [ebx + 0xc], 0xffffffff
jne 0x475a45
mov esi, ebx
call fcn.0042d660
mov esi, dword [ebp + 8]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x475a5e
push eax
call dword [0x4d4410]
add esp, 4
test edi, edi
jne 0x475a7a
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x10]
jmp 0x478563
xor eax, eax
jmp 0x4759d9
cmp edi, 0xc
je 0x47856d
add dword [esi + 0x24], 1
mov dword [esi + 0xc], edi
jmp 0x47856d
test edi, edi
jne 0x475aa0
mov ecx, dword [esp + 0xc]
movzx eax, byte [ecx + 0x56]
jmp 0x478560
mov eax, dword [esp + 0x34]
mov edi, esi
call fcn.00474b50
jmp 0x47856d
cmp byte [0x4d43bc], 0
jne 0x475abd
xor eax, eax
jmp 0x475ac8
push 0xb
call dword [0x4d4400]
add esp, 4
push eax
call fcn.004189a0
add esp, 4
test edi, edi
jne 0x475ae6
mov eax, dword [0x4d6a64]
mov ecx, ebx
call fcn.00474cf0
jmp 0x475b8f
cmp byte [edi], 0
je 0x475b4b
mov edx, dword [esp + 0xc]
mov eax, dword [edx]
mov edx, dword [eax + 0x20]
lea ecx, [esp + 0x30]
push ecx
push 1
push edi
push eax
call edx
add esp, 0x10
test eax, eax
jne 0x475b0c
cmp dword [esp + 0x30], eax
jne 0x475b4b
push str.not_a_writable_directory
call fcn.0041cbf0
add esp, 4
cmp byte [0x4d43bc], 0
jne 0x475b32
xor eax, eax
push eax
call fcn.004189e0
add esp, 4
jmp 0x47856d
push 0xb
call dword [0x4d4400]
add esp, 4
push eax
call fcn.004189e0
add esp, 4
jmp 0x47856d
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x56], 1
ja 0x475b5c
mov eax, esi
call fcn.00474b00
mov ecx, dword [0x4d6a64]
push ecx
call fcn.004191a0
add esp, 4
cmp byte [edi], 0
je 0x475b85
push edi
push 0x4bebec
call fcn.0041bb40
add esp, 8
mov dword [0x4d6a64], eax
jmp 0x475b8f
mov dword [0x4d6a64], 0
cmp byte [0x4d43bc], 0
jne 0x475b32
xor eax, eax
push eax
call fcn.004189e0
add esp, 4
jmp 0x47856d
cmp byte [0x4d43bc], 0
jne 0x475bb5
xor eax, eax
jmp 0x475bc0
push 0xb
call dword [0x4d4400]
add esp, 4
push eax
call fcn.004189a0
add esp, 4
test edi, edi
jne 0x475bde
mov eax, dword [0x4d6a68]
mov ecx, ebx
call fcn.00474cf0
jmp 0x475c60
cmp byte [edi], 0
je 0x475c2e
mov edx, dword [esp + 0xc]
mov eax, dword [edx]
mov edx, dword [eax + 0x20]
lea ecx, [esp + 0x30]
push ecx
push 1
push edi
push eax
call edx
add esp, 0x10
test eax, eax
jne 0x475c04
cmp dword [esp + 0x30], eax
jne 0x475c2e
push str.not_a_writable_directory
call fcn.0041cbf0
add esp, 4
cmp byte [0x4d43bc], 0
jne 0x475b32
xor eax, eax
push eax
call fcn.004189e0
add esp, 4
jmp 0x47856d
mov eax, dword [0x4d6a68]
push eax
call fcn.004191a0
add esp, 4
cmp byte [edi], 0
je 0x475c56
push edi
push 0x4bebec
call fcn.0041bb40
add esp, 8
mov dword [0x4d6a68], eax
jmp 0x475c60
mov dword [0x4d6a68], 0
cmp byte [0x4d43bc], 0
jne 0x475b32
xor eax, eax
push eax
call fcn.004189e0
add esp, 4
jmp 0x47856d
test edi, edi
jne 0x475c91
mov ecx, dword [esp + 0x14]
movzx eax, byte [ecx + 8]
sub eax, 1
jmp 0x478560
mov ebx, dword [esp + 0xc]
cmp byte [ebx + 0x55], 0
jne 0x475cad
push str.Safety_level_may_not_be_changed_inside_a_transaction
call fcn.0041cbf0
add esp, 4
jmp 0x47856d
cmp dword [esp + 0x18], 1
je 0x47856d
push 1
push 0
push edi
call fcn.00474990
add esp, 0xc
add eax, 1
and eax, 7
jne 0x475cd2
mov eax, 1
mov ecx, dword [esp + 0x14]
push ebx
mov byte [ecx + 8], al
mov byte [ecx + 9], 1
call fcn.00474d30
add esp, 4
jmp 0x47856d
test edi, edi
jne 0x475d1c
mov esi, dword [esp + 0x2c]
mov eax, esi
mov ecx, ebx
call fcn.00474bc0
mov edx, dword [esp + 0xc]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
and eax, dword [edx + 0x20]
and ecx, dword [edx + 0x24]
or eax, ecx
je 0x475869
lea eax, [edi + 1]
jmp 0x478560
mov edx, dword [eax + 8]
mov esi, dword [esp + 0xc]
cmp byte [esi + 0x55], 0
mov eax, dword [eax + 0xc]
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], eax
jne 0x475d40
and dword [esp + 0x40], 0xffffbfff
mov dword [esp + 0x44], eax
push 0
push 1
push edi
call fcn.00474990
mov ecx, dword [esp + 0x50]
add esp, 0xc
test al, al
mov eax, dword [esp + 0x40]
je 0x475d61
or dword [esi + 0x20], eax
or dword [esi + 0x24], ecx
jmp 0x475daa
mov edx, eax
not edx
and dword [esi + 0x20], edx
not ecx
and dword [esi + 0x24], ecx
cmp eax, 0x80000
jne 0x475d88
xor ecx, ecx
cmp dword [esp + 0x44], ecx
jne 0x475d88
mov dword [esi + 0x208], ecx
mov dword [esi + 0x20c], ecx
and eax, 1
xor ecx, ecx
or eax, ecx
je 0x475daa
push str.reset
push edi
call fcn.0041cd70
add esp, 8
test eax, eax
jne 0x475daa
mov eax, esi
call fcn.00460930
push 0
push 0
push 0
push 0xa6
push ebx
call fcn.0043c3f0
add esp, 0x14
push esi
call fcn.00474d30
add esp, 4
jmp 0x47856d
test edi, edi
je 0x47856d
mov edx, dword [esp + 0x24]
push edx
mov ebx, esi
call fcn.00466ae0
mov eax, dword [esp + 0x28]
add esp, 4
push eax
push edi
push 2
push esi
call fcn.004603d0
add esp, 0x10
test eax, eax
mov dword [esp + 0x28], eax
je 0x47856d
xor edi, edi
mov dword [esp + 0x1c], edi
mov ebx, eax
call fcn.00461340
mov dword [esp + 0x30], eax
push esi
mov eax, ebx
mov dword [esi + 0x2c], 7
call fcn.00463ca0
movsx eax, word [ebx + 0x22]
add esp, 4
test eax, eax
mov dword [esp + 0x3c], edi
mov edi, dword [ebx + 4]
jle 0x47856d
mov edx, dword [esp + 0x2c]
lea ebx, [ebx]
movzx ecx, word [edi + 0xe]
xor ebx, ebx
test cl, 0x62
je 0x475e75
mov esi, dword [edx + 8]
or esi, dword [edx + 0xc]
jne 0x475e5d
add dword [esp + 0x1c], 1
jmp 0x475f1e
test cl, 0x20
je 0x475e69
mov ebx, 2
jmp 0x475e75
movzx ebx, cl
and ebx, 0x40
or ebx, 0x20
shr ebx, 5
test cl, 1
jne 0x475e7e
xor esi, esi
jmp 0x475ea5
mov ecx, dword [esp + 0x30]
test ecx, ecx
mov esi, 1
je 0x475ea5
cmp eax, esi
jl 0x475ea5
mov ecx, dword [ecx + 4]
movsx edx, word [ecx]
cmp edx, dword [esp + 0x3c]
je 0x475ea5
add esi, 1
add ecx, 2
cmp esi, eax
jle 0x475e92
mov eax, dword [esp + 0x28]
mov ecx, edi
call fcn.00460a30
cmp ebx, 2
jge 0x475ebe
test eax, eax
je 0x475ebe
mov eax, dword [eax + 8]
jmp 0x475ec0
xor eax, eax
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 8]
or edx, dword [ecx + 0xc]
mov dword [esp + 0x20], str.issisii
jne 0x475edc
mov dword [esp + 0x20], str.issisi
push ebx
push esi
push eax
mov eax, dword [edi + 4]
and al, 0xf
neg al
sbb eax, eax
neg eax
push eax
push 0x4be549
mov eax, edi
call fcn.0041c9f0
mov ecx, dword [edi]
mov edx, dword [esp + 0x50]
sub edx, dword [esp + 0x30]
mov esi, dword [esp + 0x24]
add esp, 4
push eax
mov eax, dword [esp + 0x34]
push ecx
push edx
push eax
push 1
call fcn.0043c4c0
mov edx, dword [esp + 0x50]
add esp, 0x24
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x3c]
movsx eax, word [eax + 0x22]
add ecx, 1
add edi, 0x10
cmp ecx, eax
mov dword [esp + 0x3c], ecx
jl 0x475e40
jmp 0x47856d
mov ecx, dword [esp + 0x24]
push ecx
mov ebx, esi
mov dword [esi + 0x2c], 6
call fcn.00466ae0
mov edx, dword [esp + 0x10]
add esp, 4
cmp dword [edx + 0x14], 0
mov dword [esp + 0x68], 0
jle 0x47856d
mov dword [esp + 0x60], 0
mov esi, edx
mov eax, dword [esp + 0x24]
test eax, eax
je 0x475f9b
mov edx, dword [esp + 0x60]
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx + edx]
push ecx
push eax
call fcn.0041cd70
add esp, 8
test eax, eax
jne 0x476104
mov edx, dword [esi + 0x10]
mov eax, dword [esp + 0x60]
mov eax, dword [edx + eax + 0xc]
mov ebx, dword [eax + 0xc]
add eax, 8
test ebx, ebx
je 0x476064
mov ecx, dword [eax + 8]
sub ebx, 1
test ecx, ecx
je 0x476064
mov edx, dword [ecx + 8]
cmp word [edx + 0x22], 0
je 0x475fd7
mov ecx, dword [ecx]
test ecx, ecx
jne 0x475fc2
jmp 0x476064
mov ecx, dword [edx]
mov edi, dword [esp + 0xc]
push ecx
push str.SELECTFROM__w_
call fcn.0041ba60
mov esi, eax
add esp, 8
test esi, esi
je 0x476022
push 0
lea edx, [esp + 0x24]
push edx
push 0xffffffffffffffff
push esi
push edi
mov dword [esp + 0x34], 0
call fcn.0047a230
mov eax, dword [esp + 0x34]
add esp, 0x14
push eax
call fcn.00440d90
add esp, 4
mov eax, esi
mov ecx, edi
call fcn.00419270
cmp byte [edi + 0x57], 0
je 0x47604a
mov esi, dword [edi + 0x10c]
push str.out_of_memory
call fcn.0041cbf0
mov ecx, edi
mov edx, dword [ecx + 0x10c]
add esp, 4
mov dword [edx + 0xc], 7
mov eax, dword [edi + 0x10]
mov ecx, dword [esp + 0x60]
mov eax, dword [eax + ecx + 0xc]
mov edi, dword [esp + 0x34]
add eax, 8
test ebx, ebx
jne 0x475fb4
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x476104
nop
test edi, edi
mov esi, dword [ebx + 8]
je 0x476087
mov edx, dword [esi]
push edx
push edi
call fcn.0041cd70
add esp, 8
test eax, eax
jne 0x4760fa
mov al, byte [esi + 0x2b]
cmp al, 2
jne 0x476095
mov ecx, str.view
jmp 0x4760b3
cmp al, 1
jne 0x4760a0
mov ecx, str.virtual
jmp 0x4760b3
test dword [esi + 0x1c], 0x1000
mov ecx, str.shadow
jne 0x4760b3
mov ecx, str.table
mov eax, dword [esi + 0x1c]
mov edi, dword [esi]
mov edx, eax
shr edx, 0x10
shr eax, 7
and edx, 1
push edx
and eax, 1
push eax
movsx eax, word [esi + 0x22]
push eax
push ecx
call fcn.00460550
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x10]
mov esi, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x74]
mov ecx, dword [edx + eax]
push ecx
push str.sssiii
push 1
call fcn.0043c4c0
mov edi, dword [esp + 0x54]
add esp, 0x20
mov ebx, dword [ebx]
test ebx, ebx
jne 0x476070
mov eax, dword [esp + 0x68]
mov esi, dword [esp + 0xc]
add dword [esp + 0x60], 0x10
add eax, 1
cmp eax, dword [esi + 0x14]
mov dword [esp + 0x68], eax
jl 0x475f77
jmp 0x47856d
test edi, edi
je 0x47856d
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0xc]
push edx
push edi
push eax
call fcn.004605a0
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x476179
mov ecx, dword [esp + 0x24]
push ecx
push edi
push 2
push esi
call fcn.004603d0
add esp, 0x10
test eax, eax
je 0x47856d
test byte [eax + 0x1c], 0x80
je 0x47856d
call fcn.00461340
mov ebx, eax
test ebx, ebx
je 0x47856d
mov edx, dword [ebx + 0x18]
mov ecx, dword [esp + 0xc]
call fcn.00479a70
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 8]
or edx, dword [ecx + 0xc]
je 0x4761a2
movzx ecx, word [ebx + 0x34]
mov dword [esp + 0x1c], ecx
mov dword [esi + 0x2c], 6
jmp 0x4761b1
movzx edx, word [ebx + 0x32]
mov dword [esp + 0x1c], edx
mov dword [esi + 0x2c], 3
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x30], ecx
mov ecx, eax
mov edx, esi
call fcn.00466ab0
xor edi, edi
cmp dword [esp + 0x1c], edi
jle 0x47856d
mov edx, dword [ebx + 4]
movzx eax, word [edx + edi*2]
test ax, ax
jge 0x4761dd
xor ecx, ecx
jmp 0x4761ed
mov edx, dword [esp + 0x30]
mov edx, dword [edx + 4]
movsx ecx, ax
shl ecx, 4
mov ecx, dword [ecx + edx]
mov esi, dword [esp + 0x10]
push ecx
movsx eax, ax
push eax
push edi
push str.iisX
push 1
call fcn.0043c4c0
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 8]
add esp, 0x14
or ecx, dword [eax + 0xc]
je 0x47623c
movzx edx, word [ebx + 0x32]
mov ecx, dword [ebx + 0x20]
xor eax, eax
cmp edi, edx
mov edx, dword [ecx + edi*4]
setl al
push eax
mov eax, dword [ebx + 0x1c]
movzx ecx, byte [eax + edi]
push edx
push ecx
push str.isiX
push 4
call fcn.0043c4c0
add esp, 0x14
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x2c]
mov ecx, dword [esp + 0x10]
push 0
push eax
push 1
push 0x54
push ecx
call fcn.0043c3f0
add edi, 1
add esp, 0x14
cmp edi, dword [esp + 0x1c]
jl 0x4761cd
jmp 0x47856d
test edi, edi
je 0x47856d
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0xc]
push edx
push edi
call fcn.00460170
mov edi, eax
add esp, 8
test edi, edi
je 0x47856d
mov edx, dword [edi + 0x3c]
mov ecx, ebx
call fcn.00479a70
mov ecx, eax
mov edx, esi
mov dword [esi + 0x2c], 5
call fcn.00466ab0
mov edi, dword [edi + 8]
xor ebx, ebx
test edi, edi
je 0x47856d
mov dword [esp + 0x40], 0x4beb20
mov dword [esp + 0x44], 0x4beb48
mov dword [esp + 0x48], 0x4c015c
mov ecx, dword [edi + 0x38]
xor eax, eax
cmp dword [edi + 0x24], eax
mov esi, dword [esp + 0x10]
setne al
and ecx, 3
mov edx, dword [esp + ecx*4 + 0x40]
mov ecx, dword [edi]
push eax
xor eax, eax
cmp byte [edi + 0x36], al
push edx
setne al
push eax
push ecx
push ebx
push str.isisi
push 1
call fcn.0043c4c0
mov edi, dword [edi + 0x14]
add esp, 0x1c
add ebx, 1
test edi, edi
jne 0x4762cb
jmp 0x47856d
mov ecx, dword [esp + 0xc]
xor edi, edi
mov dword [esi + 0x2c], 3
cmp dword [ecx + 0x14], edi
jle 0x47856d
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx + 0x10]
add edx, eax
mov eax, dword [edx + 4]
test eax, eax
je 0x47635b
call fcn.00439340
mov ecx, dword [edx]
push eax
push ecx
push edi
push 0x4ca244
push 1
mov esi, ebx
call fcn.0043c4c0
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
add esp, 0x14
add dword [esp + 0x1c], 0x10
add edi, 1
cmp edi, dword [ecx + 0x14]
jl 0x476328
jmp 0x47856d
mov edx, dword [esp + 0xc]
mov dword [esi + 0x2c], 2
mov edi, dword [edx + 0x1b8]
xor ebx, ebx
test edi, edi
je 0x47856d
mov eax, dword [edi + 8]
mov ecx, dword [eax]
mov esi, dword [esp + 0x10]
push ecx
push ebx
push 0x4ca248
push 1
call fcn.0043c4c0
mov edi, dword [edi]
add esp, 0x10
add ebx, 1
test edi, edi
jne 0x476388
jmp 0x47856d
mov edx, dword [esp + 0xc]
mov edi, dword [edx + 0x18]
shr edi, 5
and edi, 1
mov dword [esi + 0x2c], 6
mov dword [esp + 0x1c], 0x4d6858
lea esp, [esp]
mov eax, dword [esp + 0x1c]
mov esi, dword [eax]
test esi, esi
je 0x4763f6
lea ebx, [ebx]
push edi
push 1
mov eax, esi
mov ecx, ebx
call fcn.00474eb0
mov esi, dword [esi + 0x24]
add esp, 8
test esi, esi
jne 0x4763e0
mov eax, dword [esp + 0x1c]
add eax, 4
cmp eax, 0x4d68b4
mov dword [esp + 0x1c], eax
jl 0x4763d0
mov ecx, dword [esp + 0xc]
mov esi, dword [ecx + 0x1a8]
test esi, esi
je 0x47856d
lea ebx, [ebx]
mov eax, dword [esi + 8]
push edi
push 0
mov ecx, ebx
call fcn.00474eb0
mov esi, dword [esi]
add esp, 8
test esi, esi
jne 0x476420
jmp 0x47856d
mov edx, dword [esp + 0xc]
mov dword [esi + 0x2c], 1
mov edi, dword [edx + 0x18c]
test edi, edi
je 0x47856d
mov eax, dword [edi + 8]
mov ecx, dword [eax + 4]
mov esi, dword [esp + 0x10]
push ecx
push 0x4beb34
push 1
call fcn.0043c4c0
mov edi, dword [edi]
add esp, 0xc
test edi, edi
jne 0x476454
jmp 0x47856d
mov edi, 0x4c29b8
mov edx, dword [edi]
mov esi, dword [esp + 0x10]
push edx
push 0x4beb34
push 1
call fcn.0043c4c0
add edi, 0x10
add esp, 0xc
cmp edi, 0x4c2de8
jl 0x47647e
jmp 0x47856d
test edi, edi
je 0x47856d
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0xc]
push eax
push edi
call fcn.00460170
add esp, 8
test eax, eax
mov dword [esp + 0x20], eax
je 0x47856d
cmp byte [eax + 0x2b], 0
jne 0x47856d
mov edi, dword [eax + 0x30]
test edi, edi
je 0x47856d
mov edx, dword [eax + 0x3c]
mov ecx, ebx
call fcn.00479a70
mov ecx, eax
mov edx, esi
mov dword [esp + 0x28], 0
mov dword [esi + 0x2c], 8
call fcn.00466ab0
xor ebx, ebx
cmp dword [edi + 0x14], ebx
jle 0x476568
lea ecx, [edi + 0x24]
mov dword [esp + 0x1c], ecx
mov al, byte [edi + 0x19]
push str.NONE
call fcn.00474dc0
push eax
mov al, byte [edi + 0x1a]
call fcn.00474dc0
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x28]
mov edx, dword [eax + 4]
mov eax, dword [eax]
push edx
mov edx, dword [ecx + 4]
mov ecx, dword [edi + 8]
shl eax, 4
mov eax, dword [eax + edx]
mov edx, dword [esp + 0x38]
push eax
push ecx
push ebx
push edx
push str.iissssss
push 1
call fcn.0043c4c0
add dword [esp + 0x44], 8
add ebx, 1
add esp, 0x28
cmp ebx, dword [edi + 0x14]
jl 0x47650f
mov edi, dword [edi + 4]
add dword [esp + 0x28], 1
test edi, edi
jne 0x476501
jmp 0x47856d
mov eax, dword [esi + 0x2c]
mov edx, dword [esp + 0xc]
lea ecx, [eax + 1]
add eax, 5
mov dword [esi + 0x2c], eax
mov dword [esp + 0x54], eax
mov eax, dword [edx + 0x10]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [eax + ecx + 0xc]
mov eax, dword [edx + 0x10]
test eax, eax
je 0x47856d
mov ebx, dword [esp + 0x34]
jmp 0x4765b4
mov eax, dword [esp + 0x74]
test ebx, ebx
je 0x4765d9
mov eax, dword [esp + 0x24]
push eax
push ebx
push 0
push esi
call fcn.004603d0
mov edi, eax
add esp, 0x10
mov dword [esp + 0x64], edi
mov dword [esp + 0x74], 0
jmp 0x4765e8
mov ecx, dword [eax + 8]
mov edx, dword [eax]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x74], edx
mov edi, ecx
test edi, edi
je 0x4769c0
cmp byte [edi + 0x2b], 0
jne 0x4769c0
cmp dword [edi + 0x30], 0
je 0x4769c0
mov edx, dword [edi + 0x3c]
mov ecx, dword [esp + 0xc]
call fcn.00479a70
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x10]
mov ebx, eax
shl eax, 4
mov eax, dword [eax + edx]
mov ecx, ebx
mov edx, esi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x24], eax
call fcn.00466ab0
mov ecx, dword [edi]
mov edx, dword [edi + 0x14]
push ecx
push 0
push edx
mov ecx, ebx
mov eax, esi
call fcn.0045fb50
movsx eax, word [edi + 0x22]
mov ecx, dword [esp + 0x60]
add eax, ecx
add esp, 0xc
cmp eax, dword [esi + 0x2c]
jle 0x476657
mov dword [esi + 0x2c], eax
mov ebx, dword [esp + 0x18]
push 0x70
push 0
push esi
mov eax, edi
call fcn.0046f0f0
mov ebx, dword [edi]
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x1c]
add esp, 0xc
call fcn.0043c460
mov edi, dword [edi + 0x30]
test edi, edi
mov dword [esp + 0x14], 1
je 0x47673f
lea esp, [esp]
mov edx, dword [esp + 0x24]
mov eax, dword [edi + 8]
mov ebx, dword [esp + 0xc]
push edx
push eax
call fcn.00460170
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x47672f
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x14]
mov esi, dword [ebp + 8]
push ecx
mov ecx, dword [esp + 0x1c]
push 0
push edx
mov eax, esi
mov dword [esp + 0x64], 0
call fcn.0045fb50
add esp, 0xc
lea eax, [esp + 0x58]
push eax
push edi
push ebx
push esi
xor eax, eax
call fcn.0046c990
add esp, 0x10
test eax, eax
jne 0x47856d
cmp dword [esp + 0x58], eax
mov ecx, dword [esp + 0x14]
jne 0x476709
push 0x70
push ecx
mov eax, ebx
mov ebx, dword [esp + 0x20]
push esi
call fcn.0046f0f0
add esp, 0xc
jmp 0x47672f
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x58]
mov eax, dword [ebx + 0x2c]
push edx
mov edx, dword [esp + 0x14]
push eax
push ecx
push 0x70
push edx
call fcn.0043c3f0
add esp, 0x14
mov ecx, ebx
mov eax, esi
call fcn.0043d070
mov edi, dword [edi + 4]
add dword [esp + 0x14], 1
test edi, edi
jne 0x476690
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x14]
cmp dword [eax + 0x28], ecx
jge 0x47674e
mov dword [eax + 0x28], ecx
mov edi, dword [esp + 0x10]
push 0
push 0
push 0
push 0x24
push edi
call fcn.0043c3f0
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 0x30]
add esp, 0x14
test eax, eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], eax
je 0x476999
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 1]
add eax, 2
mov dword [esp + 0x20], ecx
mov dword [esp + 0x5c], eax
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0xc]
push edx
push eax
call fcn.00460170
xor ecx, ecx
add esp, 8
cmp eax, ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x6c], ecx
je 0x4767d8
lea ecx, [esp + 0x58]
push ecx
push esi
mov esi, dword [ebp + 8]
push eax
push esi
lea eax, [esp + 0x7c]
call fcn.0046c990
add esp, 0x10
jmp 0x4767db
mov esi, dword [ebp + 8]
add dword [esi + 0x38], 0xffffffff
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x14]
mov eax, dword [esp + 0x54]
mov ebx, dword [esi + 0x38]
add eax, edx
cmp eax, dword [esi + 0x2c]
mov dword [esp + 0x60], ebx
jle 0x4767fb
mov dword [esi + 0x2c], eax
cmp dword [ecx + 0x14], 0
mov dword [esp + 0x1c], 0
jle 0x476876
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x54]
mov ebx, dword [esp + 0x64]
add ecx, 0x24
mov dword [esp + 0x28], ecx
lea esp, [esp]
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x476831
mov edx, dword [esp + 0x1c]
mov eax, dword [eax + edx*4]
jmp 0x476837
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
push esi
push 0
push edi
call fcn.004568a0
mov ecx, dword [esp + 0x6c]
add esp, 0xc
push 0
push ecx
push esi
push 0x32
push edi
call fcn.0043c3f0
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
add dword [esp + 0x3c], 8
add eax, 1
add esp, 0x14
add esi, 1
cmp eax, dword [edx + 0x14]
mov dword [esp + 0x1c], eax
jl 0x476820
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x58]
test esi, esi
je 0x4768d0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0xc]
push ecx
push ecx
push edx
call fcn.0046f1f0
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + 0x14]
mov edx, dword [esp + 0x60]
add esp, 8
push eax
push 0x60
xor eax, eax
call fcn.0043c620
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x14]
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
add esp, 0xc
push eax
mov eax, dword [esp + 0x58]
push 0x1d
mov ecx, ebx
call fcn.0043c9a0
add esp, 8
mov edi, esi
jmp 0x476903
cmp dword [esp + 0x30], 0
je 0x476903
mov ecx, dword [esp + 0x54]
mov edx, dword [edi + 0x6c]
mov eax, dword [esp + 0x14]
push ecx
add edx, 2
push edx
push eax
push 0x1e
push edi
call fcn.0043c3f0
add esp, 0x14
push 0
push ebx
push 0
push 9
push edi
call fcn.0043c3f0
add esp, 0x14
mov ecx, dword [esp + 0x64]
test byte [ecx + 0x1c], 0x80
push 0
jne 0x47691d
mov edx, dword [esp + 0x24]
push edx
push 0
push 0x87
jmp 0x476926
mov eax, dword [esp + 0x24]
push eax
push 0
push 0x4b
push edi
call fcn.0043c3f0
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 8]
add esp, 0x14
add ecx, 0xffffffff
push ecx
mov ecx, dword [esp + 0x60]
push eax
push 0x4ca260
push ecx
mov esi, edi
call fcn.0043c4c0
mov edx, dword [esp + 0x4c]
push 0
push 4
push edx
push 0x54
push edi
call fcn.0043c3f0
add esp, 0x24
mov eax, ebx
mov ecx, edi
call fcn.0043caa0
cmp dword [esp + 0x6c], 0
je 0x476981
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0xc]
call fcn.00419270
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 4]
add dword [esp + 0x14], 1
test eax, eax
mov dword [esp + 0x18], eax
jne 0x476794
mov esi, dword [esp + 0x38]
push 0
lea ecx, [esi + 1]
push ecx
push 0
push 0x27
push edi
call fcn.0043c3f0
add esp, 0x14
mov edx, esi
mov eax, edi
call fcn.0043cd40
mov esi, dword [ebp + 8]
mov ebx, dword [esp + 0x34]
cmp dword [esp + 0x74], 0
jne 0x4765b0
jmp 0x47856d
test edi, edi
je 0x47856d
mov edx, dword [esp + 0x34]
push 0
push 1
push edx
call fcn.00474990
mov edi, dword [esp + 0x18]
add esp, 0xc
neg al
sbb eax, eax
neg eax
push eax
call fcn.0046c5c0
add esp, 4
jmp 0x47856d
mov eax, dword [esp + 0x7c]
movzx ecx, byte [eax]
mov eax, dword [ebp + 0x10]
xor edx, edx
cmp byte [ecx + 0x4c1700], 0x71
mov dword [esp + 0x80], 0
sete dl
cmp dword [eax], 0
mov dword [esp + 0x1c], edx
jne 0x476a33
mov dword [esp + 0x18], 0xffffffff
test edi, edi
mov dword [esi + 0x2c], 6
mov dword [esp + 0x3c], 0x64
je 0x476a96
lea ecx, [esp + 0x3c]
push ecx
push edi
call fcn.0041d6f0
add esp, 8
test eax, eax
je 0x476a69
cmp dword [esp + 0x3c], 0
jg 0x476a96
mov dword [esp + 0x3c], 0x64
jmp 0x476a96
mov eax, dword [esp + 0x18]
test eax, eax
jl 0x476a80
mov edx, dword [esp + 0xc]
mov ecx, dword [edx + 0x10]
shl eax, 4
mov eax, dword [eax + ecx]
jmp 0x476a82
xor eax, eax
push eax
push edi
push 0
push esi
call fcn.004603d0
add esp, 0x10
mov dword [esp + 0x80], eax
mov edx, dword [esp + 0x3c]
push 0
push 1
add edx, 0xffffffff
push edx
push 0x47
push ebx
call fcn.0043c3f0
mov eax, dword [esp + 0x20]
add esp, 0x14
cmp dword [eax + 0x14], 0
mov dword [esp + 0x74], 0
jle 0x477ec2
jmp 0x476ad0
mov eax, dword [esp + 0x18]
test eax, eax
mov dword [esp + 0x28], 0
jl 0x476aea
cmp dword [esp + 0x74], eax
jne 0x477eaa
mov edi, dword [esp + 0x74]
mov ecx, edi
mov edx, esi
call fcn.00466ab0
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x10]
mov eax, edi
shl eax, 4
mov dword [esp + 0x5c], eax
mov eax, dword [eax + edx + 0xc]
mov edi, dword [eax + 0x10]
add eax, 8
xor edx, edx
test edi, edi
mov dword [esp + 0x20], eax
je 0x477eaa
mov ebx, dword [esp + 0x80]
test ebx, ebx
mov eax, dword [edi + 8]
je 0x476b31
cmp ebx, eax
jne 0x476b5a
test byte [eax + 0x1c], 0x80
jne 0x476b3a
add edx, 1
mov eax, dword [eax + 8]
xor ecx, ecx
test eax, eax
je 0x476b50
mov eax, dword [eax + 0x14]
add edx, 1
add ecx, 1
test eax, eax
jne 0x476b43
cmp ecx, dword [esp + 0x28]
jle 0x476b5a
mov dword [esp + 0x28], ecx
mov edi, dword [edi]
test edi, edi
jne 0x476b26
test edx, edx
je 0x477eaa
mov ebx, dword [esp + 0x80]
test ebx, ebx
je 0x476b76
add edx, 1
mov ecx, dword [esp + 0xc]
lea eax, [edx*4 + 4]
push 0
push eax
call fcn.00419650
add esp, 8
test eax, eax
je 0x477ec2
xor ecx, ecx
test ebx, ebx
je 0x476ba6
mov ecx, 1
mov dword [eax + 4], 0
mov edx, dword [esp + 0x20]
mov edi, dword [edx + 8]
test edi, edi
je 0x476bfd
test ebx, ebx
mov edx, dword [edi + 8]
je 0x476bbc
cmp ebx, edx
jne 0x476bf7
test byte [edx + 0x1c], 0x80
jne 0x476bd2
mov ebx, dword [edx + 0x14]
add ecx, 1
mov dword [eax + ecx*4], ebx
mov ebx, dword [esp + 0x80]
mov edx, dword [edx + 8]
test edx, edx
je 0x476bf7
lea esp, [esp]
mov ebx, dword [edx + 0x2c]
add ecx, 1
mov dword [eax + ecx*4], ebx
mov edx, dword [edx + 0x14]
test edx, edx
jne 0x476be0
mov ebx, dword [esp + 0x80]
mov edi, dword [edi]
test edi, edi
jne 0x476bb1
mov edx, dword [esp + 0x28]
mov dword [eax], ecx
mov edi, dword [esi + 0x2c]
add edx, 8
cmp edi, edx
jle 0x476c0f
mov edx, edi
push 0xfffffffffffffff2
mov dword [esi + 0x2c], edx
push eax
mov byte [esi + 0x13], 0
mov dword [esi + 0x1c], 0
mov esi, dword [esp + 0x18]
mov eax, 1
push 0x9b
lea edx, [eax + 1]
mov edi, esi
call fcn.0043c620
movzx dx, byte [esp + 0x80]
add esp, 0xc
mov ecx, esi
call fcn.0043cce0
push 0
push 0
push 2
push 0x32
push esi
call fcn.0043c3f0
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x70]
mov ebx, eax
mov eax, dword [edi + 0x10]
mov edx, dword [ecx + eax]
add esp, 0x14
push edx
push str._in_database__s__n
call fcn.0041ba60
push 0
push 3
push 0
push 0x75
push esi
mov edi, eax
call fcn.0043c3f0
mov ecx, dword [esi]
add esp, 0x1c
cmp byte [ecx + 0x57], 0
je 0x476ca0
mov eax, edi
mov edx, 0xfffffffa
call fcn.0043cde0
jmp 0x476cd7
test eax, eax
jge 0x476caa
mov eax, dword [esi + 0x6c]
sub eax, 1
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
cmp byte [ecx + eax*4 + 1], 0
lea ecx, [ecx + eax*4]
je 0x476ccc
push edi
mov eax, 0xfffffffa
mov edx, esi
call fcn.0043ced0
add esp, 4
jmp 0x476cd7
test edi, edi
je 0x476cd7
mov dword [ecx + 0x10], edi
mov byte [ecx + 1], 0xfa
push 3
push 3
push 2
push 0x6f
push esi
call fcn.0043c3f0
add esp, 0x14
call fcn.00474f50
mov eax, dword [esp + 0x10]
mov edx, ebx
call fcn.0043cd40
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 8]
test eax, eax
mov dword [esp + 0x20], eax
je 0x477ea7
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 8]
cmp byte [eax + 0x2b], 0
mov dword [esp + 0x24], eax
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0xffffffff
jne 0x477e95
mov eax, dword [esp + 0x80]
test eax, eax
je 0x476d45
cmp eax, dword [esp + 0x24]
jne 0x477e95
mov edi, dword [esp + 0x24]
xor eax, eax
cmp dword [esp + 0x1c], eax
jne 0x476d94
test byte [edi + 0x1c], 0x80
je 0x476d94
mov eax, edi
call fcn.00461340
mov ecx, dword [ebp + 8]
mov ebx, eax
movzx esi, word [ebx + 0x32]
mov dword [esp + 0x54], ebx
call fcn.00459ef0
movzx ecx, word [ebx + 0x32]
mov ebx, dword [esp + 0x10]
lea edx, [ecx + eax - 1]
push edx
push eax
push 1
push 0x4b
push ebx
mov dword [esp + 0x9c], eax
call fcn.0043c3f0
add esp, 0x14
jmp 0x476da3
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x54], eax
mov dword [esp + 0x88], eax
mov edx, dword [ebp + 8]
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x7c]
push ecx
push 0
push 1
push 0
push 0x70
push edi
push edx
call fcn.00473150
push 0
push 7
push 0
push 0x47
push ebx
call fcn.0043c3f0
mov esi, dword [edi + 8]
add esp, 0x34
test esi, esi
je 0x476e00
mov dword [esp + 0x28], 8
nop
mov eax, dword [esp + 0x28]
push 0
push eax
push 0
push 0x47
push ebx
call fcn.0043c3f0
mov esi, dword [esi + 0x14]
add dword [esp + 0x3c], 1
add esp, 0x14
test esi, esi
jne 0x476de0
mov esi, dword [esp + 0x78]
push 0
push 0
push esi
push 0x24
push ebx
call fcn.0043c3f0
add esp, 0x14
push 0
push 1
push 7
push 0x56
push ebx
call fcn.0043c3f0
add esp, 0x14
test byte [edi + 0x1c], 0x80
mov dword [esp + 0x40], eax
jne 0x476e5a
movsx edx, word [edi + 0x22]
or ecx, 0xffffffff
test edx, edx
jle 0x476e50
mov eax, dword [edi + 4]
add eax, 0xe
test byte [eax], 0x20
jne 0x476e48
add ecx, 1
add eax, 0x10
sub edx, 1
jne 0x476e40
movsx edx, word [edi + 0x20]
cmp ecx, edx
jne 0x476e68
jmp 0x476e65
mov eax, edi
call fcn.00461340
movzx ecx, word [eax + 0x34]
sub ecx, 1
test ecx, ecx
jl 0x476e87
push 3
push ecx
push esi
push 0x5e
push ebx
call fcn.0043c3f0
add esp, 0x14
push 3
mov ecx, ebx
call fcn.0043cd00
add esp, 4
cmp dword [esp + 0x1c], 0
jne 0x476fa0
cmp dword [esp + 0x54], 0
je 0x476fa0
mov eax, dword [esp + 0x54]
movzx ecx, word [eax + 0x32]
mov edi, dword [esp + 0x88]
mov edx, dword [esp + 0x78]
push ecx
push 0x29
mov eax, edi
xor ecx, ecx
mov esi, ebx
call fcn.0043c9a0
push 0
push 0
push edi
push 0x32
push ebx
mov dword [esp + 0x54], eax
call fcn.0043c3f0
mov edx, dword [esp + 0x40]
mov eax, dword [edx]
mov edi, dword [esp + 0x28]
add esp, 0x1c
push eax
push str.row_not_in_PRIMARY_KEY_order_for__s
call fcn.0041ba60
push 0
push 3
push 0
push 0x75
push ebx
mov esi, eax
call fcn.0043c3f0
mov ecx, dword [ebx]
add esp, 0x1c
cmp byte [ecx + 0x57], 0
je 0x476f10
mov eax, esi
mov edx, 0xfffffffa
call fcn.0043cde0
jmp 0x476f47
test eax, eax
jge 0x476f1a
mov eax, dword [ebx + 0x6c]
sub eax, 1
mov edx, dword [ebx + 0x68]
lea ecx, [eax + eax*4]
cmp byte [edx + ecx*4 + 1], 0
lea ecx, [edx + ecx*4]
je 0x476f3c
push esi
mov eax, 0xfffffffa
mov edx, ebx
call fcn.0043ced0
add esp, 4
jmp 0x476f47
test esi, esi
je 0x476f47
mov dword [ecx + 0x10], esi
mov byte [ecx + 1], 0xfa
mov esi, ebx
call fcn.00474f50
mov esi, dword [esp + 0x38]
mov edx, esi
mov eax, ebx
call fcn.0043cd40
lea edx, [esi + 1]
mov eax, ebx
call fcn.0043cd40
mov eax, dword [esp + 0x54]
xor edi, edi
cmp word [eax + 0x32], di
jbe 0x476fa0
mov ecx, dword [esp + 0x88]
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x78]
lea esi, [edi + ecx]
push edx
mov edx, dword [esp + 0x58]
mov ecx, edi
call fcn.004566f0
mov eax, dword [esp + 0x58]
movzx ecx, word [eax + 0x32]
add edi, 1
add esp, 4
cmp edi, ecx
jl 0x476f71
mov esi, dword [esp + 0x24]
movzx edx, byte [esi + 0x1e]
xor ecx, ecx
and edx, 1
cmp word [esi + 0x22], cx
mov dword [esp + 0x38], edx
mov dword [esp + 0x6c], ecx
jle 0x47750a
mov dword [esp + 0x64], ecx
mov edi, dword [esi + 4]
movsx eax, word [esi + 0x20]
add edi, dword [esp + 0x64]
cmp ecx, eax
mov dword [esp + 0x68], edi
je 0x4774f2
cmp dword [esp + 0x38], 0
je 0x476ffb
mov edx, dword [edi + 4]
and edx, 0xf0
mov eax, 0x10
cmp eax, edx
sbb eax, eax
neg eax
mov dword [esp + 0x28], eax
jmp 0x47700a
xor edx, edx
cmp byte [edi + 8], 0x41
setg dl
mov dword [esp + 0x28], edx
mov eax, edx
test byte [edi + 4], 0xf
jne 0x477018
test eax, eax
je 0x4774f2
test byte [edi + 0xe], 0x20
mov dword [esp + 0x84], 5
je 0x477058
mov eax, dword [esp + 0x78]
push 3
push eax
mov eax, dword [esp + 0x74]
push ebx
mov ebx, esi
call fcn.004568a0
mov ebx, dword [esp + 0x1c]
add esp, 0xc
mov dword [esp + 0x70], 0xffffffff
mov dword [esp + 0x14], 3
jmp 0x4770f8
cmp word [edi + 0xc], 0
je 0x4770b5
mov ecx, dword [esp + 0xc]
movzx edx, byte [ecx + 0x54]
push edx
mov ecx, edi
mov eax, esi
mov dword [esp + 0x74], 0
call fcn.00460a30
mov ecx, dword [esp + 0x10]
mov dl, byte [edi + 8]
push ecx
lea ecx, [esp + 0x78]
call fcn.0043c0d0
mov eax, dword [esp + 0x78]
add esp, 8
test eax, eax
je 0x4770b5
movzx edx, byte [eax + 0x10]
and edx, 0x3f
movzx ecx, byte [edx + 0x4c21d0]
mov esi, eax
mov dword [esp + 0x84], ecx
call fcn.0043c0f0
mov esi, dword [esp + 0x24]
test byte [esi + 0x1c], 0x80
mov edx, dword [esp + 0x78]
mov dword [esp + 0x70], edx
je 0x4770e0
mov eax, dword [esp + 0x24]
call fcn.00461340
mov esi, dword [esp + 0x6c]
mov edx, eax
call fcn.00461360
movsx eax, ax
mov dword [esp + 0x14], eax
jmp 0x4770f8
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x24]
call fcn.00461390
mov edi, dword [esp + 0x68]
movsx ecx, ax
mov dword [esp + 0x14], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x38]
add eax, 0xffffffff
mov dword [esp + 0x60], eax
add eax, 0xffffffff
mov dword [ecx + 0x38], eax
test byte [edi + 4], 0xf
mov dword [esp + 0x2c], eax
je 0x4771f2
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x74]
push 0x12
mov esi, ebx
call fcn.0043c9a0
mov esi, eax
mov eax, dword [ebx + 0x6c]
add esp, 8
test eax, eax
jle 0x47714f
mov ecx, dword [ebx + 0x68]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 0xf
mov edx, dword [edi]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov edi, dword [esp + 0xc]
push edx
push ecx
push str.NULL_value_in__s._s
call fcn.0041ba60
add esp, 0xc
push 0
push 3
push 0
push 0x75
push ebx
mov edi, eax
call fcn.0043c3f0
mov ecx, dword [ebx]
add esp, 0x14
cmp byte [ecx + 0x57], 0
je 0x477193
mov eax, edi
mov edx, 0xfffffffa
call fcn.0043cde0
jmp 0x4771ca
test eax, eax
jge 0x47719d
mov eax, dword [ebx + 0x6c]
sub eax, 1
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
cmp byte [eax + edx*4 + 1], 0
lea ecx, [eax + edx*4]
je 0x4771bf
push edi
mov eax, 0xfffffffa
mov edx, ebx
call fcn.0043ced0
add esp, 4
jmp 0x4771ca
test edi, edi
je 0x4771ca
mov dword [ecx + 0x10], edi
mov byte [ecx + 1], 0xfa
cmp dword [esp + 0x28], 0
je 0x4771ee
mov ecx, dword [esp + 0x60]
push 0
push ecx
push 0
push 9
push ebx
call fcn.0043c3f0
add esp, 0x14
mov edx, esi
mov eax, ebx
call fcn.0043cd40
mov edi, dword [esp + 0x68]
cmp dword [esp + 0x38], 0
je 0x4772b2
cmp dword [esp + 0x28], 0
je 0x4774cd
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x74]
push 0x12
mov esi, ebx
call fcn.0043c9a0
mov eax, dword [edi + 4]
shr eax, 4
and eax, 0xf
movzx dx, byte [eax + 0x4d59c3]
mov ecx, ebx
call fcn.0043cce0
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x6c]
mov ecx, dword [edx + ecx]
mov edx, dword [eax]
mov eax, dword [edi + 4]
mov edi, dword [esp + 0x14]
push ecx
shr eax, 4
and eax, 0xf
mov ecx, dword [eax*4 + 0x4d44d0]
push edx
push ecx
push str.non__s_value_in__s._s
call fcn.0041ba60
push 0
push 3
push 0
push 0x75
push ebx
mov esi, eax
call fcn.0043c3f0
mov ecx, dword [ebx]
add esp, 0x2c
cmp byte [ecx + 0x57], 0
je 0x47729a
mov eax, esi
mov edx, 0xfffffffa
call fcn.0043cde0
jmp 0x4774cd
test eax, eax
jge 0x4772a4
mov eax, dword [ebx + 0x6c]
sub eax, 1
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
lea ecx, [eax + edx*4]
jmp 0x4774aa
mov al, byte [edi + 8]
cmp al, 0x42
jne 0x477358
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x30]
push 0x12
mov esi, ebx
call fcn.0043c9a0
mov eax, dword [ebx + 0x6c]
add esp, 8
test eax, eax
jle 0x4772f1
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
mov word [eax + edx*4 - 0x12], 0x1c
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x64]
mov ecx, dword [edx + ecx]
mov edx, dword [eax]
mov edi, dword [esp + 0xc]
push ecx
push edx
push str.NUMERIC_value_in__s._s
call fcn.0041ba60
add esp, 0xc
push 0
push 3
push 0
push 0x75
push ebx
mov esi, eax
call fcn.0043c3f0
mov ecx, dword [ebx]
add esp, 0x14
cmp byte [ecx + 0x57], 0
je 0x477340
mov eax, esi
mov edx, 0xfffffffa
call fcn.0043cde0
jmp 0x4774cd
test eax, eax
jge 0x47734a
mov eax, dword [ebx + 0x6c]
sub eax, 1
mov ecx, dword [ebx + 0x68]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
jmp 0x4774aa
cmp al, 0x43
jl 0x4774cd
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x70]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
push edx
push 0x12
mov edx, edi
mov esi, ebx
call fcn.0043c9a0
mov eax, dword [ebx + 0x6c]
add esp, 8
test eax, eax
jle 0x477396
mov ecx, dword [ebx + 0x68]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 0x1b
test edi, edi
jl 0x4773b6
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x6c]
push 3
push edx
push ebx
mov ebx, dword [esp + 0x30]
call fcn.004568a0
mov ebx, dword [esp + 0x1c]
add esp, 0xc
push 0
push 1
push 3
push 0x60
push ebx
call fcn.0043c3f0
mov ecx, dword [ebx]
add esp, 0x14
cmp byte [ecx + 0x57], 0
je 0x4773de
mov eax, 0x4ca2e4
or edx, 0xffffffff
call fcn.0043cde0
jmp 0x477417
test eax, eax
jge 0x4773e8
mov eax, dword [ebx + 0x6c]
sub eax, 1
mov ecx, dword [ebx + 0x68]
lea eax, [eax + eax*4]
cmp byte [ecx + eax*4 + 1], 0
lea ecx, [ecx + eax*4]
je 0x47740c
push 0x4ca2e4
or eax, 0xffffffff
mov edx, ebx
call fcn.0043ced0
add esp, 4
jmp 0x477417
mov dword [ecx + 0x10], 0x4ca2e4
mov byte [ecx + 1], 0xff
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x2c]
push edx
push 0x12
mov eax, 3
or edx, 0xffffffff
mov esi, ebx
call fcn.0043c9a0
mov eax, dword [ebx + 0x6c]
add esp, 8
test eax, eax
jle 0x47744b
mov ecx, dword [ebx + 0x68]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 0x1c
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x64]
mov edx, dword [ecx + edx]
mov eax, dword [eax]
mov edi, dword [esp + 0xc]
push edx
push eax
push str.TEXT_value_in__s._s
call fcn.0041ba60
add esp, 0xc
push 0
push 3
push 0
push 0x75
push ebx
mov esi, eax
call fcn.0043c3f0
mov ecx, dword [ebx]
add esp, 0x14
cmp byte [ecx + 0x57], 0
je 0x477497
mov eax, esi
mov edx, 0xfffffffa
call fcn.0043cde0
jmp 0x4774cd
test eax, eax
jge 0x4774a1
mov eax, dword [ebx + 0x6c]
sub eax, 1
mov edx, dword [ebx + 0x68]
lea ecx, [eax + eax*4]
lea ecx, [edx + ecx*4]
cmp byte [ecx + 1], 0
je 0x4774c2
push esi
mov eax, 0xfffffffa
mov edx, ebx
call fcn.0043ced0
add esp, 4
jmp 0x4774cd
test esi, esi
je 0x4774cd
mov byte [ecx + 1], 0xfa
mov dword [ecx + 0x10], esi
mov eax, dword [esp + 0x60]
mov ecx, ebx
call fcn.0043caa0
mov esi, ebx
call fcn.00474f50
mov eax, dword [esp + 0x2c]
mov ecx, ebx
call fcn.0043caa0
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x6c]
movsx eax, word [esi + 0x22]
add dword [esp + 0x64], 0x10
add ecx, 1
cmp ecx, eax
mov dword [esp + 0x6c], ecx
jl 0x476fc3
mov esi, dword [esi + 0x10]
test esi, esi
je 0x4776a3
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x20]
and eax, 0x200
xor ecx, ecx
or eax, ecx
jne 0x4776a3
push eax
push esi
mov esi, dword [esp + 0x14]
push esi
call fcn.00453150
add esp, 0xc
cmp byte [esi + 0x57], 0
mov dword [esp + 0x28], eax
jne 0x47768d
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x38]
mov edx, dword [esp + 0x78]
add edi, 0xffffffff
lea ecx, [edi - 1]
add edx, 1
mov dword [eax + 0x38], ecx
mov dword [eax + 0x34], edx
mov eax, dword [esp + 0x28]
mov esi, dword [eax]
sub esi, 1
test esi, esi
mov dword [esp + 0x2c], ecx
jle 0x4775a2
lea ecx, [esi + esi*4]
mov edx, eax
lea eax, [edx + ecx*4 + 8]
mov dword [esp + 0x68], eax
nop
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx]
mov eax, dword [ebp + 8]
push 0
push edi
push edx
push eax
call fcn.004589a0
sub dword [esp + 0x78], 0x14
sub esi, 1
add esp, 0x10
test esi, esi
jg 0x477580
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 8]
push 0x10
push ecx
mov ecx, dword [ebp + 8]
push eax
push ecx
call fcn.004585c0
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + 0x3c]
add esp, 0x10
add edx, dword [eax + 0x38]
not edi
jns 0x4775d8
push edi
push ebx
mov edi, eax
call fcn.0043ca00
add esp, 8
jmp 0x4775e1
mov eax, dword [eax + 0x40]
mov ecx, dword [ebx + 0x6c]
mov dword [eax + edi*4], ecx
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0xc]
mov dword [edx + 0x34], 0
mov ecx, dword [eax]
push ecx
push str.CHECK_constraint_failed_in__s
call fcn.0041ba60
push 0
push 3
push 0
push 0x75
push ebx
mov esi, eax
call fcn.0043c3f0
mov ecx, dword [ebx]
add esp, 0x1c
cmp byte [ecx + 0x57], 0
je 0x477629
mov eax, esi
mov edx, 0xfffffffa
call fcn.0043cde0
jmp 0x477660
test eax, eax
jge 0x477633
mov eax, dword [ebx + 0x6c]
sub eax, 1
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
cmp byte [eax + edx*4 + 1], 0
lea ecx, [eax + edx*4]
je 0x477655
push esi
mov eax, 0xfffffffa
mov edx, ebx
call fcn.0043ced0
add esp, 4
jmp 0x477660
test esi, esi
je 0x477660
mov dword [ecx + 0x10], esi
mov byte [ecx + 1], 0xfa
mov esi, ebx
call fcn.00474f50
mov edi, dword [ebx + 0xc]
mov ecx, dword [edi + 0x3c]
add ecx, dword [edi + 0x38]
mov eax, dword [esp + 0x2c]
not eax
jns 0x477684
push eax
push ebx
call fcn.0043ca00
add esp, 8
jmp 0x47768d
mov edx, dword [edi + 0x40]
mov ecx, dword [ebx + 0x6c]
mov dword [edx + eax*4], ecx
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4776a3
mov edx, dword [esp + 0xc]
push eax
push edx
call fcn.00453b70
add esp, 8
cmp dword [esp + 0x1c], 0
jne 0x477d00
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 8]
test eax, eax
mov dword [esp + 0x14], eax
je 0x477d00
mov ecx, dword [esp + 0x30]
mov eax, 8
sub eax, ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 8]
add dword [eax + 0x38], 0xffffffff
mov edx, dword [esp + 0x54]
cmp edx, dword [esp + 0x14]
mov ecx, dword [eax + 0x38]
mov dword [esp + 0x60], ecx
je 0x477ce8
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0x14]
mov esi, dword [ebp + 8]
push eax
push ecx
push 0
push 0
push edx
push edi
lea eax, [esp + 0xb4]
call fcn.00469140
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x80]
push 0
push 1
add eax, ecx
push eax
push 0x56
push ebx
mov dword [esp + 0x88], edi
call fcn.0043c3f0
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x58]
movzx esi, word [edi + 0x34]
add esp, 0x2c
push edx
push eax
push ecx
push 0x1d
push ebx
call fcn.0043c3f0
mov edx, dword [ebx]
add esp, 0x14
cmp byte [edx + 0x57], 0
mov dword [esp + 0x38], eax
jne 0x47777f
mov ecx, dword [ebx + 0x68]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax + 1], 0xfd
mov dword [eax + 0x10], esi
mov esi, dword [esp + 0x10]
mov ebx, str.row
mov eax, 3
call fcn.0043c460
push 3
push 3
push 7
push 0x6f
push esi
call fcn.0043c3f0
add esp, 0x14
mov ebx, str._missing_from_index
mov eax, 4
call fcn.0043c460
push 3
push 3
push 4
push 0x6f
push esi
call fcn.0043c3f0
mov ebx, dword [edi]
add esp, 0x14
mov eax, 4
call fcn.0043c460
push 3
push 3
push 4
push 0x6f
push esi
mov dword [esp + 0x3c], eax
call fcn.0043c3f0
add esp, 0x14
call fcn.00474f50
mov edx, dword [esi]
cmp byte [edx + 0x57], 0
mov dword [esp + 0x70], eax
mov eax, dword [esi + 0x6c]
je 0x4777ff
mov ecx, 0x4d6798
jmp 0x47780c
mov ecx, dword [esp + 0x38]
mov edx, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*4]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x24]
test byte [eax + 0x1c], 0x80
jne 0x4778b6
mov ecx, dword [esp + 0x2c]
push 0
push 3
push ecx
push 0x8e
push esi
call fcn.0043c3f0
movzx edx, word [edi + 0x34]
mov eax, dword [esp + 0x6c]
add esp, 0x14
lea ecx, [edx + eax - 1]
push ecx
push 0
push 3
push 0x35
push esi
call fcn.0043c3f0
mov edi, eax
add esp, 0x14
mov ebx, str.rowid_not_at_end_of_record_for_row
mov eax, 3
call fcn.0043c460
push 3
push 3
push 7
push 0x6f
push esi
call fcn.0043c3f0
add esp, 0x14
mov ebx, str._of_index
mov eax, 4
call fcn.0043c460
mov edx, dword [esp + 0x28]
push 0
add edx, 0xffffffff
push edx
push 0
push 9
push esi
call fcn.0043c3f0
mov ecx, dword [esi]
mov eax, dword [esi + 0x6c]
add esp, 0x14
cmp byte [ecx + 0x57], 0
je 0x4778aa
mov ecx, 0x4d6798
jmp 0x4778b3
mov ecx, dword [esi + 0x68]
lea edx, [edi + edi*4]
lea ecx, [ecx + edx*4]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x14]
xor ebx, ebx
xor edi, edi
cmp word [eax + 0x32], bx
jbe 0x4779cb
mov edx, dword [eax + 0x20]
cmp dword [edx + ebx*4], 0x4c19d4
je 0x47790f
test edi, edi
jne 0x4778e2
mov eax, dword [ebp + 8]
add dword [eax + 0x38], 0xffffffff
mov edi, dword [eax + 0x38]
mov eax, dword [esp + 0x2c]
push 3
push ebx
push eax
push 0x5e
push esi
call fcn.0043c3f0
mov ecx, dword [esp + 0x6c]
add esp, 0x14
lea edx, [ebx + ecx]
push edx
push edi
push 3
push 0x34
push esi
call fcn.0043c3f0
mov eax, dword [esp + 0x28]
add esp, 0x14
movzx ecx, word [eax + 0x32]
add ebx, 1
cmp ebx, ecx
jl 0x4778c8
test edi, edi
je 0x4779cb
push 0
push 0
push 0
push 9
push esi
call fcn.0043c3f0
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 0xc]
mov edx, dword [eax + 0x3c]
add esp, 0x14
add edx, dword [eax + 0x38]
not edi
jns 0x477956
push edi
push esi
mov edi, eax
call fcn.0043ca00
mov esi, dword [esp + 0x18]
add esp, 8
jmp 0x47795f
mov eax, dword [eax + 0x40]
mov ecx, dword [esi + 0x6c]
mov dword [eax + edi*4], ecx
mov ebx, str.row
mov eax, 3
call fcn.0043c460
push 3
push 3
push 7
push 0x6f
push esi
call fcn.0043c3f0
add esp, 0x14
mov ebx, str._values_differ_from_index
mov eax, 4
call fcn.0043c460
mov edx, dword [esp + 0x28]
push 0
add edx, 0xffffffff
push edx
push 0
push 9
push esi
call fcn.0043c3f0
mov ecx, dword [esi]
mov eax, dword [esi + 0x6c]
add esp, 0x14
cmp byte [ecx + 0x57], 0
je 0x4779b7
mov ecx, 0x4d6798
jmp 0x4779c4
mov ecx, dword [esp + 0x38]
lea edx, [ecx + ecx*4]
mov ecx, dword [esi + 0x68]
lea ecx, [ecx + edx*4]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x36], 0
je 0x477c8f
mov eax, dword [ebp + 8]
add dword [eax + 0x38], 0xffffffff
mov ebx, dword [eax + 0x38]
mov ecx, dword [esp + 0x14]
xor edx, edx
xor eax, eax
cmp word [ecx + 0x32], dx
mov dword [esp + 0x38], eax
jbe 0x477a75
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 4]
movsx eax, word [ecx + eax*2]
cmp eax, edx
jl 0x477a19
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + 4]
shl eax, 4
test byte [eax + ecx + 4], 0xf
jne 0x477a5b
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jg 0x477a35
push 0
push ebx
push edi
push 0x32
mov eax, esi
call fcn.0043c3b0
add esp, 0x10
xor edx, edx
jmp 0x477a5b
lea ecx, [eax + 1]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x32
mov word [eax + 2], dx
mov dword [eax + 4], edi
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov byte [eax + 1], 0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
movzx ecx, word [ecx + 0x32]
add eax, 1
add edi, 1
cmp eax, ecx
mov dword [esp + 0x38], eax
jl 0x4779f9
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x477a98
mov edx, dword [esp + 0x2c]
xor edi, edi
push edi
push edi
push edx
push 0x27
mov eax, esi
call fcn.0043c3b0
add esp, 0x10
mov dword [esp + 0x38], eax
jmp 0x477ac8
mov edi, dword [esi + 0x68]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea eax, [ecx + ecx*4]
lea eax, [edi + eax*4]
mov edi, dword [esp + 0x2c]
mov dword [eax + 4], edi
mov byte [eax], 0x27
mov word [eax + 2], dx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov byte [eax + 1], 0
mov dword [esp + 0x38], ecx
xor edi, edi
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jg 0x477ae1
push edi
push ebx
push edi
push 9
mov eax, esi
call fcn.0043c3b0
add esp, 0x10
jmp 0x477b07
lea ecx, [eax + 1]
mov dword [esi + 0x6c], ecx
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + edx*4]
mov byte [eax], 9
mov word [eax + 2], di
mov dword [eax + 4], edi
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0
mov edx, dword [esi]
cmp byte [edx + 0x57], 0
mov ecx, dword [esi + 0x6c]
je 0x477b19
mov eax, 0x4d6798
jmp 0x477b26
mov eax, dword [esp + 0x38]
mov edx, dword [esi + 0x68]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + 0x32]
mov dword [esp + 0x38], ecx
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x477b56
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x2c]
push edx
push ebx
push eax
push 0x29
mov eax, esi
call fcn.0043c3b0
add esp, 0x10
jmp 0x477b86
lea edx, [ecx + 1]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x68]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x2c]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x58]
mov byte [eax], 0x29
mov word [eax + 2], di
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0
mov eax, ecx
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
jne 0x477ba2
mov ecx, dword [esp + 0x38]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + edx*4]
mov byte [eax + 1], 0xfd
mov dword [eax + 0x10], ecx
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x477bbc
push edi
push 3
push edi
push 0x75
mov eax, esi
call fcn.0043c3b0
add esp, 0x10
jmp 0x477be8
lea edx, [ecx + 1]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x68]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
mov byte [eax], 0x75
mov word [eax + 2], di
mov dword [eax + 4], edi
mov dword [eax + 8], 3
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0
mov eax, ecx
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x477bfe
mov eax, str.non_unique_entry_in_index
xor edx, edx
call fcn.0043cde0
jmp 0x477c22
cmp eax, edi
jge 0x477c08
mov eax, dword [esi + 0x6c]
sub eax, 1
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
push str.non_unique_entry_in_index
xor eax, eax
mov edx, esi
call fcn.0043ced0
add esp, 4
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jg 0x477c3f
mov edx, dword [esp + 0x28]
push edi
push edx
push edi
push 9
mov eax, esi
call fcn.0043c3b0
add esp, 0x10
jmp 0x477c69
lea ecx, [eax + 1]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esp + 0x28]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + edx*4]
mov byte [eax], 9
mov word [eax + 2], di
mov dword [eax + 4], edi
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0
mov edi, dword [esi + 0xc]
mov edx, dword [edi + 0x3c]
add edx, dword [edi + 0x38]
not ebx
jns 0x477c86
push ebx
push esi
call fcn.0043ca00
mov esi, dword [esp + 0x18]
add esp, 8
jmp 0x477c8f
mov eax, dword [edi + 0x40]
mov ecx, dword [esi + 0x6c]
mov dword [eax + ebx*4], ecx
mov edx, dword [esi]
cmp byte [edx + 0x57], 0
mov ecx, dword [esi + 0x6c]
je 0x477ca1
mov eax, 0x4d6798
jmp 0x477cae
mov eax, dword [esp + 0x70]
mov edx, dword [esi + 0x68]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x9c]
test eax, eax
je 0x477ce4
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 8]
mov edi, dword [ecx + 0xc]
mov edx, dword [edi + 0x3c]
add edx, dword [edi + 0x38]
not eax
jns 0x477cdb
push eax
push ecx
call fcn.0043ca00
add esp, 8
jmp 0x477ce4
mov edx, dword [edi + 0x40]
mov ecx, dword [ecx + 0x6c]
mov dword [edx + eax*4], ecx
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x14]
add dword [esp + 0x2c], 1
test eax, eax
mov dword [esp + 0x14], eax
jne 0x4776d4
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x78]
push 0
push esi
push eax
push 0x27
push ebx
call fcn.0043c3f0
mov edx, dword [ebx]
mov ecx, dword [ebx + 0x6c]
add esp, 0x14
cmp byte [edx + 0x57], 0
je 0x477d29
mov eax, 0x4d6798
jmp 0x477d33
mov edx, dword [ebx + 0x68]
lea eax, [esi + esi*4]
lea eax, [edx + eax*4 - 0x14]
cmp dword [esp + 0x1c], 0
mov dword [eax + 8], ecx
jne 0x477e95
mov esi, dword [esp + 0x10]
mov ebx, str.wrong__of_entries_in_index
mov eax, 2
call fcn.0043c460
mov eax, dword [esp + 0x24]
mov edi, dword [eax + 8]
test edi, edi
je 0x477e47
mov ebx, 8
mov dword [esp + 0x5c], ebx
lea esp, [esp]
cmp dword [esp + 0x54], edi
je 0x477e35
mov ecx, dword [esp + 0x30]
push 0
push 3
lea edx, [ecx + ebx - 8]
push edx
push 0x62
push esi
call fcn.0043c3f0
add esp, 0x14
push 3
push 0
push ebx
push 0x35
push esi
call fcn.0043c3f0
mov dword [esp + 0x54], eax
mov eax, dword [esi + 0x6c]
add esp, 0x14
test eax, eax
jle 0x477dba
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 0x90
mov ebx, dword [edi]
mov eax, 4
call fcn.0043c460
push 3
push 2
push 4
push 0x6f
push esi
call fcn.0043c3f0
add esp, 0x14
push 0
push 1
push 3
push 0x54
push esi
call fcn.0043c3f0
mov edx, dword [esi + 0x6c]
add esp, 0x14
push 1
add edx, 2
push edx
push 1
push 0x3b
push esi
call fcn.0043c3f0
add esp, 0x14
push 0
push 0
push 0
push 0x46
push esi
call fcn.0043c3f0
mov ecx, dword [esi]
mov eax, dword [esi + 0x6c]
add esp, 0x14
cmp byte [ecx + 0x57], 0
je 0x477e21
mov ecx, 0x4d6798
jmp 0x477e2e
mov ecx, dword [esp + 0x40]
lea edx, [ecx + ecx*4]
mov ecx, dword [esi + 0x68]
lea ecx, [ecx + edx*4]
mov ebx, dword [esp + 0x5c]
mov dword [ecx + 8], eax
mov edi, dword [edi + 0x14]
add ebx, 1
test edi, edi
mov dword [esp + 0x5c], ebx
jne 0x477d70
mov eax, dword [esp + 0x54]
test eax, eax
je 0x477e95
movzx ecx, word [eax + 0x32]
cmp ecx, 1
jne 0x477e80
mov ecx, dword [esp + 0x88]
test ecx, ecx
je 0x477e95
mov edx, dword [ebp + 8]
mov al, byte [edx + 0x13]
cmp al, 8
jae 0x477e95
movzx edx, al
mov eax, dword [ebp + 8]
mov dword [eax + edx*4 + 0xa0], ecx
add byte [eax + 0x13], 1
jmp 0x477e95
mov eax, dword [ebp + 8]
cmp ecx, dword [eax + 0x1c]
jle 0x477e95
mov dword [eax + 0x1c], ecx
mov ecx, dword [esp + 0x88]
mov dword [eax + 0x20], ecx
mov edx, dword [esp + 0x20]
mov eax, dword [edx]
test eax, eax
mov dword [esp + 0x20], eax
jne 0x476d0b
mov esi, dword [ebp + 8]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0xc]
add eax, 1
cmp eax, dword [ecx + 0x14]
mov dword [esp + 0x74], eax
jl 0x476ad0
mov esi, dword [esp + 0x10]
push 7
mov eax, 0x4c2e58
mov ecx, esi
call fcn.0043cc00
add esp, 4
test eax, eax
je 0x477f0a
mov edx, 1
sub edx, dword [esp + 0x3c]
mov byte [eax + 0x29], 0xff
mov dword [eax + 8], edx
mov dword [eax + 0x38], 0x4ca3c4
mov byte [eax + 0x65], 0xff
mov edx, dword [str.database_disk_image_is_malformed]
test edx, edx
mov ecx, str.unknown_error
je 0x477f07
mov ecx, edx
mov dword [eax + 0x74], ecx
mov edx, dword [esi + 0x6c]
sub edx, 2
xor eax, eax
mov ecx, esi
call fcn.0043ccc0
jmp 0x47856d
test edi, edi
jne 0x477f4c
push esi
call fcn.00479780
add esp, 4
test eax, eax
jne 0x47856d
mov eax, dword [esi]
movzx ecx, byte [eax + 0x54]
mov eax, dword [ecx*8 + 0x4c2e80]
mov ecx, ebx
call fcn.00474cf0
jmp 0x47856d
mov edx, dword [esp + 0xc]
test byte [edx + 0x18], 0x40
jne 0x47856d
mov eax, dword [str.UTF8]
test eax, eax
mov ebx, 0x4c2e80
je 0x477fc0
mov edx, edi
call fcn.0041cd90
test eax, eax
je 0x477f8d
mov eax, dword [ebx + 8]
add ebx, 8
test eax, eax
jne 0x477f68
push edi
push str.unsupported_encoding:__s
call fcn.0041cbf0
jmp 0x47856a
mov dword [esp + 0x20], ebx
mov bl, byte [ebx + 4]
test bl, bl
jne 0x477f9a
mov bl, 2
mov esi, dword [esp + 0xc]
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0xc]
mov byte [ecx + 0x4d], bl
call fcn.004678c0
mov edx, dword [esp + 0x20]
cmp dword [edx], 0
jne 0x47856d
mov esi, dword [ebp + 8]
mov edi, dword [esp + 0x34]
push edi
push str.unsupported_encoding:__s
call fcn.0041cbf0
jmp 0x47856a
mov ecx, dword [eax + 8]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
mov edx, 1
mov ecx, esi
shl edx, cl
or dword [ebx + 0x9c], edx
cmp esi, 1
je 0x477ffa
mov eax, ebx
call fcn.0043d460
mov eax, dword [esp + 0x2c]
test edi, edi
je 0x47805c
test byte [eax + 5], 8
jne 0x47805c
push 2
mov eax, 0x4c2ec8
mov ecx, ebx
call fcn.0043cc00
mov ebx, eax
mov dword [ebx + 4], esi
mov dword [ebx + 0x18], esi
mov esi, dword [esp + 0x34]
add esp, 4
mov ecx, edi
mov dword [ebx + 0x1c], esi
call fcn.0041d870
cmp esi, 1
mov dword [ebx + 0x20], eax
mov word [ebx + 0x16], 1
jne 0x47856d
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
xor ecx, ecx
or eax, ecx
je 0x47856d
mov byte [ebx + 0x14], 0xb8
jmp 0x47856d
push 3
mov eax, 0x4c2e74
mov ecx, ebx
call fcn.0043cc00
mov ecx, dword [esp + 0x34]
mov dword [eax + 0x20], ecx
add esp, 4
mov ecx, ebx
mov dword [eax + 4], esi
mov dword [eax + 0x18], esi
call fcn.0043cad0
jmp 0x47856d
xor edi, edi
push edi
mov dword [esi + 0x2c], 1
call fcn.004abd10
add esp, 4
test eax, eax
je 0x4780cf
mov esi, dword [esp + 0x10]
mov ebx, eax
mov eax, 1
add edi, 1
call fcn.0043c460
push 0
push 1
push 1
mov edx, esi
push 0x54
push edx
call fcn.0043c3f0
add esp, 0x14
push edi
call fcn.004abd10
add esp, 4
test eax, eax
jne 0x47809c
mov ecx, dword [esp + 0x10]
call fcn.0043cad0
jmp 0x47856d
mov eax, dword [ebp + 0x10]
cmp dword [eax], 0
je 0x4780ef
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
jmp 0x4780f7
mov dword [esp + 0x30], 0xc
test edi, edi
mov dword [esp + 0x1c], 0
je 0x47814f
mov eax, str.full
mov edx, edi
call fcn.0041cd90
test eax, eax
jne 0x47811d
mov dword [esp + 0x1c], 1
jmp 0x47814f
mov eax, str.restart
mov edx, edi
call fcn.0041cd90
test eax, eax
jne 0x478137
mov dword [esp + 0x1c], 2
jmp 0x47814f
mov eax, str.truncate
mov edx, edi
call fcn.0041cd90
test eax, eax
jne 0x47814f
mov dword [esp + 0x1c], 3
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
push 1
push edx
push eax
push 3
push ebx
mov dword [esi + 0x2c], 3
call fcn.0043c3f0
add esp, 0x14
push 0
push 3
push 1
push 0x54
push ebx
call fcn.0043c3f0
add esp, 0x14
jmp 0x47856d
test edi, edi
je 0x47819e
mov ecx, edi
call fcn.0041d870
mov esi, dword [esp + 0xc]
push eax
push esi
call fcn.004a9590
add esp, 8
jmp 0x4781a2
mov esi, dword [esp + 0xc]
cmp dword [esi + 0x110], 0x4a9550
jne 0x475869
mov eax, dword [esi + 0x114]
jmp 0x478560
mov ecx, dword [esp + 0xc]
push ecx
call fcn.004a7af0
add esp, 4
jmp 0x47856d
test edi, edi
je 0x4781e8
mov ecx, edi
call fcn.0041d870
test al, 2
mov dword [esp + 0x20], eax
je 0x47856d
jmp 0x4781f0
mov dword [esp + 0x20], 0xfffe
mov eax, dword [esi + 0x28]
mov dword [esp + 0x5c], eax
add eax, 1
cmp dword [esp + 0x24], 0
mov dword [esi + 0x28], eax
je 0x47820e
mov edi, dword [esp + 0x18]
mov dword [esp + 0x38], edi
jmp 0x478226
mov edx, dword [esp + 0xc]
mov edi, dword [edx + 0x14]
sub edi, 1
cmp dword [esp + 0x18], edi
mov dword [esp + 0x38], edi
jg 0x4783d0
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
mov edi, edi
cmp dword [esp + 0x18], 1
je 0x4783b8
mov ecx, dword [esp + 0x18]
mov edx, esi
call fcn.00466ab0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx + 0x10]
mov ecx, dword [eax + edx + 0xc]
mov eax, dword [ecx + 0x10]
test eax, eax
mov dword [esp + 0x30], eax
je 0x4783b8
mov edi, dword [eax + 8]
test dword [edi + 0x1c], 0x100
je 0x4783a2
mov dx, word [edi + 0x26]
mov eax, dword [edi + 8]
add dx, 0x2e
test eax, eax
movzx ecx, dx
mov dword [esp + 0x40], ecx
je 0x47829d
lea ebx, [ebx]
test byte [eax + 0x38], 0x80
je 0x4782e1
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x478290
test cx, cx
je 0x4782e1
mov eax, dword [esp + 0x5c]
mov ebx, dword [esp + 0x18]
push 0x70
push eax
push esi
mov eax, edi
call fcn.0046f0f0
movsx ecx, word [esp + 0x4c]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
add esp, 0xc
push ecx
mov ecx, dword [eax + 0x6c]
and edx, 1
lea edx, [edx + ecx + 2]
mov ecx, dword [esp + 0x60]
push edx
push ecx
push 0x21
push eax
call fcn.0043c3f0
add esp, 0x14
mov edx, dword [edi]
mov edi, dword [esp + 0xc]
mov eax, dword [edi + 0x10]
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [ecx + eax]
push edx
push str.ANALYZE___w_.__w_
call fcn.0041ba60
add esp, 0xc
test byte [esp + 0x20], 1
mov edi, eax
je 0x47833d
mov eax, esi
call fcn.00459eb0
push 0xfffffffffffffffa
mov ebx, eax
push edi
mov edi, dword [esp + 0x18]
push 0x75
xor eax, eax
mov ecx, ebx
xor edx, edx
call fcn.0043c620
add esp, 0xc
push 0
push 1
push ebx
mov eax, edi
push 0x54
push eax
call fcn.0043c3f0
add esp, 0x14
jmp 0x4783a2
mov ebx, dword [esp + 0x10]
push 0
push 0
push 0
push 0x94
push ebx
call fcn.0043c3f0
mov ecx, dword [ebx]
add esp, 0x14
cmp byte [ecx + 0x57], 0
je 0x47836b
mov eax, edi
mov edx, 0xfffffffa
call fcn.0043cde0
jmp 0x4783a2
test eax, eax
jge 0x478375
mov eax, dword [ebx + 0x6c]
sub eax, 1
mov edx, dword [ebx + 0x68]
lea ecx, [eax + eax*4]
cmp byte [edx + ecx*4 + 1], 0
lea ecx, [edx + ecx*4]
je 0x478397
push edi
mov eax, 0xfffffffa
mov edx, ebx
call fcn.0043ced0
add esp, 4
jmp 0x4783a2
test edi, edi
je 0x4783a2
mov dword [ecx + 0x10], edi
mov byte [ecx + 1], 0xfa
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
test eax, eax
mov dword [esp + 0x30], eax
jne 0x478264
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x18]
add dword [esp + 0x1c], 0x10
add eax, 1
cmp eax, edi
mov dword [esp + 0x18], eax
jle 0x478230
mov ecx, dword [esp + 0x10]
push 0
push 0
push 0
push 0xa6
push ecx
call fcn.0043c3f0
add esp, 0x14
jmp 0x47856d
test edi, edi
je 0x478418
mov edi, dword [esp + 0x34]
lea edx, [esp + 0x40]
push edx
call fcn.0041d5f0
add esp, 4
test eax, eax
jne 0x478418
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
push eax
push ecx
call fcn.00418c10
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.00418c10
mov esi, dword [esp + 0x18]
push edx
push eax
call fcn.00474c50
add esp, 0x10
jmp 0x47856d
test edi, edi
je 0x478485
mov edi, dword [esp + 0x34]
lea edx, [esp + 0x40]
push edx
call fcn.0041d5f0
add esp, 4
test eax, eax
jne 0x478485
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.00418d40
mov ecx, dword [esp + 0x4c]
add esp, 8
test ecx, ecx
jl 0x478485
mov esi, dword [esp + 0x40]
jg 0x47846b
test esi, esi
jbe 0x478485
mov edi, eax
or edi, edx
je 0x47847b
cmp edx, ecx
jl 0x478485
jg 0x47847b
cmp eax, esi
jbe 0x478485
push ecx
push esi
call fcn.00418d40
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.00418d40
mov esi, dword [esp + 0x18]
push edx
push eax
call fcn.00474c50
add esp, 0x10
jmp 0x47856d
test edi, edi
je 0x4784e5
mov edi, dword [esp + 0x34]
lea eax, [esp + 0x40]
push eax
call fcn.0041d5f0
add esp, 4
test eax, eax
jne 0x4784e5
cmp dword [esp + 0x44], eax
jl 0x4784e5
mov eax, dword [esp + 0x40]
jg 0x4784ca
test eax, eax
jb 0x4784e5
and eax, 0x7fffffff
jl 0x4784e5
cmp eax, 8
jle 0x4784db
mov eax, 8
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0xa4], eax
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0xa4]
mov esi, dword [esp + 0x10]
jmp 0x478562
test edi, edi
je 0x47852d
mov edi, dword [esp + 0x34]
lea eax, [esp + 0x40]
push eax
call fcn.0041d5f0
add esp, 4
test eax, eax
jne 0x47852d
cmp dword [esp + 0x44], eax
jl 0x47852d
mov eax, dword [esp + 0x40]
jg 0x47851e
test eax, eax
jb 0x47852d
mov ecx, dword [esp + 0xc]
and eax, 0x7fffffff
mov dword [ecx + 0x1f0], eax
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x1f0]
mov esi, dword [esp + 0x10]
jmp 0x478562
test edi, edi
je 0x478556
mov ecx, edi
call fcn.0041d870
push eax
mov eax, dword [esp + 0x10]
push eax
call fcn.004a8c90
add esp, 8
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x1f4]
mov esi, ebx
cdq
push edx
push eax
call fcn.00474c50
add esp, 8
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x7c]
mov ecx, esi
call fcn.00419270
mov eax, dword [esp + 0x34]
test eax, eax
je 0x47858b
mov ecx, esi
call fcn.00419270
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret