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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x134
mov eax, dword [0x5c31c8]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
xor ecx, ecx
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], ecx
mov byte [ebp - 0xf9], cl
mov esi, dword [edi]
mov eax, dword [edi + 4]
mov ebx, dword [edi + 8]
mov dword [ebp - 0x104], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0x108], ecx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x100], ecx
mov ecx, edi
mov dword [ebp - 0xec], edi
mov dword [ebp - 0xd4], esi
mov al, byte [eax + 0x4d]
mov byte [ebp - 0xf0], al
mov dword [ebp - 0xd8], ebx
call fcn.004c8767
xor eax, eax
push 7
inc eax
pop ecx
mov dword [ebp - 0x118], eax
cmp dword [edi + 0x5c], ecx
je 0x4d0d0f
xor edx, edx
mov dword [edi + 0x5c], edx
mov dword [edi + 0x14], edx
mov dword [esi + 0x1b4], edx
cmp dword [esi + 0xe0], edx
jne 0x4d0ce6
mov eax, dword [edi + 0x58]
xor ecx, ecx
cmp dword [esi + 0x114], edx
mov dword [ebp - 0xd0], eax
setne cl
mov dword [ebp - 0x110], ecx
cmp byte [esi + 0x1e], 0
push 2
pop edx
jne 0x4d0d0c
imul ebx, eax, 0x14
add ebx, dword [ebp - 0x104]
mov dword [ebp - 0xe4], ebx
test ecx, ecx
je 0x4cbaea
mov eax, dword [ebp - 0x10c]
cmp dword [esi + 0x11c], eax
jne 0x4cbae3
push dword [esi + 0x118]
call dword [esi + 0x114]
pop ecx
test eax, eax
jne 0x4d0b16
push 2
pop edx
inc eax
mov dword [ebp - 0x10c], eax
test byte [ebx + 2], dl
je 0x4cbb15
imul eax, dword [ebx + 8], 0x28
add eax, dword [ebp - 0xd8]
mov ecx, eax
mov dword [ebp - 0xdc], eax
call fcn.004c7335
mov edx, dword [ebp - 0xdc]
push 4
pop ecx
mov word [edx + 0x1c], cx
jmp 0x4cbb1e
mov edx, dword [ebp - 0xdc]
push 4
pop ecx
movzx eax, byte [ebx]
dec eax
cmp eax, 0x90
ja case.0x4cbb29.17
jmp dword [eax*4 + 0x4d0d9e]
cmp dword [esi + 0xe0], 0
jne 0x4d0ce6
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xcc]
jmp 0x4d0af4
imul ecx, dword [ebx + 4], 0x28
push 4
pop eax
add ecx, dword [ebp - 0xd8]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xd0]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp 0x4cbb3d
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0xd8]
mov eax, dword [eax + ecx + 0x10]
jmp 0x4cbb41
imul ecx, dword [ebx + 4], 0x28
push 4
pop eax
add ecx, dword [ebp - 0xd8]
mov word [ecx + 0x1c], ax
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xd0]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [ebp - 0xc8]
jmp 0x4cbb41
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0xd8]
test byte [eax + ecx + 0x1c], 1
je case.0x4cbb29.17
cmp dword [ebx + 4], 0
jne 0x4d0b1d
mov ecx, dword [edi + 0xa8]
test ecx, ecx
je 0x4d0b1d
mov eax, dword [ecx + 0x3c]
dec dword [edi + 0xb0]
mov dword [edi + 0xa8], eax
mov eax, dword [edi + 0x6c]
add dword [esi + 0x40], eax
mov dword [esi + 0x3c], eax
call fcn.004c8e60
push 4
pop edx
mov dword [ebp - 0xd0], eax
cmp dword [ebx + 8], edx
jne 0x4cbc16
imul ecx, eax, 0x14
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax + 8]
dec eax
mov dword [ebp - 0xd0], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x104], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0xd8], eax
jmp case.0x4cbb29.17
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xdc]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x4cbb29.17
mov ecx, dword [ebx + 0x10]
mov eax, dword [ecx]
mov dword [edx + 0x10], eax
mov eax, dword [ecx + 4]
mov dword [edx + 0x14], eax
jmp case.0x4cbb29.17
push 8
pop eax
mov word [edx + 0x1c], ax
mov eax, dword [ebx + 0x10]
fld qword [eax]
fstp qword [edx + 8]
jmp case.0x4cbb29.17
mov ecx, dword [ebx + 0x10]
mov byte [ebx], 9
call fcn.004b7023
mov dword [ebx + 4], eax
xor eax, eax
inc eax
cmp byte [ebp - 0xf0], al
je 0x4cbd0c
push 0
push eax
mov edx, ecx
mov ecx, dword [ebp - 0xdc]
push 0xffffffffffffffff
call fcn.004c77a7
add esp, 0xc
mov dword [ebp - 0xcc], eax
cmp eax, 0x12
je 0x4d0cd0
movzx edx, byte [ebp - 0xf0]
mov ecx, dword [ebp - 0xdc]
call fcn.004c7086
test eax, eax
jne 0x4d0d0c
mov edx, dword [ebp - 0xdc]
mov ecx, 0xfbff
and dword [edx + 0x24], eax
mov ax, word [edx + 0x1c]
and ax, cx
mov ecx, 0x800
or ax, cx
mov word [edx + 0x1c], ax
cmp byte [ebx + 1], 0xff
jne 0x4cbcfc
push dword [ebx + 0x10]
push esi
call fcn.004b54b7
mov edx, dword [ebp - 0xdc]
pop ecx
pop ecx
mov byte [ebx + 1], 0xff
mov eax, dword [edx + 4]
mov dword [ebx + 0x10], eax
mov eax, dword [edx + 0x18]
mov dword [ebx + 4], eax
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x48]
jg 0x4d0cd0
mov eax, 0xa02
mov word [edx + 0x1c], ax
mov eax, dword [ebx + 0x10]
mov dword [edx + 4], eax
mov eax, dword [ebx + 4]
mov dword [edx + 0x18], eax
mov al, byte [ebp - 0xf0]
mov byte [edx + 0x1f], al
jmp case.0x4cbb29.17
xor eax, eax
inc eax
mov word [edx + 0x1c], ax
jmp case.0x4cbb29.17
mov edx, dword [ebx + 0x10]
xor eax, eax
push eax
push eax
push dword [ebx + 4]
mov ebx, dword [ebp - 0xdc]
mov ecx, ebx
call fcn.004c77a7
mov al, byte [ebp - 0xf0]
add esp, 0xc
mov byte [ebx + 0x1f], al
jmp case.0x4cbb29.17
imul ecx, dword [ebx + 4], 0x28
mov esi, dword [edi + 0x48]
add ecx, 0xffffffd8
add esi, ecx
mov ecx, esi
mov dword [ebp - 0xc8], esi
call fcn.004c76b2
test eax, eax
jne 0x4d0cca
mov eax, 0x800
mov edx, esi
mov ecx, dword [ebp - 0xdc]
push eax
call fcn.004c76d5
pop ecx
mov eax, dword [ebp - 0xcc]
jmp 0x4d0aee
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0xc4], edx
mov eax, dword [ebx + 4]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebx + 8]
imul esi, eax, 0x28
imul ebx, ecx, 0x28
mov dword [ebp - 0xbc], ecx
add esi, dword [ebp - 0xd8]
add ebx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], ebx
test edx, edx
je 0x4cbe29
push 0x28
pop edi
dec edx
mov ecx, ebx
mov dword [ebp - 0xc4], edx
mov edx, esi
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0xc8], eax
and dword [ebx + 0x24], 0
call fcn.004c7781
mov eax, dword [ebp - 0xc8]
add ebx, edi
mov dword [esi + 0x24], eax
add esi, edi
mov edx, dword [ebp - 0xc4]
test edx, edx
jne 0x4cbde9
mov edi, dword [ebp - 0xec]
mov dword [ebp - 0xdc], ebx
dec edx
mov dword [ebp - 0xc4], edx
jmp 0x4cbda4
imul eax, dword [ebx + 8], 0x28
imul edx, dword [ebx + 4], 0x28
add eax, dword [ebp - 0xd8]
add edx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], eax
mov eax, 0x1000
mov ebx, dword [ebp - 0xdc]
mov ecx, ebx
push eax
call fcn.004c76d5
mov eax, 0x1000
pop ecx
test word [ebx + 0x1c], ax
je case.0x4cbb29.17
mov ecx, ebx
call fcn.004c7161
test eax, eax
jne 0x4d0d0c
jmp case.0x4cbb29.17
imul eax, dword [ebx + 8], 0x28
mov edx, 0x1000
push edx
imul edx, dword [ebx + 4], 0x28
add eax, dword [ebp - 0xd8]
mov ecx, eax
mov dword [ebp - 0xdc], eax
add edx, dword [ebp - 0xd8]
call fcn.004c76d5
pop ecx
jmp case.0x4cbb29.17
xor edx, edx
mov ecx, edi
call fcn.004c9535
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4d0af4
xor edx, edx
mov ecx, edi
inc edx
call fcn.004c945d
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4d0af4
mov eax, dword [edi + 0x54]
push 2
pop ecx
add eax, ecx
xor ecx, ecx
or eax, 1
mov dword [edi + 0x54], eax
imul edx, dword [ebx + 4], 0x28
mov dword [ebp - 0xc4], ecx
add edx, dword [ebp - 0xd8]
mov dword [edi + 0x14], edx
mov dword [ebp - 0xc8], edx
cmp dword [ebx + 8], ecx
jle 0x4d0ba7
imul eax, ecx, 0x28
mov esi, 0x1000
add eax, edx
test word [eax + 0x1c], si
mov esi, dword [ebp - 0xd4]
je 0x4cbf45
mov ecx, eax
call fcn.004c7161
test eax, eax
jne 0x4d0d0c
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc8]
imul ecx, ecx, 0x28
add ecx, edx
call fcn.004c7210
imul ecx, dword [ebp - 0xc4], 0x28
add ecx, dword [ebp - 0xc8]
call fcn.004cb7e2
mov ecx, dword [ebp - 0xc4]
inc ecx
mov dword [ebp - 0xc4], ecx
cmp ecx, dword [ebx + 8]
jge 0x4d0ba7
mov edx, dword [ebp - 0xc8]
jmp 0x4cbf14
imul ecx, dword [ebx + 4], 0x28
imul esi, dword [ebx + 8], 0x28
mov eax, dword [ebp - 0xd8]
imul ebx, dword [ebx + 0xc], 0x28
add ecx, eax
add esi, eax
mov dword [ebp - 0xe0], ecx
add ebx, eax
movzx edx, word [ecx + 0x1c]
mov al, byte [esi + 0x1c]
or al, dl
mov dword [ebp - 0xdc], ebx
test al, 1
je 0x4cbfbc
mov ecx, ebx
call fcn.004c75a6
jmp 0x4cbda4
mov eax, 0x4000
test eax, edx
je 0x4cbfce
call fcn.004c71bd
xor ebx, ebx
jmp 0x4cbfd2
xor ebx, ebx
mov eax, ebx
test eax, eax
jne 0x4d0d06
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x4cbfee
mov ecx, esi
call fcn.004c71bd
jmp 0x4cbff0
mov eax, ebx
test eax, eax
jne 0x4d0d06
mov eax, dword [ebp - 0xe0]
test byte [eax + 0x1c], 0x12
jne 0x4cc01a
movzx edx, byte [ebp - 0xf0]
mov ecx, eax
call fcn.004c725c
test eax, eax
jne 0x4d0d06
test byte [esi + 0x1c], 0x12
jne 0x4cc036
movzx edx, byte [ebp - 0xf0]
mov ecx, esi
call fcn.004c725c
test eax, eax
jne 0x4d0d06
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x18]
add eax, dword [esi + 0x18]
cdq
mov dword [ebp - 0xc8], eax
mov ecx, edx
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xc4], ecx
mov eax, dword [eax + 0x48]
cdq
cmp ecx, edx
jg 0x4d0cca
jl 0x4cc071
cmp dword [ebp - 0xc8], eax
ja 0x4d0cca
mov ecx, dword [ebp - 0xdc]
mov edx, 0xbf02
push 2
mov ax, word [ecx + 0x1c]
and ax, dx
pop edx
or ax, dx
mov word [ecx + 0x1c], ax
xor eax, eax
mov edx, dword [ebp - 0xc8]
cmp ecx, esi
sete al
push eax
lea edx, [edx + 2]
call fcn.004c70a0
pop ecx
test eax, eax
jne 0x4d0d06
mov eax, dword [ebp - 0xdc]
cmp eax, esi
je 0x4cc0c7
push dword [esi + 0x18]
push dword [esi + 4]
push dword [eax + 4]
call sub.MSVCR120.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0xe0]
push dword [eax + 0x18]
push dword [eax + 4]
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 4]
add eax, dword [esi + 0x18]
push eax
call sub.MSVCR120.dll_memcpy
mov edx, dword [ebp - 0xdc]
add esp, 0xc
mov eax, dword [ebp - 0xc8]
mov ecx, dword [edx + 4]
mov byte [eax + ecx], bl
mov eax, dword [ebp - 0xc8]
mov ecx, dword [edx + 4]
mov byte [ecx + eax + 1], bl
mov ebx, edx
mov eax, 0x200
or word [ebx + 0x1c], ax
mov eax, dword [ebp - 0xc8]
mov dword [ebx + 0x18], eax
mov al, byte [ebp - 0xf0]
mov byte [ebx + 0x1f], al
jmp 0x4cbda4
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0xd8]
mov ecx, esi
call fcn.004cb8c6
imul eax, dword [ebx + 8], 0x28
add eax, dword [ebp - 0xd8]
mov ecx, eax
mov dword [ebp - 0xe4], eax
call fcn.004cb8c6
imul eax, dword [ebx + 0xc], 0x28
mov edx, dword [ebp - 0xe4]
add eax, dword [ebp - 0xd8]
movzx ecx, word [edx + 0x1c]
mov dword [ebp - 0xdc], eax
movzx eax, word [esi + 0x1c]
or ecx, eax
mov dword [ebp - 0xc8], ecx
test cl, 1
jne 0x4cc400
mov al, byte [edx + 0x1c]
and al, byte [esi + 0x1c]
push 4
pop edx
test dl, al
je 0x4cc2ce
mov ecx, dword [esi + 0x10]
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xc0], ecx
mov edx, dword [esi + 0x14]
mov dword [ebp - 0xbc], edx
mov edi, dword [eax + 0x10]
mov dword [ebp - 0xb8], edi
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xb4], eax
movzx eax, byte [ebx]
mov dword [ebp - 0xe0], edi
mov edi, dword [ebp - 0xec]
sub eax, 0x56
je 0x4cc288
dec eax
je 0x4cc279
dec eax
je 0x4cc26a
dec eax
mov eax, ecx
je 0x4cc223
or eax, edx
je 0x4cc400
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x4cc20e
xor ecx, ecx
inc ecx
xor edx, edx
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xbc], edx
push edx
push ecx
push dword [ebp - 0xf4]
push dword [ebp - 0xe0]
call fcn.005613d0
jmp 0x4cc25c
or eax, edx
je 0x4cc400
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0xe0]
jne 0x4cc24e
test eax, eax
jne 0x4cc24e
cmp dword [ebp - 0xf4], 0x80000000
je 0x4cc2ce
push edx
push ecx
push dword [ebp - 0xf4]
push eax
call fcn.0055df10
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], edx
jmp 0x4cc29b
push edx
push ecx
lea ecx, [ebp - 0xb8]
call fcn.004b7d31
jmp 0x4cc295
push edx
push ecx
lea ecx, [ebp - 0xb8]
call fcn.004b7ce3
jmp 0x4cc295
push edx
push ecx
lea ecx, [ebp - 0xb8]
call fcn.004b7c57
pop ecx
pop ecx
test eax, eax
jne 0x4cc2ce
mov ebx, dword [ebp - 0xdc]
mov ecx, 0xbf04
mov eax, dword [ebp - 0xb8]
push 4
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0xb4]
mov dword [ebx + 0x14], eax
mov ax, word [ebx + 0x1c]
and ax, cx
pop ecx
or ax, cx
mov word [ebx + 0x1c], ax
jmp 0x4cbda4
mov ecx, esi
call fcn.004c7465
mov ecx, dword [ebp - 0xe4]
fst qword [ebp - 0xf8]
fstp qword [ebp - 0xb0]
call fcn.004c7465
fst qword [ebp - 0xa8]
movzx eax, byte [ebx]
sub eax, 0x56
je 0x4cc3a2
dec eax
je 0x4cc39a
dec eax
je 0x4cc392
dec eax
je 0x4cc37c
fld qword [ebp - 0xf8]
call fcn.0055e036
mov esi, eax
mov ebx, edx
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xbc], ebx
call fcn.0055e036
mov ecx, esi
mov dword [ebp - 0xb8], eax
or ecx, ebx
mov dword [ebp - 0xb4], edx
je 0x4cc400
mov ecx, esi
and ecx, ebx
cmp ecx, 0xffffffff
jne 0x4cc35f
xor esi, esi
inc esi
xor ebx, ebx
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xbc], ebx
push ebx
push esi
push edx
push eax
call fcn.005613d0
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], edx
fild qword [ebp - 0x128]
jmp 0x4cc3a8
fldz
fld qword [ebp - 0xf8]
fucomi st(1)
fstp st(1)
lahf
test ah, 0x44
jnp 0x4cc3fc
fdivp st(1)
jmp 0x4cc3a8
fmul qword [ebp - 0xf8]
jmp 0x4cc3a8
fsub qword [ebp - 0xf8]
jmp 0x4cc3a8
fadd qword [ebp - 0xf8]
push ecx
fst qword [ebp - 0xa8]
push ecx
fstp qword [esp]
call fcn.004b6ff7
add esp, 8
test eax, eax
jne 0x4cc400
mov ebx, dword [ebp - 0xdc]
mov ecx, 0xbf08
fld qword [ebp - 0xa8]
push 8
mov ax, word [ebx + 0x1c]
and ax, cx
pop ecx
or ax, cx
fstp qword [ebx + 8]
mov word [ebx + 0x1c], ax
test byte [ebp - 0xc8], cl
jne 0x4cbda4
mov ecx, ebx
call fcn.004c74b3
jmp 0x4cbda4
fstp st(0)
fstp st(0)
mov ecx, dword [ebp - 0xdc]
jmp 0x4cbfb2
movzx eax, byte [ebx + 3]
mov ecx, dword [edi + 0xc]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0x7c], eax
imul ecx, dword [ebx + 0xc], 0x28
imul edx, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0xd8]
add edx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], ecx
xor ecx, ecx
mov dword [ebp - 0xc4], edx
mov esi, ecx
mov dword [ebp - 0xc8], esi
test eax, eax
jle 0x4cc4a8
mov eax, dword [ebp - 0xe4]
mov dword [eax + esi*4], edx
mov eax, 0x1000
mov ecx, dword [ebp - 0xc4]
test word [ecx + 0x1c], ax
je 0x4cc479
call fcn.004c7161
test eax, eax
jne 0x4d0d06
mov ecx, dword [ebp - 0xc4]
call fcn.004cb7e2
mov esi, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xc4]
inc esi
push 0x28
pop eax
add edx, eax
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xc4], edx
cmp esi, dword [ebp - 0x7c]
jge 0x4cc4a6
mov eax, dword [ebp - 0x80]
jmp 0x4cc452
xor ecx, ecx
cmp byte [ebx + 1], 0xfb
mov eax, dword [ebx + 0x10]
jne 0x4cc4b9
mov dword [ebp - 0xbc], ecx
jmp 0x4cc4c1
mov dword [ebp - 0xbc], eax
mov eax, dword [eax]
mov esi, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xc0], eax
xor eax, eax
inc eax
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x94], ecx
lea ecx, [ebp - 0xb8]
mov word [ebp - 0x9c], ax
mov dword [ebp - 0xb8], esi
call fcn.004c7781
mov eax, dword [ebp - 0x9c]
mov ecx, 0xbf01
and dword [ebp - 0x8c], 0
and eax, ecx
mov ecx, dword [ebp - 0xc0]
or eax, 1
mov word [ebp - 0x9c], ax
push 8
pop eax
test byte [ecx + 3], al
je 0x4cc52f
mov eax, dword [ebx - 4]
mov dword [ebp - 0x88], eax
push dword [ebp - 0x80]
lea eax, [ebp - 0xc0]
push dword [ebp - 0x7c]
push eax
call dword [ecx + 0xc]
add esp, 0xc
cmp byte [esi + 0x1e], 0
jne 0x4d0bc3
mov ecx, dword [ebp - 0xbc]
test ecx, ecx
je 0x4cc56b
mov edx, dword [ebx + 4]
call fcn.004c98e2
mov eax, dword [ebp - 0xbc]
mov dword [ebx + 0x10], eax
mov byte [ebx + 1], 0xf9
cmp dword [ebp - 0x8c], 0
je 0x4cc5a0
mov dl, 1
lea ecx, [ebp - 0xb8]
call fcn.004c7b84
push eax
push 0x5949b0
lea eax, [edi + 0x38]
push esi
push eax
call fcn.004b5809
mov eax, dword [ebp - 0x8c]
add esp, 0x10
mov dword [ebp - 0xcc], eax
movzx edx, byte [ebp - 0xf0]
lea ecx, [ebp - 0xb8]
call fcn.004c7086
mov ecx, dword [ebp - 0xdc]
lea edx, [ebp - 0xb8]
call fcn.004c7781
mov ecx, dword [ebp - 0xdc]
call fcn.004c76b2
test eax, eax
jne 0x4d0cd0
jmp case.0x4cbb29.17
imul ecx, dword [ebx + 8], 0x28
imul esi, dword [ebx + 4], 0x28
mov eax, dword [ebp - 0xd8]
imul edx, dword [ebx + 0xc], 0x28
add ecx, eax
add esi, eax
add edx, eax
mov al, byte [ecx + 0x1c]
or al, byte [esi + 0x1c]
mov dword [ebp - 0xdc], edx
test al, 1
je 0x4cc60a
mov ecx, edx
jmp 0x4cbfb2
call fcn.004c7404
mov ecx, esi
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
call fcn.004c7404
mov ecx, eax
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0xb8], ecx
mov al, byte [ebx]
mov dword [ebp - 0xe4], ecx
mov byte [ebp - 0xdd], al
mov byte [ebp - 0xb0], al
cmp al, 0x52
jne 0x4cc661
mov esi, dword [ebp - 0xc8]
and esi, ecx
and dword [ebp - 0xc4], edx
mov dword [ebp - 0xc8], esi
jmp 0x4cc7a7
cmp al, 0x53
jne 0x4cc67e
mov esi, dword [ebp - 0xc8]
or esi, ecx
or dword [ebp - 0xc4], edx
mov dword [ebp - 0xc8], esi
jmp 0x4cc7a7
mov eax, ecx
or eax, edx
je 0x4cc7a1
xor ebx, ebx
cmp edx, ebx
jg 0x4cc6e3
jl 0x4cc694
cmp ecx, ebx
jae 0x4cc6e3
mov al, 0xa9
sub al, byte [ebp - 0xdd]
mov byte [ebp - 0xb0], al
cmp edx, 0xffffffff
jl 0x4cc6c8
jg 0x4cc6ae
cmp ecx, 0xffffffc0
jbe 0x4cc6c8
neg ecx
mov dword [ebp - 0xe4], ecx
adc edx, ebx
mov dword [ebp - 0xb8], ecx
neg edx
mov dword [ebp - 0xb4], edx
jmp 0x4cc6e9
push 0x40
pop esi
mov ecx, esi
mov edx, ebx
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xb4], edx
jmp 0x4cc6ec
mov al, byte [ebp - 0xdd]
push 0x40
pop esi
cmp edx, ebx
jl 0x4cc725
jg 0x4cc6f6
cmp ecx, esi
jb 0x4cc725
cmp dword [ebp - 0xc4], ebx
jg 0x4cc70f
jl 0x4cc708
cmp dword [ebp - 0xc8], ebx
jae 0x4cc70f
cmp al, 0x54
je 0x4cc70f
or ebx, 0xffffffff
mov eax, ebx
cdq
mov esi, eax
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xc8], esi
jmp 0x4cc7a7
mov edx, dword [ebp - 0xc4]
cmp al, 0x54
mov eax, dword [ebp - 0xc8]
jne 0x4cc740
call fcn.00561490
mov esi, eax
mov eax, edx
jmp 0x4cc787
call fcn.00561550
mov esi, eax
mov eax, edx
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xc4], ebx
jg 0x4cc793
jl 0x4cc767
cmp dword [ebp - 0xc8], ebx
jae 0x4cc793
push 0x40
pop eax
mov ecx, eax
or edx, 0xffffffff
sub ecx, dword [ebp - 0xe4]
or eax, 0xffffffff
call fcn.00561490
or esi, eax
mov eax, dword [ebp - 0xbc]
or eax, edx
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xc4], eax
jmp 0x4cc7a7
mov esi, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xdc]
mov edx, 0xbf04
push 4
mov dword [ecx + 0x10], esi
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x14], eax
mov ax, word [ecx + 0x1c]
and ax, dx
pop edx
or ax, dx
mov word [ecx + 0x1c], ax
jmp 0x4cbda4
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0xd8]
mov ecx, esi
call fcn.004c7516
mov eax, dword [ebx + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
jmp 0x4cbda4
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0xd8]
mov ecx, esi
call fcn.004cb8c6
push 8
pop eax
test byte [esi + 0x1c], al
je 0x4cc814
mov ecx, esi
call fcn.004c74b3
movzx eax, word [esi + 0x1c]
push 4
pop ecx
test cl, al
jne 0x4cc838
mov eax, dword [ebx + 8]
mov esi, dword [ebp - 0xd4]
test eax, eax
jne 0x4cbb40
push 0x14
pop eax
jmp 0x4d0c81
mov edx, 0xbf04
and eax, edx
or eax, ecx
mov word [esi + 0x1c], ax
jmp 0x4cbda4
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0xd8]
movzx ebx, word [esi + 0x1c]
test cl, bl
je 0x4cbda4
mov ecx, esi
call fcn.004c7465
mov eax, 0xbf08
and ebx, eax
push 8
pop eax
or ebx, eax
fstp qword [esi + 8]
mov word [esi + 0x1c], bx
jmp 0x4cbda4
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0xd8]
movzx ecx, word [esi + 0x1c]
test cl, 1
jne 0x4cbda4
mov eax, ecx
push 2
pop edx
push dword [ebp - 0xf0]
shr eax, 3
and eax, edx
mov dl, 0x61
or eax, ecx
mov ecx, esi
mov word [esi + 0x1c], ax
call fcn.004cb93f
mov eax, 0x4000
pop ecx
test word [esi + 0x1c], ax
je 0x4cc8d0
mov ecx, esi
call fcn.004c71bd
mov dword [ebp - 0xcc], eax
jmp 0x4cc8d7
and dword [ebp - 0xcc], 0
mov eax, 0xbfe3
and word [esi + 0x1c], ax
jmp 0x4cbda4
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0xd8]
movzx eax, word [esi + 0x1c]
test al, 1
jne 0x4cbda4
push 0x10
pop ebx
test bl, al
jne 0x4cc926
push dword [ebp - 0xf0]
mov dl, 0x61
mov ecx, esi
call fcn.004cb93f
mov ax, word [esi + 0x1c]
pop ecx
mov ecx, 0xbf10
and ax, cx
or ax, bx
jmp 0x4cc841
and eax, 0xff10
jmp 0x4cc841
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xd8]
call fcn.004c753c
jmp case.0x4cbb29.17
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xd8]
test byte [ecx + 0x1c], 1
jne case.0x4cbb29.17
call fcn.004c7516
jmp case.0x4cbb29.17
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0xd8]
movzx ebx, word [esi + 0x1c]
test bl, 1
jne 0x4cbda4
jmp 0x4cc860
imul esi, dword [ebx + 4], 0x28
imul ecx, dword [ebx + 0xc], 0x28
add esi, dword [ebp - 0xd8]
add ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], ecx
mov ax, word [esi + 0x1c]
mov word [ebp - 0xc2], ax
mov ax, word [ecx + 0x1c]
mov word [ebp - 0xc0], ax
movzx ecx, word [ecx + 0x1c]
movzx edx, word [esi + 0x1c]
mov al, cl
or al, dl
test al, 1
je 0x4cca15
mov al, byte [ebx + 3]
test al, al
jns 0x4cc9d1
and ecx, edx
not ecx
and ecx, 1
jmp 0x4cca98
push 0x10
pop ecx
test cl, al
je 0x4cc9ff
imul ebx, dword [ebx + 8], 0x28
xor edx, edx
mov ecx, 0xbf01
inc edx
add ebx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], ebx
mov ax, word [ebx + 0x1c]
and ax, cx
or ax, dx
jmp 0x4cc2c5
push 8
pop ecx
test cl, al
mov esi, dword [ebp - 0xd4]
je case.0x4cbb29.17
jmp 0x4cbb3d
mov dl, byte [ebx + 3]
and dl, 0x67
mov byte [ebp - 0xc4], dl
je 0x4cca59
push dword [ebp - 0xf0]
mov ecx, esi
call fcn.004cb93f
mov dl, byte [ebp - 0xc4]
pop ecx
push dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xe0]
call fcn.004cb93f
mov eax, dword [ebp - 0xd4]
pop ecx
cmp byte [eax + 0x1e], 0
jne 0x4d0d02
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x4cca6b
mov ecx, esi
call fcn.004c71bd
mov eax, dword [ebp - 0xe0]
mov ecx, 0x4000
test word [eax + 0x1c], cx
je 0x4cca89
mov ecx, eax
call fcn.004c71bd
mov eax, dword [ebp - 0xe0]
push dword [ebx + 0x10]
mov edx, esi
mov ecx, eax
call fcn.004c7900
pop ecx
mov ecx, eax
mov dword [ebp - 0xc8], ecx
movzx eax, byte [ebx]
sub eax, 0x4b
je 0x4ccadf
dec eax
je 0x4ccad6
dec eax
je 0x4ccacd
dec eax
je 0x4ccac4
dec eax
je 0x4ccabb
xor eax, eax
test ecx, ecx
setns al
jmp 0x4ccae6
xor eax, eax
test ecx, ecx
sets al
jmp 0x4ccae6
xor eax, eax
test ecx, ecx
setle al
jmp 0x4ccae6
xor eax, eax
test ecx, ecx
setg al
jmp 0x4ccae6
xor eax, eax
test ecx, ecx
sete al
jmp 0x4ccae6
xor eax, eax
test ecx, ecx
setne al
push 0x10
pop ecx
mov dword [ebp - 0xc8], eax
test byte [ebx + 3], cl
je 0x4ccb29
imul ebx, dword [ebx + 8], 0x28
mov ecx, 0xbf04
push 4
add ebx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], ebx
mov ax, word [ebx + 0x1c]
and ax, cx
pop ecx
or ax, cx
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0xc8]
cdq
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jmp 0x4ccb37
test eax, eax
je 0x4ccb37
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xd0], eax
mov al, byte [ebp - 0xc2]
mov ecx, dword [ebp - 0xe0]
mov byte [esi + 0x1c], al
mov al, byte [ebp - 0xc0]
mov byte [ecx + 0x1c], al
jmp 0x4cbda4
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x100], ecx
jmp case.0x4cbb29.17
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebx + 4]
mov dword [ebp - 0xc0], edx
mov ebx, dword [ebx + 8]
mov dword [ebp - 0xf4], edx
xor edx, edx
mov dword [ebp - 0xe4], ecx
mov esi, edx
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xc4], esi
test eax, eax
jle 0x4ccc59
mov edx, ebx
mov eax, dword [ebp - 0x100]
test eax, eax
je 0x4ccbbb
mov ebx, dword [eax + esi*4]
jmp 0x4ccbbd
mov ebx, esi
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xb4], ebx
mov ecx, dword [ecx + esi*4 + 0xc]
mov dword [ebp - 0xb0], ecx
mov eax, dword [eax + 8]
push ecx
movzx eax, byte [eax + esi]
mov dword [ebp - 0xac], eax
lea eax, [ebx + edx]
imul edx, eax, 0x28
mov eax, dword [ebp - 0xf4]
add eax, ebx
imul ecx, eax, 0x28
add edx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0xd8]
call fcn.004c7900
mov dword [ebp - 0x108], eax
pop ecx
test eax, eax
jne 0x4ccc46
mov esi, dword [ebp - 0xc4]
inc esi
mov dword [ebp - 0xc4], esi
cmp esi, dword [ebp - 0xc8]
jge 0x4ccc57
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0xf4], eax
jmp 0x4ccbac
cmp dword [ebp - 0xac], 0
je 0x4ccc57
neg eax
mov dword [ebp - 0x108], eax
xor edx, edx
mov dword [ebp - 0x100], edx
jmp 0x4cbda4
mov eax, dword [ebp - 0x108]
test eax, eax
jns 0x4ccc76
mov eax, dword [ebx + 4]
jmp 0x4cbb40
je 0x4cbb3d
mov eax, dword [ebx + 0xc]
jmp 0x4cbb40
imul ecx, dword [ebx + 4], 0x28
xor edx, edx
inc edx
add ecx, dword [ebp - 0xd8]
test byte [ecx + 0x1c], dl
je 0x4ccc9b
push 2
pop eax
jmp 0x4cccb0
call fcn.004c7404
or eax, edx
je 0x4cccab
xor edx, edx
inc edx
mov eax, edx
jmp 0x4cccb0
xor edx, edx
xor eax, eax
inc edx
mov dword [ebp - 0xc8], eax
imul ecx, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0xd8]
test byte [ecx + 0x1c], dl
je 0x4cccca
push 2
pop ecx
jmp 0x4ccce5
call fcn.004c7404
or eax, edx
mov eax, dword [ebp - 0xc8]
je 0x4ccce0
xor edx, edx
inc edx
mov ecx, edx
jmp 0x4ccce5
xor edx, edx
xor ecx, ecx
inc edx
mov dword [ebp - 0xc4], ecx
imul eax, eax, 3
cmp byte [ebx], 0x45
jne 0x4cccfd
movzx eax, byte [eax + ecx + 0x587db4]
jmp 0x4ccd05
movzx eax, byte [eax + ecx + 0x58abc8]
mov dword [ebp - 0xc8], eax
imul ebx, dword [ebx + 0xc], 0x28
push 2
pop ecx
add ebx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], ebx
cmp eax, ecx
jne 0x4ccd3a
mov ax, word [ebx + 0x1c]
mov ecx, 0xbf01
and ax, cx
or ax, dx
mov word [ebx + 0x1c], ax
jmp case.0x4cbb29.17
cdq
mov ecx, 0xbf04
mov dword [ebx + 0x10], eax
mov ax, word [ebx + 0x1c]
and ax, cx
mov dword [ebx + 0x14], edx
push 4
pop ecx
or ax, cx
jmp 0x4ccd31
imul ecx, dword [ebx + 4], 0x28
imul ebx, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0xd8]
add ebx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], ebx
test byte [ecx + 0x1c], 1
je 0x4ccd81
mov ecx, ebx
call fcn.004c75a6
jmp case.0x4cbb29.17
call fcn.004c7404
or eax, edx
jne 0x4ccd8d
inc eax
jmp 0x4ccd8f
xor eax, eax
cdq
push edx
push eax
mov ecx, ebx
call fcn.004c75ed
pop ecx
jmp 0x4cbead
imul ecx, dword [ebx + 4], 0x28
imul ebx, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0xd8]
add ebx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], ebx
test byte [ecx + 0x1c], 1
jne 0x4ccd75
call fcn.004c7404
not eax
not edx
jmp 0x4ccd90
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xd8]
test byte [ecx + 0x1c], 1
je 0x4ccddf
mov ecx, dword [ebx + 0xc]
jmp 0x4cce09
call fcn.004c7465
fldz
fxch st(1)
fucompi st(1)
fstp st(0)
lahf
xor ecx, ecx
test ah, 0x44
jnp 0x4ccdf5
inc ecx
mov dword [ebp - 0xc8], ecx
cmp byte [ebx], 0x1b
jne 0x4cce0f
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jmp 0x4cca0a
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0xd8]
test byte [eax + ecx + 0x1c], 1
jmp 0x4cca0a
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0xd8]
test byte [eax + ecx + 0x1c], 1
jne case.0x4cbb29.17
jmp 0x4cbb3d
mov eax, dword [ebx + 4]
lea edi, [ebp - 0x88]
mov dword [ebp - 0xb8], eax
xor edx, edx
mov eax, dword [ebx + 8]
mov esi, 0xbf01
mov dword [ebp - 0xb4], eax
xor eax, eax
mov dword [ebp - 0xb0], edx
push 0xa
pop ecx
rep stosd dword es:[edi], eax
imul ecx, dword [ebx + 0xc], 0x28
mov edi, dword [ebp - 0xec]
add ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x8c], ecx
mov ax, word [ecx + 0x1c]
and ax, si
or ax, word [ebp - 0x118]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xb8]
mov ecx, dword [edi + 0x44]
mov dword [ebp - 0xac], edx
mov esi, dword [ecx + eax*4]
mov dword [ebp - 0xb0], esi
mov eax, dword [esi]
mov dword [ebp - 0xa8], eax
test eax, eax
je 0x4ccf61
mov ecx, esi
call fcn.004c9a0f
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4d0c7b
mov esi, dword [ebp - 0xb0]
cmp byte [esi + 0x1c], al
je 0x4cceeb
and dword [ebp - 0xc8], eax
jmp 0x4d0aee
mov eax, dword [esi + 0x4c]
cmp eax, dword [edi + 0x54]
jne 0x4ccf0c
mov ecx, dword [esi + 0x50]
xor edx, edx
mov dword [ebp - 0xc8], ecx
mov eax, dword [esi + 0x5c]
mov dword [ebp - 0xac], eax
jmp 0x4ccfac
cmp byte [esi + 0x1f], 0
je 0x4ccf39
mov ecx, dword [ebp - 0xa8]
lea edx, [ebp - 0xc0]
call fcn.004c26d5
mov ecx, dword [ebp - 0xc0]
xor edx, edx
mov esi, dword [ebp - 0xb0]
mov dword [ebp - 0xcc], eax
jmp 0x4ccfa6
mov esi, dword [ebp - 0xa8]
mov ecx, esi
call fcn.004c26ab
mov ecx, dword [esi + 0x2c]
xor edx, edx
mov esi, dword [ebp - 0xb0]
mov eax, edx
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xcc], eax
jmp 0x4ccfb2
mov eax, dword [esi + 0x10]
test eax, eax
jle 0x4ccfa4
imul ecx, eax, 0x28
push 0x20
add ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x48], ecx
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0xc8], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0xac], eax
pop eax
test byte [ebx + 3], al
mov eax, edx
jne 0x4ccf93
mov eax, dword [edi + 0x54]
mov dword [esi + 0x4c], eax
mov esi, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xc8]
jmp 0x4ccfac
mov ecx, edx
mov dword [ebp - 0xc8], ecx
mov eax, dword [ebp - 0xcc]
test ecx, ecx
je 0x4d0aee
mov eax, dword [ebp - 0xd4]
cmp ecx, dword [eax + 0x48]
ja 0x4d0cc6
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x9c], eax
mov ecx, dword [esi + 0x54]
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xa4], ecx
mov eax, dword [esi + 0x4c]
cmp eax, dword [edi + 0x54]
jne 0x4ccff7
mov eax, dword [esi + 0x58]
mov dword [ebp - 0xa0], eax
jmp 0x4cd23a
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0x4c], edx
lea eax, [ecx + eax*4]
mov dword [ebp - 0xa0], eax
mov dword [esi + 0x58], eax
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xc8]
mov dword [ecx + 0x50], eax
mov eax, dword [ebp - 0xb0]
mov ecx, dword [edi + 0x54]
mov dword [eax + 0x4c], ecx
mov eax, dword [ebp - 0xac]
test eax, eax
je 0x4cd039
mov dword [ebp - 0x90], eax
jmp 0x4cd098
mov esi, dword [ebp - 0xb0]
mov ecx, edx
mov eax, dword [ebp - 0xa8]
cmp byte [esi + 0x1f], 0
je 0x4cd056
cmp byte [eax + 0x53], 1
jne 0x4cd073
push edx
jmp 0x4cd05e
cmp byte [eax + 0x53], 1
jne 0x4cd073
push 1
lea edx, [ebp - 0x4c]
mov ecx, eax
call fcn.004c2aba
mov esi, dword [ebp - 0xb0]
xor edx, edx
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x90], ecx
cmp eax, dword [ebp - 0x4c]
ja 0x4cd08f
mov dword [ebp - 0xac], ecx
mov dword [esi + 0x5c], ecx
jmp 0x4cd092
mov dword [esi + 0x5c], edx
mov eax, dword [ebp - 0x90]
mov cl, byte [eax]
cmp cl, 0x80
jae 0x4cd0aa
movzx ecx, cl
xor edx, edx
mov dword [ebp - 0x58], ecx
inc edx
jmp 0x4cd0c0
lea edx, [ebp - 0x58]
mov ecx, eax
call fcn.004b7a90
mov ecx, dword [ebp - 0x58]
movzx edx, al
mov eax, dword [ebp - 0x90]
movzx esi, dl
mov dword [ebp - 0x50], esi
cmp ecx, 0x18003
jbe 0x4cd0e3
mov ecx, 0xfcb4
call fcn.004f47f7
mov dword [ebp - 0xcc], eax
jmp 0x4d0aee
imul edx, dword [ebp - 0x9c], 5
add edx, 3
cmp edx, ecx
cmovg edx, ecx
cmp dword [ebp - 0xac], 0
mov dword [ebp - 0x98], edx
jne 0x4cd15b
cmp dword [ebp - 0x4c], edx
jge 0x4cd15b
mov ecx, dword [ebp - 0xa8]
xor eax, eax
and dword [ebp - 0x88], eax
mov word [ebp - 0x6c], ax
lea eax, [ebp - 0x88]
push eax
mov eax, dword [ebp - 0xb0]
movzx eax, byte [eax + 0x1f]
push eax
push edx
xor edx, edx
call fcn.004c7a9a
add esp, 0xc
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4d0aee
mov eax, dword [ebp - 0x84]
mov esi, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x98]
mov dword [ebp - 0x90], eax
add edx, eax
add esi, eax
mov dword [ebp - 0x5c], edx
xor edx, edx
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x94], edx
cmp dword [ebp - 0x9c], edx
jle 0x4cd1f3
mov eax, dword [ebp - 0xa0]
cmp esi, dword [ebp - 0x5c]
jae 0x4cd281
mov dword [eax + edx*4], ecx
mov esi, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x94]
mov al, byte [esi]
cmp al, 0x80
jae 0x4cd1a7
movzx edx, al
mov eax, dword [ebp - 0xa4]
mov dword [eax + ecx*4], edx
xor eax, eax
inc eax
jmp 0x4cd1ba
mov eax, dword [ebp - 0xa4]
lea edx, [eax + ecx*4]
mov ecx, esi
call fcn.004b7a90
movzx eax, al
mov esi, dword [ebp - 0x60]
mov edx, dword [ebp - 0x94]
mov ecx, dword [ebp - 0xa4]
movzx eax, al
add esi, eax
mov dword [ebp - 0x60], esi
mov ecx, dword [ecx + edx*4]
call fcn.004c9b8b
mov ecx, dword [ebp - 0x58]
add ecx, eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x58], ecx
cmp ecx, eax
jae 0x4cd291
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x60], eax
lea ecx, [ebp - 0x88]
call fcn.004c738d
mov ecx, dword [ebp - 0x5c]
xor eax, eax
inc eax
mov word [ebp - 0x6c], ax
cmp dword [ebp - 0x60], ecx
ja 0x4cd3ad
mov eax, dword [ebp - 0xc8]
cmp dword [ebp - 0x58], eax
ja 0x4cd3ad
cmp dword [ebp - 0x60], ecx
jne 0x4cd22e
cmp dword [ebp - 0x58], eax
jne 0x4cd3ad
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xb4]
cmp dword [eax + edx*4], 0
je 0x4cd343
cmp dword [ebp - 0xac], 0
je 0x4cd2a9
mov ecx, dword [ebp - 0x8c]
call fcn.004c7335
mov esi, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xa0]
mov edx, dword [ebp - 0xa4]
mov ecx, dword [eax + esi*4]
add ecx, dword [ebp - 0xac]
mov edx, dword [edx + esi*4]
jmp 0x4cd326
and dword [eax + edx*4], 0
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x60]
mov edx, dword [ebp - 0x94]
inc edx
mov dword [ebp - 0x94], edx
cmp edx, dword [ebp - 0x9c]
jl 0x4cd175
jmp 0x4cd1f3
mov ecx, dword [ecx + edx*4]
call fcn.004c9b8b
mov edx, dword [ebp - 0x8c]
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x98], eax
call fcn.004c7781
mov edx, dword [ebp - 0xb4]
lea eax, [ebp - 0x88]
mov ecx, dword [ebp - 0xa8]
push eax
mov eax, dword [ebp - 0xb0]
movzx eax, byte [eax + 0x1f]
push eax
mov eax, dword [ebp - 0xa0]
push dword [ebp - 0x98]
mov edx, dword [eax + edx*4]
call fcn.004c7a9a
add esp, 0xc
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4d0aee
mov eax, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 0x90], ecx
mov edx, dword [eax + edx*4]
push dword [ebp - 0x8c]
call fcn.004c9c45
mov eax, dword [ebp - 0x8c]
pop ecx
mov cl, byte [ebp - 0xf0]
mov byte [eax + 0x1f], cl
jmp 0x4cd35e
cmp byte [ebx + 1], 0xf8
jne 0x4cd35e
mov edx, dword [ebx + 0x10]
mov eax, 0x800
mov ecx, dword [ebp - 0x8c]
push eax
call fcn.004c76d5
pop ecx
cmp dword [ebp - 0x64], 0
je 0x4cd39d
mov eax, dword [ebp - 0x8c]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov ecx, 0x200
mov eax, dword [ebp - 0x8c]
or word [eax + 0x1c], cx
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x84]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x64]
mov dword [eax + 0x24], ecx
mov ecx, dword [ebp - 0x8c]
call fcn.004c7161
jmp 0x4cd0d8
mov ecx, 0xfcfe
jmp 0x4cd0d3
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xc8], eax
imul esi, dword [ebx + 4], 0x28
mov cl, byte [eax]
mov byte [ebp - 0xc4], cl
add esi, dword [ebp - 0xd8]
test cl, cl
je 0x4cd422
push 0x28
pop edi
inc eax
mov dword [ebp - 0xc8], eax
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x4cd3f8
mov ecx, esi
call fcn.004c71bd
mov cl, byte [ebp - 0xc4]
push dword [ebp - 0xf0]
mov dl, cl
mov ecx, esi
call fcn.004cb93f
mov eax, dword [ebp - 0xc8]
add esi, edi
pop ecx
mov cl, byte [eax]
mov byte [ebp - 0xc4], cl
test cl, cl
jne 0x4cd3d9
mov edi, dword [ebp - 0xec]
inc eax
mov dword [ebp - 0xc8], eax
jmp 0x4cbda4
xor eax, eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xe0], eax
mov eax, dword [ebx + 4]
mov dword [ebp - 0x94], eax
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0xe4], ecx
imul ecx, eax, 0x28
add ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x9c], ecx
mov esi, ecx
mov eax, dword [ebx + 8]
imul edx, eax, 0x28
mov dword [ebp - 0x94], eax
movzx eax, byte [edi + 0x66]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0xf4], ecx
add edx, 0xffffffd8
add edx, ecx
mov dword [ebp - 0x98], edx
imul eax, dword [ebx + 0xc], 0x28
xor ebx, ebx
mov dword [ebp - 0xc4], esi
add eax, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], eax
cmp ecx, edx
ja 0x4cd5de
mov edi, dword [ebp - 0xe4]
test edi, edi
je 0x4cd50d
push dword [ebp - 0xf0]
mov eax, esi
sub eax, ecx
push 0x28
pop ecx
cdq
idiv ecx
mov ecx, esi
mov dl, byte [eax + edi]
call fcn.004cb93f
mov eax, dword [ebp - 0x90]
mov esi, dword [ebp - 0xc4]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xa8]
pop ecx
mov dword [ebp - 0xe0], eax
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x4cd54e
cmp dword [esi + 0x18], ebx
jle 0x4cd54e
mov ecx, esi
call fcn.004c71bd
mov eax, dword [ebp - 0x90]
mov esi, dword [ebp - 0xc4]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xe0], eax
mov edx, dword [ebp - 0x8c]
mov ecx, esi
call fcn.004c9aaf
mov ecx, eax
mov dword [ebp - 0xa0], ecx
call fcn.004c9b8b
mov dword [ebp - 0x84], eax
cdq
add dword [ebp - 0xc0], eax
push ebx
adc dword [ebp - 0xbc], edx
push ecx
call fcn.004b7afa
mov edi, dword [ebp - 0xb8]
add edi, eax
mov eax, 0x4000
pop ecx
pop ecx
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xb8], edi
test word [esi + 0x1c], ax
je 0x4cd5a8
add ecx, dword [esi + 0x10]
jmp 0x4cd5b3
xor eax, eax
cmp dword [ebp - 0x84], eax
cmovne ecx, eax
push 0x28
pop eax
add esi, eax
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0xc4], esi
cmp esi, dword [ebp - 0x98]
jbe 0x4cd4be
jmp 0x4cd5e4
mov edi, dword [ebp - 0xb8]
mov eax, edi
cdq
push edx
push eax
call fcn.004b7afa
mov esi, eax
add edi, esi
mov dword [ebp - 0xa4], esi
mov eax, edi
mov dword [ebp - 0xb8], edi
cdq
push edx
push eax
call fcn.004b7afa
add esp, 0x10
cmp esi, eax
jge 0x4cd616
inc edi
mov dword [ebp - 0xb8], edi
mov eax, dword [ebp - 0xe0]
cdq
mov ecx, eax
mov esi, edx
mov eax, edi
cdq
sub eax, ecx
mov edi, edx
sbb edi, esi
add eax, dword [ebp - 0xc0]
mov esi, dword [ebp - 0xd4]
adc edi, dword [ebp - 0xbc]
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], edi
mov eax, dword [esi + 0x48]
cdq
cmp edi, edx
jg 0x4d0cbe
mov edx, dword [ebp - 0xe4]
jl 0x4cd66a
cmp edx, eax
ja 0x4d0cbe
mov edi, dword [ebp - 0xdc]
mov ecx, edi
push ebx
call fcn.004c70a0
pop ecx
test eax, eax
jne 0x4d0cf6
mov edx, dword [ebp - 0xb8]
mov ecx, dword [edi + 4]
mov dword [ebp - 0xc8], ecx
cmp edx, 0x80
jae 0x4cd6a1
mov al, dl
mov byte [ecx], al
xor eax, eax
inc eax
jmp 0x4cd6a6
call fcn.004b790f
mov ecx, dword [ebp - 0x98]
movzx esi, al
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x88], esi
mov dword [ebp - 0xc4], eax
cmp eax, ecx
ja 0x4cd738
push 0x28
pop edi
mov edx, dword [ebp - 0x8c]
mov ecx, eax
call fcn.004c9aaf
mov edx, eax
mov dword [ebp - 0xa0], edx
cmp edx, 0x80
jae 0x4cd6f5
mov cl, al
mov eax, dword [ebp - 0xc8]
mov byte [esi + eax], cl
xor eax, eax
inc eax
jmp 0x4cd703
mov ecx, dword [ebp - 0xc8]
lea ecx, [esi + ecx]
call fcn.004b790f
mov esi, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x98]
movzx eax, al
add esi, eax
mov eax, dword [ebp - 0xc4]
add eax, edi
mov dword [ebp - 0x88], esi
mov dword [ebp - 0xc4], eax
cmp eax, ecx
jbe 0x4cd6c8
mov edi, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xc4], eax
cmp eax, ecx
ja 0x4cd78e
push 0x28
pop edi
mov ecx, dword [ebp - 0xc8]
push dword [ebp - 0x8c]
mov edx, dword [ebp - 0xb0]
push eax
sub edx, esi
lea ecx, [esi + ecx]
call fcn.004c9b9e
mov esi, dword [ebp - 0x88]
add esi, eax
mov eax, dword [ebp - 0xc4]
add eax, edi
mov dword [ebp - 0x88], esi
pop ecx
pop ecx
mov dword [ebp - 0xc4], eax
cmp eax, dword [ebp - 0x98]
jbe 0x4cd745
mov edi, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xb0]
mov dword [edi + 0x18], eax
mov eax, 0x410
mov dword [edi + 0x20], ebx
mov ebx, dword [ebp - 0xdc]
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0xa8]
test eax, eax
je 0x4cd7bf
mov dword [ebx + 0x10], eax
mov eax, 0x4410
mov word [ebx + 0x1c], ax
mov byte [ebx + 0x1f], 1
mov edi, dword [ebp - 0xec]
jmp 0x4cbda4
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
mov dword [ebp - 0xc0], ecx
test ecx, ecx
je 0x4cd7fc
lea edx, [ebp - 0xc8]
call fcn.004c586c
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
jmp 0x4cd80c
xor edx, edx
mov eax, edx
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xdc]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x14], eax
jmp case.0x4cbb29.17
mov eax, dword [ebx + 4]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebx + 0x10]
xor ebx, ebx
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0xc4], ecx
test eax, eax
jne 0x4cd90e
cmp dword [esi + 0x90], ebx
jle 0x4cd873
push str.cannot_open_savepoint___SQL_statements_in_progress
lea eax, [edi + 0x38]
push esi
push eax
call fcn.004b5809
add esp, 0xc
push 5
pop eax
mov dword [ebp - 0xcc], eax
jmp 0x4d0af4
call fcn.004b7023
mov ecx, esi
mov dword [ebp - 0xc0], eax
lea edx, [eax + 0x19]
call fcn.004b5672
mov dword [ebp - 0xbc], eax
test eax, eax
je case.0x4cbb29.17
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0xc0]
inc eax
push eax
mov eax, dword [ebp - 0xbc]
push dword [ebp - 0xc4]
push dword [eax]
call sub.MSVCR120.dll_memcpy
add esp, 0xc
cmp byte [esi + 0x1c], bl
je 0x4cd8ca
mov byte [esi + 0x1c], bl
mov byte [esi + 0x1e8], 1
jmp 0x4cd8d0
inc dword [esi + 0x1e0]
mov eax, dword [ebp - 0xbc]
mov ecx, dword [esi + 0x1dc]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [esi + 0x1f0]
mov dword [esi + 0x1dc], eax
mov eax, dword [ebp - 0xbc]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [esi + 0x1f4]
mov dword [eax + 0xc], ecx
jmp case.0x4cbb29.17
mov dword [ebp - 0xb0], ebx
mov esi, dword [esi + 0x1dc]
mov dword [ebp - 0xb8], esi
test esi, esi
je 0x4cdbba
mov edi, dword [ebp - 0xf4]
mov ecx, dword [esi]
mov edx, edi
call fcn.004b714a
mov ecx, dword [ebp - 0xb0]
test eax, eax
je 0x4cd955
inc ecx
mov dword [ebp - 0xb0], ecx
mov esi, dword [esi + 0x10]
mov dword [ebp - 0xb8], esi
test esi, esi
jne 0x4cd92e
mov edi, dword [ebp - 0xec]
test esi, esi
je 0x4cdbb4
mov edx, dword [ebp - 0xd4]
cmp dword [edx + 0x90], ebx
jg 0x4cdb80
mov eax, dword [ebp - 0xe4]
cmp eax, 2
jne 0x4cd98d
cmp dword [edx + 0x8c], 1
jg 0x4cdb80
cmp dword [esi + 0x10], ebx
jne 0x4cda95
cmp byte [edx + 0x1e8], bl
je 0x4cda95
mov dword [ebp - 0xe4], 1
cmp eax, 1
jne 0x4cda9b
xor edx, edx
mov ecx, edi
inc edx
call fcn.004c9535
mov esi, eax
test esi, esi
jne 0x4d0d81
mov esi, dword [ebp - 0xd4]
mov ecx, edi
mov byte [esi + 0x1c], 1
call fcn.004c958a
push 5
pop ecx
cmp eax, ecx
je 0x4d0bd3
mov byte [esi + 0x1e8], bl
mov eax, dword [edi + 0x5c]
mov esi, dword [ebp - 0xb8]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
mov ebx, dword [ebp - 0xd4]
cmp dword [ebx + 0x1dc], esi
je 0x4cda4b
mov eax, dword [ebx + 0x1dc]
mov dword [ebp - 0xb4], eax
mov eax, dword [eax + 0x10]
mov dword [ebx + 0x1dc], eax
push dword [ebp - 0xb4]
push ebx
call fcn.004b54b7
dec dword [ebx + 0x1e0]
mov esi, dword [ebp - 0xb8]
pop ecx
pop ecx
cmp dword [ebx + 0x1dc], esi
jne 0x4cda0e
mov eax, dword [ebp - 0xc8]
cmp eax, 1
jne 0x4cdb63
mov eax, dword [esi + 0x10]
mov esi, dword [ebp - 0xd4]
mov dword [esi + 0x1dc], eax
push dword [ebp - 0xb8]
push esi
call fcn.004b54b7
cmp dword [ebp - 0xe4], 0
mov eax, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xd0]
pop ecx
pop ecx
jne 0x4d0afa
dec dword [esi + 0x1e0]
jmp 0x4d0afa
mov dword [ebp - 0xe4], ebx
mov edx, dword [edx + 0x1e0]
mov edi, dword [ebp - 0xd4]
sub edx, ecx
dec edx
mov ecx, ebx
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0xac], ecx
cmp dword [edi + 4], ebx
mov edi, dword [ebp - 0xec]
jle 0x4cdb1c
mov esi, dword [ebp - 0xd4]
shl ecx, 4
mov dword [ebp - 0xf4], ecx
mov ecx, dword [esi + 8]
push edx
mov edx, eax
mov eax, dword [ebp - 0xf4]
mov ecx, dword [eax + ecx + 4]
call fcn.004c2503
mov dword [ebp - 0xcc], eax
pop ecx
test eax, eax
jne 0x4d0c81
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xc8]
inc ecx
mov dword [ebp - 0xac], ecx
cmp ecx, dword [esi + 4]
jge 0x4cdb16
mov edx, dword [ebp - 0xb0]
jmp 0x4cdac9
mov esi, dword [ebp - 0xb8]
push 2
pop ecx
cmp eax, ecx
jne 0x4cda00
mov ebx, dword [ebp - 0xd4]
mov ecx, 0x200
test dword [ebx + 0xc], ecx
je 0x4cda06
mov ecx, ebx
call fcn.004ca27f
or edx, 0xffffffff
call fcn.004d87bd
mov eax, 0x200
or dword [ebx + 0xc], eax
mov esi, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xc8]
jmp 0x4cda06
mov eax, dword [esi + 8]
mov dword [ebx + 0x1f0], eax
mov eax, dword [esi + 0xc]
mov esi, dword [ebp - 0xd4]
mov dword [esi + 0x1f4], eax
jmp case.0x4cbb29.17
mov esi, dword [ebp - 0xd4]
mov ecx, str.release
push 2
pop edx
cmp dword [ebp - 0xe4], edx
mov eax, str.rollback
cmovne eax, ecx
push eax
push str.cannot__s_savepoint___SQL_statements_in_progress
lea eax, [edi + 0x38]
push esi
push eax
call fcn.004b5809
add esp, 0x10
jmp 0x4cd865
mov ecx, dword [ebp - 0xf4]
mov esi, dword [ebp - 0xd4]
lea eax, [edi + 0x38]
push ecx
push str.no_such_savepoint:__s
push esi
push eax
call fcn.004b5809
add esp, 0x10
xor eax, eax
inc eax
jmp 0x4cd868
mov ecx, dword [ebx + 4]
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xc8], ecx
mov esi, dword [ebx + 8]
mov dword [ebp - 0xc4], esi
test ecx, ecx
je 0x4cdc2f
cmp byte [edx + 0x1c], 0
jne 0x4cdc2f
xor eax, eax
inc eax
mov dword [ebp - 0xc0], eax
test esi, esi
je 0x4cdc1e
cmp dword [edx + 0x8c], eax
jle 0x4cdc39
push str.cannot_rollback_transaction___SQL_statements_in_progress
mov esi, edx
jmp 0x4cd858
xor ebx, ebx
cmp dword [edx + 0x90], ebx
jle 0x4cdc3b
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x4cdc17
xor ebx, ebx
mov dword [ebp - 0xc0], ebx
jmp 0x4cdc3b
xor ebx, ebx
movzx eax, byte [edx + 0x1c]
cmp ecx, eax
jne 0x4d0be9
xor edx, edx
mov eax, str.cannot_commit___no_transaction_is_active
test ecx, ecx
mov ecx, str.cannot_rollback___no_transaction_is_active
sete dl
test esi, esi
mov esi, dword [ebp - 0xd4]
cmove ecx, eax
test edx, edx
mov eax, str.cannot_start_a_transaction_within_a_transaction
cmove eax, ecx
push eax
lea eax, [edi + 0x38]
push esi
push eax
call fcn.004b5809
add esp, 0xc
jmp 0x4cdbd3
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 8]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xc8], ecx
test ecx, ecx
je case.0x4cbb29.17
mov edx, dword [ebx + 8]
call fcn.004c1a82
push 5
pop ecx
mov dword [ebp - 0xcc], eax
cmp eax, ecx
je 0x4d0c5e
test eax, eax
jne 0x4d0c81
xor edx, edx
cmp dword [ebx + 8], edx
je 0x4d0af4
cmp byte [edi + 0x68], dl
je 0x4d0af4
cmp byte [esi + 0x1c], dl
je 0x4cdce1
cmp dword [esi + 0x8c], 1
jle 0x4d0af4
cmp dword [edi + 0x78], edx
jne 0x4cdcfb
mov eax, dword [esi + 0x1e0]
inc dword [esi + 0x1e4]
add eax, dword [esi + 0x1e4]
mov dword [edi + 0x78], eax
mov ebx, dword [ebp - 0xc8]
mov ecx, ebx
mov edi, dword [edi + 0x78]
mov esi, dword [ebx + 4]
call fcn.004bfed4
mov ecx, dword [esi]
mov edx, edi
call fcn.004bde2b
mov ecx, ebx
mov dword [ebp - 0xcc], eax
call fcn.004bff47
mov esi, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xec]
mov eax, dword [esi + 0x1f0]
mov dword [edi + 0x98], eax
mov eax, dword [esi + 0x1f4]
mov dword [edi + 0x9c], eax
jmp case.0x4cbb29.17
mov eax, dword [ebx + 4]
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0xc4], eax
add eax, eax
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0xc0], edx
push ecx
mov ecx, dword [esi + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004c57e0
mov eax, dword [ebp - 0xc8]
pop ecx
jmp 0x4cbc30
mov eax, dword [ebx + 4]
shl eax, 4
add eax, dword [esi + 8]
mov dword [ebp - 0xc8], eax
imul esi, dword [ebx + 0xc], 0x28
add esi, dword [ebp - 0xd8]
mov ecx, esi
call fcn.004c7516
mov ecx, dword [ebp - 0xc8]
push dword [esi + 0x10]
mov edx, dword [ebx + 8]
mov ecx, dword [ecx + 4]
call fcn.004c5813
xor edx, edx
mov dword [ebp - 0xcc], eax
inc edx
pop ecx
cmp dword [ebx + 8], edx
jne 0x4cdde7
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 0x10]
mov esi, dword [ebp - 0xd4]
mov dword [ecx], eax
mov eax, 0x200
or dword [esi + 0xc], eax
mov eax, dword [ebp - 0xcc]
jmp 0x4cde0a
push 2
pop ecx
cmp dword [ebx + 8], ecx
jne 0x4cde04
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 0xc]
mov al, byte [esi + 0x10]
mov byte [ecx + 0x4c], al
mov eax, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xd4]
cmp dword [ebx + 4], edx
jne 0x4d0af4
mov ecx, esi
call fcn.004ca27f
mov byte [edi + 0x64], 0
jmp case.0x4cbb29.17
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [esi + 8]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xc0], ecx
test ecx, ecx
je 0x4cde60
lea eax, [ebp - 0xc8]
inc edx
push eax
call fcn.004c57e0
mov eax, dword [esi + 8]
pop ecx
mov ecx, dword [ebx + 4]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xc8]
jmp 0x4cde68
mov eax, edx
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
cmp eax, dword [ebx + 8]
jne 0x4cde7c
cmp edx, dword [ebx + 0xc]
je case.0x4cbb29.17
push dword [edi + 0x38]
push esi
call fcn.004b54b7
pop ecx
pop ecx
mov edx, str.database_schema_has_changed
mov ecx, esi
call fcn.004b5799
mov dword [edi + 0x38], eax
mov edx, dword [ebx + 4]
mov ecx, edx
mov eax, dword [esi + 8]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xc8]
je 0x4cdeb5
mov ecx, esi
call fcn.004d87bd
mov byte [edi + 0x64], 1
push 0x11
jmp 0x4cd867
cmp byte [edi + 0x64], 0
je 0x4cdecd
mov eax, ecx
jmp 0x4cd868
xor ecx, ecx
mov dword [ebp - 0xc4], ecx
mov edx, ecx
mov dword [ebp - 0xc8], edx
mov eax, dword [ebx + 8]
mov dword [ebp - 0xc0], eax
mov esi, dword [ebx + 0xc]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0xf4], esi
shl esi, 4
add esi, dword [eax + 8]
mov dword [ebp - 0xac], esi
mov eax, dword [esi + 4]
mov dword [ebp - 0xb4], eax
cmp byte [ebx], 0x27
jne 0x4cdf35
mov dword [ebp - 0xb8], 1
mov eax, dword [esi + 0xc]
mov al, byte [eax + 0x4c]
cmp al, byte [edi + 0x66]
jae 0x4cdf3b
mov byte [edi + 0x66], al
jmp 0x4cdf3b
mov dword [ebp - 0xb8], ecx
cmp byte [ebx + 3], cl
je 0x4cdf76
imul esi, dword [ebp - 0xe4], 0x28
add esi, dword [ebp - 0xd8]
mov ecx, esi
call fcn.004c7516
mov eax, dword [esi + 0x10]
push 2
pop ecx
mov dword [ebp - 0xc0], eax
cmp eax, ecx
jl 0x4d0c6c
mov eax, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xc8]
jmp 0x4cdf7c
mov eax, dword [ebp - 0xf4]
mov cl, byte [ebx + 1]
cmp cl, 0xfa
jne 0x4cdfae
mov eax, dword [edi]
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0xc4], ecx
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xc4]
movzx edx, word [eax + 6]
mov eax, dword [ebp - 0xbc]
inc edx
jmp 0x4cdfb6
cmp cl, 0xf2
jne 0x4cdfbc
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0xc8], edx
push 1
push eax
push edx
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.004cb80d
add esp, 0xc
mov dword [ebp - 0xb0], eax
test eax, eax
je 0x4d0d06
xor ecx, ecx
inc ecx
mov byte [eax + 0x1c], cl
mov eax, dword [ebp - 0xb0]
mov byte [eax + 0x20], cl
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xb4]
push dword [eax]
push dword [ebp - 0xc4]
push dword [ebp - 0xb8]
call fcn.004c256f
mov ecx, dword [ebp - 0xb0]
add esp, 0xc
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc4]
push 0x10
mov dword [ecx + 8], eax
pop eax
cmp dword [ebp - 0xcc], eax
jne 0x4ce042
mov eax, dword [ebp - 0xb0]
xor ecx, ecx
mov dword [ebp - 0xcc], ecx
mov dword [eax], ecx
cmp byte [ebx + 1], 0xfa
mov eax, dword [ebp - 0xb0]
setne cl
mov byte [eax + 0x1e], cl
mov ecx, dword [ebp - 0xb0]
cmp byte [ecx + 0x1e], 0
sete al
mov byte [ecx + 0x1f], al
jmp 0x4cbda4
mov edx, dword [ebx + 4]
mov ecx, edi
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.004cb80d
add esp, 0xc
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x4d0d0c
mov byte [eax + 0x1c], 1
mov edx, esi
movzx eax, byte [ebx + 3]
xor ecx, ecx
or eax, 9
push 0x41e
push eax
mov eax, dword [ebp - 0xc8]
add eax, 4
push eax
call fcn.004c0fcc
add esp, 0xc
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4ce1a1
mov ecx, dword [ebp - 0xc8]
xor edx, edx
inc edx
mov ecx, dword [ecx + 4]
call fcn.004c1a82
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4ce1a1
cmp dword [ebx + 0x10], eax
je 0x4ce177
mov eax, dword [ebp - 0xc8]
mov esi, dword [eax + 4]
mov ecx, esi
call fcn.004bfed4
push 2
pop eax
push eax
lea edx, [ebp - 0x114]
mov ecx, esi
call fcn.004c5311
pop ecx
mov ecx, esi
mov dword [ebp - 0xcc], eax
call fcn.004bff47
cmp dword [ebp - 0xcc], 0
jne 0x4ce165
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0x114]
push dword [ecx]
mov ecx, dword [ecx + 4]
push dword [ebx + 0x10]
push 1
call fcn.004c256f
mov ecx, dword [ebx + 0x10]
add esp, 0xc
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
mov dword [eax + 8], ecx
mov eax, dword [edi]
mov eax, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 8]
mov al, byte [edx + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xd4]
mov byte [eax + 0x1e], 0
jmp 0x4ce1a1
mov ecx, dword [ebp - 0xc8]
push dword [ecx]
mov ecx, dword [ecx + 4]
push eax
xor eax, eax
inc eax
push eax
mov edx, eax
call fcn.004c256f
mov dword [ebp - 0xcc], eax
add esp, 0xc
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1e], 1
push 0x10
pop eax
cmp byte [ebx + 3], al
mov eax, dword [ebp - 0xc8]
setne cl
mov byte [eax + 0x20], cl
mov ecx, dword [ebp - 0xc8]
cmp byte [ecx + 0x1e], 0
sete al
mov byte [ecx + 0x1f], al
jmp case.0x4cbb29.17
mov edx, dword [ebx + 4]
mov ecx, edi
push 0
push 0xffffffffffffffff
push dword [ebx + 0xc]
call fcn.004cb80d
add esp, 0xc
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x4d0d0c
xor edx, edx
inc edx
mov byte [eax + 0x1c], dl
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebx + 8]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1e], dl
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1f], 0
jmp case.0x4cbb29.17
mov eax, dword [ebx + 4]
mov ecx, edi
mov edx, dword [edi + 0x44]
mov edx, dword [edx + eax*4]
call fcn.004c8e21
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
and dword [eax + ecx*4], 0
jmp case.0x4cbb29.17
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc0], ecx
cmp dword [ecx], edx
je 0x4cbb3d
movzx eax, byte [ebx]
mov dword [ebp - 0xc4], eax
mov byte [ecx + 0x1c], dl
mov esi, dword [ebp - 0xc0]
cmp byte [esi + 0x1e], dl
je 0x4ce469
imul esi, dword [ebx + 0xc], 0x28
add esi, dword [ebp - 0xd8]
mov ecx, esi
call fcn.004cb8c6
mov ecx, esi
call fcn.004c7404
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x94], edx
xor edx, edx
push 4
pop ecx
mov byte [eax + 0x19], dl
movzx eax, word [esi + 0x1c]
test cl, al
jne 0x4ce3f8
push 8
pop ecx
test cl, al
jne 0x4ce2bb
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xd0], eax
jmp 0x4cbda4
cmp dword [ebp - 0x98], edx
jne 0x4ce37d
mov eax, closesocket
cmp dword [ebp - 0x94], eax
jne 0x4ce37d
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x12c], eax
fild qword [ebp - 0x130]
fstp qword [ebp - 0xe8]
fld qword [esi + 8]
fld qword [ebp - 0xe8]
fcompi st(1)
fstp st(0)
fldz
ja 0x4ce308
fld qword [esi + 8]
fcompi st(1)
jbe 0x4ce37b
mov dword [ebp - 0xc8], 1
fld qword [esi + 8]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x4ce33b
cmp dword [ebp - 0xc4], 0x2e
jl 0x4ce2ac
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0xc8]
mov ecx, dword [ecx]
call fcn.004c2d6b
jmp 0x4ce35b
cmp dword [ebp - 0xc4], 0x2d
jg 0x4ce2ac
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0xc8]
mov ecx, dword [ecx]
call fcn.004c2d96
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4d0c7b
cmp dword [ebp - 0xc8], 0
je 0x4d0aee
jmp 0x4ce2ac
fstp st(0)
cmp dword [ebp - 0xc4], 0x2c
je 0x4ce3ca
cmp dword [ebp - 0xc4], 0x2e
je 0x4ce3ca
fild qword [ebp - 0x98]
fstp qword [ebp - 0xe8]
fld qword [esi + 8]
fld qword [ebp - 0xe8]
fcompi st(1)
fstp st(0)
jbe 0x4ce3f8
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x94]
add eax, 0xffffffff
adc ecx, 0xffffffff
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], ecx
jmp 0x4ce404
fild qword [ebp - 0x98]
fstp qword [ebp - 0xe8]
fld qword [ebp - 0xe8]
fld qword [esi + 8]
fcompi st(1)
fstp st(0)
jbe 0x4ce3f8
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x94]
add eax, 1
adc ecx, edx
jmp 0x4ce3bc
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x98]
lea esi, [ebp - 0xc8]
push esi
push edx
push ecx
mov ecx, dword [ebp - 0xc0]
xor edx, edx
push eax
mov ecx, dword [ecx]
call fcn.004c2ddf
add esp, 0x10
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4d0c7b
xor edx, edx
cmp dword [ebp - 0xc8], edx
jne 0x4ce4f7
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x19], 1
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x98]
mov dword [eax + 0x40], ecx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x94]
mov dword [eax + 0x44], ecx
jmp 0x4ce4f7
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xa0], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0xb8], eax
mov ax, word [ebp - 0xa0]
mov word [ebp - 0xb4], ax
mov eax, dword [ebp - 0xc4]
and eax, 1
shl eax, 3
mov word [ebp - 0xb2], ax
mov eax, 0x4000
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xa8], ecx
test word [ecx + 0x1c], ax
je 0x4ce4c4
call fcn.004c71bd
mov esi, dword [ebp - 0xc0]
xor edx, edx
mov ecx, dword [esi]
lea eax, [ebp - 0xc8]
push eax
push edx
push edx
push edx
lea edx, [ebp - 0xb8]
call fcn.004c2ddf
add esp, 0x10
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4d0c7b
mov eax, dword [ebp - 0xc0]
xor edx, edx
mov byte [eax + 0x19], dl
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x1d], dl
mov eax, dword [ebp - 0xc0]
mov dword [eax + 0x4c], edx
cmp dword [ebp - 0xc4], 0x2e
mov eax, dword [ebp - 0xc8]
jl 0x4ce547
test eax, eax
js 0x4ce532
jne 0x4ce527
cmp dword [ebp - 0xc4], 0x2f
je 0x4ce532
mov dword [ebp - 0xc8], edx
jmp 0x4cbda4
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0xc8]
mov ecx, dword [ecx]
call fcn.004c3095
jmp 0x4ce582
test eax, eax
jg 0x4ce56f
jne 0x4ce556
cmp dword [ebp - 0xc4], 0x2c
je 0x4ce56f
mov eax, dword [ebp - 0xc0]
xor ecx, ecx
mov eax, dword [eax]
cmp byte [eax + 0x53], 1
setne cl
mov dword [ebp - 0xc8], ecx
jmp 0x4ce59a
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0xc8]
mov ecx, dword [ecx]
call fcn.004c3185
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4d0c7b
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x19], 0
cmp dword [ebp - 0xc8], 0
jmp 0x4cca04
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc8], eax
cmp dword [eax], edx
je case.0x4cbb29.17
mov byte [eax + 0x1c], dl
imul ecx, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0xd8]
call fcn.004c7404
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1d], 1
jmp case.0x4cbb29.17
mov eax, dword [edi + 0x44]
xor edx, edx
mov dword [ebp - 0xc8], edx
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc4], ecx
imul esi, dword [ebx + 0xc], 0x28
add esi, dword [ebp - 0xd8]
cmp dword [ecx], edx
je 0x4ce6fb
cmp dword [ebx + 0x10], edx
jle 0x4ce65c
mov eax, dword [ecx + 8]
mov dword [ebp - 0xb8], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0xb4], ax
push 0x10
pop eax
mov word [ebp - 0xb2], ax
lea eax, [ebp - 0xb8]
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xbc], eax
jmp 0x4ce69c
mov edx, dword [esi + 0x18]
lea eax, [ebp - 0xa0]
mov ecx, dword [ecx + 8]
push 0x97
push eax
push dword [esi + 4]
call fcn.004c9e29
add esp, 0xc
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x4d0d06
push 0x10
pop ecx
or word [eax + 6], cx
xor edx, edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xc4]
mov ecx, dword [ecx]
lea esi, [ebp - 0xc0]
push esi
push edx
push edx
push edx
mov edx, eax
call fcn.004c2ddf
xor edx, edx
mov dword [ebp - 0xcc], eax
add esp, 0x10
cmp dword [ebx + 0x10], edx
jne 0x4ce6cc
mov ecx, dword [ebp - 0xbc]
call fcn.004c9f44
xor edx, edx
mov eax, dword [ebp - 0xcc]
test eax, eax
jne 0x4d0aee
cmp dword [ebp - 0xc0], eax
sete al
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x1d], dl
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x4c], edx
cmp byte [ebx], 0x32
je 0x4ce59a
mov esi, dword [ebp - 0xd4]
cmp dword [ebp - 0xc8], 0
jmp 0x4cce39
imul eax, dword [ebx + 0x10], 0x28
xor edx, edx
imul esi, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0xd8]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
add esi, dword [ebp - 0xd8]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc4], eax
mov dword [eax + 0x48], edx
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x4c], edx
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ecx]
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xc0], eax
mov eax, dword [ecx + 8]
xor ecx, ecx
and dword [ebp - 0xf4], ecx
mov ax, word [eax + 6]
cmp word [ebp - 0xf4], ax
mov word [ebp - 0xde], ax
mov word [ebp - 0xbc], ax
jmp 0x4ce7ad
mov edi, dword [ebp - 0xb8]
movzx eax, cx
imul eax, eax, 0x28
test byte [eax + edi + 0x1c], 1
mov edi, dword [ebp - 0xec]
jne 0x4ce86f
inc cx
cmp cx, word [ebp - 0xde]
mov word [ebp - 0xc8], cx
jb 0x4ce787
mov edx, dword [ebp - 0xe4]
test edx, edx
je 0x4cbda4
mov eax, dword [ebp - 0xc4]
mov ecx, esi
push 0x20
mov eax, dword [eax + 8]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xbc]
inc eax
mov word [ebp - 0xac], ax
pop eax
mov word [ebp - 0xaa], ax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xa0], eax
call fcn.004c7516
mov eax, dword [esi + 0x10]
lea edx, [ebp - 0xb0]
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0x98], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0xc4]
add eax, 0x48
push eax
xor eax, eax
push eax
push eax
push eax
call fcn.004c2ddf
add esp, 0x10
mov dword [ebp - 0xcc], eax
test byte [ebp - 0xaa], 0x20
jne 0x4ce88a
mov ecx, dword [ebp - 0xa8]
cmp ecx, dword [ebp - 0x98]
jne 0x4ce85e
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0x94]
je 0x4ce884
mov dword [esi + 0x10], ecx
mov eax, dword [ebp - 0xa4]
mov dword [esi + 0x14], eax
jmp 0x4cbda4
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xd0], eax
jmp 0x4ce7bc
mov eax, dword [ebp - 0xcc]
mov esi, dword [ebx + 8]
dec esi
mov dword [ebp - 0xd0], esi
jmp 0x4d0aee
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
imul esi, dword [ebx + 0xc], 0x28
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc8], eax
add esi, dword [ebp - 0xd8]
mov ecx, dword [eax]
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0xc4], ecx
test ecx, ecx
je 0x4ce970
xor edx, edx
lea edi, [ebp - 0xc0]
mov dword [ebp - 0xc0], edx
mov ecx, dword [esi + 0x10]
push edi
mov dword [ebp - 0xb8], ecx
mov eax, dword [esi + 0x14]
push edx
push eax
push ecx
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xb4], eax
call fcn.004c2ddf
mov ecx, dword [esi + 0x10]
add esp, 0x10
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xec]
mov dword [eax + 0x40], ecx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [esi + 0x14]
mov dword [eax + 0x44], ecx
cmp dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0xc8]
sete cl
xor edx, edx
mov byte [eax + 0x19], cl
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1c], dl
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x4c], edx
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1d], dl
mov ecx, dword [ebp - 0xc0]
test ecx, ecx
je 0x4ce962
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x48], ecx
jmp 0x4cbda4
mov esi, dword [ebx + 8]
dec esi
and dword [eax + 0x48], 0
mov dword [ebp - 0xd0], esi
jmp 0x4cbda4
mov eax, dword [edi + 0x44]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x30]
mov dword [edx + 0x10], eax
mov eax, dword [ecx + 0x34]
mov dword [edx + 0x14], eax
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
mov eax, dword [eax + ecx*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
jmp case.0x4cbb29.17
xor edx, edx
mov eax, edx
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xbc], edx
mov ecx, dword [ebx + 4]
mov dword [ebp - 0xf4], eax
mov eax, dword [edi + 0x44]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xe4], esi
mov ecx, dword [esi]
test ecx, ecx
je 0x4cecc0
cmp byte [esi + 0x1b], dl
jne 0x4ceb92
mov esi, dword [ecx + 0x18]
mov eax, esi
mov dword [ebp - 0xc8], esi
mov ecx, dword [ecx + 0x1c]
or eax, ecx
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xc4], ecx
jne 0x4ceaa6
mov ecx, dword [eax]
lea edx, [ebp - 0xbc]
call fcn.004c2d96
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4d0c7b
cmp dword [ebp - 0xbc], eax
je 0x4cea40
xor esi, esi
inc esi
xor edx, edx
mov ecx, edx
jmp 0x4cea94
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0xc8]
mov ecx, dword [ecx]
call fcn.004c26d5
mov esi, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xcc], eax
cmp esi, 0xffffffff
jne 0x4cea8c
cmp ecx, 0x7fffffff
jne 0x4cea8c
mov eax, dword [ebp - 0xc0]
xor edx, edx
mov byte [eax + 0x1b], 1
mov ecx, dword [ebp - 0xc4]
mov esi, dword [ebp - 0xc8]
jmp 0x4ceaa0
push 0
add esi, 1
pop edx
adc ecx, edx
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc8], esi
mov eax, dword [ebp - 0xc0]
cmp dword [ebx + 0xc], 0
je 0x4ceb64
mov eax, dword [edi + 0xa8]
test eax, eax
jne 0x4ceb2a
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xb4], ecx
call fcn.004c7516
mov ebx, dword [ebp - 0xb4]
mov esi, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x14]
cmp esi, 0xffffffff
jne 0x4ceaec
cmp ecx, 0x7fffffff
je 0x4d0c78
mov eax, dword [ebp - 0xc0]
cmp byte [eax + 0x1b], 0
jne 0x4d0c78
add esi, 1
push 0
pop edx
adc ecx, edx
cmp dword [ebp - 0xc4], ecx
jg 0x4ceb40
jl 0x4ceb18
mov eax, dword [ebp - 0xc8]
cmp eax, esi
jae 0x4ceb46
mov eax, esi
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc8], eax
jmp 0x4ceb46
mov eax, ecx
mov dword [ebp - 0xb0], eax
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x4ceb28
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [eax + 0x10]
jmp 0x4ceac4
mov eax, dword [ebp - 0xc8]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebx + 0x14], eax
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc4]
mov esi, dword [ebp - 0xc8]
cmp ecx, 0x7fffffff
jg 0x4ceb7a
jl 0x4ceb73
cmp esi, 0xffffffff
jae 0x4ceb7a
add esi, 1
adc ecx, edx
jmp 0x4ceb7e
mov esi, edx
mov ecx, edx
push ecx
mov ecx, dword [eax]
push esi
call fcn.004c25ec
mov esi, dword [ebp - 0xc0]
add esp, 8
xor edx, edx
cmp byte [esi + 0x1b], 0
je 0x4ceca3
mov eax, dword [ebp - 0xd4]
lea edi, [ebp - 0xbc]
xor ebx, ebx
inc ebx
push edi
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
and eax, 0x3fffffff
mov dword [ebp - 0xb8], edx
add ecx, ebx
push edx
adc eax, edx
mov dword [ebp - 0xc8], ecx
push eax
mov dword [ebp - 0xc4], eax
xor edx, edx
push ecx
mov ecx, dword [esi]
call fcn.004c2ddf
mov edi, dword [ebp - 0xec]
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0xcc], ecx
test ecx, ecx
jne 0x4cec9b
mov edx, dword [ebp - 0xbc]
test edx, edx
jne 0x4cec8f
mov eax, dword [ebp - 0xb8]
inc eax
mov dword [ebp - 0xb8], eax
cmp eax, 0x64
jge 0x4cec8f
lea eax, [ebp - 0xc8]
push eax
push 8
pop eax
push eax
call fcn.004b6a24
cmp dword [ebp - 0xb8], 5
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc8]
jge 0x4cec3f
and ecx, 0xffffff
xor eax, eax
mov edx, eax
jmp 0x4cec4d
mov edx, dword [ebp - 0xc4]
and edx, 0x3fffffff
xor eax, eax
add ecx, ebx
lea esi, [ebp - 0xbc]
push esi
adc edx, eax
mov dword [ebp - 0xc8], ecx
push eax
push edx
push ecx
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xc4], edx
xor edx, edx
mov ecx, dword [ecx]
call fcn.004c2ddf
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0xcc], ecx
test ecx, ecx
je 0x4cebf2
mov edx, dword [ebp - 0xbc]
test ecx, ecx
jne 0x4cec9b
test edx, edx
je 0x4d0c78
mov esi, dword [ebp - 0xc0]
xor edx, edx
mov byte [esi + 0x19], dl
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x1d], dl
mov eax, dword [ebp - 0xc0]
mov dword [eax + 0x4c], edx
mov eax, dword [ebp - 0xc8]
jmp 0x4cecc6
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xdc]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x14], eax
jmp 0x4cbda4
imul esi, dword [ebx + 8], 0x28
mov eax, dword [edi + 0x44]
add esi, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], esi
mov ecx, dword [ebx + 4]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0xb8], edx
cmp byte [ebx], 0x37
mov dword [ebp - 0xe4], edx
jne 0x4ced2b
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0xd8]
mov dword [ebp - 0xc4], eax
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xc0], ecx
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xbc], eax
jmp 0x4ced43
mov eax, dword [ebx + 0xc]
cdq
mov ecx, eax
mov dword [ebp - 0xbc], edx
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0xc0], ecx
test byte [ebx + 3], 1
je 0x4ced4c
inc dword [edi + 0x6c]
push 2
pop eax
test byte [ebx + 3], al
je 0x4ced72
mov edx, dword [ebp - 0xd4]
mov dword [edx + 0x30], ecx
mov eax, dword [ebp - 0xbc]
mov dword [edx + 0x34], eax
mov edx, dword [ebp - 0xb8]
mov esi, dword [ebp - 0xc8]
xor ecx, ecx
test byte [esi + 0x1c], 1
je 0x4ced92
mov dword [esi + 4], ecx
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x18], ecx
mov edx, dword [ebp - 0xb8]
mov esi, dword [ebp - 0xc8]
push 0x10
pop eax
test byte [ebx + 3], al
je 0x4ceda5
mov eax, dword [edx + 0x48]
mov dword [ebp - 0xb0], eax
jmp 0x4cedab
mov dword [ebp - 0xb0], ecx
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x4cedc1
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xb4], eax
jmp 0x4cedc7
mov dword [ebp - 0xb4], ecx
push ecx
push ecx
mov ecx, dword [edx]
call fcn.004c25ec
push dword [ebp - 0xb0]
movzx eax, byte [ebx + 3]
xor edx, edx
push 8
pop ecx
and eax, ecx
mov ecx, dword [ebp - 0xb8]
push eax
push dword [ebp - 0xb4]
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ecx]
push dword [eax + 0x18]
push dword [eax + 4]
push dword [ebp - 0xbc]
push dword [ebp - 0xc0]
call fcn.004c4f23
mov esi, dword [ebp - 0xd4]
xor edx, edx
mov dword [ebp - 0xcc], eax
add esp, 0x24
mov eax, dword [ebp - 0xb8]
mov byte [eax + 0x19], dl
mov eax, dword [ebp - 0xb8]
mov byte [eax + 0x1d], dl
mov eax, dword [ebp - 0xb8]
mov dword [eax + 0x4c], edx
mov eax, dword [ebp - 0xcc]
test eax, eax
jne 0x4d0af4
cmp dword [esi + 0xbc], edx
je 0x4d0af4
cmp dword [ebx + 0x10], edx
je 0x4d0af4
mov eax, dword [ebp - 0xb8]
push 4
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 8]
add ecx, ecx
mov edx, dword [eax + ecx*8]
pop eax
push 0x12
mov dword [ebp - 0xac], edx
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0xa8], ecx
test byte [ebx + 3], al
pop eax
push 0x17
pop ebx
push dword [ebp - 0xbc]
cmovne eax, ebx
push dword [ebp - 0xc0]
mov dword [ebp - 0xa4], eax
push ecx
push edx
push eax
push dword [esi + 0xb8]
call dword [esi + 0xbc]
add esp, 0x18
jmp case.0x4cbb29.17
mov eax, dword [edi + 0x44]
xor edx, edx
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xc4], edx
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc0], ecx
cmp dword [esi + 0xbc], edx
je 0x4ceef0
cmp dword [ebx + 0x10], edx
je 0x4ceef0
mov eax, dword [ecx + 0x40]
mov dword [ebp - 0xc8], eax
mov eax, dword [ecx + 0x44]
mov dword [ebp - 0xc4], eax
call fcn.004c9a0f
test eax, eax
jne 0x4d0c81
mov ecx, dword [ebp - 0xc0]
push eax
push eax
mov ecx, dword [ecx]
call fcn.004c25ec
mov ecx, dword [ebp - 0xc0]
add esp, 8
mov ecx, dword [ecx]
call fcn.004c50fd
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc0]
and dword [eax + 0x4c], 0
mov eax, dword [ebp - 0xcc]
test eax, eax
jne 0x4cef78
mov edx, dword [esi + 0xbc]
test edx, edx
je 0x4cef78
cmp dword [ebx + 0x10], eax
je 0x4cef78
push dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc0]
push dword [ebp - 0xc8]
push dword [ebx + 0x10]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 8]
add ecx, ecx
push dword [eax + ecx*8]
push 9
push dword [esi + 0xb8]
call edx
mov eax, dword [ebp - 0xcc]
add esp, 0x18
test byte [ebx + 8], 1
mov edx, dword [ebp - 0xd0]
je 0x4d0afa
inc dword [edi + 0x6c]
jmp 0x4d0afa
mov eax, dword [edi + 0x6c]
add dword [esi + 0x40], eax
mov dword [esi + 0x3c], eax
and dword [edi + 0x6c], 0
jmp case.0x4cbb29.17
imul eax, dword [ebx + 8], 0x28
mov ecx, dword [ebx + 4]
add eax, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], eax
mov eax, dword [edi + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xc4], eax
call fcn.004c9a0f
test eax, eax
jne 0x4d0c81
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x1f], 0
je 0x4cf01b
mov ecx, dword [ebp - 0xc4]
lea edx, [ebp - 0xb8]
call fcn.004c26d5
mov eax, dword [esi + 0x48]
cdq
cmp dword [ebp - 0xb4], edx
jg 0x4d0cd0
mov edx, dword [ebp - 0xb8]
jl 0x4cf013
cmp edx, eax
ja 0x4d0cd0
mov dword [ebp - 0xc0], edx
jmp 0x4cf040
mov esi, dword [ebp - 0xc4]
mov ecx, esi
call fcn.004c26ab
mov edx, dword [esi + 0x2c]
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 0xc0], edx
cmp edx, dword [esi + 0x48]
ja 0x4d0cd0
mov ecx, dword [ebp - 0xdc]
xor ebx, ebx
push ebx
call fcn.004c70a0
pop ecx
test eax, eax
jne 0x4d0d0c
mov ecx, dword [ebp - 0xdc]
mov edx, 0xbf10
mov eax, dword [ebp - 0xc0]
push 0x10
mov dword [ecx + 0x18], eax
mov ax, word [ecx + 0x1c]
and ax, dx
pop edx
or ax, dx
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x1f], bl
je 0x4cf0a5
push ebx
mov ebx, ecx
xor edx, edx
mov ecx, dword [ebp - 0xc4]
push dword [ebx + 4]
push dword [ebp - 0xc0]
call fcn.004c27c2
add esp, 0xc
jmp 0x4cf0c3
push dword [ecx + 4]
push dword [ebp - 0xc0]
push ebx
push dword [ebp - 0xc4]
call fcn.004c2a7b
mov ebx, dword [ebp - 0xdc]
add esp, 0x10
mov dword [ebp - 0xcc], eax
mov byte [ebx + 0x1f], 1
jmp 0x4d0af4
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc8], ecx
cmp byte [ecx + 0x1c], 0
jne case.0x4cbb29.10
cmp byte [ecx + 0x1d], 0
je 0x4cf0ff
mov eax, dword [ecx + 0x38]
mov dword [ebp - 0xc0], eax
mov eax, dword [ecx + 0x3c]
jmp 0x4cf164
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x4cf13a
mov eax, dword [eax]
lea edx, [ebp - 0xc0]
mov dword [ebp - 0xb8], eax
push edx
mov eax, dword [eax]
mov dword [ebp - 0xb4], eax
push dword [ecx + 0x24]
call dword [eax + 0x30]
mov edx, dword [ebp - 0xb8]
pop ecx
pop ecx
mov ecx, edi
mov dword [ebp - 0xcc], eax
call fcn.004cb9a8
jmp 0x4cf17f
call fcn.004c9a0f
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4d0c81
mov ecx, dword [ebp - 0xc8]
cmp byte [ecx + 0x19], al
je 0x4cf16c
mov eax, dword [ecx + 0x40]
mov dword [ebp - 0xc0], eax
mov eax, dword [ecx + 0x44]
mov dword [ebp - 0xbc], eax
jmp 0x4cf17f
mov ecx, dword [ecx]
lea edx, [ebp - 0xc0]
call fcn.004c26d5
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xc0]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xbc]
jmp 0x4cd81b
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc8], eax
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
test ecx, ecx
je case.0x4cbb29.17
call fcn.004c0208
jmp case.0x4cbb29.17
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xc4], eax
test eax, eax
jne 0x4cf1f7
mov dword [ebp - 0xc0], 1
jmp 0x4cf210
lea edx, [ebp - 0xc0]
mov ecx, eax
call fcn.004c2d96
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xcc], eax
mov al, byte [ebp - 0xc0]
xor edx, edx
mov byte [ecx + 0x1c], al
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1d], dl
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], dl
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x4c], edx
mov eax, dword [ebx + 8]
test eax, eax
jle case.0x4cbb29.17
cmp dword [ebp - 0xc0], edx
je case.0x4cbb29.17
jmp 0x4cbb40
inc dword [edi + 0x80]
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc0], 1
mov eax, dword [ecx]
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x4cf2c6
lea edx, [ebp - 0xc0]
mov ecx, eax
call fcn.004c2d6b
cmp dword [ebp - 0xc0], 0
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
sete cl
xor edx, edx
mov byte [eax + 0x1a], cl
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1d], dl
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x4c], edx
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], dl
mov ecx, dword [ebp - 0xc8]
mov al, byte [ebp - 0xc0]
mov byte [ecx + 0x1c], al
cmp dword [ebp - 0xc0], 0
jmp 0x4cca0a
cmp dword [esi + 0xe0], 0
jne 0x4d0ce6
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc8], eax
test eax, eax
je case.0x4cbb29.17
mov ecx, dword [eax]
mov dword [ebp - 0xc4], ecx
test ecx, ecx
jne 0x4cf314
mov byte [eax + 0x1c], 1
jmp case.0x4cbb29.17
mov dword [ebp - 0xc0], 1
lea edx, [ebp - 0xc0]
cmp byte [ebx], 0x43
jne 0x4cf330
call fcn.004c3095
jmp 0x4cf335
call fcn.004c3185
mov ecx, dword [ebp - 0xc8]
xor edx, edx
mov dword [ebp - 0xcc], eax
mov al, byte [ebp - 0xc0]
mov byte [ecx + 0x1c], al
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x4c], edx
cmp dword [ebp - 0xc0], edx
jne 0x4cf375
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xd0], eax
mov al, byte [ebx + 3]
test al, al
je 0x4cf375
movzx eax, al
inc dword [edi + eax*4 + 0x78]
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], dl
jmp case.0x4cbb29.17
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc8], ecx
imul esi, dword [ebx + 8], 0x28
mov eax, dword [ecx]
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xc4], eax
add esi, dword [ebp - 0xd8]
test eax, eax
je 0x4cbda4
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x4cf3e6
mov ecx, esi
call fcn.004c71bd
mov ecx, dword [ebp - 0xc8]
xor edx, edx
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xcc]
jmp 0x4cf3f0
xor edx, edx
mov eax, edx
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4d0aee
mov eax, dword [esi + 0x18]
mov dword [ebp - 0xc0], eax
mov esi, dword [esi + 4]
push 0x10
mov dword [ebp - 0xf4], eax
pop eax
mov dword [ebp - 0xbc], esi
test byte [ebx + 3], al
je 0x4cf41d
mov eax, dword [ecx + 0x48]
jmp 0x4cf41f
mov eax, edx
mov ecx, dword [ebp - 0xe4]
push eax
push dword [ebx + 0xc]
mov eax, dword [ebp - 0xf4]
push edx
push edx
cdq
push 0x57f98c
push edx
push eax
mov edx, esi
call fcn.004c4f23
mov dword [ebp - 0xcc], eax
add esp, 0x1c
mov eax, dword [ebp - 0xc8]
and dword [eax + 0x4c], 0
jmp 0x4cbda4
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc8], eax
mov ecx, dword [eax]
mov dword [ebp - 0xc4], ecx
test ecx, ecx
je case.0x4cbb29.17
mov eax, dword [eax + 8]
lea edx, [ebp - 0xb8]
mov dword [ebp - 0xb8], eax
mov ax, word [ebx + 0xc]
mov word [ebp - 0xb4], ax
xor eax, eax
mov word [ebp - 0xb2], ax
imul eax, dword [ebx + 8], 0x28
xor ebx, ebx
add eax, dword [ebp - 0xd8]
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0xc0]
push eax
push ebx
push ebx
push ebx
call fcn.004c2ddf
add esp, 0x10
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4cf4e1
cmp dword [ebp - 0xc0], ebx
jne 0x4cf4e1
mov ecx, dword [ebp - 0xc4]
call fcn.004c50fd
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x4c], ebx
jmp case.0x4cbb29.17
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
mov ebx, dword [ebp - 0xdc]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc4], eax
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
xor eax, eax
inc eax
mov word [ebx + 0x1c], ax
cmp dword [ebp - 0xc8], 0
je case.0x4cbb29.17
mov ecx, dword [ebp - 0xc4]
call fcn.004c9a0f
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4d0c81
mov eax, dword [ebp - 0xc4]
cmp byte [eax + 0x1c], 0
jne case.0x4cbb29.17
mov edx, dword [ebp - 0xc8]
lea eax, [ebp - 0xc0]
push eax
call fcn.004ca10c
mov dword [ebp - 0xcc], eax
pop ecx
test eax, eax
jne 0x4d0c81
mov eax, dword [ebp - 0xc0]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0xbc]
push 4
mov dword [ebx + 0x14], eax
pop eax
jmp 0x4ccd31
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc8], ecx
cmp dword [ecx], 0
je case.0x4cbb29.17
mov eax, dword [ecx + 8]
mov dword [ebp - 0xc0], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0xbc], ax
cmp byte [ebx + 3], 0
je 0x4cf5ba
push 0xc
jmp 0x4cf5bc
push 4
pop eax
mov word [ebp - 0xba], ax
lea edx, [ebp - 0xc0]
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0xd8]
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0xc4]
push eax
call fcn.004ca1ef
cmp byte [ebx], 0x51
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc4]
pop ecx
jne 0x4cf5fc
neg eax
jmp 0x4cf5fd
inc eax
mov dword [ebp - 0xc4], eax
test eax, eax
jle case.0x4cbb29.17
jmp 0x4cbb3d
xor edx, edx
mov ecx, edx
mov dword [ebp - 0xc4], ecx
mov eax, dword [esi + 0x88]
jmp 0x4cf640
cmp dword [eax + 0x34], 0xbdf20da3
jne 0x4cf63d
cmp byte [eax + 0x67], 2
jae 0x4cf63d
cmp dword [eax + 0x58], edx
jl 0x4cf63d
inc ecx
mov dword [ebp - 0xc4], ecx
mov eax, dword [eax + 0x40]
mov dword [ebp - 0xc0], eax
test eax, eax
jne 0x4cf622
mov eax, dword [ebp - 0xdc]
xor edx, edx
inc edx
mov word [eax + 0x1c], dx
cmp dword [ebp - 0xc4], edx
jle 0x4cf673
push 6
pop eax
push 2
pop ecx
mov dword [ebp - 0xcc], eax
mov byte [edi + 0x60], cl
jmp 0x4d0af4
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0xbc], ecx
add ecx, ecx
mov esi, dword [ebx + 4]
mov eax, dword [eax + 8]
mov edi, dword [eax + ecx*8 + 4]
mov ecx, edi
call fcn.004bfed4
lea eax, [ebp - 0xc8]
mov edx, esi
push eax
mov ecx, edi
call fcn.004c5656
pop ecx
mov ecx, edi
mov dword [ebp - 0xcc], eax
call fcn.004bff47
mov ecx, dword [ebp - 0xdc]
push 4
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xc8]
cdq
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 0x14], edx
test eax, eax
jne 0x4d0ae8
mov esi, dword [ebp - 0xc8]
test esi, esi
je 0x4d0ae8
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xbc]
mov edi, dword [ebx + 4]
shl ecx, 4
add ecx, dword [eax + 8]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0x10]
jmp 0x4cf713
mov edx, dword [eax + 8]
cmp dword [edx + 0x14], esi
jne 0x4cf711
mov dword [edx + 0x14], edi
mov eax, dword [eax]
test eax, eax
jne 0x4cf706
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0x20]
jmp 0x4cf72c
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x14], esi
jne 0x4cf72a
mov dword [ecx + 0x14], edi
mov eax, dword [eax]
test eax, eax
jne 0x4cf71f
mov al, byte [ebp - 0xbc]
inc al
mov byte [ebp - 0xf9], al
jmp 0x4cd7c3
xor ecx, ecx
lea eax, [ebp - 0xc8]
mov dword [ebp - 0xc8], ecx
xor edx, edx
cmp dword [ebx + 0xc], ecx
mov ecx, dword [esi + 8]
cmove eax, edx
mov edx, dword [ebx + 4]
push eax
mov eax, dword [ebx + 8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004c55fb
cmp dword [ebx + 0xc], 0
pop ecx
mov dword [ebp - 0xcc], eax
je 0x4d0af4
mov edx, dword [ebp - 0xc8]
add dword [edi + 0x6c], edx
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jle 0x4d0af4
mov ebx, dword [ebp - 0xd8]
mov eax, edx
imul ecx, ecx, 0x28
cdq
add dword [ecx + ebx + 0x10], eax
adc dword [ecx + ebx + 0x14], edx
jmp case.0x4cbb29.17
and dword [ebp - 0xc8], 0
mov esi, dword [ebx + 4]
xor ebx, ebx
mov eax, dword [ebp - 0xd4]
shl esi, 4
add esi, dword [eax + 8]
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xc0], esi
cmp byte [eax], 0x62
setne bl
inc ebx
mov dword [ebp - 0xc4], ebx
mov esi, dword [esi + 4]
mov ecx, esi
call fcn.004bfed4
push ebx
lea edx, [ebp - 0xc8]
mov ecx, esi
call fcn.004c5311
pop ecx
mov ecx, esi
mov dword [ebp - 0xcc], eax
call fcn.004bff47
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xdc]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp 0x4cbda4
mov edx, dword [ebx + 4]
mov eax, str.sqlite_master
cmp edx, 1
mov dword [ebp - 0xc8], edx
mov ecx, str.sqlite_temp_master
mov dword [ebp - 0xbc], esi
cmovne ecx, eax
add edx, edx
mov dword [ebp - 0xc4], ecx
mov eax, dword [ebx + 4]
mov dword [ebp - 0xb8], eax
lea eax, [edi + 0x38]
mov dword [ebp - 0xb4], eax
push dword [ebx + 0x10]
mov eax, dword [esi + 8]
push ecx
push dword [eax + edx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push esi
call fcn.004b670d
add esp, 0x14
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x4d0d0c
xor ebx, ebx
mov byte [esi + 0x7c], 1
push ebx
lea eax, [ebp - 0xbc]
mov dword [ebp - 0xb0], ebx
push eax
push fcn.004e3a9e
push dword [ebp - 0xc0]
push esi
call fcn.004e12f6
add esp, 0x14
test eax, eax
cmove eax, dword [ebp - 0xb0]
mov dword [ebp - 0xcc], eax
push dword [ebp - 0xc0]
push esi
call fcn.004b54b7
mov eax, dword [ebp - 0xcc]
mov byte [esi + 0x7c], bl
pop ecx
pop ecx
cmp eax, 7
je 0x4d0d0c
jmp 0x4d0af4
mov edx, dword [ebx + 4]
mov ecx, esi
call fcn.004d77af
jmp 0x4cd868
mov eax, dword [ebp - 0xd4]
mov esi, dword [ebx + 4]
mov edx, dword [ebx + 0x10]
mov ecx, edx
shl esi, 4
add esi, dword [eax + 8]
push 0
call fcn.004b7023
mov ecx, dword [esi + 0xc]
push eax
push 8
pop eax
add ecx, eax
call fcn.004b807a
mov esi, dword [ebp - 0xd4]
mov edx, eax
pop ecx
pop ecx
mov ecx, esi
call fcn.004d897c
mov eax, 0x200
or dword [esi + 0xc], eax
jmp case.0x4cbb29.17
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, esi
call fcn.004d873e
jmp 0x4cbead
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, esi
call fcn.004e9c50
jmp 0x4cbead
mov edx, dword [ebx + 8]
mov ecx, esi
mov dword [ebp - 0xc8], edx
lea edx, [edx*4 + 4]
call fcn.004b5672
mov edx, eax
xor eax, eax
mov dword [ebp - 0xc4], edx
test edx, edx
je 0x4d0d0e
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xb4], ecx
imul esi, dword [ebx + 4], 0x28
mov dword [ebp - 0xc0], eax
add esi, dword [ebp - 0xd8]
cmp dword [ebp - 0xc8], eax
jle 0x4cf9d5
imul ecx, eax, 0x28
add ecx, esi
call fcn.004c7404
mov edx, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc4]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp eax, dword [ebp - 0xc8]
jl 0x4cf9a1
mov edx, dword [ebp - 0xc4]
and dword [edx + eax*4], 0
lea eax, [ebp - 0xbc]
mov edx, dword [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xb4]
push dword [eax + 0x10]
movzx eax, byte [ebx + 3]
mov ebx, dword [ebp - 0xd4]
add eax, eax
push dword [ebp - 0xc8]
mov ecx, dword [ebx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004c6367
add esp, 0xc
mov dword [ebp - 0xb8], eax
push dword [ebp - 0xc4]
push ebx
call fcn.004b54b7
mov eax, dword [ebp - 0xbc]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xb4]
cdq
sub dword [ecx + 0x10], eax
sbb dword [ecx + 0x14], edx
mov ecx, esi
call fcn.004c75a6
cmp dword [ebp - 0xbc], 0
je 0x4cfa68
mov edx, dword [ebp - 0xb8]
test edx, edx
je 0x4d0cfe
push fcn.004b5459
push 1
push 0xffffffffffffffff
mov ecx, esi
call fcn.004c77a7
add esp, 0xc
movzx edx, byte [ebp - 0xf0]
mov ecx, esi
call fcn.004c7086
mov eax, dword [ebp - 0xcc]
mov esi, ebx
jmp 0x4d0af4
imul esi, dword [ebx + 4], 0x28
imul ebx, dword [ebx + 8], 0x28
push 0x20
pop eax
add esi, dword [ebp - 0xd8]
add ebx, dword [ebp - 0xd8]
test byte [esi + 0x1c], al
jne 0x4cfab2
mov ecx, esi
call fcn.004c764e
push 0x20
pop eax
test byte [esi + 0x1c], al
je 0x4d0d06
push dword [ebx + 0x14]
push dword [ebx + 0x10]
mov ecx, dword [esi + 0x10]
call fcn.004ba9df
pop ecx
jmp 0x4cbda3
cmp dword [esi + 0xe0], 0
jne 0x4d0ce6
imul esi, dword [ebx + 4], 0x28
push 0x20
pop eax
add esi, dword [ebp - 0xd8]
test byte [esi + 0x1c], al
je 0x4cfb40
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0xe4], ecx
call fcn.004bac2e
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx + 8]
test edx, edx
je 0x4cfb40
mov eax, dword [edx]
mov dword [ebp - 0xc8], eax
mov eax, dword [edx + 4]
mov dword [ebp - 0xc4], eax
mov eax, dword [ecx + 8]
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
test eax, eax
jne 0x4cfb23
call fcn.004ba9a8
imul ecx, dword [ebx + 0xc], 0x28
push dword [ebp - 0xc4]
push dword [ebp - 0xc8]
add ecx, dword [ebp - 0xd8]
call fcn.004c75ed
jmp 0x4cfac0
mov ecx, esi
call fcn.004c75a6
jmp 0x4ce2ac
imul esi, dword [ebx + 4], 0x28
imul eax, dword [ebx + 0xc], 0x28
mov edx, dword [ebx + 0x10]
push 0x20
pop ecx
add esi, dword [ebp - 0xd8]
add eax, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xe4], eax
test byte [esi + 0x1c], cl
jne 0x4cfb96
mov ecx, esi
call fcn.004c764e
push 0x20
pop eax
test byte [esi + 0x1c], al
je 0x4d0d06
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xe4]
test edx, edx
je 0x4cfbd7
push dword [eax + 0x14]
mov ecx, 0xff
push dword [eax + 0x10]
mov al, byte [ebp - 0xc8]
and al, 0xf
test edx, edx
movzx eax, al
cmovns ecx, eax
mov dl, cl
mov ecx, dword [esi + 0x10]
call fcn.004bac6c
mov dword [ebp - 0xc4], eax
pop ecx
pop ecx
test eax, eax
jne 0x4ce2ac
mov edx, dword [ebp - 0xc8]
test edx, edx
js 0x4cbda4
mov eax, dword [ebp - 0xe4]
push dword [eax + 0x14]
push dword [eax + 0x10]
jmp 0x4cfab8
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0xb0], edx
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xc0], ecx
cmp byte [ebx + 3], 0
je 0x4cfc4e
mov eax, dword [edi + 0xa8]
mov esi, dword [edx + 0x10]
mov dword [ebp - 0xac], esi
mov dword [ebp - 0xb4], eax
test eax, eax
je 0x4cfc48
cmp dword [eax + 0x20], esi
je 0x4cfc38
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0xb4], eax
test eax, eax
jne 0x4cfc26
mov esi, dword [ebp - 0xd4]
test eax, eax
jne case.0x4cbb29.17
jmp 0x4cfc4e
mov esi, dword [ebp - 0xd4]
mov eax, dword [edi + 0xb0]
cmp eax, dword [esi + 0x70]
jl 0x4cfc7a
push str.too_many_levels_of_trigger_recursion
lea eax, [edi + 0x38]
mov dword [ebp - 0xcc], 1
push esi
push eax
call fcn.004b5809
add esp, 0xc
jmp case.0x4cbb29.17
test byte [ecx + 0x1c], 0x40
jne 0x4cfdcb
mov eax, dword [edx + 8]
mov ecx, esi
add eax, dword [edx + 0xc]
mov dword [ebp - 0xc8], eax
imul eax, eax, 0xa
add eax, dword [edx + 0xc]
lea edx, [eax*4 + 0x40]
mov dword [ebp - 0xc4], edx
call fcn.004b5652
mov dword [ebp - 0xb4], eax
test eax, eax
je 0x4d0d0c
mov ecx, dword [ebp - 0xc0]
call fcn.004c738d
mov eax, dword [ebp - 0xc0]
push 0x40
pop ecx
mov edx, dword [ebp - 0xd0]
mov word [eax + 0x1c], cx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xb4]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xb4]
mov dword [eax], edi
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xc8]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xb4]
mov dword [eax + 0x28], ecx
mov eax, dword [ebp - 0xb4]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [edi + 8]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [edi + 0x18]
mov dword [eax + 0x14], ecx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [edi + 0x44]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0xb4]
mov cx, word [edi + 0x32]
mov word [eax + 0x1c], cx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [edi + 4]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [edi + 0x1c]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax + 0x10]
mov eax, dword [ebp - 0xb4]
mov dword [eax + 0x20], ecx
mov edx, dword [ebp - 0xb4]
imul eax, dword [edx + 0x24], 0x28
lea ecx, [edx + 0x40]
mov dword [ebp - 0xbc], ecx
add eax, 0x40
add eax, edx
mov dword [ebp - 0xb8], eax
cmp ecx, eax
je 0x4cfdd4
push 0x28
pop edi
xor eax, eax
inc eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xbc]
mov dword [eax], esi
mov ecx, dword [ebp - 0xbc]
add ecx, edi
mov dword [ebp - 0xbc], ecx
cmp ecx, dword [ebp - 0xb8]
jne 0x4cfd98
mov edi, dword [ebp - 0xec]
mov edx, dword [ebp - 0xb4]
jmp 0x4cfdd4
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xb4], edx
inc dword [edi + 0xb0]
mov eax, dword [edi + 0xa8]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x30]
mov eax, dword [ebp - 0xb4]
mov dword [eax + 0x30], ecx
mov ecx, dword [esi + 0x34]
mov eax, dword [ebp - 0xb4]
mov dword [eax + 0x34], ecx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [edi + 0x6c]
mov dword [eax + 0x38], ecx
mov ecx, dword [ebp - 0xb4]
and dword [edi + 0x6c], 0
mov dword [edi + 0xa8], ecx
lea ebx, [ecx + 0x18]
mov dword [edi + 8], ebx
mov eax, dword [ecx + 0x24]
mov dword [edi + 0x18], eax
mov ax, word [ecx + 0x28]
mov word [edi + 0x32], ax
mov eax, dword [edi + 0x18]
inc eax
mov dword [ebp - 0xd8], ebx
imul eax, eax, 0x28
add eax, ebx
or dword [ebp - 0xd0], 0xffffffff
mov dword [edi + 0x44], eax
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax]
mov dword [edi + 4], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0x104], ecx
mov dword [edi + 0x1c], eax
jmp case.0x4cbb29.17
mov esi, dword [edi + 0xa8]
mov dword [ebp - 0xc8], esi
imul ecx, dword [esi + 4], 0x14
mov eax, dword [esi + 8]
mov eax, dword [ecx + eax + 4]
add eax, dword [ebx + 4]
imul edx, eax, 0x28
mov eax, 0x1000
add edx, dword [esi + 0x10]
mov dword [ebp - 0xc4], edx
jmp 0x4cbd97
cmp dword [ebx + 4], 0
mov eax, dword [ebx + 8]
cdq
je 0x4cfeab
add dword [esi + 0x1f0], eax
adc dword [esi + 0x1f4], edx
jmp case.0x4cbb29.17
add dword [edi + 0x90], eax
adc dword [edi + 0x94], edx
jmp case.0x4cbb29.17
cmp dword [ebx + 4], 0
je 0x4cfed3
mov eax, dword [esi + 0x1f0]
or eax, dword [esi + 0x1f4]
jmp 0x4cce39
mov eax, dword [edi + 0x90]
or eax, dword [edi + 0x94]
jmp 0x4cce39
mov eax, dword [edi + 0xa8]
test eax, eax
jne 0x4cff41
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], ecx
call fcn.004c7516
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0xd8]
mov ecx, esi
call fcn.004c7516
mov eax, dword [ebp - 0xc8]
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
cmp dword [eax + 0x14], edx
jg 0x4cbda4
jl 0x4cff34
cmp dword [eax + 0x10], ecx
jae 0x4cbda4
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
jmp 0x4cbda4
mov eax, ecx
mov dword [ebp - 0xc4], eax
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x4cff3f
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [eax + 0x10]
jmp 0x4cfef8
imul eax, dword [ebx + 4], 0x28
xor edx, edx
mov ecx, dword [ebp - 0xd8]
cmp dword [eax + ecx + 0x14], edx
jl case.0x4cbb29.17
jg 0x4cbb3d
cmp dword [eax + ecx + 0x10], edx
jbe case.0x4cbb29.17
jmp 0x4cbb3d
imul eax, dword [ebx + 4], 0x28
xor edx, edx
mov ecx, dword [ebp - 0xd8]
cmp dword [eax + ecx + 0x14], edx
jg case.0x4cbb29.17
jl 0x4cbb3d
cmp dword [eax + ecx + 0x10], edx
jae case.0x4cbb29.17
jmp 0x4cbb3d
imul ecx, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0xc]
cdq
add ecx, dword [ebp - 0xd8]
add dword [ecx + 0x10], eax
mov eax, dword [ecx + 0x10]
adc dword [ecx + 0x14], edx
or eax, dword [ecx + 0x14]
jmp 0x4cce39
movzx eax, byte [ebx + 3]
mov edx, dword [edi + 0xc]
mov dword [ebp - 0xc8], eax
imul ecx, dword [ebx + 8], 0x28
mov dword [ebp - 0xe4], edx
mov dword [ebp - 0x78], edx
xor edx, edx
mov esi, edx
mov dword [ebp - 0xc4], esi
add ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xbc], ecx
test eax, eax
jle 0x4d0045
mov eax, dword [ebp - 0xe4]
push 0x28
pop edi
mov dword [eax + esi*4], ecx
mov ecx, dword [ebp - 0xbc]
call fcn.004cb7e2
mov esi, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xbc]
inc esi
add ecx, edi
mov dword [ebp - 0xc4], esi
mov dword [ebp - 0xbc], ecx
cmp esi, dword [ebp - 0xc8]
jge 0x4d003f
mov eax, dword [ebp - 0x78]
jmp 0x4d0009
mov edi, dword [ebp - 0xec]
mov eax, dword [ebx + 0x10]
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 0xb8], eax
imul eax, dword [ebx + 0xc], 0x28
push 8
add eax, dword [ebp - 0xd8]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x88], eax
inc dword [eax + 0x18]
xor eax, eax
mov ecx, dword [ebp - 0xb8]
inc eax
mov word [ebp - 0x94], ax
pop eax
mov dword [ebp - 0xac], edx
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x90], edx
mov dword [ebp - 0xb0], esi
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x80], edx
test byte [ecx + 3], al
je 0x4d00ac
mov eax, dword [ebx - 4]
mov dword [ebp - 0x80], eax
push dword [ebp - 0x78]
lea eax, [ebp - 0xb8]
push dword [ebp - 0xc8]
push eax
call dword [ecx + 0x10]
add esp, 0xc
cmp dword [ebp - 0x84], 0
je 0x4d00f7
mov dl, 1
lea ecx, [ebp - 0xb0]
call fcn.004c7b84
push eax
push 0x5949b0
lea eax, [edi + 0x38]
push esi
push eax
call fcn.004b5809
mov eax, dword [ebp - 0x84]
add esp, 0x10
mov dword [ebp - 0xcc], eax
lea ecx, [ebp - 0xb0]
call fcn.004c738d
jmp case.0x4cbb29.17
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebx + 0x10]
call fcn.004c72d8
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x4d0149
mov ecx, dword [ebp - 0xc8]
mov dl, 1
call fcn.004c7b84
push eax
push 0x5949b0
lea eax, [edi + 0x38]
push esi
push eax
call fcn.004b5809
add esp, 0x10
movzx edx, byte [ebp - 0xf0]
mov ecx, dword [ebp - 0xc8]
call fcn.004c7086
mov ecx, dword [ebp - 0xc8]
jmp 0x4cc5c9
and dword [ebp - 0xc4], 0
lea eax, [ebp - 0xbc]
or dword [ebp - 0xbc], 0xffffffff
mov ecx, esi
or dword [ebp - 0xc0], 0xffffffff
mov edx, dword [ebx + 4]
push eax
lea eax, [ebp - 0xc0]
push eax
push dword [ebx + 8]
call fcn.004f3ee8
mov edx, eax
add esp, 0xc
mov dword [ebp - 0xcc], edx
cmp edx, 5
jne 0x4d01b7
and dword [ebp - 0xcc], 0
mov dword [ebp - 0xc4], 1
xor eax, eax
mov dword [ebp - 0xc8], eax
imul ecx, dword [ebx + 0xc], 0x28
push 0x28
pop edi
add ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xb8], ecx
mov eax, dword [ebp + eax*4 - 0xc4]
cdq
push edx
push eax
call fcn.004c75ed
mov eax, dword [ebp - 0xc8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xb8]
inc eax
add ecx, edi
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xb8], ecx
cmp eax, 3
jl 0x4d01d2
mov edi, dword [ebp - 0xec]
jmp case.0x4cbb29.17
mov esi, dword [ebx + 0xc]
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xc0], esi
mov ecx, dword [ebx + 4]
add ecx, ecx
cmp esi, 0xffffffff
mov eax, dword [eax + 8]
mov eax, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xe4], eax
mov eax, dword [eax + 4]
mov edx, dword [eax]
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xe0], edx
movzx eax, byte [edx + 5]
cmove esi, eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xc0], esi
cmp byte [edx + 0xf], 3
jae 0x4d027d
mov eax, dword [edx + 0x40]
xor ecx, ecx
cmp dword [eax], ecx
je 0x4d0285
cmp dword [edx + 0x4c], ecx
jl 0x4d0285
jg 0x4d0277
cmp dword [edx + 0x48], ecx
jbe 0x4d0285
mov eax, dword [ebp - 0xbc]
mov esi, eax
mov dword [ebp - 0xc0], esi
mov eax, dword [edx + 0x90]
mov dword [ebp - 0xb8], eax
cmp esi, 5
jne 0x4d02b6
cmp byte [eax], 0
je 0x4d02a6
mov ecx, edx
call fcn.004be1cb
test eax, eax
jne 0x4d02b6
mov eax, dword [ebp - 0xbc]
mov esi, eax
mov dword [ebp - 0xc0], esi
jmp 0x4d02bc
mov eax, dword [ebp - 0xbc]
cmp esi, eax
je 0x4d03ad
push 5
pop edx
cmp eax, edx
je 0x4d02d3
cmp esi, edx
jne 0x4d03ad
mov ecx, dword [ebp - 0xd4]
cmp byte [ecx + 0x1c], 0
je 0x4d0376
cmp dword [ecx + 0x8c], 1
jg 0x4d0376
cmp eax, edx
jne 0x4d0328
mov ecx, dword [ebp - 0xe0]
call fcn.004be27e
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4d035a
mov edx, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc4]
call fcn.004be116
mov esi, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc8]
jmp 0x4d0342
push 4
pop ecx
cmp eax, ecx
jne 0x4d033c
mov ecx, dword [ebp - 0xe0]
push 2
pop eax
mov edx, eax
jmp 0x4d0315
mov ecx, dword [ebp - 0xe4]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.004c6710
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x4d036e
mov esi, dword [ebp - 0xbc]
mov dword [ebp - 0xc0], esi
mov ecx, dword [ebp - 0xc4]
jmp 0x4d03b3
mov esi, dword [ebp - 0xc0]
jmp 0x4d0366
cmp esi, edx
mov dword [ebp - 0xcc], 1
mov esi, dword [ebp - 0xd4]
mov eax, str.into
mov ecx, str.out_of
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
lea eax, [edi + 0x38]
push esi
push eax
call fcn.004b5809
add esp, 0x10
jmp case.0x4cbb29.17
mov ecx, dword [ebp - 0xe0]
mov edx, esi
call fcn.004be116
mov dword [ebp - 0xc0], eax
mov eax, 0xa02
imul ebx, dword [ebx + 8], 0x28
add ebx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], ebx
mov word [ebx + 0x1c], ax
mov ecx, dword [ebp - 0xc0]
cmp ecx, 6
jne 0x4d03e8
xor ecx, ecx
jmp 0x4d03ef
mov ecx, dword [ecx*4 + 0x589f18]
mov dword [ebx + 4], ecx
call fcn.004b7023
movzx edx, byte [ebp - 0xf0]
mov ecx, ebx
mov dword [ebx + 0x18], eax
mov byte [ebx + 0x1f], 1
call fcn.004c7086
jmp 0x4cbda4
lea ecx, [edi + 0x38]
mov edx, esi
call fcn.004eb2c4
jmp 0x4cd868
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 8]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xc8], ecx
call fcn.004c20da
mov dword [ebp - 0xcc], eax
cmp eax, 0x65
jne 0x4d0af4
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xd0], eax
xor eax, eax
jmp 0x4cd868
cmp dword [ebx + 4], 0
jne 0x4d0469
mov ecx, esi
call fcn.004ca27f
jmp case.0x4cbb29.17
mov byte [edi + 0x64], 1
jmp case.0x4cbb29.17
mov al, byte [ebx + 0xc]
mov byte [ebp - 0x11c], al
test al, al
jne 0x4d048c
test dword [esi + 0xc], 0x80000
jne case.0x4cbb29.17
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 8]
add eax, eax
push dword [ebp - 0x11c]
mov edx, dword [ebx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004c6675
mov dword [ebp - 0xcc], eax
pop ecx
cmp al, 6
jne 0x4d0af4
push dword [ebx + 0x10]
push str.database_table_is_locked:__s
jmp 0x4d039b
mov edx, dword [ebx + 0x10]
mov ecx, esi
mov dword [ebp - 0xc8], edx
call fcn.004ec143
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0xcc], eax
test edx, edx
je 0x4d0af4
mov edx, dword [edx + 8]
mov ecx, edi
call fcn.004cb9a8
jmp case.0x4cbb29.17
mov edx, dword [ebx + 4]
lea eax, [edi + 0x38]
push eax
push dword [ebx + 0x10]
mov ecx, esi
call fcn.004ebe1b
pop ecx
pop ecx
jmp 0x4cd868
push 2
pop eax
mov byte [edi + 0x67], al
mov ecx, esi
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
call fcn.004ebff4
pop ecx
mov dword [ebp - 0xcc], eax
mov byte [edi + 0x67], 0
jmp 0x4d0af4
xor eax, eax
lea edx, [ebp - 0xc4]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov eax, dword [ebx + 0x10]
push edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0xc0], ecx
push ecx
mov eax, dword [ecx]
mov dword [ebp - 0xbc], eax
call dword [eax + 0x18]
mov edx, dword [ebp - 0xc0]
pop ecx
pop ecx
mov ecx, edi
mov dword [ebp - 0xcc], eax
call fcn.004cb9a8
mov eax, dword [ebp - 0xcc]
test eax, eax
jne 0x4d0af4
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc0]
mov dword [eax], ecx
xor eax, eax
mov edx, dword [ebx + 4]
mov ecx, edi
push eax
push 0xffffffffffffffff
push eax
call fcn.004cb80d
add esp, 0xc
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x4d05cc
mov ecx, dword [ebp - 0xc4]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x28], ecx
jmp case.0x4cbb29.17
mov byte [esi + 0x1e], 1
mov eax, dword [ebp - 0xbc]
push dword [ebp - 0xc4]
call dword [eax + 0x1c]
jmp 0x4cbead
imul edx, dword [ebx + 0xc], 0x28
mov eax, dword [edi + 0x44]
add edx, dword [ebp - 0xd8]
mov dword [ebp - 0xbc], edx
lea esi, [edx + 0x28]
mov dword [ebp - 0xb8], esi
mov ecx, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xac], eax
mov eax, dword [eax + 0x24]
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xcc], eax
mov eax, dword [eax]
mov dword [ebp - 0xb0], eax
mov eax, dword [eax]
mov dword [ebp - 0xc0], eax
mov esi, dword [esi + 0x10]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xc8], esi
mov eax, dword [edx + 0x10]
mov edx, dword [edi + 0xc]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xc4], eax
xor eax, eax
mov dword [ebp - 0xa8], eax
mov ecx, eax
mov dword [ebp - 0xa0], edx
mov dword [ebp - 0xa4], ecx
test esi, esi
jle 0x4d06c6
lea eax, [ecx + 1]
imul eax, eax, 0x28
add eax, dword [ebp - 0xb8]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [ecx + eax*4]
call fcn.004cb7e2
mov ecx, dword [ebp - 0xa4]
mov esi, dword [ebp - 0xc8]
inc ecx
mov edx, dword [ebp - 0xa0]
mov dword [ebp - 0xa4], ecx
cmp ecx, esi
jl 0x4d0666
mov ebx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xf4], ebx
mov ebx, dword [ebp - 0xe4]
jmp 0x4d06d2
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xe0]
push edx
push esi
mov byte [edi + 0x67], 1
push dword [ebx + 0x10]
push dword [ebp - 0xf4]
push eax
call dword [ecx + 0x20]
mov edx, dword [ebp - 0xb0]
add esp, 0x14
mov ecx, edi
mov dword [ebp - 0xcc], eax
mov byte [edi + 0x67], 0
call fcn.004cb9a8
cmp dword [ebp - 0xcc], 0
jne 0x4d0720
mov eax, dword [ebp - 0xc0]
push dword [ebp - 0xb4]
call dword [eax + 0x28]
pop ecx
mov dword [ebp - 0xa8], eax
jmp 0x4d0726
mov eax, dword [ebp - 0xa8]
test eax, eax
je 0x4d0734
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xac]
mov byte [eax + 0x1c], 0
jmp 0x4cbda4
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
mov esi, dword [eax + ecx*4]
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xc0], ecx
cmp byte [esi + 0x1c], 0
jne 0x4cbfb2
mov eax, dword [esi + 0x24]
push 0x40
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
pop eax
push eax
lea eax, [ebp - 0xb8]
push 0
push eax
call sub.MSVCR120.dll_memset
mov edx, dword [ebp - 0xc0]
lea ecx, [ebp - 0xb0]
add esp, 0xc
call fcn.004c7781
mov eax, dword [ebp - 0x94]
mov ecx, 0xbf01
and eax, ecx
or eax, 1
mov word [ebp - 0x94], ax
lea eax, [ebp - 0xb8]
push dword [ebx + 8]
push eax
mov eax, dword [ebp - 0xc4]
push dword [esi + 0x24]
call dword [eax + 0x2c]
mov edx, dword [ebp - 0xc8]
add esp, 0xc
mov ecx, edi
mov dword [ebp - 0xcc], eax
call fcn.004cb9a8
cmp dword [ebp - 0x84], 0
lea ecx, [ebp - 0xb0]
mov eax, dword [ebp - 0xcc]
cmovne eax, dword [ebp - 0x84]
movzx edx, byte [ebp - 0xf0]
mov dword [ebp - 0xcc], eax
call fcn.004c7086
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0xb0]
call fcn.004c7781
mov ecx, dword [ebp - 0xc0]
call fcn.004c76b2
mov esi, dword [ebp - 0xd4]
jmp 0x4cc5ce
and dword [ebp - 0xc0], 0
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xbc], ecx
cmp byte [ecx + 0x1c], 0
jne case.0x4cbb29.17
mov eax, dword [ecx + 0x24]
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
mov byte [edi + 0x67], 1
push dword [ecx + 0x24]
call dword [eax + 0x24]
mov edx, dword [ebp - 0xc8]
pop ecx
mov ecx, edi
mov dword [ebp - 0xcc], eax
mov byte [edi + 0x67], 0
call fcn.004cb9a8
mov eax, dword [ebp - 0xcc]
test eax, eax
jne 0x4d08b7
mov eax, dword [ebp - 0xbc]
push dword [eax + 0x24]
mov eax, dword [ebp - 0xc4]
call dword [eax + 0x28]
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xc0], ecx
jmp 0x4d08bd
mov ecx, dword [ebp - 0xc0]
test ecx, ecx
jne 0x4d0af4
mov edx, dword [ebx + 8]
dec edx
jmp 0x4d0afa
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + 8]
mov dword [ebp - 0xc8], edx
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xc4], ecx
mov eax, dword [edx]
push dword [ecx + 4]
push edx
call dword [eax + 0x4c]
mov edx, dword [ebp - 0xc8]
pop ecx
pop ecx
mov ecx, edi
mov dword [ebp - 0xcc], eax
call fcn.004cb9a8
jmp 0x4cde1a
mov eax, dword [ebx + 0x10]
xor edx, edx
mov eax, dword [eax + 8]
mov dword [ebp - 0xc8], eax
mov ecx, dword [eax]
mov dword [ebp - 0xc4], ecx
mov esi, dword [ebx + 8]
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xf4], ecx
cmp dword [ecx + 0x34], edx
je 0x4cbda4
mov ecx, dword [edi + 0xc]
mov dword [ebp - 0xb0], ecx
imul ecx, dword [ebx + 0xc], 0x28
mov dword [ebp - 0xbc], edx
add ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xac], ecx
test esi, esi
jle 0x4d09ba
push 0x28
pop edi
call fcn.004cb7e2
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xac]
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xbc]
add ecx, edi
mov esi, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xbc], eax
cmp eax, esi
jl 0x4d0961
mov edi, dword [ebp - 0xec]
mov edx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc8]
jmp 0x4d09c3
mov ecx, dword [ebp - 0xf4]
mov edx, dword [edi + 0xc]
lea ebx, [ebp - 0xb8]
push ebx
push edx
push esi
push eax
call dword [ecx + 0x34]
mov edx, dword [ebp - 0xc8]
add esp, 0x10
mov ecx, edi
mov dword [ebp - 0xcc], eax
call fcn.004cb9a8
mov eax, dword [ebp - 0xcc]
mov ebx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xd4]
test eax, eax
jne 0x4d0a1a
cmp dword [ebx + 4], 0
je 0x4d0a1a
mov eax, dword [ebp - 0xb8]
mov dword [esi + 0x30], eax
mov eax, dword [ebp - 0xb4]
mov dword [esi + 0x34], eax
mov eax, dword [ebp - 0xcc]
inc dword [edi + 0x6c]
jmp 0x4d0af4
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 8]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x30]
and dword [edx + 0x14], 0
mov dword [edx + 0x10], eax
jmp case.0x4cbb29.17
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 8]
add ecx, ecx
mov edx, dword [ebx + 0xc]
xor esi, esi
mov ecx, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xe4], ecx
test edx, edx
je 0x4d0a66
mov eax, dword [ecx + 4]
mov esi, dword [eax + 0x30]
cmp esi, edx
cmovb esi, edx
call fcn.004bfed4
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ecx + 4]
mov eax, dword [eax]
test esi, esi
jle 0x4d0a80
mov dword [eax + 0x84], esi
mov esi, dword [eax + 0x84]
call fcn.004bff47
mov eax, esi
jmp 0x4cf809
mov edx, dword [ebx + 0x10]
test edx, edx
jne 0x4d0a9f
mov edx, dword [edi + 0xa0]
mov dword [ebp - 0xc8], edx
test edx, edx
je case.0x4cbb29.17
cmp dword [esi + 0x98], 0
je case.0x4cbb29.17
mov ecx, edi
call fcn.004cb4ed
mov esi, eax
mov eax, dword [ebp - 0xd4]
push esi
push dword [eax + 0x9c]
call dword [eax + 0x98]
push esi
mov esi, dword [ebp - 0xd4]
push esi
call fcn.004b54b7
jmp 0x4d03a5
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd0]
inc edx
mov dword [ebp - 0xd0], edx
test eax, eax
jne 0x4d0d33
mov ecx, dword [ebp - 0x110]
mov eax, edx
jmp 0x4cba9d
push 9
jmp 0x4d0d26
mov ecx, dword [ebx + 4]
mov dword [edi + 0x5c], ecx
mov al, byte [ebx + 8]
mov byte [edi + 0x60], al
mov eax, dword [ebp - 0xd0]
mov dword [edi + 0x58], eax
cmp dword [ebx + 0x10], 0
je 0x4d0b6c
push dword [ebx + 0x10]
lea eax, [edi + 0x38]
push 0x5949b0
push esi
push eax
call fcn.004b5809
push dword [ebx + 0x10]
mov edx, dword [ebp - 0xd0]
push dword [edi + 0xa0]
push edx
push str.abort_at__d_in___s_:__s
push dword [ebx + 4]
call fcn.004b68dd
add esp, 0x24
jmp 0x4d0b87
test ecx, ecx
je 0x4d0b87
push dword [edi + 0xa0]
push eax
push str.constraint_failed_at__d_in___s_
push dword [ebx + 4]
call fcn.004b68dd
add esp, 0x10
mov ecx, edi
call fcn.004c958a
push 5
pop ecx
cmp eax, ecx
je 0x4d0bdf
cmp dword [edi + 0x5c], 0
push 0x65
pop esi
push 1
pop eax
cmovne esi, eax
jmp 0x4d0d81
cmp byte [esi + 0x1e], 0
jne 0x4d0d0c
mov eax, dword [ebp - 0xd0]
inc eax
push 0x64
mov dword [edi + 0x58], eax
pop esi
jmp 0x4d0d81
lea ecx, [ebp - 0xb8]
call fcn.004c738d
jmp 0x4d0d0c
mov edx, dword [ebp - 0xd0]
mov dword [edi + 0x58], edx
mov byte [esi + 0x1c], bl
mov esi, ecx
mov dword [edi + 0x5c], ecx
jmp 0x4d0d81
test esi, esi
je 0x4d0c16
mov ecx, edx
call fcn.004f37b8
mov esi, dword [ebp - 0xd4]
mov byte [esi + 0x1c], 1
mov ecx, esi
call fcn.004f34fd
xor esi, esi
inc esi
cmp dword [edi + 0x5c], ebx
push 0x65
pop eax
cmove esi, eax
jmp 0x4d0d81
xor edx, edx
mov ecx, edi
inc edx
call fcn.004c9535
mov esi, eax
test esi, esi
jne 0x4d0d81
mov esi, dword [ebp - 0xd4]
mov ecx, edi
mov al, byte [ebp - 0xc8]
mov byte [esi + 0x1c], al
call fcn.004c958a
push 5
pop ecx
cmp eax, ecx
jne 0x4d0bfe
mov edx, dword [ebp - 0xd0]
xor eax, eax
inc eax
mov dword [edi + 0x58], edx
sub al, byte [ebp - 0xc8]
mov byte [esi + 0x1c], al
jmp 0x4d0bdf
mov edx, dword [ebp - 0xd0]
mov dword [edi + 0x58], edx
jmp 0x4d0bdf
mov ecx, 0x10000
call fcn.004f47f7
jmp 0x4d0c7b
push 0xd
pop eax
mov esi, dword [ebp - 0xd4]
cmp byte [esi + 0x1e], 0
push 7
pop ecx
cmovne eax, ecx
mov dword [ebp - 0xcc], eax
cmp eax, 0xc0a
je 0x4d0d2d
mov ecx, eax
call fcn.004f386b
push eax
push 0x5949b0
lea eax, [edi + 0x38]
push esi
push eax
call fcn.004b5809
mov eax, dword [ebp - 0xcc]
add esp, 0x10
jmp 0x4d0d2d
mov edi, dword [ebp - 0xec]
jmp 0x4d0cd0
mov esi, eax
jmp 0x4d0cd0
mov esi, dword [ebp - 0xd4]
push str.string_or_blob_too_big
lea eax, [edi + 0x38]
push esi
push eax
call fcn.004b5809
add esp, 0xc
push 0x12
jmp 0x4d0d26
push 9
pop edx
mov dword [ebp - 0xcc], edx
mov ecx, edx
mov dword [edi + 0x5c], edx
jmp 0x4d0c9e
mov edi, dword [ebp - 0xec]
jmp 0x4d0d0c
mov esi, ebx
jmp 0x4d0d0c
mov esi, eax
jmp 0x4d0d0c
mov esi, dword [ebp - 0xd4]
xor eax, eax
inc eax
push str.out_of_memory
mov byte [esi + 0x1e], al
lea eax, [edi + 0x38]
push esi
push eax
call fcn.004b5809
add esp, 0xc
push 7
pop eax
mov dword [ebp - 0xcc], eax
mov edx, dword [ebp - 0xd0]
push dword [edi + 0x38]
mov dword [edi + 0x5c], eax
push dword [edi + 0xa0]
push edx
push str.statement_aborts_at__d:___s___s
push eax
call fcn.004b68dd
add esp, 0x14
mov ecx, edi
call fcn.004c958a
cmp dword [ebp - 0xcc], 0xc0a
jne 0x4d0d65
mov byte [esi + 0x1e], 1
mov al, byte [ebp - 0xf9]
xor esi, esi
inc esi
test al, al
je 0x4d0d81
mov ecx, dword [ebp - 0xd4]
movzx edx, al
dec edx
call fcn.004d87bd
mov ecx, edi
call fcn.004c87bf
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0055daac
mov esp, ebp
pop ebp
ret