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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x134
mov eax, dword [0x5ca1c8]
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.004ca4a7
xor eax, eax
push 7
inc eax
pop ecx
mov dword [ebp - 0x118], eax
cmp dword [edi + 0x5c], ecx
je 0x4d2a4f
xor edx, edx
mov dword [edi + 0x5c], edx
mov dword [edi + 0x14], edx
mov dword [esi + 0x1b4], edx
cmp dword [esi + 0xe0], edx
jne 0x4d2a26
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 0x4d2a4c
imul ebx, eax, 0x14
add ebx, dword [ebp - 0x104]
mov dword [ebp - 0xe4], ebx
test ecx, ecx
je 0x4cd82a
mov eax, dword [ebp - 0x10c]
cmp dword [esi + 0x11c], eax
jne 0x4cd823
push dword [esi + 0x118]
call dword [esi + 0x114]
pop ecx
test eax, eax
jne 0x4d2856
push 2
pop edx
inc eax
mov dword [ebp - 0x10c], eax
test byte [ebx + 2], dl
je 0x4cd855
imul eax, dword [ebx + 8], 0x28
add eax, dword [ebp - 0xd8]
mov ecx, eax
mov dword [ebp - 0xdc], eax
call fcn.004c9075
mov edx, dword [ebp - 0xdc]
push 4
pop ecx
mov word [edx + 0x1c], cx
jmp 0x4cd85e
mov edx, dword [ebp - 0xdc]
push 4
pop ecx
movzx eax, byte [ebx]
dec eax
cmp eax, 0x90
ja case.0x4cd869.17
jmp dword [eax*4 + 0x4d2ade]
cmp dword [esi + 0xe0], 0
jne 0x4d2a26
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xcc]
jmp 0x4d2834
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 0x4cd87d
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0xd8]
mov eax, dword [eax + ecx + 0x10]
jmp 0x4cd881
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 0x4cd881
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0xd8]
test byte [eax + ecx + 0x1c], 1
je case.0x4cd869.17
cmp dword [ebx + 4], 0
jne 0x4d285d
mov ecx, dword [edi + 0xa8]
test ecx, ecx
je 0x4d285d
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.004caba0
push 4
pop edx
mov dword [ebp - 0xd0], eax
cmp dword [ebx + 8], edx
jne 0x4cd956
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.0x4cd869.17
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xdc]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x4cd869.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.0x4cd869.17
push 8
pop eax
mov word [edx + 0x1c], ax
mov eax, dword [ebx + 0x10]
fld qword [eax]
fstp qword [edx + 8]
jmp case.0x4cd869.17
mov ecx, dword [ebx + 0x10]
mov byte [ebx], 9
call fcn.004b8d63
mov dword [ebx + 4], eax
xor eax, eax
inc eax
cmp byte [ebp - 0xf0], al
je 0x4cda4c
push 0
push eax
mov edx, ecx
mov ecx, dword [ebp - 0xdc]
push 0xffffffffffffffff
call fcn.004c94e7
add esp, 0xc
mov dword [ebp - 0xcc], eax
cmp eax, 0x12
je 0x4d2a10
movzx edx, byte [ebp - 0xf0]
mov ecx, dword [ebp - 0xdc]
call fcn.004c8dc6
test eax, eax
jne 0x4d2a4c
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 0x4cda3c
push dword [ebx + 0x10]
push esi
call fcn.004b71f7
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 0x4d2a10
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.0x4cd869.17
xor eax, eax
inc eax
mov word [edx + 0x1c], ax
jmp case.0x4cd869.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.004c94e7
mov al, byte [ebp - 0xf0]
add esp, 0xc
mov byte [ebx + 0x1f], al
jmp case.0x4cd869.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.004c93f2
test eax, eax
jne 0x4d2a0a
mov eax, 0x800
mov edx, esi
mov ecx, dword [ebp - 0xdc]
push eax
call fcn.004c9415
pop ecx
mov eax, dword [ebp - 0xcc]
jmp 0x4d282e
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 0x4cdb69
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.004c94c1
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 0x4cdb29
mov edi, dword [ebp - 0xec]
mov dword [ebp - 0xdc], ebx
dec edx
mov dword [ebp - 0xc4], edx
jmp 0x4cdae4
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.004c9415
mov eax, 0x1000
pop ecx
test word [ebx + 0x1c], ax
je case.0x4cd869.17
mov ecx, ebx
call fcn.004c8ea1
test eax, eax
jne 0x4d2a4c
jmp case.0x4cd869.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.004c9415
pop ecx
jmp case.0x4cd869.17
xor edx, edx
mov ecx, edi
call fcn.004cb275
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4d2834
xor edx, edx
mov ecx, edi
inc edx
call fcn.004cb19d
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4d2834
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 0x4d28e7
imul eax, ecx, 0x28
mov esi, 0x1000
add eax, edx
test word [eax + 0x1c], si
mov esi, dword [ebp - 0xd4]
je 0x4cdc85
mov ecx, eax
call fcn.004c8ea1
test eax, eax
jne 0x4d2a4c
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc8]
imul ecx, ecx, 0x28
add ecx, edx
call fcn.004c8f50
imul ecx, dword [ebp - 0xc4], 0x28
add ecx, dword [ebp - 0xc8]
call fcn.004cd522
mov ecx, dword [ebp - 0xc4]
inc ecx
mov dword [ebp - 0xc4], ecx
cmp ecx, dword [ebx + 8]
jge 0x4d28e7
mov edx, dword [ebp - 0xc8]
jmp 0x4cdc54
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 0x4cdcfc
mov ecx, ebx
call fcn.004c92e6
jmp 0x4cdae4
mov eax, 0x4000
test eax, edx
je 0x4cdd0e
call fcn.004c8efd
xor ebx, ebx
jmp 0x4cdd12
xor ebx, ebx
mov eax, ebx
test eax, eax
jne 0x4d2a46
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x4cdd2e
mov ecx, esi
call fcn.004c8efd
jmp 0x4cdd30
mov eax, ebx
test eax, eax
jne 0x4d2a46
mov eax, dword [ebp - 0xe0]
test byte [eax + 0x1c], 0x12
jne 0x4cdd5a
movzx edx, byte [ebp - 0xf0]
mov ecx, eax
call fcn.004c8f9c
test eax, eax
jne 0x4d2a46
test byte [esi + 0x1c], 0x12
jne 0x4cdd76
movzx edx, byte [ebp - 0xf0]
mov ecx, esi
call fcn.004c8f9c
test eax, eax
jne 0x4d2a46
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 0x4d2a0a
jl 0x4cddb1
cmp dword [ebp - 0xc8], eax
ja 0x4d2a0a
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.004c8de0
pop ecx
test eax, eax
jne 0x4d2a46
mov eax, dword [ebp - 0xdc]
cmp eax, esi
je 0x4cde07
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 0x4cdae4
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0xd8]
mov ecx, esi
call fcn.004cd606
imul eax, dword [ebx + 8], 0x28
add eax, dword [ebp - 0xd8]
mov ecx, eax
mov dword [ebp - 0xe4], eax
call fcn.004cd606
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 0x4ce140
mov al, byte [edx + 0x1c]
and al, byte [esi + 0x1c]
push 4
pop edx
test dl, al
je 0x4ce00e
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 0x4cdfc8
dec eax
je 0x4cdfb9
dec eax
je 0x4cdfaa
dec eax
mov eax, ecx
je 0x4cdf63
or eax, edx
je 0x4ce140
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x4cdf4e
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.00563770
jmp 0x4cdf9c
or eax, edx
je 0x4ce140
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0xe0]
jne 0x4cdf8e
test eax, eax
jne 0x4cdf8e
cmp dword [ebp - 0xf4], 0x80000000
je 0x4ce00e
push edx
push ecx
push dword [ebp - 0xf4]
push eax
call fcn.00560340
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], edx
jmp 0x4cdfdb
push edx
push ecx
lea ecx, [ebp - 0xb8]
call fcn.004b9a71
jmp 0x4cdfd5
push edx
push ecx
lea ecx, [ebp - 0xb8]
call fcn.004b9a23
jmp 0x4cdfd5
push edx
push ecx
lea ecx, [ebp - 0xb8]
call fcn.004b9997
pop ecx
pop ecx
test eax, eax
jne 0x4ce00e
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 0x4cdae4
mov ecx, esi
call fcn.004c91a5
mov ecx, dword [ebp - 0xe4]
fst qword [ebp - 0xf8]
fstp qword [ebp - 0xb0]
call fcn.004c91a5
fst qword [ebp - 0xa8]
movzx eax, byte [ebx]
sub eax, 0x56
je 0x4ce0e2
dec eax
je 0x4ce0da
dec eax
je 0x4ce0d2
dec eax
je 0x4ce0bc
fld qword [ebp - 0xf8]
call fcn.00560466
mov esi, eax
mov ebx, edx
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xbc], ebx
call fcn.00560466
mov ecx, esi
mov dword [ebp - 0xb8], eax
or ecx, ebx
mov dword [ebp - 0xb4], edx
je 0x4ce140
mov ecx, esi
and ecx, ebx
cmp ecx, 0xffffffff
jne 0x4ce09f
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.00563770
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], edx
fild qword [ebp - 0x128]
jmp 0x4ce0e8
fldz
fld qword [ebp - 0xf8]
fucomi st(1)
fstp st(1)
lahf
test ah, 0x44
jnp 0x4ce13c
fdivp st(1)
jmp 0x4ce0e8
fmul qword [ebp - 0xf8]
jmp 0x4ce0e8
fsub qword [ebp - 0xf8]
jmp 0x4ce0e8
fadd qword [ebp - 0xf8]
push ecx
fst qword [ebp - 0xa8]
push ecx
fstp qword [esp]
call fcn.004b8d37
add esp, 8
test eax, eax
jne 0x4ce140
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 0x4cdae4
mov ecx, ebx
call fcn.004c91f3
jmp 0x4cdae4
fstp st(0)
fstp st(0)
mov ecx, dword [ebp - 0xdc]
jmp 0x4cdcf2
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 0x4ce1e8
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 0x4ce1b9
call fcn.004c8ea1
test eax, eax
jne 0x4d2a46
mov ecx, dword [ebp - 0xc4]
call fcn.004cd522
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 0x4ce1e6
mov eax, dword [ebp - 0x80]
jmp 0x4ce192
xor ecx, ecx
cmp byte [ebx + 1], 0xfb
mov eax, dword [ebx + 0x10]
jne 0x4ce1f9
mov dword [ebp - 0xbc], ecx
jmp 0x4ce201
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.004c94c1
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 0x4ce26f
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 0x4d2903
mov ecx, dword [ebp - 0xbc]
test ecx, ecx
je 0x4ce2ab
mov edx, dword [ebx + 4]
call fcn.004cb622
mov eax, dword [ebp - 0xbc]
mov dword [ebx + 0x10], eax
mov byte [ebx + 1], 0xf9
cmp dword [ebp - 0x8c], 0
je 0x4ce2e0
mov dl, 1
lea ecx, [ebp - 0xb8]
call fcn.004c98c4
push eax
push 0x59813c
lea eax, [edi + 0x38]
push esi
push eax
call fcn.004b7549
mov eax, dword [ebp - 0x8c]
add esp, 0x10
mov dword [ebp - 0xcc], eax
movzx edx, byte [ebp - 0xf0]
lea ecx, [ebp - 0xb8]
call fcn.004c8dc6
mov ecx, dword [ebp - 0xdc]
lea edx, [ebp - 0xb8]
call fcn.004c94c1
mov ecx, dword [ebp - 0xdc]
call fcn.004c93f2
test eax, eax
jne 0x4d2a10
jmp case.0x4cd869.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 0x4ce34a
mov ecx, edx
jmp 0x4cdcf2
call fcn.004c9144
mov ecx, esi
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
call fcn.004c9144
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 0x4ce3a1
mov esi, dword [ebp - 0xc8]
and esi, ecx
and dword [ebp - 0xc4], edx
mov dword [ebp - 0xc8], esi
jmp 0x4ce4e7
cmp al, 0x53
jne 0x4ce3be
mov esi, dword [ebp - 0xc8]
or esi, ecx
or dword [ebp - 0xc4], edx
mov dword [ebp - 0xc8], esi
jmp 0x4ce4e7
mov eax, ecx
or eax, edx
je 0x4ce4e1
xor ebx, ebx
cmp edx, ebx
jg 0x4ce423
jl 0x4ce3d4
cmp ecx, ebx
jae 0x4ce423
mov al, 0xa9
sub al, byte [ebp - 0xdd]
mov byte [ebp - 0xb0], al
cmp edx, 0xffffffff
jl 0x4ce408
jg 0x4ce3ee
cmp ecx, 0xffffffc0
jbe 0x4ce408
neg ecx
mov dword [ebp - 0xe4], ecx
adc edx, ebx
mov dword [ebp - 0xb8], ecx
neg edx
mov dword [ebp - 0xb4], edx
jmp 0x4ce429
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 0x4ce42c
mov al, byte [ebp - 0xdd]
push 0x40
pop esi
cmp edx, ebx
jl 0x4ce465
jg 0x4ce436
cmp ecx, esi
jb 0x4ce465
cmp dword [ebp - 0xc4], ebx
jg 0x4ce44f
jl 0x4ce448
cmp dword [ebp - 0xc8], ebx
jae 0x4ce44f
cmp al, 0x54
je 0x4ce44f
or ebx, 0xffffffff
mov eax, ebx
cdq
mov esi, eax
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xc8], esi
jmp 0x4ce4e7
mov edx, dword [ebp - 0xc4]
cmp al, 0x54
mov eax, dword [ebp - 0xc8]
jne 0x4ce480
call fcn.00563830
mov esi, eax
mov eax, edx
jmp 0x4ce4c7
call fcn.005638f0
mov esi, eax
mov eax, edx
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xc4], ebx
jg 0x4ce4d3
jl 0x4ce4a7
cmp dword [ebp - 0xc8], ebx
jae 0x4ce4d3
push 0x40
pop eax
mov ecx, eax
or edx, 0xffffffff
sub ecx, dword [ebp - 0xe4]
or eax, 0xffffffff
call fcn.00563830
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 0x4ce4e7
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 0x4cdae4
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0xd8]
mov ecx, esi
call fcn.004c9256
mov eax, dword [ebx + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
jmp 0x4cdae4
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0xd8]
mov ecx, esi
call fcn.004cd606
push 8
pop eax
test byte [esi + 0x1c], al
je 0x4ce554
mov ecx, esi
call fcn.004c91f3
movzx eax, word [esi + 0x1c]
push 4
pop ecx
test cl, al
jne 0x4ce578
mov eax, dword [ebx + 8]
mov esi, dword [ebp - 0xd4]
test eax, eax
jne 0x4cd880
push 0x14
pop eax
jmp 0x4d29c1
mov edx, 0xbf04
and eax, edx
or eax, ecx
mov word [esi + 0x1c], ax
jmp 0x4cdae4
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0xd8]
movzx ebx, word [esi + 0x1c]
test cl, bl
je 0x4cdae4
mov ecx, esi
call fcn.004c91a5
mov eax, 0xbf08
and ebx, eax
push 8
pop eax
or ebx, eax
fstp qword [esi + 8]
mov word [esi + 0x1c], bx
jmp 0x4cdae4
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0xd8]
movzx ecx, word [esi + 0x1c]
test cl, 1
jne 0x4cdae4
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.004cd67f
mov eax, 0x4000
pop ecx
test word [esi + 0x1c], ax
je 0x4ce610
mov ecx, esi
call fcn.004c8efd
mov dword [ebp - 0xcc], eax
jmp 0x4ce617
and dword [ebp - 0xcc], 0
mov eax, 0xbfe3
and word [esi + 0x1c], ax
jmp 0x4cdae4
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0xd8]
movzx eax, word [esi + 0x1c]
test al, 1
jne 0x4cdae4
push 0x10
pop ebx
test bl, al
jne 0x4ce666
push dword [ebp - 0xf0]
mov dl, 0x61
mov ecx, esi
call fcn.004cd67f
mov ax, word [esi + 0x1c]
pop ecx
mov ecx, 0xbf10
and ax, cx
or ax, bx
jmp 0x4ce581
and eax, 0xff10
jmp 0x4ce581
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xd8]
call fcn.004c927c
jmp case.0x4cd869.17
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xd8]
test byte [ecx + 0x1c], 1
jne case.0x4cd869.17
call fcn.004c9256
jmp case.0x4cd869.17
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0xd8]
movzx ebx, word [esi + 0x1c]
test bl, 1
jne 0x4cdae4
jmp 0x4ce5a0
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 0x4ce755
mov al, byte [ebx + 3]
test al, al
jns 0x4ce711
and ecx, edx
not ecx
and ecx, 1
jmp 0x4ce7d8
push 0x10
pop ecx
test cl, al
je 0x4ce73f
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 0x4ce005
push 8
pop ecx
test cl, al
mov esi, dword [ebp - 0xd4]
je case.0x4cd869.17
jmp 0x4cd87d
mov dl, byte [ebx + 3]
and dl, 0x67
mov byte [ebp - 0xc4], dl
je 0x4ce799
push dword [ebp - 0xf0]
mov ecx, esi
call fcn.004cd67f
mov dl, byte [ebp - 0xc4]
pop ecx
push dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xe0]
call fcn.004cd67f
mov eax, dword [ebp - 0xd4]
pop ecx
cmp byte [eax + 0x1e], 0
jne 0x4d2a42
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x4ce7ab
mov ecx, esi
call fcn.004c8efd
mov eax, dword [ebp - 0xe0]
mov ecx, 0x4000
test word [eax + 0x1c], cx
je 0x4ce7c9
mov ecx, eax
call fcn.004c8efd
mov eax, dword [ebp - 0xe0]
push dword [ebx + 0x10]
mov edx, esi
mov ecx, eax
call fcn.004c9640
pop ecx
mov ecx, eax
mov dword [ebp - 0xc8], ecx
movzx eax, byte [ebx]
sub eax, 0x4b
je 0x4ce81f
dec eax
je 0x4ce816
dec eax
je 0x4ce80d
dec eax
je 0x4ce804
dec eax
je 0x4ce7fb
xor eax, eax
test ecx, ecx
setns al
jmp 0x4ce826
xor eax, eax
test ecx, ecx
sets al
jmp 0x4ce826
xor eax, eax
test ecx, ecx
setle al
jmp 0x4ce826
xor eax, eax
test ecx, ecx
setg al
jmp 0x4ce826
xor eax, eax
test ecx, ecx
sete al
jmp 0x4ce826
xor eax, eax
test ecx, ecx
setne al
push 0x10
pop ecx
mov dword [ebp - 0xc8], eax
test byte [ebx + 3], cl
je 0x4ce869
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 0x4ce877
test eax, eax
je 0x4ce877
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 0x4cdae4
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x100], ecx
jmp case.0x4cd869.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 0x4ce999
mov edx, ebx
mov eax, dword [ebp - 0x100]
test eax, eax
je 0x4ce8fb
mov ebx, dword [eax + esi*4]
jmp 0x4ce8fd
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.004c9640
mov dword [ebp - 0x108], eax
pop ecx
test eax, eax
jne 0x4ce986
mov esi, dword [ebp - 0xc4]
inc esi
mov dword [ebp - 0xc4], esi
cmp esi, dword [ebp - 0xc8]
jge 0x4ce997
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 0x4ce8ec
cmp dword [ebp - 0xac], 0
je 0x4ce997
neg eax
mov dword [ebp - 0x108], eax
xor edx, edx
mov dword [ebp - 0x100], edx
jmp 0x4cdae4
mov eax, dword [ebp - 0x108]
test eax, eax
jns 0x4ce9b6
mov eax, dword [ebx + 4]
jmp 0x4cd880
je 0x4cd87d
mov eax, dword [ebx + 0xc]
jmp 0x4cd880
imul ecx, dword [ebx + 4], 0x28
xor edx, edx
inc edx
add ecx, dword [ebp - 0xd8]
test byte [ecx + 0x1c], dl
je 0x4ce9db
push 2
pop eax
jmp 0x4ce9f0
call fcn.004c9144
or eax, edx
je 0x4ce9eb
xor edx, edx
inc edx
mov eax, edx
jmp 0x4ce9f0
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 0x4cea0a
push 2
pop ecx
jmp 0x4cea25
call fcn.004c9144
or eax, edx
mov eax, dword [ebp - 0xc8]
je 0x4cea20
xor edx, edx
inc edx
mov ecx, edx
jmp 0x4cea25
xor edx, edx
xor ecx, ecx
inc edx
mov dword [ebp - 0xc4], ecx
imul eax, eax, 3
cmp byte [ebx], 0x45
jne 0x4cea3d
movzx eax, byte [eax + ecx + 0x58b984]
jmp 0x4cea45
movzx eax, byte [eax + ecx + 0x58e0cc]
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 0x4cea7a
mov ax, word [ebx + 0x1c]
mov ecx, 0xbf01
and ax, cx
or ax, dx
mov word [ebx + 0x1c], ax
jmp case.0x4cd869.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 0x4cea71
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 0x4ceac1
mov ecx, ebx
call fcn.004c92e6
jmp case.0x4cd869.17
call fcn.004c9144
or eax, edx
jne 0x4ceacd
inc eax
jmp 0x4ceacf
xor eax, eax
cdq
push edx
push eax
mov ecx, ebx
call fcn.004c932d
pop ecx
jmp 0x4cdbed
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 0x4ceab5
call fcn.004c9144
not eax
not edx
jmp 0x4cead0
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xd8]
test byte [ecx + 0x1c], 1
je 0x4ceb1f
mov ecx, dword [ebx + 0xc]
jmp 0x4ceb49
call fcn.004c91a5
fldz
fxch st(1)
fucompi st(1)
fstp st(0)
lahf
xor ecx, ecx
test ah, 0x44
jnp 0x4ceb35
inc ecx
mov dword [ebp - 0xc8], ecx
cmp byte [ebx], 0x1b
jne 0x4ceb4f
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jmp 0x4ce74a
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0xd8]
test byte [eax + ecx + 0x1c], 1
jmp 0x4ce74a
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0xd8]
test byte [eax + ecx + 0x1c], 1
jne case.0x4cd869.17
jmp 0x4cd87d
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 0x4ceca1
mov ecx, esi
call fcn.004cb74f
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4d29bb
mov esi, dword [ebp - 0xb0]
cmp byte [esi + 0x1c], al
je 0x4cec2b
and dword [ebp - 0xc8], eax
jmp 0x4d282e
mov eax, dword [esi + 0x4c]
cmp eax, dword [edi + 0x54]
jne 0x4cec4c
mov ecx, dword [esi + 0x50]
xor edx, edx
mov dword [ebp - 0xc8], ecx
mov eax, dword [esi + 0x5c]
mov dword [ebp - 0xac], eax
jmp 0x4cecec
cmp byte [esi + 0x1f], 0
je 0x4cec79
mov ecx, dword [ebp - 0xa8]
lea edx, [ebp - 0xc0]
call fcn.004c4415
mov ecx, dword [ebp - 0xc0]
xor edx, edx
mov esi, dword [ebp - 0xb0]
mov dword [ebp - 0xcc], eax
jmp 0x4cece6
mov esi, dword [ebp - 0xa8]
mov ecx, esi
call fcn.004c43eb
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 0x4cecf2
mov eax, dword [esi + 0x10]
test eax, eax
jle 0x4cece4
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 0x4cecd3
mov eax, dword [edi + 0x54]
mov dword [esi + 0x4c], eax
mov esi, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xc8]
jmp 0x4cecec
mov ecx, edx
mov dword [ebp - 0xc8], ecx
mov eax, dword [ebp - 0xcc]
test ecx, ecx
je 0x4d282e
mov eax, dword [ebp - 0xd4]
cmp ecx, dword [eax + 0x48]
ja 0x4d2a06
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 0x4ced37
mov eax, dword [esi + 0x58]
mov dword [ebp - 0xa0], eax
jmp 0x4cef7a
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 0x4ced79
mov dword [ebp - 0x90], eax
jmp 0x4cedd8
mov esi, dword [ebp - 0xb0]
mov ecx, edx
mov eax, dword [ebp - 0xa8]
cmp byte [esi + 0x1f], 0
je 0x4ced96
cmp byte [eax + 0x53], 1
jne 0x4cedb3
push edx
jmp 0x4ced9e
cmp byte [eax + 0x53], 1
jne 0x4cedb3
push 1
lea edx, [ebp - 0x4c]
mov ecx, eax
call fcn.004c47fa
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 0x4cedcf
mov dword [ebp - 0xac], ecx
mov dword [esi + 0x5c], ecx
jmp 0x4cedd2
mov dword [esi + 0x5c], edx
mov eax, dword [ebp - 0x90]
mov cl, byte [eax]
cmp cl, 0x80
jae 0x4cedea
movzx ecx, cl
xor edx, edx
mov dword [ebp - 0x58], ecx
inc edx
jmp 0x4cee00
lea edx, [ebp - 0x58]
mov ecx, eax
call fcn.004b97d0
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 0x4cee23
mov ecx, 0xfcb4
call fcn.004f6537
mov dword [ebp - 0xcc], eax
jmp 0x4d282e
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 0x4cee9b
cmp dword [ebp - 0x4c], edx
jge 0x4cee9b
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.004c97da
add esp, 0xc
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4d282e
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 0x4cef33
mov eax, dword [ebp - 0xa0]
cmp esi, dword [ebp - 0x5c]
jae 0x4cefc1
mov dword [eax + edx*4], ecx
mov esi, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x94]
mov al, byte [esi]
cmp al, 0x80
jae 0x4ceee7
movzx edx, al
mov eax, dword [ebp - 0xa4]
mov dword [eax + ecx*4], edx
xor eax, eax
inc eax
jmp 0x4ceefa
mov eax, dword [ebp - 0xa4]
lea edx, [eax + ecx*4]
mov ecx, esi
call fcn.004b97d0
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.004cb8cb
mov ecx, dword [ebp - 0x58]
add ecx, eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x58], ecx
cmp ecx, eax
jae 0x4cefd1
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x60], eax
lea ecx, [ebp - 0x88]
call fcn.004c90cd
mov ecx, dword [ebp - 0x5c]
xor eax, eax
inc eax
mov word [ebp - 0x6c], ax
cmp dword [ebp - 0x60], ecx
ja 0x4cf0ed
mov eax, dword [ebp - 0xc8]
cmp dword [ebp - 0x58], eax
ja 0x4cf0ed
cmp dword [ebp - 0x60], ecx
jne 0x4cef6e
cmp dword [ebp - 0x58], eax
jne 0x4cf0ed
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xb4]
cmp dword [eax + edx*4], 0
je 0x4cf083
cmp dword [ebp - 0xac], 0
je 0x4cefe9
mov ecx, dword [ebp - 0x8c]
call fcn.004c9075
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 0x4cf066
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 0x4ceeb5
jmp 0x4cef33
mov ecx, dword [ecx + edx*4]
call fcn.004cb8cb
mov edx, dword [ebp - 0x8c]
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x98], eax
call fcn.004c94c1
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.004c97da
add esp, 0xc
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4d282e
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.004cb985
mov eax, dword [ebp - 0x8c]
pop ecx
mov cl, byte [ebp - 0xf0]
mov byte [eax + 0x1f], cl
jmp 0x4cf09e
cmp byte [ebx + 1], 0xf8
jne 0x4cf09e
mov edx, dword [ebx + 0x10]
mov eax, 0x800
mov ecx, dword [ebp - 0x8c]
push eax
call fcn.004c9415
pop ecx
cmp dword [ebp - 0x64], 0
je 0x4cf0dd
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.004c8ea1
jmp 0x4cee18
mov ecx, 0xfcfe
jmp 0x4cee13
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 0x4cf162
push 0x28
pop edi
inc eax
mov dword [ebp - 0xc8], eax
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x4cf138
mov ecx, esi
call fcn.004c8efd
mov cl, byte [ebp - 0xc4]
push dword [ebp - 0xf0]
mov dl, cl
mov ecx, esi
call fcn.004cd67f
mov eax, dword [ebp - 0xc8]
add esi, edi
pop ecx
mov cl, byte [eax]
mov byte [ebp - 0xc4], cl
test cl, cl
jne 0x4cf119
mov edi, dword [ebp - 0xec]
inc eax
mov dword [ebp - 0xc8], eax
jmp 0x4cdae4
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 0x4cf31e
mov edi, dword [ebp - 0xe4]
test edi, edi
je 0x4cf24d
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.004cd67f
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 0x4cf28e
cmp dword [esi + 0x18], ebx
jle 0x4cf28e
mov ecx, esi
call fcn.004c8efd
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.004cb7ef
mov ecx, eax
mov dword [ebp - 0xa0], ecx
call fcn.004cb8cb
mov dword [ebp - 0x84], eax
cdq
add dword [ebp - 0xc0], eax
push ebx
adc dword [ebp - 0xbc], edx
push ecx
call fcn.004b983a
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 0x4cf2e8
add ecx, dword [esi + 0x10]
jmp 0x4cf2f3
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 0x4cf1fe
jmp 0x4cf324
mov edi, dword [ebp - 0xb8]
mov eax, edi
cdq
push edx
push eax
call fcn.004b983a
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.004b983a
add esp, 0x10
cmp esi, eax
jge 0x4cf356
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 0x4d29fe
mov edx, dword [ebp - 0xe4]
jl 0x4cf3aa
cmp edx, eax
ja 0x4d29fe
mov edi, dword [ebp - 0xdc]
mov ecx, edi
push ebx
call fcn.004c8de0
pop ecx
test eax, eax
jne 0x4d2a36
mov edx, dword [ebp - 0xb8]
mov ecx, dword [edi + 4]
mov dword [ebp - 0xc8], ecx
cmp edx, 0x80
jae 0x4cf3e1
mov al, dl
mov byte [ecx], al
xor eax, eax
inc eax
jmp 0x4cf3e6
call fcn.004b964f
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 0x4cf478
push 0x28
pop edi
mov edx, dword [ebp - 0x8c]
mov ecx, eax
call fcn.004cb7ef
mov edx, eax
mov dword [ebp - 0xa0], edx
cmp edx, 0x80
jae 0x4cf435
mov cl, al
mov eax, dword [ebp - 0xc8]
mov byte [esi + eax], cl
xor eax, eax
inc eax
jmp 0x4cf443
mov ecx, dword [ebp - 0xc8]
lea ecx, [esi + ecx]
call fcn.004b964f
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 0x4cf408
mov edi, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xc4], eax
cmp eax, ecx
ja 0x4cf4ce
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.004cb8de
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 0x4cf485
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 0x4cf4ff
mov dword [ebx + 0x10], eax
mov eax, 0x4410
mov word [ebx + 0x1c], ax
mov byte [ebx + 0x1f], 1
mov edi, dword [ebp - 0xec]
jmp 0x4cdae4
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 0x4cf53c
lea edx, [ebp - 0xc8]
call fcn.004c75ac
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
jmp 0x4cf54c
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.0x4cd869.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 0x4cf64e
cmp dword [esi + 0x90], ebx
jle 0x4cf5b3
push str.cannot_open_savepoint___SQL_statements_in_progress
lea eax, [edi + 0x38]
push esi
push eax
call fcn.004b7549
add esp, 0xc
push 5
pop eax
mov dword [ebp - 0xcc], eax
jmp 0x4d2834
call fcn.004b8d63
mov ecx, esi
mov dword [ebp - 0xc0], eax
lea edx, [eax + 0x19]
call fcn.004b73b2
mov dword [ebp - 0xbc], eax
test eax, eax
je case.0x4cd869.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 0x4cf60a
mov byte [esi + 0x1c], bl
mov byte [esi + 0x1e8], 1
jmp 0x4cf610
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.0x4cd869.17
mov dword [ebp - 0xb0], ebx
mov esi, dword [esi + 0x1dc]
mov dword [ebp - 0xb8], esi
test esi, esi
je 0x4cf8fa
mov edi, dword [ebp - 0xf4]
mov ecx, dword [esi]
mov edx, edi
call fcn.004b8e8a
mov ecx, dword [ebp - 0xb0]
test eax, eax
je 0x4cf695
inc ecx
mov dword [ebp - 0xb0], ecx
mov esi, dword [esi + 0x10]
mov dword [ebp - 0xb8], esi
test esi, esi
jne 0x4cf66e
mov edi, dword [ebp - 0xec]
test esi, esi
je 0x4cf8f4
mov edx, dword [ebp - 0xd4]
cmp dword [edx + 0x90], ebx
jg 0x4cf8c0
mov eax, dword [ebp - 0xe4]
cmp eax, 2
jne 0x4cf6cd
cmp dword [edx + 0x8c], 1
jg 0x4cf8c0
cmp dword [esi + 0x10], ebx
jne 0x4cf7d5
cmp byte [edx + 0x1e8], bl
je 0x4cf7d5
mov dword [ebp - 0xe4], 1
cmp eax, 1
jne 0x4cf7db
xor edx, edx
mov ecx, edi
inc edx
call fcn.004cb275
mov esi, eax
test esi, esi
jne 0x4d2ac1
mov esi, dword [ebp - 0xd4]
mov ecx, edi
mov byte [esi + 0x1c], 1
call fcn.004cb2ca
push 5
pop ecx
cmp eax, ecx
je 0x4d2913
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 0x4cf78b
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.004b71f7
dec dword [ebx + 0x1e0]
mov esi, dword [ebp - 0xb8]
pop ecx
pop ecx
cmp dword [ebx + 0x1dc], esi
jne 0x4cf74e
mov eax, dword [ebp - 0xc8]
cmp eax, 1
jne 0x4cf8a3
mov eax, dword [esi + 0x10]
mov esi, dword [ebp - 0xd4]
mov dword [esi + 0x1dc], eax
push dword [ebp - 0xb8]
push esi
call fcn.004b71f7
cmp dword [ebp - 0xe4], 0
mov eax, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xd0]
pop ecx
pop ecx
jne 0x4d283a
dec dword [esi + 0x1e0]
jmp 0x4d283a
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 0x4cf85c
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.004c4243
mov dword [ebp - 0xcc], eax
pop ecx
test eax, eax
jne 0x4d29c1
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xc8]
inc ecx
mov dword [ebp - 0xac], ecx
cmp ecx, dword [esi + 4]
jge 0x4cf856
mov edx, dword [ebp - 0xb0]
jmp 0x4cf809
mov esi, dword [ebp - 0xb8]
push 2
pop ecx
cmp eax, ecx
jne 0x4cf740
mov ebx, dword [ebp - 0xd4]
mov ecx, 0x200
test dword [ebx + 0xc], ecx
je 0x4cf746
mov ecx, ebx
call fcn.004cbfbf
or edx, 0xffffffff
call fcn.004da4fd
mov eax, 0x200
or dword [ebx + 0xc], eax
mov esi, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xc8]
jmp 0x4cf746
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.0x4cd869.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.004b7549
add esp, 0x10
jmp 0x4cf5a5
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.004b7549
add esp, 0x10
xor eax, eax
inc eax
jmp 0x4cf5a8
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 0x4cf96f
cmp byte [edx + 0x1c], 0
jne 0x4cf96f
xor eax, eax
inc eax
mov dword [ebp - 0xc0], eax
test esi, esi
je 0x4cf95e
cmp dword [edx + 0x8c], eax
jle 0x4cf979
push str.cannot_rollback_transaction___SQL_statements_in_progress
mov esi, edx
jmp 0x4cf598
xor ebx, ebx
cmp dword [edx + 0x90], ebx
jle 0x4cf97b
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x4cf957
xor ebx, ebx
mov dword [ebp - 0xc0], ebx
jmp 0x4cf97b
xor ebx, ebx
movzx eax, byte [edx + 0x1c]
cmp ecx, eax
jne 0x4d2929
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.004b7549
add esp, 0xc
jmp 0x4cf913
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.0x4cd869.17
mov edx, dword [ebx + 8]
call fcn.004c37c2
push 5
pop ecx
mov dword [ebp - 0xcc], eax
cmp eax, ecx
je 0x4d299e
test eax, eax
jne 0x4d29c1
xor edx, edx
cmp dword [ebx + 8], edx
je 0x4d2834
cmp byte [edi + 0x68], dl
je 0x4d2834
cmp byte [esi + 0x1c], dl
je 0x4cfa21
cmp dword [esi + 0x8c], 1
jle 0x4d2834
cmp dword [edi + 0x78], edx
jne 0x4cfa3b
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.004c1c14
mov ecx, dword [esi]
mov edx, edi
call fcn.004bfb6b
mov ecx, ebx
mov dword [ebp - 0xcc], eax
call fcn.004c1c87
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.0x4cd869.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.004c7520
mov eax, dword [ebp - 0xc8]
pop ecx
jmp 0x4cd970
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.004c9256
mov ecx, dword [ebp - 0xc8]
push dword [esi + 0x10]
mov edx, dword [ebx + 8]
mov ecx, dword [ecx + 4]
call fcn.004c7553
xor edx, edx
mov dword [ebp - 0xcc], eax
inc edx
pop ecx
cmp dword [ebx + 8], edx
jne 0x4cfb27
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 0x4cfb4a
push 2
pop ecx
cmp dword [ebx + 8], ecx
jne 0x4cfb44
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 0x4d2834
mov ecx, esi
call fcn.004cbfbf
mov byte [edi + 0x64], 0
jmp case.0x4cd869.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 0x4cfba0
lea eax, [ebp - 0xc8]
inc edx
push eax
call fcn.004c7520
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 0x4cfba8
mov eax, edx
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
cmp eax, dword [ebx + 8]
jne 0x4cfbbc
cmp edx, dword [ebx + 0xc]
je case.0x4cd869.17
push dword [edi + 0x38]
push esi
call fcn.004b71f7
pop ecx
pop ecx
mov edx, str.database_schema_has_changed
mov ecx, esi
call fcn.004b74d9
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 0x4cfbf5
mov ecx, esi
call fcn.004da4fd
mov byte [edi + 0x64], 1
push 0x11
jmp 0x4cf5a7
cmp byte [edi + 0x64], 0
je 0x4cfc0d
mov eax, ecx
jmp 0x4cf5a8
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 0x4cfc75
mov dword [ebp - 0xb8], 1
mov eax, dword [esi + 0xc]
mov al, byte [eax + 0x4c]
cmp al, byte [edi + 0x66]
jae 0x4cfc7b
mov byte [edi + 0x66], al
jmp 0x4cfc7b
mov dword [ebp - 0xb8], ecx
cmp byte [ebx + 3], cl
je 0x4cfcb6
imul esi, dword [ebp - 0xe4], 0x28
add esi, dword [ebp - 0xd8]
mov ecx, esi
call fcn.004c9256
mov eax, dword [esi + 0x10]
push 2
pop ecx
mov dword [ebp - 0xc0], eax
cmp eax, ecx
jl 0x4d29ac
mov eax, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xc8]
jmp 0x4cfcbc
mov eax, dword [ebp - 0xf4]
mov cl, byte [ebx + 1]
cmp cl, 0xfa
jne 0x4cfcee
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 0x4cfcf6
cmp cl, 0xf2
jne 0x4cfcfc
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.004cd54d
add esp, 0xc
mov dword [ebp - 0xb0], eax
test eax, eax
je 0x4d2a46
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.004c42af
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 0x4cfd82
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 0x4cdae4
mov edx, dword [ebx + 4]
mov ecx, edi
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.004cd54d
add esp, 0xc
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x4d2a4c
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.004c2d0c
add esp, 0xc
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4cfee1
mov ecx, dword [ebp - 0xc8]
xor edx, edx
inc edx
mov ecx, dword [ecx + 4]
call fcn.004c37c2
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4cfee1
cmp dword [ebx + 0x10], eax
je 0x4cfeb7
mov eax, dword [ebp - 0xc8]
mov esi, dword [eax + 4]
mov ecx, esi
call fcn.004c1c14
push 2
pop eax
push eax
lea edx, [ebp - 0x114]
mov ecx, esi
call fcn.004c7051
pop ecx
mov ecx, esi
mov dword [ebp - 0xcc], eax
call fcn.004c1c87
cmp dword [ebp - 0xcc], 0
jne 0x4cfea5
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.004c42af
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 0x4cfee1
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.004c42af
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.0x4cd869.17
mov edx, dword [ebx + 4]
mov ecx, edi
push 0
push 0xffffffffffffffff
push dword [ebx + 0xc]
call fcn.004cd54d
add esp, 0xc
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x4d2a4c
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.0x4cd869.17
mov eax, dword [ebx + 4]
mov ecx, edi
mov edx, dword [edi + 0x44]
mov edx, dword [edx + eax*4]
call fcn.004cab61
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
and dword [eax + ecx*4], 0
jmp case.0x4cd869.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 0x4cd87d
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 0x4d01a9
imul esi, dword [ebx + 0xc], 0x28
add esi, dword [ebp - 0xd8]
mov ecx, esi
call fcn.004cd606
mov ecx, esi
call fcn.004c9144
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 0x4d0138
push 8
pop ecx
test cl, al
jne 0x4cfffb
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xd0], eax
jmp 0x4cdae4
cmp dword [ebp - 0x98], edx
jne 0x4d00bd
mov eax, closesocket
cmp dword [ebp - 0x94], eax
jne 0x4d00bd
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 0x4d0048
fld qword [esi + 8]
fcompi st(1)
jbe 0x4d00bb
mov dword [ebp - 0xc8], 1
fld qword [esi + 8]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x4d007b
cmp dword [ebp - 0xc4], 0x2e
jl 0x4cffec
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0xc8]
mov ecx, dword [ecx]
call fcn.004c4aab
jmp 0x4d009b
cmp dword [ebp - 0xc4], 0x2d
jg 0x4cffec
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0xc8]
mov ecx, dword [ecx]
call fcn.004c4ad6
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4d29bb
cmp dword [ebp - 0xc8], 0
je 0x4d282e
jmp 0x4cffec
fstp st(0)
cmp dword [ebp - 0xc4], 0x2c
je 0x4d010a
cmp dword [ebp - 0xc4], 0x2e
je 0x4d010a
fild qword [ebp - 0x98]
fstp qword [ebp - 0xe8]
fld qword [esi + 8]
fld qword [ebp - 0xe8]
fcompi st(1)
fstp st(0)
jbe 0x4d0138
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 0x4d0144
fild qword [ebp - 0x98]
fstp qword [ebp - 0xe8]
fld qword [ebp - 0xe8]
fld qword [esi + 8]
fcompi st(1)
fstp st(0)
jbe 0x4d0138
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x94]
add eax, 1
adc ecx, edx
jmp 0x4d00fc
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.004c4b1f
add esp, 0x10
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4d29bb
xor edx, edx
cmp dword [ebp - 0xc8], edx
jne 0x4d0237
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 0x4d0237
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 0x4d0204
call fcn.004c8efd
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.004c4b1f
add esp, 0x10
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4d29bb
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 0x4d0287
test eax, eax
js 0x4d0272
jne 0x4d0267
cmp dword [ebp - 0xc4], 0x2f
je 0x4d0272
mov dword [ebp - 0xc8], edx
jmp 0x4cdae4
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0xc8]
mov ecx, dword [ecx]
call fcn.004c4dd5
jmp 0x4d02c2
test eax, eax
jg 0x4d02af
jne 0x4d0296
cmp dword [ebp - 0xc4], 0x2c
je 0x4d02af
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 0x4d02da
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0xc8]
mov ecx, dword [ecx]
call fcn.004c4ec5
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4d29bb
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x19], 0
cmp dword [ebp - 0xc8], 0
jmp 0x4ce744
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.0x4cd869.17
mov byte [eax + 0x1c], dl
imul ecx, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0xd8]
call fcn.004c9144
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.0x4cd869.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 0x4d043b
cmp dword [ebx + 0x10], edx
jle 0x4d039c
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 0x4d03dc
mov edx, dword [esi + 0x18]
lea eax, [ebp - 0xa0]
mov ecx, dword [ecx + 8]
push 0x97
push eax
push dword [esi + 4]
call fcn.004cbb69
add esp, 0xc
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x4d2a46
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.004c4b1f
xor edx, edx
mov dword [ebp - 0xcc], eax
add esp, 0x10
cmp dword [ebx + 0x10], edx
jne 0x4d040c
mov ecx, dword [ebp - 0xbc]
call fcn.004cbc84
xor edx, edx
mov eax, dword [ebp - 0xcc]
test eax, eax
jne 0x4d282e
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 0x4d02da
mov esi, dword [ebp - 0xd4]
cmp dword [ebp - 0xc8], 0
jmp 0x4ceb79
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 0x4d04ed
mov edi, dword [ebp - 0xb8]
movzx eax, cx
imul eax, eax, 0x28
test byte [eax + edi + 0x1c], 1
mov edi, dword [ebp - 0xec]
jne 0x4d05af
inc cx
cmp cx, word [ebp - 0xde]
mov word [ebp - 0xc8], cx
jb 0x4d04c7
mov edx, dword [ebp - 0xe4]
test edx, edx
je 0x4cdae4
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.004c9256
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.004c4b1f
add esp, 0x10
mov dword [ebp - 0xcc], eax
test byte [ebp - 0xaa], 0x20
jne 0x4d05ca
mov ecx, dword [ebp - 0xa8]
cmp ecx, dword [ebp - 0x98]
jne 0x4d059e
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0x94]
je 0x4d05c4
mov dword [esi + 0x10], ecx
mov eax, dword [ebp - 0xa4]
mov dword [esi + 0x14], eax
jmp 0x4cdae4
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xd0], eax
jmp 0x4d04fc
mov eax, dword [ebp - 0xcc]
mov esi, dword [ebx + 8]
dec esi
mov dword [ebp - 0xd0], esi
jmp 0x4d282e
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 0x4d06b0
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.004c4b1f
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 0x4d06a2
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x48], ecx
jmp 0x4cdae4
mov esi, dword [ebx + 8]
dec esi
and dword [eax + 0x48], 0
mov dword [ebp - 0xd0], esi
jmp 0x4cdae4
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.0x4cd869.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 0x4d0a00
cmp byte [esi + 0x1b], dl
jne 0x4d08d2
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 0x4d07e6
mov ecx, dword [eax]
lea edx, [ebp - 0xbc]
call fcn.004c4ad6
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4d29bb
cmp dword [ebp - 0xbc], eax
je 0x4d0780
xor esi, esi
inc esi
xor edx, edx
mov ecx, edx
jmp 0x4d07d4
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0xc8]
mov ecx, dword [ecx]
call fcn.004c4415
mov esi, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xcc], eax
cmp esi, 0xffffffff
jne 0x4d07cc
cmp ecx, 0x7fffffff
jne 0x4d07cc
mov eax, dword [ebp - 0xc0]
xor edx, edx
mov byte [eax + 0x1b], 1
mov ecx, dword [ebp - 0xc4]
mov esi, dword [ebp - 0xc8]
jmp 0x4d07e0
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 0x4d08a4
mov eax, dword [edi + 0xa8]
test eax, eax
jne 0x4d086a
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xb4], ecx
call fcn.004c9256
mov ebx, dword [ebp - 0xb4]
mov esi, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x14]
cmp esi, 0xffffffff
jne 0x4d082c
cmp ecx, 0x7fffffff
je 0x4d29b8
mov eax, dword [ebp - 0xc0]
cmp byte [eax + 0x1b], 0
jne 0x4d29b8
add esi, 1
push 0
pop edx
adc ecx, edx
cmp dword [ebp - 0xc4], ecx
jg 0x4d0880
jl 0x4d0858
mov eax, dword [ebp - 0xc8]
cmp eax, esi
jae 0x4d0886
mov eax, esi
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc8], eax
jmp 0x4d0886
mov eax, ecx
mov dword [ebp - 0xb0], eax
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x4d0868
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [eax + 0x10]
jmp 0x4d0804
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 0x4d08ba
jl 0x4d08b3
cmp esi, 0xffffffff
jae 0x4d08ba
add esi, 1
adc ecx, edx
jmp 0x4d08be
mov esi, edx
mov ecx, edx
push ecx
mov ecx, dword [eax]
push esi
call fcn.004c432c
mov esi, dword [ebp - 0xc0]
add esp, 8
xor edx, edx
cmp byte [esi + 0x1b], 0
je 0x4d09e3
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.004c4b1f
mov edi, dword [ebp - 0xec]
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0xcc], ecx
test ecx, ecx
jne 0x4d09db
mov edx, dword [ebp - 0xbc]
test edx, edx
jne 0x4d09cf
mov eax, dword [ebp - 0xb8]
inc eax
mov dword [ebp - 0xb8], eax
cmp eax, 0x64
jge 0x4d09cf
lea eax, [ebp - 0xc8]
push eax
push 8
pop eax
push eax
call fcn.004b8764
cmp dword [ebp - 0xb8], 5
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc8]
jge 0x4d097f
and ecx, 0xffffff
xor eax, eax
mov edx, eax
jmp 0x4d098d
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.004c4b1f
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0xcc], ecx
test ecx, ecx
je 0x4d0932
mov edx, dword [ebp - 0xbc]
test ecx, ecx
jne 0x4d09db
test edx, edx
je 0x4d29b8
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 0x4d0a06
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 0x4cdae4
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 0x4d0a6b
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 0x4d0a83
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 0x4d0a8c
inc dword [edi + 0x6c]
push 2
pop eax
test byte [ebx + 3], al
je 0x4d0ab2
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 0x4d0ad2
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 0x4d0ae5
mov eax, dword [edx + 0x48]
mov dword [ebp - 0xb0], eax
jmp 0x4d0aeb
mov dword [ebp - 0xb0], ecx
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x4d0b01
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xb4], eax
jmp 0x4d0b07
mov dword [ebp - 0xb4], ecx
push ecx
push ecx
mov ecx, dword [edx]
call fcn.004c432c
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.004c6c63
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 0x4d2834
cmp dword [esi + 0xbc], edx
je 0x4d2834
cmp dword [ebx + 0x10], edx
je 0x4d2834
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.0x4cd869.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 0x4d0c30
cmp dword [ebx + 0x10], edx
je 0x4d0c30
mov eax, dword [ecx + 0x40]
mov dword [ebp - 0xc8], eax
mov eax, dword [ecx + 0x44]
mov dword [ebp - 0xc4], eax
call fcn.004cb74f
test eax, eax
jne 0x4d29c1
mov ecx, dword [ebp - 0xc0]
push eax
push eax
mov ecx, dword [ecx]
call fcn.004c432c
mov ecx, dword [ebp - 0xc0]
add esp, 8
mov ecx, dword [ecx]
call fcn.004c6e3d
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc0]
and dword [eax + 0x4c], 0
mov eax, dword [ebp - 0xcc]
test eax, eax
jne 0x4d0cb8
mov edx, dword [esi + 0xbc]
test edx, edx
je 0x4d0cb8
cmp dword [ebx + 0x10], eax
je 0x4d0cb8
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 0x4d283a
inc dword [edi + 0x6c]
jmp 0x4d283a
mov eax, dword [edi + 0x6c]
add dword [esi + 0x40], eax
mov dword [esi + 0x3c], eax
and dword [edi + 0x6c], 0
jmp case.0x4cd869.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.004cb74f
test eax, eax
jne 0x4d29c1
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x1f], 0
je 0x4d0d5b
mov ecx, dword [ebp - 0xc4]
lea edx, [ebp - 0xb8]
call fcn.004c4415
mov eax, dword [esi + 0x48]
cdq
cmp dword [ebp - 0xb4], edx
jg 0x4d2a10
mov edx, dword [ebp - 0xb8]
jl 0x4d0d53
cmp edx, eax
ja 0x4d2a10
mov dword [ebp - 0xc0], edx
jmp 0x4d0d80
mov esi, dword [ebp - 0xc4]
mov ecx, esi
call fcn.004c43eb
mov edx, dword [esi + 0x2c]
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 0xc0], edx
cmp edx, dword [esi + 0x48]
ja 0x4d2a10
mov ecx, dword [ebp - 0xdc]
xor ebx, ebx
push ebx
call fcn.004c8de0
pop ecx
test eax, eax
jne 0x4d2a4c
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 0x4d0de5
push ebx
mov ebx, ecx
xor edx, edx
mov ecx, dword [ebp - 0xc4]
push dword [ebx + 4]
push dword [ebp - 0xc0]
call fcn.004c4502
add esp, 0xc
jmp 0x4d0e03
push dword [ecx + 4]
push dword [ebp - 0xc0]
push ebx
push dword [ebp - 0xc4]
call fcn.004c47bb
mov ebx, dword [ebp - 0xdc]
add esp, 0x10
mov dword [ebp - 0xcc], eax
mov byte [ebx + 0x1f], 1
jmp 0x4d2834
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.0x4cd869.10
cmp byte [ecx + 0x1d], 0
je 0x4d0e3f
mov eax, dword [ecx + 0x38]
mov dword [ebp - 0xc0], eax
mov eax, dword [ecx + 0x3c]
jmp 0x4d0ea4
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x4d0e7a
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.004cd6e8
jmp 0x4d0ebf
call fcn.004cb74f
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4d29c1
mov ecx, dword [ebp - 0xc8]
cmp byte [ecx + 0x19], al
je 0x4d0eac
mov eax, dword [ecx + 0x40]
mov dword [ebp - 0xc0], eax
mov eax, dword [ecx + 0x44]
mov dword [ebp - 0xbc], eax
jmp 0x4d0ebf
mov ecx, dword [ecx]
lea edx, [ebp - 0xc0]
call fcn.004c4415
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 0x4cf55b
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.0x4cd869.17
call fcn.004c1f48
jmp case.0x4cd869.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 0x4d0f37
mov dword [ebp - 0xc0], 1
jmp 0x4d0f50
lea edx, [ebp - 0xc0]
mov ecx, eax
call fcn.004c4ad6
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.0x4cd869.17
cmp dword [ebp - 0xc0], edx
je case.0x4cd869.17
jmp 0x4cd880
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 0x4d1006
lea edx, [ebp - 0xc0]
mov ecx, eax
call fcn.004c4aab
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 0x4ce74a
cmp dword [esi + 0xe0], 0
jne 0x4d2a26
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.0x4cd869.17
mov ecx, dword [eax]
mov dword [ebp - 0xc4], ecx
test ecx, ecx
jne 0x4d1054
mov byte [eax + 0x1c], 1
jmp case.0x4cd869.17
mov dword [ebp - 0xc0], 1
lea edx, [ebp - 0xc0]
cmp byte [ebx], 0x43
jne 0x4d1070
call fcn.004c4dd5
jmp 0x4d1075
call fcn.004c4ec5
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 0x4d10b5
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xd0], eax
mov al, byte [ebx + 3]
test al, al
je 0x4d10b5
movzx eax, al
inc dword [edi + eax*4 + 0x78]
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], dl
jmp case.0x4cd869.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 0x4cdae4
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x4d1126
mov ecx, esi
call fcn.004c8efd
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 0x4d1130
xor edx, edx
mov eax, edx
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4d282e
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 0x4d115d
mov eax, dword [ecx + 0x48]
jmp 0x4d115f
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 0x583988
push edx
push eax
mov edx, esi
call fcn.004c6c63
mov dword [ebp - 0xcc], eax
add esp, 0x1c
mov eax, dword [ebp - 0xc8]
and dword [eax + 0x4c], 0
jmp 0x4cdae4
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.0x4cd869.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.004c4b1f
add esp, 0x10
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4d1221
cmp dword [ebp - 0xc0], ebx
jne 0x4d1221
mov ecx, dword [ebp - 0xc4]
call fcn.004c6e3d
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x4c], ebx
jmp case.0x4cd869.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.0x4cd869.17
mov ecx, dword [ebp - 0xc4]
call fcn.004cb74f
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4d29c1
mov eax, dword [ebp - 0xc4]
cmp byte [eax + 0x1c], 0
jne case.0x4cd869.17
mov edx, dword [ebp - 0xc8]
lea eax, [ebp - 0xc0]
push eax
call fcn.004cbe4c
mov dword [ebp - 0xcc], eax
pop ecx
test eax, eax
jne 0x4d29c1
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 0x4cea71
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.0x4cd869.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 0x4d12fa
push 0xc
jmp 0x4d12fc
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.004cbf2f
cmp byte [ebx], 0x51
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc4]
pop ecx
jne 0x4d133c
neg eax
jmp 0x4d133d
inc eax
mov dword [ebp - 0xc4], eax
test eax, eax
jle case.0x4cd869.17
jmp 0x4cd87d
xor edx, edx
mov ecx, edx
mov dword [ebp - 0xc4], ecx
mov eax, dword [esi + 0x88]
jmp 0x4d1380
cmp dword [eax + 0x34], 0xbdf20da3
jne 0x4d137d
cmp byte [eax + 0x67], 2
jae 0x4d137d
cmp dword [eax + 0x58], edx
jl 0x4d137d
inc ecx
mov dword [ebp - 0xc4], ecx
mov eax, dword [eax + 0x40]
mov dword [ebp - 0xc0], eax
test eax, eax
jne 0x4d1362
mov eax, dword [ebp - 0xdc]
xor edx, edx
inc edx
mov word [eax + 0x1c], dx
cmp dword [ebp - 0xc4], edx
jle 0x4d13b3
push 6
pop eax
push 2
pop ecx
mov dword [ebp - 0xcc], eax
mov byte [edi + 0x60], cl
jmp 0x4d2834
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.004c1c14
lea eax, [ebp - 0xc8]
mov edx, esi
push eax
mov ecx, edi
call fcn.004c7396
pop ecx
mov ecx, edi
mov dword [ebp - 0xcc], eax
call fcn.004c1c87
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 0x4d2828
mov esi, dword [ebp - 0xc8]
test esi, esi
je 0x4d2828
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 0x4d1453
mov edx, dword [eax + 8]
cmp dword [edx + 0x14], esi
jne 0x4d1451
mov dword [edx + 0x14], edi
mov eax, dword [eax]
test eax, eax
jne 0x4d1446
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0x20]
jmp 0x4d146c
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x14], esi
jne 0x4d146a
mov dword [ecx + 0x14], edi
mov eax, dword [eax]
test eax, eax
jne 0x4d145f
mov al, byte [ebp - 0xbc]
inc al
mov byte [ebp - 0xf9], al
jmp 0x4cf503
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.004c733b
cmp dword [ebx + 0xc], 0
pop ecx
mov dword [ebp - 0xcc], eax
je 0x4d2834
mov edx, dword [ebp - 0xc8]
add dword [edi + 0x6c], edx
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jle 0x4d2834
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.0x4cd869.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.004c1c14
push ebx
lea edx, [ebp - 0xc8]
mov ecx, esi
call fcn.004c7051
pop ecx
mov ecx, esi
mov dword [ebp - 0xcc], eax
call fcn.004c1c87
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xdc]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp 0x4cdae4
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.004b844d
add esp, 0x14
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x4d2a4c
xor ebx, ebx
mov byte [esi + 0x7c], 1
push ebx
lea eax, [ebp - 0xbc]
mov dword [ebp - 0xb0], ebx
push eax
push fcn.004e57de
push dword [ebp - 0xc0]
push esi
call fcn.004e3036
add esp, 0x14
test eax, eax
cmove eax, dword [ebp - 0xb0]
mov dword [ebp - 0xcc], eax
push dword [ebp - 0xc0]
push esi
call fcn.004b71f7
mov eax, dword [ebp - 0xcc]
mov byte [esi + 0x7c], bl
pop ecx
pop ecx
cmp eax, 7
je 0x4d2a4c
jmp 0x4d2834
mov edx, dword [ebx + 4]
mov ecx, esi
call fcn.004d94ef
jmp 0x4cf5a8
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.004b8d63
mov ecx, dword [esi + 0xc]
push eax
push 8
pop eax
add ecx, eax
call fcn.004b9dba
mov esi, dword [ebp - 0xd4]
mov edx, eax
pop ecx
pop ecx
mov ecx, esi
call fcn.004da6bc
mov eax, 0x200
or dword [esi + 0xc], eax
jmp case.0x4cd869.17
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, esi
call fcn.004da47e
jmp 0x4cdbed
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, esi
call fcn.004eb990
jmp 0x4cdbed
mov edx, dword [ebx + 8]
mov ecx, esi
mov dword [ebp - 0xc8], edx
lea edx, [edx*4 + 4]
call fcn.004b73b2
mov edx, eax
xor eax, eax
mov dword [ebp - 0xc4], edx
test edx, edx
je 0x4d2a4e
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 0x4d1715
imul ecx, eax, 0x28
add ecx, esi
call fcn.004c9144
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 0x4d16e1
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.004c80a7
add esp, 0xc
mov dword [ebp - 0xb8], eax
push dword [ebp - 0xc4]
push ebx
call fcn.004b71f7
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.004c92e6
cmp dword [ebp - 0xbc], 0
je 0x4d17a8
mov edx, dword [ebp - 0xb8]
test edx, edx
je 0x4d2a3e
push fcn.004b7199
push 1
push 0xffffffffffffffff
mov ecx, esi
call fcn.004c94e7
add esp, 0xc
movzx edx, byte [ebp - 0xf0]
mov ecx, esi
call fcn.004c8dc6
mov eax, dword [ebp - 0xcc]
mov esi, ebx
jmp 0x4d2834
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 0x4d17f2
mov ecx, esi
call fcn.004c938e
push 0x20
pop eax
test byte [esi + 0x1c], al
je 0x4d2a46
push dword [ebx + 0x14]
push dword [ebx + 0x10]
mov ecx, dword [esi + 0x10]
call fcn.004bc71f
pop ecx
jmp 0x4cdae3
cmp dword [esi + 0xe0], 0
jne 0x4d2a26
imul esi, dword [ebx + 4], 0x28
push 0x20
pop eax
add esi, dword [ebp - 0xd8]
test byte [esi + 0x1c], al
je 0x4d1880
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0xe4], ecx
call fcn.004bc96e
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx + 8]
test edx, edx
je 0x4d1880
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 0x4d1863
call fcn.004bc6e8
imul ecx, dword [ebx + 0xc], 0x28
push dword [ebp - 0xc4]
push dword [ebp - 0xc8]
add ecx, dword [ebp - 0xd8]
call fcn.004c932d
jmp 0x4d1800
mov ecx, esi
call fcn.004c92e6
jmp 0x4cffec
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 0x4d18d6
mov ecx, esi
call fcn.004c938e
push 0x20
pop eax
test byte [esi + 0x1c], al
je 0x4d2a46
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xe4]
test edx, edx
je 0x4d1917
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.004bc9ac
mov dword [ebp - 0xc4], eax
pop ecx
pop ecx
test eax, eax
jne 0x4cffec
mov edx, dword [ebp - 0xc8]
test edx, edx
js 0x4cdae4
mov eax, dword [ebp - 0xe4]
push dword [eax + 0x14]
push dword [eax + 0x10]
jmp 0x4d17f8
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 0x4d198e
mov eax, dword [edi + 0xa8]
mov esi, dword [edx + 0x10]
mov dword [ebp - 0xac], esi
mov dword [ebp - 0xb4], eax
test eax, eax
je 0x4d1988
cmp dword [eax + 0x20], esi
je 0x4d1978
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0xb4], eax
test eax, eax
jne 0x4d1966
mov esi, dword [ebp - 0xd4]
test eax, eax
jne case.0x4cd869.17
jmp 0x4d198e
mov esi, dword [ebp - 0xd4]
mov eax, dword [edi + 0xb0]
cmp eax, dword [esi + 0x70]
jl 0x4d19ba
push str.too_many_levels_of_trigger_recursion
lea eax, [edi + 0x38]
mov dword [ebp - 0xcc], 1
push esi
push eax
call fcn.004b7549
add esp, 0xc
jmp case.0x4cd869.17
test byte [ecx + 0x1c], 0x40
jne 0x4d1b0b
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.004b7392
mov dword [ebp - 0xb4], eax
test eax, eax
je 0x4d2a4c
mov ecx, dword [ebp - 0xc0]
call fcn.004c90cd
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 0x4d1b14
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 0x4d1ad8
mov edi, dword [ebp - 0xec]
mov edx, dword [ebp - 0xb4]
jmp 0x4d1b14
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.0x4cd869.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 0x4cdad7
cmp dword [ebx + 4], 0
mov eax, dword [ebx + 8]
cdq
je 0x4d1beb
add dword [esi + 0x1f0], eax
adc dword [esi + 0x1f4], edx
jmp case.0x4cd869.17
add dword [edi + 0x90], eax
adc dword [edi + 0x94], edx
jmp case.0x4cd869.17
cmp dword [ebx + 4], 0
je 0x4d1c13
mov eax, dword [esi + 0x1f0]
or eax, dword [esi + 0x1f4]
jmp 0x4ceb79
mov eax, dword [edi + 0x90]
or eax, dword [edi + 0x94]
jmp 0x4ceb79
mov eax, dword [edi + 0xa8]
test eax, eax
jne 0x4d1c81
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], ecx
call fcn.004c9256
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0xd8]
mov ecx, esi
call fcn.004c9256
mov eax, dword [ebp - 0xc8]
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
cmp dword [eax + 0x14], edx
jg 0x4cdae4
jl 0x4d1c74
cmp dword [eax + 0x10], ecx
jae 0x4cdae4
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
jmp 0x4cdae4
mov eax, ecx
mov dword [ebp - 0xc4], eax
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x4d1c7f
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [eax + 0x10]
jmp 0x4d1c38
imul eax, dword [ebx + 4], 0x28
xor edx, edx
mov ecx, dword [ebp - 0xd8]
cmp dword [eax + ecx + 0x14], edx
jl case.0x4cd869.17
jg 0x4cd87d
cmp dword [eax + ecx + 0x10], edx
jbe case.0x4cd869.17
jmp 0x4cd87d
imul eax, dword [ebx + 4], 0x28
xor edx, edx
mov ecx, dword [ebp - 0xd8]
cmp dword [eax + ecx + 0x14], edx
jg case.0x4cd869.17
jl 0x4cd87d
cmp dword [eax + ecx + 0x10], edx
jae case.0x4cd869.17
jmp 0x4cd87d
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 0x4ceb79
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 0x4d1d85
mov eax, dword [ebp - 0xe4]
push 0x28
pop edi
mov dword [eax + esi*4], ecx
mov ecx, dword [ebp - 0xbc]
call fcn.004cd522
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 0x4d1d7f
mov eax, dword [ebp - 0x78]
jmp 0x4d1d49
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 0x4d1dec
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 0x4d1e37
mov dl, 1
lea ecx, [ebp - 0xb0]
call fcn.004c98c4
push eax
push 0x59813c
lea eax, [edi + 0x38]
push esi
push eax
call fcn.004b7549
mov eax, dword [ebp - 0x84]
add esp, 0x10
mov dword [ebp - 0xcc], eax
lea ecx, [ebp - 0xb0]
call fcn.004c90cd
jmp case.0x4cd869.17
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebx + 0x10]
call fcn.004c9018
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x4d1e89
mov ecx, dword [ebp - 0xc8]
mov dl, 1
call fcn.004c98c4
push eax
push 0x59813c
lea eax, [edi + 0x38]
push esi
push eax
call fcn.004b7549
add esp, 0x10
movzx edx, byte [ebp - 0xf0]
mov ecx, dword [ebp - 0xc8]
call fcn.004c8dc6
mov ecx, dword [ebp - 0xc8]
jmp 0x4ce309
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.004f5c28
mov edx, eax
add esp, 0xc
mov dword [ebp - 0xcc], edx
cmp edx, 5
jne 0x4d1ef7
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.004c932d
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 0x4d1f12
mov edi, dword [ebp - 0xec]
jmp case.0x4cd869.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 0x4d1fbd
mov eax, dword [edx + 0x40]
xor ecx, ecx
cmp dword [eax], ecx
je 0x4d1fc5
cmp dword [edx + 0x4c], ecx
jl 0x4d1fc5
jg 0x4d1fb7
cmp dword [edx + 0x48], ecx
jbe 0x4d1fc5
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 0x4d1ff6
cmp byte [eax], 0
je 0x4d1fe6
mov ecx, edx
call fcn.004bff0b
test eax, eax
jne 0x4d1ff6
mov eax, dword [ebp - 0xbc]
mov esi, eax
mov dword [ebp - 0xc0], esi
jmp 0x4d1ffc
mov eax, dword [ebp - 0xbc]
cmp esi, eax
je 0x4d20ed
push 5
pop edx
cmp eax, edx
je 0x4d2013
cmp esi, edx
jne 0x4d20ed
mov ecx, dword [ebp - 0xd4]
cmp byte [ecx + 0x1c], 0
je 0x4d20b6
cmp dword [ecx + 0x8c], 1
jg 0x4d20b6
cmp eax, edx
jne 0x4d2068
mov ecx, dword [ebp - 0xe0]
call fcn.004bffbe
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4d209a
mov edx, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc4]
call fcn.004bfe56
mov esi, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc8]
jmp 0x4d2082
push 4
pop ecx
cmp eax, ecx
jne 0x4d207c
mov ecx, dword [ebp - 0xe0]
push 2
pop eax
mov edx, eax
jmp 0x4d2055
mov ecx, dword [ebp - 0xe4]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.004c8450
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x4d20ae
mov esi, dword [ebp - 0xbc]
mov dword [ebp - 0xc0], esi
mov ecx, dword [ebp - 0xc4]
jmp 0x4d20f3
mov esi, dword [ebp - 0xc0]
jmp 0x4d20a6
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.004b7549
add esp, 0x10
jmp case.0x4cd869.17
mov ecx, dword [ebp - 0xe0]
mov edx, esi
call fcn.004bfe56
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 0x4d2128
xor ecx, ecx
jmp 0x4d212f
mov ecx, dword [ecx*4 + 0x58dc18]
mov dword [ebx + 4], ecx
call fcn.004b8d63
movzx edx, byte [ebp - 0xf0]
mov ecx, ebx
mov dword [ebx + 0x18], eax
mov byte [ebx + 0x1f], 1
call fcn.004c8dc6
jmp 0x4cdae4
lea ecx, [edi + 0x38]
mov edx, esi
call fcn.004ed004
jmp 0x4cf5a8
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.004c3e1a
mov dword [ebp - 0xcc], eax
cmp eax, 0x65
jne 0x4d2834
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xd0], eax
xor eax, eax
jmp 0x4cf5a8
cmp dword [ebx + 4], 0
jne 0x4d21a9
mov ecx, esi
call fcn.004cbfbf
jmp case.0x4cd869.17
mov byte [edi + 0x64], 1
jmp case.0x4cd869.17
mov al, byte [ebx + 0xc]
mov byte [ebp - 0x11c], al
test al, al
jne 0x4d21cc
test dword [esi + 0xc], 0x80000
jne case.0x4cd869.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.004c83b5
mov dword [ebp - 0xcc], eax
pop ecx
cmp al, 6
jne 0x4d2834
push dword [ebx + 0x10]
push str.database_table_is_locked:__s
jmp 0x4d20db
mov edx, dword [ebx + 0x10]
mov ecx, esi
mov dword [ebp - 0xc8], edx
call fcn.004ede83
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0xcc], eax
test edx, edx
je 0x4d2834
mov edx, dword [edx + 8]
mov ecx, edi
call fcn.004cd6e8
jmp case.0x4cd869.17
mov edx, dword [ebx + 4]
lea eax, [edi + 0x38]
push eax
push dword [ebx + 0x10]
mov ecx, esi
call fcn.004edb5b
pop ecx
pop ecx
jmp 0x4cf5a8
push 2
pop eax
mov byte [edi + 0x67], al
mov ecx, esi
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
call fcn.004edd34
pop ecx
mov dword [ebp - 0xcc], eax
mov byte [edi + 0x67], 0
jmp 0x4d2834
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.004cd6e8
mov eax, dword [ebp - 0xcc]
test eax, eax
jne 0x4d2834
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.004cd54d
add esp, 0xc
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x4d230c
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.0x4cd869.17
mov byte [esi + 0x1e], 1
mov eax, dword [ebp - 0xbc]
push dword [ebp - 0xc4]
call dword [eax + 0x1c]
jmp 0x4cdbed
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 0x4d2406
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.004cd522
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 0x4d23a6
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 0x4d2412
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.004cd6e8
cmp dword [ebp - 0xcc], 0
jne 0x4d2460
mov eax, dword [ebp - 0xc0]
push dword [ebp - 0xb4]
call dword [eax + 0x28]
pop ecx
mov dword [ebp - 0xa8], eax
jmp 0x4d2466
mov eax, dword [ebp - 0xa8]
test eax, eax
je 0x4d2474
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xac]
mov byte [eax + 0x1c], 0
jmp 0x4cdae4
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 0x4cdcf2
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.004c94c1
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.004cd6e8
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.004c8dc6
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0xb0]
call fcn.004c94c1
mov ecx, dword [ebp - 0xc0]
call fcn.004c93f2
mov esi, dword [ebp - 0xd4]
jmp 0x4ce30e
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.0x4cd869.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.004cd6e8
mov eax, dword [ebp - 0xcc]
test eax, eax
jne 0x4d25f7
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 0x4d25fd
mov ecx, dword [ebp - 0xc0]
test ecx, ecx
jne 0x4d2834
mov edx, dword [ebx + 8]
dec edx
jmp 0x4d283a
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.004cd6e8
jmp 0x4cfb5a
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 0x4cdae4
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 0x4d26fa
push 0x28
pop edi
call fcn.004cd522
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 0x4d26a1
mov edi, dword [ebp - 0xec]
mov edx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc8]
jmp 0x4d2703
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.004cd6e8
mov eax, dword [ebp - 0xcc]
mov ebx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xd4]
test eax, eax
jne 0x4d275a
cmp dword [ebx + 4], 0
je 0x4d275a
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 0x4d2834
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.0x4cd869.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 0x4d27a6
mov eax, dword [ecx + 4]
mov esi, dword [eax + 0x30]
cmp esi, edx
cmovb esi, edx
call fcn.004c1c14
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ecx + 4]
mov eax, dword [eax]
test esi, esi
jle 0x4d27c0
mov dword [eax + 0x84], esi
mov esi, dword [eax + 0x84]
call fcn.004c1c87
mov eax, esi
jmp 0x4d1549
mov edx, dword [ebx + 0x10]
test edx, edx
jne 0x4d27df
mov edx, dword [edi + 0xa0]
mov dword [ebp - 0xc8], edx
test edx, edx
je case.0x4cd869.17
cmp dword [esi + 0x98], 0
je case.0x4cd869.17
mov ecx, edi
call fcn.004cd22d
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.004b71f7
jmp 0x4d20e5
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 0x4d2a73
mov ecx, dword [ebp - 0x110]
mov eax, edx
jmp 0x4cd7dd
push 9
jmp 0x4d2a66
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 0x4d28ac
push dword [ebx + 0x10]
lea eax, [edi + 0x38]
push 0x59813c
push esi
push eax
call fcn.004b7549
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.004b861d
add esp, 0x24
jmp 0x4d28c7
test ecx, ecx
je 0x4d28c7
push dword [edi + 0xa0]
push eax
push str.constraint_failed_at__d_in___s_
push dword [ebx + 4]
call fcn.004b861d
add esp, 0x10
mov ecx, edi
call fcn.004cb2ca
push 5
pop ecx
cmp eax, ecx
je 0x4d291f
cmp dword [edi + 0x5c], 0
push 0x65
pop esi
push 1
pop eax
cmovne esi, eax
jmp 0x4d2ac1
cmp byte [esi + 0x1e], 0
jne 0x4d2a4c
mov eax, dword [ebp - 0xd0]
inc eax
push 0x64
mov dword [edi + 0x58], eax
pop esi
jmp 0x4d2ac1
lea ecx, [ebp - 0xb8]
call fcn.004c90cd
jmp 0x4d2a4c
mov edx, dword [ebp - 0xd0]
mov dword [edi + 0x58], edx
mov byte [esi + 0x1c], bl
mov esi, ecx
mov dword [edi + 0x5c], ecx
jmp 0x4d2ac1
test esi, esi
je 0x4d2956
mov ecx, edx
call fcn.004f54f8
mov esi, dword [ebp - 0xd4]
mov byte [esi + 0x1c], 1
mov ecx, esi
call fcn.004f523d
xor esi, esi
inc esi
cmp dword [edi + 0x5c], ebx
push 0x65
pop eax
cmove esi, eax
jmp 0x4d2ac1
xor edx, edx
mov ecx, edi
inc edx
call fcn.004cb275
mov esi, eax
test esi, esi
jne 0x4d2ac1
mov esi, dword [ebp - 0xd4]
mov ecx, edi
mov al, byte [ebp - 0xc8]
mov byte [esi + 0x1c], al
call fcn.004cb2ca
push 5
pop ecx
cmp eax, ecx
jne 0x4d293e
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 0x4d291f
mov edx, dword [ebp - 0xd0]
mov dword [edi + 0x58], edx
jmp 0x4d291f
mov ecx, 0x10000
call fcn.004f6537
jmp 0x4d29bb
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 0x4d2a6d
mov ecx, eax
call fcn.004f55ab
push eax
push 0x59813c
lea eax, [edi + 0x38]
push esi
push eax
call fcn.004b7549
mov eax, dword [ebp - 0xcc]
add esp, 0x10
jmp 0x4d2a6d
mov edi, dword [ebp - 0xec]
jmp 0x4d2a10
mov esi, eax
jmp 0x4d2a10
mov esi, dword [ebp - 0xd4]
push str.string_or_blob_too_big
lea eax, [edi + 0x38]
push esi
push eax
call fcn.004b7549
add esp, 0xc
push 0x12
jmp 0x4d2a66
push 9
pop edx
mov dword [ebp - 0xcc], edx
mov ecx, edx
mov dword [edi + 0x5c], edx
jmp 0x4d29de
mov edi, dword [ebp - 0xec]
jmp 0x4d2a4c
mov esi, ebx
jmp 0x4d2a4c
mov esi, eax
jmp 0x4d2a4c
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.004b7549
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.004b861d
add esp, 0x14
mov ecx, edi
call fcn.004cb2ca
cmp dword [ebp - 0xcc], 0xc0a
jne 0x4d2aa5
mov byte [esi + 0x1e], 1
mov al, byte [ebp - 0xf9]
xor esi, esi
inc esi
test al, al
je 0x4d2ac1
mov ecx, dword [ebp - 0xd4]
movzx edx, al
dec edx
call fcn.004da4fd
mov ecx, edi
call fcn.004ca4ff
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0055fedc
mov esp, ebp
pop ebp
ret