Function at 0x4a95e9
Capabilities:
Enumerate pe sections
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x124
mov eax, dword [0x517490]
xor eax, esp
mov dword [esp + 0x120], eax
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x138]
xor ebx, ebx
mov esi, ebx
mov dword [esp + 0x20], edi
push edi
mov dword [esp + 0x18], ebx
mov ebp, dword [edi]
mov eax, dword [edi + 4]
mov dword [esp + 0x54], eax
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + 8]
mov dword [esp + 0x48], ebp
mov byte [esp + 0x3f], bl
mov dword [esp + 0x58], ebx
mov eax, dword [eax + 0xc]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], ebx
mov al, byte [eax + 0x4d]
mov byte [esp + 0x3b], al
mov eax, dword [edi + 8]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x30]
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x34]
mov dword [esp + 0x40], eax
call fcn.004a959a
pop ecx
push 7
pop eax
cmp dword [edi + 0x5c], eax
je 0x4ae2f8
mov dword [edi + 0x5c], ebx
mov dword [edi + 0x14], ebx
mov dword [ebp + 0x1b4], ebx
cmp dword [ebp + 0xe0], ebx
jne 0x4ae2e7
mov eax, dword [edi + 0x58]
xor ecx, ecx
cmp dword [ebp + 0x114], ebx
mov dword [esp + 0x14], eax
setne cl
mov dword [esp + 0x60], ecx
cmp byte [ebp + 0x1e], 0
push 4
pop edx
jne 0x4ae2f8
imul ebx, eax, 0x14
add ebx, dword [esp + 0x50]
test ecx, ecx
je 0x4a96dd
mov eax, dword [esp + 0x54]
cmp dword [ebp + 0x11c], eax
jne 0x4a96d8
push dword [ebp + 0x118]
call dword [ebp + 0x114]
pop ecx
test eax, eax
jne 0x4ae144
push 4
pop edx
inc eax
mov dword [esp + 0x54], eax
push 2
pop ecx
test byte [ebx + 2], cl
je 0x4a970d
imul esi, dword [ebx + 8], 0x28
mov eax, 0x2460
add esi, dword [esp + 0x1c]
mov dword [esp + 0x18], esi
test word [esi + 0x1c], ax
je 0x4a9709
push esi
call fcn.004af99b
pop ecx
push 4
pop edx
push 2
pop ecx
mov word [esi + 0x1c], dx
movzx eax, byte [ebx]
dec eax
cmp eax, 0x93
ja case.0x4a9718.17
jmp dword [eax*4 + 0x4ae391]
cmp dword [ebp + 0xe0], 0
jne 0x4ae2e7
mov eax, dword [ebx + 8]
dec eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
jmp 0x4a99c1
imul ecx, dword [ebx + 4], 0x28
mov eax, dword [esp + 0x14]
add ecx, dword [esp + 0x1c]
mov word [ecx + 0x1c], dx
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp 0x4a972c
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax + ecx + 0x10]
jmp 0x4a9730
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x10]
mov word [ecx + 0x1c], dx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x14]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [esp + 0x68]
jmp 0x4a9730
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [esp + 0x1c]
test byte [eax + ecx + 0x1c], 1
je case.0x4a9718.17
cmp dword [ebx + 4], 0
jne 0x4ae14b
mov ecx, dword [edi + 0xa8]
test ecx, ecx
je 0x4ae14b
mov eax, dword [ecx + 0x3c]
dec dword [edi + 0xb0]
mov dword [edi + 0xa8], eax
mov eax, dword [edi + 0x6c]
add dword [ebp + 0x40], eax
push ecx
mov dword [ebp + 0x3c], eax
call fcn.004ae8b6
pop ecx
mov ecx, dword [ebp + 0x30]
push 4
pop edx
mov dword [esp + 0x40], ecx
mov ecx, dword [ebp + 0x34]
mov dword [esp + 0x14], eax
mov dword [esp + 0x3c], ecx
cmp dword [ebx + 8], edx
jne 0x4a97f7
imul ecx, eax, 0x14
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax + 8]
dec eax
mov dword [esp + 0x14], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x50], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x1c], eax
jmp case.0x4a9718.17
mov eax, dword [ebx + 4]
cdq
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
jmp case.0x4a9718.17
mov ecx, dword [ebx + 0x10]
mov eax, dword [ecx]
mov dword [esi + 0x10], eax
mov eax, dword [ecx + 4]
mov dword [esi + 0x14], eax
jmp case.0x4a9718.17
push 8
pop eax
mov word [esi + 0x1c], ax
mov eax, dword [ebx + 0x10]
movsd xmm0, qword [eax]
movsd qword [esi + 8], xmm0
jmp case.0x4a9718.17
push dword [ebx + 0x10]
mov byte [ebx], 9
call fcn.004a6b98
mov dword [ebx + 4], eax
xor eax, eax
inc eax
pop ecx
cmp byte [esp + 0x37], al
je 0x4a98cc
push 0
push eax
push 0xffffffffffffffff
push dword [ebx + 0x10]
push esi
call fcn.004afb12
add esp, 0x14
mov dword [esp + 0x10], eax
cmp eax, 0x12
je 0x4ae2d1
movzx ecx, byte [esp + 0x37]
push ecx
push esi
call fcn.004a904e
pop ecx
pop ecx
test eax, eax
jne 0x4ae2f8
and dword [esi + 0x24], eax
mov ecx, 0xfbff
mov ax, word [esi + 0x1c]
and ax, cx
mov ecx, 0x800
or ax, cx
mov word [esi + 0x1c], ax
cmp byte [ebx + 1], 0xff
jne 0x4a98bc
push dword [ebx + 0x10]
push ebp
call fcn.00497c57
pop ecx
pop ecx
mov byte [ebx + 1], 0xff
mov eax, dword [esi + 4]
mov dword [ebx + 0x10], eax
mov eax, dword [esi + 0x18]
mov dword [ebx + 4], eax
mov eax, dword [ebx + 4]
cmp eax, dword [ebp + 0x48]
jg 0x4ae2d1
mov eax, 0xa02
mov word [esi + 0x1c], ax
mov eax, dword [ebx + 0x10]
mov dword [esi + 4], eax
mov eax, dword [ebx + 4]
mov dword [esi + 0x18], eax
mov al, byte [esp + 0x37]
mov byte [esi + 0x1f], al
jmp case.0x4a9718.17
xor ebx, ebx
inc ebx
mov word [esi + 0x1c], bx
jmp case.0x4a9718.17
xor eax, eax
push eax
push eax
push dword [ebx + 4]
push dword [ebx + 0x10]
push esi
call fcn.004afb12
add esp, 0x14
jmp 0x4a98ed
imul ecx, dword [ebx + 4], 0x28
mov esi, dword [edi + 0x48]
add ecx, 0xffffffd8
add esi, ecx
push esi
mov dword [esp + 0x6c], esi
call fcn.004afd83
pop ecx
test eax, eax
jne 0x4ae2d1
mov eax, 0x800
push eax
push esi
mov esi, dword [esp + 0x20]
push esi
call fcn.004afc8c
add esp, 0xc
jmp case.0x4a9718.17
mov edx, dword [ebx + 0xc]
mov dword [esp + 0x6c], edx
mov eax, dword [ebx + 4]
mov dword [esp + 0x70], eax
mov ecx, dword [ebx + 8]
imul esi, eax, 0x28
imul ebx, ecx, 0x28
mov dword [esp + 0x74], ecx
add esi, dword [esp + 0x1c]
add ebx, dword [esp + 0x1c]
mov dword [esp + 0x18], ebx
test edx, edx
je 0x4a99b4
push 0x28
pop ebp
dec edx
mov dword [esp + 0x6c], edx
mov eax, dword [ebx + 0x24]
push esi
mov dword [esp + 0x6c], eax
and dword [ebx + 0x24], 0
push ebx
call fcn.004af85c
mov eax, dword [esp + 0x70]
add ebx, ebp
mov dword [esi + 0x24], eax
add esi, ebp
mov edx, dword [esp + 0x74]
pop ecx
pop ecx
test edx, edx
jne 0x4a9980
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x18], ebx
dec edx
mov dword [esp + 0x6c], edx
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
test eax, eax
jne 0x4ae319
mov ecx, dword [esp + 0x60]
mov eax, edx
jmp 0x4a969c
imul esi, dword [ebx + 8], 0x28
mov eax, 0x1000
push eax
imul eax, dword [ebx + 4], 0x28
add esi, dword [esp + 0x20]
mov dword [esp + 0x1c], esi
add eax, dword [esp + 0x20]
push eax
push esi
call fcn.004afc8c
mov eax, 0x1000
add esp, 0xc
test word [esi + 0x1c], ax
je case.0x4a9718.17
push esi
call fcn.004af7fa
pop ecx
test eax, eax
jne 0x4ae2f8
jmp case.0x4a9718.17
imul esi, dword [ebx + 8], 0x28
mov eax, 0x1000
push eax
imul eax, dword [ebx + 4], 0x28
add esi, dword [esp + 0x20]
mov dword [esp + 0x1c], esi
add eax, dword [esp + 0x20]
push eax
jmp 0x4a9944
push 0
push edi
call fcn.004a925a
mov dword [esp + 0x18], eax
pop ecx
pop ecx
test eax, eax
jne 0x4a99c1
push 1
push edi
call fcn.004a92b3
mov dword [esp + 0x18], eax
pop ecx
pop ecx
test eax, eax
jne 0x4a99c1
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 [esp + 0x6c], ecx
add edx, dword [esp + 0x1c]
mov dword [edi + 0x14], edx
mov dword [esp + 0x68], edx
cmp dword [ebx + 8], ecx
jle 0x4ae1cd
mov esi, 0x1000
imul eax, ecx, 0x28
add eax, edx
test word [eax + 0x1c], si
je 0x4a9ac3
push eax
call fcn.004af7fa
pop ecx
test eax, eax
jne 0x4ae2f8
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
imul eax, ecx, 0x28
add eax, edx
push eax
call fcn.004af886
imul eax, dword [esp + 0x70], 0x28
add eax, dword [esp + 0x6c]
push eax
call fcn.004afcda
pop ecx
pop ecx
mov ecx, dword [esp + 0x6c]
inc ecx
mov dword [esp + 0x6c], ecx
cmp ecx, dword [ebx + 8]
jge 0x4ae1cd
mov edx, dword [esp + 0x68]
jmp 0x4a9aa1
imul ecx, dword [ebx + 4], 0x28
imul esi, dword [ebx + 8], 0x28
imul eax, dword [ebx + 0xc], 0x28
mov edx, dword [esp + 0x1c]
add ecx, edx
add esi, edx
mov dword [esp + 0x24], ecx
add eax, edx
mov dword [esp + 0x18], eax
movzx edx, word [ecx + 0x1c]
mov al, byte [esi + 0x1c]
or al, dl
test al, 1
je 0x4a9b32
mov esi, dword [esp + 0x18]
push esi
call fcn.004afa62
pop ecx
jmp case.0x4a9718.17
mov eax, 0x4000
test eax, edx
je 0x4a9b46
push ecx
call fcn.004af4f2
pop ecx
xor ebx, ebx
jmp 0x4a9b4a
xor ebx, ebx
mov eax, ebx
test eax, eax
jne 0x4ae2f8
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x4a9b66
push esi
call fcn.004af4f2
pop ecx
jmp 0x4a9b68
mov eax, ebx
test eax, eax
jne 0x4ae2f8
mov ecx, dword [esp + 0x24]
test byte [ecx + 0x1c], 0x12
jne 0x4a9b90
movzx eax, byte [esp + 0x37]
push eax
push ecx
call fcn.004afd09
pop ecx
pop ecx
test eax, eax
jne 0x4ae2f8
test byte [esi + 0x1c], 0x12
jne 0x4a9bac
movzx eax, byte [esp + 0x37]
push eax
push esi
call fcn.004afd09
pop ecx
pop ecx
test eax, eax
jne 0x4ae2f8
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x18]
add eax, dword [esi + 0x18]
cdq
mov ecx, edx
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ecx
mov eax, dword [ebp + 0x48]
cdq
cmp ecx, edx
jg 0x4ae2d1
jl 0x4a9bd9
cmp dword [esp + 0x68], eax
ja 0x4ae2d1
mov ecx, dword [esp + 0x18]
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
cmp ecx, esi
sete al
push eax
mov eax, dword [esp + 0x6c]
add eax, edx
push eax
push ecx
call fcn.004af685
add esp, 0xc
test eax, eax
jne 0x4ae2f8
mov eax, dword [esp + 0x18]
cmp eax, esi
je 0x4a9c2c
push dword [esi + 0x18]
push dword [esi + 4]
push dword [eax + 4]
call fcn.004be440
add esp, 0xc
mov eax, dword [esp + 0x24]
push dword [eax + 0x18]
push dword [eax + 4]
mov eax, dword [esi + 0x18]
mov esi, dword [esp + 0x20]
add eax, dword [esi + 4]
push eax
call fcn.004be440
mov eax, dword [esp + 0x74]
add esp, 0xc
mov ecx, dword [esi + 4]
mov byte [eax + ecx], bl
mov eax, dword [esp + 0x68]
mov ecx, dword [esi + 4]
mov byte [ecx + eax + 1], bl
mov ebx, 0x200
or word [esi + 0x1c], bx
mov eax, dword [esp + 0x68]
jmp 0x4a98ea
imul esi, dword [ebx + 4], 0x28
add esi, dword [esp + 0x1c]
push esi
call fcn.0047e376
imul eax, dword [ebx + 8], 0x28
add eax, dword [esp + 0x20]
push eax
mov dword [esp + 0x30], eax
call fcn.0047e376
imul eax, dword [ebx + 0xc], 0x28
mov edx, dword [esp + 0x30]
pop ecx
pop ecx
add eax, dword [esp + 0x1c]
movzx ecx, word [edx + 0x1c]
mov dword [esp + 0x18], eax
movzx eax, word [esi + 0x1c]
or ecx, eax
mov dword [esp + 0x68], ecx
test cl, 1
jne 0x4a9b22
mov al, byte [edx + 0x1c]
and al, byte [esi + 0x1c]
push 4
pop edx
test dl, al
je 0x4a9dde
mov ecx, dword [esi + 0x10]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x70], ecx
mov edx, dword [esi + 0x14]
mov dword [esp + 0x74], edx
mov edi, dword [eax + 0x10]
mov dword [esp + 0x78], edi
mov eax, dword [eax + 0x14]
mov dword [esp + 0x30], eax
mov dword [esp + 0x7c], eax
movzx eax, byte [ebx]
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x20]
sub eax, 0x56
je 0x4a9d9b
dec eax
je 0x4a9d8a
dec eax
je 0x4a9d79
dec eax
mov eax, ecx
je 0x4a9d40
or eax, edx
je 0x4a9b22
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x4a9d2f
xor ecx, ecx
inc ecx
xor edx, edx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], edx
push edx
push ecx
push dword [esp + 0x38]
push dword [esp + 0x30]
call fcn.004c02c0
jmp 0x4a9d6f
or eax, edx
je 0x4a9b22
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
mov eax, dword [esp + 0x24]
jne 0x4a9d63
test eax, eax
jne 0x4a9d63
cmp dword [esp + 0x30], 0x80000000
je 0x4a9dde
push edx
push ecx
push dword [esp + 0x38]
push eax
call fcn.004bff00
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
jmp 0x4a9db1
push edx
push ecx
lea eax, [esp + 0x80]
push eax
call fcn.0049f653
jmp 0x4a9daa
push edx
push ecx
lea eax, [esp + 0x80]
push eax
call fcn.004a6bb6
jmp 0x4a9daa
push edx
push ecx
lea eax, [esp + 0x80]
push eax
call fcn.00492274
add esp, 0xc
test eax, eax
jne 0x4a9dde
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x78]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x7c]
mov dword [esi + 0x14], eax
mov ax, word [esi + 0x1c]
mov ecx, 0xbf04
and ax, cx
push 4
pop ecx
or ax, cx
mov word [esi + 0x1c], ax
jmp case.0x4a9718.17
push esi
call fcn.004b0232
push dword [esp + 0x2c]
fstp qword [esp + 0x88]
call fcn.004b0232
fstp qword [esp + 0x90]
movzx eax, byte [ebx]
pop ecx
pop ecx
sub eax, 0x56
je 0x4a9ece
dec eax
je 0x4a9eba
dec eax
je 0x4a9ea6
dec eax
je 0x4a9e7c
movsd xmm0, qword [esp + 0x80]
call fcn.004bfc8f
movsd xmm0, qword [esp + 0x88]
mov esi, eax
mov ebx, edx
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], ebx
call fcn.004bfc8f
mov ecx, esi
mov dword [esp + 0x78], eax
or ecx, ebx
mov dword [esp + 0x7c], edx
je 0x4a9b22
mov ecx, esi
and ecx, ebx
cmp ecx, 0xffffffff
jne 0x4a9e6a
xor esi, esi
inc esi
xor ebx, ebx
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], ebx
push ebx
push esi
push edx
push eax
call fcn.004c02c0
mov ecx, eax
call fcn.004bfe2f
jmp 0x4a9ee0
movsd xmm1, qword [esp + 0x80]
ucomisd xmm1, qword [0x4db758]
lahf
test ah, 0x44
jnp 0x4a9b22
movsd xmm0, qword [esp + 0x88]
divsd xmm0, xmm1
jmp 0x4a9ee0
movsd xmm0, qword [esp + 0x88]
mulsd xmm0, qword [esp + 0x80]
jmp 0x4a9ee0
movsd xmm0, qword [esp + 0x88]
subsd xmm0, qword [esp + 0x80]
jmp 0x4a9ee0
movsd xmm0, qword [esp + 0x88]
addsd xmm0, qword [esp + 0x80]
push ecx
push ecx
movsd qword [esp + 0x90], xmm0
movsd qword [esp], xmm0
call fcn.0049eb81
add esp, 8
test eax, eax
jne 0x4a9b22
mov esi, dword [esp + 0x18]
mov ecx, 0xbf08
movsd xmm0, qword [esp + 0x88]
push 8
mov ax, word [esi + 0x1c]
and ax, cx
movsd qword [esi + 8], xmm0
pop ecx
or ax, cx
mov word [esi + 0x1c], ax
test byte [esp + 0x68], cl
jne case.0x4a9718.17
push esi
call fcn.004aee02
jmp 0x4a9b2c
movzx eax, byte [ebx + 3]
mov ecx, dword [edi + 0xc]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0xb4], eax
imul ecx, dword [ebx + 0xc], 0x28
imul edx, dword [ebx + 8], 0x28
add ecx, dword [esp + 0x1c]
add edx, dword [esp + 0x1c]
mov dword [esp + 0x18], ecx
xor ecx, ecx
mov dword [esp + 0x6c], edx
mov esi, ecx
mov dword [esp + 0x68], esi
test eax, eax
jle 0x4a9fd4
mov eax, dword [esp + 0x28]
mov dword [eax + esi*4], edx
mov ecx, 0x1000
mov eax, dword [esp + 0x6c]
test word [eax + 0x1c], cx
je 0x4a9fa3
push eax
call fcn.004af7fa
pop ecx
test eax, eax
jne 0x4ae2f8
mov eax, dword [esp + 0x6c]
push eax
call fcn.004afcda
mov esi, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
inc esi
pop ecx
push 0x28
pop eax
add edx, eax
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], edx
cmp esi, dword [esp + 0xb4]
jge 0x4a9fd2
mov eax, dword [esp + 0xb0]
jmp 0x4a9f7e
xor ecx, ecx
cmp byte [ebx + 1], 0xfb
mov eax, dword [ebx + 0x10]
jne 0x4a9fe3
mov dword [esp + 0x74], ecx
jmp 0x4a9fe9
mov dword [esp + 0x74], eax
mov eax, dword [eax]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x70], eax
xor eax, eax
inc eax
mov dword [esp + 0x78], ebp
mov word [esp + 0x94], ax
lea eax, [esp + 0x78]
push esi
push eax
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], ecx
call fcn.004af85c
mov eax, dword [esp + 0x9c]
and dword [esp + 0xac], 0
pop ecx
pop ecx
mov ecx, 0xbf01
and eax, ecx
or eax, 1
mov word [esp + 0x94], ax
mov eax, dword [esp + 0x70]
push 8
pop ecx
test byte [eax + 3], cl
je 0x4aa052
mov eax, dword [ebx - 4]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x40]
mov dword [ebp + 0x30], eax
mov eax, dword [esp + 0x3c]
mov dword [ebp + 0x34], eax
lea eax, [esp + 0x70]
push dword [esp + 0xb0]
push dword [esp + 0xb8]
push eax
mov eax, dword [esp + 0x7c]
call dword [eax + 0xc]
mov eax, dword [ebp + 0x30]
add esp, 0xc
cmp dword [esp + 0x74], 0
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x34]
mov dword [esp + 0x3c], eax
je 0x4aa0ab
push dword [ebx + 4]
push dword [esp + 0x78]
call fcn.004a94a2
mov eax, dword [esp + 0x7c]
pop ecx
pop ecx
mov dword [ebx + 0x10], eax
mov byte [ebx + 1], 0xf9
cmp byte [ebp + 0x1e], 0
jne 0x4ae1e7
cmp dword [esp + 0xa4], 0
je 0x4aa0e9
lea eax, [esp + 0x78]
push 1
push eax
call fcn.004a8d65
push eax
push 0x4e5400
lea eax, [edi + 0x38]
push ebp
push eax
call fcn.004a5f3c
mov eax, dword [esp + 0xbc]
add esp, 0x18
mov dword [esp + 0x10], eax
movzx eax, byte [esp + 0x37]
push eax
lea eax, [esp + 0x7c]
push eax
call fcn.004a904e
lea eax, [esp + 0x80]
push eax
push esi
call fcn.004af85c
push esi
call fcn.004afd83
add esp, 0x14
test eax, eax
jne 0x4ae2d1
jmp case.0x4a9718.17
imul ecx, dword [ebx + 8], 0x28
imul esi, dword [ebx + 4], 0x28
imul eax, dword [ebx + 0xc], 0x28
mov edx, dword [esp + 0x1c]
add ecx, edx
add esi, edx
add eax, edx
mov dword [esp + 0x18], eax
mov al, byte [ecx + 0x1c]
or al, byte [esi + 0x1c]
test al, 1
jne 0x4a9b22
push ecx
call fcn.004aed9e
push esi
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
call fcn.004aed9e
pop ecx
mov edi, eax
mov dword [esp + 0x80], edx
pop ecx
mov dword [esp + 0x78], edi
mov cl, byte [ebx]
mov byte [esp + 0x80], cl
cmp cl, 0x52
jne 0x4aa189
mov esi, dword [esp + 0x68]
and esi, edi
and dword [esp + 0x6c], edx
mov dword [esp + 0x68], esi
jmp 0x4aa28a
cmp cl, 0x53
jne 0x4aa1a1
mov esi, dword [esp + 0x68]
or esi, edi
or dword [esp + 0x6c], edx
mov dword [esp + 0x68], esi
jmp 0x4aa28a
mov eax, edi
or eax, edx
je 0x4aa286
xor ebx, ebx
cmp edx, ebx
jg 0x4aa1de
jl 0x4aa1b7
cmp edi, ebx
jae 0x4aa1de
mov al, 0xa9
sub al, cl
mov cl, al
mov byte [esp + 0x80], cl
cmp edx, 0xffffffff
jl 0x4aa210
jg 0x4aa1d0
cmp edi, 0xffffffc0
jbe 0x4aa210
neg edi
mov dword [esp + 0x78], edi
adc edx, ebx
neg edx
mov dword [esp + 0x7c], edx
push 0x40
pop eax
cmp edx, ebx
jl 0x4aa221
jg 0x4aa1eb
cmp edi, eax
jb 0x4aa221
cmp dword [esp + 0x6c], ebx
jg 0x4aa201
jl 0x4aa1f9
cmp dword [esp + 0x68], ebx
jae 0x4aa201
cmp cl, 0x54
je 0x4aa201
or ebx, 0xffffffff
mov eax, ebx
cdq
mov esi, eax
mov dword [esp + 0x6c], edx
mov dword [esp + 0x68], esi
jmp 0x4aa28a
push 0x40
pop eax
mov edi, eax
mov edx, ebx
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], edx
jmp 0x4aa1e1
mov eax, dword [esp + 0x68]
cmp cl, 0x54
mov edx, dword [esp + 0x6c]
mov ecx, edi
jne 0x4aa23b
call fcn.004c14c0
mov esi, eax
mov eax, edx
jmp 0x4aa274
call fcn.004c1460
mov esi, eax
mov eax, edx
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], eax
cmp dword [esp + 0x6c], ebx
jg 0x4aa27c
jl 0x4aa25a
cmp dword [esp + 0x68], ebx
jae 0x4aa27c
push 0x40
pop eax
mov ecx, eax
or edx, 0xffffffff
sub ecx, edi
or eax, 0xffffffff
call fcn.004c14c0
or esi, eax
mov eax, dword [esp + 0x74]
or eax, edx
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], eax
jmp 0x4aa28a
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x18]
mov ecx, 0xbf04
push 4
mov dword [edi + 0x10], esi
mov esi, edi
mov eax, dword [esp + 0x70]
mov dword [esi + 0x14], eax
mov ax, word [esi + 0x1c]
and ax, cx
pop ecx
or ax, cx
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x20]
jmp 0x4a99c1
imul esi, dword [ebx + 4], 0x28
add esi, dword [esp + 0x1c]
push esi
call fcn.004af7d0
mov eax, dword [ebx + 8]
cdq
add dword [esi + 0x10], eax
pop ecx
adc dword [esi + 0x14], edx
jmp 0x4a99b9
imul esi, dword [ebx + 4], 0x28
push dword [esp + 0x37]
push 0x63
add esi, dword [esp + 0x24]
push esi
call fcn.0047e324
movzx eax, word [esi + 0x1c]
add esp, 0xc
push 4
pop ecx
test cl, al
jne 0x4aa312
mov eax, dword [ebx + 8]
test eax, eax
je 0x4ae1f7
dec eax
mov dword [esp + 0x14], eax
jmp 0x4a99b9
mov edx, 0xbf04
and eax, edx
or eax, ecx
mov word [esi + 0x1c], ax
jmp 0x4a99b9
imul eax, dword [ebx + 4], 0x28
add eax, dword [esp + 0x1c]
test byte [eax + 0x1c], dl
je case.0x4a9718.17
push eax
call fcn.004af944
jmp 0x4a9b2c
imul esi, dword [ebx + 4], 0x28
add esi, dword [esp + 0x1c]
movzx ecx, word [esi + 0x1c]
test cl, 1
jne 0x4a99b9
push 2
pop edx
push dword [esp + 0x37]
mov eax, ecx
shr eax, 3
and eax, edx
or eax, ecx
push 0x61
push esi
mov word [esi + 0x1c], ax
call fcn.0047e324
mov eax, 0x4000
add esp, 0xc
test word [esi + 0x1c], ax
je 0x4aa38c
push esi
call fcn.004af4f2
pop ecx
mov dword [esp + 0x10], eax
jmp 0x4aa391
and dword [esp + 0x10], 0
mov eax, 0xbfe3
and word [esi + 0x1c], ax
jmp 0x4a99b9
imul esi, dword [ebx + 4], 0x28
add esi, dword [esp + 0x1c]
movzx eax, word [esi + 0x1c]
test al, 1
jne 0x4a99b9
push 0x10
pop ebx
test bl, al
jne 0x4aa3dd
push dword [esp + 0x37]
push 0x61
push esi
call fcn.0047e324
mov ax, word [esi + 0x1c]
mov ecx, 0xbf10
and ax, cx
add esp, 0xc
or ax, bx
jmp 0x4aa31b
and eax, 0xff10
jmp 0x4aa31b
imul eax, dword [ebx + 4], 0x28
add eax, dword [esp + 0x1c]
push eax
call fcn.004af8d6
jmp 0x4a9b2c
imul eax, dword [ebx + 4], 0x28
add eax, dword [esp + 0x1c]
test byte [eax + 0x1c], 1
jne case.0x4a9718.17
push eax
call fcn.004af7d0
jmp 0x4a9b2c
imul eax, dword [ebx + 4], 0x28
add eax, dword [esp + 0x1c]
test byte [eax + 0x1c], 1
jne case.0x4a9718.17
jmp 0x4aa335
imul esi, dword [ebx + 4], 0x28
xor edx, edx
imul ecx, dword [ebx + 0xc], 0x28
inc edx
add esi, dword [esp + 0x1c]
add ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], ecx
mov ax, word [esi + 0x1c]
mov word [esp + 0x6e], ax
mov ax, word [ecx + 0x1c]
mov word [esp + 0x70], ax
mov cl, al
mov ah, byte [esp + 0x6e]
or al, ah
mov byte [esp + 0x30], ah
test dl, al
mov al, byte [ebx + 3]
je 0x4aa4b8
test al, al
jns 0x4aa47d
and cl, ah
test dl, cl
push 0
pop edx
sete dl
jmp 0x4aa530
push 0x10
pop ecx
test cl, al
je 0x4aa4a4
imul esi, dword [ebx + 8], 0x28
add esi, dword [esp + 0x1c]
mov dword [esp + 0x18], esi
mov ax, word [esi + 0x1c]
mov ecx, 0xbf01
and ax, cx
or ax, dx
jmp 0x4a9dd5
push 8
pop ecx
test cl, al
mov esi, dword [esp + 0x18]
je case.0x4a9718.17
jmp 0x4a972c
and al, 0x67
mov byte [esp + 0x6c], al
je 0x4aa4ed
push dword [esp + 0x37]
push dword [esp + 0x70]
push esi
call fcn.0047e324
push dword [esp + 0x43]
mov ecx, dword [esp + 0x34]
push dword [esp + 0x7c]
push ecx
call fcn.0047e324
add esp, 0x18
cmp byte [ebp + 0x1e], 0
jne 0x4ae2f8
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x4aa4ff
push esi
call fcn.004af4f2
pop ecx
mov eax, dword [esp + 0x24]
mov ecx, 0x4000
test word [eax + 0x1c], cx
je 0x4aa519
push eax
call fcn.004af4f2
mov eax, dword [esp + 0x28]
pop ecx
push dword [ebx + 0x10]
push esi
push eax
call fcn.0049f34a
mov edx, eax
add esp, 0xc
mov al, byte [esp + 0x6e]
mov byte [esp + 0x30], al
mov dword [esp + 0x68], edx
xor eax, eax
movzx ecx, byte [ebx]
sub ecx, 0x4b
je 0x4aa56d
dec ecx
je 0x4aa566
dec ecx
je 0x4aa55f
dec ecx
je 0x4aa558
dec ecx
je 0x4aa551
test edx, edx
setns al
jmp 0x4aa572
test edx, edx
sets al
jmp 0x4aa572
test edx, edx
setle al
jmp 0x4aa572
test edx, edx
setg al
jmp 0x4aa572
test edx, edx
sete al
jmp 0x4aa572
test edx, edx
setne al
push 0x10
pop ecx
mov dword [esp + 0x68], eax
test byte [ebx + 3], cl
je 0x4aa5b1
imul ecx, dword [ebx + 8], 0x28
mov edx, 0xbf04
push 4
add ecx, dword [esp + 0x20]
mov dword [esp + 0x1c], ecx
mov ax, word [ecx + 0x1c]
and ax, dx
pop edx
or ax, dx
mov word [ecx + 0x1c], ax
mov eax, dword [esp + 0x68]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov al, byte [esp + 0x6e]
jmp 0x4aa5c1
test eax, eax
je 0x4aa5bd
mov eax, dword [ebx + 8]
dec eax
mov dword [esp + 0x14], eax
mov al, byte [esp + 0x30]
mov ecx, dword [esp + 0x24]
mov byte [esi + 0x1c], al
mov al, byte [esp + 0x70]
mov byte [ecx + 0x1c], al
jmp 0x4a99b9
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x48], ecx
jmp case.0x4a9718.17
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x68], eax
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x78], ecx
mov esi, dword [ebx + 4]
mov dword [esp + 0x30], esi
mov dword [esp + 0x70], esi
mov esi, dword [ebx + 8]
xor ebx, ebx
mov dword [esp + 0x28], ecx
mov edx, ebx
mov dword [esp + 0x24], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x6c], edx
test eax, eax
jle 0x4aa6b0
mov eax, dword [esp + 0x48]
test eax, eax
je 0x4aa625
mov esi, dword [eax + edx*4]
jmp 0x4aa627
mov esi, edx
mov eax, dword [esp + 0x28]
mov dword [esp + 0x7c], esi
mov ecx, dword [ecx + edx*4 + 0xc]
mov dword [esp + 0x80], ecx
mov eax, dword [eax + 8]
push ecx
movzx eax, byte [eax + edx]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x28]
add eax, esi
imul eax, eax, 0x28
add eax, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x38]
add eax, esi
imul eax, eax, 0x28
add eax, dword [esp + 0x24]
push eax
call fcn.0049f34a
add esp, 0xc
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x4aa6a1
mov edx, dword [esp + 0x6c]
inc edx
mov dword [esp + 0x6c], edx
cmp edx, dword [esp + 0x68]
jge 0x4aa6b0
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], eax
jmp 0x4aa618
cmp dword [esp + 0x84], ebx
je 0x4aa6b0
neg eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], ebx
jmp 0x4a99b9
mov eax, dword [esp + 0x4c]
test eax, eax
jns 0x4aa6c9
mov eax, dword [ebx + 4]
jmp 0x4a972f
je 0x4a972c
mov eax, dword [ebx + 0xc]
jmp 0x4a972f
imul eax, dword [ebx + 4], 0x28
xor edx, edx
mov esi, dword [esp + 0x1c]
inc edx
add eax, esi
test byte [eax + 0x1c], dl
je 0x4aa6ed
mov eax, ecx
jmp 0x4aa704
push eax
call fcn.004aed9e
or eax, edx
pop ecx
je 0x4aa6ff
xor edx, edx
inc edx
mov eax, edx
jmp 0x4aa704
xor edx, edx
xor eax, eax
inc edx
mov dword [esp + 0x68], eax
imul ecx, dword [ebx + 8], 0x28
add ecx, esi
test byte [ecx + 0x1c], dl
je 0x4aa718
push 2
pop ecx
jmp 0x4aa733
push ecx
call fcn.004aed9e
or eax, edx
mov eax, dword [esp + 0x6c]
pop ecx
je 0x4aa72e
xor edx, edx
inc edx
mov ecx, edx
jmp 0x4aa733
xor edx, edx
xor ecx, ecx
inc edx
mov dword [esp + 0x6c], ecx
imul eax, eax, 3
cmp byte [ebx], 0x45
jne 0x4aa749
movzx eax, byte [eax + ecx + 0x4e3cc4]
jmp 0x4aa751
movzx eax, byte [eax + ecx + 0x4e3d2c]
mov dword [esp + 0x68], eax
imul esi, dword [ebx + 0xc], 0x28
push 2
pop ecx
add esi, dword [esp + 0x1c]
mov dword [esp + 0x18], esi
cmp eax, ecx
je 0x4aa490
cdq
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
jmp 0x4a9dc3
imul eax, dword [ebx + 4], 0x28
imul esi, dword [ebx + 8], 0x28
xor ebx, ebx
inc ebx
add eax, dword [esp + 0x1c]
add esi, dword [esp + 0x1c]
mov dword [esp + 0x18], esi
test byte [eax + 0x1c], bl
jne 0x4a9b26
push eax
call fcn.004aed9e
or eax, edx
pop ecx
jne 0x4aa7a7
mov eax, ebx
jmp 0x4aa7a9
xor eax, eax
cdq
push edx
push eax
push esi
call fcn.004afa3b
jmp 0x4a994a
imul eax, dword [ebx + 4], 0x28
imul esi, dword [ebx + 8], 0x28
add eax, dword [esp + 0x1c]
add esi, dword [esp + 0x1c]
mov dword [esp + 0x18], esi
test byte [eax + 0x1c], 1
jne 0x4a9b26
push eax
call fcn.004aed9e
not edx
not eax
push edx
push eax
push esi
call fcn.004afa3b
add esp, 0x10
jmp case.0x4a9718.17
imul esi, dword [ebx + 4], 0x28
xor edx, edx
inc edx
add esi, dword [esp + 0x1c]
test byte [esi + 0x1c], dl
je 0x4aa804
mov ecx, dword [ebx + 0xc]
jmp 0x4aa83f
push esi
call fcn.004b0232
fstp qword [esp + 0x2c]
movsd xmm0, qword [esp + 0x2c]
ucomisd xmm0, qword [0x4db758]
pop ecx
lahf
xor edx, edx
test ah, 0x44
jnp 0x4aa82a
inc edx
mov ecx, edx
jmp 0x4aa82d
xor ecx, ecx
inc edx
mov dword [esp + 0x68], ecx
cmp byte [ebx], 0x1c
jne 0x4aa843
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
mov dword [esp + 0x68], ecx
test ecx, ecx
je 0x4aa84f
mov eax, dword [ebx + 8]
jmp 0x4aa308
cmp byte [ebx], 0x1a
jne 0x4a99b9
and dword [esi + 0x14], 0
push 4
pop eax
mov word [esi + 0x1c], ax
mov dword [esi + 0x10], edx
jmp 0x4a99b9
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [esp + 0x1c]
test byte [eax + ecx + 0x1c], 1
jmp 0x4aa4ad
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [esp + 0x1c]
test byte [eax + ecx + 0x1c], 1
jne case.0x4a9718.17
jmp 0x4a972c
mov eax, dword [ebx + 4]
lea edi, [esp + 0xa8]
mov dword [esp + 0x78], eax
xor edx, edx
mov eax, dword [ebx + 8]
mov dword [esp + 0x7c], eax
xor eax, eax
mov dword [esp + 0x80], edx
push 0xa
pop ecx
rep stosd dword es:[edi], eax
imul edi, dword [ebx + 0xc], 0x28
mov eax, dword [esp + 0x20]
mov dword [esp + 0x84], edx
mov ecx, dword [eax + 0x44]
mov eax, dword [esp + 0x78]
add edi, dword [esp + 0x1c]
mov dword [esp + 0xa4], edi
mov esi, dword [ecx + eax*4]
mov dword [esp + 0x80], esi
mov eax, dword [esi]
mov dword [esp + 0x88], eax
test eax, eax
je 0x4aa992
push esi
call fcn.004a93e4
mov dword [esp + 0x14], eax
pop ecx
test eax, eax
jne 0x4ae295
mov esi, dword [esp + 0x80]
cmp byte [esi + 0x1c], al
je 0x4aa925
and dword [esp + 0x68], eax
mov edi, dword [esp + 0xa4]
jmp 0x4aa9ec
mov ecx, dword [esp + 0x20]
mov eax, dword [esi + 0x50]
cmp eax, dword [ecx + 0x54]
jne 0x4aa950
mov ecx, dword [esi + 0x54]
xor edx, edx
mov edi, dword [esp + 0xa4]
mov dword [esp + 0x68], ecx
mov eax, dword [esi + 0x60]
mov dword [esp + 0x84], eax
jmp 0x4aa9e8
cmp byte [esi + 0x1f], 0
je 0x4aa97f
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x8c]
call fcn.00495318
pop ecx
pop ecx
mov ecx, dword [esp + 0x70]
mov edi, dword [esp + 0xa4]
xor edx, edx
mov esi, dword [esp + 0x80]
jmp 0x4aa9e4
mov esi, dword [esp + 0x88]
push esi
call fcn.00488bcf
pop ecx
mov ecx, dword [esi + 0x2c]
jmp 0x4aa96d
mov eax, dword [esi + 0x10]
test eax, eax
jle 0x4aa9e2
imul ecx, eax, 0x28
push 0x20
add ecx, dword [esp + 0x20]
mov dword [esp + 0xf0], ecx
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x6c], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x88], eax
pop eax
test byte [ebx + 3], al
je 0x4aa9c4
mov eax, edx
jmp 0x4aa9cb
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x54]
mov dword [esi + 0x50], eax
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0x80]
mov ecx, dword [esp + 0x68]
jmp 0x4aa9e8
mov ecx, edx
mov dword [esp + 0x68], ecx
test ecx, ecx
jne 0x4aaa0f
mov ax, word [edi + 0x1c]
mov ecx, 0xbf01
and ax, cx
xor ecx, ecx
inc ecx
or ax, cx
mov word [edi + 0x1c], ax
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x20]
jmp 0x4a99bd
cmp ecx, dword [ebp + 0x48]
ja 0x4ae2cd
mov eax, dword [esi + 0x14]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], eax
mov dword [esp + 0x94], eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x28], eax
mov dword [esp + 0x8c], eax
mov eax, dword [esi + 0x50]
cmp eax, dword [ecx + 0x54]
jne 0x4aaa53
mov eax, dword [esi + 0x5c]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x90], eax
jmp 0x4aad30
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
mov dword [esp + 0xe4], edx
lea eax, [eax + ecx*4]
mov dword [esp + 0x90], eax
mov dword [esi + 0x5c], eax
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x68]
mov dword [ecx + 0x54], eax
mov eax, dword [esp + 0x80]
mov ecx, dword [edi + 0x54]
mov dword [eax + 0x50], ecx
mov eax, dword [esp + 0x84]
test eax, eax
je 0x4aaaa2
mov dword [esp + 0xa0], eax
jmp 0x4aab0f
mov esi, dword [esp + 0x80]
mov ecx, edx
mov eax, dword [esp + 0x88]
cmp byte [esi + 0x1f], 0
je 0x4aaac1
cmp byte [eax + 0x53], 1
jne 0x4aaae5
push edx
jmp 0x4aaac9
cmp byte [eax + 0x53], 1
jne 0x4aaae5
push 1
lea ecx, [esp + 0xe8]
push ecx
push eax
call fcn.0048670a
mov esi, dword [esp + 0x8c]
add esp, 0xc
mov ecx, eax
xor edx, edx
mov eax, dword [esp + 0x68]
mov dword [esp + 0xa0], ecx
cmp eax, dword [esp + 0xe4]
ja 0x4aab05
mov dword [esp + 0x84], ecx
mov dword [esi + 0x60], ecx
jmp 0x4aab08
mov dword [esi + 0x60], edx
mov eax, dword [esp + 0xa0]
mov cl, byte [eax]
cmp cl, 0x80
jae 0x4aab25
movzx ecx, cl
xor edx, edx
mov dword [esp + 0xd8], ecx
inc edx
jmp 0x4aab46
lea ecx, [esp + 0xd8]
push ecx
push eax
call fcn.0049d370
pop ecx
pop ecx
mov ecx, dword [esp + 0xd8]
movzx edx, al
mov eax, dword [esp + 0xa0]
movzx edx, dl
mov dword [esp + 0xe0], edx
cmp ecx, 0x18003
jbe 0x4aab6c
push 0x100a0
call fcn.00496de0
pop ecx
mov dword [esp + 0x10], eax
jmp 0x4a99bd
imul edx, dword [esp + 0x94], 5
add edx, 3
cmp edx, ecx
cmovg edx, ecx
cmp dword [esp + 0x84], 0
mov dword [esp + 0x98], edx
jne 0x4aabf6
cmp dword [esp + 0xe4], edx
jge 0x4aabf6
xor eax, eax
xor ecx, ecx
mov word [esp + 0xc4], ax
lea eax, [esp + 0xa8]
push eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0xac], ecx
movzx eax, byte [eax + 0x1f]
push eax
push edx
push ecx
push dword [esp + 0x98]
call fcn.004af5aa
add esp, 0x14
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4a99bd
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0x98]
mov dword [esp + 0xa0], eax
lea esi, [eax + edx]
add eax, dword [esp + 0xe0]
xor edx, edx
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd0], eax
mov dword [esp + 0x9c], edx
cmp dword [esp + 0x94], edx
jle 0x4aacc7
cmp eax, esi
mov eax, dword [esp + 0x90]
jae 0x4aad8a
mov dword [eax + edx*4], ecx
mov eax, dword [esp + 0xd0]
mov cl, byte [eax]
cmp cl, 0x80
jae 0x4aac58
movzx edx, cl
inc eax
mov dword [esp + 0xe8], edx
mov dword [esp + 0xd0], eax
jmp 0x4aac79
lea ecx, [esp + 0xe8]
push ecx
push eax
call fcn.0049d370
mov edx, dword [esp + 0xf0]
pop ecx
movzx eax, al
add dword [esp + 0xd4], eax
pop ecx
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x9c]
mov dword [eax + ecx*4], edx
push dword [esp + 0xe8]
call fcn.004b0991
mov ecx, dword [esp + 0xdc]
add esp, 4
add ecx, eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0xd8], ecx
cmp ecx, eax
jae 0x4aad95
mov eax, dword [esp + 0xd4]
inc eax
mov dword [esp + 0xd0], eax
lea eax, [esp + 0xa8]
push eax
call fcn.004af96b
xor eax, eax
pop ecx
mov ecx, dword [esp + 0xd4]
inc eax
mov word [esp + 0xc4], ax
cmp dword [esp + 0xd0], ecx
ja 0x4aaef6
mov eax, dword [esp + 0x68]
cmp dword [esp + 0xd8], eax
ja 0x4aaef6
cmp dword [esp + 0xd0], ecx
jne 0x4aad1b
cmp dword [esp + 0xd8], eax
jne 0x4aaef6
mov edi, dword [esp + 0xa4]
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x7c]
cmp dword [eax + edx*4], 0
je 0x4aae64
cmp dword [esp + 0x84], 0
je 0x4aadc4
mov ebx, 0x2460
test word [edi + 0x1c], bx
je 0x4aad76
push edi
call fcn.004af99b
mov edi, dword [esp + 0xa8]
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x80]
pop ecx
mov ecx, dword [esp + 0x8c]
mov eax, dword [eax + edx*4]
add eax, dword [esp + 0x84]
push edi
push dword [ecx + edx*4]
push eax
jmp 0x4aae4c
and dword [eax + edx*4], 0
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0x9c]
inc edx
mov dword [esp + 0x9c], edx
cmp edx, dword [esp + 0x94]
jge 0x4aacc7
mov esi, dword [esp + 0xd4]
mov eax, dword [esp + 0xd0]
jmp 0x4aac24
push dword [ecx + edx*4]
call fcn.004b0991
mov dword [esp + 0x9c], eax
lea eax, [esp + 0xac]
push edi
push eax
call fcn.004af85c
mov ecx, dword [esp + 0x9c]
lea eax, [esp + 0xb4]
push eax
mov eax, dword [esp + 0x90]
movzx eax, byte [eax + 0x1f]
push eax
mov eax, dword [esp + 0x90]
push dword [esp + 0xac]
push dword [ecx + eax*4]
push dword [esp + 0xa4]
call fcn.004af5aa
add esp, 0x20
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4aaa06
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x7c]
push dword [esp + 0xa4]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0xa4], edx
push dword [ecx + eax*4]
push edx
call fcn.004b0619
mov eax, dword [esp + 0xb0]
add esp, 0xc
mov cl, byte [esp + 0x37]
mov byte [eax + 0x1f], cl
jmp 0x4aae94
cmp byte [ebx + 1], 0xf8
jne 0x4aae7e
mov eax, 0x800
push eax
push dword [ebx + 0x10]
push edi
call fcn.004afc8c
add esp, 0xc
jmp 0x4aae94
mov ax, word [edi + 0x1c]
mov ecx, 0xbf01
and ax, cx
xor ecx, ecx
inc ecx
or ax, cx
mov word [edi + 0x1c], ax
cmp dword [esp + 0xcc], 0
je 0x4aaee0
mov eax, dword [esp + 0xa4]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov ecx, 0x200
mov eax, dword [esp + 0xa4]
or word [eax + 0x1c], cx
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0xac]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0x24], ecx
push dword [esp + 0xa4]
call fcn.004af7fa
pop ecx
mov dword [esp + 0x10], eax
jmp 0x4aaa06
push 0x100f0
jmp 0x4aab5d
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x68], ecx
imul esi, dword [ebx + 4], 0x28
mov al, byte [ecx]
mov byte [esp + 0x6c], al
add esi, dword [esp + 0x1c]
test al, al
je 0x4aaf58
push 0x28
pop ebp
mov ebx, 0x4000
inc ecx
mov dword [esp + 0x68], ecx
test word [esi + 0x1c], bx
je 0x4aaf33
push esi
call fcn.004af4f2
pop ecx
push dword [esp + 0x37]
push dword [esp + 0x70]
push esi
call fcn.0047e324
mov ecx, dword [esp + 0x74]
add esp, 0xc
add esi, ebp
mov al, byte [ecx]
mov byte [esp + 0x6c], al
test al, al
jne 0x4aaf21
mov ebp, dword [esp + 0x44]
inc ecx
mov dword [esp + 0x68], ecx
jmp 0x4a99b9
xor eax, eax
xorps xmm0, xmm0
mov edi, eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x30], eax
movlpd qword [esp + 0x70], xmm0
mov dword [esp + 0x78], edi
mov eax, dword [ebx + 4]
mov dword [esp + 0x9c], eax
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x28], ecx
imul ecx, eax, 0x28
add ecx, dword [esp + 0x1c]
mov dword [esp + 0x94], ecx
mov esi, ecx
mov eax, dword [ebx + 8]
imul edx, eax, 0x28
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], ecx
add edx, 0xffffffd8
movzx eax, byte [eax + 0x65]
add edx, ecx
mov dword [esp + 0xa4], eax
mov dword [esp + 0x98], edx
imul eax, dword [ebx + 0xc], 0x28
xor ebx, ebx
mov dword [esp + 0x6c], esi
add eax, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
cmp ecx, edx
ja 0x4ab0fa
mov ebp, ecx
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x4ab037
push dword [esp + 0x37]
mov eax, esi
sub eax, ebp
push 0x28
cdq
pop edi
idiv edi
movzx eax, byte [eax + ecx]
push eax
push esi
call fcn.0047e324
mov ecx, dword [esp + 0xac]
add esp, 0xc
mov eax, dword [esp + 0x88]
mov ebp, dword [esp + 0x94]
mov edi, dword [esp + 0x78]
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], eax
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x4ab073
cmp dword [esi + 0x18], ebx
jle 0x4ab073
push esi
call fcn.004af4f2
mov eax, dword [esp + 0x8c]
mov ebp, dword [esp + 0x98]
mov edi, dword [esp + 0x7c]
mov esi, dword [esp + 0x70]
pop ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], eax
push dword [esp + 0xa4]
push esi
call fcn.004b08bb
mov ecx, eax
push ecx
mov dword [esp + 0x9c], ecx
call fcn.004b0991
mov dword [esp + 0xb8], eax
cdq
add dword [esp + 0x7c], eax
push ebx
adc dword [esp + 0x84], edx
push ecx
call fcn.004a8dfb
mov ecx, dword [esp + 0x44]
add edi, eax
mov eax, 0x4000
mov dword [esp + 0x8c], edi
add esp, 0x14
test word [esi + 0x1c], ax
je 0x4ab0c9
add ecx, dword [esi + 0x10]
jmp 0x4ab0d5
xor eax, eax
cmp dword [esp + 0xac], eax
cmovne ecx, eax
push 0x28
pop eax
add esi, eax
mov dword [esp + 0x88], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x6c], esi
cmp esi, dword [esp + 0x98]
jbe 0x4aafee
mov ebp, dword [esp + 0x44]
mov eax, edi
cdq
push edx
push eax
call fcn.004a8dfb
mov esi, eax
add edi, esi
mov dword [esp + 0x94], esi
mov eax, edi
mov dword [esp + 0x80], edi
cdq
push edx
push eax
call fcn.004a8dfb
add esp, 0x10
cmp esi, eax
jge 0x4ab12c
inc edi
mov dword [esp + 0x78], edi
mov eax, dword [esp + 0x30]
cdq
mov ecx, eax
mov esi, edx
mov eax, edi
cdq
sub eax, ecx
mov edi, edx
sbb edi, esi
add eax, dword [esp + 0x70]
mov dword [esp + 0x28], eax
adc edi, dword [esp + 0x74]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edi
mov eax, dword [ebp + 0x48]
cdq
mov ecx, eax
cmp edi, edx
jg 0x4ae2cd
mov eax, dword [esp + 0x28]
jl 0x4ab174
cmp eax, ecx
ja 0x4ae2cd
mov edi, dword [esp + 0x18]
push ebx
push eax
push edi
call fcn.004af685
add esp, 0xc
test eax, eax
jne 0x4ae2f4
cmp dword [esp + 0x78], 0x80
mov ecx, dword [edi + 4]
mov dword [esp + 0x68], ecx
jae 0x4ab1a7
mov al, byte [esp + 0x78]
mov byte [ecx], al
xor eax, eax
inc eax
jmp 0x4ab1b3
push dword [esp + 0x78]
push ecx
call fcn.004a3623
pop ecx
pop ecx
mov ecx, dword [esp + 0x98]
movzx esi, al
mov eax, dword [esp + 0x94]
mov dword [esp + 0xa8], esi
mov dword [esp + 0x6c], eax
push 0x28
pop edi
cmp eax, ecx
ja 0x4ab285
push dword [esp + 0xa4]
push eax
call fcn.004b08bb
mov dword [esp + 0x98], eax
pop ecx
pop ecx
cmp eax, 0x80
jae 0x4ab205
mov cl, al
mov eax, dword [esp + 0x68]
mov byte [esi + eax], cl
xor eax, eax
inc eax
jmp 0x4ab214
push eax
mov eax, dword [esp + 0x6c]
add eax, esi
push eax
call fcn.004a3623
pop ecx
pop ecx
mov esi, dword [esp + 0xa8]
mov ecx, dword [esp + 0x98]
movzx eax, al
add esi, eax
mov eax, dword [esp + 0x6c]
add eax, edi
mov dword [esp + 0xa8], esi
mov dword [esp + 0x6c], eax
cmp eax, ecx
jbe 0x4ab1da
mov eax, dword [esp + 0x94]
cmp eax, ecx
jmp 0x4ab285
push dword [esp + 0xa4]
push eax
mov eax, dword [esp + 0x88]
sub eax, esi
push eax
mov eax, dword [esp + 0x74]
add eax, esi
push eax
call fcn.004b0819
mov esi, dword [esp + 0xb8]
add esp, 0x10
add esi, eax
mov eax, dword [esp + 0x6c]
add eax, edi
mov dword [esp + 0xa8], esi
cmp eax, dword [esp + 0x98]
mov dword [esp + 0x6c], eax
jbe 0x4ab247
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x80]
mov dword [esi + 0x18], eax
mov eax, 0x410
mov word [esi + 0x1c], ax
mov dword [esi + 0x20], ebx
mov eax, dword [esp + 0x88]
test eax, eax
je 0x4ab2bc
mov dword [esi + 0x10], eax
mov eax, 0x4410
mov word [esi + 0x1c], ax
mov byte [esi + 0x1f], 1
jmp 0x4aa2b0
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax]
mov dword [esp + 0x70], eax
test eax, eax
je 0x4ab2eb
lea ecx, [esp + 0x68]
push ecx
push eax
call fcn.0049487d
pop ecx
pop ecx
mov dword [esp + 0x10], eax
jmp 0x4ab2f4
xorps xmm0, xmm0
movlpd qword [esp + 0x68], xmm0
mov eax, dword [esp + 0x68]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x6c]
jmp 0x4a9824
mov edi, dword [ebx + 4]
mov dword [esp + 0x68], edi
mov eax, dword [ebx + 0x10]
xor ebx, ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x6c], eax
test edi, edi
jne 0x4ab401
cmp dword [ebp + 0x90], ebx
jle 0x4ab34e
mov edi, dword [esp + 0x20]
push str.cannot_open_savepoint___SQL_statements_in_progress
push ebp
lea eax, [edi + 0x38]
push eax
call fcn.004a5f3c
add esp, 0xc
push 5
pop eax
mov dword [esp + 0x10], eax
jmp 0x4a99c1
push eax
call fcn.004a6b98
mov dword [esp + 0x74], eax
mov eax, dword [ebp + 0x1e4]
add eax, dword [ebp + 0x1e0]
push eax
push ebx
push ebp
call fcn.004b1686
add esp, 0x10
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4ae295
mov eax, dword [esp + 0x70]
add eax, 0x19
push eax
push ebp
call fcn.00497cae
mov dword [esp + 0x7c], eax
pop ecx
pop ecx
test eax, eax
je 0x4aa2b0
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov eax, dword [esp + 0x70]
inc eax
push eax
mov eax, dword [esp + 0x78]
push dword [esp + 0x70]
push dword [eax]
call fcn.004be440
add esp, 0xc
cmp byte [ebp + 0x1c], bl
je 0x4ab3c5
mov byte [ebp + 0x1c], bl
mov byte [ebp + 0x1e8], 1
jmp 0x4ab3cb
inc dword [ebp + 0x1e0]
mov eax, dword [esp + 0x74]
mov ecx, dword [ebp + 0x1dc]
mov dword [eax + 0x10], ecx
mov eax, dword [esp + 0x74]
mov ecx, dword [ebp + 0x1f0]
mov dword [ebp + 0x1dc], eax
mov eax, dword [esp + 0x74]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x74]
mov ecx, dword [ebp + 0x1f4]
mov dword [eax + 0xc], ecx
jmp 0x4aa2b0
mov ecx, ebx
mov dword [esp + 0x80], ecx
mov esi, dword [ebp + 0x1dc]
mov dword [esp + 0x78], esi
test esi, esi
je 0x4ab644
mov ebp, dword [esp + 0x28]
mov edi, ebx
push ebp
push dword [esi]
call fcn.004a6b59
pop ecx
pop ecx
test eax, eax
je 0x4ab443
inc edi
mov dword [esp + 0x80], edi
mov esi, dword [esi + 0x10]
mov dword [esp + 0x78], esi
test esi, esi
jne 0x4ab422
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x44]
test esi, esi
je 0x4ab640
cmp dword [ebp + 0x90], ebx
jg 0x4ab46d
push 2
pop eax
cmp edi, eax
jne 0x4ab49e
xor eax, eax
inc eax
cmp dword [ebp + 0x8c], eax
jle 0x4ab4a1
push 2
pop edx
cmp edi, edx
mov ecx, str.release
mov edi, dword [esp + 0x20]
mov eax, str.rollback
cmovne eax, ecx
push eax
push str.cannot__s_savepoint___SQL_statements_in_progress
lea eax, [edi + 0x38]
push ebp
push eax
call fcn.004a5f3c
add esp, 0x10
push 5
pop eax
jmp 0x4aab63
xor eax, eax
inc eax
cmp dword [esi + 0x10], ebx
jne 0x4ab4f5
cmp byte [ebp + 0x1e8], bl
je 0x4ab4f5
mov dword [esp + 0x28], eax
cmp edi, eax
jne 0x4ab4f9
mov edi, dword [esp + 0x20]
push eax
push edi
call fcn.004a925a
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x4ae360
push edi
mov byte [ebp + 0x1c], 1
call fcn.004ae9c0
pop ecx
push 5
pop ecx
cmp eax, ecx
je 0x4ae1ff
mov byte [ebp + 0x1e8], bl
mov ecx, dword [edi + 0x5c]
mov dword [esp + 0x10], ecx
jmp 0x4ab585
mov dword [esp + 0x28], ebx
mov eax, dword [ebp + 0x1e0]
mov ecx, ebx
sub eax, dword [esp + 0x80]
dec eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x80], eax
cmp dword [ebp + 4], ebx
jle 0x4ab560
push eax
mov eax, dword [ebp + 8]
add ecx, ecx
push edi
push dword [eax + ecx*8 + 4]
call fcn.00495f19
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4ae295
mov ecx, dword [esp + 0x84]
mov edi, dword [esp + 0x68]
inc ecx
mov dword [esp + 0x84], ecx
cmp ecx, dword [ebp + 4]
jge 0x4ab55c
mov eax, dword [esp + 0x80]
jmp 0x4ab51c
mov esi, dword [esp + 0x78]
push 2
pop eax
cmp edi, eax
jne 0x4ab58d
mov ebx, 0x200
test dword [ebp + 0xc], ebx
je 0x4ab58d
push ebp
call fcn.00498ee2
push 0xffffffffffffffff
push ebp
call fcn.004a3c3f
add esp, 0xc
or dword [ebp + 0xc], ebx
mov edi, dword [esp + 0x68]
mov esi, dword [esp + 0x78]
cmp dword [ebp + 0x1dc], esi
je 0x4ab5cd
mov eax, dword [ebp + 0x1dc]
mov dword [esp + 0x7c], eax
mov eax, dword [eax + 0x10]
mov dword [ebp + 0x1dc], eax
push dword [esp + 0x7c]
push ebp
call fcn.00497c57
dec dword [ebp + 0x1e0]
mov esi, dword [esp + 0x80]
pop ecx
pop ecx
cmp dword [ebp + 0x1dc], esi
jne 0x4ab595
mov edi, dword [esp + 0x68]
cmp edi, 1
jne 0x4ab5fa
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x1dc], eax
push dword [esp + 0x78]
push ebp
call fcn.00497c57
cmp dword [esp + 0x30], 0
pop ecx
pop ecx
jne 0x4aaa02
dec dword [ebp + 0x1e0]
jmp 0x4ab617
cmp dword [esp + 0x28], 0
mov eax, dword [esi + 8]
mov dword [ebp + 0x1f0], eax
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x1f4], eax
jne 0x4aaa02
push dword [esp + 0x80]
push dword [esp + 0x6c]
push ebp
call fcn.004b1686
mov edi, dword [esp + 0x2c]
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4ae299
jmp 0x4a99bd
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
push eax
push str.no_such_savepoint:__s
push ebp
lea eax, [edi + 0x38]
push eax
call fcn.004a5f3c
add esp, 0x10
xor eax, eax
inc eax
jmp 0x4aab63
mov ecx, dword [ebx + 4]
mov dword [esp + 0x68], ecx
mov esi, dword [ebx + 8]
mov dword [esp + 0x6c], esi
test ecx, ecx
je 0x4ab6b6
cmp byte [ebp + 0x1c], 0
jne 0x4ab6b6
xor edx, edx
inc edx
mov dword [esp + 0x70], edx
test esi, esi
je 0x4ab6a5
cmp dword [ebp + 0x8c], edx
jle 0x4ab6c1
push str.cannot_rollback_transaction___SQL_statements_in_progress
lea eax, [edi + 0x38]
push ebp
push eax
call fcn.004a5f3c
add esp, 0xc
jmp 0x4ab496
xor ebx, ebx
cmp dword [ebp + 0x90], ebx
jle 0x4ab6c3
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x4ab693
xor ebx, ebx
xor edx, edx
mov dword [esp + 0x70], ebx
inc edx
jmp 0x4ab6c3
xor ebx, ebx
movzx eax, byte [ebp + 0x1c]
cmp ecx, eax
jne 0x4ae213
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
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 ebp
push eax
call fcn.004a5f3c
add esp, 0xc
jmp 0x4ab65b
mov ecx, dword [ebx + 4]
mov eax, dword [ebp + 8]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
mov dword [esp + 0x68], eax
test eax, eax
je case.0x4a9718.17
push dword [ebx + 8]
push eax
call fcn.00494347
pop ecx
pop ecx
push 5
pop ecx
mov dword [esp + 0x10], eax
cmp eax, ecx
je 0x4ae275
test eax, eax
jne 0x4ae299
cmp dword [ebx + 8], eax
je 0x4a99c1
cmp byte [edi + 0x67], al
je 0x4a99c1
cmp byte [ebp + 0x1c], al
je 0x4ab760
cmp dword [ebp + 0x8c], 1
jle 0x4a99c1
xor ebx, ebx
cmp dword [edi + 0x78], ebx
jne 0x4ab77c
mov eax, dword [ebp + 0x1e0]
inc dword [ebp + 0x1e4]
add eax, dword [ebp + 0x1e4]
mov dword [edi + 0x78], eax
mov eax, dword [edi + 0x78]
dec eax
push eax
push ebx
push ebp
call fcn.004b1686
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4ab7bc
mov ebx, dword [esp + 0x68]
mov edi, dword [edi + 0x78]
push ebx
mov esi, dword [ebx + 4]
call fcn.00494cd8
push edi
push dword [esi]
call fcn.004a071b
push ebx
mov dword [esp + 0x20], eax
call fcn.00495399
mov edi, dword [esp + 0x30]
add esp, 0x10
mov eax, dword [ebp + 0x1f0]
mov dword [edi + 0x98], eax
mov eax, dword [ebp + 0x1f4]
mov dword [edi + 0x9c], eax
jmp 0x4a99b9
mov ecx, dword [ebx + 4]
lea edx, [esp + 0x68]
mov dword [esp + 0x6c], ecx
add ecx, ecx
mov eax, dword [ebx + 0xc]
push edx
mov dword [esp + 0x74], eax
push eax
mov eax, dword [ebp + 8]
push dword [eax + ecx*8 + 4]
call fcn.00494dd7
mov eax, dword [esp + 0x74]
add esp, 0xc
jmp 0x4a980d
mov eax, dword [ebx + 4]
shl eax, 4
add eax, dword [ebp + 8]
mov dword [esp + 0x68], eax
imul esi, dword [ebx + 0xc], 0x28
add esi, dword [esp + 0x1c]
push esi
call fcn.004af7d0
push dword [esi + 0x10]
mov eax, dword [esp + 0x70]
push dword [ebx + 8]
push dword [eax + 4]
call fcn.0049626e
xor edx, edx
mov dword [esp + 0x20], eax
inc edx
add esp, 0x10
cmp dword [ebx + 8], edx
jne 0x4ab859
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 0x10]
mov dword [ecx], eax
mov eax, 0x200
or dword [ebp + 0xc], eax
jmp 0x4ab86e
push 2
pop ecx
cmp dword [ebx + 8], ecx
jne 0x4ab872
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0xc]
mov al, byte [esi + 0x10]
mov byte [ecx + 0x4c], al
mov eax, dword [esp + 0x10]
cmp dword [ebx + 4], edx
jne 0x4a99bd
push ebp
call fcn.00498ee2
add esp, 4
mov byte [edi + 0x63], 0
jmp 0x4a99b9
mov ecx, dword [ebx + 4]
mov eax, dword [ebp + 8]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
mov dword [esp + 0x70], eax
test eax, eax
je 0x4ab8c6
lea ecx, [esp + 0x68]
push ecx
push 1
push eax
call fcn.00494dd7
mov ecx, dword [ebx + 4]
add esp, 0xc
mov eax, dword [ebp + 8]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [esp + 0x68]
mov eax, dword [eax + 4]
jmp 0x4ab8ce
xor eax, eax
mov ecx, eax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
cmp ecx, dword [ebx + 8]
jne 0x4ab8e0
cmp eax, dword [ebx + 0xc]
je case.0x4a9718.17
push dword [edi + 0x38]
push ebp
call fcn.00497c57
push str.database_schema_has_changed
push ebp
call fcn.00497e48
mov dword [edi + 0x38], eax
add esp, 0x10
mov ecx, dword [ebx + 4]
mov eax, dword [ebp + 8]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [esp + 0x68]
je 0x4ab919
push dword [ebx + 4]
push ebp
call fcn.004a3c3f
pop ecx
pop ecx
mov byte [edi + 0x63], 1
push 0x11
jmp 0x4ab344
cmp byte [edi + 0x63], 0
je 0x4ab931
mov eax, edx
jmp 0x4ab345
xor ecx, ecx
mov dword [esp + 0x6c], ecx
mov edx, ecx
mov dword [esp + 0x68], edx
mov eax, dword [ebx + 8]
mov dword [esp + 0x70], eax
mov esi, dword [ebx + 0xc]
mov dword [esp + 0x74], esi
mov dword [esp + 0x24], esi
shl esi, 4
add esi, dword [ebp + 8]
mov dword [esp + 0x84], esi
mov dword [esp + 0x28], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x7c], eax
cmp byte [ebx], 0x28
jne 0x4ab984
mov dword [esp + 0x78], 1
mov eax, dword [esi + 0xc]
mov al, byte [eax + 0x4c]
cmp al, byte [edi + 0x65]
jae 0x4ab988
mov byte [edi + 0x65], al
jmp 0x4ab988
mov dword [esp + 0x78], ecx
cmp byte [ebx + 3], cl
je 0x4ab9b9
imul esi, dword [esp + 0x28], 0x28
add esi, dword [esp + 0x1c]
push esi
call fcn.004af7d0
mov eax, dword [esi + 0x10]
pop ecx
push 2
pop ecx
mov dword [esp + 0x70], eax
cmp eax, ecx
jl 0x4ae27e
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x68]
jmp 0x4ab9bd
mov eax, dword [esp + 0x24]
mov cl, byte [ebx + 1]
cmp cl, 0xfa
jne 0x4ab9e9
mov eax, dword [edi]
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x6c], ecx
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [esp + 0x6c]
movzx edx, word [eax + 6]
mov eax, dword [esp + 0x74]
inc edx
jmp 0x4ab9f1
cmp cl, 0xf2
jne 0x4ab9f5
mov edx, dword [ebx + 0x10]
mov dword [esp + 0x68], edx
push 1
push eax
push edx
push dword [ebx + 4]
push edi
call fcn.0047d5dd
add esp, 0x14
mov dword [esp + 0x80], eax
test eax, eax
je 0x4ae2f8
xor ecx, ecx
inc ecx
mov byte [eax + 0x1c], cl
mov eax, dword [esp + 0x80]
mov byte [eax + 0x20], cl
mov eax, dword [esp + 0x80]
push dword [eax]
push dword [esp + 0x70]
push dword [esp + 0x80]
push dword [esp + 0x7c]
push dword [esp + 0x8c]
call fcn.004949b5
mov ecx, dword [esp + 0x94]
add esp, 0x14
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x6c]
mov dword [ecx + 8], eax
cmp byte [ebx + 1], 0xfa
mov eax, dword [esp + 0x80]
setne cl
mov byte [eax + 0x1e], cl
mov ecx, dword [esp + 0x80]
cmp byte [ecx + 0x1e], 0
sete al
mov byte [ecx + 0x1f], al
jmp 0x4a99b9
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
push dword [ebx + 4]
push edi
call fcn.0047d5dd
add esp, 0x14
mov dword [esp + 0x68], eax
test eax, eax
je 0x4ae2f8
mov byte [eax + 0x1c], 1
movzx eax, byte [ebx + 3]
push 0x41e
or eax, 9
push eax
mov eax, dword [esp + 0x70]
add eax, 4
push eax
push ebp
push 0
push dword [ebp]
call fcn.0049581d
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4abb89
mov eax, dword [esp + 0x68]
push 1
push dword [eax + 4]
call fcn.00494347
mov dword [esp + 0x18], eax
pop ecx
pop ecx
test eax, eax
jne 0x4abb89
xor ecx, ecx
cmp dword [ebx + 0x10], ecx
je 0x4abb66
movzx eax, byte [ebx + 3]
push 2
pop ecx
or eax, ecx
push eax
lea eax, [esp + 0x60]
push eax
mov eax, dword [esp + 0x70]
push dword [eax + 4]
call fcn.00494989
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4abb5c
mov eax, dword [esp + 0x68]
push dword [eax]
push dword [ebx + 0x10]
push 1
push dword [esp + 0x68]
push dword [eax + 4]
call fcn.004949b5
mov ecx, dword [ebx + 0x10]
add esp, 0x14
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x68]
mov dword [eax + 8], ecx
mov eax, dword [edi]
mov eax, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 8]
mov al, byte [edx + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1e], 0
jmp 0x4abb89
mov eax, dword [esp + 0x68]
push dword [eax]
push ecx
xor ecx, ecx
inc ecx
push ecx
push ecx
push dword [eax + 4]
call fcn.004949b5
mov dword [esp + 0x24], eax
add esp, 0x14
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1e], 1
push 0x10
pop eax
cmp byte [ebx + 3], al
mov eax, dword [esp + 0x68]
setne cl
mov byte [eax + 0x20], cl
mov ecx, dword [esp + 0x68]
cmp byte [ecx + 0x1e], 0
sete al
mov byte [ecx + 0x1f], al
jmp case.0x4a9718.17
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
push dword [ebx + 4]
push edi
call fcn.0047d5dd
add esp, 0x14
mov dword [esp + 0x68], eax
test eax, eax
je 0x4ae2f8
mov ecx, dword [ebx + 0x10]
mov dword [eax + 8], ecx
mov eax, dword [edi]
mov eax, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 8]
mov al, byte [edx + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [esp + 0x68]
mov byte [eax + 0x21], 1
push dword [esp + 0x68]
push ebp
call fcn.004b0b03
pop ecx
pop ecx
jmp 0x4ab345
push 0
push 0xffffffffffffffff
push dword [ebx + 0xc]
push dword [ebx + 4]
push edi
call fcn.0047d5dd
add esp, 0x14
mov dword [esp + 0x68], eax
test eax, eax
je 0x4ae2f8
xor edx, edx
inc edx
mov byte [eax + 0x1c], dl
mov eax, dword [esp + 0x68]
mov ecx, dword [ebx + 8]
mov dword [eax + 0x10], ecx
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1e], dl
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1f], 0
jmp case.0x4a9718.17
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
push dword [eax + ecx*4]
push edi
call fcn.004ae8fe
mov eax, dword [edi + 0x44]
pop ecx
pop ecx
mov ecx, dword [ebx + 4]
and dword [eax + ecx*4], 0
jmp case.0x4a9718.17
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x70], ecx
cmp dword [ecx], edx
je 0x4a972c
movzx eax, byte [ebx]
mov dword [esp + 0x6c], eax
mov byte [ecx + 0x1c], dl
mov ecx, dword [esp + 0x70]
cmp byte [ecx + 0x1e], dl
je 0x4abe66
imul esi, dword [ebx + 0xc], 0x28
add esi, dword [esp + 0x1c]
push esi
mov dword [esp + 0x28], esi
call fcn.0047e376
push esi
call fcn.004aed9e
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x78]
pop ecx
mov dword [esp + 0xa0], edx
xor edx, edx
pop ecx
push 4
mov byte [eax + 0x19], dl
movzx eax, word [esi + 0x1c]
pop ecx
test cl, al
jne 0x4abe53
push 8
pop ecx
test cl, al
je 0x4aa847
mov edi, dword [esp + 0x98]
mov esi, dword [esp + 0x9c]
cmp edi, edx
jne 0x4abd84
mov ecx, 0x80000000
cmp esi, ecx
jne 0x4abd84
mov edx, ecx
xor ecx, ecx
call fcn.004bfe2f
mov eax, dword [esp + 0x24]
movsd xmm1, qword [eax + 8]
comisd xmm0, xmm1
xorps xmm0, xmm0
ja 0x4abd1f
comisd xmm1, xmm0
jbe 0x4abd84
mov dword [esp + 0x68], 1
comisd xmm0, xmmword [eax + 8]
jbe 0x4abd47
cmp dword [esp + 0x6c], 0x30
jl 0x4abd77
lea eax, [esp + 0x68]
push eax
mov eax, dword [esp + 0x74]
push dword [eax]
call fcn.00494d7c
jmp 0x4abd5e
cmp dword [esp + 0x6c], 0x2f
jg 0x4abd77
lea eax, [esp + 0x68]
push eax
mov eax, dword [esp + 0x74]
push dword [eax]
call fcn.0049534a
mov dword [esp + 0x18], eax
pop ecx
pop ecx
test eax, eax
jne 0x4ae295
cmp dword [esp + 0x68], 0
je 0x4aaa06
mov eax, dword [ebx + 8]
dec eax
mov dword [esp + 0x14], eax
jmp 0x4aaa02
cmp dword [esp + 0x6c], 0x2e
je 0x4abe20
cmp dword [esp + 0x6c], 0x30
je 0x4abe20
mov edx, esi
mov ecx, edi
call fcn.004bfe2f
mov eax, dword [esp + 0x24]
comisd xmm0, xmmword [eax + 8]
jbe 0x4abdc2
add edi, 0xffffffff
mov dword [esp + 0x98], edi
adc esi, 0xffffffff
mov dword [esp + 0x9c], esi
xor edx, edx
lea eax, [esp + 0x68]
push eax
mov eax, dword [esp + 0x74]
push edx
push esi
push edi
push edx
push dword [eax]
call fcn.0049543b
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4ae295
mov edi, dword [esp + 0x20]
xor edx, edx
cmp dword [esp + 0x68], edx
jne 0x4abee9
mov eax, dword [esp + 0x70]
mov byte [eax + 0x19], 1
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x98]
mov dword [eax + 0x40], ecx
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x9c]
mov dword [eax + 0x44], ecx
jmp 0x4abee9
mov edx, esi
mov ecx, edi
call fcn.004bfe2f
mov eax, dword [esp + 0x24]
movsd xmm1, qword [eax + 8]
comisd xmm1, xmm0
jbe 0x4abdc2
add edi, 1
push 0
pop edx
adc esi, edx
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], esi
jmp 0x4abdc4
mov esi, dword [esp + 0x9c]
mov edi, dword [esp + 0x98]
jmp 0x4abdc4
mov eax, dword [ebx + 0x10]
mov esi, 0x4000
mov dword [esp + 0x90], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x78], eax
mov ax, word [esp + 0x90]
mov word [esp + 0x7c], ax
mov eax, dword [esp + 0x6c]
and eax, 1
shl eax, 3
mov word [esp + 0x7e], ax
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [esp + 0x1c]
mov dword [esp + 0x88], eax
test word [eax + 0x1c], si
je 0x4abeba
push eax
call fcn.004af4f2
pop ecx
mov ecx, dword [esp + 0x70]
xor edx, edx
lea eax, [esp + 0x68]
push eax
push edx
push edx
push edx
lea eax, [esp + 0x88]
push eax
push dword [ecx]
call fcn.0049543b
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4ae299
mov eax, dword [esp + 0x70]
xor edx, edx
mov byte [eax + 0x19], dl
mov eax, dword [esp + 0x70]
mov byte [eax + 0x1d], dl
mov eax, dword [esp + 0x70]
mov dword [eax + 0x50], edx
cmp dword [esp + 0x6c], 0x30
mov eax, dword [esp + 0x68]
jl 0x4abf2a
test eax, eax
js 0x4abf18
jne 0x4abf0f
cmp dword [esp + 0x6c], 0x31
je 0x4abf18
mov dword [esp + 0x68], edx
jmp 0x4a99b9
lea eax, [esp + 0x68]
push eax
mov eax, dword [esp + 0x74]
push dword [eax]
call fcn.00495712
jmp 0x4abf5c
test eax, eax
jg 0x4abf4c
jne 0x4abf37
cmp dword [esp + 0x6c], 0x2e
je 0x4abf4c
mov eax, dword [esp + 0x70]
xor ecx, ecx
mov eax, dword [eax]
cmp byte [eax + 0x53], 1
setne cl
mov dword [esp + 0x68], ecx
jmp 0x4abf72
lea eax, [esp + 0x68]
push eax
mov eax, dword [esp + 0x74]
push dword [eax]
call fcn.00495d34
mov dword [esp + 0x18], eax
pop ecx
pop ecx
test eax, eax
jne 0x4ae299
mov eax, dword [esp + 0x70]
mov byte [eax + 0x19], 0
cmp dword [esp + 0x68], 0
jmp 0x4aa4a9
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x68], eax
cmp dword [eax], edx
je case.0x4a9718.17
mov byte [eax + 0x1c], dl
imul eax, dword [ebx + 8], 0x28
add eax, dword [esp + 0x1c]
push eax
call fcn.004aed9e
pop ecx
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x68]
mov dword [eax + 0x3c], edx
mov eax, dword [esp + 0x68]
mov byte [eax + 0x19], 0
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1d], 1
jmp case.0x4a9718.17
mov eax, dword [edi + 0x44]
xor edx, edx
mov dword [esp + 0x68], edx
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x6c], ecx
imul esi, dword [ebx + 0xc], 0x28
add esi, dword [esp + 0x1c]
cmp dword [ecx], edx
je 0x4ac0cd
cmp dword [ebx + 0x10], edx
jle 0x4ac025
mov eax, dword [ecx + 8]
mov dword [esp + 0x80], eax
mov ax, word [ebx + 0x10]
mov word [esp + 0x84], ax
push 0x10
pop eax
mov word [esp + 0x86], ax
lea eax, [esp + 0x80]
mov dword [esp + 0x90], esi
mov dword [esp + 0x78], eax
jmp 0x4ac07c
lea eax, [esp + 0x74]
push eax
push 0x97
lea eax, [esp + 0xa0]
push eax
push dword [ecx + 8]
call fcn.004a8ff1
add esp, 0x10
mov dword [esp + 0x78], eax
test eax, eax
je 0x4ae2f8
push eax
push dword [esi + 4]
mov eax, dword [esp + 0x74]
push dword [esi + 0x18]
push dword [eax + 8]
call fcn.004b0438
mov eax, dword [esp + 0x88]
add esp, 0x10
push 0x10
pop ecx
or word [eax + 6], cx
xor edx, edx
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x6c]
lea esi, [esp + 0x70]
push esi
push edx
push edx
push edx
push eax
push dword [ecx]
call fcn.0049543b
xor edx, edx
mov dword [esp + 0x28], eax
add esp, 0x18
cmp dword [ebx + 0x10], edx
jne 0x4ac0a8
push dword [esp + 0x74]
push ebp
call fcn.00497c57
pop ecx
pop ecx
xor edx, edx
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4a99bd
cmp dword [esp + 0x70], eax
sete al
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x6c]
mov byte [eax + 0x1d], dl
mov eax, dword [esp + 0x6c]
mov dword [eax + 0x50], edx
cmp byte [ebx], 0x34
je 0x4abf72
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x68], 0
jmp 0x4aa88a
imul eax, dword [ebx + 0x10], 0x28
xor edx, edx
imul esi, dword [ebx + 0xc], 0x28
add eax, dword [esp + 0x1c]
mov dword [esp + 0x78], eax
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
add esi, dword [esp + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x6c], eax
mov dword [eax + 0x4c], edx
mov eax, dword [esp + 0x6c]
mov dword [eax + 0x50], edx
mov ecx, dword [esp + 0x6c]
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
mov dword [esp + 0x70], eax
mov eax, dword [ecx + 8]
xor ecx, ecx
and dword [esp + 0x24], ecx
mov ax, word [eax + 6]
cmp word [esp + 0x24], ax
mov word [esp + 0x30], ax
mov word [esp + 0x74], ax
jmp 0x4ac15d
mov ebp, dword [esp + 0x78]
movzx eax, cx
imul eax, eax, 0x28
test byte [eax + ebp + 0x1c], 1
mov ebp, dword [esp + 0x44]
jne 0x4ac21f
inc cx
cmp cx, word [esp + 0x30]
mov word [esp + 0x68], cx
jb 0x4ac13d
mov edx, dword [esp + 0x28]
test edx, edx
je 0x4a99b9
mov eax, dword [esp + 0x6c]
push 0x20
mov eax, dword [eax + 8]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x78]
inc eax
mov word [esp + 0x88], ax
pop eax
mov word [esp + 0x86], ax
mov eax, dword [esp + 0x78]
push esi
mov dword [esp + 0x94], eax
call fcn.004af7d0
mov eax, dword [esi + 0x10]
mov dword [esp + 0x9c], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x70]
add eax, 0x4c
push eax
xor eax, eax
push eax
push eax
push eax
lea eax, [esp + 0x94]
push eax
push dword [esp + 0x88]
call fcn.0049543b
add esp, 0x1c
mov dword [esp + 0x10], eax
test byte [esp + 0x86], 0x20
jne 0x4ac234
mov ecx, dword [esp + 0x88]
cmp ecx, dword [esp + 0x98]
jne 0x4ac20d
mov eax, dword [esp + 0x8c]
cmp eax, dword [esp + 0x9c]
je 0x4ac230
mov dword [esi + 0x10], ecx
mov eax, dword [esp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x4a99b9
mov eax, dword [ebx + 8]
dec eax
mov dword [esp + 0x70], edx
mov dword [esp + 0x14], eax
jmp 0x4ac168
mov eax, dword [esp + 0x10]
mov esi, dword [ebx + 8]
dec esi
mov dword [esp + 0x14], esi
jmp 0x4a99bd
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
imul esi, dword [ebx + 0xc], 0x28
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x68], eax
add esi, dword [esp + 0x1c]
mov ecx, dword [eax]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x6c], ecx
test ecx, ecx
je 0x4ac2f5
xor edx, edx
lea ebp, [esp + 0x70]
push ebp
mov dword [esp + 0x74], edx
mov ecx, dword [esi + 0x10]
push edx
mov dword [esp + 0x80], ecx
mov eax, dword [esi + 0x14]
push eax
push ecx
push edx
push dword [esp + 0x3c]
mov dword [esp + 0x94], eax
call fcn.0049543b
mov ecx, dword [esi + 0x10]
add esp, 0x18
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x44]
mov dword [eax + 0x40], ecx
mov eax, dword [esp + 0x68]
mov ecx, dword [esi + 0x14]
mov dword [eax + 0x44], ecx
cmp dword [esp + 0x70], 0
mov eax, dword [esp + 0x68]
sete cl
xor edx, edx
mov byte [eax + 0x19], cl
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1c], dl
mov eax, dword [esp + 0x68]
mov dword [eax + 0x50], edx
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1d], dl
mov ecx, dword [esp + 0x70]
test ecx, ecx
je 0x4ac2e9
mov eax, dword [ebx + 8]
dec eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
mov dword [eax + 0x4c], ecx
jmp 0x4a99b9
mov esi, dword [ebx + 8]
dec esi
and dword [eax + 0x4c], 0
mov dword [esp + 0x14], esi
jmp 0x4a99b9
mov eax, dword [edi + 0x44]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x30]
mov dword [esi + 0x10], eax
mov eax, dword [ecx + 0x34]
mov dword [esi + 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.0x4a9718.17
mov eax, dword [edi + 0x44]
xor edx, edx
xorps xmm0, xmm0
mov dword [esp + 0x74], edx
movlpd qword [esp + 0x68], xmm0
mov ecx, dword [ebx + 4]
mov edi, dword [eax + ecx*4]
mov dword [esp + 0x70], edi
mov ecx, dword [edi]
test ecx, ecx
je 0x4ac5c7
cmp byte [edi + 0x1b], dl
jne 0x4ac4d8
mov esi, dword [ecx + 0x18]
mov eax, esi
mov dword [esp + 0x68], esi
mov ecx, dword [ecx + 0x1c]
or eax, ecx
mov dword [esp + 0x6c], ecx
jne 0x4ac3f0
lea eax, [esp + 0x74]
push eax
push dword [edi]
call fcn.0049534a
mov dword [esp + 0x18], eax
pop ecx
pop ecx
test eax, eax
jne 0x4ae295
cmp dword [esp + 0x74], eax
je 0x4ac39d
xor esi, esi
inc esi
xor edx, edx
mov ecx, edx
jmp 0x4ac3e4
lea eax, [esp + 0x68]
push eax
mov eax, dword [esp + 0x74]
push dword [eax]
call fcn.00495318
mov esi, dword [esp + 0x70]
mov dword [esp + 0x18], eax
pop ecx
pop ecx
mov ecx, dword [esp + 0x6c]
cmp esi, 0xffffffff
jne 0x4ac3dc
cmp ecx, 0x7fffffff
jne 0x4ac3dc
mov eax, dword [esp + 0x70]
xor edx, edx
mov byte [eax + 0x1b], 1
mov ecx, dword [esp + 0x6c]
mov esi, dword [esp + 0x68]
jmp 0x4ac3ec
push 0
add esi, 1
pop edx
adc ecx, edx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x68], esi
mov edi, dword [esp + 0x70]
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x4ac4a1
mov edi, dword [esp + 0x20]
mov ecx, dword [edi + 0xa8]
test ecx, ecx
jne 0x4ac470
imul eax, eax, 0x28
add eax, dword [esp + 0x1c]
push eax
mov dword [esp + 0x80], eax
call fcn.004af7d0
mov ebx, dword [esp + 0x80]
pop ecx
mov esi, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x14]
cmp esi, 0xffffffff
jne 0x4ac43c
cmp ecx, 0x7fffffff
je 0x4ae28b
mov eax, dword [esp + 0x70]
cmp byte [eax + 0x1b], 0
jne 0x4ae28b
add esi, 1
push 0
pop edx
adc ecx, edx
cmp dword [esp + 0x6c], ecx
jg 0x4ac487
jl 0x4ac462
mov eax, dword [esp + 0x68]
cmp eax, esi
jae 0x4ac48b
mov eax, esi
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x68], eax
jmp 0x4ac48b
mov ecx, eax
mov dword [esp + 0x80], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
jne 0x4ac46e
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ecx + 0x10]
jmp 0x4ac410
mov eax, dword [esp + 0x68]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x6c]
mov dword [ebx + 0x14], eax
mov edi, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov esi, dword [esp + 0x68]
cmp ecx, 0x7fffffff
jg 0x4ac4b7
jl 0x4ac4b0
cmp esi, 0xffffffff
jae 0x4ac4b7
add esi, 1
adc ecx, edx
jmp 0x4ac4c8
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
push ecx
push esi
push dword [edi]
call fcn.00496074
mov edi, dword [esp + 0x7c]
add esp, 0xc
cmp byte [edi + 0x1b], 0
je 0x4ac5b0
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x74]
mov ecx, dword [esp + 0x40]
mov esi, 0x3fffffff
push 0
pop ebx
push edx
and eax, esi
mov dword [esp + 0x7c], ebx
add ecx, 1
push ebx
adc eax, ebx
mov dword [esp + 0x70], ecx
push eax
push ecx
mov dword [esp + 0x7c], eax
push ebx
push dword [edi]
call fcn.0049543b
mov ecx, eax
add esp, 0x18
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x4ac5aa
mov edx, dword [esp + 0x74]
test edx, edx
jne 0x4ac59e
mov eax, dword [esp + 0x78]
inc eax
mov dword [esp + 0x78], eax
cmp eax, 0x64
jge 0x4ac59e
lea eax, [esp + 0x68]
push eax
push 8
pop eax
push eax
call fcn.0047b70a
cmp dword [esp + 0x80], 5
mov eax, dword [esp + 0x70]
pop ecx
pop ecx
jge 0x4ac563
and eax, 0xffffff
mov ecx, ebx
jmp 0x4ac569
mov ecx, dword [esp + 0x6c]
and ecx, esi
add eax, 1
lea edx, [esp + 0x74]
push edx
push ebx
adc ecx, ebx
mov dword [esp + 0x70], eax
push ecx
push eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x7c], ecx
push ebx
push dword [eax]
call fcn.0049543b
mov ecx, eax
add esp, 0x18
mov dword [esp + 0x10], ecx
test ecx, ecx
je 0x4ac526
mov edx, dword [esp + 0x74]
test ecx, ecx
jne 0x4ac5aa
test edx, edx
je 0x4ae292
mov edi, dword [esp + 0x70]
jmp 0x4ac5b2
xor ebx, ebx
mov esi, dword [esp + 0x18]
mov byte [edi + 0x19], bl
mov eax, dword [esp + 0x70]
mov byte [eax + 0x1d], bl
mov eax, dword [esp + 0x70]
mov dword [eax + 0x50], ebx
mov eax, dword [esp + 0x68]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x6c]
mov dword [esi + 0x14], eax
jmp 0x4aa2b0
imul esi, dword [ebx + 8], 0x28
mov edx, dword [esp + 0x1c]
mov eax, dword [edi + 0x44]
add esi, edx
mov dword [esp + 0x68], esi
mov ecx, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x78], eax
cmp byte [ebx], 0x39
mov dword [esp + 0x28], eax
jne 0x4ac614
imul eax, dword [ebx + 0xc], 0x28
add eax, edx
mov dword [esp + 0x6c], eax
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x70], ecx
mov edx, dword [eax + 0x14]
jmp 0x4ac61e
mov eax, dword [ebx + 0xc]
cdq
mov ecx, eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], edx
test byte [ebx + 3], 1
je 0x4ac62b
inc dword [edi + 0x6c]
push 2
pop eax
test byte [ebx + 3], al
je 0x4ac64f
mov dword [ebp + 0x30], ecx
mov eax, dword [esp + 0x74]
mov dword [ebp + 0x34], eax
mov esi, dword [esp + 0x68]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x40], ecx
jmp 0x4ac653
mov edx, dword [esp + 0x28]
xor ecx, ecx
test byte [esi + 0x1c], 1
je 0x4ac66d
mov dword [esi + 4], ecx
mov eax, dword [esp + 0x68]
mov dword [eax + 0x18], ecx
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x68]
push 0x10
pop eax
test byte [ebx + 3], al
je 0x4ac681
mov eax, dword [edx + 0x4c]
mov dword [esp + 0x80], eax
jmp 0x4ac688
mov dword [esp + 0x80], ecx
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x4ac69c
mov eax, dword [esi + 0x10]
mov dword [esp + 0x7c], eax
jmp 0x4ac6a0
mov dword [esp + 0x7c], ecx
push ecx
push ecx
push dword [edx]
call fcn.00496074
push dword [esp + 0x8c]
movzx eax, byte [ebx + 3]
push 8
pop ecx
and eax, ecx
push eax
push dword [esp + 0x90]
mov eax, dword [esp + 0x80]
push dword [eax + 0x18]
push dword [eax + 4]
mov eax, dword [esp + 0x98]
push dword [esp + 0x94]
push dword [esp + 0x94]
push 0
push dword [eax]
call fcn.00494e73
mov dword [esp + 0x40], eax
xor edx, edx
mov eax, dword [esp + 0xa8]
add esp, 0x30
mov byte [eax + 0x19], dl
mov eax, dword [esp + 0x78]
mov byte [eax + 0x1d], dl
mov eax, dword [esp + 0x78]
mov dword [eax + 0x50], edx
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4a99bd
cmp dword [ebp + 0xbc], edx
je 0x4a99bd
cmp dword [ebx + 0x10], edx
je 0x4a99bd
mov eax, dword [esp + 0x78]
push 4
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp + 8]
add ecx, ecx
mov edx, dword [eax + ecx*8]
pop eax
push 0x12
mov dword [esp + 0x88], edx
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x8c], ecx
test byte [ebx + 3], al
pop eax
push 0x17
pop esi
push dword [esp + 0x74]
cmovne eax, esi
push dword [esp + 0x74]
mov dword [esp + 0x94], eax
push ecx
push edx
push eax
push dword [ebp + 0xb8]
call dword [ebp + 0xbc]
add esp, 0x18
jmp 0x4a99b9
mov eax, dword [edi + 0x44]
xorps xmm0, xmm0
movlpd qword [esp + 0x68], xmm0
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
xor eax, eax
mov dword [esp + 0x70], ecx
cmp dword [ebp + 0xbc], eax
je 0x4ac7b6
cmp dword [ebx + 0x10], eax
je 0x4ac7b6
mov eax, dword [ecx + 0x40]
mov dword [esp + 0x68], eax
mov eax, dword [ecx + 0x44]
mov dword [esp + 0x6c], eax
push ecx
call fcn.004a93e4
pop ecx
test eax, eax
jne 0x4ae299
push eax
push eax
mov eax, dword [esp + 0x78]
push dword [eax]
call fcn.00496074
mov eax, dword [esp + 0x7c]
push dword [eax]
call fcn.00494ab7
mov dword [esp + 0x20], eax
add esp, 0x10
mov eax, dword [esp + 0x70]
and dword [eax + 0x50], 0
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4ac82e
mov edx, dword [ebp + 0xbc]
test edx, edx
je 0x4ac82e
cmp dword [ebx + 0x10], eax
je 0x4ac82e
push dword [esp + 0x6c]
mov eax, dword [esp + 0x74]
push dword [esp + 0x6c]
push dword [ebx + 0x10]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp + 8]
add ecx, ecx
push dword [eax + ecx*8]
push 9
push dword [ebp + 0xb8]
call edx
mov eax, dword [esp + 0x28]
add esp, 0x18
test byte [ebx + 8], 1
mov edx, dword [esp + 0x14]
je 0x4a99c5
inc dword [edi + 0x6c]
jmp 0x4a99c5
mov eax, dword [edi + 0x6c]
add dword [ebp + 0x40], eax
mov dword [ebp + 0x3c], eax
and dword [edi + 0x6c], 0
jmp case.0x4a9718.17
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
mov edi, dword [eax + ecx*4]
lea eax, [esp + 0x64]
mov dword [esp + 0x68], edi
imul esi, dword [ebx + 0xc], 0x28
push eax
push dword [edi + 0x48]
add esi, dword [esp + 0x24]
call fcn.004b4d4b
lea ecx, [esp + 0x74]
push ecx
push dword [esp + 0x70]
push eax
push dword [esi + 0x18]
push dword [esi + 4]
push 1
push edi
call fcn.004b47fb
mov edi, dword [esp + 0x44]
xor eax, eax
add esp, 0x24
mov dword [esp + 0x10], eax
cmp dword [esp + 0x6c], eax
je 0x4a99bd
jmp 0x4ac234
imul esi, dword [ebx + 8], 0x28
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
add esi, dword [esp + 0x1c]
mov eax, dword [eax + ecx*4]
push esi
push eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x70], eax
call fcn.004b0e2a
jmp 0x4abbf8
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
imul esi, dword [ebx + 8], 0x28
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x68], ecx
add esi, dword [esp + 0x1c]
push ecx
mov eax, dword [ecx]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x70], eax
call fcn.004a93e4
pop ecx
test eax, eax
jne 0x4ae299
mov eax, dword [esp + 0x68]
cmp byte [eax + 0x1f], 0
je 0x4ac93b
lea eax, [esp + 0x78]
push eax
push dword [esp + 0x70]
call fcn.00495318
mov eax, dword [ebp + 0x48]
cdq
pop ecx
pop ecx
cmp dword [esp + 0x7c], edx
jg 0x4ae2d1
mov ecx, dword [esp + 0x78]
jl 0x4ac935
cmp ecx, eax
ja 0x4ae2d1
mov dword [esp + 0x70], ecx
jmp 0x4ac95a
mov esi, dword [esp + 0x6c]
push esi
call fcn.00488bcf
pop ecx
mov ecx, dword [esi + 0x2c]
mov dword [esp + 0x70], ecx
cmp ecx, dword [ebp + 0x48]
ja 0x4ae2d1
mov esi, dword [esp + 0x18]
xor ebx, ebx
push ebx
push ecx
push esi
call fcn.004af685
add esp, 0xc
test eax, eax
jne 0x4ae2f8
mov eax, dword [esp + 0x70]
mov ecx, 0xbf10
mov dword [esi + 0x18], eax
mov ax, word [esi + 0x1c]
and ax, cx
push 0x10
pop ecx
or ax, cx
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x68]
cmp byte [eax + 0x1f], bl
je 0x4ac9ac
push ebx
push dword [esi + 4]
push dword [esp + 0x78]
push ebx
push dword [esp + 0x7c]
call fcn.0047cb83
add esp, 0x14
jmp 0x4ac9c0
push dword [esi + 4]
push dword [esp + 0x74]
push ebx
push dword [esp + 0x78]
call fcn.00494a7b
add esp, 0x10
mov dword [esp + 0x10], eax
mov byte [esi + 0x1f], 1
jmp 0x4a99c1
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x68], ecx
cmp byte [ecx + 0x1c], 0
je 0x4ac9e8
xor eax, eax
inc eax
jmp 0x4a9dd5
cmp byte [ecx + 0x1d], 0
je 0x4ac9fa
mov eax, dword [ecx + 0x38]
mov dword [esp + 0x70], eax
mov eax, dword [ecx + 0x3c]
jmp 0x4aca57
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x4aca31
mov eax, dword [eax]
lea edx, [esp + 0x70]
mov dword [esp + 0x78], eax
push edx
mov eax, dword [eax]
mov dword [esp + 0x80], eax
push dword [ecx + 0x24]
call dword [eax + 0x30]
push dword [esp + 0x80]
mov dword [esp + 0x1c], eax
push edi
call fcn.0048951f
add esp, 0x10
jmp 0x4aca6f
push ecx
call fcn.004a93e4
mov dword [esp + 0x14], eax
pop ecx
test eax, eax
jne 0x4ae299
mov ecx, dword [esp + 0x68]
cmp byte [ecx + 0x19], al
je 0x4aca5d
mov eax, dword [ecx + 0x40]
mov dword [esp + 0x70], eax
mov eax, dword [ecx + 0x44]
mov dword [esp + 0x74], eax
jmp 0x4aca6f
lea eax, [esp + 0x70]
push eax
push dword [ecx]
call fcn.00495318
pop ecx
pop ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x70]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x74]
jmp 0x4a9824
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x68], eax
mov byte [eax + 0x1c], 1
mov eax, dword [esp + 0x68]
mov byte [eax + 0x19], 0
mov eax, dword [esp + 0x68]
cmp dword [eax], 0
je case.0x4a9718.17
push dword [eax]
call fcn.00494507
jmp 0x4a9b2c
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x68], ecx
mov eax, dword [ecx]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], edx
test eax, eax
je 0x4acae5
lea ecx, [esp + 0x70]
push ecx
push eax
call fcn.0049534a
pop ecx
pop ecx
mov ecx, dword [esp + 0x68]
xor edx, edx
mov dword [esp + 0x10], eax
mov al, byte [esp + 0x70]
mov byte [ecx + 0x1c], al
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1d], dl
mov eax, dword [esp + 0x68]
mov byte [eax + 0x19], dl
mov eax, dword [esp + 0x68]
mov dword [eax + 0x50], edx
mov eax, dword [ebx + 8]
test eax, eax
jle case.0x4a9718.17
cmp dword [esp + 0x70], 0
je case.0x4a9718.17
jmp 0x4a972f
inc dword [edi + 0x80]
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
mov eax, dword [eax + ecx*4]
lea ecx, [esp + 0x70]
mov dword [esp + 0x68], eax
mov dword [esp + 0x70], 1
push ecx
cmp dword [eax + 0x48], 0
je 0x4acb52
push eax
push ebp
call fcn.004b0c09
add esp, 0xc
mov dword [esp + 0x10], eax
jmp 0x4acb8a
mov eax, dword [eax]
push eax
mov dword [esp + 0x74], eax
call fcn.00494d7c
cmp dword [esp + 0x78], 0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x70]
pop ecx
pop ecx
sete cl
xor edx, edx
mov byte [eax + 0x1a], cl
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1d], dl
mov eax, dword [esp + 0x68]
mov dword [eax + 0x50], edx
mov eax, dword [esp + 0x68]
mov byte [eax + 0x19], dl
mov eax, dword [esp + 0x68]
mov cl, byte [esp + 0x70]
mov byte [eax + 0x1c], cl
cmp dword [esp + 0x70], 0
jmp 0x4aa4ad
xor edx, edx
cmp dword [ebp + 0xe0], edx
jne 0x4ae2e7
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x68], eax
test eax, eax
je case.0x4a9718.17
lea ecx, [esp + 0x6c]
push ecx
cmp dword [eax + 0x48], edx
je 0x4acbd8
push eax
push ebp
call fcn.004b0b75
add esp, 0xc
jmp 0x4acbe7
mov dword [esp + 0x70], 1
push dword [eax]
call dword [ebx + 0x10]
pop ecx
pop ecx
mov ecx, dword [esp + 0x68]
xor edx, edx
mov dword [esp + 0x10], eax
mov al, byte [esp + 0x6c]
mov byte [ecx + 0x1c], al
mov eax, dword [esp + 0x68]
mov dword [eax + 0x50], edx
cmp dword [esp + 0x6c], edx
jne 0x4acc1b
mov eax, dword [ebx + 8]
dec eax
mov dword [esp + 0x14], eax
mov al, byte [ebx + 3]
test al, al
je 0x4acc1b
movzx eax, al
inc dword [edi + eax*4 + 0x78]
mov eax, dword [esp + 0x68]
mov byte [eax + 0x19], dl
jmp case.0x4a9718.17
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x68], ecx
imul esi, dword [ebx + 8], 0x28
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
mov dword [esp + 0x6c], eax
add esi, dword [esp + 0x1c]
test eax, eax
je 0x4a99b9
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x4acc78
push esi
call fcn.004af4f2
mov dword [esp + 0x14], eax
xor edx, edx
mov eax, dword [esp + 0x70]
pop ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x10]
jmp 0x4acc80
xor edx, edx
mov eax, edx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4a99bd
cmp dword [ecx + 0x48], edx
je 0x4acc9d
push esi
push ecx
push ebp
call fcn.004b0e8a
add esp, 0xc
jmp 0x4aab63
mov eax, dword [esi + 0x18]
mov dword [esp + 0x70], eax
mov esi, dword [esi + 4]
push 0x10
mov dword [esp + 0x28], eax
pop eax
mov dword [esp + 0x74], esi
test byte [ebx + 3], al
je 0x4accbc
mov eax, dword [ecx + 0x4c]
jmp 0x4accbe
mov eax, edx
push eax
push dword [ebx + 0xc]
mov eax, dword [esp + 0x2c]
push edx
push edx
push 0x4d6930
cdq
push edx
push eax
push esi
push dword [esp + 0x48]
call fcn.00494e73
mov dword [esp + 0x34], eax
add esp, 0x24
mov eax, dword [esp + 0x68]
and dword [eax + 0x50], 0
jmp 0x4a99b9
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x68], eax
mov ecx, dword [eax]
mov dword [esp + 0x6c], ecx
test ecx, ecx
je case.0x4a9718.17
mov eax, dword [eax + 8]
mov dword [esp + 0x78], eax
mov ax, word [ebx + 0xc]
mov word [esp + 0x7c], ax
xor eax, eax
mov word [esp + 0x7e], ax
imul eax, dword [ebx + 8], 0x28
xor ebx, ebx
add eax, dword [esp + 0x1c]
mov dword [esp + 0x88], eax
lea eax, [esp + 0x70]
push eax
push ebx
push ebx
push ebx
lea eax, [esp + 0x88]
push eax
push ecx
call fcn.0049543b
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4acd66
cmp dword [esp + 0x70], ebx
jne 0x4acd66
push dword [esp + 0x6c]
call fcn.00494ab7
pop ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x68]
mov dword [eax + 0x50], ebx
jmp case.0x4a9718.17
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x6c], eax
mov eax, dword [eax]
mov dword [esp + 0x68], eax
xor eax, eax
inc eax
mov word [esi + 0x1c], ax
cmp dword [esp + 0x68], 0
je case.0x4a9718.17
push dword [esp + 0x6c]
call fcn.004a93e4
mov dword [esp + 0x14], eax
pop ecx
test eax, eax
jne 0x4ae299
mov eax, dword [esp + 0x6c]
cmp byte [eax + 0x1c], 0
jne case.0x4a9718.17
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x6c]
push ebp
call fcn.004aeca9
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4ae299
mov eax, dword [esp + 0x70]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x74]
push 4
mov dword [esi + 0x14], eax
pop eax
jmp 0x4a9dd5
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x68], ecx
cmp dword [ecx], 0
je case.0x4a9718.17
mov eax, dword [ecx + 8]
mov dword [esp + 0x70], eax
mov ax, word [ebx + 0x10]
mov word [esp + 0x74], ax
cmp byte [ebx + 3], 0
je 0x4ace25
push 0xc
pop eax
mov word [esp + 0x76], ax
jmp 0x4ace2a
mov word [esp + 0x76], dx
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [esp + 0x1c]
mov dword [esp + 0x80], eax
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x74]
push eax
push ecx
call fcn.004aec12
add esp, 0xc
mov dword [esp + 0x10], eax
cmp byte [ebx], 0x64
mov eax, dword [esp + 0x6c]
jne 0x4ace5d
neg eax
jmp 0x4ace5e
inc eax
mov dword [esp + 0x6c], eax
test eax, eax
jle case.0x4a9718.17
jmp 0x4a972c
xor edx, edx
mov ecx, edx
mov dword [esp + 0x6c], ecx
mov eax, dword [ebp + 0x88]
jmp 0x4ace9b
cmp dword [eax + 0x34], 0xbdf20da3
jne 0x4ace98
cmp byte [eax + 0x66], 2
jae 0x4ace98
cmp dword [eax + 0x58], edx
jl 0x4ace98
inc ecx
mov dword [esp + 0x6c], ecx
mov eax, dword [eax + 0x40]
mov dword [esp + 0x70], eax
test eax, eax
jne 0x4ace7f
xor ecx, ecx
inc ecx
mov word [esi + 0x1c], cx
cmp dword [esp + 0x6c], ecx
jle 0x4acec2
push 6
pop eax
push 2
pop ecx
mov dword [esp + 0x10], eax
mov byte [edi + 0x60], cl
jmp 0x4a99c1
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x74], ecx
add ecx, ecx
mov eax, dword [ebp + 8]
mov esi, dword [ebx + 4]
mov edi, dword [eax + ecx*8 + 4]
push edi
call fcn.00494cd8
lea eax, [esp + 0x6c]
push eax
push esi
push edi
call fcn.00480a19
push edi
mov dword [esp + 0x24], eax
call fcn.00495399
mov esi, dword [esp + 0x2c]
add esp, 0x14
push 4
pop eax
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x68]
cdq
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x10]
mov dword [esi + 0x14], edx
test eax, eax
jne 0x4aa2b4
mov esi, dword [esp + 0x68]
test esi, esi
je 0x4aaa06
mov ecx, dword [esp + 0x74]
mov edi, dword [ebx + 4]
shl ecx, 4
add ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0x10]
jmp 0x4acf44
mov edx, dword [eax + 8]
cmp dword [edx + 0x14], esi
jne 0x4acf42
mov dword [edx + 0x14], edi
mov eax, dword [eax]
test eax, eax
jne 0x4acf37
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0x20]
jmp 0x4acf5d
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x14], esi
jne 0x4acf5b
mov dword [ecx + 0x14], edi
mov eax, dword [eax]
test eax, eax
jne 0x4acf50
mov al, byte [esp + 0x74]
inc al
mov byte [esp + 0x3b], al
jmp 0x4aaa02
xor ecx, ecx
lea eax, [esp + 0x68]
mov dword [esp + 0x68], ecx
xor edx, edx
cmp dword [ebx + 0xc], ecx
mov ecx, dword [ebx + 8]
cmove eax, edx
add ecx, ecx
push eax
mov eax, dword [ebp + 8]
push dword [ebx + 4]
push dword [eax + ecx*8 + 4]
call fcn.0049451f
add esp, 0xc
mov dword [esp + 0x10], eax
cmp dword [ebx + 0xc], 0
je 0x4a99c1
mov edx, dword [esp + 0x68]
add dword [edi + 0x6c], edx
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jle 0x4a99c1
mov ebx, dword [esp + 0x1c]
mov eax, edx
imul ecx, ecx, 0x28
cdq
add dword [ecx + ebx + 0x10], eax
adc dword [ecx + ebx + 0x14], edx
jmp case.0x4a9718.17
and dword [esp + 0x68], 0
xor eax, eax
mov ecx, dword [ebx + 4]
shl ecx, 4
add ecx, dword [ebp + 8]
mov dword [esp + 0x70], ecx
cmp byte [ebx], 0x69
setne al
inc eax
push eax
mov dword [esp + 0x70], eax
lea eax, [esp + 0x6c]
push eax
push dword [ecx + 4]
call fcn.00494989
mov dword [esp + 0x1c], eax
jmp 0x4ab7fb
mov edx, dword [ebx + 4]
mov eax, str.sqlite_master
cmp edx, 1
mov dword [esp + 0x68], edx
mov ecx, str.sqlite_temp_master
mov dword [esp + 0x74], ebp
cmovne ecx, eax
add edx, edx
mov dword [esp + 0x6c], ecx
mov eax, dword [ebx + 4]
mov dword [esp + 0x78], eax
lea eax, [edi + 0x38]
mov dword [esp + 0x7c], eax
push dword [ebx + 0x10]
mov eax, dword [ebp + 8]
push ecx
push dword [eax + edx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push ebp
call fcn.0049f0cd
add esp, 0x14
mov dword [esp + 0x70], eax
test eax, eax
je 0x4ae2f8
xor ebx, ebx
mov byte [ebp + 0x7c], 1
push ebx
lea eax, [esp + 0x78]
mov dword [esp + 0x84], ebx
push eax
push fcn.0049d9e0
push dword [esp + 0x7c]
push ebp
call fcn.004789b0
push dword [esp + 0x84]
test eax, eax
push ebp
cmove eax, dword [esp + 0x9c]
mov dword [esp + 0x2c], eax
call fcn.00497c57
mov eax, dword [esp + 0x2c]
add esp, 0x1c
mov byte [ebp + 0x7c], bl
cmp eax, 7
je 0x4ae2f8
jmp 0x4a99c1
push dword [ebx + 4]
push ebp
call fcn.00492bd1
jmp 0x4abbf8
mov edx, dword [ebx + 4]
push 0
push dword [ebx + 0x10]
shl edx, 4
add edx, dword [ebp + 8]
call fcn.004a6b98
pop ecx
push eax
push dword [ebx + 0x10]
mov eax, dword [edx + 0xc]
push 8
pop ecx
add eax, ecx
push eax
call fcn.0049d4d4
push eax
push ebp
call fcn.0049835a
mov eax, 0x200
add esp, 0x18
or dword [ebp + 0xc], eax
jmp case.0x4a9718.17
push dword [ebx + 0x10]
push dword [ebx + 4]
push ebp
call fcn.004a7029
jmp 0x4a994a
push dword [ebx + 0x10]
push dword [ebx + 4]
push ebp
call fcn.004a70a3
jmp 0x4a994a
mov eax, dword [ebx + 8]
mov dword [esp + 0x68], eax
lea eax, [eax*4 + 4]
push eax
push ebp
call fcn.00497cae
mov edx, eax
mov dword [esp + 0x74], edx
pop ecx
pop ecx
test edx, edx
je 0x4ae2f8
imul ecx, dword [ebx + 0xc], 0x28
xor eax, eax
add ecx, dword [esp + 0x1c]
mov dword [esp + 0x7c], ecx
imul esi, dword [ebx + 4], 0x28
mov dword [esp + 0x70], eax
add esi, dword [esp + 0x1c]
cmp dword [esp + 0x68], eax
jle 0x4ad18b
imul eax, eax, 0x28
add eax, esi
push eax
call fcn.004aed9e
mov edx, dword [esp + 0x74]
pop ecx
mov ecx, dword [esp + 0x6c]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x70]
inc eax
mov dword [esp + 0x70], eax
cmp eax, dword [esp + 0x68]
jl 0x4ad161
mov edx, dword [esp + 0x6c]
and dword [edx + eax*4], 0
lea eax, [esp + 0x74]
movzx ecx, byte [ebx + 3]
push eax
mov eax, dword [esp + 0x80]
add ecx, ecx
push dword [eax + 0x10]
mov eax, dword [ebp + 8]
push dword [esp + 0x70]
push dword [esp + 0x78]
push dword [eax + ecx*8 + 4]
call fcn.00495058
push dword [esp + 0x80]
mov dword [esp + 0x90], eax
push ebp
call fcn.00497c57
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x90]
cdq
push esi
sub dword [ecx + 0x10], eax
sbb dword [ecx + 0x14], edx
call fcn.004afa62
add esp, 0x20
cmp dword [esp + 0x74], 0
je 0x4ad215
cmp dword [esp + 0x78], 0
je 0x4ae2f8
push fcn.0047b4f0
push 1
push 0xffffffffffffffff
push dword [esp + 0x84]
push esi
call fcn.004afb12
add esp, 0x14
movzx eax, byte [esp + 0x37]
push eax
push esi
call fcn.004a904e
pop ecx
pop ecx
jmp 0x4a99b9
imul esi, dword [ebx + 4], 0x28
imul ebx, dword [ebx + 8], 0x28
push 0x20
pop eax
add esi, dword [esp + 0x1c]
add ebx, dword [esp + 0x1c]
test byte [esi + 0x1c], al
jne 0x4ad253
push esi
call fcn.004afaaa
pop ecx
push 0x20
pop eax
test byte [esi + 0x1c], al
je 0x4ae2f8
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [esi + 0x10]
call fcn.004a40cb
add esp, 0xc
jmp 0x4a99b9
cmp dword [ebp + 0xe0], 0
jne 0x4ae2e7
imul esi, dword [ebx + 4], 0x28
push 0x20
pop eax
add esi, dword [esp + 0x1c]
test byte [esi + 0x1c], al
je 0x4ad2d8
mov eax, dword [esi + 0x10]
push eax
mov dword [esp + 0x2c], eax
call fcn.00490ebd
pop ecx
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 8]
test edx, edx
je 0x4ad2d8
mov eax, dword [edx]
mov dword [esp + 0x68], eax
mov eax, dword [edx + 4]
mov dword [esp + 0x6c], eax
mov eax, dword [ecx + 8]
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
test eax, eax
jne 0x4ad2c0
push ecx
call fcn.004a4092
pop ecx
imul eax, dword [ebx + 0xc], 0x28
push dword [esp + 0x6c]
push dword [esp + 0x6c]
add eax, dword [esp + 0x24]
push eax
call fcn.004afa3b
jmp 0x4ad261
push esi
call fcn.004afa62
pop ecx
jmp 0x4aa847
imul esi, dword [ebx + 4], 0x28
imul eax, dword [ebx + 0xc], 0x28
mov edx, dword [ebx + 0x10]
push 0x20
pop ecx
add esi, dword [esp + 0x1c]
add eax, dword [esp + 0x1c]
mov dword [esp + 0x68], edx
mov dword [esp + 0x28], eax
test byte [esi + 0x1c], cl
jne 0x4ad322
push esi
call fcn.004afaaa
pop ecx
push 0x20
pop eax
test byte [esi + 0x1c], al
je 0x4ae2f8
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x28]
test edx, edx
je 0x4ad360
push dword [eax + 0x14]
mov ecx, 0xff
push dword [eax + 0x10]
mov al, byte [esp + 0x70]
and al, 0xf
test edx, edx
movzx eax, al
cmovns ecx, eax
movzx eax, cl
push eax
push dword [esi + 0x10]
call fcn.004a414b
add esp, 0x10
mov dword [esp + 0x6c], eax
test eax, eax
jne 0x4aa847
mov edx, dword [esp + 0x68]
test edx, edx
js 0x4a99b9
mov eax, dword [esp + 0x28]
push dword [eax + 0x14]
push dword [eax + 0x10]
jmp 0x4ad259
mov edx, dword [ebx + 0x10]
mov dword [esp + 0x80], edx
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [esp + 0x1c]
mov dword [esp + 0x70], ecx
cmp byte [ebx + 3], 0
je 0x4ad3c1
mov eax, dword [edi + 0xa8]
mov esi, dword [edx + 0x10]
mov dword [esp + 0x84], esi
mov dword [esp + 0x7c], eax
test eax, eax
je 0x4ad3c1
cmp dword [eax + 0x20], esi
je 0x4ad3b9
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x7c], eax
test eax, eax
jne 0x4ad3a9
test eax, eax
jne 0x4a99b9
mov eax, dword [edi + 0xb0]
cmp eax, dword [ebp + 0x70]
jl 0x4ad3e8
push str.too_many_levels_of_trigger_recursion
lea eax, [edi + 0x38]
mov dword [esp + 0x14], 1
push ebp
push eax
call fcn.004a5f3c
jmp 0x4ad261
test byte [ecx + 0x1c], 0x40
jne 0x4ad507
mov eax, dword [edx + 8]
add eax, dword [edx + 0xc]
mov dword [esp + 0x68], eax
imul eax, eax, 0xa
add eax, dword [edx + 0xc]
lea eax, [eax*4 + 0x40]
push eax
push ebp
mov dword [esp + 0x74], eax
call fcn.00497d5f
mov dword [esp + 0x84], eax
pop ecx
pop ecx
test eax, eax
je 0x4ae2f8
push dword [esp + 0x70]
call fcn.004af96b
mov eax, dword [esp + 0x74]
pop ecx
push 0x40
pop ecx
mov word [eax + 0x1c], cx
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x14]
mov dword [eax + 0x10], ecx
mov eax, dword [esp + 0x7c]
mov dword [eax], edi
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x68]
mov dword [ecx + 0x24], eax
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x7c]
mov dword [eax + 0x28], ecx
mov eax, dword [esp + 0x7c]
mov dword [eax + 4], edx
mov eax, dword [esp + 0x7c]
mov ecx, dword [edi + 8]
mov dword [eax + 0x10], ecx
mov eax, dword [esp + 0x7c]
mov ecx, dword [edi + 0x18]
mov dword [eax + 0x14], ecx
mov eax, dword [esp + 0x7c]
mov ecx, dword [edi + 0x44]
mov dword [eax + 0x18], ecx
mov eax, dword [esp + 0x7c]
mov cx, word [edi + 0x32]
mov word [eax + 0x1c], cx
mov eax, dword [esp + 0x7c]
mov ecx, dword [edi + 4]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x7c]
mov ecx, dword [edi + 0x1c]
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 0x10]
mov eax, dword [esp + 0x7c]
mov dword [eax + 0x20], ecx
mov edx, dword [esp + 0x7c]
imul eax, dword [edx + 0x24], 0x28
lea ecx, [edx + 0x40]
mov dword [esp + 0x74], ecx
add eax, 0x40
add eax, edx
mov dword [esp + 0x78], eax
cmp ecx, eax
je 0x4ad50e
xor ebx, ebx
push 0x28
inc ebx
pop edi
mov word [ecx + 0x1c], bx
mov eax, dword [esp + 0x74]
mov dword [eax], ebp
mov ecx, dword [esp + 0x74]
add ecx, edi
mov dword [esp + 0x74], ecx
cmp ecx, dword [esp + 0x78]
jne 0x4ad4e3
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x7c]
jmp 0x4ad50e
mov edx, dword [ecx + 0x10]
mov dword [esp + 0x7c], edx
inc dword [edi + 0xb0]
mov eax, dword [edi + 0xa8]
mov ecx, dword [esp + 0x40]
mov dword [edx + 0x3c], eax
mov eax, dword [esp + 0x7c]
mov dword [eax + 0x30], ecx
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0x34], ecx
mov eax, dword [esp + 0x7c]
mov ecx, dword [edi + 0x6c]
mov dword [eax + 0x38], ecx
mov ecx, dword [esp + 0x7c]
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 [esp + 0x1c], ebx
imul eax, eax, 0x28
add eax, ebx
or dword [esp + 0x14], 0xffffffff
mov dword [edi + 0x44], eax
mov eax, dword [esp + 0x80]
mov ecx, dword [eax]
mov dword [edi + 4], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x50], ecx
mov dword [edi + 0x1c], eax
jmp 0x4a99b9
mov edx, dword [edi + 0xa8]
mov dword [esp + 0x68], edx
imul ecx, dword [edx + 4], 0x14
mov eax, dword [edx + 8]
mov eax, dword [ecx + eax + 4]
mov ecx, 0x1000
add eax, dword [ebx + 4]
imul eax, eax, 0x28
push ecx
add eax, dword [edx + 0x10]
mov dword [esp + 0x70], eax
jmp 0x4a9a3e
cmp dword [ebx + 4], 0
mov eax, dword [ebx + 8]
cdq
je 0x4ad5d7
add dword [ebp + 0x1f0], eax
adc dword [ebp + 0x1f4], edx
jmp case.0x4a9718.17
add dword [edi + 0x90], eax
adc dword [edi + 0x94], edx
jmp case.0x4a9718.17
cmp dword [ebx + 4], 0
je 0x4ad5ff
mov eax, dword [ebp + 0x1f0]
or eax, dword [ebp + 0x1f4]
jmp 0x4aa88a
mov eax, dword [edi + 0x90]
or eax, dword [edi + 0x94]
jmp 0x4aa88a
mov ecx, dword [edi + 0xa8]
test ecx, ecx
jne 0x4ad667
imul eax, dword [ebx + 4], 0x28
add eax, dword [esp + 0x1c]
push eax
mov dword [esp + 0x6c], eax
call fcn.004af7d0
imul esi, dword [ebx + 8], 0x28
add esi, dword [esp + 0x20]
push esi
call fcn.004af7d0
mov eax, dword [esp + 0x70]
mov edx, dword [esi + 0x14]
pop ecx
pop ecx
mov ecx, dword [esi + 0x10]
cmp dword [eax + 0x14], edx
jg 0x4a99b9
jl 0x4ad65a
cmp dword [eax + 0x10], ecx
jae 0x4a99b9
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
jmp 0x4a99b9
mov ecx, eax
mov dword [esp + 0x6c], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
jne 0x4ad665
imul eax, dword [ebx + 4], 0x28
add eax, dword [ecx + 0x10]
jmp 0x4ad622
imul eax, dword [ebx + 4], 0x28
xor edx, edx
mov ecx, dword [esp + 0x1c]
cmp dword [eax + ecx + 0x14], edx
jl case.0x4a9718.17
jg 0x4a972c
cmp dword [eax + ecx + 0x10], edx
jbe case.0x4a9718.17
jmp 0x4a972c
imul eax, dword [ebx + 4], 0x28
xor edx, edx
mov ecx, dword [esp + 0x1c]
cmp dword [eax + ecx + 0x14], edx
jg case.0x4a9718.17
jl 0x4a972c
cmp dword [eax + ecx + 0x10], edx
jae case.0x4a9718.17
jmp 0x4a972c
imul ecx, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0xc]
cdq
add ecx, dword [esp + 0x1c]
add dword [ecx + 0x10], eax
mov eax, dword [ecx + 0x10]
adc dword [ecx + 0x14], edx
or eax, dword [ecx + 0x14]
jmp 0x4aa88a
movzx eax, byte [ebx + 3]
mov edx, dword [edi + 0xc]
mov dword [esp + 0x68], eax
imul ecx, dword [ebx + 8], 0x28
mov dword [esp + 0x28], edx
mov dword [esp + 0xb8], edx
xor edx, edx
mov esi, edx
mov dword [esp + 0x6c], esi
add ecx, dword [esp + 0x1c]
mov dword [esp + 0x74], ecx
test eax, eax
jle 0x4ad752
mov eax, dword [esp + 0x28]
push 0x28
pop ebp
mov dword [eax + esi*4], ecx
push dword [esp + 0x74]
call fcn.004afcda
mov esi, dword [esp + 0x70]
pop ecx
mov ecx, dword [esp + 0x74]
inc esi
add ecx, ebp
mov dword [esp + 0x6c], esi
mov dword [esp + 0x74], ecx
cmp esi, dword [esp + 0x68]
jge 0x4ad74e
mov eax, dword [esp + 0xb8]
jmp 0x4ad71f
mov ebp, dword [esp + 0x44]
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x78], eax
imul eax, dword [ebx + 0xc], 0x28
push 8
add eax, dword [esp + 0x20]
mov dword [esp + 0x74], eax
mov dword [esp + 0xac], eax
inc dword [eax + 0x18]
xor eax, eax
mov ecx, dword [esp + 0x7c]
inc eax
mov word [esp + 0xa0], ax
pop eax
mov dword [esp + 0x84], edx
mov dword [esp + 0xa4], edx
mov dword [esp + 0xa0], edx
mov dword [esp + 0x80], ebp
mov dword [esp + 0xac], edx
mov dword [esp + 0xb0], edx
test byte [ecx + 3], al
je 0x4ad7ba
mov eax, dword [ebx - 4]
mov dword [esp + 0xb0], eax
push dword [esp + 0xb8]
lea eax, [esp + 0x7c]
push dword [esp + 0x6c]
push eax
call dword [ecx + 0x10]
add esp, 0xc
cmp dword [esp + 0xac], 0
je 0x4ad807
lea eax, [esp + 0x80]
push 1
push eax
call fcn.004a8d65
push eax
push 0x4e5400
lea eax, [edi + 0x38]
push ebp
push eax
call fcn.004a5f3c
mov eax, dword [esp + 0xc4]
add esp, 0x18
mov dword [esp + 0x10], eax
lea eax, [esp + 0x80]
push eax
call fcn.004af96b
jmp 0x4ad222
imul eax, dword [ebx + 4], 0x28
add eax, dword [esp + 0x1c]
mov dword [esp + 0x68], eax
push dword [ebx + 0x10]
push eax
call fcn.004af54b
mov dword [esp + 0x18], eax
pop ecx
pop ecx
test eax, eax
je 0x4ad854
push dword [esp + 0x68]
call fcn.004763d8
push eax
push 0x4e5400
lea eax, [edi + 0x38]
push ebp
push eax
call fcn.004a5f3c
add esp, 0x14
movzx eax, byte [esp + 0x37]
push eax
push dword [esp + 0x6c]
call fcn.004a904e
push dword [esp + 0x70]
call fcn.004afd83
add esp, 0xc
jmp 0x4aa110
and dword [esp + 0x6c], 0
lea eax, [esp + 0x74]
or dword [esp + 0x74], 0xffffffff
or dword [esp + 0x70], 0xffffffff
push eax
lea eax, [esp + 0x74]
push eax
push dword [ebx + 8]
push dword [ebx + 4]
push ebp
call fcn.00496382
add esp, 0x14
mov dword [esp + 0x10], eax
cmp eax, 5
jne 0x4ad8b2
and dword [esp + 0x10], 0
mov dword [esp + 0x6c], 1
xor eax, eax
mov dword [esp + 0x68], eax
imul ecx, dword [ebx + 0xc], 0x28
push 0x28
pop ebx
add ecx, dword [esp + 0x1c]
mov dword [esp + 0x78], ecx
mov eax, dword [esp + eax*4 + 0x6c]
cdq
push edx
push eax
push ecx
call fcn.004afa3b
mov eax, dword [esp + 0x74]
add esp, 0xc
mov ecx, dword [esp + 0x78]
inc eax
add ecx, ebx
mov dword [esp + 0x68], eax
mov dword [esp + 0x78], ecx
cmp eax, 3
jl 0x4ad8c7
jmp case.0x4a9718.17
mov esi, dword [ebx + 0xc]
mov dword [esp + 0x70], esi
mov ecx, dword [ebx + 4]
mov eax, dword [ebp + 8]
add ecx, ecx
cmp esi, 0xffffffff
mov eax, dword [eax + ecx*8 + 4]
mov dword [esp + 0x68], eax
mov dword [esp + 0x28], eax
mov eax, dword [eax + 4]
mov edi, dword [eax]
mov dword [esp + 0x6c], edi
movzx edx, byte [edi + 5]
cmove esi, edx
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], esi
cmp byte [edi + 0xf], 3
jae 0x4ad945
mov eax, dword [edi + 0x40]
xor ecx, ecx
cmp dword [eax], ecx
je 0x4ad94b
cmp dword [edi + 0x4c], ecx
jl 0x4ad94b
jg 0x4ad945
cmp dword [edi + 0x48], ecx
jbe 0x4ad94b
mov esi, edx
mov dword [esp + 0x70], esi
mov eax, dword [edi + 0x90]
mov dword [esp + 0x78], eax
cmp esi, 5
jne 0x4ad97a
push eax
call fcn.004a6b98
pop ecx
test eax, eax
je 0x4ad974
push edi
call fcn.004a0dea
mov edx, dword [esp + 0x78]
pop ecx
test eax, eax
jne 0x4ad97a
mov esi, edx
mov dword [esp + 0x70], esi
cmp esi, edx
je 0x4ada08
cmp edx, 5
je 0x4ad98c
cmp esi, 5
jne 0x4ada08
cmp byte [ebp + 0x1c], 0
je 0x4ada3d
cmp dword [ebp + 0x8c], 1
jg 0x4ada3d
cmp edx, 5
jne 0x4ad9d0
push edi
call fcn.0049ff15
mov dword [esp + 0x14], eax
pop ecx
test eax, eax
jne 0x4ad9fc
push dword [esp + 0x70]
push dword [esp + 0x70]
call fcn.004a09b5
mov esi, dword [esp + 0x78]
pop ecx
pop ecx
mov ecx, dword [esp + 0x68]
jmp 0x4ad9e2
push 4
pop eax
cmp edx, eax
jne 0x4ad9de
push 2
pop eax
push eax
push edi
jmp 0x4ad9bf
mov ecx, dword [esp + 0x28]
xor eax, eax
cmp esi, 5
sete al
inc eax
push eax
push ecx
call fcn.004961a2
mov dword [esp + 0x18], eax
pop ecx
pop ecx
test eax, eax
je 0x4ada37
mov esi, dword [esp + 0x74]
mov dword [esp + 0x70], esi
mov edi, dword [esp + 0x6c]
push esi
push edi
call fcn.004a09b5
mov dword [esp + 0x78], eax
mov eax, 0xa02
imul esi, dword [ebx + 8], 0x28
pop ecx
pop ecx
add esi, dword [esp + 0x1c]
mov dword [esp + 0x18], esi
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x70]
cmp eax, 6
jne 0x4ada71
xor eax, eax
jmp 0x4ada78
mov esi, dword [esp + 0x70]
jmp 0x4ada04
mov edi, dword [esp + 0x20]
mov ecx, str.out_of
cmp esi, 5
mov dword [esp + 0x10], 1
mov eax, str.into
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
lea eax, [edi + 0x38]
push ebp
push eax
call fcn.004a5f3c
add esp, 0x10
jmp 0x4a99b9
mov eax, dword [eax*4 + 0x4e3d14]
push eax
mov dword [esi + 4], eax
call fcn.004a6b98
mov dword [esi + 0x18], eax
movzx eax, byte [esp + 0x3b]
push eax
push esi
mov byte [esi + 0x1f], 1
call fcn.004a904e
add esp, 0xc
jmp 0x4aa2b0
lea eax, [edi + 0x38]
push ebp
push eax
call fcn.004a44f7
jmp 0x4abbf8
mov ecx, dword [ebx + 4]
mov eax, dword [ebp + 8]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
push eax
mov dword [esp + 0x6c], eax
call fcn.00494e0e
mov dword [esp + 0x14], eax
pop ecx
cmp eax, 0x65
jne 0x4a99c1
mov eax, dword [ebx + 8]
dec eax
mov dword [esp + 0x14], eax
xor eax, eax
jmp 0x4ab345
cmp dword [ebx + 4], 0
jne 0x4adaf2
push ebp
call fcn.00498ee2
add esp, 4
jmp case.0x4a9718.17
mov byte [edi + 0x63], 1
jmp case.0x4a9718.17
mov al, byte [ebx + 0xc]
mov byte [esp + 0x58], al
test al, al
jne 0x4adb13
test dword [ebp + 0xc], 0x80000
jne case.0x4a9718.17
mov ecx, dword [ebx + 4]
push dword [esp + 0x58]
mov eax, dword [ebp + 8]
add ecx, ecx
push dword [ebx + 8]
push dword [eax + ecx*8 + 4]
call fcn.004953ea
add esp, 0xc
mov dword [esp + 0x10], eax
cmp al, 6
jne 0x4a99c1
push dword [ebx + 0x10]
lea eax, [edi + 0x38]
push str.database_table_is_locked:__s
push ebp
push eax
call fcn.004a5f3c
jmp 0x4aa7e7
mov eax, dword [ebx + 0x10]
push eax
push ebp
mov dword [esp + 0x70], eax
call fcn.004b10ba
pop ecx
pop ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x10], eax
test ecx, ecx
je 0x4a99c1
push dword [ecx + 8]
push edi
call fcn.0048951f
pop ecx
jmp 0x4a9b2c
lea eax, [edi + 0x38]
push eax
push dword [ebx + 0x10]
push dword [ebx + 4]
push ebp
call fcn.004b12a9
add esp, 0x10
jmp 0x4ab345
mov byte [edi + 0x66], cl
push dword [ebx + 0x10]
push dword [ebx + 4]
push ebp
call fcn.004b135e
add esp, 0xc
mov dword [esp + 0x10], eax
mov byte [edi + 0x66], 0
jmp 0x4a99c1
xor eax, eax
lea edx, [esp + 0x6c]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov eax, dword [ebx + 0x10]
push edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x74], ecx
push ecx
mov eax, dword [ecx]
mov dword [esp + 0x7c], eax
call dword [eax + 0x18]
push dword [esp + 0x78]
mov dword [esp + 0x1c], eax
push edi
call fcn.0048951f
mov eax, dword [esp + 0x20]
add esp, 0x10
test eax, eax
jne 0x4a99c1
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov dword [eax], ecx
xor eax, eax
push eax
push 0xffffffffffffffff
push eax
push dword [ebx + 4]
push edi
call fcn.0047d5dd
add esp, 0x14
mov dword [esp + 0x68], eax
test eax, eax
je 0x4adc36
mov ecx, dword [esp + 0x6c]
mov dword [eax + 0x24], ecx
mov eax, dword [esp + 0x6c]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [esp + 0x68]
mov dword [eax + 0x28], ecx
jmp case.0x4a9718.17
mov byte [ebp + 0x1e], 1
mov eax, dword [esp + 0x74]
push dword [esp + 0x6c]
call dword [eax + 0x1c]
jmp 0x4a9b2c
imul edx, dword [ebx + 0xc], 0x28
mov eax, dword [edi + 0x44]
add edx, dword [esp + 0x1c]
mov dword [esp + 0x74], edx
lea esi, [edx + 0x28]
mov dword [esp + 0x78], esi
mov ecx, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x84], eax
mov eax, dword [eax + 0x24]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x24], eax
mov eax, dword [eax]
mov dword [esp + 0x80], eax
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov esi, dword [esi + 0x10]
mov dword [esp + 0x10], eax
mov dword [esp + 0x68], esi
mov eax, dword [edx + 0x10]
mov edx, dword [edi + 0xc]
mov dword [esp + 0x28], eax
mov dword [esp + 0x6c], eax
xor eax, eax
mov dword [esp + 0x88], eax
mov ecx, eax
mov dword [esp + 0x90], edx
mov dword [esp + 0x8c], ecx
test esi, esi
jle 0x4add15
lea eax, [ecx + 1]
imul eax, eax, 0x28
add eax, dword [esp + 0x78]
mov dword [edx + ecx*4], eax
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x90]
push dword [eax + ecx*4]
call fcn.004afcda
mov esi, dword [esp + 0x6c]
mov edx, dword [esp + 0x94]
pop ecx
mov ecx, dword [esp + 0x8c]
inc ecx
mov dword [esp + 0x8c], ecx
cmp ecx, esi
jl 0x4adcbd
mov ebp, dword [esp + 0x6c]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x44]
jmp 0x4add1d
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
push edx
push esi
mov byte [edi + 0x66], 1
push dword [ebx + 0x10]
push dword [esp + 0x34]
push eax
call dword [ecx + 0x20]
push dword [esp + 0x94]
mov dword [esp + 0x28], eax
push edi
mov byte [edi + 0x66], 0
call fcn.0048951f
add esp, 0x1c
cmp dword [esp + 0x10], 0
jne 0x4add62
mov eax, dword [esp + 0x70]
push dword [esp + 0x7c]
call dword [eax + 0x28]
pop ecx
mov dword [esp + 0x88], eax
jmp 0x4add69
mov eax, dword [esp + 0x88]
test eax, eax
je 0x4add75
mov eax, dword [ebx + 8]
dec eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x84]
mov byte [eax + 0x1c], 0
jmp 0x4a99b9
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
mov esi, dword [eax + ecx*4]
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [esp + 0x1c]
mov dword [esp + 0x70], eax
cmp byte [esi + 0x1c], 0
je 0x4addab
push eax
call fcn.004afa62
jmp 0x4ad222
mov eax, dword [esi + 0x24]
push 0x40
mov eax, dword [eax]
mov dword [esp + 0x6c], eax
mov eax, dword [eax]
mov dword [esp + 0x70], eax
pop eax
push eax
lea eax, [esp + 0x7c]
push 0
push eax
call fcn.004bea90
push dword [esp + 0x7c]
lea eax, [esp + 0x90]
push eax
call fcn.004af85c
mov eax, dword [esp + 0xb0]
mov ecx, 0xbf01
and eax, ecx
or eax, 1
mov word [esp + 0xb0], ax
lea eax, [esp + 0x8c]
push dword [ebx + 8]
push eax
mov eax, dword [esp + 0x88]
push dword [esi + 0x24]
call dword [eax + 0x2c]
push dword [esp + 0x88]
mov dword [esp + 0x34], eax
push edi
call fcn.0048951f
cmp dword [esp + 0xd4], 0
mov eax, dword [esp + 0x38]
cmovne eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
movzx eax, byte [esp + 0x5f]
push eax
lea eax, [esp + 0xac]
push eax
call fcn.004a904e
lea eax, [esp + 0xb0]
push eax
push dword [esp + 0xa4]
call fcn.004af85c
push dword [esp + 0xa8]
call fcn.004afd83
add esp, 0x3c
test eax, eax
jne 0x4ae2d1
jmp 0x4a99b9
and dword [esp + 0x70], 0
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x74], ecx
cmp byte [ecx + 0x1c], 0
jne case.0x4a9718.17
mov eax, dword [ecx + 0x24]
mov eax, dword [eax]
mov dword [esp + 0x68], eax
mov eax, dword [eax]
mov dword [esp + 0x6c], eax
mov byte [edi + 0x66], 1
push dword [ecx + 0x24]
call dword [eax + 0x24]
push dword [esp + 0x6c]
mov dword [esp + 0x18], eax
push edi
mov byte [edi + 0x66], 0
call fcn.0048951f
mov eax, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jne 0x4adee5
mov eax, dword [esp + 0x74]
push dword [eax + 0x24]
mov eax, dword [esp + 0x70]
call dword [eax + 0x28]
pop ecx
mov ecx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x70], ecx
jmp 0x4adee9
mov ecx, dword [esp + 0x70]
test ecx, ecx
jne 0x4a99c1
mov edx, dword [ebx + 8]
dec edx
jmp 0x4a99c5
mov eax, dword [ebx + 0x10]
push 1
mov eax, dword [eax + 8]
mov dword [esp + 0x6c], eax
imul eax, dword [ebx + 4], 0x28
add eax, dword [esp + 0x20]
push eax
mov dword [esp + 0x74], eax
call fcn.004a904e
mov dword [esp + 0x18], eax
pop ecx
pop ecx
test eax, eax
jne 0x4a99c1
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
mov edx, dword [ecx]
push dword [eax + 4]
push ecx
call dword [edx + 0x4c]
push dword [esp + 0x70]
mov dword [esp + 0x1c], eax
push edi
call fcn.0048951f
add esp, 0x10
mov byte [edi + 0x63], 0
jmp case.0x4a9718.17
mov eax, dword [ebx + 0x10]
xor edx, edx
mov eax, dword [eax + 8]
mov dword [esp + 0x68], eax
mov eax, dword [eax]
mov dword [esp + 0x6c], eax
mov esi, dword [ebx + 8]
mov dword [esp + 0x70], esi
cmp dword [eax + 0x34], edx
je 0x4a99b9
mov al, byte [ebp + 0x22]
mov byte [esp + 0x30], al
mov eax, dword [edi + 0xc]
mov dword [esp + 0x80], eax
imul ecx, dword [ebx + 0xc], 0x28
mov dword [esp + 0x74], edx
add ecx, dword [esp + 0x1c]
mov dword [esp + 0x84], ecx
test esi, esi
jle 0x4adfdd
push 0x28
pop edi
push ecx
call fcn.004afcda
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
pop ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + ecx*4], edx
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x74]
add ecx, edi
inc eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x74], eax
cmp eax, dword [esp + 0x70]
jl 0x4adf9e
mov edi, dword [esp + 0x20]
mov al, byte [ebx + 3]
mov byte [ebp + 0x22], al
lea eax, [esp + 0x78]
push eax
push dword [esp + 0x84]
mov eax, dword [esp + 0x74]
push dword [esp + 0x78]
push dword [esp + 0x74]
call dword [eax + 0x34]
mov dword [esp + 0x20], eax
mov al, byte [esp + 0x40]
mov byte [ebp + 0x22], al
push dword [esp + 0x78]
push edi
call fcn.0048951f
xor edx, edx
add esp, 0x18
cmp dword [esp + 0x10], edx
jne 0x4ae03d
cmp dword [ebx + 4], edx
je 0x4ae074
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x40], eax
mov dword [ebp + 0x30], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x3c], ecx
mov dword [ebp + 0x34], eax
mov eax, dword [esp + 0x10]
cmp eax, 0x13
jne 0x4ae078
mov eax, dword [ebx + 0x10]
cmp byte [eax + 0x10], 0
je 0x4ae074
mov al, byte [ebx + 3]
push 4
pop ecx
cmp al, cl
jne 0x4ae060
mov eax, edx
jmp 0x4aab63
cmp al, 5
jne 0x4ae069
push 2
pop eax
jmp 0x4ae06c
movzx eax, al
mov byte [edi + 0x60], al
jmp 0x4a99b9
mov eax, dword [esp + 0x10]
inc dword [edi + 0x6c]
jmp 0x4a99bd
mov ecx, dword [ebx + 4]
mov eax, dword [ebp + 8]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x30]
and dword [esi + 0x14], 0
mov dword [esi + 0x10], eax
jmp case.0x4a9718.17
mov ecx, dword [ebx + 4]
xor esi, esi
mov eax, dword [ebp + 8]
add ecx, ecx
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax + ecx*8 + 4]
mov dword [esp + 0x28], ecx
test edx, edx
je 0x4ae0c2
mov eax, dword [ecx + 4]
mov esi, dword [eax + 0x30]
cmp esi, edx
cmovb esi, edx
push ecx
call fcn.00494cd8
pop ecx
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 4]
mov eax, dword [eax]
test esi, esi
jle 0x4ae0dc
mov dword [eax + 0x84], esi
mov esi, dword [eax + 0x84]
push ecx
call fcn.00495399
mov eax, esi
mov esi, dword [esp + 0x1c]
pop ecx
jmp 0x4a980d
cmp dword [ebp + 0x98], 0
je case.0x4a9718.17
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x4ae10e
mov eax, dword [edi + 0xa0]
mov dword [esp + 0x68], eax
test eax, eax
je case.0x4a9718.17
push eax
push edi
call fcn.004ae5e1
push eax
mov dword [esp + 0x78], eax
push dword [ebp + 0x9c]
call dword [ebp + 0x98]
push dword [esp + 0x7c]
push ebp
call fcn.00497c57
add esp, 0x18
jmp case.0x4a9718.17
push 9
jmp 0x4ae310
mov ecx, dword [ebx + 4]
mov esi, dword [esp + 0x14]
mov dword [edi + 0x5c], ecx
mov al, byte [ebx + 8]
mov byte [edi + 0x60], al
mov dword [edi + 0x58], esi
cmp dword [ebx + 0x10], 0
je 0x4ae192
push dword [ebx + 0x10]
lea eax, [edi + 0x38]
push 0x4e5400
push ebp
push eax
call fcn.004a5f3c
push dword [ebx + 0x10]
push dword [edi + 0xa0]
push esi
push str.abort_at__d_in___s_:__s
push dword [ebx + 4]
call fcn.0047b3d3
add esp, 0x24
jmp 0x4ae1ad
test ecx, ecx
je 0x4ae1ad
push dword [edi + 0xa0]
push esi
push str.constraint_failed_at__d_in___s_
push dword [ebx + 4]
call fcn.0047b3d3
add esp, 0x10
push edi
call fcn.004ae9c0
pop ecx
push 5
pop ecx
cmp eax, ecx
je 0x4ae209
cmp dword [edi + 0x5c], 0
push 0x65
pop esi
push 1
pop eax
cmovne esi, eax
jmp 0x4ae360
cmp byte [ebp + 0x1e], 0
jne 0x4ae2f8
mov eax, dword [esp + 0x14]
inc eax
push 0x64
mov dword [edi + 0x58], eax
pop esi
jmp 0x4ae360
lea eax, [esp + 0x78]
push eax
call fcn.004af96b
pop ecx
jmp 0x4ae2f8
push 0x14
pop eax
jmp 0x4ae299
mov edx, dword [esp + 0x14]
mov dword [edi + 0x58], edx
mov byte [ebp + 0x1c], bl
mov esi, ecx
mov dword [edi + 0x5c], ecx
jmp 0x4ae360
test esi, esi
je 0x4ae23a
push ebp
call fcn.004a3fb4
pop ecx
mov byte [ebp + 0x1c], 1
push ebp
call fcn.004964d2
xor esi, esi
pop ecx
inc esi
cmp dword [edi + 0x5c], ebx
push 0x65
pop eax
cmove esi, eax
jmp 0x4ae360
push edx
push edi
call fcn.004a925a
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x4ae360
mov al, byte [esp + 0x68]
push edi
mov byte [ebp + 0x1c], al
call fcn.004ae9c0
pop ecx
push 5
pop ecx
cmp eax, ecx
jne 0x4ae222
mov edx, dword [esp + 0x14]
xor eax, eax
inc eax
mov dword [edi + 0x58], edx
sub al, byte [esp + 0x68]
mov byte [ebp + 0x1c], al
jmp 0x4ae209
mov edx, dword [esp + 0x14]
mov dword [edi + 0x58], edx
jmp 0x4ae209
push 0x10406
call fcn.00496de0
pop ecx
jmp 0x4ae299
push 0xd
jmp 0x4ae1f9
push 0xd
pop eax
mov edi, dword [esp + 0x20]
cmp byte [ebp + 0x1e], 0
push 7
pop ecx
cmovne eax, ecx
mov dword [esp + 0x10], eax
cmp eax, 0xc0a
je 0x4ae315
push eax
call fcn.00498e07
push eax
push 0x4e5400
lea eax, [edi + 0x38]
push ebp
push eax
call fcn.004a5f3c
mov eax, dword [esp + 0x24]
add esp, 0x14
jmp 0x4ae315
mov edi, dword [esp + 0x20]
push str.string_or_blob_too_big
lea eax, [edi + 0x38]
push ebp
push eax
call fcn.004a5f3c
add esp, 0xc
push 0x12
jmp 0x4ae310
push 9
pop ebx
mov dword [esp + 0x10], ebx
mov dword [edi + 0x5c], ebx
push ebx
jmp 0x4ae2af
mov edi, dword [esp + 0x20]
push str.out_of_memory
lea eax, [edi + 0x38]
mov byte [ebp + 0x1e], 1
push ebp
push eax
call fcn.004a5f3c
add esp, 0xc
push 7
pop eax
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x14]
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.0047b3d3
push edi
call fcn.004ae9c0
add esp, 0x18
cmp dword [esp + 0x10], 0xc0a
jne 0x4ae348
mov byte [ebp + 0x1e], 1
mov al, byte [esp + 0x3b]
xor esi, esi
inc esi
test al, al
je 0x4ae360
movzx eax, al
dec eax
push eax
push ebp
call fcn.004a3c3f
pop ecx
pop ecx
mov eax, dword [esp + 0x40]
mov dword [ebp + 0x30], eax
mov eax, dword [esp + 0x3c]
push edi
mov dword [ebp + 0x34], eax
call fcn.004aee7c
pop ecx
mov ecx, dword [esp + 0x130]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004b94b6
add esp, 0x124
ret