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

Disassembly:
sub esp, 0x9c
mov eax, dword [0x571134]
xor eax, esp
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xac]
push ebx
mov ebx, dword [esp + 0xac]
push ebp
mov ebp, dword [esp + 0xa8]
push esi
mov dword [esp + 0x14], eax
push edi
mov esi, dword [ebp + 8]
mov eax, dword [ebp]
mov edi, dword [esp + 0xb4]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x40], esi
test esi, esi
jne 0x4b525b
cmp dword [ebp + 0x80], esi
jne 0x4b5244
test byte [eax + 0x50], 8
jne 0x4b5244
mov byte [ebp + 0x17], 1
push ebp
call fcn.004c7580
mov esi, eax
mov dword [esp + 0x44], eax
add esp, 4
test esi, esi
je 0x4b96cd
mov ecx, dword [esi + 0x6c]
lea edx, [esi + 0x6c]
lea eax, [esi + 0x70]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x64], eax
cmp dword [eax], ecx
jg 0x4b5286
push 0
push 1
push 1
push 0xa6
push esi
call fcn.00475980
add esp, 0x14
jmp 0x4b52b8
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xa6
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
lea eax, [esp + 0x24]
mov dword [ebp + 0x2c], 2
push eax
push ebx
push edi
push ebp
call fcn.004c3540
mov ecx, eax
add esp, 0x10
mov dword [esp + 0x3c], ecx
test ecx, ecx
js 0x4b96cd
mov eax, dword [esp + 0x10]
mov ebp, ecx
shl ebp, 4
mov dword [esp + 0x70], ebp
mov edi, dword [eax + 0x10]
add edi, ebp
cmp ecx, 1
jne 0x4b530c
push dword [esp + 0x14]
call fcn.004b2630
add esp, 4
test eax, eax
jne 0x4b96cd
mov eax, dword [esp + 0x10]
push dword [esp + 0x24]
push eax
call fcn.004b1fa0
add esp, 8
mov dword [esp + 0x34], eax
test eax, eax
je 0x4b96cd
cmp dword [esp + 0xc0], 0
push dword [esp + 0x18]
je 0x4b5346
push 0x537da0
push dword [esp + 0x18]
call fcn.004b17d0
add esp, 0xc
jmp 0x4b5352
push dword [esp + 0x14]
call fcn.004b1fa0
add esp, 8
cmp dword [ebx + 4], 0
mov dword [esp + 0x20], eax
jbe 0x4b5360
mov ebx, dword [edi]
jmp 0x4b5362
xor ebx, ebx
push ebx
push eax
push dword [esp + 0x3c]
mov dword [esp + 0x34], ebx
push 0x13
push dword [esp + 0x24]
call fcn.00493a60
add esp, 0x14
test eax, eax
jne 0x4b96a7
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], 0
mov eax, dword [ecx + 0xc]
mov dword [ecx + 0x1c8], 0
mov dword [esp + 0x18], 1
test eax, eax
je 0x4b53d5
push eax
call dword [0x56f148]
mov ecx, dword [esp + 0x14]
add esp, 4
test ebx, ebx
je 0x4b53ee
push ebx
push ecx
call fcn.004a5e70
mov ebx, eax
add esp, 8
test ebx, ebx
jns 0x4b53f0
jmp 0x4b5479
xor ebx, ebx
mov eax, dword [esp + 0x10]
add ebx, ebx
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + ebx*8 + 4]
test ebx, ebx
je 0x4b5479
cmp byte [ebx + 9], 0
je 0x4b5419
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x4b5419
push ebx
call fcn.00462350
add esp, 4
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x1c8]
mov dword [esp + 0x24], ecx
mov eax, dword [eax + 0x40]
mov ecx, dword [eax]
test ecx, ecx
jne 0x4b543f
mov dword [esp + 0x18], 0xc
jmp 0x4b5456
lea edx, [esp + 0x98]
push edx
push 0xe
push eax
mov eax, dword [ecx + 0x28]
call eax
add esp, 0xc
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
mov dword [ecx + 0x1c8], eax
cmp byte [ebx + 9], 0
je 0x4b5479
add dword [ebx + 0xc], 0xffffffff
jne 0x4b5479
push ebx
call fcn.004e0290
add esp, 4
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4b548e
push eax
call dword [0x56f150]
add esp, 4
mov ebx, dword [esp + 0x18]
test ebx, ebx
jne 0x4b559b
push 1
push esi
call fcn.004d39a0
push 0xffffffffffffffff
push dword [esp + 0xa4]
push ebx
push ebx
push esi
call fcn.004d3950
mov edi, dword [esp + 0xb4]
add esp, 0x1c
test edi, edi
je 0x4b96a7
push ebx
push edi
push ebx
push 1
push ebx
push 0x75
push esi
call fcn.004c6e50
mov edx, dword [esp + 0x38]
add esp, 0x1c
mov eax, dword [esp + 0x64]
mov ecx, dword [edx]
cmp dword [eax], ecx
jg 0x4b54f6
push ebx
push 1
push 1
push 0x54
push esi
call fcn.00475980
add esp, 0x14
jmp 0x4b5528
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [esp + 0x98]
test edi, edi
je 0x4b96a7
cmp dword [0x56f0f8], 0
je 0x4b558c
mov eax, dword [0x574ff8]
test eax, eax
je 0x4b5553
push eax
call dword [0x56f148]
add esp, 4
push edi
call dword [0x56f124]
sub dword [0x574f98], eax
dec dword [0x574fbc]
push edi
call dword [0x56f11c]
mov eax, dword [0x574ff8]
add esp, 8
test eax, eax
je 0x4b96a7
push eax
call dword [0x56f150]
add esp, 4
jmp 0x4b96a7
push edi
call dword [0x56f11c]
add esp, 4
jmp 0x4b96a7
cmp ebx, 0xc
je 0x4b5644
mov eax, dword [esp + 0x98]
test eax, eax
je 0x4b5635
push eax
push 0x534d04
push dword [esp + 0x1c]
call fcn.0049fe60
mov esi, dword [esp + 0xa4]
add esp, 0xc
test esi, esi
je 0x4b5635
cmp dword [0x56f0f8], 0
je 0x4b562b
mov eax, dword [0x574ff8]
test eax, eax
je 0x4b55ec
push eax
call dword [0x56f148]
add esp, 4
push esi
call dword [0x56f124]
sub dword [0x574f98], eax
dec dword [0x574fbc]
push esi
call dword [0x56f11c]
mov eax, dword [0x574ff8]
add esp, 8
test eax, eax
je 0x4b5635
push eax
call dword [0x56f150]
mov eax, dword [esp + 0x18]
add esp, 4
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x4b96a7
push esi
call dword [0x56f11c]
add esp, 4
mov eax, dword [esp + 0x14]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x4b96a7
push dword [esp + 0x34]
call fcn.00488210
mov ebx, eax
add esp, 4
mov dword [esp + 0x6c], ebx
test ebx, ebx
je 0x4b96a7
test byte [ebx + 5], 1
je 0x4b5678
push dword [esp + 0x14]
call fcn.004baa80
add esp, 4
test eax, eax
jne 0x4b96a7
mov al, byte [ebx + 5]
test al, 2
jne 0x4b5695
test al, 4
je 0x4b568b
mov edx, dword [esp + 0x20]
test edx, edx
jne 0x4b5699
push ebx
push esi
call fcn.0048ffa0
add esp, 8
mov edx, dword [esp + 0x20]
movzx eax, byte [ebx + 4]
dec eax
cmp eax, 0x2a
ja case.0x4b56a7.5
jmp dword [eax*4 + 0x4b96e8]
mov ebp, dword [esp + 0x3c]
push ebp
push esi
call fcn.004d4330
mov eax, dword [esp + 0x28]
add esp, 8
test eax, eax
jne 0x4b56fd
mov eax, dword [esp + 0x14]
push 0
push 0x52e01c
push 9
add dword [eax + 0x2c], 2
push esi
call fcn.004c6f30
push dword [esp + 0x44]
push dword [esp + 0x24]
mov dword [eax + 4], ebp
mov dword [eax + 0x18], ebp
mov dword [eax + 0x7c], 0xfffff830
call fcn.0049da00
add esp, 0x18
jmp 0x4b96cd
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], 0
push ecx
push eax
call fcn.004ac740
mov ebx, dword [esp + 0x20]
add esp, 8
test ebx, ebx
jns 0x4b572c
cmp ebx, 0x80000000
jne 0x4b572a
mov ebx, 0x7fffffff
jmp 0x4b572c
neg ebx
push ebp
push 0
push dword [esp + 0x1c]
call fcn.00494600
push ebx
push 3
push ebp
push 0x64
push esi
call fcn.004c6df0
mov eax, dword [edi + 0xc]
mov dword [eax + 0x50], ebx
mov eax, dword [edi + 0xc]
push dword [eax + 0x50]
push dword [edi + 4]
call fcn.00497ee0
push dword [esp + 0x5c]
push dword [esp + 0x3c]
call fcn.0049da00
mov eax, dword [esp + 0x50]
add esp, 0x30
jmp 0x4b96c0
mov edi, dword [edi + 4]
test edx, edx
jne 0x4b5790
test edi, edi
je 0x4b5788
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x24]
cdq
jmp 0x4b63d6
xor eax, eax
cdq
jmp 0x4b63d6
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0
push eax
push edx
call fcn.004ac740
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
push 0
push 0
push eax
push edi
mov dword [ecx + 0x64], eax
call fcn.00497f80
add esp, 0x18
cmp eax, 7
jne 0x4b96a7
mov edi, dword [esp + 0x10]
push edi
call fcn.004b2250
push dword [esp + 0x38]
push edi
call fcn.0049da00
mov eax, dword [esp + 0x2c]
add esp, 0xc
jmp 0x4b96c0
mov eax, dword [edi + 4]
or ecx, 0xffffffff
mov dword [esp + 0x24], eax
mov dword [esp + 0x58], ecx
test edx, edx
je 0x4b5823
push str.fast
push edx
call fcn.004c1f20
add esp, 8
test eax, eax
jne 0x4b580e
lea ecx, [eax + 2]
jmp 0x4b581f
push 0
push dword [esp + 0x24]
call fcn.004ac4f0
add esp, 8
movzx ecx, al
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0x2c]
cmp dword [eax + 4], 0
jne 0x4b58bc
test ecx, ecx
js 0x4b58bc
mov eax, dword [esp + 0x10]
xor ebx, ebx
cmp dword [eax + 0x14], ebx
jle 0x4b58bc
mov esi, dword [esp + 0x58]
xor ebp, ebp
mov ecx, 0xfff3
nop
mov eax, dword [eax + 0x10]
mov edi, dword [eax + ebp + 4]
test edi, edi
je 0x4b58a7
cmp byte [edi + 9], 0
je 0x4b5878
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x4b5878
push edi
call fcn.00462350
add esp, 4
mov ecx, 0xfff3
mov eax, dword [edi + 4]
and word [eax + 0x18], cx
lea eax, [esi*4]
mov ecx, dword [edi + 4]
or word [ecx + 0x18], ax
cmp byte [edi + 9], 0
je 0x4b58a2
add dword [edi + 0xc], 0xffffffff
jne 0x4b58a2
push edi
call fcn.004e0290
add esp, 4
mov ecx, 0xfff3
mov eax, dword [esp + 0x10]
inc ebx
add ebp, 0x10
cmp ebx, dword [eax + 0x14]
jl 0x4b5850
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x58]
push ecx
push dword [esp + 0x28]
call fcn.00497df0
cdq
push edx
push eax
push esi
call fcn.0048d790
add esp, 0x14
jmp 0x4b96a7
mov ebp, dword [esp + 0x3c]
xorps xmm0, xmm0
mov ebx, dword [esp + 0x14]
push ebp
push ebx
movlpd qword [esp + 0x94], xmm0
call fcn.0049a3e0
mov eax, dword [esp + 0x3c]
add esp, 8
inc dword [ebx + 0x2c]
mov edi, dword [ebx + 0x2c]
movzx eax, byte [eax]
cmp byte [eax + 0x52e638], 0x70
jne 0x4b592e
push edi
push ebp
push 0xb2
push esi
call fcn.004c6d90
add esp, 0x10
push 1
push edi
push 0x54
push esi
call fcn.004c6d90
add esp, 0x10
jmp 0x4b96a7
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4b5980
lea ecx, [esp + 0x8c]
push ecx
push eax
call fcn.0049dee0
add esp, 8
test eax, eax
jne 0x4b5980
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x8c]
test ecx, ecx
jg 0x4b596e
jl 0x4b5980
test eax, eax
jb 0x4b5980
test ecx, ecx
jl 0x4b5993
jg 0x4b596e
cmp eax, 0xfffffffe
jbe 0x4b5993
mov eax, 0xfffffffe
mov dword [esp + 0x90], 0
jmp 0x4b5993
xorps xmm0, xmm0
movlpd qword [esp + 0x8c], xmm0
mov eax, dword [esp + 0x8c]
push eax
push edi
push ebp
push 0xb3
push esi
call fcn.004c6df0
add esp, 0x14
push 1
push edi
push 0x54
push esi
call fcn.004c6d90
add esp, 0x10
jmp 0x4b96a7
test edx, edx
je 0x4b59eb
push str.exclusive
push edx
call fcn.004c1f20
add esp, 8
test eax, eax
jne 0x4b59d2
lea ecx, [eax + 1]
jmp 0x4b59ee
push str.normal
push dword [esp + 0x24]
call fcn.004c1f20
add esp, 8
test eax, eax
jne 0x4b59eb
xor ecx, ecx
jmp 0x4b59ee
or ecx, 0xffffffff
mov eax, dword [esp + 0x2c]
cmp dword [eax + 4], 0
jne 0x4b5a5d
mov eax, dword [esp + 0x10]
cmp ecx, 0xffffffff
jne 0x4b5a07
movzx eax, byte [eax + 0x59]
jmp 0x4b5a6e
mov edx, 2
cmp dword [eax + 0x14], edx
jle 0x4b5a5a
mov ebx, 0x20
mov esi, eax
nop dword [eax + eax]
mov eax, dword [esi + 0x10]
mov eax, dword [eax + ebx + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
js 0x4b5a49
cmp byte [eax + 0xc], 0
jne 0x4b5a49
mov ebp, dword [eax + 0xe8]
test ebp, ebp
je 0x4b5a46
cmp byte [ebp + 0x2b], 2
je 0x4b5a49
mov byte [eax + 4], cl
inc edx
add ebx, 0x10
cmp edx, dword [esi + 0x14]
jl 0x4b5a20
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x10]
mov byte [eax + 0x59], cl
mov eax, dword [edi + 4]
push ecx
mov eax, dword [eax + 4]
push dword [eax]
call fcn.004b2df0
add esp, 8
cmp eax, 1
mov edx, str.exclusive
mov ecx, str.normal
cmove ecx, edx
push ecx
push esi
call fcn.0048d820
add esp, 8
jmp 0x4b96a7
test edx, edx
je 0x4b5b2b
mov ecx, edx
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b5aa0
sub ecx, edx
and ecx, 0x3fffffff
xor ebp, ebp
mov dword [esp + 0x24], ecx
cmp ebp, 6
je 0x4b5b2b
mov edi, dword [ebp*4 + 0x52e248]
test edi, edi
je 0x4b5b2b
mov ebx, dword [esp + 0x20]
mov edx, ecx
test ecx, ecx
je 0x4b5af1
nop
mov al, byte [ebx]
dec edx
test al, al
je 0x4b5af2
movzx ecx, byte [edi]
movzx eax, al
mov al, byte [eax + 0x52e638]
cmp al, byte [ecx + 0x52e638]
jne 0x4b5af2
inc ebx
inc edi
test edx, edx
jg 0x4b5ad0
dec edx
test edx, edx
js 0x4b5b15
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x52e638]
movzx eax, byte [ebx]
movzx eax, byte [eax + 0x52e638]
sub eax, ecx
je 0x4b5b15
mov ecx, dword [esp + 0x24]
inc ebp
jmp 0x4b5ab5
cmp ebp, 2
jne 0x4b5b47
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x4b5b4c
or ebp, 0xffffffff
mov ecx, dword [esp + 0x2c]
cmp dword [ecx + 4], 0
jne 0x4b5b50
xor edx, edx
mov dword [ecx + 4], 1
mov dword [esp + 0x3c], edx
jmp 0x4b5b54
cmp ebp, 0xffffffff
je 0x4b5b2e
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x14]
sub edi, 1
js 0x4b5c1b
mov ebx, edi
shl ebx, 4
nop dword [eax]
mov eax, dword [eax + 0x10]
cmp dword [eax + ebx + 4], 0
je 0x4b5c03
cmp edi, edx
je 0x4b5b88
cmp dword [ecx + 4], 0
jne 0x4b5c03
mov eax, dword [esi + 0x9c]
bts eax, edi
mov dword [esi + 0x9c], eax
cmp edi, 1
je 0x4b5bba
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ebx + 4]
cmp byte [eax + 9], 0
je 0x4b5bba
mov eax, dword [esi + 0xa0]
bts eax, edi
mov dword [esi + 0xa0], eax
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov ecx, dword [edx]
cmp dword [eax], ecx
jg 0x4b5bd9
push ebp
push 1
push edi
push 4
push esi
call fcn.00475980
add esp, 0x14
jmp 0x4b5c03
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 4
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], ebp
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x2c]
sub ebx, 0x10
sub edi, 1
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
jns 0x4b5b70
push 1
push 1
push 0x54
push esi
call fcn.004c6d90
add esp, 0x10
jmp 0x4b96a7
mov eax, dword [edi + 4]
mov dword [esp + 0x8c], 0xfffffffe
mov dword [esp + 0x90], 0xffffffff
mov eax, dword [eax + 4]
mov edi, dword [eax]
test edx, edx
je 0x4b5ca6
lea eax, [esp + 0x8c]
push eax
push edx
call fcn.0049dee0
mov ecx, dword [esp + 0x98]
add esp, 8
cmp ecx, 0xffffffff
jg 0x4b5c83
jl 0x4b5c7c
mov eax, dword [esp + 0x8c]
cmp eax, 0xffffffff
jae 0x4b5c8a
or eax, 0xffffffff
or ecx, eax
jmp 0x4b5c8a
mov eax, dword [esp + 0x8c]
mov edx, dword [edi + 0xe8]
mov dword [edi + 0xb0], eax
mov dword [edi + 0xb4], ecx
test edx, edx
je 0x4b5ca6
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
push dword [edi + 0xb4]
push dword [edi + 0xb0]
jmp 0x4b969e
mov edi, dword [edi + 4]
test edx, edx
jne 0x4b5ce2
push edi
call fcn.00495fd0
cdq
push edx
push eax
push esi
call fcn.0048d790
push dword [esp + 0x44]
push dword [esp + 0x24]
call fcn.0049da00
add esp, 0x18
jmp 0x4b96cd
push str.none
push edx
call fcn.004c1f20
add esp, 8
test eax, eax
jne 0x4b5cf8
xor ebx, ebx
jmp 0x4b5d4f
mov ebx, dword [esp + 0x20]
push str.full
push ebx
call fcn.004c1f20
add esp, 8
test eax, eax
jne 0x4b5d13
lea ebx, [eax + 1]
jmp 0x4b5d4f
push str.incremental
push ebx
call fcn.004c1f20
add esp, 8
test eax, eax
jne 0x4b5d2a
lea ebx, [eax + 2]
jmp 0x4b5d4f
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0
push eax
push ebx
call fcn.004ac740
xor ecx, ecx
add esp, 8
cmp dword [esp + 0x18], 2
cmovbe ecx, dword [esp + 0x18]
movzx ebx, cl
mov eax, dword [esp + 0x10]
push ebx
push edi
mov byte [eax + 0x5a], bl
call fcn.00497e60
add esp, 8
test eax, eax
jne 0x4b96a7
cmp ebx, 1
je 0x4b5d76
cmp ebx, 2
jne 0x4b96a7
mov eax, dword [esp + 0x1c]
push 0
push 0x52e2d4
push 5
mov edi, dword [eax]
push esi
call fcn.004c6f30
mov edx, dword [esp + 0x4c]
lea ecx, [edi + 4]
push edx
push esi
mov dword [eax + 0x30], ecx
lea ecx, [ebx - 1]
mov dword [eax + 4], edx
mov dword [eax + 0x18], edx
mov dword [eax + 0x54], edx
mov dword [eax + 0x5c], ecx
call fcn.004d4330
push dword [esp + 0x4c]
push dword [esp + 0x2c]
call fcn.0049da00
mov eax, dword [esp + 0x40]
add esp, 0x20
jmp 0x4b96c0
mov dword [esp + 0x18], 0
test edx, edx
je 0x4b5dea
lea eax, [esp + 0x18]
push eax
push edx
call fcn.004ac740
add esp, 8
test eax, eax
je 0x4b5dea
mov edi, dword [esp + 0x18]
test edi, edi
jg 0x4b5def
mov edi, 0x7fffffff
mov ebx, dword [esp + 0x3c]
push ebx
push 0
push dword [esp + 0x1c]
call fcn.00494600
push 1
push edi
push 0x47
push esi
call fcn.004c6d90
push ebx
push 0x3e
push esi
call fcn.004c6d30
push 1
push 0x54
push esi
mov edi, eax
call fcn.004c6d30
push 0xffffffffffffffff
push 1
push 0x56
push esi
call fcn.004c6d90
add esp, 0x44
push edi
push 1
push 0x3b
push esi
call fcn.004c6d90
push edi
push esi
call fcn.004d1180
add esp, 0x18
jmp 0x4b96a7
test edx, edx
jne 0x4b5e58
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x50]
cdq
jmp 0x4b63d6
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0
push eax
push edx
call fcn.004ac740
mov ecx, dword [edi + 0xc]
mov eax, dword [esp + 0x20]
mov dword [ecx + 0x50], eax
mov eax, dword [edi + 0xc]
push dword [eax + 0x50]
push dword [edi + 4]
call fcn.00497ee0
push dword [esp + 0x44]
push dword [esp + 0x24]
call fcn.0049da00
mov eax, dword [esp + 0x38]
add esp, 0x18
jmp 0x4b96c0
test edx, edx
jne 0x4b5ec4
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x20]
and eax, 0x20
or eax, edx
je 0x4b617d
push 0
push dword [edi + 4]
call fcn.004980b0
add esp, 8
jmp 0x4b617d
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 1
push eax
push edx
call fcn.004ac740
mov esi, dword [esp + 0x20]
add esp, 8
test eax, eax
je 0x4b5eee
push esi
push dword [edi + 4]
call fcn.004980b0
add esp, 8
test esi, esi
setne al
movzx eax, al
push eax
push dword [esp + 0x24]
call fcn.004ac4f0
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
test al, al
je 0x4b5f16
or ecx, 0x20
jmp 0x4b5f19
and ecx, 0xffffffdf
mov eax, dword [esp + 0x10]
push eax
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], edx
call fcn.0048fd40
push dword [esp + 0x38]
push dword [esp + 0x18]
call fcn.0049da00
mov eax, dword [esp + 0x2c]
add esp, 0xc
jmp 0x4b96c0
test edx, edx
je 0x4b6060
lea eax, [esp + 0x8c]
push eax
push edx
call fcn.0049dee0
add esp, 8
cmp dword [esp + 0x90], 0
jg 0x4b5f8a
jl 0x4b5f71
cmp dword [esp + 0x8c], 0
jae 0x4b5f8a
mov eax, dword [0x56f1a0]
mov ecx, dword [0x56f1a4]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
cmp dword [eax + 4], 0
jne 0x4b5fac
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov dword [edx + 0x30], eax
mov dword [edx + 0x34], ecx
mov ebx, dword [edx + 0x14]
sub ebx, 1
js 0x4b6060
mov esi, dword [esp + 0x2c]
mov ebp, ebx
shl ebp, 4
mov eax, dword [edx + 0x10]
mov edi, dword [eax + ebp + 4]
test edi, edi
je 0x4b6050
cmp ebx, dword [esp + 0x3c]
je 0x4b5fdc
cmp dword [esi + 4], 0
jne 0x4b6050
cmp byte [edi + 9], 0
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x7c], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x24], eax
je 0x4b6015
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x4b6015
push edi
call fcn.00462350
mov eax, dword [esp + 0x28]
add esp, 4
mov eax, dword [eax]
mov ecx, dword [esp + 0x70]
push eax
mov dword [eax + 0x88], ecx
mov ecx, dword [esp + 0x80]
mov dword [eax + 0x8c], ecx
call fcn.00483890
add esp, 4
cmp byte [edi + 9], 0
je 0x4b604c
add dword [edi + 0xc], 0xffffffff
jne 0x4b604c
push edi
call fcn.004e0290
add esp, 4
mov edx, dword [esp + 0x10]
sub ebp, 0x10
sub ebx, 1
jns 0x4b5fc1
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x10]
mov ebx, 1
mov dword [esp + 0x8c], 0xffffffff
mov dword [esp + 0x90], 0xffffffff
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x4b6094
push eax
call dword [0x56f148]
mov ecx, dword [esp + 0x14]
add esp, 4
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4b60b1
push eax
push ecx
call fcn.004a5e70
mov edi, eax
add esp, 8
test edi, edi
jns 0x4b60b3
jmp 0x4b612d
xor edi, edi
mov eax, dword [esp + 0x10]
add edi, edi
mov eax, dword [eax + 0x10]
mov edi, dword [eax + edi*8 + 4]
test edi, edi
je 0x4b612d
cmp byte [edi + 9], 0
je 0x4b60dc
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x4b60dc
push edi
call fcn.00462350
add esp, 4
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax]
mov ebp, dword [ecx + 0x1c8]
mov eax, dword [eax + 0x40]
mov ecx, dword [eax]
test ecx, ecx
jne 0x4b60f9
lea ebx, [ecx + 0xc]
jmp 0x4b610e
lea edx, [esp + 0x8c]
push edx
push 0x12
push eax
mov eax, dword [ecx + 0x28]
call eax
add esp, 0xc
mov ebx, eax
mov eax, dword [esp + 0x10]
mov dword [eax + 0x1c8], ebp
cmp byte [edi + 9], 0
je 0x4b6131
add dword [edi + 0xc], 0xffffffff
jne 0x4b6131
push edi
call fcn.004e0290
add esp, 4
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4b6142
push eax
call dword [0x56f150]
add esp, 4
test ebx, ebx
jne 0x4b6159
push dword [esp + 0x90]
push dword [esp + 0x90]
jmp 0x4b969e
cmp ebx, 0xc
je 0x4b96a7
mov eax, dword [esp + 0x14]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x4b96a7
test edx, edx
jne 0x4b6198
mov ebx, dword [esp + 0x10]
movzx eax, byte [ebx + 0x56]
cdq
push edx
push eax
push esi
call fcn.0048d790
push dword [esp + 0x40]
push ebx
call fcn.0049da00
add esp, 0x14
jmp 0x4b96cd
mov cl, byte [edx]
mov al, cl
sub al, 0x30
cmp al, 2
ja 0x4b61aa
movsx ebx, cl
sub ebx, 0x30
jmp 0x4b61dc
push str.file
push edx
call fcn.004c1f20
add esp, 8
test eax, eax
jne 0x4b61c1
lea ebx, [eax + 1]
jmp 0x4b61dc
push str.memory
push dword [esp + 0x24]
call fcn.004c1f20
add esp, 8
neg eax
sbb ebx, ebx
and ebx, 0xfffffffe
add ebx, 2
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx]
movzx eax, byte [esi + 0x56]
cmp eax, ebx
je 0x4b96a7
push ecx
call fcn.00476d30
add esp, 4
test eax, eax
jne 0x4b96a7
mov byte [esi + 0x56], bl
jmp 0x4b6370
cmp byte [0x56f0fc], 0
je 0x4b6229
push 0xb
call dword [0x56f140]
add esp, 4
test eax, eax
je 0x4b6229
push eax
call dword [0x56f148]
add esp, 4
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x4b6245
push dword [0x574f28]
push esi
call fcn.0048d820
add esp, 8
jmp 0x4b62bf
cmp byte [ecx], 0
je 0x4b6273
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x24]
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 0x4b633d
cmp dword [esp + 0x24], eax
je 0x4b633d
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x56], 1
ja 0x4b6289
push dword [esp + 0x14]
call fcn.00476d30
add esp, 4
push dword [0x574f28]
call fcn.00451030
mov eax, dword [esp + 0x24]
add esp, 4
cmp byte [eax], 0
je 0x4b62b5
push eax
push 0x534d04
call fcn.00450c20
add esp, 8
mov dword [0x574f28], eax
jmp 0x4b62bf
mov dword [0x574f28], 0
cmp byte [0x56f0fc], 0
je 0x4b96a7
push 0xb
call dword [0x56f140]
add esp, 4
jmp 0x4b5575
cmp byte [0x56f0fc], 0
je 0x4b62fe
push 0xb
call dword [0x56f140]
add esp, 4
test eax, eax
je 0x4b62fe
push eax
call dword [0x56f148]
add esp, 4
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x4b6317
push dword [0x574f2c]
push esi
call fcn.0048d820
add esp, 8
jmp 0x4b62bf
cmp byte [ecx], 0
je 0x4b6389
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x24]
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 0x4b633d
cmp dword [esp + 0x24], eax
jne 0x4b6389
push str.not_a_writable_directory
push dword [esp + 0x18]
call fcn.0049fe60
add esp, 8
cmp byte [0x56f0fc], 0
je 0x4b6370
push 0xb
call dword [0x56f140]
add esp, 4
test eax, eax
je 0x4b6370
push eax
call dword [0x56f150]
add esp, 4
push dword [esp + 0x34]
push dword [esp + 0x14]
call fcn.0049da00
mov eax, dword [esp + 0x28]
add esp, 8
jmp 0x4b96c0
push dword [0x574f2c]
call fcn.00451030
mov eax, dword [esp + 0x24]
add esp, 4
cmp byte [eax], 0
je 0x4b63b8
push eax
push 0x534d04
call fcn.00450c20
add esp, 8
mov dword [0x574f2c], eax
jmp 0x4b62bf
mov dword [0x574f2c], 0
jmp 0x4b62bf
test edx, edx
jne 0x4b63f3
movzx eax, byte [edi + 8]
cdq
sub eax, 1
sbb edx, 0
push edx
push eax
push esi
call fcn.0048d790
push dword [esp + 0x40]
push dword [esp + 0x20]
call fcn.0049da00
add esp, 0x14
jmp 0x4b96cd
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x55], 0
jne 0x4b6424
push str.Safety_level_may_not_be_changed_inside_a_transaction
push dword [esp + 0x18]
call fcn.0049fe60
push dword [esp + 0x3c]
push dword [esp + 0x1c]
call fcn.0049da00
mov eax, dword [esp + 0x30]
add esp, 0x10
jmp 0x4b96c0
cmp dword [esp + 0x3c], 1
je 0x4b96ab
push 1
push 0
push edx
call fcn.00475840
inc eax
mov ecx, 1
and eax, 7
mov byte [edi + 9], cl
cmove eax, ecx
mov byte [edi + 8], al
mov edi, dword [esp + 0x1c]
push edi
call fcn.0048fd40
push dword [esp + 0x44]
push edi
call fcn.0049da00
mov eax, dword [esp + 0x38]
add esp, 0x18
jmp 0x4b96c0
test edx, edx
jne 0x4b64ca
push ebx
push esi
call fcn.0048ffa0
mov edi, dword [esp + 0x18]
add esp, 8
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 0x24]
and ecx, dword [ebx + 8]
and eax, dword [ebx + 0xc]
or ecx, eax
je 0x4b6496
mov eax, 1
xor ecx, ecx
jmp 0x4b64b0
xorps xmm0, xmm0
movlpd qword [esp + 0x8c], xmm0
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x8c]
push ecx
push eax
push esi
call fcn.0048d790
push dword [esp + 0x40]
push edi
call fcn.0049da00
add esp, 0x14
jmp 0x4b96cd
mov ebp, dword [esp + 0x10]
mov edi, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
cmp byte [ebp + 0x55], 0
jne 0x4b64e0
and edi, 0xffffbfff
push 0
push edx
call fcn.004ac4f0
add esp, 8
test al, al
je 0x4b6510
mov eax, edi
and eax, 1
or eax, 0
je 0x4b6506
mov eax, dword [ebp + 0x20]
and eax, 0x10000000
or eax, 0
jne 0x4b6560
mov eax, ebp
or dword [eax + 0x20], edi
or dword [eax + 0x24], ebx
jmp 0x4b6560
mov edx, ebp
mov ecx, edi
mov eax, ebx
not ecx
not eax
and dword [edx + 0x20], ecx
and dword [edx + 0x24], eax
cmp edi, 0x80000
jne 0x4b653a
test ebx, ebx
jne 0x4b653a
mov dword [edx + 0x208], ebx
mov dword [edx + 0x20c], ebx
jmp 0x4b6560
and edi, 1
or edi, 0
je 0x4b6560
push str.reset
push dword [esp + 0x24]
call fcn.004c1f20
add esp, 8
test eax, eax
jne 0x4b6560
push ebp
call fcn.004bb530
add esp, 4
push 0xa6
push esi
call fcn.004c6ce0
mov esi, ebp
push esi
call fcn.0048fd40
push dword [esp + 0x40]
push esi
call fcn.0049da00
mov eax, dword [esp + 0x34]
add esp, 0x14
jmp 0x4b96c0
test edx, edx
je 0x4b96a7
mov ebp, dword [esp + 0x28]
push ebp
push dword [esp + 0x18]
call fcn.0049a360
push ebp
push dword [esp + 0x2c]
mov ebp, dword [esp + 0x24]
push 2
push ebp
call fcn.004b1220
mov edi, eax
add esp, 0x18
mov dword [esp + 0x5c], edi
test edi, edi
je 0x4b96a7
push edi
mov dword [esp + 0x34], 0
call fcn.004b9e00
push edi
push ebp
mov dword [esp + 0x64], eax
mov dword [ebp + 0x2c], 7
call fcn.004d4420
movzx edx, word [edi + 0x22]
xor eax, eax
mov ecx, dword [edi + 4]
add esp, 0xc
xor ebp, ebp
mov dword [esp + 0x54], ecx
cmp ax, dx
jge 0x4b96a7
mov eax, edx
mov dword [esp + 0x44], eax
movzx edx, word [ecx + 0xe]
xor edi, edi
test dl, 0x62
je 0x4b6641
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
jne 0x4b6625
mov edx, dword [esp + 0x44]
inc dword [esp + 0x30]
movzx eax, dx
jmp 0x4b67a9
mov eax, dword [esp + 0x44]
test dl, 0x20
je 0x4b6635
mov edi, 2
jmp 0x4b6641
movzx edi, dl
and edi, 0x40
or edi, 0x20
shr edi, 5
test dl, 1
jne 0x4b664a
xor edx, edx
jmp 0x4b6687
cmp dword [esp + 0x58], 0
mov edx, 1
je 0x4b6687
cwde
mov dword [esp + 0x24], eax
cmp eax, edx
jl 0x4b6687
mov eax, dword [esp + 0x58]
mov ebx, dword [esp + 0x24]
mov ecx, dword [eax + 4]
nop word [eax + eax]
movsx eax, word [ecx]
cmp eax, ebp
je 0x4b667f
inc edx
add ecx, 2
cmp edx, ebx
jle 0x4b6670
mov ebx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x54]
movzx eax, word [ecx + 0xc]
mov dword [esp + 0x18], eax
test ax, ax
jne 0x4b6698
xor eax, eax
jmp 0x4b66dd
mov eax, dword [esp + 0x5c]
cmp byte [eax + 0x2b], 0
je 0x4b66a6
xor eax, eax
jmp 0x4b66dd
mov eax, dword [eax + 0x34]
test eax, eax
je 0x4b66dd
mov ebx, dword [esp + 0x18]
movzx ebx, bx
cmp dword [eax], ebx
mov ebx, dword [esp + 0x6c]
jge 0x4b66c0
xor eax, eax
jmp 0x4b66dd
mov esi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x18]
movzx eax, cx
mov ecx, dword [esi + 0x34]
mov esi, dword [esp + 0x40]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 - 0xc]
mov ecx, dword [esp + 0x54]
cmp edi, 2
jae 0x4b66ef
test eax, eax
je 0x4b66ef
mov eax, dword [eax + 8]
mov dword [esp + 0x38], eax
jmp 0x4b66f7
mov dword [esp + 0x38], 0
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
mov dword [esp + 0x48], str.issisii
jne 0x4b670f
mov dword [esp + 0x48], str.issisi
movzx eax, word [ecx + 0xe]
test al, 4
je 0x4b6745
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x70], eax
lea eax, [ecx + 1]
mov dword [esp + 0x24], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b6726
mov eax, dword [esp + 0x70]
sub ecx, dword [esp + 0x24]
inc eax
add eax, ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x18], eax
mov eax, dword [ecx + 4]
jmp 0x4b676d
mov eax, dword [ecx + 4]
mov dword [esp + 0x44], eax
shr eax, 4
and eax, 0xf
je 0x4b6761
mov eax, dword [eax*4 + 0x56f2e8]
mov dword [esp + 0x18], eax
jmp 0x4b6769
mov dword [esp + 0x18], 0x5461cf
mov eax, dword [esp + 0x44]
push edi
push edx
push dword [esp + 0x40]
test al, 0xf
mov eax, 0
setne al
push eax
push dword [esp + 0x28]
mov eax, ebp
push dword [ecx]
sub eax, dword [esp + 0x48]
push eax
push dword [esp + 0x64]
push 1
push esi
call fcn.004d2a10
mov eax, dword [esp + 0x84]
add esp, 0x28
mov ecx, dword [esp + 0x54]
movzx eax, word [eax + 0x22]
movzx edx, ax
inc ebp
cwde
add ecx, 0x10
cmp ebp, eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x44], edx
mov eax, edx
jl 0x4b6602
jmp 0x4b6370
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
push ebx
push eax
mov dword [eax + 0x2c], 6
call fcn.0049a360
mov eax, dword [esp + 0x18]
add esp, 8
mov dword [esp + 0x5c], 0
cmp dword [eax + 0x14], 0
jle 0x4b96ab
xor ebp, ebp
mov dword [esp + 0x58], ebp
nop dword [eax]
test ebx, ebx
je 0x4b6824
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ebp]
test eax, eax
je 0x4b6ba9
push eax
push ebx
call fcn.004c1f20
add esp, 8
test eax, eax
jne 0x4b6ba9
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + ebp + 0xc]
add edx, 8
mov ebx, dword [edx + 4]
test ebx, ebx
je 0x4b6a5c
mov esi, dword [esp + 0x10]
mov eax, dword [edx + 8]
dec ebx
mov dword [esp + 0x24], ebx
test eax, eax
je 0x4b6a58
mov ecx, dword [eax + 8]
cmp word [ecx + 0x22], 0
je 0x4b6866
mov eax, dword [eax]
test eax, eax
jne 0x4b6851
jmp 0x4b6a58
push dword [ecx]
push str.SELECTFROM__w_
push esi
call fcn.004b17d0
add esp, 0xc
mov dword [esp + 0x70], eax
test eax, eax
je 0x4b6a20
push 0
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
push ecx
push 0
push 0
push 0xffffffffffffffff
push eax
push esi
call fcn.004b1440
mov edi, dword [esp + 0x34]
add esp, 0x1c
test edi, edi
je 0x4b6a13
mov ebp, dword [edi]
test ebp, ebp
jne 0x4b68e2
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.0045a560
push 0x5398bc
push 0x15f4b
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.0045a560
add esp, 0x1c
jmp 0x4b6a0f
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x4b68f3
push eax
call dword [0x56f148]
add esp, 4
cmp dword [edi + 0x8c], 0
jl 0x4b6911
jg 0x4b6907
cmp dword [edi + 0x88], 0
jbe 0x4b6911
push edi
push ebp
call fcn.00476d80
add esp, 8
push edi
call fcn.004d35f0
mov ebx, dword [edi]
push edi
push ebx
mov dword [esp + 0x3c], eax
call fcn.004c73a0
add esp, 0xc
cmp dword [ebx + 0x210], 0
jne 0x4b6945
mov ecx, dword [edi + 4]
mov eax, dword [edi + 8]
mov dword [ecx], eax
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x4b6945
mov eax, dword [edi + 4]
mov dword [ecx + 4], eax
cmp edi, dword [ebx + 0x164]
jae 0x4b6980
cmp edi, dword [ebx + 0x15c]
jb 0x4b6968
mov eax, dword [ebx + 0x158]
mov dword [edi], eax
mov dword [ebx + 0x158], edi
jmp 0x4b69ea
cmp edi, dword [ebx + 0x160]
jb 0x4b6980
mov eax, dword [ebx + 0x150]
mov dword [edi], eax
mov dword [ebx + 0x150], edi
jmp 0x4b69ea
cmp dword [ebx + 0x210], 0
je 0x4b6995
push edi
push ebx
call fcn.0047fe10
add esp, 8
jmp 0x4b69ea
cmp dword [0x56f0f8], 0
je 0x4b69e0
mov eax, dword [0x574ff8]
test eax, eax
je 0x4b69b1
push eax
call dword [0x56f148]
add esp, 4
push edi
call dword [0x56f124]
sub dword [0x574f98], eax
dec dword [0x574fbc]
push edi
call dword [0x56f11c]
mov eax, dword [0x574ff8]
add esp, 8
test eax, eax
je 0x4b69ea
push eax
call dword [0x56f150]
jmp 0x4b69e7
push edi
call dword [0x56f11c]
add esp, 4
cmp byte [ebp + 0x57], 0
mov eax, dword [esp + 0x30]
jne 0x4b69f8
test eax, eax
je 0x4b6a02
push eax
push ebp
call fcn.0045e760
add esp, 8
push ebp
call fcn.004b0340
mov ebx, dword [esp + 0x28]
add esp, 4
mov ebp, dword [esp + 0x58]
push dword [esp + 0x70]
push esi
call fcn.0049da00
add esp, 8
cmp byte [esi + 0x57], 0
je 0x4b6a46
push str.out_of_memory
push dword [esi + 0x10c]
call fcn.0049fe60
mov eax, dword [esi + 0x10c]
add esp, 8
mov dword [eax + 0xc], 7
mov eax, dword [esi + 0x10]
mov edx, dword [eax + ebp + 0xc]
add edx, 8
test ebx, ebx
jne 0x4b6841
mov esi, dword [esp + 0x40]
mov edi, dword [edx + 8]
mov dword [esp + 0x54], edi
test edi, edi
je 0x4b6ba5
mov ecx, dword [esp + 0x20]
nop
mov ebx, dword [edi + 8]
test ecx, ecx
je 0x4b6a93
mov eax, dword [ebx]
test eax, eax
je 0x4b6b97
push eax
push ecx
call fcn.004c1f20
add esp, 8
test eax, eax
jne 0x4b6b93
mov al, byte [ebx + 0x2b]
cmp al, 2
jne 0x4b6aa4
mov dword [esp + 0x18], str.view
jmp 0x4b6aca
cmp al, 1
jne 0x4b6ab2
mov dword [esp + 0x18], 0x5371c4
jmp 0x4b6aca
test dword [ebx + 0x1c], 0x1000
mov eax, str.shadow
mov ecx, str.table
cmove eax, ecx
mov dword [esp + 0x18], eax
mov ebp, dword [ebx]
mov edx, 7
test ebp, ebp
je 0x4b6b55
mov edi, ebp
mov ebx, str.sqlite_
mov al, byte [edi]
dec edx
test al, al
je 0x4b6b02
movzx ecx, byte [ebx]
movzx eax, al
mov al, byte [eax + 0x52e638]
cmp al, byte [ecx + 0x52e638]
jne 0x4b6b02
inc edi
inc ebx
test edx, edx
jg 0x4b6ae0
dec edx
test edx, edx
js 0x4b6b1e
movzx eax, byte [ebx]
movzx ecx, byte [eax + 0x52e638]
movzx eax, byte [edi]
movzx eax, byte [eax + 0x52e638]
sub eax, ecx
jne 0x4b6b51
lea edi, [ebp + 7]
push 0x53572b
push edi
call fcn.004c1f20
add esp, 8
test eax, eax
jne 0x4b6b3a
mov ebp, str.sqlite_schema
jmp 0x4b6b51
push 0x53590f
push edi
call fcn.004c1f20
add esp, 8
test eax, eax
jne 0x4b6b51
mov ebp, str.sqlite_temp_schema
mov edi, dword [esp + 0x54]
mov edx, dword [edi + 8]
mov ecx, dword [edx + 0x1c]
mov eax, ecx
shr eax, 0x10
and eax, 1
shr ecx, 7
push eax
movsx eax, word [edx + 0x22]
and ecx, 1
push ecx
push eax
push dword [esp + 0x24]
mov eax, dword [esp + 0x20]
push ebp
mov ebp, dword [esp + 0x6c]
mov eax, dword [eax + 0x10]
push dword [eax + ebp]
push str.sssiii
push 1
push esi
call fcn.004d2a10
add esp, 0x24
mov ecx, dword [esp + 0x20]
mov edi, dword [edi]
mov dword [esp + 0x54], edi
test edi, edi
jne 0x4b6a70
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
add ebp, 0x10
mov eax, dword [esp + 0x5c]
inc eax
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], eax
cmp eax, dword [ecx + 0x14]
mov eax, ecx
jl 0x4b6800
jmp 0x4b96ab
test edx, edx
je 0x4b96a7
mov edi, dword [esp + 0x28]
push edi
push edx
push dword [esp + 0x18]
call fcn.004a6a10
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x4b6c28
push edi
push dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
push 2
push edi
call fcn.004b1220
add esp, 0x10
test eax, eax
je 0x4b96a7
test byte [eax + 0x1c], 0x80
je 0x4b96a7
push eax
call fcn.004b9e00
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x4b96a7
jmp 0x4b6c2c
mov edi, dword [esp + 0x14]
mov edx, dword [ebp + 0x18]
mov ecx, 0xffff8000
test edx, edx
je 0x4b6c50
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edx
je 0x4b6c50
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x4b6c48
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
je 0x4b6c63
movzx eax, word [ebp + 0x34]
mov edx, 6
jmp 0x4b6c6c
movzx eax, word [ebp + 0x32]
mov edx, 3
mov dword [esp + 0x18], eax
mov dword [edi + 0x2c], edx
mov eax, dword [ebp + 0xc]
push ecx
push edi
mov dword [esp + 0x2c], eax
call fcn.0049a3e0
xor edi, edi
add esp, 8
cmp word [esp + 0x18], di
je 0x4b96a7
mov eax, dword [ebp + 4]
movzx eax, word [eax + edi*2]
movsx edx, ax
test ax, ax
jns 0x4b6ca4
xor eax, eax
jmp 0x4b6cb2
mov eax, dword [esp + 0x24]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*8]
push eax
push edx
push edi
push str.iisX
push 1
push esi
call fcn.004d2a10
mov eax, dword [ebx + 8]
add esp, 0x18
or eax, dword [ebx + 0xc]
je 0x4b6cf6
movzx eax, word [ebp + 0x32]
cmp edi, eax
sbb eax, eax
neg eax
push eax
mov eax, dword [ebp + 0x20]
push dword [eax + edi*4]
mov eax, dword [ebp + 0x1c]
movzx eax, byte [eax + edi]
push eax
push str.isiX
push 4
push esi
call fcn.004d2a10
add esp, 0x18
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x2c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [esp + 0x64]
cmp dword [eax], ecx
jg 0x4b6d1d
push 0
push edx
push 1
push 0x54
push esi
call fcn.00475980
add esp, 0x14
jmp 0x4b6d53
mov ebx, dword [esp + 0x1c]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [ebx], eax
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x6c]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x18]
inc edi
movzx eax, cx
cmp edi, eax
jl 0x4b6c91
jmp 0x4b6370
test edx, edx
je 0x4b96a7
push dword [esp + 0x28]
push edx
push dword [esp + 0x18]
call fcn.004a6ae0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x4b96a7
mov edx, dword [edi + 0x3c]
mov ecx, 0xffff8000
test edx, edx
je 0x4b6daf
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edx
je 0x4b6daf
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x4b6da7
mov eax, dword [esp + 0x14]
push ecx
push eax
mov dword [eax + 0x2c], 5
call fcn.0049a3e0
mov edi, dword [edi + 8]
add esp, 8
xor ebx, ebx
test edi, edi
je 0x4b96a7
mov dword [esp + 0x8c], 0x537e48
mov dword [esp + 0x90], 0x537e4c
mov dword [esp + 0x94], 0x5336e4
xor eax, eax
cmp dword [edi + 0x24], eax
setne al
push eax
mov eax, dword [edi + 0x38]
and eax, 3
push dword [esp + eax*4 + 0x90]
xor eax, eax
cmp byte [edi + 0x36], al
setne al
push eax
push dword [edi]
push ebx
push str.isisi
push 1
push esi
call fcn.004d2a10
mov edi, dword [edi + 0x14]
add esp, 0x20
inc ebx
test edi, edi
jne 0x4b6df2
jmp 0x4b6370
mov eax, dword [esp + 0x14]
xor edi, edi
mov dword [eax + 0x2c], 3
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x14], edi
jle 0x4b96ab
xor ebx, ebx
nop dword [eax]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + ebx + 4]
test eax, eax
je 0x4b6e90
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xf], 0
jne 0x4b6e76
cmp dword [eax], 0x56fb78
je 0x4b6e76
mov eax, dword [eax + 0xb8]
jmp 0x4b6e7b
mov eax, 0x52eba0
push eax
push dword [ecx + ebx]
push edi
push 0x537e58
push 1
push esi
call fcn.004d2a10
add esp, 0x18
mov eax, dword [esp + 0x10]
inc edi
add ebx, 0x10
cmp edi, dword [eax + 0x14]
jl 0x4b6e50
jmp 0x4b96ab
mov eax, dword [esp + 0x14]
xor ebx, ebx
mov edi, dword [esp + 0x10]
mov dword [eax + 0x2c], 2
mov edi, dword [edi + 0x1b8]
test edi, edi
je 0x4b96a7
mov eax, dword [edi + 8]
push dword [eax]
push ebx
push 0x537e5c
push 1
push esi
call fcn.004d2a10
mov edi, dword [edi]
add esp, 0x14
inc ebx
test edi, edi
jne 0x4b6ec1
jmp 0x4b96a7
mov eax, dword [esp + 0x10]
mov ebp, 0x574f38
mov ebx, dword [eax + 0x18]
mov eax, dword [esp + 0x14]
shr ebx, 5
and ebx, 1
mov dword [eax + 0x2c], 6
mov edi, dword [ebp]
test edi, edi
je 0x4b6f1b
push ebx
push 1
push edi
push esi
call fcn.00488180
mov edi, dword [edi + 0x24]
add esp, 0x10
test edi, edi
jne 0x4b6f07
add ebp, 4
cmp ebp, 0x574f94
jl 0x4b6f00
mov edi, dword [esp + 0x10]
mov edi, dword [edi + 0x1a8]
test edi, edi
je 0x4b96a7
push ebx
push 0
push dword [edi + 8]
push esi
call fcn.00488180
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x4b6f38
jmp 0x4b96a7
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov dword [eax + 0x2c], 1
mov edi, dword [edi + 0x18c]
test edi, edi
je 0x4b96a7
nop
mov eax, dword [edi + 8]
push dword [eax + 4]
push 0x535d78
push 1
push esi
call fcn.004d2a10
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x4b6f70
jmp 0x4b96a7
mov edi, 0x52db90
push dword [edi]
push 0x535d78
push 1
push esi
call fcn.004d2a10
add edi, 0x10
add esp, 0x10
cmp edi, 0x52dfc0
jl 0x4b6f96
jmp 0x4b96a7
test edx, edx
je 0x4b96a7
push dword [esp + 0x28]
push edx
push dword [esp + 0x18]
call fcn.004a6ae0
add esp, 0xc
mov dword [esp + 0x24], eax
test eax, eax
je 0x4b96a7
cmp byte [eax + 0x2b], 0
jne 0x4b96a7
mov edi, dword [eax + 0x30]
test edi, edi
je 0x4b96a7
mov edx, dword [eax + 0x3c]
mov ecx, 0xffff8000
test edx, edx
je 0x4b7018
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edx
je 0x4b7018
nop
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x4b7010
mov eax, dword [esp + 0x14]
xor ebp, ebp
push ecx
push eax
mov dword [esp + 0x20], ebp
mov dword [eax + 0x2c], 8
call fcn.0049a3e0
add esp, 8
xor ebx, ebx
cmp dword [edi + 0x14], ebx
jle 0x4b70eb
lea ebp, [edi + 0x24]
movzx eax, byte [edi + 0x19]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x4b704d
jmp dword [eax*4 + 0x4b9794]
mov ecx, str.SET_NULL
jmp 0x4b7075
mov ecx, str.SET_DEFAULT
jmp 0x4b7075
mov ecx, str.CASCADE
jmp 0x4b7075
mov ecx, str.RESTRICT
jmp 0x4b7075
mov ecx, str.NO_ACTION
movzx eax, byte [edi + 0x1a]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x4b7081
jmp dword [eax*4 + 0x4b97a4]
mov eax, str.SET_NULL
jmp 0x4b70a9
mov eax, str.SET_DEFAULT
jmp 0x4b70a9
mov eax, str.CASCADE
jmp 0x4b70a9
mov eax, str.RESTRICT
jmp 0x4b70a9
mov eax, str.NO_ACTION
push str.NONE
push ecx
mov ecx, dword [ebp]
push eax
push dword [ebp + 4]
mov eax, dword [esp + 0x34]
add ecx, ecx
mov eax, dword [eax + 4]
push dword [eax + ecx*8]
push dword [edi + 8]
push ebx
push dword [esp + 0x34]
push str.iissssss
push 1
push esi
call fcn.004d2a10
inc ebx
add esp, 0x2c
add ebp, 8
cmp ebx, dword [edi + 0x14]
jl 0x4b7041
mov ebp, dword [esp + 0x18]
mov edi, dword [edi + 4]
inc ebp
mov dword [esp + 0x18], ebp
test edi, edi
jne 0x4b7033
jmp 0x4b6370
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x2c]
lea ecx, [eax + 1]
add eax, 5
mov dword [edx + 0x2c], eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x60], ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ebp + 0xc]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x4b96a7
nop
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4b7150
push dword [esp + 0x28]
push eax
push 0
push edx
call fcn.004b1220
mov edx, dword [esp + 0x24]
add esp, 0x10
xor ecx, ecx
jmp 0x4b7155
mov eax, dword [ecx + 8]
mov ecx, dword [ecx]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x48], eax
test eax, eax
je 0x4b78d9
cmp byte [eax + 0x2b], 0
jne 0x4b78d9
cmp dword [eax + 0x30], 0
je 0x4b78d9
mov ecx, dword [eax + 0x3c]
mov edi, 0xffff8000
test ecx, ecx
je 0x4b719d
mov eax, dword [esp + 0x10]
xor edi, edi
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x4b719d
lea eax, [eax + 0x10]
inc edi
cmp dword [eax], ecx
jne 0x4b7195
mov eax, dword [esp + 0x10]
mov ebp, edi
shl ebp, 4
mov ecx, edi
mov dword [esp + 0x24], ebp
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ebp]
mov dword [esp + 0x28], eax
mov eax, dword [edx + 0x80]
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov ebx, dword [edx + 0x5c]
test ebx, eax
jne 0x4b72d0
bts ebx, edi
mov dword [edx + 0x5c], ebx
cmp edi, 1
jne 0x4b72d9
push edx
call fcn.004b2630
add esp, 4
mov ebx, dword [esp + 0x48]
mov ecx, dword [esp + 0x14]
movsx eax, word [ebx + 0x22]
add eax, dword [esp + 0x38]
cmp dword [ecx + 0x2c], eax
jge 0x4b7203
mov dword [ecx + 0x2c], eax
push 0x70
push ebx
push edi
push 0
push ecx
call fcn.004b22e0
push 0
push dword [ebx]
push 0
push dword [esp + 0x80]
push 0
push 0x75
push esi
call fcn.004c6e50
mov eax, dword [ebx + 0x30]
add esp, 0x30
mov dword [esp + 0x18], eax
mov ebp, 1
test eax, eax
je 0x4b73b9
nop dword [eax]
push dword [esp + 0x28]
push dword [eax + 8]
push dword [esp + 0x18]
call fcn.004a6ae0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x4b73a1
mov dword [esp + 0x44], 0
cmp edi, 1
je 0x4b7292
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
mov ecx, dword [edx]
mov ecx, dword [ecx + 0x10]
mov eax, dword [ecx + eax + 4]
cmp byte [eax + 9], 0
je 0x4b7292
push dword [ebx]
push 0
push dword [ebx + 0x14]
push edi
push edx
call fcn.0047ec10
add esp, 0x14
push 0
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x20]
push ebx
push dword [esp + 0x24]
call fcn.004a86f0
add esp, 0x14
test eax, eax
jne 0x4b96a7
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x4b730a
push 0x70
push ebx
push edi
push ebp
push dword [esp + 0x24]
call fcn.004b22e0
add esp, 0x14
jmp 0x4b73a1
cmp edi, 1
je 0x4b71eb
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x48]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ebp + 4]
cmp byte [eax + 9], 0
je 0x4b71f3
push dword [ebx]
push 0
push dword [ebx + 0x14]
push edi
push ecx
call fcn.0047ec10
add esp, 0x14
jmp 0x4b71ef
mov edx, dword [eax + 0x2c]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x4b732b
push edi
push edx
push ebp
push 0x70
push esi
call fcn.00475980
add esp, 0x14
jmp 0x4b7351
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x70
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
push dword [esp + 0x44]
push eax
mov ebx, dword [eax + 8]
call fcn.004b0220
mov edx, eax
add esp, 8
test edx, edx
je 0x4b73a1
mov eax, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x4b738f
cmp dword [eax + 0x210], 0
jne 0x4b73a1
add dword [edx], 0xffffffff
jne 0x4b73a1
push edx
push dword [edx + 0xc]
call fcn.0049dc30
add esp, 8
jmp 0x4b73a1
mov eax, dword [ebx + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf8
mov dword [eax + ecx*4 - 4], edx
mov eax, dword [esp + 0x18]
inc ebp
mov eax, dword [eax + 4]
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4b7240
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x28], ebp
jge 0x4b73c5
mov dword [eax + 0x28], ebp
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov edx, dword [edi]
mov dword [esp + 0x5c], edx
cmp dword [eax], edx
jg 0x4b73ee
push 0
push 0
push 0
push 0x24
push esi
call fcn.00475980
add esp, 0x14
mov dword [esp + 0x5c], eax
jmp 0x4b7420
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebp, dword [ebx + 0x30]
mov dword [esp + 0x4c], 1
mov dword [esp + 0x2c], ebp
test ebp, ebp
je 0x4b7867
mov ecx, dword [esp + 0x10]
nop dword [eax + eax]
push dword [esp + 0x28]
push dword [ebp + 8]
push ecx
call fcn.004a6ae0
xor edi, edi
mov dword [esp + 0x30], eax
add esp, 0xc
mov dword [esp + 0x44], 0
mov dword [esp + 0x18], edi
test eax, eax
je 0x4b7482
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x48]
push ecx
push ebp
push eax
push dword [esp + 0x24]
call fcn.004a86f0
mov edi, dword [esp + 0x2c]
add esp, 0x14
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x14]
dec dword [eax + 0x38]
mov ebx, dword [eax + 0x38]
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x18], ebx
lea ecx, [edx + eax]
cmp dword [esi + 0x2c], ecx
mov esi, dword [esp + 0x40]
jge 0x4b74b1
mov eax, dword [esp + 0x14]
mov dword [eax + 0x2c], ecx
mov eax, dword [ebp + 0x14]
xor ebp, ebp
test eax, eax
jle 0x4b7554
mov ecx, dword [esp + 0x2c]
mov ebx, edx
add ecx, 0x24
mov dword [esp + 0x30], ecx
lea eax, [edi + ebp*4]
test edi, edi
jne 0x4b74d1
mov eax, ecx
mov eax, dword [eax]
push ebx
push eax
push 0
push dword [esp + 0x54]
push esi
call fcn.004a1100
mov edx, dword [esp + 0x30]
add esp, 0x14
mov eax, dword [esp + 0x64]
mov ecx, dword [edx]
cmp dword [eax], ecx
jg 0x4b7506
push 0
push dword [esp + 0x1c]
push ebx
push 0x32
push esi
call fcn.00475980
add esp, 0x14
jmp 0x4b7534
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov edx, dword [esp + 0x18]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x2c]
inc ebp
mov ecx, dword [esp + 0x30]
inc ebx
add ecx, 8
mov dword [esp + 0x30], ecx
mov eax, dword [eax + 0x14]
cmp ebp, eax
jl 0x4b74c8
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x44]
test edx, edx
je 0x4b75f3
mov ecx, dword [edx + 0x10]
test ecx, ecx
jne 0x4b757f
push edx
push dword [esp + 0x14]
call fcn.00466fa0
mov ebp, dword [esp + 0x34]
mov ecx, eax
add esp, 8
mov eax, dword [ebp + 0x14]
jmp 0x4b7583
mov ebp, dword [esp + 0x2c]
push eax
push ecx
push 0
push eax
push dword [esp + 0x48]
push 0x60
push esi
call fcn.004c6e50
mov eax, dword [esp + 0x38]
add esp, 0x1c
mov edx, dword [ebp + 0x14]
mov ecx, dword [eax]
mov eax, dword [esp + 0x64]
cmp dword [eax], ecx
jg 0x4b75c2
push edx
push dword [esp + 0x3c]
push ebx
push dword [esp + 0x58]
push 0x1d
push esi
call fcn.0045bf40
add esp, 0x18
jmp 0x4b765f
mov ebp, dword [esp + 0x1c]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [ebp], eax
mov eax, dword [esi + 0x68]
mov ebp, dword [esp + 0x4c]
mov dword [eax + ecx*4 + 4], ebp
mov ebp, dword [esp + 0x38]
mov dword [eax + ecx*4], 0xfd1d
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], ebp
mov dword [eax + ecx*4 + 0x10], edx
jmp 0x4b765b
cmp dword [esp + 0x24], 0
je 0x4b765b
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov ecx, dword [ebp]
lea edx, [ecx + 2]
cmp dword [eax], ecx
jg 0x4b7622
push dword [esp + 0x38]
push edx
push dword [esp + 0x54]
push 0x1e
push esi
call fcn.00475980
add esp, 0x14
jmp 0x4b7651
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov ebp, dword [esp + 0x4c]
mov dword [eax + ecx*4 + 4], ebp
mov ebp, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x1e
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], ebp
mov dword [eax + ecx*4 + 0x10], 0
push ebx
push esi
call fcn.004d0c00
add esp, 8
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x48]
mov ecx, dword [eax]
test byte [edx + 0x1c], 0x80
mov eax, dword [esp + 0x64]
mov eax, dword [eax]
jne 0x4b76ab
cmp eax, ecx
jg 0x4b7693
mov eax, dword [esp + 0x60]
push 0
inc eax
push eax
push 0
push 0x87
push esi
call fcn.00475980
add esp, 0x14
jmp 0x4b7701
mov edx, dword [esp + 0x1c]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [edx], eax
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x87
jmp 0x4b76dc
cmp eax, ecx
jg 0x4b76c6
mov eax, dword [esp + 0x60]
push 0
inc eax
push eax
push 0
push 0x4b
push esi
call fcn.00475980
add esp, 0x14
jmp 0x4b7701
mov edx, dword [esp + 0x1c]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [edx], eax
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x4b
mov edx, dword [esp + 0x60]
mov ebp, dword [esp + 0x2c]
inc edx
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 4], 0
mov eax, dword [esp + 0x4c]
dec eax
push eax
push dword [ebp + 8]
mov eax, dword [esp + 0x68]
push 0x537e74
add eax, 2
push eax
push esi
call fcn.004d2a10
mov edx, dword [esp + 0x30]
add esp, 0x14
mov eax, dword [esp + 0x64]
mov ecx, dword [edx]
cmp dword [eax], ecx
jg 0x4b7743
push 0
push 4
push dword [esp + 0x68]
push 0x54
push esi
call fcn.00475980
add esp, 0x14
jmp 0x4b7775
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov edx, dword [esp + 0x60]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4b778f
push ebx
push esi
push ecx
call fcn.0048b850
add esp, 0xc
jmp 0x4b779b
mov eax, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x40]
mov eax, dword [eax]
mov dword [ecx + ebx*4], eax
mov ecx, dword [esp + 0x10]
test edi, edi
je 0x4b7850
cmp edi, dword [ecx + 0x164]
jae 0x4b77e2
cmp edi, dword [ecx + 0x15c]
jb 0x4b77ca
mov eax, dword [ecx + 0x158]
mov dword [edi], eax
mov dword [ecx + 0x158], edi
jmp 0x4b7850
cmp edi, dword [ecx + 0x160]
jb 0x4b77e2
mov eax, dword [ecx + 0x150]
mov dword [edi], eax
mov dword [ecx + 0x150], edi
jmp 0x4b7850
cmp dword [ecx + 0x210], 0
je 0x4b77f7
push edi
push ecx
call fcn.0047fe10
add esp, 8
jmp 0x4b784c
cmp dword [0x56f0f8], 0
je 0x4b7842
mov eax, dword [0x574ff8]
test eax, eax
je 0x4b7813
push eax
call dword [0x56f148]
add esp, 4
push edi
call dword [0x56f124]
sub dword [0x574f98], eax
dec dword [0x574fbc]
push edi
call dword [0x56f11c]
mov eax, dword [0x574ff8]
add esp, 8
test eax, eax
je 0x4b784c
push eax
call dword [0x56f150]
jmp 0x4b7849
push edi
call dword [0x56f11c]
add esp, 4
mov ecx, dword [esp + 0x10]
mov ebp, dword [ebp + 4]
inc dword [esp + 0x4c]
mov dword [esp + 0x2c], ebp
test ebp, ebp
jne 0x4b7440
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov ebx, dword [esp + 0x5c]
mov ecx, dword [edi]
lea edx, [ebx + 1]
cmp dword [eax], ecx
jg 0x4b788a
push 0
push edx
push 0
push 0x27
push esi
call fcn.00475980
add esp, 0x14
jmp 0x4b78b8
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x4b78c9
mov eax, 0x5751d0
jmp 0x4b78d2
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x6c]
mov dword [eax + 8], edx
test ecx, ecx
je 0x4b96a7
mov edx, dword [esp + 0x14]
jmp 0x4b7130
test edx, edx
je 0x4b96a7
push 0
push edx
call fcn.004ac4f0
add esp, 8
test al, al
je 0x4b7910
mov ebp, 0x52eb78
mov dword [esp + 0x18], 0xc
jmp 0x4b791d
mov ebp, 0x52eb74
mov dword [esp + 0x18], 4
mov esi, dword [esp + 0x10]
mov ebx, 2
nop word [eax + eax]
lea edi, [ebx + 1]
cmp edi, 0x80
ja 0x4b7a45
push 0
push 1
push ebx
push str.like
push esi
call fcn.004a5ed0
add esp, 0x14
test eax, eax
je 0x4b79e4
mov ecx, dword [eax + 4]
and cl, 3
cmp cl, 1
jne 0x4b79e4
movsx eax, byte [eax]
cmp eax, ebx
jne 0x4b79e4
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xbc], 0
je 0x4b79d5
push str.unable_to_delete_modify_user_function_due_to_active_statements
push 5
push eax
call fcn.0049fef0
add esp, 0xc
mov esi, dword [esp + 0x10]
push 0
push 1
push ebx
push str.like
push esi
call fcn.004a5ed0
mov ebx, edi
add esp, 0x14
mov ecx, dword [eax + 4]
or ecx, dword [esp + 0x18]
and ecx, 0xffdfffff
mov dword [eax + 4], ecx
cmp ebx, 3
jle 0x4b7930
push dword [esp + 0x34]
push esi
call fcn.0049da00
mov eax, dword [esp + 0x28]
add esp, 8
jmp 0x4b96c0
push 0
push eax
call fcn.004a02b0
mov esi, dword [esp + 0x18]
add esp, 8
push 1
push 1
push ebx
push str.like
push esi
call fcn.004a5ed0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x4b798d
push esi
push dword [esp + 0x14]
call fcn.00473510
mov eax, dword [esi + 4]
add esp, 8
and eax, 3
mov dword [esi + 0x24], 0
or eax, 0x200000
mov dword [esi + 0x10], 0x44d5a0
mov dword [esi + 4], eax
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 8], ebp
mov byte [esi], bl
jmp 0x4b798d
push 0x5398bc
push 0x2bf2c
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.0045a560
add esp, 0x14
jmp 0x4b7991
mov edi, dword [esp + 0x3c]
xor eax, eax
mov ebx, dword [esp + 0x14]
xor ecx, ecx
mov dword [esp + 0x28], eax
mov ebp, 0x64
mov eax, dword [esp + 0x34]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x30], ebp
movzx eax, byte [eax]
mov al, byte [eax + 0x52e638]
cmp al, 0x71
mov byte [esp + 0x53], al
mov eax, dword [esp + 0x2c]
sete cl
mov dword [esp + 0x80], ecx
mov ecx, 0xffffffff
cmp dword [eax], 0
mov dword [ebx + 0x2c], 6
cmove edi, ecx
mov dword [esp + 0x3c], edi
test edx, edx
je 0x4b7b17
lea eax, [esp + 0x30]
push eax
push edx
call fcn.004ac740
add esp, 8
test eax, eax
je 0x4b7ae5
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x18], ebp
test ebp, ebp
jg 0x4b7b17
mov ebp, 0x64
jmp 0x4b7b13
test edi, edi
js 0x4b7af9
mov eax, dword [esp + 0x10]
mov ecx, edi
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8]
jmp 0x4b7afb
xor eax, eax
push eax
push dword [esp + 0x24]
push 0
push ebx
call fcn.004b1220
mov ebp, dword [esp + 0x40]
add esp, 0x10
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], ebp
push 1
lea ecx, [ebp - 1]
push ecx
push 0x47
push esi
call fcn.004c6d90
mov eax, dword [esp + 0x20]
xor ecx, ecx
add esp, 0x10
mov dword [esp + 0x48], ecx
cmp dword [eax + 0x14], ecx
jle 0x4b8f6b
nop dword [eax + eax]
xor ebp, ebp
test edi, edi
js 0x4b7b4e
cmp ecx, edi
jne 0x4b8f59
mov eax, dword [ebx + 0x80]
mov edx, ebx
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov edi, dword [edx + 0x5c]
test edi, eax
jne 0x4b7b81
bts edi, ecx
mov dword [edx + 0x5c], edi
cmp ecx, 1
jne 0x4b7b81
push edx
call fcn.004b2630
mov ecx, dword [esp + 0x4c]
add esp, 4
mov eax, dword [esp + 0x10]
mov edx, ecx
mov byte [ebx + 0x17], 0
xor ecx, ecx
shl edx, 4
mov dword [esp + 0x24], edx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edx + 0xc]
mov dword [esp + 0x30], eax
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x4b8f49
mov edx, dword [esp + 0x28]
nop
mov edi, dword [ebx + 8]
test edx, edx
je 0x4b7bbb
cmp edx, edi
jne 0x4b7be2
test byte [edi + 0x1c], 0x80
lea eax, [ecx + 1]
cmovne eax, ecx
xor edx, edx
mov ecx, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x4b7bd9
mov eax, dword [eax + 0x14]
inc ecx
inc edx
test eax, eax
jne 0x4b7bd0
cmp edx, ebp
cmovg ebp, edx
mov edx, dword [esp + 0x28]
mov ebx, dword [ebx]
test ebx, ebx
jne 0x4b7bb0
test ecx, ecx
je 0x4b8f49
test edx, edx
lea eax, [ecx + 1]
push ebx
cmove eax, ecx
lea eax, [eax*4 + 4]
push eax
push dword [esp + 0x18]
call fcn.0049db10
mov edi, eax
add esp, 0xc
test edi, edi
je 0x4b8f67
xor edx, edx
cmp dword [esp + 0x28], edx
je 0x4b7c25
lea edx, [ebx + 1]
mov dword [edi + 4], ebx
mov ebx, dword [esp + 0x30]
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x4b7c6b
mov esi, dword [esp + 0x28]
mov ecx, dword [ebx + 8]
test esi, esi
je 0x4b7c3f
cmp esi, ecx
jne 0x4b7c61
test byte [ecx + 0x1c], 0x80
jne 0x4b7c4c
mov eax, dword [ecx + 0x14]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x4b7c61
mov eax, dword [ecx + 0x2c]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x4b7c53
mov ebx, dword [ebx]
test ebx, ebx
jne 0x4b7c34
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x14]
add ebp, 8
mov dword [edi], edx
cmp dword [ebx + 0x2c], ebp
jge 0x4b7c7c
mov dword [ebx + 0x2c], ebp
push 0xfffffffffffffff2
push edi
push 1
push edx
push 2
push 0x9b
push esi
mov byte [ebx + 0x13], 0
mov dword [ebx + 0x1c], 0
call fcn.004c6e50
mov ebp, dword [esp + 0x38]
add esp, 0x1c
mov edi, dword [ebp]
test edi, edi
jle 0x4b7cbd
mov eax, dword [esp + 0x48]
lea ecx, [edi + edi*4]
movzx edx, al
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edi, dword [ebp]
mov eax, dword [esp + 0x64]
cmp dword [eax], edi
jg 0x4b7cda
push 0
push 0
push 2
push 0x32
push esi
call fcn.00475980
add esp, 0x14
mov edi, eax
jmp 0x4b7d0d
lea eax, [edi + 1]
mov dword [ebp], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
push 0xfffffffffffffffa
mov eax, dword [edx + 0x10]
push dword [eax + ecx]
push str._in_database__s__n
push edx
call fcn.004b17d0
add esp, 0xc
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.004c6e50
mov eax, dword [esp + 0x80]
add esp, 0x1c
mov ecx, dword [ebp]
cmp dword [eax], ecx
jg 0x4b7d5e
push 3
push 3
push 2
push 0x6f
push esi
call fcn.00475980
add esp, 0x14
jmp 0x4b7d91
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push esi
call fcn.00476bc0
mov eax, dword [esi]
add esp, 4
mov edx, dword [ebp]
cmp byte [eax + 0x57], 0
je 0x4b7dac
mov eax, 0x5751d0
jmp 0x4b7db5
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x30]
mov ebp, dword [eax + 0x10]
mov dword [esp + 0x24], ebp
test ebp, ebp
je 0x4b8f4d
mov eax, dword [esp + 0x28]
nop
mov ebp, dword [ebp + 8]
mov dword [esp + 0x68], ebp
mov dword [esp + 0x7c], 0
mov dword [esp + 0x44], 0xffffffff
test eax, eax
je 0x4b7df3
cmp eax, ebp
jne 0x4b8f34
mov al, byte [ebp + 0x2b]
test al, al
je 0x4b7fa6
cmp al, 1
jne 0x4b8f30
cmp word [ebp + 0x22], 0
jg 0x4b7e30
mov eax, dword [ebp + 0x30]
push 0
push dword [eax]
mov eax, dword [esp + 0x18]
add eax, 0x184
push eax
call fcn.0046f800
add esp, 0xc
cmp dword [eax + 8], 0
je 0x4b8f30
cmp byte [ebp + 0x2b], 1
je 0x4b7e3d
cmp word [ebp + 0x22], 0
jg 0x4b7e47
push ebp
push ebx
call fcn.004e6b90
add esp, 8
mov eax, dword [ebp + 0x34]
test eax, eax
je 0x4b8f30
mov eax, dword [eax + 8]
test eax, eax
je 0x4b8f30
mov eax, dword [eax]
test eax, eax
je 0x4b8f30
cmp dword [eax], 4
jl 0x4b8f30
cmp dword [eax + 0x60], 0
je 0x4b8f30
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov ecx, dword [edx]
cmp dword [eax], ecx
jg 0x4b7ea9
push dword [esp + 0x80]
push 3
push dword [esp + 0x50]
push 0xae
push esi
call fcn.00475980
mov edx, dword [esp + 0x30]
add esp, 0x14
jmp 0x4b7ede
mov edi, dword [esp + 0x48]
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x80]
mov dword [eax + ecx*4], 0xae
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebp + 0x18]
lea eax, [ecx + 1]
mov dword [ebp + 0x18], eax
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x4b7f0b
cmp dword [eax + 0x210], 0
jne 0x4b7f1c
mov dword [ebp + 0x18], ecx
test ecx, ecx
jne 0x4b7f1c
push ebp
push eax
call fcn.0046a0d0
add esp, 8
jmp 0x4b7f1c
mov eax, dword [edx]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf0
mov dword [eax + ecx*4 - 4], ebp
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov edi, dword [ebp]
cmp dword [eax], edi
jg 0x4b7f40
push 0
push 0
push 3
push 0x32
push esi
call fcn.00475980
add esp, 0x14
mov edi, eax
jmp 0x4b7f73
lea eax, [edi + 1]
mov dword [ebp], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push esi
call fcn.00476bc0
mov eax, dword [esi]
add esp, 4
mov edx, dword [ebp]
cmp byte [eax + 0x57], 0
je 0x4b7f94
mov eax, 0x5751d0
mov dword [eax + 8], edx
jmp 0x4b8f30
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
jmp 0x4b8f30
cmp byte [esp + 0x53], 0x71
je 0x4b8095
test byte [ebp + 0x1c], 0x80
je 0x4b8095
mov edi, dword [ebp + 8]
mov dword [esp + 0x4c], edi
test edi, edi
je 0x4b7fda
mov eax, dword [edi + 0x38]
and al, 3
cmp al, 2
je 0x4b7fd6
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x4b7fc6
mov dword [esp + 0x4c], edi
movzx ecx, word [edi + 0x32]
cmp ecx, 1
jne 0x4b800b
mov al, byte [ebx + 0x13]
test al, al
jne 0x4b7ff6
inc dword [ebx + 0x2c]
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x2c], eax
jmp 0x4b8034
dec al
mov byte [ebx + 0x13], al
movzx eax, al
mov eax, dword [ebx + eax*4 + 0xa4]
mov dword [esp + 0x2c], eax
jmp 0x4b8034
mov edx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x2c], eax
cmp ecx, edx
jg 0x4b8025
add eax, ecx
sub edx, ecx
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x1c], edx
jmp 0x4b8034
mov eax, dword [ebx + 0x2c]
lea edx, [eax + 1]
add eax, ecx
mov dword [esp + 0x2c], edx
mov dword [ebx + 0x2c], eax
movzx eax, word [edi + 0x32]
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x1c]
dec edx
add edx, eax
mov eax, dword [esp + 0x64]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4b8061
push edx
push dword [esp + 0x30]
push 1
push 0x4b
push esi
call fcn.00475980
add esp, 0x14
jmp 0x4b80a9
mov ebp, dword [esp + 0x2c]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 8], ebp
mov ebp, dword [esp + 0x68]
mov dword [eax + ecx*4], 0x4b
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4b80a9
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x2c], 0
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x64]
push eax
push 0
push 1
push 0
push 0x70
push ebp
push ebx
call fcn.004b2420
mov eax, dword [esp + 0x84]
add esp, 0x20
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4b80e5
push 0
push 7
push 0
push 0x47
push esi
call fcn.00475980
add esp, 0x14
jmp 0x4b8117
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 7
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [ebp + 8]
test edi, edi
je 0x4b813d
mov ebx, 8
push ebx
push 0
push 0x47
push esi
call fcn.004c6d90
mov edi, dword [edi + 0x14]
add esp, 0x10
inc ebx
test edi, edi
jne 0x4b8123
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x60]
push 0
push edi
push 0x24
push esi
call fcn.004c6d90
push 1
push 7
push 0x56
push esi
call fcn.004c6d90
add esp, 0x20
mov dword [esp + 0x8c], eax
test byte [ebp + 0x1c], 0x80
jne 0x4b81a5
movsx edi, word [ebp + 0x22]
or ecx, 0xffffffff
test edi, edi
jle 0x4b8193
mov edx, dword [ebp + 4]
add edx, 0xe
nop dword [eax]
test byte [edx], 0x20
lea eax, [ecx + 1]
lea edx, [edx + 0x10]
cmovne eax, ecx
mov ecx, eax
sub edi, 1
jne 0x4b8180
movsx eax, word [ebp + 0x20]
lea edx, [ecx - 1]
mov edi, dword [esp + 0x60]
cmp ecx, eax
cmovne edx, ecx
jmp 0x4b81c5
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x4b81c0
nop dword [eax]
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x4b81c0
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x4b81b0
movzx edx, word [ecx + 0x34]
dec edx
test edx, edx
js 0x4b820d
push 3
push edx
push edi
push 0x5e
push esi
call fcn.004c6df0
mov eax, dword [esi]
add esp, 0x14
cmp byte [eax + 0x57], 0
je 0x4b81e7
mov eax, 0x5751d0
jmp 0x4b81f9
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
add eax, 0xffffffec
cmp dword [eax + 0xc], 3
jne 0x4b820d
cmp byte [eax], 0x5e
jne 0x4b820d
mov ecx, 0x80
or word [eax + 2], cx
cmp byte [esp + 0x53], 0x71
je 0x4b82f4
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x4b82f4
movzx eax, word [eax + 0x32]
push eax
push dword [esp + 0x30]
push 0
push edi
push 0x29
push esi
call fcn.004c6ed0
push dword [esp + 0x44]
mov edi, eax
push 0x32
push esi
call fcn.004c6d30
push dword [ebp]
push str.row_not_in_PRIMARY_KEY_order_for__s
push dword [esp + 0x3c]
call fcn.004b17d0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.004c6e50
add esp, 0x4c
push esi
call fcn.00476bc0
mov eax, dword [esp + 0x20]
lea ecx, [edi + edi*4]
add esp, 4
shl ecx, 2
mov edx, dword [eax]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x4b828f
mov eax, 0x5751d0
jmp 0x4b8294
mov eax, dword [esi + 0x68]
add eax, ecx
mov dword [eax + 8], edx
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x4b82ac
mov eax, 0x5751d8
jmp 0x4b82b4
mov eax, dword [esi + 0x68]
add eax, 0x1c
add eax, ecx
mov dword [eax], edx
xor ecx, ecx
mov eax, dword [esp + 0x4c]
xor edi, edi
cmp cx, word [eax + 0x32]
jae 0x4b82f4
mov ebp, dword [esp + 0x60]
mov esi, eax
nop word [eax + eax]
mov eax, dword [esp + 0x2c]
add eax, edi
push eax
push edi
push ebp
push esi
push ebx
call fcn.004a20b0
movzx eax, word [esi + 0x32]
inc edi
add esp, 0x14
cmp edi, eax
jl 0x4b82d0
mov esi, dword [esp + 0x40]
mov ebp, dword [esp + 0x68]
movzx ecx, word [ebp + 0x1e]
xor ebx, ebx
and ecx, 1
mov dword [esp + 0x30], ebx
xor eax, eax
mov dword [esp + 0x5c], ecx
cmp ax, word [ebp + 0x22]
jge 0x4b8840
mov dword [esp + 0x40], eax
mov edx, dword [ebp + 4]
add edx, eax
movsx eax, word [ebp + 0x20]
mov dword [esp + 0x54], edx
cmp ebx, eax
je 0x4b8818
test ecx, ecx
mov ecx, dword [edx + 4]
je 0x4b8345
mov eax, ecx
mov edi, 0x10
and eax, 0xf0
cmp edi, eax
sbb eax, eax
neg eax
jmp 0x4b834e
xor eax, eax
cmp byte [edx + 8], 0x41
setg al
mov dword [esp + 0x6c], eax
test cl, 0xf
jne 0x4b835f
test eax, eax
je 0x4b8814
test byte [edx + 0xe], 0x20
mov dword [esp + 0x58], 5
je 0x4b838d
push 3
push ebx
push dword [esp + 0x68]
push ebp
push esi
call fcn.004a1100
add esp, 0x14
or ecx, 0xffffffff
mov dword [esp + 0x38], ecx
lea ebp, [ecx + 4]
jmp 0x4b847a
movzx eax, word [edx + 0xc]
test ax, ax
je 0x4b8420
cmp byte [ebp + 0x2b], 0
mov dword [esp + 0x38], 0
jne 0x4b8420
mov ecx, dword [ebp + 0x34]
test ecx, ecx
je 0x4b8420
cmp dword [ecx], eax
jl 0x4b8420
lea eax, [eax + eax*4]
mov ecx, dword [ecx + eax*4 - 0xc]
test ecx, ecx
je 0x4b8420
push 0
lea eax, [esp + 0x3c]
push eax
movzx eax, byte [edx + 8]
mov edx, dword [esp + 0x18]
push eax
movzx eax, byte [edx + 0x54]
push eax
push ecx
push edx
call fcn.004e2590
mov edi, dword [esp + 0x50]
add esp, 0x18
test edi, edi
je 0x4b8420
movzx ecx, word [edi + 0x10]
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x5328e8]
mov dword [esp + 0x58], eax
test ecx, 0x9000
jne 0x4b840b
cmp dword [edi + 0x18], 0
je 0x4b8414
push edi
call fcn.004e4210
add esp, 4
push edi
push dword [edi + 0x14]
call fcn.0049da00
add esp, 8
test byte [ebp + 0x1c], 0x80
mov eax, dword [esp + 0x60]
mov dword [esp + 0x38], eax
je 0x4b8469
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x4b8445
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x4b8445
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x4b8435
movzx edi, word [ecx + 0x34]
xor edx, edx
test edi, edi
je 0x4b845f
mov eax, dword [ecx + 4]
cmp bx, word [eax]
je 0x4b8464
inc edx
add eax, 2
cmp edx, edi
jl 0x4b8452
or eax, 0xffffffff
jmp 0x4b8473
movzx eax, dx
jmp 0x4b8473
push ebx
push ebp
call fcn.004c2560
add esp, 8
mov ecx, dword [esp + 0x38]
movsx ebp, ax
mov edx, dword [esp + 0x14]
mov ebx, esi
mov dword [esp + 0x84], ebx
mov eax, dword [edx + 0x38]
dec eax
mov dword [esp + 0x74], eax
lea edi, [eax - 1]
mov eax, dword [esp + 0x54]
mov dword [edx + 0x38], edi
mov dword [esp + 0x78], edi
test byte [eax + 4], 0xf
je 0x4b85b0
push dword [esp + 0x58]
push ebp
push edi
push ecx
push 0x12
push esi
call fcn.004c6ed0
mov edx, dword [esp + 0x50]
mov ebx, eax
mov eax, dword [esp + 0x34]
add esp, 0x18
mov ecx, dword [eax]
test edx, edx
jns 0x4b84e1
test ecx, ecx
jle 0x4b84dd
lea edx, [ecx + ecx*4]
mov eax, 0xf
mov ecx, dword [esi + 0x68]
mov word [ecx + edx*4 - 0x12], ax
mov edi, ebx
jmp 0x4b8515
test ecx, ecx
jle 0x4b84f9
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
mov edx, 0xd
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x38]
push 3
push ebp
push edx
push 0x5e
push esi
call fcn.004c6df0
push edi
push 3
push 0x33
push esi
call fcn.004c6d90
add esp, 0x24
mov edi, eax
mov eax, dword [esp + 0x54]
push dword [eax]
mov eax, dword [esp + 0x6c]
push dword [eax]
push str.NULL_value_in__s._s
push dword [esp + 0x1c]
call fcn.004b17d0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.004c6e50
mov ecx, dword [esp + 0x98]
add esp, 0x2c
test ecx, ecx
je 0x4b864e
push dword [esp + 0x74]
push esi
call fcn.004d0c00
mov eax, dword [esp + 0x24]
add esp, 8
mov edx, dword [eax]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x4b8574
mov eax, 0x5751d0
jmp 0x4b857d
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x4b8595
mov eax, 0x5751d0
jmp 0x4b859e
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov ebx, dword [esp + 0x84]
mov edi, dword [esp + 0x78]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x6c]
cmp dword [esp + 0x5c], 0
je 0x4b8691
test ecx, ecx
je 0x4b8662
push dword [esp + 0x58]
push ebp
mov ebp, dword [esp + 0x40]
push edi
push ebp
push 0x12
push esi
call fcn.004c6ed0
mov ebx, dword [esp + 0x34]
add esp, 0x18
mov ecx, dword [ebx]
test ecx, ecx
jle 0x4b8606
mov eax, dword [esp + 0x54]
lea ecx, [ecx + ecx*4]
mov eax, dword [eax + 4]
shr eax, 4
and eax, 0xf
movzx edx, byte [eax + 0x570903]
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov ecx, dword [esp + 0x68]
mov ebp, dword [esp + 0x40]
mov eax, dword [ecx + 4]
push dword [eax + ebp]
mov eax, dword [esp + 0x58]
push dword [ecx]
mov eax, dword [eax + 4]
shr eax, 4
and eax, 0xf
push dword [eax*4 + 0x56f2e8]
push str.non__s_value_in__s._s
push dword [esp + 0x20]
call fcn.004b17d0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.004c6e50
add esp, 0x30
jmp 0x4b866c
mov ebx, dword [esp + 0x84]
mov edi, dword [esp + 0x78]
mov eax, dword [esp + 0x54]
jmp 0x4b85b4
mov esi, ebx
mov ebp, dword [esp + 0x40]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x74]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4b87cf
push edx
push esi
push ecx
call fcn.0048b850
add esp, 0xc
jmp 0x4b87d7
cmp byte [eax + 8], 0x42
mov esi, ebx
jne 0x4b8702
push dword [esp + 0x58]
push ebp
mov ebp, dword [esp + 0x40]
push edi
push ebp
push 0x12
push ebx
call fcn.004c6ed0
mov eax, dword [esp + 0x34]
add esp, 0x18
mov eax, dword [eax]
test eax, eax
jle 0x4b86c9
lea ecx, [eax + eax*4]
mov edx, 0x1c
mov eax, dword [ebx + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov ecx, dword [esp + 0x68]
mov ebp, dword [esp + 0x40]
mov eax, dword [ecx + 4]
push dword [eax + ebp]
push dword [ecx]
push str.NUMERIC_value_in__s._s
push dword [esp + 0x1c]
call fcn.004b17d0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push ebx
call fcn.004c6e50
add esp, 0x2c
mov esi, ebx
jmp 0x4b8668
cmp byte [eax + 8], 0x43
jl 0x4b8664
mov ebx, dword [esp + 0x58]
push ebx
push ebp
mov ebp, dword [esp + 0x40]
push edi
push ebp
push 0x12
push esi
call fcn.004c6ed0
mov eax, dword [esp + 0x34]
add esp, 0x18
mov eax, dword [eax]
test eax, eax
jle 0x4b873d
lea ecx, [eax + eax*4]
mov edx, 0x1b
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
test ebp, ebp
js 0x4b8758
push 3
push dword [esp + 0x34]
push dword [esp + 0x68]
push dword [esp + 0x74]
push esi
call fcn.004a1100
add esp, 0x14
push 0xffffffffffffffff
push 0x537ef8
push 0
push 1
push 3
push 0x60
push esi
call fcn.004c6e50
push ebx
push 3
push edi
push 0xffffffffffffffff
push 0x12
push esi
call fcn.004c6ed0
mov ebx, dword [esp + 0x50]
add esp, 0x34
mov eax, dword [ebx]
test eax, eax
jle 0x4b8798
lea ecx, [eax + eax*4]
mov edx, 0x1c
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov ecx, dword [esp + 0x68]
mov ebp, dword [esp + 0x40]
mov eax, dword [ecx + 4]
push dword [eax + ebp]
push dword [ecx]
push str.TEXT_value_in__s._s
push dword [esp + 0x1c]
call fcn.004b17d0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.004c6e50
add esp, 0x2c
jmp 0x4b866c
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx]
mov dword [ecx + edx*4], eax
push esi
call fcn.00476bc0
mov ecx, dword [esi + 0xc]
add esp, 4
not edi
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4b8802
push edi
push esi
push ecx
call fcn.0048b850
mov ebx, dword [esp + 0x3c]
add esp, 0xc
mov ecx, dword [esp + 0x5c]
jmp 0x4b881c
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx]
mov ebx, dword [esp + 0x30]
mov dword [ecx + edi*4], eax
mov ecx, dword [esp + 0x5c]
jmp 0x4b881c
mov ecx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x40]
add ebp, 0x10
inc ebx
mov dword [esp + 0x40], ebp
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x30], ebx
movsx eax, word [ebp + 0x22]
cmp ebx, eax
mov eax, dword [esp + 0x40]
jl 0x4b8315
mov dword [esp + 0x40], esi
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x4b897d
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x20]
and eax, 0x200
or eax, 0
jne 0x4b897d
push eax
push ecx
push ebx
call fcn.004a4f90
add esp, 0xc
mov edx, eax
cmp byte [ebx + 0x57], 0
mov dword [esp + 0x30], edx
jne 0x4b896f
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x60]
inc eax
mov ebp, dword [edi + 0x38]
dec ebp
mov dword [edi + 0x34], eax
lea ebx, [ebp - 1]
mov dword [edi + 0x38], ebx
mov edi, dword [edx]
dec edi
mov dword [esp + 0x74], ebx
test edi, edi
jle 0x4b88d2
mov esi, dword [esp + 0x14]
lea ebx, [edi*4 + 2]
add ebx, edi
lea ebx, [edx + ebx*4]
nop dword [eax]
push 0
push ebp
push dword [ebx]
push esi
call fcn.004a4050
dec edi
lea ebx, [ebx - 0x14]
add esp, 0x10
test edi, edi
jg 0x4b88b0
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x74]
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x14]
push 0x10
push ebx
push dword [edx + 8]
push edi
call fcn.004a4440
mov ecx, dword [esi + 0xc]
add esp, 0x10
not ebp
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4b88ff
push ebp
push esi
push ecx
call fcn.0048b850
add esp, 0xc
jmp 0x4b890b
mov eax, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x40]
mov eax, dword [eax]
mov dword [ecx + ebp*4], eax
mov ebp, dword [esp + 0x68]
mov dword [edi + 0x34], 0
push dword [ebp]
push str.CHECK_constraint_failed_in__s
push dword [esp + 0x18]
call fcn.004b17d0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.004c6e50
push esi
call fcn.00476bc0
mov ecx, dword [esi + 0xc]
add esp, 0x2c
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4b895b
push ebx
push esi
push ecx
call fcn.0048b850
add esp, 0xc
jmp 0x4b8967
mov eax, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x40]
mov eax, dword [eax]
mov dword [ecx + ebx*4], eax
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
test edx, edx
je 0x4b897d
push edx
push ebx
call fcn.0046e100
add esp, 8
cmp byte [esp + 0x53], 0x71
je 0x4b8dc4
mov ebp, dword [ebp + 8]
test ebp, ebp
je 0x4b8dc4
mov ebx, dword [esp + 0x70]
mov eax, 8
mov ecx, dword [esp + 0x4c]
sub eax, ebx
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x38], ebx
nop
mov edi, dword [eax + 0x38]
dec edi
mov dword [eax + 0x38], edi
cmp ecx, ebp
je 0x4b8db4
push dword [esp + 0x44]
lea ecx, [esp + 0x8c]
push dword [esp + 0x80]
push ecx
push 0
push 0
push dword [esp + 0x74]
push ebp
push eax
call fcn.004abd70
mov ecx, dword [esp + 0x94]
push 1
add ecx, ebx
mov dword [esp + 0x68], eax
push ecx
push 0x56
push esi
mov dword [esp + 0xac], ebp
call fcn.004c6d90
movzx eax, word [ebp + 0x34]
push eax
push dword [esp + 0x78]
push edi
push ebx
push 0x1d
push esi
call fcn.004c6ed0
add esp, 0x48
mov edi, eax
push 0
push str.row
push 0
push 3
push 0
push 0x75
push esi
call fcn.004c6e50
push 3
push 3
push 7
push 0x6f
push esi
call fcn.004c6df0
push 0
push str._missing_from_index
push 0
push 4
push 0
push 0x75
push esi
call fcn.004c6e50
add esp, 0x4c
push 3
push 3
push 4
push 0x6f
push esi
call fcn.004c6df0
push 0
push dword [ebp]
push 0
push 4
push 0
push 0x75
push esi
call fcn.004c6e50
push 3
push 3
push 4
push 0x6f
push esi
mov dword [esp + 0x74], eax
call fcn.004c6df0
add esp, 0x44
push esi
call fcn.00476bc0
mov ecx, dword [esi]
add esp, 4
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
cmp byte [ecx + 0x57], 0
je 0x4b8aab
mov ecx, 0x5751d0
jmp 0x4b8ab4
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x68]
mov dword [ecx + 8], edx
test byte [eax + 0x1c], 0x80
jne 0x4b8b58
push 3
push ebx
push 0x8e
push esi
call fcn.004c6d90
mov ecx, dword [esp + 0x54]
movzx eax, word [ebp + 0x34]
dec ecx
add eax, ecx
push eax
push 0
push 3
push 0x35
push esi
call fcn.004c6df0
push 0
push str.rowid_not_at_end_of_record_for_row
push 0
push 3
push 0
push 0x75
push esi
mov edi, eax
call fcn.004c6e50
add esp, 0x40
push 3
push 3
push 7
push 0x6f
push esi
call fcn.004c6df0
push 0
push str._of_index
push 0
push 4
push 0
push 0x75
push esi
call fcn.004c6e50
mov eax, dword [esp + 0x60]
dec eax
push eax
push esi
call fcn.004d0c00
mov eax, dword [esp + 0x54]
add esp, 0x38
mov edx, dword [eax]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x4b8b4c
mov eax, 0x5751d0
jmp 0x4b8b55
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
xor eax, eax
xor ebx, ebx
xor edi, edi
cmp ax, word [ebp + 0x32]
jae 0x4b8c5d
nop dword [eax + eax]
mov eax, dword [ebp + 0x20]
cmp dword [eax + edi*4], 0x52e74c
je 0x4b8bae
test ebx, ebx
jne 0x4b8b8a
mov eax, dword [esp + 0x14]
dec dword [eax + 0x38]
mov ebx, dword [eax + 0x38]
push 3
push edi
push dword [esp + 0x40]
push 0x5e
push esi
call fcn.004c6df0
mov eax, dword [esp + 0x58]
add eax, edi
push eax
push ebx
push 3
push 0x34
push esi
call fcn.004c6df0
add esp, 0x28
movzx eax, word [ebp + 0x32]
inc edi
cmp edi, eax
jl 0x4b8b70
test ebx, ebx
je 0x4b8c5d
push 9
push esi
call fcn.004c6ce0
mov edx, dword [esi + 0xc]
add esp, 8
mov edi, eax
not ebx
mov ecx, dword [edx + 0x3c]
add ecx, dword [edx + 0x38]
jns 0x4b8be6
push ebx
push esi
push edx
call fcn.0048b850
add esp, 0xc
jmp 0x4b8bf2
mov eax, dword [esp + 0x1c]
mov ecx, dword [edx + 0x40]
mov eax, dword [eax]
mov dword [ecx + ebx*4], eax
push 0
push str.row
push 0
push 3
push 0
push 0x75
push esi
call fcn.004c6e50
push 3
push 3
push 7
push 0x6f
push esi
call fcn.004c6df0
push 0
push str._values_differ_from_index
push 0
push 4
push 0
push 0x75
push esi
call fcn.004c6e50
mov eax, dword [esp + 0x7c]
add esp, 0x4c
dec eax
push eax
push esi
call fcn.004d0c00
mov eax, dword [esp + 0x24]
add esp, 8
mov edx, dword [eax]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x4b8c51
mov eax, 0x5751d0
jmp 0x4b8c5a
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
cmp byte [ebp + 0x36], 0
je 0x4b8d4e
mov eax, dword [esp + 0x14]
xor edi, edi
dec dword [eax + 0x38]
mov ebx, dword [eax + 0x38]
xor eax, eax
cmp ax, word [ebp + 0x32]
jae 0x4b8cb7
nop dword [eax + eax]
mov eax, dword [ebp + 4]
movsx ecx, word [eax + edi*2]
test ecx, ecx
js 0x4b8c9b
mov eax, dword [esp + 0x68]
add ecx, ecx
mov eax, dword [eax + 4]
test byte [eax + ecx*8 + 4], 0xf
jne 0x4b8cae
mov eax, dword [esp + 0x44]
push ebx
add eax, edi
push eax
push 0x32
push esi
call fcn.004c6d90
add esp, 0x10
movzx eax, word [ebp + 0x32]
inc edi
cmp edi, eax
jl 0x4b8c80
push dword [esp + 0x38]
push 0x27
push esi
call fcn.004c6d30
push ebx
push esi
mov edi, eax
call fcn.004d0c00
mov ecx, dword [esi]
add esp, 0x14
mov eax, dword [esp + 0x1c]
cmp byte [ecx + 0x57], 0
mov edx, dword [eax]
je 0x4b8ce4
mov eax, 0x5751d0
jmp 0x4b8ced
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
movzx eax, word [ebp + 0x32]
push eax
push dword [esp + 0x48]
push ebx
push dword [esp + 0x44]
push 0x29
push esi
call fcn.004c6ed0
push 0
push str.non_unique_entry_in_index
push 0
push 3
push 0
push 0x75
push esi
call fcn.004c6e50
push dword [esp + 0x64]
push esi
call fcn.004d0c00
mov ecx, dword [esi + 0xc]
add esp, 0x3c
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4b8d42
push ebx
push esi
push ecx
call fcn.0048b850
add esp, 0xc
jmp 0x4b8d4e
mov eax, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x40]
mov eax, dword [eax]
mov dword [ecx + ebx*4], eax
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x4b8d63
mov eax, 0x5751d0
jmp 0x4b8d70
mov eax, dword [esp + 0x78]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x14]
test edx, edx
je 0x4b8dac
mov edi, dword [eax + 8]
not edx
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4b8d9f
push edx
push edi
push ecx
call fcn.0048b850
add esp, 0xc
jmp 0x4b8da8
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x4c]
mov ebp, dword [ebp + 0x14]
inc ebx
mov dword [esp + 0x38], ebx
test ebp, ebp
jne 0x4b89b0
mov ebx, dword [esp + 0x8c]
push ebx
push dword [esp + 0x64]
push 0x27
push esi
call fcn.004c6d90
mov eax, dword [esp + 0x2c]
add esp, 0x10
mov edx, dword [eax]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x4b8df0
mov eax, 0x5751d8
jmp 0x4b8dfc
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
add eax, 0xfffffff4
cmp byte [esp + 0x53], 0x71
mov dword [eax], edx
je 0x4b8f2c
push 0
push str.wrong__of_entries_in_index
push 0
push 2
push 0
push 0x75
push esi
call fcn.004c6e50
mov eax, dword [esp + 0x84]
add esp, 0x1c
mov edi, dword [eax + 8]
test edi, edi
je 0x4b8ee8
mov eax, dword [esp + 0x4c]
mov ebx, 8
nop dword [eax]
cmp eax, edi
je 0x4b8edc
mov eax, dword [esp + 0x70]
add eax, 0xfffffff8
push 3
add eax, ebx
push eax
push 0x62
push esi
call fcn.004c6d90
push 3
push 0
push ebx
push 0x35
push esi
call fcn.004c6df0
mov ebp, eax
add esp, 0x24
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
test ecx, ecx
jle 0x4b8e88
lea edx, [ecx + ecx*4]
mov eax, 0x90
mov ecx, dword [esi + 0x68]
mov word [ecx + edx*4 - 0x12], ax
push 0
push dword [edi]
push 0
push 4
push 0
push 0x75
push esi
call fcn.004c6e50
push 3
push 2
push 4
push 0x6f
push esi
call fcn.004c6df0
push esi
call fcn.00476bc0
mov eax, dword [esp + 0x50]
add esp, 0x34
mov edx, dword [eax]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x4b8ec6
mov eax, 0x5751d0
jmp 0x4b8ed5
mov eax, dword [esi + 0x68]
lea ecx, [ebp*4]
add ecx, ebp
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x4c]
mov edi, dword [edi + 0x14]
inc ebx
test edi, edi
jne 0x4b8e40
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x14]
test eax, eax
je 0x4b8f30
movzx eax, word [eax + 0x32]
cmp eax, 1
jne 0x4b8f1b
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x4b8f30
mov al, byte [ebx + 0x13]
cmp al, 8
jae 0x4b8f30
movzx eax, al
mov dword [ebx + eax*4 + 0xa4], ecx
inc byte [ebx + 0x13]
jmp 0x4b8f30
cmp eax, dword [ebx + 0x1c]
jle 0x4b8f30
mov dword [ebx + 0x1c], eax
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x20], eax
jmp 0x4b8f30
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
mov ebp, dword [ebp]
mov dword [esp + 0x24], ebp
test ebp, ebp
jne 0x4b7dd0
jmp 0x4b8f4d
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x48], ecx
cmp ecx, dword [eax + 0x14]
jl 0x4b7b40
mov ebp, dword [esp + 0x18]
push 0
push 0x52e3b8
push 7
push esi
call fcn.004c6f30
add esp, 0x10
test eax, eax
je 0x4b8fa1
mov ecx, 1
mov byte [eax + 0x29], 0xff
sub ecx, ebp
mov dword [eax + 0x38], 0x537fd8
mov dword [eax + 8], ecx
mov byte [eax + 0x65], 0xff
mov dword [eax + 0x74], str.database_disk_image_is_malformed
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
sub eax, 2
push eax
push 0
push esi
call fcn.004c7200
jmp 0x4b96a4
test edx, edx
jne 0x4b8ff9
mov ebx, dword [esp + 0x14]
push ebx
call fcn.004baa80
add esp, 4
test eax, eax
jne 0x4b96a7
mov eax, dword [ebx]
movzx eax, byte [eax + 0x54]
push dword [eax*8 + 0x52e3e0]
push esi
call fcn.0048d820
push dword [esp + 0x3c]
push dword [esp + 0x1c]
call fcn.0049da00
add esp, 0x10
jmp 0x4b96cd
mov eax, dword [esp + 0x10]
test byte [eax + 0x18], 0x40
jne 0x4b96ab
mov eax, dword [str.UTF8]
mov esi, 0x52e3e0
test eax, eax
je 0x4b9074
push eax
push edx
call fcn.004c1f20
add esp, 8
test eax, eax
je 0x4b9033
mov eax, dword [esi + 8]
add esi, 8
mov edx, dword [esp + 0x20]
test eax, eax
jne 0x4b9015
jmp 0x4b9070
mov cl, byte [esi + 4]
mov edx, 2
movzx eax, cl
test cl, cl
mov ecx, dword [esp + 0x10]
cmovne edx, eax
mov byte [esp + 0x8c], dl
push dword [esp + 0x8c]
mov eax, dword [ecx + 0x10]
push ecx
mov eax, dword [eax + 0xc]
mov byte [eax + 0x4d], dl
call fcn.004c0a20
add esp, 8
cmp dword [esi], 0
jne 0x4b96a7
mov edx, dword [esp + 0x20]
push edx
push str.unsupported_encoding:__s
push dword [esp + 0x1c]
call fcn.0049fe60
push dword [esp + 0x40]
push dword [esp + 0x20]
call fcn.0049da00
mov eax, dword [esp + 0x34]
add esp, 0x14
jmp 0x4b96c0
mov ebp, dword [esp + 0x3c]
mov edi, dword [ebx + 8]
push ebp
push esi
call fcn.004d4330
add esp, 8
cmp dword [esp + 0x20], 0
je 0x4b9124
test byte [ebx + 5], 8
jne 0x4b9124
push 0
push 0x52e428
push 2
push esi
call fcn.004c6f30
mov esi, eax
mov dword [esp + 0x34], 0
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x34]
mov dword [esi + 4], ebp
mov dword [esi + 0x18], ebp
mov dword [esi + 0x1c], edi
call fcn.004ac740
mov eax, dword [esp + 0x3c]
add esp, 0x18
mov dword [esi + 0x20], eax
mov eax, 1
mov word [esi + 0x16], ax
mov eax, dword [esp + 0x10]
cmp edi, 1
jne 0x4b96ab
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x4b96a7
mov byte [esi + 0x14], 0xbb
jmp 0x4b6370
push 0
push 0x52e3d4
push 3
push esi
call fcn.004c6f30
push esi
mov dword [eax + 4], ebp
mov dword [eax + 0x18], ebp
mov dword [eax + 0x20], edi
call fcn.004d3690
add esp, 0x14
jmp 0x4b96a7
mov eax, dword [esp + 0x14]
xor edi, edi
mov dword [eax + 0x2c], 1
cmp edi, 0x27
ja 0x4b918a
mov eax, dword [edi*4 + 0x52e598]
inc edi
test eax, eax
je 0x4b918a
push 0
push eax
push 0
push 1
push 0
push 0x75
push esi
call fcn.004c6e50
push 1
push 1
push 0x54
push esi
call fcn.004c6d90
add esp, 0x2c
jmp 0x4b9157
push esi
call fcn.004d3690
add esp, 4
jmp 0x4b96a7
mov eax, dword [esp + 0x2c]
mov ebx, 0xc
cmp dword [eax], 0
cmovne ebx, dword [esp + 0x3c]
xor edi, edi
test edx, edx
je 0x4b91fb
push str.full
push edx
call fcn.004c1f20
add esp, 8
test eax, eax
jne 0x4b91c6
lea edi, [eax + 1]
jmp 0x4b91fb
push str.restart
push dword [esp + 0x24]
call fcn.004c1f20
add esp, 8
test eax, eax
jne 0x4b91e0
lea edi, [eax + 2]
jmp 0x4b91fb
push str.truncate
push dword [esp + 0x24]
call fcn.004c1f20
add esp, 8
mov ecx, 3
test eax, eax
cmove edi, ecx
mov eax, dword [esp + 0x14]
push 1
push edi
push ebx
push 3
push esi
mov dword [eax + 0x2c], 3
call fcn.004c6df0
push 3
push 1
push 0x54
push esi
call fcn.004c6d90
add esp, 0x24
jmp 0x4b96a7
test edx, edx
je 0x4b924d
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0
push eax
push edx
call fcn.004ac740
push dword [esp + 0x2c]
push dword [esp + 0x1c]
call fcn.0045a680
add esp, 0x10
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x110], 0x4d5880
jne 0x4b9268
mov eax, dword [eax + 0x114]
jmp 0x4b969b
xor eax, eax
jmp 0x4b969b
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4b9284
push eax
call dword [0x56f148]
add esp, 4
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x5f], 0
jne 0x4b929b
push eax
call fcn.00462010
mov eax, dword [esp + 0x14]
add esp, 4
xor esi, esi
cmp dword [eax + 0x14], esi
jle 0x4b92d3
xor edi, edi
mov eax, dword [eax + 0x10]
mov eax, dword [edi + eax + 4]
test eax, eax
je 0x4b92c6
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0xe4]
push dword [eax + 0x34]
call dword [0x56f18c]
add esp, 4
mov eax, dword [esp + 0x10]
inc esi
add edi, 0x10
cmp esi, dword [eax + 0x14]
jl 0x4b92a4
cmp byte [eax + 0x5f], 0
jne 0x4b92e6
push eax
call fcn.00462310
mov eax, dword [esp + 0x14]
add esp, 4
mov eax, dword [eax + 0xc]
jmp 0x4b5575
test edx, edx
je 0x4b931b
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0
push eax
push edx
call fcn.004ac740
mov ecx, dword [esp + 0x2c]
add esp, 8
mov dword [esp + 0x18], ecx
test cl, 2
je 0x4b96a7
jmp 0x4b9323
mov dword [esp + 0x18], 0xfffe
cmp dword [esp + 0x28], 0
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
mov edx, dword [ebx + 0x28]
mov dword [esp + 0x30], edx
lea eax, [edx + 1]
mov dword [ebx + 0x28], eax
je 0x4b9347
mov eax, ecx
mov dword [esp + 0x5c], eax
jmp 0x4b935b
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
dec eax
mov dword [esp + 0x5c], eax
cmp ecx, eax
jg 0x4b94d7
mov edi, 1
rol edi, cl
mov dword [esp + 0x24], edi
cmp ecx, 1
je 0x4b94bd
mov eax, dword [ebx + 0x80]
mov ecx, ebx
test eax, eax
cmovne ecx, eax
mov eax, dword [ecx + 0x5c]
test eax, edi
jne 0x4b938d
mov ebx, dword [esp + 0x3c]
bts eax, ebx
mov dword [ecx + 0x5c], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + ebp + 0xc]
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x4b94b1
nop dword [eax]
nop word [eax + eax]
mov edi, dword [ebx + 8]
test dword [edi + 0x1c], 0x100
je 0x4b94a3
mov ax, word [edi + 0x26]
add ax, 0x2e
movzx ebp, ax
mov eax, dword [edi + 8]
test eax, eax
je 0x4b93df
test byte [eax + 0x38], 0x80
je 0x4b941f
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x4b93d2
test bp, bp
je 0x4b941f
push 0x70
push edi
push dword [esp + 0x44]
push edx
push dword [esp + 0x24]
call fcn.004b22e0
mov ecx, dword [esp + 0x2c]
movsx eax, bp
and ecx, 1
push eax
mov eax, dword [esp + 0x34]
add ecx, 2
mov eax, dword [eax]
add eax, ecx
push eax
push dword [esp + 0x4c]
push 0x21
push esi
call fcn.004c6df0
mov ecx, dword [esp + 0x38]
add esp, 0x28
push dword [edi]
mov eax, dword [ecx + 0x10]
mov ebp, dword [esp + 0x74]
push dword [eax + ebp]
push str.ANALYZE___w_.__w_
push ecx
call fcn.004b17d0
add esp, 0x10
mov edx, eax
test byte [esp + 0x18], 1
je 0x4b9484
mov edi, dword [esp + 0x14]
mov cl, byte [edi + 0x13]
test cl, cl
jne 0x4b9455
inc dword [edi + 0x2c]
mov edi, dword [edi + 0x2c]
jmp 0x4b9464
dec cl
movzx eax, cl
mov byte [edi + 0x13], cl
mov edi, dword [edi + eax*4 + 0xa4]
push 0xfffffffffffffffa
push edx
push 0
push edi
push 0
push 0x75
push esi
call fcn.004c6e50
push 1
push edi
push 0x54
push esi
call fcn.004c6d90
add esp, 0x2c
jmp 0x4b949b
push 0xfffffffffffffffa
push edx
push 0
push 0
push 0
push 0x94
push esi
call fcn.004c6e50
add esp, 0x1c
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
mov ebx, dword [ebx]
test ebx, ebx
jne 0x4b93b0
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x5c]
inc ecx
rol edi, 1
add ebp, 0x10
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x70], ebp
mov dword [esp + 0x24], edi
cmp ecx, eax
jle 0x4b9366
push 0xa6
push esi
call fcn.004c6ce0
add esp, 8
jmp 0x4b96a7
test edx, edx
je 0x4b9519
lea eax, [esp + 0x8c]
push eax
push edx
call fcn.0049dee0
add esp, 8
test eax, eax
jne 0x4b9519
push dword [esp + 0x90]
push dword [esp + 0x90]
call fcn.004557d0
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.004557d0
push edx
push eax
push esi
call fcn.0048d790
add esp, 0x14
jmp 0x4b96a7
test edx, edx
je 0x4b958b
lea eax, [esp + 0x8c]
push eax
push edx
call fcn.0049dee0
add esp, 8
test eax, eax
jne 0x4b958b
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.004558e0
mov edi, dword [esp + 0x98]
add esp, 8
mov ebx, eax
test edi, edi
jl 0x4b958b
mov ecx, dword [esp + 0x8c]
jg 0x4b9571
test ecx, ecx
je 0x4b958b
mov eax, ebx
or eax, edx
je 0x4b9581
cmp edx, edi
jl 0x4b958b
jg 0x4b9581
cmp ebx, ecx
jbe 0x4b958b
push edi
push ecx
call fcn.004558e0
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.004558e0
push edx
push eax
push esi
call fcn.0048d790
add esp, 0x14
jmp 0x4b96a7
test edx, edx
je 0x4b95e7
lea eax, [esp + 0x8c]
push eax
push edx
call fcn.0049dee0
add esp, 8
test eax, eax
jne 0x4b95e7
cmp dword [esp + 0x90], eax
jl 0x4b95e7
mov eax, dword [esp + 0x8c]
jg 0x4b95d3
test eax, eax
jb 0x4b95e7
and eax, 0x7fffffff
push eax
push 0xb
push dword [esp + 0x18]
call fcn.00452650
add esp, 0xc
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xa4]
jmp 0x4b969b
test edx, edx
je 0x4b9634
lea eax, [esp + 0x8c]
push eax
push edx
call fcn.0049dee0
add esp, 8
test eax, eax
jne 0x4b9634
cmp dword [esp + 0x90], eax
jl 0x4b9634
mov eax, dword [esp + 0x8c]
jg 0x4b9625
test eax, eax
jb 0x4b9634
mov ecx, dword [esp + 0x10]
and eax, 0x7fffffff
mov dword [ecx + 0x1f0], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1f0]
jmp 0x4b969b
test edx, edx
je 0x4b9691
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0
push eax
push edx
call fcn.004ac740
mov edi, dword [esp + 0x2c]
add esp, 8
test edi, edi
jle 0x4b9681
mov eax, dword [esp + 0x10]
push eax
push 0x4df1a0
push eax
call fcn.00450600
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov dword [eax + 0x1f4], edi
jmp 0x4b9695
push 0
push 0
push dword [esp + 0x18]
call fcn.00450600
add esp, 0xc
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1f4]
cdq
push edx
push eax
push esi
call fcn.0048d790
add esp, 0xc
mov eax, dword [esp + 0x10]
push dword [esp + 0x34]
push eax
call fcn.0049da00
mov eax, dword [esp + 0x28]
add esp, 8
test eax, eax
je 0x4b96cd
push eax
push dword [esp + 0x14]
call fcn.0049da00
add esp, 8
mov ecx, dword [esp + 0xa8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004fb4f7
add esp, 0x9c
ret