Function at 0x4b46f4
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
lea ebp, [esp - 0x74]
sub esp, 0x1e0
mov eax, dword [0x61f060]
xor eax, ebp
mov dword [ebp + 0x70], eax
mov eax, dword [ebp + 0x7c]
mov ecx, dword [eax]
and dword [ebp - 0x4c], 0
cmp dword [eax + 0x50], 0xbdf20da3
mov dword [ebp - 0x58], ecx
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 0x14]
mov cl, byte [ecx + 0x79]
mov dword [ebp - 0x7c], eax
mov byte [ebp - 0x88], cl
je 0x4b4738
push 0x15
pop eax
jmp 0x4b73ca
cmp dword [eax + 0x80], 7
push ebx
mov ebx, dword [eax + 0x2c]
push esi
push edi
mov dword [ebp - 0x50], ebx
je 0x4b4980
mov esi, eax
mov eax, dword [esi + 0x22c]
and dword [esi + 0x80], 0
test eax, eax
je 0x4b4775
push eax
lea edi, [ebp - 0x50]
call fcn.004b45b3
and dword [esi + 0x22c], 0
mov ebx, dword [ebp - 0x50]
pop ecx
mov eax, dword [ebp - 0x58]
mov byte [esi + 0x234], 0
and dword [eax + 0xd4], 0
test byte [eax + 8], 4
jne 0x4b7505
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x64], eax
call fcn.004a79c0
test eax, eax
jne 0x4b4980
mov ecx, dword [ebp - 0x64]
mov edi, dword [ebp - 0x7c]
mov esi, ecx
imul esi, esi, 0x14
add esi, dword [edi + 0x18]
mov al, byte [esi]
mov byte [ebp - 0x71], al
movzx eax, al
lea edx, [eax - 1]
cmp edx, 0x88
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x60], eax
ja case.0x4b47d5.18
movzx edx, byte [edx + 0x4b76e4]
jmp dword [edx*4 + 0x4b7558]
mov eax, dword [ebp - 0x58]
test byte [eax + 8], 4
jne 0x4b7505
mov esi, dword [esi + 8]
dec esi
mov dword [ebp - 0x64], esi
jmp case.0x4b47d5.18
lea eax, [edi + 0x220]
mov edx, dword [eax]
inc ecx
mov dword [edi + edx*4 + 0x90], ecx
inc dword [eax]
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 0x64], eax
jmp case.0x4b47d5.18
lea eax, [edi + 0x220]
dec dword [eax]
mov eax, dword [eax]
mov edi, dword [edi + eax*4 + 0x90]
dec edi
mov dword [ebp - 0x64], edi
jmp case.0x4b47d5.18
add ebx, 0x40
mov word [ebx + 0x18], 4
mov eax, dword [esi + 4]
cdq
mov dword [ebx], eax
mov dword [ebp - 0x50], ebx
mov dword [ebx + 4], edx
jmp case.0x4b47d5.18
add ebx, 0x40
mov word [ebx + 0x18], 0xa2
mov esi, dword [esi + 0xc]
push esi
mov dword [ebp - 0x50], ebx
mov dword [ebx + 0x10], esi
call fcn.00488880
mov dword [ebx + 0x14], eax
push ebx
mov byte [ebx + 0x1b], 1
call fcn.004a8019
mov dword [ebx], eax
pop ecx
mov dword [ebx + 4], edx
or word [ebx + 0x18], 4
pop ecx
jmp case.0x4b47d5.18
add ebx, 0x40
mov word [ebx + 0x18], 0xa2
mov esi, dword [esi + 0xc]
push esi
mov dword [ebp - 0x50], ebx
mov dword [ebx + 0x10], esi
call fcn.00488880
mov dword [ebx + 0x14], eax
push ebx
mov byte [ebx + 0x1b], 1
call fcn.004a8078
mov dword [ebx + 8], eax
movzx eax, byte [ebp - 0x88]
push eax
mov dword [ebx + 0xc], edx
or word [ebx + 0x18], 8
push ebx
call fcn.004a7dfc
add esp, 0x10
jmp case.0x4b47d5.18
push dword [esi + 0xc]
mov byte [esi], 0x23
call fcn.00488880
pop ecx
mov dword [esi + 4], eax
add ebx, 0x40
mov word [ebx + 0x18], 0xa2
mov eax, dword [esi + 0xc]
mov dword [ebx + 0x10], eax
mov eax, dword [esi + 4]
mov dword [ebx + 0x14], eax
mov al, byte [ebp - 0x88]
mov dword [ebp - 0x50], ebx
mov byte [ebx + 0x1b], al
jmp case.0x4b47d5.18
add ebx, 0x40
mov word [ebx + 0x18], 1
and dword [ebx + 0x14], 0
mov dword [ebp - 0x50], ebx
jmp case.0x4b47d5.18
mov eax, dword [esi + 4]
mov ecx, dword [edi + 0x44]
add ebx, 0x40
shl eax, 6
push 0x80
lea eax, [eax + ecx - 0x40]
push eax
push ebx
mov dword [ebp - 0x50], ebx
call fcn.004a81d9
add esp, 0xc
jmp case.0x4b47d5.18
push dword [esi + 4]
lea edi, [ebp - 0x50]
call fcn.004b45b3
pop ecx
mov ebx, dword [ebp - 0x50]
inc dword [ebp - 0x64]
cmp dword [ebp - 0x4c], 0
je 0x4b4796
jmp 0x4b72df
mov ecx, dword [esi + 4]
shl ecx, 6
mov eax, ebx
mov edi, 0x100
sub eax, ecx
push edi
add ebx, 0x40
push eax
push ebx
mov dword [ebp - 0x50], ebx
call fcn.004a81d9
add esp, 0xc
cmp dword [esi + 8], 0
je case.0x4b47d5.18
test word [ebx + 0x18], di
je case.0x4b47d5.18
push ebx
call fcn.004a7e17
test eax, eax
pop ecx
je case.0x4b47d5.18
mov eax, dword [ebp - 0x7c]
push 0
add eax, 0x230
push str.out_of_memory
push eax
call fcn.004a7aae
add esp, 0xc
mov dword [ebp - 0x4c], 7
jmp 0x4b72e9
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax + 4]
shl ecx, 6
mov eax, ebx
sub eax, ecx
test word [ebx + 0x18], 0x100
push 0x10
pop ecx
mov esi, eax
lea edi, [ebp - 0x48]
mov dword [ebp - 0x54], eax
rep movsd dword es:[edi], dword [esi]
je 0x4b49d4
push ebx
call fcn.004a7e17
test eax, eax
pop ecx
jne 0x4b4980
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x78]
and dword [ebp - 0x68], 0
cmp dword [ecx + 4], 0
jle 0x4b4a33
lea edx, [eax + 0x40]
mov dword [ebp - 0x6c], edx
test word [edx + 0x18], 0x100
je 0x4b4a02
push dword [ebp - 0x6c]
call fcn.004a7e17
test eax, eax
pop ecx
jne 0x4b4980
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x54]
push 0x10
pop ecx
mov esi, edx
mov edi, eax
rep movsd dword es:[edi], dword [esi]
test word [edx - 0x28], 0x200
je 0x4b4a19
lea ecx, [edx - 0x20]
mov dword [edx - 0x30], ecx
inc dword [ebp - 0x68]
mov ecx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x68]
add eax, 0x40
add edx, 0x40
cmp esi, dword [ecx + 4]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x6c], edx
jl 0x4b49e7
push 0x10
pop ecx
lea esi, [ebp - 0x48]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
test word [ebx + 0x18], 0x200
je case.0x4b47d5.18
lea eax, [ebx + 0x20]
mov dword [ebx + 0x10], eax
jmp case.0x4b47d5.18
mov eax, dword [esi + 4]
shl eax, 6
mov ecx, ebx
sub ecx, eax
push ebx
push ecx
call fcn.004a8241
pop ecx
pop ecx
sub ebx, 0x40
mov dword [ebp - 0x50], ebx
jmp case.0x4b47d5.18
mov edi, dword [esi + 4]
and dword [ebp - 0x6c], 0
and dword [ebp - 0x78], 0
inc edi
inc edi
mov eax, edi
shl eax, 6
mov ecx, ebx
sub ecx, eax
test edi, edi
lea eax, [ecx + 0x40]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x54], eax
jle 0x4b4aef
mov eax, dword [ebp - 0x54]
movzx eax, word [eax + 0x18]
test al, 1
jne 0x4b4ad5
test al, 0x12
jne 0x4b4abe
movzx eax, byte [ebp - 0x88]
push eax
push dword [ebp - 0x54]
call fcn.004a7ef3
test eax, eax
pop ecx
pop ecx
jne 0x4b4980
mov eax, dword [ebp - 0x54]
mov eax, dword [eax + 0x14]
add dword [ebp - 0x6c], eax
inc dword [ebp - 0x78]
add dword [ebp - 0x54], 0x40
cmp dword [ebp - 0x78], edi
jl 0x4b4a95
jmp 0x4b4ad9
or dword [ebp - 0x6c], 0xffffffff
cmp dword [ebp - 0x6c], 0
jge 0x4b4aef
cmp dword [esi + 8], 0
jne 0x4b4eef
push edi
jmp 0x4b4ee3
mov eax, dword [ebp - 0x6c]
add eax, 2
push 1
push eax
call fcn.004a79ec
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x78], eax
je 0x4b4980
and dword [ebp - 0x54], 0
test edi, edi
jle 0x4b4b4a
mov eax, dword [ebp - 0x70]
add eax, 0x10
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x60], edi
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax + 4]
push ecx
push dword [eax]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x70], ecx
mov ecx, dword [ebp - 0x78]
add eax, ecx
push eax
call fcn.00489920
mov eax, dword [ebp - 0x70]
add dword [ebp - 0x54], eax
add dword [ebp - 0x6c], 0x40
add esp, 0xc
dec dword [ebp - 0x60]
jne 0x4b4b1e
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x78]
add eax, ecx
mov byte [eax], 0
mov byte [eax + 1], 0
cmp dword [esi + 8], 0
jne 0x4b4b6c
push edi
lea edi, [ebp - 0x50]
call fcn.004b45b3
mov ebx, dword [ebp - 0x50]
pop ecx
mov eax, dword [ebp - 0x54]
add ebx, 0x40
mov dword [ebx + 0x14], eax
mov al, byte [ebp - 0x88]
mov word [ebx + 0x18], 0x62
and dword [ebx + 0x1c], 0
mov byte [ebx + 0x1b], al
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x50], ebx
jmp 0x4b4a4c
movzx edx, word [ebx + 0x18]
lea edi, [ebx - 0x40]
movzx ecx, word [edi + 0x18]
movzx eax, cx
movzx edx, dx
or eax, edx
mov dword [ebp - 0x70], eax
test al, 1
movzx eax, word [ebx + 0x18]
mov dword [ebp - 0x5c], edi
je 0x4b4bc6
test al, 0x40
je 0x4b4bbf
push ebx
call fcn.004a7fce
pop ecx
mov ebx, edi
jmp 0x4b4cda
and cl, al
test cl, 4
je 0x4b4c59
mov edx, dword [ebp - 0x60]
sub edx, 0x4d
mov esi, dword [edi]
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov edi, dword [edi + 4]
je 0x4b4c29
dec edx
je 0x4b4c23
dec edx
je 0x4b4c14
dec edx
mov edx, eax
je 0x4b4c01
or edx, ecx
je 0x4b4cca
push ecx
push eax
push edi
push esi
call fcn.00497b90
jmp 0x4b4c1d
or edx, ecx
je 0x4b4cca
push ecx
push eax
push edi
push esi
call fcn.00489830
jmp 0x4b4c1d
push ecx
push eax
push edi
push esi
call fcn.004898e0
mov esi, eax
mov edi, edx
jmp 0x4b4c2d
sub esi, eax
sbb edi, ecx
jmp 0x4b4c2d
add esi, eax
adc edi, ecx
movzx eax, word [ebx + 0x18]
test al, 0x40
je 0x4b4c3c
push ebx
call fcn.004a7fce
pop ecx
mov ebx, dword [ebp - 0x5c]
test byte [ebx + 0x18], 0x40
mov dword [ebp - 0x50], ebx
je 0x4b4c4f
push ebx
call fcn.004a7fce
pop ecx
mov dword [ebx], esi
mov dword [ebx + 4], edi
jmp 0x4b4f86
push ebx
call fcn.004a8078
push dword [ebp - 0x5c]
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], edx
call fcn.004a8078
mov edi, eax
movzx eax, byte [esi]
sub eax, 0x4d
pop ecx
pop ecx
mov dword [ebp - 0xf4], edx
je 0x4b4d41
dec eax
je 0x4b4d2d
dec eax
je 0x4b4d0f
dec eax
je 0x4b4cb7
fild dword [ebp - 0xb0]
fcomp qword [0x5af448]
fnstsw ax
test ah, 0x44
jnp 0x4b4cca
mov eax, edi
cdq
idiv dword [ebp - 0xb0]
mov eax, edx
cdq
jmp 0x4b4d27
fild qword [ebp - 0xb0]
fcomp qword [0x5af448]
fnstsw ax
test ah, 0x44
jp 0x4b4cf5
test byte [ebx + 0x18], 0x40
je 0x4b4cd7
push ebx
call fcn.004a7fce
pop ecx
mov ebx, dword [ebp - 0x5c]
test byte [ebx + 0x18], 0x40
mov dword [ebp - 0x50], ebx
je 0x4b4cea
push ebx
call fcn.004a7fce
pop ecx
mov word [ebx + 0x18], 1
jmp case.0x4b47d5.18
push dword [ebp - 0xac]
push dword [ebp - 0xb0]
push dword [ebp - 0xf4]
push edi
call fcn.00489830
jmp 0x4b4d27
push dword [ebp - 0xac]
push dword [ebp - 0xb0]
push dword [ebp - 0xf4]
push edi
call fcn.004898e0
mov edi, eax
mov esi, edx
jmp 0x4b4d59
sub edi, dword [ebp - 0xb0]
mov esi, dword [ebp - 0xf4]
sbb esi, dword [ebp - 0xac]
jmp 0x4b4d59
add edi, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xac]
adc dword [ebp - 0xf4], eax
mov esi, dword [ebp - 0xf4]
test byte [ebx + 0x18], 0x40
je 0x4b4d66
push ebx
call fcn.004a7fce
pop ecx
mov ebx, dword [ebp - 0x5c]
test byte [ebx + 0x18], 0x40
mov dword [ebp - 0x50], ebx
je 0x4b4d79
push ebx
call fcn.004a7fce
pop ecx
test byte [ebp - 0x70], 8
mov dword [ebx + 8], edi
mov dword [ebx + 0xc], esi
mov word [ebx + 0x18], 8
jne case.0x4b47d5.18
push ebx
call fcn.004a80f3
pop ecx
jmp case.0x4b47d5.18
mov eax, dword [edi + 0x30]
mov edx, dword [esi + 8]
mov dword [ebp - 0x60], eax
mov eax, edx
shl eax, 6
mov ecx, ebx
sub ecx, eax
add ecx, 0x40
xor edi, edi
test edx, edx
mov dword [ebp - 0x90], edx
jle 0x4b4dcf
mov eax, dword [ebp - 0x60]
mov dword [eax + edi*4], ecx
call fcn.004b4587
inc edi
add ecx, 0x40
cmp edi, edx
jl 0x4b4dbc
cmp dword [esi + 0x10], 0xfffffffb
mov eax, dword [esi + 0xc]
jne 0x4b4dde
and dword [ebp - 4], 0
jmp 0x4b4de3
mov dword [ebp - 4], eax
mov eax, dword [eax]
and dword [ebp + 0x10], 0
and dword [ebp + 0x1c], 0
mov dword [ebp - 8], eax
mov word [ebp + 0x18], 1
mov byte [ebp + 0x44], 0
cmp byte [eax + 3], 0
je 0x4b4e04
mov eax, dword [esi - 8]
mov dword [ebp + 0x48], eax
push dword [ebp - 0x58]
call fcn.004a7770
test eax, eax
pop ecx
jne 0x4b72a5
push dword [ebp - 0x60]
lea eax, [ebp - 8]
push dword [ebp - 0x90]
push eax
mov eax, dword [ebp - 8]
call dword [eax + 0x10]
push dword [ebp - 0x58]
call fcn.004a7740
add esp, 0x10
test eax, eax
jne 0x4b72a5
call fcn.004a79c0
test eax, eax
jne 0x4b4980
push dword [ebp - 0x90]
lea edi, [ebp - 0x50]
call fcn.004b45b3
cmp dword [ebp - 4], 0
pop ecx
je 0x4b4e77
push dword [esi + 4]
push dword [ebp - 4]
call fcn.004b17a5
mov eax, dword [ebp - 4]
pop ecx
pop ecx
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], 0xfffffff9
cmp byte [ebp + 0x44], 0
je 0x4b4ea2
lea eax, [ebp]
push 0
push eax
call fcn.004a7036
pop ecx
push eax
mov eax, dword [ebp - 0x7c]
add eax, 0x230
push eax
call fcn.004a7aae
add esp, 0xc
mov dword [ebp - 0x4c], 1
movzx eax, byte [ebp - 0x88]
push eax
lea eax, [ebp]
push eax
call fcn.004a7dfc
mov ebx, dword [ebp - 0x50]
and word [ebx + 0x58], 0
add ebx, 0x40
lea eax, [ebp]
push eax
push ebx
mov dword [ebp - 0x50], ebx
call fcn.004a8241
jmp 0x4b48bb
lea eax, [ebx - 0x40]
mov cl, byte [eax + 0x18]
or cl, byte [ebx + 0x18]
mov dword [ebp - 0x5c], eax
test cl, 1
je 0x4b4efa
push 2
lea edi, [ebp - 0x50]
call fcn.004b45b3
pop ecx
mov ebx, dword [ebp - 0x50]
add ebx, 0x40
mov dword [ebp - 0x50], ebx
jmp 0x4b4cea
push eax
call fcn.004a8019
push ebx
mov edi, eax
mov dword [ebp - 0xcc], edx
call fcn.004a8019
pop ecx
pop ecx
mov ecx, eax
movzx eax, byte [esi]
sub eax, 0x49
je 0x4b4f53
dec eax
je 0x4b4f49
dec eax
je 0x4b4f32
dec eax
jne 0x4b4f5b
mov edx, dword [ebp - 0xcc]
mov eax, edi
call fcn.0056cc10
jmp 0x4b4f3f
mov edx, dword [ebp - 0xcc]
mov eax, edi
call fcn.0048baa0
mov edi, eax
mov dword [ebp - 0xcc], edx
jmp 0x4b4f5b
or edi, ecx
or dword [ebp - 0xcc], edx
jmp 0x4b4f5b
and edi, ecx
and dword [ebp - 0xcc], edx
test byte [ebx + 0x18], 0x40
je 0x4b4f68
push ebx
call fcn.004a7fce
pop ecx
mov ebx, dword [ebp - 0x5c]
test byte [ebx + 0x18], 0x40
mov dword [ebp - 0x50], ebx
je 0x4b4f7b
push ebx
call fcn.004a7fce
pop ecx
mov eax, dword [ebp - 0xcc]
mov dword [ebx], edi
mov dword [ebx + 4], eax
mov word [ebx + 0x18], 4
jmp case.0x4b47d5.18
push ebx
call fcn.004a8116
mov eax, dword [esi + 4]
cdq
add dword [ebx], eax
pop ecx
adc dword [ebx + 4], edx
jmp case.0x4b47d5.18
push dword [ebp - 0x88]
mov eax, ebx
push 0x63
call fcn.004b4682
movzx eax, word [ebx + 0x18]
test al, 0xc
pop ecx
pop ecx
jne 0x4b4fd5
test al, 0x40
je 0x4b4fca
push ebx
call fcn.004a7fce
pop ecx
sub ebx, 0x40
mov dword [ebp - 0x50], ebx
jmp 0x4b47e9
test al, 4
je 0x4b4fee
xor ecx, ecx
xor eax, eax
cmp dword [esi + 4], ecx
je 0x4b4fe3
inc eax
mov edi, dword [ebx]
mov esi, dword [ebx + 4]
add edi, eax
adc esi, ecx
jmp 0x4b5043
push ebx
call fcn.004a8138
mov eax, dword [ebx + 8]
cdq
mov edi, eax
mov eax, dword [ebx + 0xc]
cmp eax, edx
pop ecx
mov dword [ebp - 0xec], edx
jl 0x4b501b
jg 0x4b5011
mov eax, dword [ebx + 8]
cmp eax, edi
jbe 0x4b501b
add edi, 1
adc dword [ebp - 0xec], 0
cmp dword [esi + 4], 0
je 0x4b503d
mov eax, dword [ebx + 8]
cmp eax, edi
jne 0x4b503d
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebp - 0xec]
jne 0x4b503d
add edi, 1
adc dword [ebp - 0xec], 0
mov esi, dword [ebp - 0xec]
test byte [ebx + 0x18], 0x40
je 0x4b5050
push ebx
call fcn.004a7fce
pop ecx
mov dword [ebx], edi
mov dword [ebx + 4], esi
jmp 0x4b4f86
push dword [ebp - 0x88]
mov eax, ebx
push 0x63
call fcn.004b4682
movzx eax, word [ebx + 0x18]
test al, 4
pop ecx
pop ecx
jne 0x4b509a
cmp dword [esi + 8], 0
je 0x4b746b
cmp dword [esi + 4], 0
je 0x4b47e9
push 1
lea edi, [ebp - 0x50]
call fcn.004b45b3
mov ebx, dword [ebp - 0x50]
pop ecx
jmp 0x4b47e9
test al, 0x40
je 0x4b4f86
push ebx
call fcn.004a7fce
pop ecx
jmp 0x4b4f86
test byte [ebx + 0x18], 4
je case.0x4b47d5.18
push ebx
call fcn.004a8138
jmp 0x4b4d95
test byte [ebx + 0x18], 1
jne case.0x4b47d5.18
movzx eax, word [ebx + 0x18]
push dword [ebp - 0x88]
movzx ecx, al
shr cl, 3
push 0x61
and ecx, 2
or ecx, eax
mov eax, ebx
mov word [ebx + 0x18], cx
call fcn.004b4682
and word [ebx + 0x18], 0xffe3
pop ecx
pop ecx
jmp case.0x4b47d5.18
movzx eax, word [ebx + 0x18]
test al, 1
jne case.0x4b47d5.18
test al, 0x10
jne 0x4b5122
push dword [ebp - 0x88]
mov eax, ebx
push 0x61
call fcn.004b4682
or word [ebx + 0x18], 0x10
pop ecx
pop ecx
and word [ebx + 0x18], 0xfff1
jmp case.0x4b47d5.18
test byte [ebx + 0x18], 1
jne case.0x4b47d5.18
push ebx
call fcn.004a815b
jmp 0x4b4d95
test byte [ebx + 0x18], 1
jne case.0x4b47d5.18
push ebx
call fcn.004a8116
jmp 0x4b4d95
test byte [ebx + 0x18], 1
jne case.0x4b47d5.18
jmp 0x4b50b8
movzx eax, word [ebx + 0x18]
lea edi, [ebx - 0x40]
mov cl, byte [edi + 0x18]
or cl, al
test cl, 1
je 0x4b51a6
test word [esi + 4], 0x200
je 0x4b5206
not eax
and eax, 1
cdq
push edx
push eax
push ebx
call fcn.004a818e
movzx eax, word [edi + 0x18]
not eax
and eax, 1
cdq
push edx
push eax
push edi
call fcn.004a818e
add esp, 0x18
mov al, byte [esi + 4]
test al, al
mov byte [ebp - 0x10c], al
je 0x4b51dc
push dword [ebp - 0x88]
mov eax, edi
push dword [ebp - 0x10c]
call fcn.004b4682
push dword [ebp - 0x88]
mov eax, ebx
push dword [ebp - 0x10c]
call fcn.004b4682
add esp, 0x10
push dword [esi + 0xc]
push ebx
push edi
call fcn.004a84df
movzx ecx, byte [esi]
add esp, 0xc
sub ecx, 0x42
je 0x4b5255
dec ecx
je 0x4b524c
dec ecx
je 0x4b5243
dec ecx
je 0x4b523a
dec ecx
je 0x4b5231
xor ecx, ecx
test eax, eax
setge cl
jmp 0x4b525c
push 2
lea edi, [ebp - 0x50]
call fcn.004b45b3
mov eax, dword [esi + 8]
test eax, eax
pop ecx
je 0x4b4eec
test word [esi + 4], 0x100
je 0x4b4934
dec eax
mov dword [ebp - 0x64], eax
jmp 0x4b4934
xor ecx, ecx
test eax, eax
setl cl
jmp 0x4b525c
xor ecx, ecx
test eax, eax
setle cl
jmp 0x4b525c
xor ecx, ecx
test eax, eax
setg cl
jmp 0x4b525c
xor ecx, ecx
test eax, eax
sete cl
jmp 0x4b525c
xor ecx, ecx
test eax, eax
setne cl
push 2
lea edi, [ebp - 0x50]
mov dword [ebp - 0x68], ecx
call fcn.004b45b3
mov esi, dword [esi + 8]
test esi, esi
pop ecx
je 0x4b5284
cmp dword [ebp - 0x68], 0
je 0x4b4934
dec esi
mov dword [ebp - 0x64], esi
jmp 0x4b4934
mov ebx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x68]
add ebx, 0x40
mov word [ebx + 0x18], 4
jmp 0x4b4839
test byte [ebx + 0x18], 1
lea edi, [ebx - 0x40]
je 0x4b52a6
push 2
pop ebx
jmp 0x4b52bb
push ebx
call fcn.004a8116
mov eax, dword [ebx]
or eax, dword [ebx + 4]
pop ecx
jne 0x4b52b9
xor ebx, ebx
inc ebx
jmp 0x4b52bb
xor ebx, ebx
test byte [edi + 0x18], 1
je 0x4b52c6
push 2
pop eax
jmp 0x4b52db
push edi
call fcn.004a8116
mov eax, dword [edi]
or eax, dword [edi + 4]
pop ecx
jne 0x4b52d9
xor eax, eax
inc eax
jmp 0x4b52db
xor eax, eax
imul ebx, ebx, 3
cmp byte [esi], 0x3c
jne 0x4b52ed
movzx esi, byte [ebx + eax + 0x5c4708]
jmp 0x4b52f5
movzx esi, byte [ebx + eax + 0x5c4714]
push 2
lea edi, [ebp - 0x50]
call fcn.004b45b3
mov ebx, dword [ebp - 0x50]
add ebx, 0x40
cmp esi, 2
pop ecx
mov dword [ebp - 0x50], ebx
je 0x4b4cea
xor eax, eax
test esi, esi
sete al
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp 0x4b4f86
movzx eax, word [ebx + 0x18]
test al, 8
jne 0x4b5375
test al, 4
je 0x4b5366
test al, 0x40
je 0x4b533b
push ebx
call fcn.004a7fce
pop ecx
cmp byte [esi], 0x53
je 0x4b5355
cmp dword [ebx + 4], 0
jg 0x4b4f86
jl 0x4b5355
cmp dword [ebx], 0
jae 0x4b4f86
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
neg eax
adc ecx, 0
neg ecx
jmp 0x4b53f6
test al, 1
jne case.0x4b47d5.18
push ebx
call fcn.004a815b
pop ecx
test byte [ebx + 0x18], 0x40
je 0x4b5382
push ebx
call fcn.004a7fce
pop ecx
cmp byte [esi], 0x53
je 0x4b5397
fild qword [ebx + 8]
fcomp qword [0x5af448]
fnstsw ax
test ah, 5
jp 0x4b53aa
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
neg eax
adc ecx, 0
neg ecx
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
mov word [ebx + 0x18], 8
jmp case.0x4b47d5.18
test byte [ebx + 0x18], 1
jne case.0x4b47d5.18
push ebx
call fcn.004a8116
mov eax, dword [ebx]
or eax, dword [ebx + 4]
pop ecx
jne 0x4b53d5
xor eax, eax
inc eax
jmp 0x4b5319
xor eax, eax
jmp 0x4b5319
test byte [ebx + 0x18], 1
jne case.0x4b47d5.18
push ebx
call fcn.004a8116
mov eax, dword [ebx]
pop ecx
mov ecx, dword [ebx + 4]
not eax
not ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp 0x4b4f86
test byte [ebx + 0x18], 1
je 0x4b540b
mov edi, dword [esi + 4]
jmp 0x4b5422
push ebx
call fcn.004a8019
cmp byte [esi], 0xa
pop ecx
mov edi, eax
jne 0x4b5422
xor eax, eax
test edi, edi
sete al
mov edi, eax
test byte [ebx + 0x18], 0x40
je 0x4b542f
push ebx
call fcn.004a7fce
pop ecx
sub ebx, 0x40
test edi, edi
mov dword [ebp - 0x50], ebx
je case.0x4b47d5.18
jmp 0x4b47e9
mov edi, dword [esi + 4]
mov ecx, edi
test ecx, ecx
jge 0x4b544d
neg ecx
mov edx, ecx
shl edx, 6
mov eax, ebx
sub eax, edx
add eax, 0x40
xor edx, edx
test ecx, ecx
jle 0x4b5478
add eax, 0x18
test byte [eax], 1
jne 0x4b5471
inc edx
add eax, 0x40
cmp edx, ecx
jl 0x4b5462
jmp 0x4b5478
mov esi, dword [esi + 8]
dec esi
mov dword [ebp - 0x64], esi
test edi, edi
jle case.0x4b47d5.18
push ecx
jmp 0x4b492b
mov ecx, dword [esi + 4]
test ecx, ecx
mov dword [ebp - 0x54], ecx
jge 0x4b5492
neg ecx
xor edx, edx
test ecx, ecx
jle 0x4b54b5
mov edi, ecx
shl edi, 6
mov eax, ebx
sub eax, edi
add eax, 0x58
test byte [eax], 1
jne 0x4b54b1
inc edx
add eax, 0x40
cmp edx, ecx
jl 0x4b54a4
cmp edx, ecx
jl 0x4b54bc
mov esi, dword [esi + 8]
dec esi
mov dword [ebp - 0x64], esi
cmp dword [ebp - 0x54], 0
jmp 0x4b547a
mov ecx, dword [edi + 0x3c]
mov eax, dword [esi + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esi + 8]
mov dword [eax + 0x50], ecx
jmp case.0x4b47d5.18
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
xor edx, edx
add ebx, 0x40
mov word [ebp + 0x28], dx
mov word [ebx + 0x18], 1
mov dword [ebp - 0x9c], ecx
mov ecx, dword [edi + 0x3c]
mov eax, dword [ecx + eax*4]
cmp dword [eax], edx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x5c], eax
je 0x4b558e
push eax
call fcn.004b17e9
test eax, eax
pop ecx
mov dword [ebp - 0x4c], eax
jne 0x4b72ac
and dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x5c]
cmp byte [eax + 0x1c], 0
mov ecx, dword [eax]
mov dword [ebp - 0x68], ecx
je 0x4b5531
and dword [ebp - 0x98], 0
jmp 0x4b5581
mov ecx, dword [eax + 0x60]
cmp ecx, dword [edi + 0x60]
jne 0x4b554a
mov ecx, dword [eax + 0x64]
mov dword [ebp - 0x98], ecx
mov ecx, dword [eax + 0x70]
mov dword [ebp - 0x78], ecx
jmp 0x4b5581
cmp byte [eax + 0x21], 0
je 0x4b556d
lea eax, [ebp - 0x16c]
push eax
push dword [ebp - 0x68]
call fcn.004af338
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x98], eax
jmp 0x4b557c
lea eax, [ebp - 0x98]
push eax
push dword [ebp - 0x68]
call fcn.004af384
mov eax, dword [ebp - 0x5c]
pop ecx
pop ecx
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x5c]
xor edx, edx
jmp 0x4b55bd
cmp byte [eax + 0x1e], 0
mov dword [ebp - 0x68], edx
je 0x4b55b1
mov ecx, dword [eax + 0x34]
mov dword [ebp - 0x98], ecx
mov ecx, dword [eax + 0x38]
mov dword [ebp - 0x78], ecx
mov ecx, dword [eax + 0x50]
mov dword [eax + 0x60], edx
mov dword [ebp - 0x6c], ecx
jmp 0x4b55bd
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x98], edx
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x98], edx
je case.0x4b47d5.18
mov ecx, dword [eax + 0x60]
cmp ecx, dword [edi + 0x60]
jne 0x4b55df
mov ecx, dword [eax + 0x68]
mov eax, dword [eax + 0x6c]
mov dword [ebp - 0x54], ecx
jmp 0x4b5797
mov eax, dword [eax + 0x68]
cmp eax, edx
mov dword [ebp - 0x54], eax
jne 0x4b560a
mov eax, dword [ebp - 0x6c]
shl eax, 3
push 1
push eax
call fcn.004a79ec
test eax, eax
pop ecx
pop ecx
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x54], eax
mov dword [ecx + 0x68], eax
je 0x4b4980
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x6c]
lea ecx, [eax + ecx*4]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xbc], ecx
mov dword [eax + 0x6c], ecx
mov ecx, dword [ebp - 0x98]
mov dword [eax + 0x64], ecx
mov ecx, dword [edi + 0x60]
mov edi, dword [ebp - 0x78]
test edi, edi
mov dword [eax + 0x60], ecx
jne 0x4b5672
cmp byte [eax + 0x21], 0
lea eax, [ebp - 0xe8]
push eax
push dword [ebp - 0x68]
je 0x4b564c
call fcn.004ac9d0
jmp 0x4b5651
call fcn.004ac9ee
mov edi, eax
mov eax, dword [ebp - 0xe8]
cmp eax, dword [ebp - 0x98]
mov eax, dword [ebp - 0x5c]
pop ecx
pop ecx
jb 0x4b566e
mov dword [ebp - 0x78], edi
mov dword [eax + 0x70], edi
jmp 0x4b5672
and dword [eax + 0x70], 0
movzx eax, byte [edi]
cmp eax, 0x7f
mov dword [ebp - 0xa0], eax
ja 0x4b5689
mov dword [ebp - 0x60], 1
jmp 0x4b569b
lea eax, [ebp - 0xa0]
push eax
push edi
call fcn.004a7921
pop ecx
pop ecx
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x78], 0
jne 0x4b56d7
mov eax, dword [ebp - 0xa0]
cmp dword [ebp - 0xe8], eax
jae 0x4b56d7
lea ecx, [ebp + 0x10]
push ecx
mov ecx, dword [ebp - 0x5c]
movzx ecx, byte [ecx + 0x21]
push ecx
push eax
push 0
push dword [ebp - 0x68]
call fcn.004a8334
add esp, 0x14
test eax, eax
mov dword [ebp - 0x4c], eax
jne case.0x4b47d5.18
mov edi, dword [ebp + 0x20]
mov eax, dword [ebp - 0xa0]
add eax, edi
cmp dword [ebp - 0x6c], 0
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x60]
lea ecx, [eax + edi]
mov dword [ebp - 0x4c], ecx
jbe 0x4b5758
mov edi, dword [ebp - 0x54]
mov eax, dword [ebp - 0xbc]
mov edx, dword [ebp - 0x6c]
sub eax, edi
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x60], edx
cmp ecx, dword [ebp - 0x90]
jae 0x4b574c
mov edx, dword [ebp - 0xa0]
mov dword [eax + edi], edx
movzx eax, byte [ecx]
cmp eax, 0x7f
mov dword [edi], eax
ja 0x4b5728
xor eax, eax
inc eax
jmp 0x4b5733
push edi
push dword [ebp - 0x4c]
call fcn.004a7921
pop ecx
pop ecx
push dword [edi]
add dword [ebp - 0x4c], eax
call fcn.004b192b
add dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x70]
pop ecx
mov ecx, dword [ebp - 0x4c]
jmp 0x4b5750
and dword [eax + edi], 0
add edi, 4
dec dword [ebp - 0x60]
jne 0x4b5708
test byte [ebp + 0x28], 0x40
je 0x4b576b
lea eax, [ebp + 0x10]
push eax
call fcn.004a7fce
pop ecx
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x90]
mov word [ebp + 0x28], 1
ja 0x4b5847
mov eax, dword [ebp - 0xa0]
cmp eax, dword [ebp - 0x98]
ja 0x4b5847
mov eax, dword [ebp - 0xbc]
xor edx, edx
mov edi, dword [ebp - 0x9c]
shl edi, 2
add eax, edi
mov dword [ebp - 0x70], eax
mov eax, dword [eax]
cmp eax, edx
je 0x4b5807
mov ecx, dword [ebp - 0x78]
cmp ecx, edx
je 0x4b57b6
add eax, ecx
jmp 0x4b57ec
mov eax, dword [ebp - 0x54]
push dword [edi + eax]
call fcn.004b192b
lea ecx, [ebp + 0x10]
push ecx
mov ecx, dword [ebp - 0x5c]
movzx ecx, byte [ecx + 0x21]
push ecx
push eax
mov eax, dword [ebp - 0x70]
push dword [eax]
push dword [ebp - 0x68]
call fcn.004a8334
add esp, 0x18
test eax, eax
mov dword [ebp - 0x4c], eax
jne case.0x4b47d5.18
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x54]
push ebx
push dword [edi + ecx]
push eax
call fcn.004b19b8
mov al, byte [ebp - 0x88]
add esp, 0xc
mov byte [ebx + 0x1b], al
jmp 0x4b5826
cmp dword [esi + 0x10], 0xfffffff8
jne 0x4b5820
push 0x80
push dword [esi + 0xc]
push ebx
call fcn.004a81d9
add esp, 0xc
jmp 0x4b5826
mov word [ebx + 0x18], 1
test byte [ebp + 0x28], 0x40
je 0x4b583c
mov ax, word [ebx + 0x18]
and ax, 0xfeff
or ax, 0x60
mov word [ebx + 0x18], ax
push ebx
call fcn.004a7e17
jmp 0x4b5b13
mov dword [ebp - 0x4c], 0xb
jmp case.0x4b47d5.18
mov eax, dword [esi + 4]
xor ecx, ecx
xor edx, edx
cmp eax, ecx
setl dl
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x6c], ecx
test edx, edx
sete cl
mov dword [ebp - 0x108], edx
lea ecx, [ecx + ecx - 1]
imul ecx, eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x8c], eax
xor eax, eax
cmp byte [esi], 0x74
mov dword [ebp - 0x9c], ecx
sete al
and dword [ebp - 0x70], 0
mov dword [ebp - 0x90], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xbc], eax
mov eax, ecx
movzx ecx, byte [edi + 0x239]
shl eax, 6
mov esi, ebx
sub esi, eax
lea eax, [esi + 0x40]
cmp eax, ebx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x5c], ecx
mov edi, eax
ja 0x4b5939
mov dword [ebp - 0x78], 0xffffffe8
sub dword [ebp - 0x78], eax
cmp dword [ebp - 0xbc], 0
je 0x4b58fa
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0xbc]
push dword [ebp - 0x88]
lea eax, [edi + eax + 0x18]
sar eax, 6
movzx eax, byte [eax + ecx]
push eax
mov eax, edi
call fcn.004b4682
pop ecx
pop ecx
test byte [edi + 0x18], 1
je 0x4b5907
mov dword [ebp - 0x70], 1
push dword [ebp - 0x5c]
push edi
call fcn.004b1861
push eax
mov dword [ebp - 0xb4], eax
call fcn.004b192b
add dword [ebp - 0x54], eax
push 0
push dword [ebp - 0xb4]
call fcn.004a7981
add dword [ebp - 0x6c], eax
add edi, 0x40
add esp, 0x14
cmp edi, ebx
jbe 0x4b58cd
cmp dword [ebp - 0x90], 0
je 0x4b5970
push esi
mov dword [ebp - 0x60], esi
call fcn.004a8116
push 0
push esi
call fcn.004b1861
mov esi, eax
push esi
call fcn.004b192b
add dword [ebp - 0x54], eax
push 0
push esi
call fcn.004a7981
mov esi, dword [ebp - 0x6c]
add esp, 0x18
add esi, eax
jmp 0x4b5973
mov esi, dword [ebp - 0x6c]
mov eax, esi
cdq
push edx
push eax
call fcn.004a7981
mov edi, eax
add esi, edi
mov eax, esi
cdq
push edx
push eax
call fcn.004a7981
add esp, 0x10
cmp edi, eax
jge 0x4b5993
inc esi
mov eax, dword [ebp - 0x54]
add eax, esi
cmp eax, 0x20
mov dword [ebp - 0xb4], eax
jbe 0x4b59ba
push 1
push eax
call fcn.004a79ec
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x54], eax
je 0x4b4980
jmp 0x4b59c0
lea eax, [ebp + 0x50]
mov dword [ebp - 0x54], eax
mov eax, esi
cdq
push edx
push eax
push dword [ebp - 0x54]
call fcn.004a77c7
mov esi, dword [ebp - 0x68]
mov edi, eax
add edi, dword [ebp - 0x54]
add esp, 0xc
cmp esi, ebx
ja 0x4b59fa
push dword [ebp - 0x5c]
push esi
call fcn.004b1861
push 0
push eax
push edi
call fcn.004a77c7
add esi, 0x40
add esp, 0x14
add edi, eax
cmp esi, ebx
jbe 0x4b59dc
xor esi, esi
cmp dword [ebp - 0x90], esi
je 0x4b5a1a
push esi
push dword [ebp - 0x60]
call fcn.004b1861
push esi
push eax
push edi
call fcn.004a77c7
add esp, 0x14
add edi, eax
mov esi, dword [ebp - 0x68]
jmp 0x4b5a31
push dword [ebp - 0x5c]
push esi
push edi
call fcn.004b1942
add esp, 0xc
add edi, eax
add esi, 0x40
cmp esi, ebx
jbe 0x4b5a1f
mov esi, dword [ebp - 0x90]
test esi, esi
je 0x4b5a4d
push 0
push dword [ebp - 0x60]
push edi
call fcn.004b1942
add esp, 0xc
cmp dword [ebp - 0x108], 0
jne 0x4b5a6b
mov eax, dword [ebp - 0x9c]
add esi, eax
push esi
lea edi, [ebp - 0x50]
call fcn.004b45b3
mov ebx, dword [ebp - 0x50]
pop ecx
mov ecx, dword [ebp - 0xb4]
add ebx, 0x40
cmp ecx, 0x20
mov dword [ebp - 0x50], ebx
mov dword [ebx + 0x14], ecx
ja 0x4b5a9b
push ecx
lea ecx, [ebp + 0x50]
lea eax, [ebx + 0x20]
push ecx
push eax
mov dword [ebx + 0x10], eax
call fcn.00489920
add esp, 0xc
mov word [ebx + 0x18], 0x210
jmp 0x4b5aab
mov eax, dword [ebp - 0x54]
mov dword [ebx + 0x10], eax
mov word [ebx + 0x18], 0x50
and dword [ebx + 0x1c], 0
mov eax, dword [ebp - 0x8c]
test eax, eax
mov byte [ebx + 0x1b], 1
je case.0x4b47d5.18
cmp dword [ebp - 0x70], 0
je case.0x4b47d5.18
jmp 0x4b480a
mov esi, dword [esi + 4]
test esi, esi
jl case.0x4b47d5.18
mov eax, dword [ebp - 0x58]
cmp esi, dword [eax]
jge case.0x4b47d5.18
mov ecx, dword [eax + 4]
imul esi, esi, 0x18
mov esi, dword [esi + ecx + 4]
test esi, esi
je case.0x4b47d5.18
cmp byte [eax + 0x10], 0
jne case.0x4b47d5.18
push esi
call fcn.004aeedf
test eax, eax
pop ecx
jne case.0x4b47d5.18
push esi
call fcn.004ac74e
pop ecx
mov dword [ebp - 0x4c], eax
jmp case.0x4b47d5.18
mov eax, dword [ebp - 0x58]
cmp dword [eax + 0x4c], 1
mov cl, byte [esi + 4]
mov dl, byte [esi + 8]
mov byte [ebp - 0x71], cl
jle 0x4b5b64
test cl, cl
je 0x4b5b64
cmp byte [eax + 0x10], 0
jne 0x4b5b64
test dl, dl
mov eax, str.rollback
jne 0x4b5b46
mov eax, str.commit
push 0
push str._transaction___SQL_statements_in_progress
push eax
push str.cannot
add edi, 0x230
push edi
call fcn.004a7aae
add esp, 0x14
jmp 0x4b5b98
cmp cl, byte [eax + 0x10]
jne 0x4b7477
test cl, cl
jne 0x4b5b78
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x4b5b86
test dl, dl
mov eax, str.cannot_rollback___no_transaction_is_active
jne 0x4b5b86
mov eax, str.cannot_commit___no_transaction_is_active
push 0
push eax
add edi, 0x230
push edi
call fcn.004a7aae
add esp, 0xc
mov dword [ebp - 0x4c], 1
jmp case.0x4b47d5.18
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0x58]
imul eax, eax, 0x18
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx + 4]
test eax, eax
je case.0x4b47d5.18
push dword [esi + 8]
push eax
call fcn.004ac3c2
pop ecx
pop ecx
push 5
pop ecx
cmp eax, ecx
mov dword [ebp - 0x4c], eax
je 0x4b74c7
test eax, eax
je case.0x4b47d5.18
cmp eax, 8
jne 0x4b72ac
jmp case.0x4b47d5.18
mov ecx, dword [ebp - 0x58]
mov ecx, dword [ecx + 4]
lea eax, [ebp - 0x13c]
push eax
mov eax, dword [esi + 8]
inc eax
push eax
mov eax, dword [esi + 4]
imul eax, eax, 0x18
push dword [eax + ecx + 4]
call fcn.004ae790
add esp, 0xc
add ebx, 0x40
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x50], ebx
jmp 0x4b5319
mov edi, dword [esi + 4]
mov eax, dword [ebp - 0x58]
imul edi, edi, 0x18
add edi, dword [eax + 4]
push ebx
call fcn.004a8116
push dword [ebx]
mov eax, dword [esi + 8]
inc eax
push eax
push dword [edi + 4]
call fcn.004ae7e4
mov dword [ebp - 0x4c], eax
mov eax, dword [esi + 8]
add esp, 0x10
test eax, eax
jne 0x4b5c61
mov eax, dword [edi + 0x14]
mov ecx, dword [ebx]
mov dword [eax], ecx
mov eax, dword [ebp - 0x58]
or dword [eax + 8], 0x10
jmp 0x4b5c6e
cmp eax, 1
jne 0x4b5c6e
mov eax, dword [edi + 0x14]
mov cl, byte [ebx]
mov byte [eax + 0x78], cl
sub ebx, 0x40
cmp dword [esi + 4], 1
mov dword [ebp - 0x50], ebx
jne case.0x4b47d5.18
push dword [ebp - 0x58]
call fcn.004b1f0e
jmp 0x4b4d95
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0x58]
imul eax, eax, 0x18
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx + 4]
test eax, eax
je 0x4b5cb6
lea ecx, [ebp - 0x118]
push ecx
push 1
push eax
call fcn.004ae790
add esp, 0xc
mov dword [ebp - 0x4c], eax
jmp 0x4b5cc1
and dword [ebp - 0x4c], 0
and dword [ebp - 0x118], 0
cmp dword [ebp - 0x4c], 0
jne case.0x4b47d5.18
mov eax, dword [ebp - 0x118]
cmp eax, dword [esi + 8]
je case.0x4b47d5.18
push 0
push str.database_schema_has_changed
add edi, 0x230
push edi
call fcn.004a7aae
add esp, 0xc
mov dword [ebp - 0x4c], 0x11
jmp case.0x4b47d5.18
mov eax, dword [esi + 4]
mov dword [ebp - 0xb4], eax
mov eax, dword [esi + 8]
push ebx
mov dword [ebp - 0x60], eax
call fcn.004a8116
mov eax, dword [ebx]
mov dword [ebp - 0x8c], eax
imul eax, eax, 0x18
pop ecx
mov ecx, dword [ebp - 0x58]
add eax, dword [ecx + 4]
sub ebx, 0x40
cmp byte [esi], 0x60
mov ecx, dword [eax + 4]
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x9c], ecx
jne 0x4b5d52
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x78]
lea ecx, [edi + 0x239]
cmp al, byte [ecx]
mov dword [ebp - 0x70], 1
jae 0x4b5d56
mov byte [ecx], al
jmp 0x4b5d56
and dword [ebp - 0x70], 0
cmp dword [ebp - 0x60], 0
jg 0x4b5d6e
push ebx
call fcn.004a8116
mov eax, dword [ebx]
sub ebx, 0x40
pop ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x50], ebx
push dword [ebp - 0x8c]
mov eax, dword [ebp - 0xb4]
call fcn.004b45d7
mov edi, eax
test edi, edi
pop ecx
je 0x4b4980
cmp dword [ebp - 0x9c], 0
mov byte [edi + 0x1c], 1
je case.0x4b47d5.18
push edi
push dword [esi + 0xc]
push fcn.004b1b68
push dword [ebp - 0x70]
push dword [ebp - 0x60]
push dword [ebp - 0x9c]
call fcn.004af1f5
mov ecx, dword [ebp - 0x7c]
add esp, 0x18
cmp dword [esi + 0x10], 0xfffffffa
mov dword [ebp - 0x4c], eax
jne 0x4b5de0
mov eax, dword [esi + 0xc]
mov dword [edi + 0x4c], eax
mov edx, dword [edi + 0x4c]
inc eax
mov dword [edi + 0x48], eax
mov eax, dword [ecx]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x79]
mov byte [edx], al
jmp 0x4b5dea
and dword [edi + 0x4c], 0
lea eax, [edi + 0x22]
mov dword [edi + 0x48], eax
cmp dword [ebp - 0x4c], 0
je 0x4b5e21
push 5
pop eax
cmp dword [ebp - 0x4c], eax
je 0x4b74d7
cmp dword [ebp - 0x4c], 0x10
jne 0x4b72ac
cmp dword [esi + 0x10], 0xfffffffa
setne al
test al, al
mov byte [edi + 0x20], al
sete al
and dword [ebp - 0x4c], 0
mov byte [edi + 0x21], al
jmp case.0x4b47d5.18
push dword [edi]
call fcn.004ae824
test al, 0xf0
pop ecx
jne 0x4b5e67
mov ecx, eax
and ecx, 7
cmp ecx, 5
je 0x4b5e3c
cmp ecx, 2
jne 0x4b5e67
mov cl, al
shr eax, 1
and cl, 1
and al, 1
test cl, cl
mov byte [edi + 0x20], cl
mov byte [edi + 0x21], al
je 0x4b5e55
cmp dword [esi + 0x10], 0xfffffffa
je 0x4b5e67
test al, al
je case.0x4b47d5.18
cmp dword [esi + 0x10], 0xfffffffa
je case.0x4b47d5.18
mov dword [ebp - 0x4c], 0xb
jmp 0x4b72ac
mov eax, dword [esi + 4]
push 0xffffffffffffffff
call fcn.004b45d7
mov edi, eax
test edi, edi
pop ecx
je 0x4b4980
lea eax, [edi + 0x30]
push eax
push 0x1f4
push 1
push 0
push dword [ebp - 0x58]
mov byte [edi + 0x1c], 1
call fcn.004a658e
add esp, 0x14
test eax, eax
mov dword [ebp - 0x4c], eax
jne 0x4b5f49
push 1
push dword [edi + 0x30]
call fcn.004ac3c2
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x4c], eax
jne 0x4b5f49
cmp dword [esi + 0xc], eax
je 0x4b5f28
push 2
lea eax, [ebp - 0x130]
push eax
push dword [edi + 0x30]
call fcn.004af592
add esp, 0xc
test eax, eax
mov dword [ebp - 0x4c], eax
jne 0x4b5f22
push edi
push dword [esi + 0xc]
push fcn.004b1b68
push 1
push dword [ebp - 0x130]
push dword [edi + 0x30]
call fcn.004af1f5
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 0x4c], eax
mov eax, dword [esi + 0xc]
mov dword [edi + 0x4c], eax
mov ecx, dword [ecx]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 0x14]
mov cl, byte [ecx + 0x79]
mov byte [eax], cl
mov eax, dword [edi + 0x4c]
add esp, 0x18
inc eax
mov dword [edi + 0x48], eax
mov byte [edi + 0x20], 0
jmp 0x4b5f49
push edi
push 0
push 0
push 1
push 1
push dword [edi + 0x30]
call fcn.004af1f5
mov dword [ebp - 0x4c], eax
lea eax, [edi + 0x22]
add esp, 0x18
mov byte [edi + 0x20], 1
mov dword [edi + 0x48], eax
mov eax, dword [esi + 8]
cmp byte [edi + 0x20], 0
mov dword [edi + 0x50], eax
sete al
mov byte [edi + 0x21], al
jmp case.0x4b47d5.18
mov eax, dword [esi + 4]
push 0xffffffffffffffff
call fcn.004b45d7
test eax, eax
pop ecx
je 0x4b4980
lea ecx, [eax + 0x22]
mov byte [eax + 0x1c], 1
mov byte [eax + 0x1e], 1
mov dword [eax + 0x48], ecx
mov byte [eax + 0x20], 1
mov byte [eax + 0x21], 0
jmp case.0x4b47d5.18
mov esi, dword [esi + 4]
test esi, esi
jl case.0x4b47d5.18
cmp esi, dword [edi + 0x38]
jge case.0x4b47d5.18
mov eax, dword [edi + 0x3c]
shl esi, 2
push dword [eax + esi]
call fcn.004b128d
mov eax, dword [edi + 0x3c]
and dword [esi + eax], 0
pop ecx
jmp case.0x4b47d5.18
mov ecx, dword [esi + 4]
mov edx, dword [edi + 0x3c]
mov edi, dword [edx + ecx*4]
cmp dword [edi], 0
je 0x4b60fd
cmp eax, 0x2a
mov byte [edi + 0x1c], 0
je 0x4b5fdf
cmp eax, 5
je 0x4b5fdf
xor eax, eax
jmp 0x4b5fe2
xor eax, eax
inc eax
mov ecx, dword [edi + 0x48]
mov byte [ecx], al
cmp byte [edi + 0x20], 0
je 0x4b604d
push ebx
call fcn.004a8116
cmp dword [esi + 8], 0
mov eax, dword [ebx]
pop ecx
mov ecx, dword [ebx + 4]
jne 0x4b6013
cmp byte [esi], 0x22
jne 0x4b6013
mov dword [edi + 0x28], eax
mov dword [edi + 0x2c], ecx
mov byte [edi + 0x1f], 1
jmp 0x4b4a67
lea edx, [ebp - 0x94]
push edx
push ecx
push eax
push 0
push dword [edi]
call fcn.004acc23
add esp, 0x14
test eax, eax
mov dword [ebp - 0x4c], eax
jne 0x4b72ac
mov eax, dword [ebx]
cmp dword [ebp - 0x94], 0
mov dword [edi + 8], eax
mov eax, dword [ebx + 4]
mov dword [edi + 0xc], eax
sete al
mov byte [edi + 0x19], al
jmp 0x4b6075
lea eax, [ebp - 0x94]
push eax
mov eax, dword [ebx + 0x14]
cdq
push edx
push eax
push dword [ebx + 0x10]
push dword [edi]
call fcn.004acc23
add esp, 0x14
test eax, eax
mov dword [ebp - 0x4c], eax
jne 0x4b72ac
mov byte [edi + 0x19], al
mov ecx, dword [edi + 0x48]
xor eax, eax
mov byte [edi + 0x1f], 0
mov dword [edi + 0x60], eax
mov byte [ecx], al
inc dword [0x639924]
cmp dword [ebp - 0x60], 0x22
je 0x4b60d1
cmp dword [ebp - 0x60], 0x2a
je 0x4b60d1
cmp dword [ebp - 0x94], eax
jl 0x4b60ad
lea eax, [ebp - 0x94]
push eax
push dword [edi]
call fcn.004af4de
jmp 0x4b60e7
push dword [edi]
call fcn.004ace71
pop ecx
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0
je 0x4b60fd
mov esi, dword [esi + 8]
test esi, esi
jle 0x4b60f9
dec esi
mov dword [ebp - 0x64], esi
jmp 0x4b60fd
cmp dword [ebp - 0x94], eax
jge 0x4b60b5
lea eax, [ebp - 0x94]
push eax
push dword [edi]
call fcn.004af3fe
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x4c], eax
jne 0x4b72ac
mov byte [edi + 0x19], al
jmp 0x4b60bb
mov byte [edi + 0x1c], 1
test byte [ebx + 0x18], 0x40
je 0x4b4a67
push ebx
call fcn.004a7fce
jmp 0x4b4a66
mov ecx, dword [esi + 4]
mov edx, dword [edi + 0x3c]
mov edi, dword [edx + ecx*4]
xor eax, eax
cmp dword [edi], eax
je 0x4b6172
test byte [ebx + 0x18], 0x12
jne 0x4b613f
movzx eax, byte [ebp - 0x88]
push eax
push ebx
call fcn.004a7ef3
test eax, eax
pop ecx
pop ecx
jne 0x4b4980
lea eax, [ebp - 0x124]
push eax
mov eax, dword [ebx + 0x14]
cdq
push edx
push eax
push dword [ebx + 0x10]
push dword [edi]
call fcn.004acc23
add esp, 0x14
test eax, eax
jne 0x4b6168
cmp dword [ebp - 0x124], eax
jne 0x4b6168
inc eax
jmp 0x4b616a
xor eax, eax
and dword [edi + 0x60], 0
mov byte [edi + 0x1f], 0
mov cl, byte [esi]
cmp cl, 3
jne 0x4b617f
test eax, eax
je 0x4b618a
jmp 0x4b6183
test eax, eax
jne 0x4b618a
mov esi, dword [esi + 8]
dec esi
mov dword [ebp - 0x64], esi
cmp cl, 0x30
je case.0x4b47d5.18
jmp 0x4b60fd
mov eax, dword [esi + 4]
mov dword [ebp - 0x8c], eax
lea eax, [ebx - 0x40]
push ebx
mov dword [ebp - 0x5c], eax
call fcn.004a8116
mov eax, dword [ebx]
mov dword [ebp - 0x138], eax
mov eax, dword [ebx + 4]
mov ebx, dword [ebp - 0x5c]
mov dword [ebp - 0x134], eax
mov eax, dword [edi + 0x3c]
pop ecx
mov ecx, dword [ebp - 0x8c]
mov edi, dword [eax + ecx*4]
mov eax, dword [edi]
test eax, eax
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x60], eax
je case.0x4b47d5.18
mov eax, ebx
test byte [eax + 0x18], 0x12
jne 0x4b61fe
movzx eax, byte [ebp - 0x88]
push eax
push ebx
call fcn.004a7ef3
test eax, eax
pop ecx
pop ecx
jne 0x4b4980
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
push ecx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x8c], eax
call fcn.004b1d70
mov ecx, dword [ebp - 0x8c]
and dword [edi + 0x60], 0
sub ecx, eax
lea eax, [ebp - 0xb8]
push eax
mov eax, ecx
cdq
push edx
push eax
push dword [ebp - 0x70]
mov dword [ebp - 0x8c], ecx
push dword [ebp - 0x60]
call fcn.004acc23
add esp, 0x18
test eax, eax
mov dword [ebp - 0x4c], eax
jne 0x4b72ac
cmp dword [ebp - 0xb8], eax
jge 0x4b6276
lea eax, [ebp - 0xb8]
push eax
push dword [ebp - 0x60]
call fcn.004af3fe
cmp dword [ebp - 0xb8], 0
pop ecx
pop ecx
mov dword [ebp - 0x4c], eax
jne 0x4b47e9
lea eax, [ebp - 0xb8]
push eax
push dword [ebp - 0x70]
push dword [ebp - 0x8c]
push edi
call fcn.004b1e64
add esp, 0x10
test eax, eax
mov dword [ebp - 0x4c], eax
jne 0x4b72ac
cmp dword [ebp - 0xb8], eax
jg 0x4b47e9
lea eax, [ebp - 0x12c]
push eax
push dword [ebp - 0x60]
call fcn.004b1da1
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x4c], eax
jne 0x4b72ac
mov eax, dword [ebp - 0x12c]
cmp eax, dword [ebp - 0x138]
jne 0x4b62e2
mov ecx, dword [ebp - 0x128]
cmp ecx, dword [ebp - 0x134]
je 0x4b47e9
add ebx, 0x40
mov dword [ebx], eax
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x50], ebx
jmp 0x4b4f83
mov eax, dword [esi + 4]
mov ecx, dword [edi + 0x3c]
mov edi, dword [ecx + eax*4]
mov eax, dword [edi]
test eax, eax
je 0x4b60fd
mov ecx, dword [ebx + 4]
mov eax, dword [ebx]
lea edx, [ebp - 0x114]
push edx
push ecx
push eax
push 0
push dword [edi]
call fcn.004acc23
mov dword [ebp - 0x4c], eax
mov eax, dword [ebx]
mov dword [edi + 8], eax
mov eax, dword [ebx + 4]
mov dword [edi + 0xc], eax
xor eax, eax
add esp, 0x14
cmp dword [ebp - 0x114], eax
mov byte [edi + 0x1c], al
sete cl
cmp dword [ebp - 0x114], eax
mov byte [edi + 0x19], cl
mov dword [edi + 0x60], eax
je 0x4b60fd
mov esi, dword [esi + 8]
dec esi
mov dword [ebp - 0x64], esi
mov byte [edi + 0x19], al
jmp 0x4b60fd
mov esi, dword [esi + 4]
mov ecx, dword [edi + 0x3c]
mov eax, esi
shl eax, 2
mov ecx, dword [ecx + eax]
mov edx, dword [ecx + 0x58]
add ebx, 0x40
mov dword [ebx], edx
mov ecx, dword [ecx + 0x5c]
mov dword [ebx + 4], ecx
mov ecx, dword [edi + 0x3c]
mov eax, dword [ecx + eax]
add dword [eax + 0x58], 1
mov dword [ebp - 0x50], ebx
adc dword [eax + 0x5c], 0
jmp 0x4b4f86
and dword [ebp - 0x84], 0
and dword [ebp - 0x80], 0
mov eax, dword [esi + 4]
mov ecx, dword [edi + 0x3c]
mov esi, dword [ecx + eax*4]
mov eax, dword [esi]
test eax, eax
je 0x4b656e
xor edi, edi
push eax
mov dword [ebp - 0x60], edi
call fcn.004ae824
and al, 3
cmp al, 1
pop ecx
jne 0x4b5e67
cmp byte [esi + 0x1b], 0
jne 0x4b6486
cmp byte [esi + 0x1d], 0
je 0x4b63e6
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x84], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x80], eax
jmp 0x4b644a
lea eax, [ebp - 0xc4]
push eax
push dword [esi]
call fcn.004acbf4
cmp eax, edi
pop ecx
pop ecx
mov dword [ebp - 0x4c], eax
jne 0x4b72ac
cmp dword [ebp - 0xc4], edi
je 0x4b6418
mov dword [ebp - 0x84], 1
mov dword [ebp - 0x80], edi
jmp 0x4b645e
lea eax, [ebp - 0x84]
push eax
push dword [esi]
call fcn.004af338
cmp dword [ebp - 0x84], 0xffffffff
pop ecx
pop ecx
jne 0x4b6440
cmp dword [ebp - 0x80], 0x7fffffff
jne 0x4b6440
mov byte [esi + 0x1b], 1
jmp 0x4b644a
add dword [ebp - 0x84], 1
adc dword [ebp - 0x80], edi
cmp dword [ebp - 0x80], 0x7fffffff
ja 0x4b6478
jb 0x4b645e
cmp dword [ebp - 0x84], 0xffffffff
jae 0x4b6478
mov byte [esi + 0x1d], 1
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x80]
add eax, 1
adc ecx, edi
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], ecx
jmp 0x4b647c
mov byte [esi + 0x1d], 0
cmp byte [esi + 0x1b], 0
je 0x4b6562
mov edi, dword [ebp - 0x58]
mov eax, dword [edi + 0x28]
mov ecx, dword [edi + 0x2c]
and dword [ebp - 0x54], 0
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], ecx
jmp 0x4b64a4
mov eax, dword [ebp - 0x84]
or eax, dword [ebp - 0x80]
je 0x4b64d3
cmp dword [ebp - 0x54], 2
jg 0x4b64d3
lea eax, [ebp - 0xa1]
push eax
push 1
call fcn.004c0c05
movzx eax, byte [ebp - 0xa1]
inc eax
cdq
add dword [ebp - 0x84], eax
pop ecx
pop ecx
adc dword [ebp - 0x80], edx
jmp 0x4b64f7
lea eax, [ebp - 0x84]
push eax
push 8
call fcn.004c0c05
cmp dword [ebp - 0x54], 5
pop ecx
pop ecx
jge 0x4b64f7
and dword [ebp - 0x84], 0xffffff
and dword [ebp - 0x80], 0
mov eax, dword [ebp - 0x84]
or eax, dword [ebp - 0x80]
je 0x4b6524
lea eax, [ebp - 0xc4]
push eax
push dword [ebp - 0x80]
push dword [ebp - 0x84]
push 0
push dword [esi]
call fcn.004acc23
add esp, 0x14
inc dword [ebp - 0x54]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x54], 0x3e8
jge 0x4b6540
cmp dword [ebp - 0x60], 0
jne 0x4b6540
cmp dword [ebp - 0xc4], 0
je 0x4b649e
cmp dword [ebp - 0x60], 0
mov eax, dword [ebp - 0x84]
mov dword [edi + 0x28], eax
mov eax, dword [ebp - 0x80]
mov dword [edi + 0x2c], eax
jne 0x4b6562
cmp dword [ebp - 0xc4], 0
je 0x4b74f9
and dword [esi + 0x60], 0
mov byte [esi + 0x19], 0
mov byte [esi + 0x1f], 0
mov eax, dword [ebp - 0x84]
add ebx, 0x40
mov dword [ebx], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x50], ebx
jmp 0x4b4f83
mov eax, dword [esi + 4]
mov ecx, dword [edi + 0x3c]
mov eax, dword [ecx + eax*4]
xor edx, edx
cmp dword [eax], edx
mov dword [ebp - 0x60], eax
jne 0x4b659f
cmp byte [eax + 0x1e], dl
je 0x4b66f9
test byte [esi + 8], 1
mov ecx, dword [ebx - 0x40]
mov dword [ebp - 0xdc], ecx
mov ecx, dword [ebx - 0x3c]
mov dword [ebp - 0xd8], ecx
je 0x4b65bd
inc dword [edi + 0x23c]
test byte [esi + 8], 2
je 0x4b65d2
mov edi, dword [ebx - 0x40]
mov ecx, dword [ebp - 0x58]
mov dword [ecx + 0x20], edi
mov edi, dword [ebx - 0x3c]
mov dword [ecx + 0x24], edi
cmp byte [eax + 0x1d], 0
je 0x4b65ee
mov ecx, dword [ebx - 0x3c]
cmp ecx, dword [eax + 0x14]
jl 0x4b65ee
jg 0x4b65ea
mov ecx, dword [ebx - 0x40]
cmp ecx, dword [eax + 0x10]
jb 0x4b65ee
mov byte [eax + 0x1d], 0
test byte [ebx + 0x18], 1
je 0x4b65fa
mov dword [ebx + 0x10], edx
mov dword [ebx + 0x14], edx
cmp byte [eax + 0x1e], 0
je 0x4b667a
mov edi, dword [ebp - 0x60]
push dword [edi + 0x38]
call fcn.004a7338
mov eax, dword [ebp - 0xdc]
mov dword [edi + 0x40], eax
mov eax, dword [ebp - 0xd8]
mov dword [edi + 0x44], eax
mov eax, dword [ebx + 0x14]
mov dword [edi + 0x34], eax
test byte [ebx + 0x18], 0x40
pop ecx
je 0x4b6638
mov eax, dword [ebx + 0x10]
mov dword [edi + 0x38], eax
mov word [ebx + 0x18], 1
jmp 0x4b6674
add eax, 2
push 1
push eax
call fcn.004a79ec
test eax, eax
pop ecx
pop ecx
mov dword [edi + 0x38], eax
je 0x4b4980
push dword [edi + 0x34]
push dword [ebx + 0x10]
push eax
call fcn.00489920
mov eax, dword [edi + 0x34]
mov ecx, dword [edi + 0x38]
mov byte [eax + ecx], 0
mov eax, dword [edi + 0x34]
mov ecx, dword [edi + 0x38]
add esp, 0xc
mov byte [eax + ecx + 1], 0
mov byte [edi + 0x1c], 0
jmp 0x4b66a1
push dword [ebx + 0x14]
mov eax, dword [ebp - 0x60]
push dword [ebx + 0x10]
push dword [ebp - 0xd8]
push dword [ebp - 0xdc]
push 0
push dword [eax]
call fcn.004afaf8
mov edi, dword [ebp - 0x60]
add esp, 0x18
mov dword [ebp - 0x4c], eax
and dword [edi + 0x60], 0
cmp dword [ebp - 0x4c], 0
mov byte [edi + 0x19], 0
mov byte [edi + 0x1f], 0
jne 0x4b66f9
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax + 0x74]
test ecx, ecx
je 0x4b66f9
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4b66f9
push dword [ebp - 0xd8]
mov edx, dword [edi + 4]
push dword [ebp - 0xdc]
imul edx, edx, 0x18
push eax
mov eax, dword [ebp - 0x58]
mov edi, dword [eax + 4]
push dword [edx + edi]
mov edx, dword [esi + 8]
and dl, 4
neg dl
sbb edx, edx
and edx, 5
add edx, 0x12
push edx
push dword [eax + 0x70]
call ecx
add esp, 0x18
push 2
jmp 0x4b492b
mov ecx, dword [edi + 0x3c]
mov eax, dword [esi + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax]
test ecx, ecx
mov dword [ebp - 0x54], eax
je 0x4b67d0
mov edx, dword [ebp - 0x58]
cmp dword [edx + 0x74], 0
je 0x4b6759
cmp dword [esi + 0xc], 0
je 0x4b6759
cmp byte [eax + 0x19], 0
je 0x4b673f
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x11c], eax
jmp 0x4b6759
lea eax, [ebp - 0x120]
push eax
push ecx
call fcn.004af338
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x4c], eax
jne 0x4b72ac
push dword [ebp - 0x54]
call fcn.004b17e9
test eax, eax
pop ecx
mov dword [ebp - 0x4c], eax
jne 0x4b72ac
mov eax, dword [ebp - 0x54]
push dword [eax]
call fcn.004afc8b
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x54]
and dword [eax + 0x60], 0
cmp dword [ebp - 0x4c], 0
pop ecx
mov byte [eax + 0x1d], 0
jne 0x4b67d0
mov eax, dword [ebp - 0x58]
mov eax, dword [eax + 0x74]
test eax, eax
mov dword [ebp - 0x8c], eax
je 0x4b67d0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4b67d0
push dword [ebp - 0x11c]
push dword [ebp - 0x120]
push eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x58]
imul ecx, ecx, 0x18
mov edx, dword [eax + 4]
push dword [ecx + edx]
push 9
push dword [eax + 0x70]
call dword [ebp - 0x8c]
add esp, 0x18
test byte [esi + 8], 1
je case.0x4b47d5.18
inc dword [edi + 0x23c]
jmp case.0x4b47d5.18
cmp dword [esi + 4], 0
je 0x4b67fb
push dword [edi + 0x23c]
push dword [ebp - 0x58]
call fcn.004b1ef3
pop ecx
pop ecx
and dword [edi + 0x23c], 0
jmp case.0x4b47d5.18
mov eax, dword [esi + 4]
mov ecx, dword [edi + 0x3c]
mov esi, dword [ecx + eax*4]
add ebx, 0x40
cmp byte [esi + 0x1c], 0
mov dword [ebp - 0x50], ebx
jne 0x4b68f0
mov edi, dword [esi]
test edi, edi
je 0x4b68d6
push esi
call fcn.004b17e9
test eax, eax
pop ecx
mov dword [ebp - 0x4c], eax
jne 0x4b72ac
cmp byte [esi + 0x1c], al
jne 0x4b4cea
cmp byte [esi + 0x21], al
je 0x4b6865
lea eax, [ebp - 0x164]
push eax
push edi
call fcn.004af338
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0xa8], eax
jmp 0x4b6872
lea eax, [ebp - 0xa8]
push eax
push edi
call fcn.004af384
mov eax, dword [ebp - 0xa8]
pop ecx
mov dword [ebx + 0x14], eax
cmp dword [ebp - 0xa8], 0x20
pop ecx
ja 0x4b6891
mov word [ebx + 0x18], 0x210
lea eax, [ebx + 0x20]
jmp 0x4b68b2
push 1
push dword [ebp - 0xa8]
call fcn.004a79ec
test eax, eax
pop ecx
pop ecx
je 0x4b4980
mov word [ebx + 0x18], 0x50
and dword [ebx + 0x1c], 0
push eax
mov dword [ebx + 0x10], eax
cmp byte [esi + 0x21], 0
push dword [ebp - 0xa8]
push 0
push edi
je 0x4b68cc
call fcn.004ac94d
jmp 0x4b68d1
call fcn.004af3c7
add esp, 0x10
jmp 0x4b68f6
cmp byte [esi + 0x1e], 0
je 0x4b68f0
mov eax, dword [esi + 0x34]
mov dword [ebx + 0x14], eax
mov eax, dword [esi + 0x38]
mov dword [ebx + 0x10], eax
mov word [ebx + 0x18], 0x110
jmp 0x4b68f6
mov word [ebx + 0x18], 1
mov byte [ebx + 0x1b], 1
jmp case.0x4b47d5.18
mov eax, dword [esi + 4]
mov ecx, dword [edi + 0x3c]
mov esi, dword [ecx + eax*4]
push esi
call fcn.004b17e9
test eax, eax
pop ecx
mov dword [ebp - 0x4c], eax
jne 0x4b72ac
add ebx, 0x40
cmp byte [esi + 0x19], al
mov dword [ebp - 0x50], ebx
je 0x4b6933
mov eax, dword [esi + 8]
mov dword [ebp - 0x100], eax
mov eax, dword [esi + 0xc]
jmp 0x4b6945
cmp byte [esi + 0x1e], 0
je 0x4b694d
mov eax, dword [esi + 0x40]
mov dword [ebp - 0x100], eax
mov eax, dword [esi + 0x44]
mov dword [ebp - 0xfc], eax
jmp 0x4b6970
cmp byte [esi + 0x1c], 0
jne 0x4b4cea
mov esi, dword [esi]
test esi, esi
je 0x4b4cea
lea eax, [ebp - 0x100]
push eax
push esi
call fcn.004af338
pop ecx
pop ecx
mov eax, dword [ebp - 0x100]
mov dword [ebx], eax
mov eax, dword [ebp - 0xfc]
jmp 0x4b4f83
mov eax, dword [esi + 4]
mov ecx, dword [edi + 0x3c]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x1c], 1
mov byte [eax + 0x19], 0
jmp case.0x4b47d5.18
mov eax, dword [esi + 4]
mov ecx, dword [edi + 0x3c]
mov edi, dword [ecx + eax*4]
mov eax, dword [edi]
test eax, eax
je 0x4b69cf
lea ecx, [ebp - 0x144]
push ecx
push eax
call fcn.004acbf4
and dword [edi + 0x60], 0
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x144]
pop ecx
pop ecx
mov byte [edi + 0x1c], al
mov byte [edi + 0x1f], 0
test eax, eax
jmp 0x4b6a36
mov byte [edi + 0x1c], 0
jmp case.0x4b47d5.18
inc dword [0x63992c]
dec dword [0x639924]
mov eax, dword [esi + 4]
mov ecx, dword [edi + 0x3c]
mov edi, dword [ecx + eax*4]
mov eax, dword [edi]
test eax, eax
je 0x4b6a1c
lea ecx, [ebp - 0xc8]
push ecx
push eax
call fcn.004acbc5
cmp dword [ebp - 0xc8], 0
mov dword [ebp - 0x4c], eax
sete al
and dword [edi + 0x60], 0
pop ecx
pop ecx
mov byte [edi + 0x1a], al
mov byte [edi + 0x1f], 0
jmp 0x4b6a26
mov dword [ebp - 0xc8], 1
mov al, byte [ebp - 0xc8]
mov byte [edi + 0x1c], al
cmp dword [ebp - 0xc8], 0
je case.0x4b47d5.18
mov esi, dword [esi + 8]
test esi, esi
jle case.0x4b47d5.18
jmp 0x4b47ec
mov eax, dword [ebp - 0x58]
test byte [eax + 8], 4
jne 0x4b7505
mov eax, dword [esi + 4]
mov ecx, edi
mov ecx, dword [ecx + 0x3c]
mov edi, dword [ecx + eax*4]
mov eax, dword [edi]
test eax, eax
je 0x4b6abb
cmp byte [edi + 0x1c], 0
je 0x4b6a7c
mov dword [ebp - 0xd4], 1
jmp 0x4b6abf
cmp byte [ebp - 0x71], 0x1b
lea ecx, [ebp - 0xd4]
push ecx
push eax
jne 0x4b6a91
call fcn.004af3fe
jmp 0x4b6a96
call fcn.004af4de
and dword [edi + 0x60], 0
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0xd4]
test eax, eax
pop ecx
pop ecx
mov byte [edi + 0x1c], al
jne 0x4b6abf
mov esi, dword [esi + 8]
dec esi
inc dword [0x639924]
mov dword [ebp - 0x64], esi
jmp 0x4b6abf
mov byte [edi + 0x1c], 1
mov byte [edi + 0x19], 0
jmp case.0x4b47d5.18
mov ecx, dword [edi + 0x3c]
mov eax, dword [esi + 4]
mov esi, dword [ecx + eax*4]
mov edi, dword [esi]
test edi, edi
je 0x4b60fd
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x10]
push 0
push 0x5afcae
cdq
push edx
push eax
push ecx
push edi
call fcn.004afaf8
add esp, 0x18
mov dword [ebp - 0x4c], eax
and dword [esi + 0x60], 0
jmp 0x4b60fd
mov ecx, dword [edi + 0x3c]
mov eax, dword [esi + 4]
mov esi, dword [ecx + eax*4]
mov edi, dword [esi]
test edi, edi
je 0x4b60fd
lea eax, [ebp - 0x140]
push eax
mov eax, dword [ebx + 0x14]
cdq
push edx
push eax
push dword [ebx + 0x10]
push edi
call fcn.004acc23
add esp, 0x14
test eax, eax
mov dword [ebp - 0x4c], eax
jne 0x4b6af8
cmp dword [ebp - 0x140], eax
jne 0x4b6af8
push edi
call fcn.004afc8b
pop ecx
jmp 0x4b6af5
mov esi, dword [esi + 4]
add ebx, 0x40
mov word [ebx + 0x18], 1
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + esi*4]
mov ecx, dword [eax]
test ecx, ecx
mov dword [ebp - 0x50], ebx
je case.0x4b47d5.18
cmp byte [eax + 0x1c], 0
jne 0x4b4cea
lea eax, [ebp - 0x15c]
push eax
push ecx
call fcn.004b1da1
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x4c], eax
jne 0x4b72ac
mov word [ebx + 0x18], 4
mov eax, dword [ebp - 0x15c]
mov dword [ebx], eax
mov eax, dword [ebp - 0x158]
mov dword [ebx + 4], eax
jmp case.0x4b47d5.18
mov eax, dword [esi + 4]
mov ecx, dword [edi + 0x3c]
mov edi, dword [ecx + eax*4]
cmp dword [edi], 0
je 0x4b60fd
test byte [ebx + 0x18], 0x12
jne 0x4b6bd4
movzx eax, byte [ebp - 0x88]
push eax
push ebx
call fcn.004a7ef3
test eax, eax
pop ecx
pop ecx
jne 0x4b4980
cmp dword [esi + 0xc], 0
mov ecx, dword [edi + 0x48]
setne al
mov byte [ecx], al
lea eax, [ebp - 0xc0]
push eax
push dword [ebx + 0x10]
push dword [ebx + 0x14]
push edi
call fcn.004b1e64
mov ecx, dword [edi + 0x48]
add esp, 0x10
test eax, eax
mov dword [ebp - 0x4c], eax
mov byte [ecx], 0
jne case.0x4b47d5.18
mov al, byte [esi]
cmp al, 0x2f
jne 0x4b6c15
neg dword [ebp - 0xc0]
jmp 0x4b6c1f
cmp al, 0x48
jne 0x4b6c1f
inc dword [ebp - 0xc0]
cmp dword [ebp - 0xc0], 0
jle 0x4b60fd
mov esi, dword [esi + 8]
jmp 0x4b60cb
mov eax, dword [esi + 4]
mov edi, dword [ebx + 0x10]
mov dword [ebp - 0x60], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x70], eax
lea eax, [ebp - 0x104]
push eax
push edi
call fcn.004a7921
cmp eax, dword [ebp - 0x70]
pop ecx
pop ecx
mov dword [ebp - 0x54], eax
jge 0x4b60fd
cmp dword [ebp - 0x60], 0
jle 0x4b60fd
lea eax, [ebp - 0x104]
push eax
mov eax, dword [ebp - 0x54]
add eax, edi
push eax
call fcn.004a7921
add dword [ebp - 0x54], eax
cmp dword [ebp - 0x104], 0
pop ecx
pop ecx
je 0x4b6c2c
mov eax, dword [ebp - 0x70]
dec dword [ebp - 0x60]
cmp dword [ebp - 0x54], eax
jl 0x4b6c5e
jmp 0x4b60fd
mov edi, dword [ebp - 0x58]
cmp dword [edi + 0x4c], 1
jle 0x4b6cad
mov dword [ebp - 0x4c], 6
jmp case.0x4b47d5.18
mov ecx, dword [edi + 4]
lea eax, [ebp - 0xe0]
push eax
mov eax, dword [esi + 8]
push dword [esi + 4]
imul eax, eax, 0x18
push dword [eax + ecx + 4]
call fcn.004aff3e
add ebx, 0x40
mov dword [ebp - 0x4c], eax
mov word [ebx + 0x18], 4
mov eax, dword [ebp - 0xe0]
cdq
add esp, 0xc
cmp dword [ebp - 0x4c], 0
mov dword [ebx], eax
mov dword [ebp - 0x50], ebx
mov dword [ebx + 4], edx
jne case.0x4b47d5.18
cmp dword [ebp - 0xe0], 0
je case.0x4b47d5.18
mov eax, dword [esi + 8]
push dword [esi + 4]
imul eax, eax, 0x18
push dword [ebp - 0xe0]
add eax, dword [edi + 4]
push eax
call fcn.004a9c09
jmp 0x4b4923
mov eax, dword [esi + 8]
push dword [esi + 4]
imul eax, eax, 0x18
mov ecx, dword [ebp - 0x58]
mov ecx, dword [ecx + 4]
push dword [eax + ecx + 4]
call fcn.004afec6
pop ecx
jmp 0x4b5b13
mov esi, dword [esi + 4]
mov eax, dword [ebp - 0x58]
imul esi, esi, 0x18
add esi, dword [eax + 4]
xor eax, eax
cmp byte [ebp - 0x71], 0x67
setne al
dec eax
and eax, 3
inc eax
inc eax
push eax
lea eax, [ebp - 0xe4]
push eax
push dword [esi + 4]
call fcn.004af592
add ebx, 0x40
add esp, 0xc
test eax, eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x50], ebx
jne 0x4b4cea
mov eax, dword [ebp - 0xe4]
jmp 0x4b5319
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0x58]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x54], eax
imul eax, eax, 0x18
add eax, edx
mov edx, dword [eax + 0x14]
test byte [edx + 0x7a], 1
je case.0x4b47d5.18
cmp dword [ebp - 0x54], 1
mov edx, str.sqlite_temp_master
je 0x4b6db1
mov edx, str.sqlite_master
push dword [esi + 0xc]
add edi, 0x230
push edx
mov dword [ebp - 0x154], ecx
mov dword [ebp - 0x150], edi
push dword [eax]
push dword [ebp - 0x54]
push str.SELECT_name__rootpage__sql___d_FROM__q._s_WHERE__s
call fcn.004a5fcc
mov esi, eax
add esp, 0x14
test esi, esi
je 0x4b4980
mov edi, dword [ebp - 0x58]
push edi
call fcn.004a7770
push 0
lea eax, [ebp - 0x154]
push eax
push fcn.004a6924
push esi
push edi
mov byte [edi + 0x44], 1
call fcn.004a7be4
push esi
mov dword [ebp - 0x4c], eax
call fcn.004a7338
push edi
mov byte [edi + 0x44], 0
call fcn.004a7740
add esp, 0x20
cmp dword [ebp - 0x4c], 7
jne case.0x4b47d5.18
call fcn.004a79dc
jmp 0x4b4980
push dword [esi + 4]
push dword [ebp - 0x58]
call fcn.004b3e22
pop ecx
jmp 0x4b4d95
push dword [esi + 0xc]
push dword [esi + 4]
push dword [ebp - 0x58]
call fcn.004a921c
jmp 0x4b4923
push dword [esi + 0xc]
push dword [esi + 4]
push dword [ebp - 0x58]
call fcn.004a8f83
jmp 0x4b4923
push dword [esi + 0xc]
push dword [esi + 4]
push dword [ebp - 0x58]
call fcn.004bd0eb
jmp 0x4b4923
and dword [ebp - 0x68], 0
cmp ebx, dword [edi + 0x28]
jb 0x4b6e9c
mov eax, ebx
test byte [eax + 0x18], 4
je 0x4b6e9c
inc dword [ebp - 0x68]
mov ecx, dword [ebp - 0x68]
shl ecx, 6
mov eax, ebx
sub eax, ecx
cmp eax, dword [edi + 0x28]
jae 0x4b6e84
mov eax, dword [ebp - 0x68]
lea eax, [eax*4 + 4]
push 1
push eax
call fcn.004a79ec
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x54], eax
je 0x4b4980
xor eax, eax
cmp dword [ebp - 0x68], eax
jle 0x4b6ed3
mov ecx, dword [ebx]
mov edx, dword [ebp - 0x54]
mov dword [edx + eax*4], ecx
inc eax
sub ebx, 0x40
cmp eax, dword [ebp - 0x68]
jl 0x4b6ec2
mov ecx, dword [ebp - 0x54]
push dword [ebp - 0x68]
and dword [ecx + eax*4], 0
lea edi, [ebp - 0x50]
call fcn.004b45b3
mov eax, dword [esi + 8]
push dword [ebp - 0x68]
imul eax, eax, 0x18
mov ecx, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x50]
push dword [ebp - 0x54]
mov ecx, dword [ecx + 4]
push dword [eax + ecx + 4]
add ebx, 0x40
mov dword [ebp - 0x50], ebx
call fcn.004af781
add esp, 0x10
test eax, eax
je 0x4b6f34
cmp byte [eax], 0
push eax
je 0x4b6f2e
mov dword [ebx + 0x10], eax
call fcn.00488880
mov dword [ebx + 0x14], eax
mov word [ebx + 0x18], 0x62
and dword [ebx + 0x1c], 0
pop ecx
jmp 0x4b6f48
call fcn.004a7338
pop ecx
mov dword [ebx + 0x10], 0x5b6728
mov dword [ebx + 0x14], 2
mov word [ebx + 0x18], 0xa2
movzx eax, byte [ebp - 0x88]
push eax
push ebx
mov byte [ebx + 0x1b], 1
call fcn.004a7dfc
push dword [ebp - 0x54]
call fcn.004a7338
jmp 0x4b4923
push ebx
call fcn.004a8116
push dword [ebx + 4]
add edi, 0x64
push dword [ebx]
push edi
call fcn.004c0c6d
add esp, 0x10
jmp 0x4b4a67
mov eax, dword [ebp - 0x58]
test byte [eax + 8], 4
jne 0x4b7505
lea eax, [ebp - 0x14c]
push eax
mov eax, edi
add eax, 0x64
push eax
call fcn.004c0cca
cmp eax, 0x65
pop ecx
pop ecx
je 0x4b47e9
mov eax, dword [ebp - 0x14c]
add ebx, 0x40
mov dword [ebx], eax
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x50], ebx
jmp 0x4b4f83
mov esi, dword [edi + 0x70]
cmp esi, dword [edi + 0x74]
lea eax, [esi + 1]
mov dword [edi + 0x70], eax
jl 0x4b6ff2
mov dword [edi + 0x74], eax
lea eax, [esi + 1]
imul eax, eax, 0x18
push eax
add edi, 0x78
push edi
call fcn.004a7bbe
cmp dword [edi], 0
pop ecx
pop ecx
je 0x4b4980
mov eax, dword [ebp - 0x7c]
imul esi, esi, 0x18
add esi, dword [eax + 0x78]
mov ecx, dword [ebp - 0x58]
mov edx, dword [ecx + 0x20]
mov dword [esi], edx
mov ecx, dword [ecx + 0x24]
mov dword [esi + 4], ecx
mov ecx, dword [eax + 0x23c]
mov dword [esi + 8], ecx
add eax, 0x64
lea edi, [esi + 0xc]
mov esi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call fcn.004c0c5c
jmp 0x4b4d95
mov eax, edi
dec dword [eax + 0x70]
mov ecx, dword [eax + 0x70]
imul ecx, ecx, 0x18
add ecx, dword [eax + 0x78]
lea edi, [eax + 0x64]
mov esi, ecx
mov edx, dword [esi]
mov ecx, dword [ebp - 0x58]
mov dword [ecx + 0x20], edx
mov edx, dword [esi + 4]
mov dword [ecx + 0x24], edx
mov ecx, dword [esi + 8]
push edi
mov dword [eax + 0x23c], ecx
call fcn.004c0d19
add esi, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop ecx
movsd dword es:[edi], dword [esi]
jmp case.0x4b47d5.18
mov eax, dword [esi + 4]
shl eax, 6
add eax, dword [edi + 0x58]
push ebx
push eax
call fcn.004a8241
sub ebx, 0x40
cmp dword [esi + 8], 0
pop ecx
pop ecx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x50], ebx
jne case.0x4b47d5.18
mov eax, dword [esi + 4]
shl eax, 6
add ebx, 0x40
add eax, dword [edi + 0x58]
push 0x100
jmp 0x4b4919
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
shl ecx, 6
add ecx, dword [edi + 0x58]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.0x4b47d5.18
mov eax, dword [esi + 4]
mov edi, dword [edi + 0x58]
shl eax, 6
cmp dword [eax + edi + 4], 0
jl case.0x4b47d5.18
jg 0x4b47e9
cmp dword [eax + edi], 0
jbe case.0x4b47d5.18
jmp 0x4b47e9
mov eax, dword [esi + 4]
mov edi, dword [edi + 0x58]
shl eax, 6
cmp dword [eax + edi + 4], 0
jg case.0x4b47d5.18
jl 0x4b47e9
cmp dword [eax + edi], 0
jae case.0x4b47d5.18
jmp 0x4b47e9
mov eax, dword [esi + 4]
mov edi, dword [edi + 0x58]
shl eax, 6
mov ecx, dword [eax + edi]
or ecx, dword [eax + edi + 4]
jne case.0x4b47d5.18
jmp 0x4b47e9
mov eax, dword [esi + 4]
shl eax, 6
add eax, dword [edi + 0x58]
push eax
call fcn.004a8172
jmp 0x4b4d95
mov eax, dword [esi + 4]
cdq
push edx
push eax
mov eax, dword [esi + 8]
shl eax, 6
add eax, dword [edi + 0x58]
push eax
call fcn.004a818e
jmp 0x4b4923
mov eax, dword [esi + 8]
mov edi, dword [edi + 0x58]
shl eax, 6
add eax, edi
push eax
mov eax, dword [esi + 4]
shl eax, 6
add eax, edi
push eax
call fcn.004a8241
jmp 0x4b6d33
mov edx, dword [esi + 8]
and dword [ebp - 0x54], 0
mov eax, edx
shl eax, 6
sub ebx, eax
add ebx, 0x40
test edx, edx
mov ecx, ebx
mov ebx, dword [edi + 0x30]
mov dword [ebp - 0x70], edx
jle 0x4b71a3
mov eax, dword [ebp - 0x54]
mov dword [ebx + eax*4], ecx
call fcn.004b4587
inc dword [ebp - 0x54]
add ecx, 0x40
cmp dword [ebp - 0x54], edx
jl 0x4b718d
mov eax, dword [esi + 0xc]
mov dword [ebp - 8], eax
mov eax, dword [esi + 4]
shl eax, 6
add eax, dword [edi + 0x58]
mov dword [ebp + 0x40], eax
inc dword [eax + 0x14]
xor eax, eax
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x1c], eax
mov byte [ebp + 0x44], al
mov dword [ebp + 0x48], eax
mov eax, dword [ebp - 8]
mov word [ebp + 0x18], 1
cmp byte [eax + 3], 0
je 0x4b71db
mov ecx, dword [esi - 8]
mov dword [ebp + 0x48], ecx
push ebx
push dword [ebp - 0x70]
lea ecx, [ebp - 8]
push ecx
call dword [eax + 0x14]
push dword [ebp - 0x70]
lea edi, [ebp - 0x50]
call fcn.004b45b3
add esp, 0x10
cmp byte [ebp + 0x44], 0
je 0x4b721f
lea eax, [ebp]
push 0
push eax
call fcn.004a7036
pop ecx
push eax
mov eax, dword [ebp - 0x7c]
add eax, 0x230
push eax
call fcn.004a7aae
add esp, 0xc
mov dword [ebp - 0x4c], 1
lea eax, [ebp]
push eax
call fcn.004a7fce
jmp 0x4b4933
mov eax, dword [esi + 4]
push dword [esi + 0xc]
shl eax, 6
add eax, dword [edi + 0x58]
push eax
mov dword [ebp - 0x8c], eax
call fcn.004a7f40
cmp eax, 1
pop ecx
pop ecx
mov dword [ebp - 0x4c], eax
jne case.0x4b47d5.18
push 0
push dword [ebp - 0x8c]
call fcn.004a7036
pop ecx
push eax
add edi, 0x230
push edi
call fcn.004a7aae
jmp 0x4b4923
push dword [ebp - 0x58]
call fcn.004a7770
test eax, eax
pop ecx
jne 0x4b72a5
push dword [ebp - 0x58]
add edi, 0x230
push edi
call fcn.004c2688
push dword [ebp - 0x58]
mov dword [ebp - 0x4c], eax
call fcn.004a7740
add esp, 0xc
test eax, eax
je case.0x4b47d5.18
mov dword [ebp - 0x4c], 0x15
mov esi, dword [ebp - 0x7c]
add esi, 0x230
cmp dword [esi], 0
jne 0x4b72df
call fcn.004a79c0
test eax, eax
je 0x4b72ca
mov dword [ebp - 0x4c], 7
push 0
push dword [ebp - 0x4c]
call fcn.004a62a6
pop ecx
push eax
push esi
call fcn.004a7aae
add esp, 0xc
cmp dword [ebp - 0x4c], 0
je 0x4b7540
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x7c]
xor esi, esi
mov dword [ecx + 0x80], eax
inc esi
jmp 0x4b7543
cmp dword [esi + 4], 0
je 0x4b5c7e
mov byte [edi + 0x238], 1
jmp case.0x4b47d5.18
mov eax, dword [esi + 4]
test eax, eax
setl byte [ebp - 0x110]
cmp byte [ebp - 0x110], 0
je 0x4b732f
or ecx, 0xffffffff
sub ecx, eax
mov eax, ecx
push dword [ebp - 0x110]
imul eax, eax, 0x18
push dword [esi + 8]
mov ecx, dword [ebp - 0x58]
mov ecx, dword [ecx + 4]
push dword [eax + ecx + 4]
call fcn.004aef3a
add esp, 0xc
cmp eax, 6
mov dword [ebp - 0x4c], eax
jne case.0x4b47d5.18
push 0
push dword [esi + 0xc]
add edi, 0x230
push str.database_table_is_locked:
push edi
call fcn.004a7aae
jmp 0x4b48bb
mov dword [edi + 0x2c], ebx
mov eax, dword [esi + 4]
mov dword [edi + 0x80], eax
mov dword [edi + 0x7c], ecx
mov eax, dword [esi + 8]
mov dword [edi + 0x88], eax
mov esi, dword [esi + 0xc]
test esi, esi
je 0x4b73a5
push 0
lea eax, [edi + 0x230]
push esi
push eax
call fcn.004a7aae
add esp, 0xc
push edi
call fcn.004b20bd
pop ecx
push 5
pop ecx
cmp eax, ecx
je 0x4b74ba
mov eax, dword [edi + 0x80]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x70]
xor ecx, ebp
call fcn.00488a42
add ebp, 0x74
leave
ret
mov ecx, dword [esi + 4]
shl ecx, 6
mov eax, ebx
sub eax, ecx
mov ecx, dword [edi + 0x28]
cmp ecx, eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x5c], ecx
jae 0x4b741f
mov eax, dword [ebp - 0x5c]
test word [eax + 0x18], 0x100
je 0x4b7410
push eax
call fcn.004a7e17
test eax, eax
pop ecx
jne 0x4b4980
mov edi, dword [ebp - 0x7c]
add dword [ebp - 0x5c], 0x40
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0xe4]
jb 0x4b73f3
mov eax, dword [edi + 0x60]
inc eax
inc eax
or eax, 1
mov dword [edi + 0x60], eax
jmp 0x4b7441
push dword [ebp - 0x5c]
call fcn.004a7e88
pop ecx
mov ecx, dword [ebp - 0x5c]
call fcn.004b4587
add dword [ebp - 0x5c], 0x40
cmp dword [ebp - 0x5c], ebx
jbe 0x4b742c
inc dword [edi + 0x5c]
mov byte [edi + 0x234], 1
mov eax, dword [esi + 4]
mov dword [edi + 0x22c], eax
mov eax, dword [ebp - 0x64]
inc eax
push 0x64
mov dword [edi + 0x7c], eax
pop eax
mov dword [edi + 0x2c], ebx
jmp 0x4b73c7
mov dword [ebp - 0x4c], 0x14
jmp 0x4b72ac
cmp dword [esi + 8], 0
je 0x4b7492
mov esi, eax
push esi
call fcn.004a6229
pop ecx
mov byte [esi + 0x10], 1
push 0x65
pop eax
jmp 0x4b73c7
mov al, byte [ebp - 0x71]
mov esi, dword [ebp - 0x58]
push edi
mov byte [esi + 0x10], al
call fcn.004b20bd
pop ecx
push 5
pop ecx
cmp eax, ecx
jne 0x4b748a
mov eax, dword [ebp - 0x64]
mov dword [edi + 0x7c], eax
mov al, 1
sub al, byte [ebp - 0x71]
mov dword [edi + 0x2c], ebx
mov byte [esi + 0x10], al
mov dword [edi + 0x80], ecx
mov eax, ecx
jmp 0x4b73c7
mov eax, dword [ebp - 0x64]
mov dword [edi + 0x7c], eax
mov dword [edi + 0x80], ecx
mov eax, ecx
jmp 0x4b7463
mov edx, dword [ebp - 0x64]
mov dword [ecx + 0x7c], edx
xor edx, edx
mov dword [ecx + 0x80], eax
cmp dword [esi + 8], edx
setle dl
inc edx
shl edx, 6
add edx, ebx
mov dword [ecx + 0x2c], edx
jmp 0x4b73c7
mov dword [ebp - 0x4c], 0xd
jmp 0x4b72ac
mov eax, dword [ebp - 0x58]
and dword [eax + 8], 0xfffffffb
mov esi, dword [ebp - 0x7c]
xor ecx, ecx
cmp dword [eax + 0x30], 0xf03b7906
push 0
sete cl
dec ecx
and ecx, 0xc
add ecx, 9
mov eax, ecx
push eax
mov dword [ebp - 0x4c], eax
mov dword [esi + 0x80], eax
call fcn.004a62a6
add esi, 0x230
jmp 0x4b72d4
push 0x65
pop esi
push dword [ebp - 0x7c]
call fcn.004b20bd
mov edi, dword [ebp - 0x7c]
pop ecx
mov eax, esi
jmp 0x4b7463