Function at 0x542a0c
Capabilities:
Encrypt data using speck
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x17c
mov dword [ebp - 0xe0], eax
mov eax, dword [eax + 0x68]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax]
mov dword [ebp - 0xec], eax
mov al, byte [eax + 0x54]
mov byte [ebp - 0x111], al
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x58]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xe0]
call fcn.004f3d0e
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x140], 0xffffffff
mov dword [ebp - 0x13c], 0xffffffff
cmp dword [eax + 0x174], 0
je 0x542aa3
mov ecx, dword [eax + 0x17c]
mov eax, dword [ebp - 0xe0]
xor edx, edx
mov dword [ebp - 0x13c], 0
mov eax, dword [eax + 0xb4]
div ecx
sub ecx, edx
mov dword [ebp - 0x140], ecx
mov eax, dword [ebp - 0xe0]
cmp dword [eax + 0x24], 7
je 0x54b099
mov dword [eax + 0x24], 0
mov dword [eax + 0x38], 0
mov dword [eax + 0x3c], 0
mov dword [eax + 0x78], 0
mov eax, dword [ebp - 0xec]
mov dword [eax + 0x1c8], 0
add eax, 0x128
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x128]
test eax, eax
jne 0x54ae18
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0
imul eax, dword [eax + 0x20], 0x14
add eax, dword [ebp - 0xf0]
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0xdc], eax
movzx eax, byte [ebp - 0x111]
mov byte [ebp - 0x112], 0
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xdc]
add dword [ebp - 0x130], 1
adc dword [ebp - 0x12c], 0
mov al, byte [eax]
mov byte [ebp - 0x100], al
cmp al, 0xb5
ja case.0x542b77.89
movzx ecx, al
jmp dword [ecx*4 + 0x668308]
mov eax, dword [ebp - 0xdc]
imul edx, dword [eax + 4], 0x28
sub eax, dword [ebp - 0xf0]
sar eax, 2
add edx, dword [ebp - 0xf8]
imul eax, eax, 0xcccccccd
mov word [edx + 0x10], 4
mov dword [edx], eax
sar eax, 0x1f
mov dword [edx + 4], eax
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xf0]
imul eax, dword [eax + 8], 0x14
lea eax, [edi + eax - 0x14]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x14c]
mov eax, dword [eax]
test eax, eax
jne 0x54ae4b
mov eax, dword [ebp - 0x140]
cmp dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x12c]
sbb eax, dword [ebp - 0x13c]
jb case.0x542b77.89
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x174]
test eax, eax
je case.0x542b77.89
mov edi, dword [ebp - 0xec]
xor ebx, ebx
mov edx, dword [edi + 0x178]
mov ecx, dword [edi + 0x17c]
add dword [ebp - 0x140], ecx
mov dword [esp], edx
adc dword [ebp - 0x13c], ebx
call eax
test eax, eax
je 0x542bd5
mov dword [ebp - 0x140], 0xffffffff
mov dword [ebp - 0x13c], 0xffffffff
mov dword [ebp - 0xe8], 9
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0xf8]
test byte [eax + 0x10], 4
je case.0x542b77.89
imul eax, dword [eax], 0x14
add eax, dword [ebp - 0xf0]
mov dword [ebp - 0xdc], eax
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xf8]
imul edx, dword [eax + 4], 0x28
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x100], eax
dec eax
mov dword [edi + edx], eax
sar eax, 0x1f
mov dword [edi + edx + 4], eax
mov eax, dword [ebp - 0xdc]
mov word [edi + edx + 0x10], 4
cmp dword [eax + 8], 0
jmp 0x547514
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xf0]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0xf8]
imul edx, dword [eax], 0x14
imul edx, dword [edi + edx + 8], 0x14
mov word [eax + 0x10], 0
lea edi, [edi + edx - 0x14]
mov dword [ebp - 0xdc], edi
jmp case.0x542b77.89
mov edx, dword [ebp - 0xdc]
sub edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xdc]
sar edx, 2
imul edx, edx, 0xcccccccd
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0xf8]
mov ecx, dword [eax]
mov word [eax + 0x10], 4
mov dword [eax], edx
sar edx, 0x1f
mov dword [eax + 4], edx
imul eax, ecx, 0x14
add eax, dword [ebp - 0xf0]
mov dword [ebp - 0xdc], eax
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xf8]
imul eax, dword [eax + 0xc], 0x28
test byte [edi + eax + 0x10], 1
je case.0x542b77.89
mov eax, dword [ebp - 0xe0]
mov edx, dword [eax + 0xd0]
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 4]
test edx, edx
je 0x542de5
test eax, eax
jne 0x542de5
mov eax, dword [edx + 4]
mov edi, dword [ebp - 0xe0]
mov ecx, dword [edi + 0x28]
mov ebx, dword [edi + 0x2c]
mov dword [edi + 0xd0], eax
mov eax, dword [ebp - 0xec]
dec dword [edi + 0xd8]
add dword [eax + 0x70], ecx
adc dword [eax + 0x74], ebx
mov dword [eax + 0x68], ecx
mov dword [eax + 0x6c], ebx
mov eax, edx
call fcn.00525edc
mov edi, dword [ebp - 0xdc]
cmp dword [edi + 8], 4
mov edi, dword [ebp - 0xe0]
mov edx, dword [edi + 0x68]
jne 0x542dc0
imul eax, eax, 0x14
mov eax, dword [edx + eax + 8]
dec eax
imul eax, eax, 0x14
mov edi, dword [ebp - 0xe0]
mov dword [ebp - 0xf0], edx
mov edi, dword [edi + 0x58]
add eax, edx
mov dword [ebp - 0xf8], edi
mov dword [ebp - 0xdc], eax
jmp case.0x542b77.89
mov edi, dword [ebp - 0xe0]
mov dword [edi + 0x24], eax
mov edi, dword [ebp - 0xdc]
mov edx, dword [edi + 8]
mov edi, dword [ebp - 0xe0]
mov byte [edi + 0x92], dl
test eax, eax
je 0x542ee6
mov eax, dword [ebp - 0xdc]
movzx eax, word [eax + 2]
test ax, ax
je 0x542e74
mov eax, dword [eax*4 + 0x669ee8]
mov dword [esp + 4], str._s_constraint_failed
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.00505009
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x542e97
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x7c]
mov dword [esp + 4], str._z:__s
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xec]
mov dword [esp], eax
call fcn.005050ab
mov edi, dword [ebp - 0xe0]
mov dword [edi + 0x7c], eax
jmp 0x542e97
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x10]
mov dword [esp + 4], 0x664b78
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe0]
mov dword [esp], eax
call fcn.00505009
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0xc8]
mov dword [esp + 4], str.abort_at__d_in___s_:__s
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xdc]
sub eax, dword [ebp - 0xf0]
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 4]
mov dword [esp], eax
call fcn.00505e47
mov eax, dword [ebp - 0xe0]
call fcn.005276ae
mov esi, eax
mov eax, dword [ebp - 0xe0]
cmp esi, 5
jne 0x545544
jmp 0x545527
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x58]
call fcn.004f210c
mov edi, dword [ebp - 0xdc]
mov edx, dword [edi + 4]
mov dword [eax], edx
sar edx, 0x1f
mov dword [eax + 4], edx
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x58]
call fcn.004f210c
mov edi, dword [ebp - 0xdc]
mov edx, dword [edi + 0x10]
mov ecx, dword [edx]
mov ebx, dword [edx + 4]
mov dword [eax], ecx
mov dword [eax + 4], ebx
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x58]
call fcn.004f210c
mov edi, dword [ebp - 0xdc]
mov word [eax + 0x10], 8
mov edx, dword [edi + 0x10]
movsd xmm0, qword [edx]
movsd qword [eax], xmm0
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x58]
call fcn.004f210c
mov ebx, eax
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 0x10]
mov eax, edx
mov dword [ebp - 0x100], edx
call fcn.004de0c2
mov edi, dword [ebp - 0xdc]
cmp byte [ebp - 0x111], 1
mov dword [edi + 4], eax
je 0x543074
mov dword [esp + 0xc], 0
mov edx, dword [ebp - 0x100]
mov eax, ebx
mov dword [esp + 8], 1
mov dword [esp], 0xffffffff
mov dword [esp + 4], 0xffffffff
call fcn.004f899b
test eax, eax
jne 0x54b074
mov edx, dword [ebp - 0x110]
mov eax, ebx
call fcn.004fba4b
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x54b0c0
mov eax, dword [ebp - 0xdc]
or word [ebx + 0x10], 0x2000
mov dword [ebx + 0x18], 0
cmp byte [eax + 1], 0xfa
jne 0x543058
mov eax, dword [eax + 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xec]
mov dword [esp], eax
call fcn.004e244d
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xdc]
mov byte [eax + 1], 0xfa
mov eax, dword [ebx + 8]
mov dword [edi + 0x10], eax
mov eax, dword [ebx + 0xc]
mov dword [edi + 4], eax
mov edi, dword [ebp - 0xec]
mov eax, dword [ebp - 0xdc]
mov edi, dword [edi + 0x78]
cmp dword [eax + 4], edi
jg 0x54b074
mov byte [eax], 0x49
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x58]
call fcn.004f210c
mov edi, dword [ebp - 0xdc]
mov cl, byte [ebp - 0x111]
mov word [eax + 0x10], 0x2202
mov edx, dword [edi + 0x10]
mov dword [eax + 8], edx
mov edx, dword [edi + 4]
mov byte [eax + 0x12], cl
mov dword [eax + 0xc], edx
mov edx, dword [edi + 0xc]
test edx, edx
jle case.0x542b77.89
imul edx, edx, 0x28
add edx, dword [ebp - 0xf8]
movzx ecx, word [edi + 2]
cmp dword [edx + 4], 0
jne case.0x542b77.89
cmp dword [edx], ecx
jne case.0x542b77.89
mov word [eax + 0x10], 0x2210
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x58]
call fcn.004f210c
mov ebx, eax
mov eax, dword [ebp - 0xdc]
mov edi, dword [eax + 0xc]
sub edi, dword [eax + 8]
cmp dword [eax + 4], 1
mov dword [ebx + 0xc], 0
sbb esi, esi
and si, 0xff00
add si, 0x101
mov word [ebx + 0x10], si
test edi, edi
jle case.0x542b77.89
add ebx, 0x28
dec edi
mov eax, ebx
call fcn.004e2e6f
mov word [ebx + 0x10], si
mov dword [ebx + 0xc], 0
jmp 0x54313c
mov eax, dword [ebp - 0xdc]
imul edx, dword [eax + 4], 0x28
add edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
and eax, 0xffffffc0
or eax, 1
mov word [edx + 0x10], ax
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x58]
call fcn.004f210c
mov ebx, eax
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 0x10]
test edx, edx
jne 0x5431e9
mov esi, dword [eax + 4]
mov eax, ebx
mov dword [ebp - 0x100], edx
call fcn.004e34aa
mov edx, dword [ebp - 0x100]
mov byte [ebx + 0x12], 1
mov eax, ebx
test esi, esi
mov word [ebx + 0x10], 0x410
cmovs esi, edx
mov dword [ebx + 0xc], 0
mov dword [ebx + 8], 0
mov dword [ebx], esi
call fcn.004f8792
test eax, eax
je 0x543213
jmp 0x54b0c0
mov eax, dword [ebp - 0xdc]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov eax, dword [eax + 4]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov eax, ebx
call fcn.004f899b
mov al, byte [ebp - 0x111]
mov byte [ebx + 0x12], al
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xe0]
imul eax, dword [eax + 4], 0x28
mov edx, dword [edi + 0x64]
lea esi, [edx + eax - 0x28]
mov eax, esi
call fcn.004c95ed
test eax, eax
jne 0x54b074
mov eax, dword [ebp - 0xdc]
imul ebx, dword [eax + 8], 0x28
add ebx, dword [ebp - 0xf8]
test word [ebx + 0x10], 0x9000
je 0x543266
mov eax, ebx
call fcn.004e2e6f
mov ecx, 5
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x10]
and ah, 0xaf
or ax, 0x2040
mov word [ebx + 0x10], ax
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0xdc]
imul ebx, dword [eax + 4], 0x28
add ebx, dword [ebp - 0xf8]
imul eax, dword [eax + 8], 0x28
add eax, dword [ebp - 0xf8]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x100]
mov esi, ebx
call fcn.004e34aa
mov edi, dword [ebp - 0x100]
mov ecx, 0xa
mov eax, dword [ebp - 0x100]
rep movsd dword es:[edi], dword [esi]
mov word [ebx + 0x10], 1
mov dword [ebx + 0x18], 0
test byte [eax + 0x11], 0x40
jne 0x5432fb
add dword [ebp - 0x100], 0x28
add ebx, 0x28
dec dword [ebp - 0x108]
jne 0x5432b1
jmp case.0x542b77.89
mov eax, dword [ebp - 0x100]
call fcn.004f88d3
test eax, eax
je 0x5432e4
jmp 0x54b0c0
mov eax, dword [ebp - 0xdc]
mov edi, dword [eax + 0xc]
imul esi, dword [eax + 4], 0x28
imul ebx, dword [eax + 8], 0x28
add esi, dword [ebp - 0xf8]
add ebx, dword [ebp - 0xf8]
mov ecx, 0x4000
mov edx, esi
mov eax, ebx
call fcn.004ebe4b
test byte [ebx + 0x11], 0x40
jne 0x54334a
mov eax, dword [ebx + 0x10]
test ah, 8
jne 0x54335a
jmp 0x54336d
mov eax, ebx
call fcn.004f88d3
test eax, eax
je 0x543340
jmp 0x54b0c0
mov ecx, dword [ebp - 0xdc]
test byte [ecx + 2], 2
je 0x54336d
and ah, 0xf7
mov word [ebx + 0x10], ax
test edi, edi
je case.0x542b77.89
add ebx, 0x28
add esi, 0x28
dec edi
jmp 0x54332c
mov eax, dword [ebp - 0xdc]
mov ecx, 0x4000
imul edx, dword [eax + 4], 0x28
add edx, dword [ebp - 0xf8]
imul eax, dword [eax + 8], 0x28
add eax, dword [ebp - 0xf8]
call fcn.004ebe4b
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xf8]
imul eax, dword [eax + 4], 0x28
mov edx, dword [edi + eax]
mov ecx, dword [edi + eax + 4]
mov eax, dword [ebp - 0xdc]
imul eax, dword [eax + 8], 0x28
add eax, edi
call fcn.004e304d
jmp case.0x542b77.89
mov eax, dword [ebp - 0xe0]
xor edx, edx
call fcn.0050503a
mov dword [ebp - 0xe8], eax
test eax, eax
je case.0x542b77.89
jmp 0x54ae91
mov eax, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xe0]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0xe8], eax
add eax, 2
or eax, 1
mov dword [edi + 0x1c], eax
mov eax, dword [ebp - 0xdc]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0xf8]
mov dword [edi + 0x78], eax
mov eax, dword [ebp - 0xec]
cmp byte [eax + 0x57], 0
jne 0x54b0c0
test byte [eax + 0x5e], 4
je 0x54346a
mov eax, dword [ebp - 0xec]
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
mov eax, dword [eax + 0xdc]
mov dword [esp], 4
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xec]
call dword [eax + 0xd8]
mov eax, dword [ebp - 0xdc]
sub eax, dword [ebp - 0xf0]
mov esi, 0x64
sar eax, 2
mov edi, dword [ebp - 0xe0]
imul eax, eax, 0xcccccccd
inc eax
mov dword [edi + 0x20], eax
jmp 0x54afd8
mov eax, dword [ebp - 0xdc]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0xf8]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0xdc]
imul ebx, dword [eax + 8], 0x28
add ebx, dword [ebp - 0xf8]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0xf8]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x108]
mov eax, dword [eax + 0x10]
mov word [ebp - 0x128], ax
or eax, dword [ebx + 0x10]
test al, 1
je 0x5434f0
mov eax, dword [ebp - 0x100]
call fcn.004e2e6f
jmp case.0x542b77.89
test byte [ebp - 0x128], 0x12
jne 0x54350e
mov edx, dword [ebp - 0x110]
mov eax, dword [ebp - 0x108]
xor ecx, ecx
call fcn.004fba66
jmp 0x543524
test word [ebp - 0x128], 0x400
je 0x543546
mov eax, dword [ebp - 0x108]
call fcn.004f8792
test eax, eax
jne 0x54b0c0
mov eax, dword [ebp - 0x108]
mov eax, dword [eax + 0x10]
mov word [ebp - 0x120], ax
and eax, 0xfffffffd
mov word [ebp - 0x128], ax
mov eax, dword [ebx + 0x10]
mov word [ebp - 0x138], ax
test al, 0x12
jne 0x543565
mov edx, dword [ebp - 0x110]
xor ecx, ecx
mov eax, ebx
call fcn.004fba66
jmp 0x543577
test word [ebp - 0x138], 0x400
je 0x54358c
mov eax, ebx
call fcn.004f8792
test eax, eax
jne 0x54b0c0
mov eax, dword [ebx + 0x10]
and eax, 0xfffffffd
mov word [ebp - 0x138], ax
mov edi, dword [ebp - 0x108]
mov eax, dword [ebx + 0xc]
add eax, dword [edi + 0xc]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0xec]
mov edi, dword [ebp - 0x120]
cmp edi, dword [eax + 0x78]
jg 0x54b074
xor ecx, ecx
mov eax, dword [ebp - 0x100]
cmp ebx, dword [ebp - 0x100]
lea edx, [edi + 2]
sete cl
call fcn.004f7dc3
test eax, eax
jne 0x54b0c0
mov eax, dword [ebp - 0x100]
mov edi, dword [ebp - 0x100]
mov eax, dword [eax + 0x10]
mov word [ebp - 0x148], ax
and ax, 0xf240
or eax, 2
mov word [edi + 0x10], ax
cmp ebx, edi
je 0x543610
mov eax, dword [edi + 8]
mov esi, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
mov edi, eax
mov eax, dword [ebp - 0x138]
rep movsb byte es:[edi], byte [esi]
mov word [ebx + 0x10], ax
mov edi, dword [ebp - 0x100]
mov eax, dword [ebx + 0xc]
add eax, dword [edi + 8]
mov edi, dword [ebp - 0x108]
cmp byte [ebp - 0x111], 1
mov esi, dword [edi + 8]
mov ecx, dword [edi + 0xc]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x108]
mov edi, dword [ebp - 0x128]
mov word [eax + 0x10], di
jbe 0x54364c
and dword [ebp - 0x120], 0xfffffffe
mov eax, dword [ebp - 0x100]
mov edi, dword [ebp - 0x120]
mov eax, dword [eax + 8]
mov byte [eax + edi], 0
mov eax, dword [ebp - 0x100]
mov eax, dword [eax + 8]
mov byte [eax + edi + 1], 0
mov eax, dword [ebp - 0x100]
mov dword [eax + 0xc], edi
mov edi, eax
or word [eax + 0x10], 0x200
mov al, byte [ebp - 0x111]
mov byte [edi + 0x12], al
jmp case.0x542b77.89
mov edi, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xdc]
imul edx, dword [edi + 8], 0x28
mov edi, dword [ebp - 0xdc]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0xf8]
add edx, dword [ebp - 0xf8]
imul ecx, dword [edi + 0xc], 0x28
mov dword [ebp - 0x138], eax
mov eax, dword [eax + 0x10]
add ecx, dword [ebp - 0xf8]
mov dword [ebp - 0x128], edx
mov edx, dword [edx + 0x10]
mov dword [ebp - 0x120], ecx
mov ecx, eax
and ecx, edx
and cl, 4
je 0x543a24
mov eax, dword [ebp - 0x138]
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0xfc], edx
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x104], edx
mov cl, byte [eax]
cmp cl, 0x6c
je 0x543820
ja 0x543735
cmp cl, 0x6a
je 0x543743
cmp cl, 0x6b
je 0x5437fb
jmp 0x54398f
cmp cl, 0x6d
je 0x543926
jmp 0x54398f
mov eax, dword [ebp - 0x100]
mov edx, dword [ebp - 0xfc]
add eax, dword [ebp - 0x108]
adc edx, dword [ebp - 0x104]
jo 0x54379f
mov edi, eax
mov esi, edx
jmp 0x5439f9
mov edi, dword [ebp - 0x104]
mov edx, dword [ebp - 0xfc]
imul edi, dword [ebp - 0x100]
mov eax, dword [ebp - 0x100]
imul edx, dword [ebp - 0x108]
add edi, edx
mul dword [ebp - 0x108]
lea esi, [edi + edx]
mov edx, eax
lea eax, [ebx + 1]
cmp eax, 1
jbe 0x5438fa
mov eax, dword [ebp - 0x138]
call fcn.004f4ceb
mov eax, dword [ebp - 0x128]
fstp qword [ebp - 0x100]
call fcn.004f4ceb
mov eax, dword [ebp - 0xdc]
fld qword [ebp - 0x100]
mov al, byte [eax]
cmp al, 0x6c
je 0x543a78
ja 0x5437ea
cmp al, 0x6a
je 0x543a74
cmp al, 0x6b
jne 0x543a9c
fsubp st(1)
jmp 0x543a94
cmp al, 0x6d
je 0x543a82
fstp st(0)
fstp st(0)
jmp 0x543aa0
mov esi, dword [ebp - 0x108]
mov edi, dword [ebp - 0x104]
sub esi, dword [ebp - 0x100]
sbb edi, dword [ebp - 0xfc]
mov ebx, edi
jo 0x54379f
mov edi, esi
mov esi, ebx
jmp 0x5439f9
mov eax, dword [ebp - 0x108]
mov esi, dword [ebp - 0x100]
mov ebx, dword [ebp - 0x104]
mov ecx, dword [ebp - 0xfc]
sar eax, 0x1f
sar esi, 0x1f
cmp eax, ebx
jne 0x543877
cmp esi, ecx
mov eax, dword [ebp - 0x100]
jne 0x54385b
imul dword [ebp - 0x108]
mov esi, eax
xchg esi, edx
jmp 0x54391f
mov edx, dword [ebp - 0xfc]
mov ebx, ecx
mov dword [ebp - 0x148], eax
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0x144], edx
jmp 0x54389d
cmp esi, ecx
jne 0x543766
mov eax, dword [ebp - 0x108]
mov edx, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x100]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], edx
mov eax, dword [ebp - 0x100]
mul dword [ebp - 0x108]
mov dword [ebp - 0x100], eax
mov eax, ecx
mov dword [ebp - 0xfc], edx
mul ebx
mov esi, eax
mov edi, edx
test ebx, ebx
jns 0x5438c7
xor eax, eax
sub esi, eax
sbb edi, ecx
test ecx, ecx
jns 0x5438d7
sub esi, dword [ebp - 0x148]
sbb edi, dword [ebp - 0x144]
mov edx, dword [ebp - 0xfc]
mov eax, edx
xor edx, edx
add esi, eax
adc edi, edx
mov edx, esi
sar edx, 0x1f
cmp edx, edi
jne 0x54379f
mov edx, dword [ebp - 0x100]
jmp 0x54391f
lea eax, [ecx + 1]
cmp eax, 1
ja 0x54379f
cmp ebx, ecx
jne 0x543917
xor eax, eax
cmp eax, edx
sbb eax, esi
jl 0x54391f
jmp 0x54379f
test esi, esi
jns 0x54379f
mov edi, edx
jmp 0x5439f9
mov eax, dword [ebp - 0xfc]
or eax, dword [ebp - 0x100]
je 0x543b5c
mov eax, dword [ebp - 0x104]
mov ebx, dword [ebp - 0x108]
lea ecx, [eax - 0x80000000]
or ebx, ecx
jne 0x543961
mov ecx, dword [ebp - 0x100]
and ecx, dword [ebp - 0xfc]
inc ecx
je 0x54379f
mov eax, dword [ebp - 0x100]
mov edx, dword [ebp - 0xfc]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x108]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x104]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00567290
jmp 0x5439f3
mov eax, dword [ebp - 0xfc]
or eax, dword [ebp - 0x100]
je 0x543b5c
cmp dword [ebp - 0xfc], 0xffffffff
jne 0x5439c7
cmp dword [ebp - 0x100], 0xffffffff
jne 0x5439c7
mov dword [ebp - 0x100], 1
mov dword [ebp - 0xfc], 0
mov eax, dword [ebp - 0x100]
mov edx, dword [ebp - 0xfc]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x108]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x104]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.005673e0
mov esi, eax
mov edi, edx
xchg edi, esi
mov eax, dword [ebp - 0x120]
mov dword [eax], edi
mov edi, dword [ebp - 0x120]
mov dword [eax + 4], esi
mov eax, dword [eax + 0x10]
mov word [ebp - 0x100], ax
and ax, 0xf240
or eax, 4
mov word [edi + 0x10], ax
jmp case.0x542b77.89
or edx, eax
and dl, 1
jne 0x543b5c
and ax, 0x2d
mov ebx, eax
jne 0x543a44
mov eax, dword [ebp - 0x138]
call fcn.004f87ef
mov ebx, eax
mov eax, dword [ebp - 0x128]
mov eax, dword [eax + 0x10]
mov word [ebp - 0x100], ax
and ax, 0x2d
jne 0x543a65
mov eax, dword [ebp - 0x128]
call fcn.004f87ef
and eax, ebx
test al, 4
je 0x54379f
jmp 0x5436e1
faddp st(1)
jmp 0x543a7a
fmulp st(1)
fstp qword [ebp - 0x100]
jmp 0x543b01
fldz
fxch st(1)
fucomi st(1)
fstp st(1)
jp 0x543a92
je 0x543b58
fdivp st(1)
fstp qword [ebp - 0x100]
jmp 0x543b01
fstp st(0)
fstp st(0)
mov eax, dword [ebp - 0x138]
call fcn.004e7257
mov esi, eax
mov ebx, edx
mov eax, dword [ebp - 0x128]
mov edi, ebx
call fcn.004e7257
or edi, esi
je 0x543b5c
cmp ebx, 0xffffffff
jne 0x543ad5
cmp esi, 0xffffffff
jne 0x543ad5
mov esi, 1
xor ebx, ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.005673e0
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], edx
fild qword [ebp - 0x100]
fstp qword [ebp - 0x100]
mov eax, dword [ebp - 0xfc]
mov edx, dword [ebp - 0x100]
mov ecx, eax
and ecx, 0x7ff00000
cmp ecx, 0x7ff00000
jne 0x543b26
and eax, 0xfffff
or eax, edx
jne 0x543b5c
mov eax, dword [ebp - 0x120]
movsd xmm1, qword [ebp - 0x100]
mov edi, dword [ebp - 0x120]
movsd qword [eax], xmm1
mov eax, dword [eax + 0x10]
mov word [ebp - 0x100], ax
and ax, 0xf240
or eax, 8
mov word [edi + 0x10], ax
jmp case.0x542b77.89
fstp st(0)
fstp st(0)
mov eax, dword [ebp - 0x120]
call fcn.004e2e6f
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 4]
test eax, eax
je case.0x542b77.89
imul eax, eax, 0x28
xor edx, edx
add eax, dword [ebp - 0xf8]
xor ecx, ecx
call fcn.004e304d
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xdc]
imul ebx, dword [eax + 4], 0x28
add ebx, dword [ebp - 0xf8]
imul eax, dword [eax + 8], 0x28
add eax, dword [ebp - 0xf8]
imul edx, dword [edi + 0xc], 0x28
add edx, dword [ebp - 0xf8]
mov dword [ebp - 0x100], edx
mov edx, dword [ebx + 0x10]
or edx, dword [eax + 0x10]
and dl, 1
je 0x543bdf
mov eax, dword [ebp - 0x100]
call fcn.004e2e6f
jmp case.0x542b77.89
call fcn.004e7257
mov esi, eax
mov eax, ebx
mov edi, edx
call fcn.004e7257
mov ecx, dword [ebp - 0xdc]
mov bl, byte [ecx]
cmp bl, 0x66
jne 0x543c04
mov ecx, esi
and edi, edx
and ecx, eax
jmp 0x543c0f
cmp bl, 0x67
jne 0x543c16
mov ecx, esi
or edi, edx
or ecx, eax
mov esi, ecx
jmp 0x543cc8
mov ecx, edx
or ecx, eax
je 0x543cc8
test edx, edx
jns 0x543c38
mov cl, 0xd1
sub ecx, ebx
cmp eax, 0xffffffc1
mov ebx, ecx
mov ecx, edx
sbb ecx, 0xffffffff
jl 0x543c48
neg eax
jmp 0x543c6a
mov ecx, 0x3f
cmp ecx, eax
mov ecx, 0
sbb ecx, edx
jge 0x543c6a
mov esi, edi
not esi
shr esi, 0x1f
cmp bl, 0x68
sete al
xor edi, edi
or esi, eax
xor esi, 1
mov eax, esi
movzx esi, al
neg esi
adc edi, 0
neg edi
jmp 0x543cc8
mov ecx, eax
mov edx, edi
mov eax, esi
cmp bl, 0x68
jne 0x543c87
shl eax, cl
shld edx, esi, cl
xor edi, edi
and cl, 0x20
cmovne edx, eax
cmovne eax, edi
jmp 0x543cc4
shr edx, cl
shrd eax, edi, cl
xor esi, esi
test cl, 0x20
cmovne eax, edx
cmovne edx, esi
test edi, edi
jns 0x543cc4
mov ebx, 0x40
mov esi, 0xffffffff
sub ebx, ecx
mov edi, esi
mov ecx, ebx
xor ebx, ebx
shl esi, cl
test cl, 0x20
mov ecx, eax
cmovne edi, esi
cmovne esi, ebx
mov ebx, edx
or ecx, esi
or ebx, edi
mov eax, ecx
mov edx, ebx
mov esi, eax
mov edi, edx
mov eax, dword [ebp - 0x100]
mov dword [eax + 4], edi
mov edi, dword [ebp - 0x100]
mov dword [eax], esi
mov eax, dword [eax + 0x10]
mov word [ebp - 0x108], ax
and ax, 0xf240
or eax, 4
mov word [edi + 0x10], ax
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
imul ebx, dword [eax + 4], 0x28
add ebx, dword [ebp - 0xf8]
mov eax, ebx
call fcn.004f2214
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 8]
cdq
add dword [ebx], eax
adc dword [ebx + 4], edx
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
imul ebx, dword [eax + 4], 0x28
add ebx, dword [ebp - 0xf8]
test byte [ebx + 0x10], 4
jne 0x543d7b
mov ecx, dword [ebp - 0x110]
mov edx, 0x43
mov eax, ebx
call fcn.004fbc3c
test byte [ebx + 0x10], 4
jne 0x543d7b
mov eax, dword [ebp - 0xdc]
cmp dword [eax + 8], 0
je 0x54ae57
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xf0]
imul eax, dword [eax + 8], 0x14
lea eax, [edi + eax - 0x14]
mov dword [ebp - 0xdc], eax
jmp case.0x542b77.89
mov eax, dword [ebx + 0x10]
and ax, 0xf240
or eax, 4
mov word [ebx + 0x10], ax
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
imul ebx, dword [eax + 4], 0x28
add ebx, dword [ebp - 0xf8]
test byte [ebx + 0x10], 0x24
je case.0x542b77.89
mov eax, ebx
call fcn.004f4ceb
mov eax, dword [ebx + 0x10]
fstp qword [ebx]
and ax, 0xf240
or eax, 8
mov word [ebx + 0x10], ax
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
imul ebx, dword [eax + 4], 0x28
add ebx, dword [ebp - 0xf8]
test byte [ebx + 0x11], 4
jne 0x543e04
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0x110]
movzx edx, byte [eax + 8]
mov eax, ebx
call fcn.004fbe99
mov dword [ebp - 0xe8], eax
test eax, eax
je case.0x542b77.89
jmp 0x54ae91
mov eax, ebx
call fcn.004f8792
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x543dda
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
imul esi, dword [eax + 4], 0x28
add esi, dword [ebp - 0xf8]
imul ebx, dword [eax + 0xc], 0x28
mov eax, dword [esi + 0x10]
add ebx, dword [ebp - 0xf8]
mov edi, dword [ebx + 0x10]
mov edx, eax
mov word [ebp - 0x100], ax
and edx, edi
test dl, 4
je 0x543eb6
mov edx, dword [ebx]
mov eax, dword [ebx + 4]
mov edi, dword [esi]
mov ebx, dword [esi + 4]
cmp edi, edx
mov esi, ebx
sbb esi, eax
jge 0x543e78
cmp byte [ecx + 0x670af8], 0
jne 0x543d5c
mov dword [ebp - 0x10c], 1
jmp case.0x542b77.89
cmp edx, edi
sbb eax, ebx
jge 0x543e9a
cmp byte [ecx + 0x670aec], 0
jne 0x543d5c
mov dword [ebp - 0x10c], 0xffffffff
jmp case.0x542b77.89
cmp byte [ecx + 0x670af2], 0
jne 0x543d5c
mov dword [ebp - 0x10c], 0
jmp case.0x542b77.89
mov ecx, dword [ebp - 0x100]
mov eax, dword [ebp - 0xdc]
or ecx, edi
mov ax, word [eax + 2]
test cl, 1
je 0x543f13
test al, 0x80
je 0x543efc
and dl, 1
je 0x543ee1
test di, 0x100
je 0x54400d
test edi, 1
jne 0x543fef
mov dword [ebp - 0x10c], 1
jmp 0x544029
test al, 0x10
jne 0x543d5c
mov dword [ebp - 0x10c], 1
jmp case.0x542b77.89
and eax, 0x47
cmp al, 0x42
jle 0x543f58
and cl, 2
je 0x543fd1
mov eax, dword [ebp - 0x100]
and eax, 0x2e
cmp ax, 2
jne 0x543f3e
xor edx, edx
mov eax, esi
call fcn.004f4dee
mov edi, dword [ebx + 0x10]
mov eax, edi
and eax, 0x2e
cmp ax, 2
jne 0x543fd1
xor edx, edx
mov eax, ebx
call fcn.004f4dee
jmp 0x543fd1
jne 0x543fd1
test byte [ebp - 0x100], 2
jne 0x543fa2
test byte [ebp - 0x100], 0x2c
je 0x543fa2
mov edx, dword [ebp - 0x110]
mov ecx, 1
mov eax, esi
call fcn.004fba66
mov edx, dword [ebp - 0x100]
mov eax, dword [esi + 0x10]
and dx, 0xdbf
and ax, 0xf240
or eax, edx
mov word [ebp - 0x100], ax
cmp esi, ebx
jne 0x543fa2
mov edi, eax
or edi, 2
test edi, 2
jne 0x543fd1
test di, 0x2c
je 0x543fd1
mov edx, dword [ebp - 0x110]
mov ecx, 1
mov eax, ebx
and di, 0xdbf
call fcn.004fba66
mov eax, dword [ebx + 0x10]
and ax, 0xf240
or edi, eax
mov eax, dword [ebp - 0xdc]
mov edx, esi
mov ecx, dword [eax + 0x10]
mov eax, ebx
call fcn.0050a5c4
mov dword [ebp - 0x10c], eax
test eax, eax
jns 0x54400b
jmp 0x543ff9
mov dword [ebp - 0x10c], 0xffffffff
mov eax, dword [ebp - 0xdc]
movzx eax, byte [eax]
movzx eax, byte [eax + 0x670aec]
jmp 0x544039
jne 0x544029
mov dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0xdc]
movzx eax, byte [eax]
movzx eax, byte [eax + 0x670af2]
jmp 0x544039
mov eax, dword [ebp - 0xdc]
movzx eax, byte [eax]
movzx eax, byte [eax + 0x670af8]
mov word [ebx + 0x10], di
mov edi, dword [ebp - 0x100]
mov word [esi + 0x10], di
jmp 0x547512
cmp dword [ebp - 0x10c], 0
jmp 0x549827
mov dword [ebp - 0x100], 0
mov eax, dword [ebp - 0xdc]
test byte [eax + 2], 1
je 0x54407a
mov eax, dword [eax - 4]
add eax, 4
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xdc]
xor esi, esi
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0xdc]
mov edi, dword [eax + 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 8]
mov dword [ebp - 0x138], eax
cmp esi, dword [ebp - 0x120]
jge case.0x542b77.89
cmp dword [ebp - 0x100], 0
mov ebx, esi
je 0x5440cc
mov eax, dword [ebp - 0x100]
mov ebx, dword [eax + esi*4]
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + esi*4 + 0x14]
mov al, byte [eax + esi]
mov byte [ebp - 0x108], al
mov eax, dword [ebp - 0x138]
lea edx, [eax + ebx]
add ebx, dword [ebp - 0x128]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0xf8]
imul edx, edx, 0x28
mov eax, ebx
add edx, dword [ebp - 0xf8]
mov dword [ebp - 0x148], edx
call fcn.0050a5c4
mov edx, dword [ebp - 0x148]
test eax, eax
mov dword [ebp - 0x10c], eax
je 0x54414d
mov eax, dword [edi + 0x10]
test byte [eax + esi], 2
je 0x544135
test byte [ebx + 0x10], 1
jne 0x54412f
test byte [edx + 0x10], 1
je 0x544135
neg dword [ebp - 0x10c]
test byte [ebp - 0x108], 1
je case.0x542b77.89
neg dword [ebp - 0x10c]
jmp case.0x542b77.89
inc esi
jmp 0x5440ac
cmp dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0xdc]
jns 0x54417b
imul eax, dword [eax + 4], 0x14
mov edi, dword [ebp - 0xf0]
lea eax, [edi + eax - 0x14]
mov dword [ebp - 0xdc], eax
jmp case.0x542b77.89
jne 0x544196
imul eax, dword [eax + 8], 0x14
mov edi, dword [ebp - 0xf0]
lea eax, [edi + eax - 0x14]
mov dword [ebp - 0xdc], eax
jmp case.0x542b77.89
imul eax, dword [eax + 0xc], 0x14
mov edi, dword [ebp - 0xf0]
lea eax, [edi + eax - 0x14]
mov dword [ebp - 0xdc], eax
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov edx, 2
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0xf8]
call fcn.004f4d2e
mov edx, 2
mov ebx, eax
mov eax, dword [ebp - 0xdc]
imul eax, dword [eax + 8], 0x28
add eax, dword [ebp - 0xf8]
call fcn.004f4d2e
mov edx, eax
mov eax, dword [ebp - 0xdc]
cmp byte [eax], 0x2c
jne 0x5441ff
lea eax, [ebx + ebx*2]
movzx ecx, byte [edx + eax + 0x669ec8]
jmp 0x54420a
lea eax, [ebx + ebx*2]
movzx ecx, byte [edx + eax + 0x669ebc]
mov eax, dword [ebp - 0xdc]
imul edx, dword [eax + 0xc], 0x28
add edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
and ax, 0xf240
cmp ecx, 2
jne 0x544232
or eax, 1
mov word [edx + 0x10], ax
jmp case.0x542b77.89
mov dword [edx], ecx
or eax, 4
sar ecx, 0x1f
mov dword [edx + 4], ecx
mov word [edx + 0x10], ax
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 0xc]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0xf8]
call fcn.004f4d2e
mov edi, dword [ebp - 0xdc]
xor eax, dword [edi + 0x10]
imul ebx, dword [edi + 8], 0x28
cdq
add ebx, dword [ebp - 0xf8]
mov ecx, edx
mov edx, eax
mov eax, ebx
call fcn.004e304d
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xdc]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0xf8]
imul ebx, dword [edi + 8], 0x28
add ebx, dword [ebp - 0xf8]
test byte [eax + 0x10], 1
jne 0x5442c9
xor edx, edx
call fcn.004f4d2e
test eax, eax
sete al
xor edx, edx
movzx eax, al
mov ecx, edx
mov edx, eax
mov eax, ebx
call fcn.004e304d
jmp case.0x542b77.89
mov eax, ebx
call fcn.004e2e6f
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
imul esi, dword [eax + 8], 0x28
add esi, dword [ebp - 0xf8]
imul ebx, dword [eax + 4], 0x28
mov eax, esi
add ebx, dword [ebp - 0xf8]
call fcn.004e2e6f
test byte [ebx + 0x10], 1
jne case.0x542b77.89
mov word [esi + 0x10], 4
mov eax, ebx
call fcn.004e7257
not eax
not edx
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x542b77.89
mov eax, dword [ebp - 0xe0]
mov ebx, dword [eax + 0xd0]
mov eax, dword [eax + 0x68]
test ebx, ebx
je 0x544365
mov ecx, dword [ebp - 0xdc]
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xcccccccd
mov edx, ecx
and ecx, 7
shr edx, 3
add edx, dword [ebx + 0x18]
movzx ebx, byte [edx]
bt ebx, ecx
mov eax, ebx
jb 0x543d5c
mov ebx, 1
shl ebx, cl
or eax, ebx
mov byte [edx], al
jmp 0x544377
mov edi, dword [ebp - 0xdc]
mov edi, dword [edi + 4]
cmp dword [eax + 4], edi
je 0x543d5c
mov eax, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xdc]
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 4]
mov dword [edi + 4], eax
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 0xc]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0xf8]
call fcn.004f4d2e
jmp 0x547512
mov eax, dword [ebp - 0xdc]
xor edx, edx
cmp dword [eax + 0xc], 0
sete dl
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0xf8]
call fcn.004f4d2e
jmp 0x546612
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xf8]
imul eax, dword [eax + 4], 0x28
test byte [edi + eax + 0x10], 1
jmp 0x547514
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [eax + 0xc]
test edx, edx
js 0x544442
mov edi, dword [ebp - 0xe0]
mov ecx, dword [edi + 0x60]
mov edx, dword [ecx + edx*4]
movzx ecx, word [edx + 0x3e]
cmp ecx, eax
jle 0x544431
mov eax, dword [edx + eax*4 + 0x58]
cmp eax, 0xb
jbe 0x544428
and eax, 1
cmp eax, 1
sbb eax, eax
and eax, 4
add eax, 4
jmp 0x54445d
movzx eax, byte [eax + 0x669eb0]
jmp 0x54445d
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x100], eax
jmp 0x544453
imul eax, eax, 0x28
add eax, dword [ebp - 0xf8]
mov dword [esp], eax
call fcn.004cb3f6
lea ecx, [eax - 1]
mov eax, 1
shl eax, cl
mov edi, dword [ebp - 0xdc]
and ax, word [edi + 2]
jmp 0x547514
mov edi, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xdc]
imul edx, dword [edi + 4], 0x28
mov eax, dword [eax + 8]
mov edi, dword [ebp - 0xf8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xf8]
test byte [edi + edx + 0x10], 1
jne 0x5444ac
mov edi, dword [ebp - 0xdc]
imul edx, dword [edi + 0xc], 0x28
mov edi, dword [ebp - 0xf8]
test byte [edi + edx + 0x10], 1
je 0x5444b6
call fcn.004e2e6f
jmp case.0x542b77.89
xor edx, edx
xor ecx, ecx
call fcn.004e304d
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xf8]
imul eax, dword [eax + 4], 0x28
test byte [edi + eax + 0x10], 1
jmp 0x549827
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
test eax, eax
je case.0x542b77.89
cmp byte [eax + 2], 0
je case.0x542b77.89
mov eax, dword [ebp - 0xdc]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0xf8]
call fcn.004e2e6f
jmp 0x543d5c
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 8]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0xe0]
mov esi, dword [ebx + 0x48]
mov eax, dword [eax + 0x1c]
cmp dword [ebx + 0x20], eax
je 0x544692
cmp byte [ebx + 2], 0
je 0x5445a1
cmp byte [ebx], 3
jne 0x544587
mov eax, dword [ebx + 0x24]
test eax, eax
jle 0x544587
imul eax, eax, 0x28
add eax, dword [ebp - 0xf8]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [ebx + 0x54], edx
mov dword [ebx + 0x50], edx
mov dword [ebx + 0x4c], eax
jmp 0x54462c
mov eax, dword [ebp - 0xdc]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0xf8]
call fcn.004e2e6f
jmp case.0x542b77.89
cmp byte [ebx + 3], 0
mov edi, dword [ebx + 0x2c]
je 0x5445de
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x5445c8
mov ecx, dword [ebp - 0x108]
mov eax, dword [eax + ecx*4 + 4]
test eax, eax
je 0x5445c8
mov ebx, dword [ebx + 0x28]
dec eax
jmp 0x54453d
mov eax, ebx
call fcn.00522dd2
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x5445fd
jmp 0x54ae91
cmp byte [edi], 0
je 0x5445fd
mov eax, ebx
call fcn.0052280c
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x544543
jmp 0x54ae91
mov eax, edi
call fcn.004df4bc
mov eax, dword [edi + 0x2c]
mov edx, dword [edi + 0x28]
movzx ecx, word [edi + 0x30]
mov dword [ebx + 0x50], eax
mov eax, dword [edi + 0x74]
mov edi, 0
mov eax, dword [eax + 0x3c]
mov dword [ebx + 0x4c], edx
sub eax, edx
cmovs eax, edi
cmp ecx, eax
cmovle eax, ecx
mov dword [ebx + 0x54], eax
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x1c]
mov dword [ebx + 0x20], eax
mov eax, dword [ebx + 0x4c]
movzx edx, byte [eax]
mov dword [esi], edx
cmp edx, 0x7f
ja 0x54464e
mov dword [ebx + 0x34], 1
jmp 0x54465b
mov edx, esi
call fcn.004e63d5
movzx eax, al
mov dword [ebx + 0x34], eax
mov word [ebx + 0x3e], 0
mov eax, dword [esi]
cmp dword [ebx + 0x54], eax
jae 0x54468d
mov dword [ebx + 0x54], 0
mov eax, dword [esi]
mov dword [ebx + 0x4c], 0
cmp eax, 0x18003
ja 0x544a43
cmp eax, dword [ebx + 0x50]
jbe 0x5446c4
jmp 0x544a43
mov eax, dword [ebx + 0x4c]
jmp 0x544705
mov eax, dword [ebx + 0x2c]
cmp byte [eax], 0
je 0x5446b4
mov eax, ebx
call fcn.0052280c
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x544543
jmp 0x54ae91
movzx eax, word [ebx + 0x3e]
cmp eax, dword [ebp - 0x108]
ja 0x54487f
mov eax, dword [esi]
cmp dword [ebx + 0x34], eax
jae 0x544831
mov eax, dword [ebx + 0x4c]
mov dword [ebp - 0x100], eax
test eax, eax
jne 0x54470b
lea edx, [ebp - 0x80]
mov ecx, 0xa
mov edi, edx
rep stosd dword es:[edi], eax
mov ecx, edx
mov eax, dword [ebx + 0x2c]
mov edx, dword [esi]
call fcn.005222d1
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x54ae91
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x100], eax
movzx ecx, word [ebx + 0x3e]
xor edx, edx
mov edi, dword [ebp - 0x100]
mov dword [ebp - 0x11c], edx
add edi, dword [ebx + 0x34]
mov eax, dword [esi + ecx*4]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x100]
add eax, dword [esi]
mov dword [ebp - 0x128], eax
movzx eax, byte [edi]
mov dword [ebp - 0xc8], eax
mov dword [ebx + ecx*4 + 0x58], eax
cmp eax, 0x7f
ja 0x544753
movzx eax, byte [eax + 0x66ffa0]
inc edi
jmp 0x544780
mov eax, edi
lea edx, [ebp - 0xc8]
mov dword [ebp - 0x138], ecx
call fcn.004e63d5
mov ecx, dword [ebp - 0x138]
movzx eax, al
add edi, eax
mov eax, dword [ebp - 0xc8]
mov dword [ebx + ecx*4 + 0x58], eax
call fcn.004ca189
xor edx, edx
add dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x120]
adc dword [ebp - 0x11c], edx
inc ecx
mov dword [esi + ecx*4], eax
cmp dword [ebp - 0x108], ecx
jb 0x5447aa
cmp edi, dword [ebp - 0x128]
jb 0x544737
jmp 0x5447b2
cmp edi, dword [ebp - 0x128]
jb 0x5447c8
ja 0x5447f0
cmp dword [ebp - 0x11c], 0
mov eax, dword [ebx + 0x50]
jne 0x5447f0
cmp eax, dword [ebp - 0x120]
jne 0x5447f0
mov eax, dword [ebx + 0x50]
xor edx, edx
mov dword [ebp - 0x134], edx
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x120]
cmp dword [ebx + 0x50], eax
mov eax, dword [ebp - 0x134]
sbb eax, dword [ebp - 0x11c]
jae 0x544814
cmp dword [esi], 0
je 0x54480c
cmp dword [ebx + 0x4c], 0
jne 0x544a43
lea eax, [ebp - 0x80]
call fcn.004e34aa
jmp 0x544a43
mov edi, dword [ebp - 0x128]
xor ecx, ecx
sub edi, dword [ebp - 0x100]
cmp dword [ebx + 0x4c], 0
mov word [ebx + 0x3e], cx
mov dword [ebx + 0x34], edi
jne 0x54483b
lea eax, [ebp - 0x80]
call fcn.004e34aa
jmp 0x54483b
mov dword [ebp - 0xc8], 0
movzx eax, word [ebx + 0x3e]
cmp eax, dword [ebp - 0x108]
ja 0x54488f
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xdc]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0xf8]
cmp byte [edi + 1], 0xf6
jne 0x544875
mov edx, dword [edi + 0x10]
mov ecx, 0x2000
call fcn.004ebe4b
jmp case.0x542b77.89
call fcn.004e2e6f
jmp case.0x542b77.89
mov eax, dword [ebp - 0x108]
mov eax, dword [ebx + eax*4 + 0x58]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xdc]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0xf8]
mov dword [ebp - 0x100], eax
test word [eax + 0x10], 0x9000
je 0x5448b2
call fcn.004e2e6f
mov eax, dword [ebp - 0x108]
mov edx, dword [ebp - 0xc8]
inc eax
lea ecx, [eax*4]
mov eax, dword [esi + eax*4]
cmp dword [ebx + 0x54], eax
jb 0x544997
mov esi, dword [esi + ecx - 4]
add esi, dword [ebx + 0x4c]
cmp edx, 0xb
ja 0x5448f0
mov ecx, dword [ebp - 0x100]
mov eax, esi
call fcn.004ca65c
jmp case.0x542b77.89
mov eax, dword [ebp - 0x100]
lea ebx, [edx - 0xc]
shr ebx, 1
mov dword [eax + 0xc], ebx
mov edi, eax
mov al, byte [ebp - 0x111]
mov byte [edi + 0x12], al
lea eax, [ebx + 1]
cmp eax, dword [edi + 0x18]
jl 0x54493b
mov eax, dword [ebp - 0xec]
cmp dword [eax + 0x78], ebx
jl 0x54b074
mov word [edi + 0x10], 1
xor ecx, ecx
mov eax, edi
lea edx, [ebx + 2]
call fcn.004f7dc3
test eax, eax
je 0x54494d
jmp 0x54b0c0
mov eax, dword [ebp - 0x100]
mov edi, dword [ebp - 0x100]
mov eax, dword [eax + 0x20]
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x100]
mov ecx, ebx
mov eax, dword [eax + 8]
mov edi, eax
mov eax, dword [ebp - 0x100]
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0x100]
mov eax, dword [eax + 8]
mov byte [eax + ebx], 0
mov eax, dword [ebp - 0x100]
mov eax, dword [eax + 8]
mov byte [eax + ebx + 1], 0
mov eax, dword [ebp - 0xc8]
and eax, 1
mov ax, word [eax + eax + 0x669eac]
mov word [edi + 0x10], ax
jmp case.0x542b77.89
mov al, byte [ebp - 0x111]
mov edi, dword [ebp - 0x100]
mov byte [edi + 0x12], al
mov eax, dword [ebp - 0xdc]
mov ax, word [eax + 2]
test al, 0xc0
je 0x5449c2
cmp edx, 0xb
jbe 0x5449be
test dl, 1
je 0x5449cd
test al, 0x80
jne 0x5449cd
mov eax, edx
call fcn.004ca189
test eax, eax
jne 0x5449e2
mov ecx, dword [ebp - 0x100]
mov eax, 0x670920
call fcn.004ca65c
jmp case.0x542b77.89
mov edi, dword [ebp - 0xec]
cmp dword [edi + 0x78], eax
jl 0x54b074
mov edi, dword [ebp - 0x100]
mov edx, dword [esi + ecx - 4]
mov ecx, eax
mov ebx, dword [ebx + 0x2c]
mov dword [esp], edi
mov eax, ebx
call fcn.00522237
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x54ae91
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x100]
mov edx, dword [ebp - 0xc8]
mov eax, dword [eax + 8]
call fcn.004ca65c
mov eax, dword [ebp - 0x100]
and word [eax + 0x10], 0xbfff
jmp case.0x542b77.89
mov eax, dword [ebp - 0xf0]
mov eax, dword [eax + 0xc]
test eax, eax
jle 0x544a68
imul eax, eax, 0x14
mov edi, dword [ebp - 0xf0]
lea eax, [edi + eax - 0x14]
mov dword [ebp - 0xdc], eax
jmp case.0x542b77.89
mov eax, 0x16a19
call fcn.0050711b
mov dword [ebp - 0xe8], eax
jmp 0x54ae91
mov dword [ebp - 0x108], 0
mov eax, dword [ebp - 0xdc]
mov esi, dword [eax + 0x10]
imul ebx, dword [eax + 4], 0x28
add ebx, dword [ebp - 0xf8]
mov edi, dword [esi + 4]
movsx eax, word [esi + 0x22]
cmp eax, dword [ebp - 0x108]
jle case.0x542b77.89
mov ax, word [edi + 0xe]
test al, 0x60
je 0x544acd
test al, 0x20
jne 0x544b64
mov eax, dword [ebp - 0xdc]
cmp dword [eax + 0xc], 0
jne 0x544b61
mov ecx, dword [ebp - 0x110]
movsx edx, byte [edi + 8]
mov eax, ebx
call fcn.004fbc3c
mov ecx, dword [ebx + 0x10]
test cl, 1
jne 0x544b61
mov al, byte [edi + 4]
shr al, 4
cmp al, 5
je 0x544b1f
ja 0x544b0b
cmp al, 2
je 0x544b11
lea edx, [eax + 0xd]
and edx, 0xf
cmp dl, 1
ja 0x544b61
and cl, 4
jne 0x544b61
movzx edx, al
jmp 0x544b85
cmp al, 6
je 0x544b18
jmp 0x544b61
and cl, 0x10
jne 0x544b61
jmp 0x544b72
and cl, 2
jne 0x544b61
jmp 0x544b79
test cl, 4
je 0x544b5c
mov edx, dword [ebx + 4]
mov eax, dword [ebx]
and ecx, 0xfffffffb
mov dword [ebp - 0xfc], edx
add edx, 0x8000
mov dword [ebp - 0x100], eax
cmp edx, 0xffff
ja 0x544b4b
or ecx, 0x20
jmp 0x544b56
fild qword [ebp - 0x100]
or ecx, 8
fstp qword [ebx]
mov word [ebx + 0x10], cx
jmp 0x544b61
and cl, 0x28
je 0x544b80
add ebx, 0x28
inc dword [ebp - 0x108]
add edi, 0x10
jmp 0x544a9d
mov edx, 2
jmp 0x544b85
mov edx, 6
jmp 0x544b85
mov edx, 5
mov dword [esp], ebx
call fcn.004cb3f6
mov ecx, dword [edi]
mov edx, dword [edx*4 + 0x660b8c]
mov eax, dword [eax*4 + 0x669e90]
mov dword [esp + 0x14], ecx
mov ecx, dword [esi]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe0]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 4], str.cannot_store__s_value_in__s_column__s._s
mov dword [esp], eax
call fcn.00505009
mov dword [ebp - 0xe8], 0xc13
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
mov esi, dword [eax + 0x10]
imul ebx, dword [eax + 4], 0x28
add ebx, dword [ebp - 0xf8]
movsx edx, byte [esi]
mov ecx, dword [ebp - 0x110]
mov eax, ebx
call fcn.004fbc3c
cmp byte [esi], 0x45
jne 0x544c3a
mov ecx, dword [ebx + 0x10]
test cl, 4
je 0x544c3a
mov edx, dword [ebx + 4]
mov eax, dword [ebx]
and ecx, 0xfffffffb
mov dword [ebp - 0xfc], edx
add edx, 0x8000
mov dword [ebp - 0x100], eax
cmp edx, 0xffff
ja 0x544c2b
or ecx, 0x20
jmp 0x544c36
fild qword [ebp - 0x100]
or ecx, 8
fstp qword [ebx]
mov word [ebx + 0x10], cx
inc esi
cmp byte [esi], 0
je case.0x542b77.89
add ebx, 0x28
jmp 0x544be7
mov eax, dword [ebp - 0xdc]
mov ebx, dword [eax + 0x10]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0xf8]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0x100]
imul eax, dword [eax + 8], 0x28
lea eax, [edi + eax - 0x28]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0xdc]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0xf8]
mov dword [ebp - 0x120], eax
test ebx, ebx
jne 0x544cd3
mov dword [ebp - 0x148], 0
mov ebx, dword [ebp - 0x118]
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x104], 0
jmp 0x544d90
mov esi, dword [ebp - 0x100]
movsx edx, byte [ebx]
mov ecx, dword [ebp - 0x110]
mov eax, esi
call fcn.004fbc3c
cmp byte [ebx], 0x45
jne 0x544cff
mov eax, dword [esi + 0x10]
test al, 4
je 0x544cff
and eax, 0xfffffffb
or eax, 0x20
mov word [esi + 0x10], ax
inc ebx
add esi, 0x28
cmp byte [ebx], 0
jne 0x544cd9
jmp 0x544c96
test al, 0x24
je 0x544e92
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
mov dword [ebp - 0x124], ecx
cmp dword [ebp - 0x124], 0
mov dword [ebp - 0x128], edx
mov edx, dword [ebp - 0x128]
jns 0x544daf
mov ecx, dword [ebp - 0x124]
not edx
not ecx
mov esi, ecx
mov edi, 0x7f
xor ecx, ecx
inc dword [ebp - 0x138]
cmp edi, edx
mov edi, ecx
sbb edi, esi
jb 0x544dce
mov eax, dword [ebp - 0x128]
and eax, 1
cmp ecx, dword [ebp - 0x124]
jne 0x544db7
cmp eax, dword [ebp - 0x128]
jne 0x544db7
mov eax, dword [ebp - 0xe0]
cmp byte [eax + 0x93], 3
jbe 0x544db7
add edx, 8
mov dword [ebx + 0x1c], edx
cmp ebx, dword [ebp - 0x100]
je 0x544f44
sub ebx, 0x28
mov eax, dword [ebx + 0x10]
test al, 1
je 0x544d0a
shl eax, 0x15
inc dword [ebp - 0x138]
sar eax, 0x1f
and eax, 0xa
mov dword [ebx + 0x1c], eax
jmp 0x544d81
mov ecx, dword [ebp - 0x124]
jmp 0x544d3c
add dword [ebp - 0x108], 1
mov dword [ebx + 0x1c], 1
adc dword [ebp - 0x104], 0
jmp 0x544d81
mov edi, 0x7fff
cmp edi, edx
mov edi, ecx
sbb edi, esi
jb 0x544df2
add dword [ebp - 0x108], 2
mov dword [ebx + 0x1c], 2
adc dword [ebp - 0x104], 0
jmp 0x544d81
mov edi, 0x7fffff
cmp edi, edx
mov edi, ecx
sbb edi, esi
jb 0x544e19
add dword [ebp - 0x108], 3
mov dword [ebx + 0x1c], 3
adc dword [ebp - 0x104], 0
jmp 0x544d81
mov edi, 0x7fffffff
cmp edi, edx
sbb ecx, esi
jb 0x544e3e
add dword [ebp - 0x108], 4
mov dword [ebx + 0x1c], 4
adc dword [ebp - 0x104], 0
jmp 0x544d81
cmp esi, 0x7fff
ja 0x544e60
add dword [ebp - 0x108], 6
mov dword [ebx + 0x1c], 5
adc dword [ebp - 0x104], 0
jmp 0x544d81
add dword [ebp - 0x108], 8
adc dword [ebp - 0x104], 0
test al, 0x20
je 0x544e86
fild qword [ebp - 0x128]
and eax, 0xffffffdf
or eax, 8
mov word [ebx + 0x10], ax
fstp qword [ebx]
jmp 0x544eaa
mov dword [ebx + 0x1c], 6
jmp 0x544d81
test al, 8
je 0x544eb6
inc dword [ebp - 0x138]
add dword [ebp - 0x108], 8
adc dword [ebp - 0x104], 0
mov dword [ebx + 0x1c], 7
jmp 0x544d81
mov edx, eax
mov ecx, dword [ebx + 0xc]
shr dx, 1
and edx, 1
lea edi, [edx + ecx*2 + 0xc]
mov esi, edi
test ah, 4
je 0x544f0f
mov eax, dword [ebx]
lea edx, [eax + eax]
add edi, edx
mov esi, edi
mov edi, dword [ebp - 0x104]
or edi, dword [ebp - 0x108]
je 0x544f02
mov eax, ebx
mov dword [ebp - 0x128], ecx
call fcn.004f8792
test eax, eax
jne 0x54b0c0
mov ecx, dword [ebp - 0x128]
add ecx, dword [ebx]
jmp 0x544f0f
cdq
add dword [ebp - 0x148], eax
adc dword [ebp - 0x144], edx
xor edx, edx
mov eax, esi
add dword [ebp - 0x108], ecx
mov ecx, 1
adc dword [ebp - 0x104], edx
xor edx, edx
shrd eax, edx, 7
shr edx, 7
mov edi, edx
or edi, eax
je 0x544f36
inc ecx
jmp 0x544f26
add dword [ebp - 0x138], ecx
mov dword [ebx + 0x1c], esi
jmp 0x544d81
cmp dword [ebp - 0x138], 0x7e
jg 0x544f55
mov ecx, dword [ebp - 0x138]
jmp 0x544f99
mov eax, dword [ebp - 0x138]
mov ebx, 1
cdq
shrd eax, edx, 7
shr edx, 7
mov edi, edx
or edi, eax
je 0x544f71
inc ebx
jmp 0x544f61
mov ecx, dword [ebp - 0x138]
mov esi, 1
add ecx, ebx
mov eax, ecx
cdq
shrd eax, edx, 7
shr edx, 7
mov edi, edx
or edi, eax
je 0x544f95
mov edi, esi
inc edi
mov esi, edi
jmp 0x544f81
cmp esi, ebx
jle 0x544f9a
inc ecx
mov eax, ecx
mov esi, dword [ebp - 0x108]
mov dword [ebp - 0x128], ecx
sar eax, 0x1f
add esi, dword [ebp - 0x128]
mov edi, dword [ebp - 0x104]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x148]
adc edi, dword [ebp - 0x124]
mov edx, dword [ebp - 0x144]
add eax, esi
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x120]
adc edx, edi
mov dword [ebp - 0x104], edx
mov ebx, dword [eax + 0x18]
mov eax, ebx
cdq
cmp ebx, dword [ebp - 0x108]
mov eax, edx
sbb eax, dword [ebp - 0x104]
jl 0x54500f
mov eax, dword [ebp - 0x120]
mov ebx, dword [ebp - 0x120]
mov eax, dword [eax + 0x20]
mov dword [ebx + 8], eax
jmp 0x545050
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x138], ecx
mov ebx, dword [eax + 0x78]
mov eax, ebx
cdq
cmp ebx, dword [ebp - 0x108]
mov eax, edx
sbb eax, dword [ebp - 0x104]
jl 0x54b074
mov eax, dword [ebp - 0x120]
mov edx, esi
call fcn.004f7eee
mov ecx, dword [ebp - 0x138]
test eax, eax
jne 0x54b0c0
mov eax, dword [ebp - 0x120]
mov dword [eax + 0xc], esi
mov word [eax + 0x10], 0x10
mov eax, dword [ebp - 0x144]
or eax, dword [ebp - 0x148]
je 0x545081
mov eax, dword [ebp - 0x120]
mov edi, dword [ebp - 0x148]
mov word [eax + 0x10], 0x410
mov dword [eax], edi
mov eax, dword [ebp - 0x120]
mov edi, dword [eax + 8]
lea ebx, [edi + ecx]
cmp ecx, 0x7f
jg 0x545099
mov byte [edi], cl
lea esi, [edi + 1]
jmp 0x5450af
mov edx, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x124]
mov eax, edi
call fcn.004e6157
lea esi, [edi + eax]
mov eax, dword [ebp - 0x100]
mov edx, dword [eax + 0x1c]
cmp edx, 7
ja 0x5450f9
mov byte [esi], dl
lea eax, [esi + 1]
test edx, edx
je 0x54513f
movzx ecx, byte [edx + 0x66ffa0]
mov edi, dword [ebp - 0x100]
mov dword [ebp - 0x108], ecx
mov esi, dword [edi]
mov edx, ecx
mov edi, dword [edi + 4]
dec edx
mov ecx, esi
mov byte [ebx + edx], cl
je 0x5450f1
shrd esi, edi, 8
shr edi, 8
jmp 0x5450e0
add ebx, dword [ebp - 0x108]
jmp 0x54513f
cmp edx, 0x7f
ja 0x545117
mov byte [esi], dl
lea eax, [esi + 1]
cmp edx, 0xd
jbe 0x54513f
mov edi, dword [ebp - 0x100]
mov ecx, dword [edi + 0xc]
test ecx, ecx
jle 0x54513f
jmp 0x54512f
xor ecx, ecx
mov eax, esi
call fcn.004e6157
mov edi, dword [ebp - 0x100]
add eax, esi
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x54513f
mov esi, dword [edi + 8]
mov edi, ebx
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0x100]
add ebx, dword [edi + 0xc]
mov esi, dword [ebp - 0x118]
cmp dword [ebp - 0x100], esi
je case.0x542b77.89
add dword [ebp - 0x100], 0x28
mov esi, eax
jmp 0x5450af
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
mov ebx, dword [eax + 0x2c]
mov eax, dword [ebp - 0xdc]
cmp dword [eax + 0xc], 0
mov eax, ebx
je 0x545193
call fcn.004c78ca
mov esi, eax
mov edi, edx
jmp 0x545277
call fcn.00508511
xor esi, esi
xor edi, edi
mov dword [ebp - 0xe8], eax
cmp eax, 0x10
jne 0x545206
mov dword [ebp - 0xe8], 0
xor esi, esi
xor edi, edi
jmp 0x545277
mov eax, dword [ebp - 0x14c]
mov eax, dword [eax]
test eax, eax
jne 0x5451a7
mov ecx, dword [ebx + 0x74]
mov al, byte [ecx + 8]
mov byte [ebp - 0xe8], al
test al, al
jne 0x545214
cmp byte [ecx + 1], 0
je 0x545214
mov edx, dword [ecx + 0x38]
movzx eax, word [ebx + 0x46]
mov dword [ebp - 0xe8], edx
cmp ax, word [ecx + 0x18]
jne 0x54525c
movzx eax, byte [ecx + 9]
mov edx, dword [edx + eax + 8]
mov eax, ebx
bswap edx
call fcn.005082d1
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0
je 0x5451ba
jmp 0x54ae91
movzx eax, word [ecx + 0x18]
xor edx, edx
add esi, eax
adc edi, edx
cmp byte [ebp - 0xe8], 0
je 0x5451dc
cmp byte [ebx + 0x44], 0
mov eax, ebx
jne 0x545243
call fcn.00508511
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x545277
jmp 0x54ae91
call fcn.004f2dd0
mov ecx, dword [ebx + 0x74]
mov ax, word [ebx + 0x46]
cmp ax, word [ecx + 0x18]
jae 0x545227
inc eax
mov word [ebx + 0x46], ax
jmp 0x5451dc
mov edx, dword [ecx + 0x40]
movzx eax, word [edx + eax*2]
xchg al, ah
and ax, word [ecx + 0x1a]
mov ecx, dword [ebp - 0xe8]
movzx eax, ax
mov edx, dword [ecx + eax]
jmp 0x5451f7
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x58]
call fcn.004f210c
mov dword [eax], esi
mov dword [eax + 4], edi
jmp 0x542bc5
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 4]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xdc]
cmp dword [ebp - 0x100], 0
mov esi, dword [eax + 0x10]
mov eax, dword [ebp - 0xec]
jne 0x5453a9
cmp dword [eax + 0xc4], 0
jle 0x5452f1
mov eax, dword [ebp - 0xe0]
mov dword [esp + 4], str.cannot_open_savepoint___SQL_statements_in_progress
mov dword [esp], eax
call fcn.00505009
mov dword [ebp - 0xe8], 5
jmp 0x54ae91
mov eax, esi
call fcn.004de0c2
xor edx, edx
mov ebx, eax
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0x1f8]
add ecx, dword [eax + 0x1fc]
call fcn.004e9889
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x54ae91
xor edx, edx
lea eax, [ebx + 0x21]
mov ecx, edx
mov edx, eax
mov eax, dword [ebp - 0xec]
call fcn.004fa9f9
test eax, eax
je 0x54542f
lea edx, [eax + 0x20]
lea ecx, [ebx + 1]
mov dword [eax], edx
mov edi, edx
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0xec]
cmp byte [edi + 0x55], 0
je 0x54535f
mov byte [edi + 0x55], 0
mov byte [edi + 0x5d], 1
jmp 0x54536b
mov edi, dword [ebp - 0xec]
inc dword [edi + 0x1f8]
mov edi, dword [ebp - 0xec]
mov edx, dword [edi + 0x1ec]
mov ecx, dword [edi + 0x200]
mov ebx, dword [edi + 0x204]
mov dword [eax + 0x18], edx
mov dword [edi + 0x1ec], eax
mov dword [eax + 8], ecx
mov ecx, dword [edi + 0x208]
mov dword [eax + 0xc], ebx
mov ebx, dword [edi + 0x20c]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ebx
jmp 0x54542f
mov dword [ebp - 0x108], 0
mov ebx, dword [eax + 0x1ec]
test ebx, ebx
je 0x54b389
mov eax, dword [ebx]
mov edx, esi
call fcn.004a13de
mov dword [ebp - 0x120], eax
test eax, eax
je 0x54b0f0
inc dword [ebp - 0x108]
mov ebx, dword [ebx + 0x18]
jmp 0x5453b9
cmp dword [ebp - 0x100], 1
je 0x54b2fe
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
mov edi, dword [ebp - 0xec]
mov dword [edi + 0x200], eax
mov eax, dword [ebx + 0x10]
mov dword [edi + 0x204], edx
mov edx, dword [ebx + 0x14]
mov dword [edi + 0x208], eax
mov dword [edi + 0x20c], edx
test esi, esi
je 0x54b32d
cmp dword [ebp - 0x100], 2
je 0x54b32d
mov eax, dword [ebp - 0xe0]
cmp byte [eax + 0x95], 3
je 0x54afd3
mov dword [ebp - 0xe8], 0
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov ebx, dword [eax + 4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xec]
movzx ecx, byte [eax + 0x55]
cmp ecx, ebx
je 0x545553
test edx, edx
je 0x545489
mov edx, 0x204
call fcn.00523df9
mov eax, dword [ebp - 0xec]
mov byte [eax + 0x55], 1
jmp 0x5454e4
test ebx, ebx
je 0x5454c1
mov eax, dword [ebp - 0xec]
cmp dword [eax + 0xc4], 0
jle 0x5454c1
mov eax, dword [ebp - 0xe0]
mov dword [esp + 4], str.cannot_commit_transaction___SQL_statements_in_progress
mov dword [esp], eax
call fcn.00505009
mov dword [ebp - 0xe8], 5
jmp 0x54ae91
mov eax, dword [ebp - 0xe0]
mov edx, 1
call fcn.0050503a
mov esi, eax
test eax, eax
jne 0x54afd8
mov eax, dword [ebp - 0xec]
mov byte [eax + 0x55], bl
mov eax, dword [ebp - 0xe0]
call fcn.005276ae
mov esi, eax
cmp eax, 5
jne 0x545533
mov eax, dword [ebp - 0xdc]
sub eax, dword [ebp - 0xf0]
sar eax, 2
mov edi, dword [ebp - 0xe0]
imul eax, eax, 0xcccccccd
mov dword [edi + 0x20], eax
mov edi, dword [ebp - 0xec]
mov al, 1
sub eax, ebx
mov byte [edi + 0x55], al
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0x24], 5
jmp 0x54afd8
mov eax, dword [ebp - 0xec]
call fcn.004e28a7
mov eax, dword [ebp - 0xe0]
cmp dword [eax + 0x24], 1
sbb esi, esi
and esi, 0x64
inc esi
jmp 0x54afd8
mov eax, str.cannot_start_a_transaction_within_a_transaction
test ecx, ecx
je 0x54556b
test edx, edx
mov eax, str.cannot_rollback___no_transaction_is_active
mov edx, str.cannot_commit___no_transaction_is_active
cmove eax, edx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xe0]
mov dword [esp], eax
call fcn.00505009
mov dword [ebp - 0xe8], 1
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x80], 0
mov edx, dword [eax + 8]
test edx, edx
je 0x5455f4
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x108]
and eax, 0x100000
and ecx, 2
or ecx, eax
je 0x5455f4
cmp eax, 1
sbb eax, eax
mov dword [ebp - 0xe8], eax
and dword [ebp - 0xe8], 3
add dword [ebp - 0xe8], 8
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 4]
mov ebx, eax
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xec]
shl ebx, 4
add ebx, dword [eax + 0x10]
mov edi, dword [ebx + 4]
test edi, edi
je 0x545782
lea ecx, [ebp - 0x80]
mov eax, edi
call fcn.0051e63f
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x54566b
cmp byte [ebp - 0xe8], 5
jne 0x54ae91
mov eax, dword [ebp - 0xdc]
sub eax, dword [ebp - 0xf0]
sar eax, 2
mov esi, dword [ebp - 0xe0]
imul eax, eax, 0xcccccccd
mov dword [esi + 0x20], eax
mov eax, esi
mov esi, dword [ebp - 0xe8]
mov dword [eax + 0x24], esi
jmp 0x54afd8
mov eax, dword [ebp - 0xe0]
test byte [eax + 0x98], 0x20
jne 0x545690
mov eax, dword [ebp - 0xdc]
cmp word [eax + 2], 0
jne 0x545794
jmp 0x54b3b2
mov eax, dword [ebp - 0xdc]
cmp dword [eax + 8], 0
je 0x54567a
mov eax, dword [ebp - 0xec]
cmp byte [eax + 0x55], 0
je 0x5456b1
cmp dword [eax + 0xc0], 1
jle 0x54567a
mov eax, dword [ebp - 0xe0]
cmp dword [eax + 0x30], 0
jne 0x5456eb
mov eax, dword [ebp - 0xec]
mov esi, dword [ebp - 0xec]
mov eax, dword [eax + 0x1fc]
mov dword [ebp - 0xe8], eax
inc eax
mov dword [esi + 0x1fc], eax
add eax, dword [esi + 0x1f8]
mov esi, dword [ebp - 0xe0]
mov dword [esi + 0x30], eax
mov eax, dword [ebp - 0xe0]
xor edx, edx
mov eax, dword [eax + 0x30]
lea ecx, [eax - 1]
mov eax, dword [ebp - 0xec]
call fcn.004e9889
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x54574c
mov eax, dword [ebp - 0xe0]
mov esi, dword [edi + 4]
mov edx, dword [eax + 0x30]
mov eax, edi
mov dword [ebp - 0x100], edx
call fcn.004f394d
mov eax, dword [esi]
mov edx, dword [ebp - 0x100]
cmp edx, dword [eax + 0x68]
jle 0x545745
cmp byte [eax + 6], 0
je 0x545745
call fcn.004f7167
mov dword [ebp - 0xe8], eax
mov eax, edi
call fcn.004e70b4
mov eax, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
mov edx, dword [eax + 0x204]
mov eax, dword [eax + 0x200]
mov dword [esi + 0x48], eax
mov eax, dword [ebp - 0xec]
mov dword [esi + 0x4c], edx
mov edx, dword [eax + 0x20c]
mov eax, dword [eax + 0x208]
mov dword [esi + 0x54], edx
mov dword [esi + 0x50], eax
cmp dword [ebp - 0xe8], 0
jne 0x54ae91
jmp 0x54567a
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0x80]
cmp dword [eax + 0xc], esi
jne 0x5457b7
mov esi, dword [ebp - 0xdc]
mov eax, dword [ebx + 0xc]
mov edi, dword [esi + 0x10]
cmp dword [eax + 4], edi
je 0x54b3b2
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x7c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xec]
mov dword [esp], eax
call fcn.004e244d
mov eax, dword [ebp - 0xec]
mov edx, str.database_schema_has_changed
call fcn.004fb006
mov esi, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xec]
mov dword [esi + 0x7c], eax
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0x80]
mov edx, dword [eax + 4]
mov eax, edx
shl eax, 4
add eax, dword [edi + 0x10]
mov eax, dword [eax + 0xc]
cmp dword [eax], esi
je 0x545813
mov eax, edi
call fcn.004ee69c
mov eax, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xe0]
mov dword [ebp - 0xe8], 0x11
mov al, byte [eax + 0x98]
and eax, 0xffffffec
or eax, 1
mov byte [edi + 0x98], al
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xec]
lea ecx, [ebp - 0x80]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 4]
mov dword [ebp - 0x100], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov eax, dword [eax + 4]
call fcn.004f3db5
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x58]
call fcn.004f210c
mov edx, dword [ebp - 0x80]
mov dword [eax], edx
sar edx, 0x1f
mov dword [eax + 4], edx
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 4]
mov dword [ebp - 0xe8], eax
mov ebx, eax
mov eax, dword [ebp - 0xec]
shl ebx, 4
add ebx, dword [eax + 0x10]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
mov eax, dword [ebx + 4]
call fcn.0051ec45
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 8]
cmp eax, 1
jne 0x54595f
mov eax, dword [ebp - 0xdc]
mov edx, dword [ebx + 0xc]
mov edi, dword [ebp - 0xec]
movzx ecx, word [eax + 2]
mov eax, dword [eax + 0xc]
sub eax, ecx
mov dword [edx], eax
mov eax, dword [ebp - 0xec]
or dword [eax + 0x18], 1
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 4]
mov dword [ebp - 0x100], eax
shl eax, 4
add eax, dword [edi + 0x10]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x10]
test esi, esi
je 0x545973
mov eax, dword [esi + 8]
cmp byte [eax + 0x2b], 0
je 0x545929
mov esi, dword [esi]
jmp 0x545918
mov ebx, dword [eax + 0x30]
test ebx, ebx
je 0x545925
mov edx, dword [ebx + 0x1c]
mov eax, dword [ebp - 0xec]
call fcn.004ee1d8
mov dword [ebx + 0x1c], 0
mov edx, dword [ebx + 0x20]
mov eax, dword [ebp - 0xec]
call fcn.004ee1d8
mov dword [ebx + 0x20], 0
mov ebx, dword [ebx + 4]
jmp 0x54592c
cmp eax, 2
jne 0x545973
mov esi, dword [ebp - 0xdc]
mov eax, dword [ebx + 0xc]
mov edx, dword [esi + 0xc]
mov byte [eax + 0x4c], dl
mov eax, dword [ebp - 0xdc]
cmp dword [eax + 4], 1
jne 0x545999
mov eax, dword [ebp - 0xec]
xor edx, edx
call fcn.004cb20b
mov eax, dword [ebp - 0xe0]
and byte [eax + 0x98], 0xfc
cmp dword [ebp - 0xe8], 0
je case.0x542b77.89
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
test ebx, ebx
je case.0x542b77.112
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 8]
cmp dword [ebx + 0x38], eax
jne case.0x542b77.112
mov esi, dword [ebx + 0x2c]
mov eax, dword [esi + 0x10]
mov dword [esp], eax
call fcn.004e220f
mov dword [esi + 0x10], 0
mov byte [esi], 1
jmp 0x545b2d
mov eax, dword [ebp - 0xe0]
mov al, byte [eax + 0x98]
mov byte [ebp - 0xe8], al
and eax, 3
dec al
je 0x54ae63
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xec]
mov dword [ebp - 0xe8], 0
mov esi, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x108], eax
shl eax, 4
add eax, dword [edi + 0x10]
mov edi, dword [eax + 4]
cmp byte [ebp - 0x100], 0x71
mov dword [ebp - 0x120], edi
mov edi, dword [ebp - 0xdc]
mov dx, word [edi + 2]
jne 0x545a78
mov ecx, edx
mov eax, dword [eax + 0xc]
mov edi, dword [ebp - 0xe0]
and ecx, 8
or ecx, 4
mov al, byte [eax + 0x4c]
mov dword [ebp - 0xe8], ecx
cmp al, byte [edi + 0x93]
jae 0x545a78
mov byte [edi + 0x93], al
and dl, 0x10
je 0x545a8f
imul esi, esi, 0x28
add esi, dword [ebp - 0xf8]
mov eax, esi
call fcn.004f2214
mov esi, dword [esi]
mov eax, dword [ebp - 0xdc]
mov al, byte [eax + 1]
cmp al, 0xf8
jne 0x545aab
mov eax, dword [ebp - 0xdc]
mov edi, dword [eax + 0x10]
movzx ecx, word [edi + 8]
jmp 0x545ac0
cmp al, 0xfd
jne 0x545abc
mov eax, dword [ebp - 0xdc]
xor edi, edi
mov ecx, dword [eax + 0x10]
jmp 0x545ac0
xor edi, edi
xor ecx, ecx
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov dword [esp], 0
call fcn.00525f68
mov ebx, eax
test eax, eax
je 0x54b0c0
mov al, byte [ebp - 0x108]
mov ecx, dword [ebp - 0xe8]
mov byte [ebx + 2], 1
mov edx, esi
or byte [ebx + 8], 4
mov byte [ebx + 1], al
mov eax, dword [ebx + 0x2c]
mov dword [ebx + 0x38], esi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x120]
mov dword [esp], edi
call fcn.0050739c
mov dword [ebx + 0x30], edi
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xdc]
cmp byte [eax + 1], 0xf8
setne byte [ebx + 4]
mov eax, dword [ebp - 0xdc]
mov edx, dword [ebx + 0x2c]
mov ax, word [eax + 2]
mov word [ebp - 0x100], ax
and eax, 3
cmp dword [ebp - 0xe8], 0
mov byte [edx + 3], al
je case.0x542b77.89
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebp - 0xdc]
movsx ecx, word [ebx + 0x3c]
mov edx, dword [eax + 4]
mov dword [esp], 0
mov eax, dword [ebp - 0xe0]
call fcn.00525f68
test eax, eax
je 0x54b0c0
mov byte [eax + 2], 1
mov ecx, dword [ebx + 0x30]
mov dword [eax + 0x30], ecx
mov dl, byte [ebx + 4]
mov byte [eax + 4], dl
mov edi, dword [ebx + 0x38]
mov esi, dword [ebx + 0x10]
mov dword [eax + 0x38], edi
mov dl, byte [ebx + 8]
mov dword [eax + 0x10], esi
and edx, 4
or edx, 9
mov byte [ebp - 0xe8], dl
mov dl, byte [eax + 8]
and edx, 0xfffffff2
or edx, dword [ebp - 0xe8]
mov byte [eax + 8], dl
mov edx, edi
or byte [ebx + 8], 8
mov eax, dword [eax + 0x2c]
mov dword [esp], ecx
mov ecx, 4
mov dword [esp + 4], eax
mov eax, esi
call fcn.0050739c
mov dword [ebp - 0xe8], eax
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0xc]
test eax, eax
jle 0x545c1a
imul eax, eax, 0x28
add eax, dword [ebp - 0xf8]
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0x664020
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 8]
test ebx, ebx
je 0x545c7f
test byte [ebx + 8], 8
jne 0x545c7f
movsx eax, word [ebx + 0x3c]
cmp eax, ecx
jl 0x545c7f
mov edx, dword [ebx + 0x38]
mov eax, dword [ebx + 0x10]
mov dword [ebx + 0x18], 0
xor ecx, ecx
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x20], 0
call fcn.0052320e
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x545ddc
jmp 0x54ae91
mov dword [esp], 0
mov eax, dword [ebp - 0xe0]
call fcn.00525f68
mov ebx, eax
test eax, eax
je 0x54b0c0
or byte [eax + 8], 1
mov eax, dword [ebp - 0xdc]
xor edx, edx
mov dword [esp + 8], 0x41e
mov ecx, dword [ebp - 0xec]
mov ax, word [eax + 2]
mov word [ebp - 0xe8], ax
or eax, 5
movzx eax, ax
mov dword [esp + 4], eax
lea eax, [ebx + 0x10]
mov dword [esp], eax
mov eax, dword [ecx]
call fcn.0052661f
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x54ae91
mov eax, dword [ebx + 0x10]
xor ecx, ecx
mov edx, 1
call fcn.0051e63f
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x545daa
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebx + 0x10]
mov edi, dword [eax + 0x10]
mov dword [ebx + 0x30], edi
test edi, edi
je 0x545d7a
mov ax, word [eax + 2]
mov ecx, eax
mov eax, esi
or ecx, 2
movzx ecx, cx
mov dword [ebp - 0xe8], ecx
call fcn.004f394d
mov ecx, dword [ebp - 0xe8]
lea edx, [ebx + 0x38]
mov eax, esi
call fcn.00522fd2
mov dword [ebp - 0xe8], eax
mov eax, esi
call fcn.004e70b4
cmp dword [ebp - 0xe8], 0
jne 0x545d74
mov ecx, dword [ebx + 0x2c]
mov edx, dword [ebx + 0x38]
mov eax, dword [ebx + 0x10]
mov dword [esp], edi
mov dword [esp + 4], ecx
mov ecx, 4
call fcn.0050739c
mov dword [ebp - 0xe8], eax
mov byte [ebx + 4], 0
jmp 0x545daa
mov eax, dword [ebx + 0x2c]
mov ecx, 4
mov edx, 1
mov dword [ebx + 0x38], 1
mov dword [esp], 0
mov dword [esp + 4], eax
mov eax, esi
call fcn.0050739c
mov byte [ebx + 4], 1
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xdc]
cmp word [eax + 2], 8
mov al, byte [ebx + 8]
setne dl
shl edx, 2
and eax, 0xfffffffb
or eax, edx
cmp dword [ebp - 0xe8], 0
mov byte [ebx + 8], al
je 0x545ddc
mov eax, dword [ebx + 0x10]
call fcn.00525cb6
jmp 0x54ae91
mov byte [ebx + 2], 1
mov dword [ebp - 0xe8], 0
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov dword [esp], 1
mov eax, dword [ebp - 0xe0]
call fcn.00525f68
mov esi, eax
test eax, eax
je 0x54b0c0
mov edi, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xe8], 0
mov edi, dword [edi + 0xc]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x108], edi
mov edi, dword [ebp - 0xec]
mov dword [esi + 0x30], eax
cmp byte [edi + 0x56], 2
je 0x545e5d
cmp byte [0x660bc4], 0
je 0x545e5d
mov edi, dword [edi + 0xa4]
mov dword [ebp - 0xe8], edi
imul edi, dword [ebp - 0xe8], 0x48
movzx eax, word [eax + 6]
lea eax, [eax*4 + 0x14]
add edi, 0x88
mov dword [ebp - 0x120], eax
add eax, edi
cdq
mov ecx, edx
mov edx, eax
mov eax, dword [ebp - 0xec]
call fcn.004fabc7
mov dword [esi + 0x2c], eax
mov ebx, eax
test eax, eax
je 0x54ae6f
mov eax, dword [ebp - 0xec]
add edi, ebx
mov esi, dword [esi + 0x30]
mov dword [ebp - 0x100], edi
mov ecx, dword [ebp - 0x120]
mov eax, dword [eax + 0x10]
cmp dword [ebp - 0x108], 0
mov eax, dword [eax + 4]
mov dword [ebx + 0x1c], edi
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x100]
mov dword [esi + 0xc], 0
je 0x545ee5
cmp dword [ebp - 0xe8], 0
jne 0x545ee5
mov edi, dword [ebp - 0x108]
mov word [esi + 6], di
mov dword [ebp - 0x108], eax
call fcn.004f394d
mov eax, dword [ebp - 0x108]
mov edx, dword [eax + 4]
mov edi, dword [edx + 0x24]
mov dword [ebx + 0xc], edi
call fcn.004e70b4
mov al, byte [ebp - 0xe8]
lea edx, [eax + 1]
dec eax
mov byte [ebx + 0x3a], al
mov eax, dword [ebp - 0xec]
cmp dl, 1
mov byte [ebx + 0x3b], dl
movzx edx, dl
mov dword [ebx + 0x18], eax
seta byte [ebx + 0x39]
xor eax, eax
cmp eax, edx
jge 0x545f37
imul ecx, eax, 0x48
inc eax
mov dword [ebx + ecx + 0x48], ebx
jmp 0x545f29
mov eax, dword [ebp - 0xec]
cmp byte [eax + 0x56], 2
je 0x545fc7
mov eax, dword [eax + 0x10]
mov esi, dword [0x660c8c]
mov eax, dword [eax + 0xc]
imul esi, edi
mov ecx, dword [eax + 0x50]
mov dword [ebx], esi
mov eax, ecx
sar eax, 0x1f
mov dword [ebp - 0xe4], eax
mov eax, ecx
imul edi
cmp dword [ebp - 0xe4], 0
jns 0x545f7a
mov eax, 0xfffffc00
imul ecx
mov ecx, 0x20000000
mov dword [ebp - 0xe8], eax
cmp ecx, eax
mov ecx, 0
mov eax, 0x20000000
sbb ecx, edx
cmovge eax, dword [ebp - 0xe8]
cmp esi, eax
cmovg eax, esi
mov dword [ebx + 4], eax
cmp byte [0x660bc8], 0
jne 0x545fc7
mov dword [ebx + 0x34], edi
mov eax, edi
cdq
call fcn.004ecb7d
mov dword [ebp - 0xe8], 7
mov dword [ebx + 0x28], eax
test eax, eax
je 0x545fd1
mov dword [ebp - 0xe8], 0
mov eax, dword [ebp - 0x100]
cmp word [eax + 8], 0xc
ja 0x546002
mov eax, dword [eax + 0x14]
test eax, eax
je 0x545ff0
mov esi, dword [ebp - 0xec]
cmp eax, dword [esi + 8]
jne 0x546002
mov eax, dword [ebp - 0x100]
mov eax, dword [eax + 0x10]
test byte [eax], 2
jne 0x546002
mov byte [ebx + 0x3c], 3
cmp dword [ebp - 0xe8], 0
je case.0x542b77.89
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + edx*4]
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 0x1c]
mov ecx, eax
mov ebx, edx
add ecx, 1
adc ebx, 0
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], ebx
jmp 0x549823
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 4]
mov dword [esp], 3
mov eax, dword [ebp - 0xe0]
call fcn.00525f68
test eax, eax
je 0x54b0c0
mov esi, dword [ebp - 0xdc]
mov byte [eax + 2], 1
mov edx, dword [esi + 8]
mov byte [eax + 4], 1
mov dword [eax + 0x2c], 0x67d068
mov dword [eax + 0x24], edx
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov edx, dword [eax + edx*4]
test edx, edx
je 0x5460ae
mov eax, dword [ebp - 0xe0]
call fcn.00525db5
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov dword [eax + edx*4], 0
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov esi, ecx
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebp - 0xdc]
mov word [ebx + 2], 0
imul edi, dword [eax + 0xc], 0x28
add edi, dword [ebp - 0xf8]
cmp byte [ebx + 4], 0
mov dword [ebx + 0x20], 0
je 0x546208
mov eax, dword [edi + 0x10]
mov word [ebp - 0x120], ax
and eax, 0x2e
cmp ax, 2
jne 0x546132
xor edx, edx
mov eax, edi
mov dword [ebp - 0x108], ecx
call fcn.004f4dee
mov ecx, dword [ebp - 0x108]
mov eax, edi
mov dword [ebp - 0x128], ecx
call fcn.004e7257
mov ecx, dword [ebp - 0x120]
mov dword [ebp - 0x108], eax
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x104], edx
mov word [edi + 0x10], cx
test al, 0x24
jne 0x5461c6
test al, 8
mov ecx, dword [ebp - 0x128]
jne 0x546194
cmp ecx, 0x16
jg 0x543d5c
test al, 1
jne 0x543d5c
mov eax, dword [ebx + 0x2c]
lea edx, [ebp - 0xc8]
call fcn.00508643
mov edi, eax
test eax, eax
je 0x5462e6
jmp 0x54631b
fild qword [ebp - 0x108]
fld qword [edi]
fcomi st(1)
ja 0x5461b6
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x5461c6
test byte [ebp - 0x100], 1
jne 0x5461c6
lea esi, [ecx - 1]
jmp 0x5461c6
fstp st(0)
fstp st(0)
test byte [ebp - 0x100], 1
je 0x5461c6
lea esi, [ecx + 1]
lea edx, [ebp - 0xc8]
mov eax, dword [ebx + 0x2c]
mov dword [esp], 0
mov dword [esp + 4], edx
mov ecx, dword [ebp - 0x104]
mov edx, dword [ebp - 0x108]
call fcn.00522b8f
mov edx, dword [ebp - 0x104]
mov edi, eax
mov eax, dword [ebp - 0x108]
mov dword [ebx + 0x44], edx
mov dword [ebx + 0x40], eax
test edi, edi
je 0x54626f
jmp 0x54631b
mov eax, dword [ebx + 0x2c]
mov cl, byte [eax + 3]
and ecx, 2
mov byte [ebp - 0xe8], cl
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x10]
mov ecx, dword [ebx + 0x30]
mov dword [ebp - 0x7c], edi
mov byte [ebp - 0x66], 0
mov word [ebp - 0x6c], dx
lea edx, [esi - 0x15]
and edx, 1
mov dword [ebp - 0x80], ecx
lea ecx, [ebp - 0xc8]
cmp edx, 1
sbb edx, edx
and edx, 2
dec edx
mov byte [ebp - 0x6a], dl
lea edx, [ebp - 0x80]
call fcn.00522323
mov edi, eax
test eax, eax
jne 0x54631b
cmp byte [ebp - 0xe8], 0
je 0x54626f
cmp byte [ebp - 0x66], 0
mov edi, 1
je 0x5462e6
mov edx, dword [ebp - 0xc8]
cmp esi, 0x16
jle 0x5462a5
test edx, edx
js 0x546285
jne 0x546299
cmp esi, 0x18
jne 0x546299
mov dword [ebp - 0xc8], 0
mov eax, dword [ebx + 0x2c]
call fcn.00522a1a
jmp 0x5462c2
mov dword [ebp - 0xc8], 0
jmp 0x5462e6
mov eax, dword [ebx + 0x2c]
test edx, edx
jg 0x5462b3
jne 0x5462d7
cmp esi, 0x15
jne 0x5462d7
mov dword [ebp - 0xc8], 0
call fcn.005228ff
test eax, eax
je 0x5462e6
cmp eax, 0x65
jne 0x546319
mov dword [ebp - 0xc8], 1
jmp 0x5462e6
cmp byte [eax], 0
setne al
movzx eax, al
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x546305
mov dword [ebp - 0xe8], 0
jmp 0x543d5c
test edi, edi
je case.0x542b77.89
add dword [ebp - 0xdc], 0x14
jmp case.0x542b77.89
mov edi, eax
mov dword [ebp - 0xe8], edi
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov edi, dword [eax + edx*4]
mov eax, dword [edi + 0x2c]
cmp byte [eax], 0
jne case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov esi, dword [eax + 4]
mov eax, dword [edi + 0x30]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x24]
mov byte [ebp - 0xb2], 0
mov word [ebp - 0xb4], ax
mov eax, dword [ebp - 0xdc]
imul eax, dword [eax + 0x20], 0x28
add eax, dword [ebp - 0xf8]
mov dword [ebp - 0xc4], eax
mov ebx, dword [edi + 0x2c]
mov eax, ebx
call fcn.004df4bc
mov eax, dword [ebx + 0x2c]
xor edx, edx
mov ecx, 0x7ffffffe
mov dword [ebp - 0xe8], eax
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [ebp - 0x100], eax
mov eax, 0
cmp ecx, dword [ebp - 0x100]
mov dword [ebp - 0xfc], edx
sbb eax, dword [ebp - 0xfc]
jae 0x5463e2
mov eax, 0x153d7
call fcn.0050711b
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x5462f6
jmp 0x54ae91
mov eax, dword [ebp - 0xec]
mov edx, dword [ebp - 0xe8]
lea ecx, [ebp - 0x80]
mov word [ebp - 0x70], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x6c], eax
mov eax, ebx
call fcn.005222d1
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x54ae91
mov dword [esp], 0
mov edx, dword [ebp - 0x78]
lea ecx, [ebp - 0xc8]
mov eax, dword [ebp - 0x74]
call fcn.0050be72
mov ebx, eax
lea eax, [ebp - 0x80]
call fcn.004e364c
test ebx, ebx
jle 0x546459
mov eax, dword [ebp - 0xdc]
cmp word [eax + 2], 0
jne 0x5462f6
add dword [ebp - 0xdc], 0x14
jmp 0x5462f6
je 0x5462f6
test esi, esi
jle case.0x542b77.89
mov eax, dword [edi + 0x2c]
dec esi
call fcn.00522a1a
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x546386
cmp eax, 0x65
je 0x54644d
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
mov edx, dword [esi + 8]
movzx ecx, word [eax + 0xc]
cmp ecx, edx
jge 0x5464b7
mov word [eax + 0xc], dx
jmp case.0x542b77.89
mov esi, dword [ebp - 0xdc]
mov edx, dword [esi + 0xc]
cmp ecx, edx
jle case.0x542b77.89
mov word [eax + 0xc], dx
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
test eax, eax
je case.0x542b77.9
cmp byte [eax + 2], 0
je case.0x542b77.89
jmp case.0x542b77.9
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
movzx eax, word [eax + 0xc]
cmp eax, dword [esi + 0x10]
jge case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebp - 0xdc]
mov edx, dword [esi + 0x10]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0xf8]
mov dword [ebp - 0x7c], eax
mov word [ebp - 0x6c], dx
test dx, dx
je 0x54657f
mov eax, dword [ebx + 0x30]
mov byte [ebp - 0x6a], 0
lea ecx, [ebx + 0x24]
lea edx, [ebp - 0x80]
mov dword [ebp - 0x80], eax
mov eax, dword [ebx + 0x2c]
call fcn.00522323
mov dword [ebp - 0xe8], eax
jmp 0x5465df
test byte [eax + 0x11], 4
jne 0x5465d1
mov eax, dword [ebx + 0x30]
call fcn.004fb1b4
mov edi, eax
test eax, eax
je 0x54b0c0
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov eax, dword [ebx + 0x30]
mov dword [esp], edi
call fcn.004e64a7
mov byte [edi + 0x16], 0
mov eax, dword [ebx + 0x2c]
mov edx, edi
lea ecx, [ebx + 0x24]
call fcn.00522323
mov edx, edi
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xec]
call fcn.004e23c0
jmp 0x5465df
call fcn.004f8792
test eax, eax
je 0x546585
jmp 0x54b0c0
cmp dword [ebp - 0xe8], 0
jne 0x54ae91
mov eax, dword [ebx + 0x24]
mov esi, dword [ebp - 0xdc]
mov dl, 1
mov byte [ebx + 3], 0
mov dword [ebx + 0x20], 0
cmp eax, 1
sbb dl, 0
mov byte [ebx + 2], dl
mov dl, byte [esi]
cmp dl, 0x1d
jne 0x546619
test eax, eax
jmp 0x549827
test eax, eax
jne 0x543d5c
cmp dl, 0x1b
jne 0x546646
movzx edx, word [ebp - 0x6c]
mov ecx, dword [ebp - 0x7c]
cmp edx, eax
jle case.0x542b77.89
imul ebx, eax, 0x28
test byte [ecx + ebx + 0x10], 1
jne 0x543d5c
inc eax
jmp 0x54662d
cmp dl, 0x1a
jne case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x10]
mov word [ebx + 0xc], ax
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
imul esi, dword [eax + 0xc], 0x28
add esi, dword [ebp - 0xf8]
test byte [esi + 0x10], 0x24
jne case.0x542b77.31
lea edi, [ebp - 0x80]
mov ecx, 0xa
lea eax, [ebp - 0x80]
mov edx, 0x43
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x110]
call fcn.004fbc3c
test byte [ebp - 0x70], 4
je 0x543d5c
mov esi, dword [ebp - 0x80]
mov edi, dword [ebp - 0x7c]
jmp 0x5466bd
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xf8]
imul eax, dword [eax + 0xc], 0x28
mov edi, dword [esi + eax + 4]
mov esi, dword [esi + eax]
mov eax, dword [ebp - 0xdc]
mov ecx, edi
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
lea edx, [ebp - 0x80]
mov eax, dword [ebx + 0x2c]
mov dword [esp + 4], edx
mov edx, esi
mov dword [esp], 0
mov dword [ebp - 0x80], 0
call fcn.00522b8f
mov dword [ebx + 0x20], 0
mov dword [ebp - 0xe8], eax
mov word [ebx + 2], 0
mov eax, dword [ebp - 0x80]
mov dword [ebx + 0x40], esi
mov dword [ebx + 0x44], edi
mov dword [ebx + 0x24], eax
test eax, eax
je 0x546736
mov eax, dword [ebp - 0xdc]
cmp dword [eax + 8], 0
jne 0x543d5c
mov eax, 0x172dc
call fcn.0050711b
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0
je case.0x542b77.89
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x58]
call fcn.004f210c
mov edi, eax
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + edx*4]
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 0x1c]
mov ecx, eax
mov ebx, edx
add ecx, 1
adc ebx, 0
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], ebx
mov dword [edi], eax
mov dword [edi + 4], edx
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x80], 0
mov dword [ebp - 0xc8], 0
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x7c], 0
mov eax, dword [eax + 0x58]
call fcn.004f210c
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
test byte [ebx + 8], 2
jne 0x54685b
mov eax, dword [ebx + 0x2c]
lea edx, [ebp - 0xc8]
call fcn.00508643
test eax, eax
jne 0x546995
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x546826
mov dword [ebp - 0x80], 1
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0xe8], 0
jmp 0x54685b
mov esi, dword [ebx + 0x2c]
mov eax, esi
call fcn.004df4bc
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x24]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
cmp edx, 0x7fffffff
jne 0x54684f
cmp eax, 0xffffffff
jne 0x54684f
or byte [ebx + 8], 2
jmp 0x54685b
add eax, 1
adc edx, 0
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x5468e5
mov edi, dword [ebp - 0xe0]
imul eax, eax, 0x28
mov esi, dword [ebp - 0xf8]
mov edx, dword [edi + 0xd0]
add esi, eax
test edx, edx
je 0x546891
mov ecx, edx
mov edx, dword [edx + 4]
test edx, edx
jne 0x546883
add eax, dword [ecx + 0x10]
mov esi, eax
mov eax, esi
call fcn.004f2214
mov edx, dword [esi + 4]
mov eax, dword [esi]
cmp edx, 0x7fffffff
jne 0x5468b9
cmp eax, 0xffffffff
jne 0x5468b9
mov dword [ebp - 0xe8], 0xd
jmp 0x54ae91
test byte [ebx + 8], 2
jne 0x5468aa
cmp eax, dword [ebp - 0x80]
mov edi, edx
sbb edi, dword [ebp - 0x7c]
jl 0x5468d5
add eax, 1
adc edx, 0
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x546974
test byte [ebx + 8], 2
je 0x546974
mov edi, 0x64
lea eax, [ebp - 0x80]
mov dword [esp], 8
mov dword [esp + 4], eax
call fcn.0051b6fd
mov eax, dword [ebp - 0x80]
lea ecx, [ebp - 0xc8]
mov esi, dword [ebx + 0x2c]
mov dword [esp + 4], ecx
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], 0
and eax, 0x3fffffff
mov dword [ebp - 0x154], eax
mov eax, dword [ebp - 0x158]
mov edx, dword [ebp - 0x154]
add eax, 1
adc edx, 0
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
mov ecx, edx
mov edx, eax
mov eax, esi
call fcn.00522b8f
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x54ae91
cmp dword [ebp - 0xc8], 0
jne 0x546974
dec edi
jne 0x5468f4
jmp 0x5468aa
mov byte [ebx + 3], 0
mov esi, dword [ebp - 0x100]
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
mov dword [ebx + 0x20], 0
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x542b77.89
mov dword [ebp - 0xe8], eax
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
imul eax, dword [eax + 8], 0x28
add eax, dword [ebp - 0xf8]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov edx, dword [eax + 0x60]
mov eax, dword [ebp - 0xdc]
mov ebx, dword [edx + ecx*4]
imul edx, dword [eax + 0xc], 0x28
mov eax, dword [ebp - 0xf8]
mov esi, dword [eax + edx]
mov edi, dword [eax + edx + 4]
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x74], edi
cmp byte [eax + 1], 0xfb
mov dword [ebp - 0x108], esi
mov dword [ebp - 0x104], edi
jne 0x546a2c
mov eax, dword [ebp - 0xec]
cmp dword [eax + 0xfc], 0
je 0x546a2c
movsx edx, byte [ebx + 1]
shl edx, 4
add edx, dword [eax + 0x10]
mov eax, dword [edx]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xdc]
mov edi, dword [eax + 0x10]
jmp 0x546a38
mov dword [ebp - 0x100], 0
xor edi, edi
mov eax, dword [ebp - 0xdc]
mov cx, word [eax + 2]
test cl, 1
je 0x546a55
mov eax, dword [ebp - 0xe0]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
test cl, 0x20
je 0x546a72
mov esi, dword [ebp - 0xec]
mov eax, dword [ebp - 0x108]
mov edx, dword [ebp - 0x104]
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], edx
mov eax, dword [ebp - 0xe8]
mov edx, dword [eax + 8]
mov dword [ebp - 0x70], edx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x64], edx
xor edx, edx
test cl, 0x10
je 0x546a8e
mov edx, dword [ebx + 0x24]
mov esi, dword [ebp - 0xe8]
xor eax, eax
test byte [esi + 0x11], 4
je 0x546a9e
mov eax, dword [esi]
mov dword [ebp - 0x60], eax
mov eax, dword [ebx + 0x2c]
and ecx, 0x8a
mov dword [esp], edx
lea edx, [ebp - 0x80]
mov dword [ebp - 0x80], 0
call fcn.00523284
mov byte [ebx + 3], 0
mov dword [ebp - 0xe8], eax
mov dword [ebx + 0x20], 0
test eax, eax
jne 0x54ae91
test edi, edi
je case.0x542b77.89
mov eax, dword [ebp - 0xec]
mov edi, dword [edi]
mov ecx, dword [ebp - 0x78]
mov ebx, dword [ebp - 0x74]
mov edx, dword [eax + 0xfc]
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0x100]
mov ax, word [eax + 2]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebx
mov word [ebp - 0x108], ax
and eax, 4
cmp ax, 1
mov dword [esp + 0xc], edi
sbb eax, eax
mov dword [esp + 8], esi
and eax, 0xfffffffb
add eax, 0x17
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0xf8]
mov dword [esp], eax
call edx
jmp case.0x542b77.89
mov esi, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xe0]
xor edi, edi
mov eax, dword [eax + 0x60]
mov edx, dword [esi + 4]
mov ecx, dword [esi + 8]
mov edx, dword [eax + edx*4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
xor esi, esi
test eax, eax
je 0x546b77
imul eax, eax, 0x28
mov esi, dword [ebp - 0xf8]
mov edi, dword [esi + eax + 4]
mov esi, dword [esi + eax]
mov eax, dword [ecx + 0x2c]
mov dword [ebp - 0x128], eax
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0x138], eax
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x100], eax
mov ebx, dword [eax + 0x54]
mov eax, dword [ebp - 0x128]
call fcn.004df4bc
mov eax, dword [ebp - 0x128]
mov eax, dword [eax + 0x2c]
cmp eax, 0x7f
ja 0x546bc5
lea ecx, [ebx + 1]
mov byte [ebx], al
mov dword [ebp - 0x108], ecx
jmp 0x546bda
xor edx, edx
mov ecx, edx
mov edx, eax
mov eax, ebx
call fcn.004e6157
add eax, ebx
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x138]
cmp dword [eax + 0x70], 0
jne 0x546bfb
mov eax, dword [ebp - 0x108]
mov edx, esi
mov ecx, edi
call fcn.004e6157
add dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x128]
mov esi, dword [ebp - 0x128]
movzx edi, word [eax + 0x30]
mov esi, dword [esi + 0x28]
mov dword [ebp - 0x120], edi
mov eax, edi
add edi, esi
mov dword [ebp - 0x118], edi
mov edi, dword [ebp - 0x128]
mov edx, dword [edi + 0x74]
mov edi, dword [edx + 0x3c]
mov dword [ebp - 0x150], edi
cmp dword [ebp - 0x118], edi
jbe 0x546c42
mov eax, 0x12e50
jmp 0x546daa
mov edi, dword [ebp - 0x128]
mov edi, dword [edi + 0x2c]
mov dword [ebp - 0xe8], edi
mov edi, dword [ebp - 0x138]
mov ecx, dword [ebp - 0xe8]
mov edi, dword [edi + 0x74]
mov dword [ebp - 0x138], edi
mov bx, word [edi + 0xe]
cmp dword [ebp - 0x120], ecx
jne 0x546ca2
cmp ax, bx
jae 0x546ca2
mov edi, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x120]
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x100]
mov eax, dword [ebp - 0x108]
sub eax, dword [esi + 0x54]
add eax, dword [ebp - 0x120]
mov dword [esi + 0x58], eax
jmp 0x546fb2
mov eax, dword [ebp - 0x128]
xor edx, edx
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0x164], 0
mov eax, dword [eax + 0x14]
mov eax, dword [eax]
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x168], eax
movzx eax, bx
mov dword [ebp - 0x148], eax
mov eax, edx
cmp dword [ebp - 0x148], ecx
sbb eax, 0
mov eax, ecx
jge 0x546d41
mov eax, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x168]
xor edx, edx
mov ebx, dword [ebp - 0x164]
movzx edi, word [eax + 0x10]
mov eax, dword [ebp - 0x138]
mov eax, dword [eax + 0x34]
sub ecx, edi
sbb ebx, edx
mov eax, dword [eax + 0x28]
mov dword [esp + 0xc], 0
mov dword [esp], ecx
sub eax, 4
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.005673e0
add eax, edi
cmp dword [ebp - 0x148], eax
cmovl eax, edi
mov edi, dword [ebp - 0x100]
mov ebx, eax
mov eax, dword [ebp - 0x108]
sub eax, dword [edi + 0x54]
add eax, ebx
cmp dword [ebp - 0xe8], ebx
ja 0x546d6b
mov dword [edi + 0x58], eax
mov dword [ebp - 0x148], 0
jmp 0x546d85
mov edi, dword [ebp - 0x108]
add eax, 4
add edi, ebx
mov dword [ebp - 0x148], edi
mov edi, dword [ebp - 0x100]
mov dword [edi + 0x58], eax
mov edi, dword [ebp - 0xe8]
cmp dword [ebp - 0x120], edi
jae 0x546dc6
mov eax, dword [ebp - 0x120]
lea eax, [esi + eax + 4]
cmp dword [ebp - 0x150], eax
jae 0x546db4
mov eax, 0x12e67
call fcn.0050711b
jmp 0x546fb8
mov eax, dword [ebp - 0x118]
mov eax, dword [eax]
bswap eax
mov dword [ebp - 0x118], eax
jmp 0x546dd0
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x138], 0
sub dword [ebp - 0xe8], ebx
cmp dword [ebp - 0x120], 0
je 0x546e10
mov eax, dword [ebp - 0x120]
cmp dword [ebp - 0x120], ebx
mov edi, dword [ebp - 0x108]
cmova eax, ebx
sub dword [ebp - 0x120], eax
mov ecx, eax
sub ebx, eax
rep movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x108], edi
test ebx, ebx
je 0x546e7c
mov eax, dword [ebp - 0xd0]
call fcn.004f2dc7
mov dword [esp], 2
mov edx, dword [ebp - 0x118]
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0x15c]
call fcn.004bf2d4
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x546e7c
mov eax, dword [ebp - 0xd0]
mov esi, dword [eax + 4]
mov eax, dword [esi]
add esi, 4
bswap eax
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x128]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x28]
sub eax, 4
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0xd4], 0
sete al
test ebx, ebx
je 0x546e92
test al, al
jne 0x546de0
cmp dword [ebp - 0xe8], 0
je 0x546f9c
test al, al
je 0x546f86
cmp dword [ebp - 0x148], 0
je 0x546f8f
mov dword [esp], 0
mov eax, dword [ebp - 0x100]
lea ecx, [ebp - 0xc8]
lea edx, [ebp - 0x80]
mov dword [esp + 4], 0
mov dword [ebp - 0x80], 0
call fcn.0051ed18
mov edi, dword [ebp - 0x148]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xc8]
bswap eax
mov dword [edi], eax
mov eax, dword [ebp - 0x100]
cmp byte [eax + 0x11], 0
je 0x546f35
cmp dword [ebp - 0x138], 0
je 0x546f35
lea eax, [ebp - 0xd4]
mov edx, dword [ebp - 0xc8]
mov ecx, 4
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x138]
mov eax, dword [eax + 4]
mov dword [esp], eax
mov eax, dword [ebp - 0x100]
call fcn.0051f2da
mov eax, dword [ebp - 0x138]
call fcn.004f2e2b
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x138], eax
test eax, eax
je 0x546f8f
mov eax, dword [eax + 0x38]
mov dword [eax], 0
mov dword [ebp - 0x148], eax
add eax, 4
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x100]
mov eax, dword [eax + 0x28]
lea ebx, [eax - 4]
mov dword [ebp - 0x150], eax
cmp ebx, dword [ebp - 0xe8]
cmova ebx, dword [ebp - 0xe8]
jmp 0x546f8f
cmp dword [ebp - 0xe8], 0
je 0x546f9c
cmp dword [ebp - 0xd4], 0
je 0x546dda
mov eax, dword [ebp - 0x138]
call fcn.004f2e2b
mov eax, dword [ebp - 0xd0]
call fcn.004f2dc7
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0
je case.0x542b77.89
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 8]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebp - 0xdc]
cmp byte [eax + 1], 0xfb
jne 0x547058
mov eax, dword [ebp - 0xec]
cmp dword [eax + 0xfc], 0
je 0x547058
mov esi, dword [ebp - 0xec]
movsx eax, byte [ebx + 1]
shl eax, 4
add eax, dword [esi + 0x10]
mov esi, dword [eax]
mov eax, dword [ebp - 0xdc]
mov edi, dword [eax + 0x10]
test byte [eax + 2], 2
je 0x54705c
cmp byte [ebx + 4], 0
je 0x54705c
mov eax, dword [ebx + 0x2c]
mov dword [ebp - 0xe8], eax
call fcn.004df4bc
mov eax, dword [ebp - 0xe8]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
mov dword [ebx + 0x44], edx
mov dword [ebx + 0x40], eax
jmp 0x54705c
xor edi, edi
xor esi, esi
mov eax, dword [ebp - 0xdc]
movzx edx, byte [eax + 2]
mov eax, dword [ebx + 0x2c]
call fcn.00523eec
mov dword [ebx + 0x20], 0
mov dword [ebp - 0xe8], eax
mov dword [ebx + 0x24], 0
test eax, eax
jne 0x54ae91
test byte [ebp - 0x100], 1
je case.0x542b77.89
mov eax, dword [ebp - 0xe0]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0xfc]
test eax, eax
je case.0x542b77.89
test edi, edi
je case.0x542b77.89
test byte [edi + 0x1c], 0x80
jne case.0x542b77.89
mov ecx, dword [ebx + 0x40]
mov ebx, dword [ebx + 0x44]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebx
mov edx, dword [edi]
mov dword [esp + 8], esi
mov esi, dword [ebp - 0xec]
mov dword [esp + 0xc], edx
mov dword [esp + 4], 9
mov edx, dword [esi + 0xf8]
mov dword [esp], edx
call eax
jmp case.0x542b77.89
mov eax, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xec]
mov edx, dword [eax + 0x2c]
mov eax, dword [eax + 0x28]
add dword [esi + 0x70], eax
mov dword [esi + 0x68], eax
mov eax, dword [ebp - 0xe0]
adc dword [esi + 0x74], edx
mov dword [esi + 0x6c], edx
mov dword [eax + 0x28], 0
mov dword [eax + 0x2c], 0
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov esi, dword [esi + 0xc]
mov eax, dword [eax + 0x60]
mov dword [ebp - 0x100], esi
mov esi, dword [ebp - 0xdc]
mov eax, dword [eax + edx*4]
mov esi, dword [esi + 0x10]
mov edi, dword [eax + 0x2c]
mov eax, dword [eax + 0x30]
mov ebx, dword [edi + 0x20]
mov dword [ebp - 0xe8], eax
test ebx, ebx
jne 0x54718a
call fcn.004fb1b4
mov dword [edi + 0x20], eax
mov ebx, eax
test eax, eax
je 0x5471f0
mov word [eax + 0x14], si
lea edx, [ebp - 0x80]
mov eax, edi
call fcn.004e760d
mov dword [esp], ebx
mov edx, dword [ebp - 0x80]
mov ecx, eax
mov eax, dword [ebp - 0xe8]
call fcn.004e64a7
xor eax, eax
cmp esi, eax
jle 0x5471c0
imul edx, eax, 0x28
add edx, dword [ebx + 4]
test byte [edx + 0x10], 1
jne 0x5462f6
inc eax
jmp 0x5471a9
imul eax, dword [ebp - 0x100], 0x28
add eax, dword [ebp - 0xf8]
mov dword [esp + 8], ebx
mov edx, dword [eax + 8]
mov dword [esp + 4], edx
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call fcn.0050c284
mov dword [ebp - 0xe8], eax
test eax, eax
jmp 0x547a7f
mov dword [ebp - 0xe8], 7
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
imul ebx, dword [eax + 8], 0x28
mov eax, dword [ebp - 0xe0]
add ebx, dword [ebp - 0xf8]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
lea edx, [ebp - 0x80]
mov eax, dword [eax + 0x2c]
call fcn.004e760d
mov edx, dword [ebp - 0x80]
mov esi, eax
mov eax, ebx
call fcn.004f7eee
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x54727b
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebx + 8]
and ax, 0xf240
mov dword [ebx + 0xc], ecx
or eax, 0x10
mov edi, edx
mov word [ebx + 0x10], ax
mov eax, dword [ebp - 0xdc]
rep movsb byte es:[edi], byte [esi]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
mov dword [eax + 0x20], 0
jmp case.0x542b77.89
mov dword [ebp - 0xe8], 7
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x58]
call fcn.004f210c
mov ebx, eax
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0xe8], eax
call fcn.004df4bc
mov eax, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xec]
mov edx, dword [eax + 0x2c]
cmp dword [esi + 0x78], edx
jb 0x54b074
mov ecx, ebx
call fcn.005222d1
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x54ae91
mov eax, dword [ebp - 0xdc]
cmp dword [eax + 0xc], 0
jne case.0x542b77.89
test byte [ebx + 0x11], 0x40
je case.0x542b77.89
mov eax, ebx
call fcn.004f88d3
mov dword [ebp - 0xe8], eax
test eax, eax
je case.0x542b77.89
jmp 0x54b0c0
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x58]
call fcn.004f210c
mov edi, eax
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
cmp byte [ebx + 2], 0
je 0x547366
mov word [edi + 0x10], 1
jmp case.0x542b77.89
cmp byte [ebx + 3], 0
je 0x54737d
mov eax, dword [ebx + 0x40]
mov edx, dword [ebx + 0x44]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
jmp 0x54740c
cmp byte [ebx], 2
mov eax, dword [ebx + 0x2c]
jne 0x5473c1
mov edx, dword [eax]
lea ebx, [ebp - 0x80]
mov ecx, dword [edx]
mov dword [ebp - 0x100], edx
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ecx + 0x30]
mov edx, dword [ebp - 0x100]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe0]
call fcn.004fb048
cmp dword [ebp - 0xe8], 0
je 0x54740c
jmp 0x54ae91
cmp byte [eax], 0
je 0x5473ec
mov eax, ebx
call fcn.0052280c
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x54ae91
cmp byte [ebx + 2], 0
je 0x5473ec
mov word [edi + 0x10], 1
jmp case.0x542b77.89
mov ebx, dword [ebx + 0x2c]
mov eax, ebx
call fcn.004df4bc
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x24]
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
mov dword [edi], eax
mov dword [edi + 4], edx
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
test eax, eax
jne 0x54746a
mov dword [esp], 3
mov eax, dword [ebp - 0xe0]
mov ecx, 1
call fcn.00525f68
test eax, eax
je 0x54b0c0
or byte [eax + 8], 8
mov dword [eax + 0x24], 0
mov byte [eax + 4], 1
mov dword [eax + 0x2c], 0x67d068
cmp byte [eax], 0
mov byte [eax + 2], 1
mov dword [eax + 0x20], 0
jne case.0x542b77.89
mov ebx, dword [eax + 0x2c]
mov eax, dword [ebx + 0x10]
mov dword [esp], eax
call fcn.004e220f
mov dword [ebx + 0x10], 0
mov byte [ebx], 1
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
cmp byte [ebp - 0x100], 0x89
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebx + 0x2c]
mov dword [ebp - 0x80], 0
je 0x5474f0
lea edx, [ebp - 0x80]
call fcn.00508643
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x80]
cmp dword [ebp - 0xe8], 0
mov byte [ebx + 3], 0
mov byte [ebx + 2], al
mov dword [ebx + 0x20], 0
je 0x547502
jmp 0x54ae91
mov dword [ebx + 0x24], 0xffffffff
cmp byte [eax], 0
je case.0x542b77.89
jmp 0x5474c3
mov esi, dword [ebp - 0xdc]
cmp dword [esi + 8], 0
jle case.0x542b77.89
test eax, eax
je case.0x542b77.89
jmp 0x543d5c
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
lea edx, [ebp - 0x80]
mov ebx, dword [eax + 0x2c]
mov eax, ebx
call fcn.00508698
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x54ae91
cmp dword [ebp - 0x80], 0
jne 0x543d5c
mov eax, ebx
call fcn.004c78ca
test edx, edx
js 0x54b4df
call fcn.004e07ba
mov esi, dword [ebp - 0xdc]
cwde
cmp eax, dword [esi + 0xc]
jl 0x543d5c
jmp 0x54b4df
mov eax, dword [ebp - 0xe0]
inc dword [eax + 0xac]
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0xd8], 1
cmp byte [eax], 1
mov edi, dword [eax + 0x2c]
mov dword [ebp - 0x120], eax
jne 0x547a2c
cmp byte [edi + 0x38], 0
jne 0x5475ef
cmp dword [edi + 0x24], 0
je 0x547a5d
mov dword [ebp - 0xd8], 0
lea edx, [edi + 0x24]
lea eax, [edi + 0x40]
call fcn.004fb221
mov dword [ebp - 0xe8], eax
jmp 0x547a50
mov eax, edi
call fcn.004fb4c1
movzx ebx, byte [edi + 0x3b]
mov dword [ebp - 0xe8], eax
test ebx, ebx
je 0x547627
imul eax, ebx, 0x48
lea eax, [edi + eax - 8]
call fcn.004ef8d1
cmp dword [ebp - 0xe8], 0
cmovne eax, dword [ebp - 0xe8]
dec ebx
mov dword [ebp - 0xe8], eax
jmp 0x547600
cmp dword [ebp - 0xe8], 0
jne 0x54ae91
mov eax, dword [edi + 0x48]
mov edx, 0x50c2ec
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x15c], eax
mov al, byte [edi + 0x3c]
cmp al, 1
je 0x54765b
cmp al, 2
mov edx, 0x50c29d
mov eax, 0x50c5ef
cmove edx, eax
movzx esi, byte [edi + 0x3b]
mov eax, edi
imul ebx, esi, 0x48
mov ecx, esi
add ebx, edi
cmp ebx, eax
je 0x547674
mov dword [eax + 0x60], edx
add eax, 0x48
jmp 0x547668
mov dword [ebp - 0x100], 0
cmp cl, 1
jbe 0x547694
mov eax, esi
call fcn.004eeca4
mov dword [ebp - 0x100], eax
test eax, eax
je 0x5476ac
mov dword [ebp - 0x138], 0
lea eax, [edi + 0x40]
mov dword [ebp - 0x108], eax
jmp 0x547762
mov dword [ebp - 0xe8], 7
mov eax, dword [ebp - 0x100]
call fcn.004f29eb
jmp 0x547a0b
cmp dword [ebp - 0xe8], 0x10
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
jg 0x5477ca
lea eax, [ebp - 0xd4]
mov edx, dword [ebp - 0xe8]
lea ecx, [ebp - 0x80]
mov dword [esp], eax
mov eax, dword [ebp - 0x108]
call fcn.004f7c96
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0
jne 0x547978
cmp dword [ebp - 0x100], 0
mov edx, dword [ebp - 0xd4]
je 0x547988
mov eax, dword [ebp - 0x100]
imul ecx, dword [ebp - 0x138], 0x38
add ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x108]
add ecx, 0x30
call fcn.004f2a95
mov dword [ebp - 0xe8], eax
inc dword [ebp - 0x138]
add dword [ebp - 0x108], 0x48
cmp dword [ebp - 0xe8], 0
jne 0x5476b6
movzx eax, byte [edi + 0x3b]
cmp dword [ebp - 0x138], eax
jge 0x54b3dd
mov eax, dword [ebp - 0x108]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x547748
mov ecx, dword [ebp - 0xe8]
mov eax, 0x10
xor edx, edx
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0x118], 0
mov ebx, ecx
sar ebx, 0x1f
cmp eax, dword [ebp - 0xe8]
mov esi, edx
sbb esi, ebx
jge 0x5476c6
shld edx, eax, 4
inc dword [ebp - 0x118]
shl eax, 4
jmp 0x5477ab
mov eax, 0x10
call fcn.004eeca4
mov dword [ebp - 0x128], 0
cmp eax, 1
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0x148], 0
sbb eax, eax
mov dword [ebp - 0xe8], eax
and dword [ebp - 0xe8], 7
mov eax, dword [ebp - 0x108]
mov edx, dword [eax + 0x1c]
cmp edx, dword [ebp - 0x148]
jle 0x547704
cmp dword [ebp - 0xe8], 0
jne 0x547978
sub edx, dword [ebp - 0x148]
mov eax, 0x10
lea ecx, [ebp - 0x80]
mov dword [ebp - 0xd0], 0
cmp edx, 0x10
cmovg edx, eax
lea eax, [ebp - 0xd0]
mov dword [esp], eax
mov eax, dword [ebp - 0x108]
call fcn.004f7c96
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x54796c
mov eax, dword [ebp - 0x128]
mov edx, dword [ebp - 0xd0]
lea ecx, [ebp - 0xc8]
mov esi, dword [ebp - 0xd4]
inc eax
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x108]
call fcn.004f2a95
mov dword [ebp - 0xe8], 1
mov edx, eax
mov eax, 1
cmp dword [ebp - 0x118], eax
jle 0x5478af
shl dword [ebp - 0xe8], 4
inc eax
jmp 0x54789d
mov dword [ebp - 0x150], 1
mov ecx, dword [ebp - 0x150]
cmp dword [ebp - 0x118], ecx
jle 0x547929
test edx, edx
jne 0x547929
mov eax, dword [ebp - 0x128]
cdq
idiv dword [ebp - 0xe8]
and eax, 0xf
imul ebx, eax, 0x38
add ebx, dword [esi + 0xc]
cmp dword [ebx + 0x30], 0
je 0x5478f8
mov eax, dword [ebx + 0x30]
sar dword [ebp - 0xe8], 4
xor edx, edx
mov esi, dword [eax + 4]
jmp 0x547921
mov eax, 0x10
call fcn.004eeca4
mov edx, 7
test eax, eax
je 0x547921
mov edx, eax
mov eax, dword [ebp - 0x108]
lea ecx, [ebx + 0x30]
call fcn.004f2a95
mov edx, eax
test eax, eax
je 0x5478e7
inc dword [ebp - 0x150]
jmp 0x5478b9
mov ecx, dword [ebp - 0xc8]
test edx, edx
jne 0x547947
mov eax, dword [ebp - 0x128]
and eax, 0xf
imul eax, eax, 0x38
add eax, dword [esi + 0xc]
mov dword [eax + 0x30], ecx
jmp 0x54795a
mov eax, ecx
mov dword [ebp - 0xe8], edx
call fcn.004f2a39
mov edx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0xe8], edx
mov dword [ebp - 0x128], eax
add dword [ebp - 0x148], 0x10
jmp 0x547800
mov eax, dword [ebp - 0xd4]
call fcn.004f29eb
jmp 0x547748
mov dword [ebp - 0x100], edx
jmp 0x547748
mov edx, dword [ebp - 0x100]
lea ecx, [eax + 0x30]
mov eax, esi
call fcn.004f2a95
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x547a0b
mov eax, dword [ebx + 0x30]
mov dword [eax + 0x18], 1
mov ecx, dword [eax]
mov eax, dword [eax + 0x10]
cdq
sub dword [ecx + 0x40], eax
sbb dword [ecx + 0x44], edx
movzx eax, byte [edi + 0x3b]
xor ecx, ecx
dec eax
mov dword [ebp - 0xe8], eax
cmp ecx, dword [ebp - 0xe8]
jl 0x54b468
xor esi, esi
movzx eax, byte [edi + 0x3b]
cmp eax, esi
jle 0x54b494
mov ecx, dword [ebp - 0x100]
imul eax, esi, 0x38
mov edx, 1
inc esi
add eax, dword [ecx + 0xc]
call fcn.004f7ac9
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x5479de
mov dword [ebp - 0x100], 0
mov eax, dword [ebp - 0x100]
call fcn.004f29eb
mov dword [ebp - 0xd8], 0
jmp 0x547a50
lea edx, [ebp - 0xd8]
mov eax, edi
call fcn.00508698
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x120]
mov byte [eax + 3], 0
mov dword [eax + 0x20], 0
cmp dword [ebp - 0xe8], 0
jne 0x54ae91
mov eax, dword [ebp - 0xd8]
mov esi, dword [ebp - 0x120]
mov dword [ebp - 0xe8], eax
mov al, byte [ebp - 0xe8]
cmp dword [ebp - 0xe8], 0
mov byte [esi + 2], al
je case.0x542b77.89
jmp 0x5462f6
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov edi, dword [eax + edx*4]
mov ebx, dword [edi + 0x2c]
cmp byte [ebx + 0x38], 0
je 0x547b19
cmp byte [ebx + 0x39], 0
je 0x547adc
mov eax, dword [ebx + 0x10]
call fcn.004f7532
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x547b98
mov eax, dword [ebx + 0x10]
cmp dword [eax + 0x18], 0
mov eax, 0x65
cmovne eax, dword [ebp - 0xe8]
jmp 0x547b92
mov eax, dword [ebx + 0x14]
lea edx, [ebp - 0x80]
mov dword [ebp - 0x80], 0
call fcn.004f769d
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x547b98
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x547b98
mov dword [ebp - 0xe8], 0x65
jmp 0x547b98
mov eax, dword [ebx + 0x24]
cmp dword [ebx + 0x28], 0
mov edx, dword [eax + 4]
mov dword [ebx + 0x24], edx
mov dword [eax + 4], 0
jne 0x547b41
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xec]
mov dword [esp], eax
call fcn.004e244d
cmp dword [ebx + 0x24], 1
sbb eax, eax
mov dword [ebp - 0xe8], eax
and dword [ebp - 0xe8], 0x65
jmp 0x547b98
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov edi, dword [eax + edx*4]
mov eax, dword [edi + 0x2c]
call fcn.005228ff
jmp 0x547b92
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov edi, dword [eax + edx*4]
mov eax, dword [edi + 0x2c]
call fcn.00522a1a
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0
mov dword [edi + 0x20], 0
jne 0x547bc8
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
mov byte [edi + 2], 0
movzx eax, word [eax + 2]
inc dword [esi + eax*4 + 0xa4]
jmp case.0x542b77.9
cmp dword [ebp - 0xe8], 0x65
jne 0x54ae91
mov byte [edi + 2], 1
jmp 0x54a7a7
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov edi, dword [eax + edx*4]
mov eax, dword [ebp - 0xdc]
imul ebx, dword [eax + 8], 0x28
add ebx, dword [ebp - 0xf8]
test byte [eax + 2], 1
je 0x547c17
mov eax, dword [ebp - 0xe0]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
test byte [ebx + 0x11], 4
jne 0x547c65
mov eax, dword [ebx + 0xc]
xor edx, edx
mov dword [ebp - 0x78], eax
sar eax, 0x1f
mov dword [ebp - 0x74], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0xdc]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0xf8]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x10]
mov word [ebp - 0x68], ax
mov eax, dword [ebp - 0xdc]
mov cx, word [eax + 2]
test cl, 0x10
je 0x547c7b
mov edx, dword [edi + 0x24]
jmp 0x547c7b
mov eax, ebx
call fcn.004f8792
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x547c1d
jmp 0x54ae91
mov eax, dword [edi + 0x2c]
mov dword [esp], edx
and ecx, 0x8a
lea edx, [ebp - 0x80]
call fcn.00523284
mov dword [edi + 0x20], 0
mov dword [ebp - 0xe8], eax
test eax, eax
je case.0x542b77.89
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebp - 0xdc]
imul eax, dword [eax + 8], 0x28
add eax, dword [ebp - 0xf8]
mov dword [ebp - 0x100], eax
test byte [eax + 0x11], 4
jne 0x547cfd
mov eax, dword [ebp - 0x100]
mov ebx, dword [ebx + 0x2c]
mov eax, dword [eax + 8]
movzx edx, byte [eax + 1]
mov dword [ebp - 0x80], edx
cmp edx, 0x7f
jle 0x547d17
inc eax
lea edx, [ebp - 0x80]
call fcn.004e63d5
jmp 0x547d17
mov eax, dword [ebp - 0x100]
call fcn.004f8792
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x547cda
jmp 0x54ae91
mov eax, dword [ebp - 0x80]
lea edx, [eax - 1]
cmp edx, 8
ja 0x547d2d
cmp eax, 7
je 0x547d2d
and byte [ebx + 0x3c], 1
jmp 0x547d40
cmp eax, 0xa
jle 0x547d3c
test al, 1
je 0x547d3c
and byte [ebx + 0x3c], 2
jmp 0x547d40
mov byte [ebx + 0x3c], 0
mov eax, dword [ebp - 0x100]
mov esi, 1
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x108], eax
lea edi, [eax + 8]
cdq
shrd eax, edx, 7
shr edx, 7
mov ecx, edx
or ecx, eax
je 0x547d68
inc esi
jmp 0x547d58
mov edx, dword [ebx + 4]
add esi, dword [ebp - 0x108]
test edx, edx
jne 0x547d81
mov dword [ebp - 0xe8], 0
jmp 0x547dc7
cmp dword [ebx + 0x28], 0
je 0x547db1
mov eax, dword [ebx + 0x30]
test eax, eax
je 0x547d75
add eax, edi
cmp edx, eax
jge 0x547d75
mov eax, ebx
call fcn.004fb4c1
mov dword [ebx + 0x2c], 0
mov dword [ebp - 0xe8], eax
mov dword [ebx + 0x30], 0
jmp 0x547dc7
mov eax, dword [ebx + 0x2c]
cmp edx, eax
jl 0x547d94
cmp eax, dword [ebx]
jle 0x547d75
mov eax, dword [0x67d2b8]
test eax, eax
jne 0x547d94
jmp 0x547d75
add dword [ebx + 0x2c], esi
cmp esi, dword [ebx + 8]
jle 0x547dd2
mov dword [ebx + 8], esi
mov eax, dword [ebx + 0x28]
mov dword [ebp - 0x120], eax
test eax, eax
je 0x547ecb
mov eax, dword [ebx + 0x34]
add edi, dword [ebx + 0x30]
mov ecx, edi
cmp edi, eax
jle 0x547ea6
mov esi, eax
mov edi, eax
mov edx, dword [ebx + 0x24]
mov dword [ebp - 0x138], 0xffffffff
sar edi, 0x1f
add esi, eax
adc edi, edi
test edx, edx
je 0x547e1b
sub edx, dword [ebp - 0x120]
mov dword [ebp - 0x138], edx
mov eax, ecx
mov dword [ebp - 0x128], ecx
sar eax, 0x1f
mov dword [ebp - 0x124], eax
cmp esi, ecx
mov eax, edi
sbb eax, dword [ebp - 0x124]
jge 0x547e3e
add esi, esi
adc edi, edi
jmp 0x547e2c
mov ecx, dword [ebx + 4]
mov eax, ecx
cdq
cmp esi, ecx
mov eax, edx
mov edx, edi
sbb edx, eax
cmovl ecx, esi
cmovl eax, edi
mov edi, dword [ebp - 0x128]
mov edx, ecx
mov ecx, dword [ebp - 0x124]
cmp edi, edx
mov esi, ecx
sbb esi, eax
cmovl edi, edx
cmovl ecx, eax
mov eax, dword [ebp - 0x120]
mov edx, edi
call fcn.004f6c2d
test eax, eax
jne 0x547e8c
mov dword [ebp - 0xe8], 7
jmp 0x54ae91
cmp dword [ebp - 0x138], 0
js 0x547ea0
mov edx, dword [ebp - 0x138]
add edx, eax
mov dword [ebx + 0x24], edx
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x34], edi
mov eax, dword [ebp - 0x108]
mov esi, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x28]
add eax, 0xf
and eax, 0xfffffff8
lea edx, [ecx + esi]
add eax, esi
mov dword [ebx + 0x30], eax
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x547eee
sub eax, ecx
jmp 0x547eeb
mov eax, edi
cdq
call fcn.004ecb7d
mov edx, eax
test eax, eax
jne 0x547ee8
mov dword [ebp - 0xe8], 7
jmp 0x54ae91
mov eax, dword [ebx + 0x24]
mov dword [edx + 4], eax
mov edi, dword [ebp - 0x100]
mov esi, dword [ebp - 0x100]
lea eax, [edx + 8]
cmp dword [ebp - 0xe8], 0
mov ecx, dword [edi + 0xc]
mov esi, dword [esi + 8]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x100]
mov eax, dword [eax + 0xc]
mov dword [edx], eax
mov dword [ebx + 0x24], edx
je case.0x542b77.89
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
lea ecx, [ebp - 0xc8]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
lea edx, [ebp - 0x80]
mov eax, dword [ebx + 0x30]
mov edi, dword [ebx + 0x2c]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0xc]
mov byte [ebp - 0x6a], 0
mov word [ebp - 0x6c], ax
mov eax, dword [ebp - 0xdc]
imul eax, dword [eax + 8], 0x28
add eax, dword [ebp - 0xf8]
mov dword [ebp - 0x7c], eax
mov eax, edi
call fcn.00522323
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x54ae91
cmp dword [ebp - 0xc8], 0
jne 0x547fa2
mov edx, 4
mov eax, edi
call fcn.00523eec
test eax, eax
je 0x548001
jmp 0x548014
mov eax, dword [ebp - 0xdc]
cmp word [eax + 2], 0
je 0x548001
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x100], eax
and eax, 0x10000001
dec eax
je 0x548001
mov dword [esp + 0x10], 0x663d98
mov dword [esp + 0xc], 0x17705
mov dword [esp + 8], str.index_corruption
mov dword [esp + 4], str._s_at_line__d_of___.10s_
mov dword [esp], 0x30b
call fcn.00505e47
mov dword [ebp - 0xe8], 0x30b
jmp 0x54ae91
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x24], 0
jmp case.0x542b77.89
mov dword [ebp - 0xe8], eax
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebx + 0x2c]
cmp byte [eax], 0
jne 0x548047
cmp byte [ebx + 2], 0
je 0x54805d
jmp 0x5481d3
mov eax, ebx
call fcn.0052280c
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x54803c
jmp 0x54ae91
mov eax, dword [ebx + 0x2c]
mov dword [ebp - 0xe8], eax
call fcn.004df4bc
mov eax, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xec]
lea ecx, [ebp - 0xc8]
mov edx, dword [eax + 0x2c]
mov dword [ebp - 0xb4], esi
mov word [ebp - 0xb8], 0
mov dword [ebp - 0xb0], 0
call fcn.005222d1
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x54ae91
mov eax, dword [ebp - 0xc0]
movzx edx, byte [eax]
mov dword [ebp - 0xd4], edx
cmp edx, 0x7f
jbe 0x5480cb
lea edx, [ebp - 0xd4]
call fcn.004e63d5
mov eax, dword [ebp - 0xd4]
cmp eax, 2
jbe 0x548150
cmp eax, dword [ebp - 0xbc]
ja 0x548150
mov edx, dword [ebp - 0xc0]
lea eax, [edx + eax - 1]
movzx edx, byte [eax]
mov dword [ebp - 0xd0], edx
cmp edx, 0x7f
jbe 0x548101
lea edx, [ebp - 0xd0]
call fcn.004e63d5
mov edx, dword [ebp - 0xd0]
lea eax, [edx - 1]
cmp eax, 8
ja 0x548150
cmp edx, 7
je 0x548150
movzx ecx, byte [edx + 0x66ffa0]
mov esi, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xbc]
add esi, ecx
cmp eax, esi
jb 0x548150
sub eax, ecx
lea ecx, [ebp - 0x80]
add eax, dword [ebp - 0xc0]
call fcn.004ca65c
lea eax, [ebp - 0xc8]
mov esi, dword [ebp - 0x80]
mov edi, dword [ebp - 0x7c]
call fcn.004e364c
jmp 0x548171
lea eax, [ebp - 0xc8]
call fcn.004e364c
mov eax, 0x153b6
call fcn.0050711b
test eax, eax
jne 0x54ae7b
xor esi, esi
xor edi, edi
mov eax, dword [ebp - 0xdc]
cmp byte [eax], 0x8d
jne 0x5481b2
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
mov dword [eax + 0x40], esi
mov esi, dword [ebp - 0xdc]
mov word [eax + 2], 0x100
mov edx, dword [esi + 0x10]
mov dword [eax + 0x44], edi
mov dword [eax + 0x20], 0
mov dword [eax + 0x10], edx
mov dword [eax + 0x28], ebx
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x58]
call fcn.004f210c
mov dword [eax], esi
mov dword [eax + 4], edi
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
imul eax, dword [eax + 8], 0x28
add eax, dword [ebp - 0xf8]
call fcn.004e2e6f
mov dword [ebp - 0xe8], 0
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
cmp byte [eax + 3], 0
je case.0x542b77.89
call fcn.00522dd2
mov dword [ebp - 0xe8], eax
test eax, eax
je case.0x542b77.89
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
cmp byte [ebp - 0x100], 0x29
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov edx, dword [eax + edx*4]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x10]
mov word [ebp - 0xb4], ax
setbe al
neg eax
mov byte [ebp - 0xb2], al
mov eax, dword [ebp - 0xdc]
mov ebx, dword [edx + 0x2c]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0xf8]
mov dword [ebp - 0xc4], eax
mov eax, ebx
call fcn.004df4bc
mov esi, dword [ebx + 0x2c]
xor edx, edx
mov ecx, 0x7ffffffe
mov eax, esi
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [ebp - 0xe8], eax
mov eax, 0
cmp ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], edx
sbb eax, dword [ebp - 0xe4]
jae 0x5482d4
mov eax, 0x177d2
call fcn.0050711b
mov dword [ebp - 0xe8], eax
jmp 0x54ae91
mov eax, dword [ebp - 0xec]
lea ecx, [ebp - 0x80]
mov edx, esi
mov word [ebp - 0x70], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x6c], eax
mov eax, ebx
call fcn.005222d1
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x54ae91
mov dword [esp], 0
mov edx, dword [ebp - 0x78]
lea ecx, [ebp - 0xc8]
mov eax, dword [ebp - 0x74]
call fcn.0050be72
mov ebx, eax
lea eax, [ebp - 0x80]
call fcn.004e364c
mov esi, dword [ebp - 0xdc]
mov eax, ebx
neg eax
test byte [esi], 1
je 0x548338
lea eax, [ebx + 1]
test eax, eax
jle case.0x542b77.89
jmp 0x543d5c
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x58]
call fcn.004f210c
mov esi, dword [ebp - 0xec]
mov dword [ebp - 0x108], eax
mov word [eax + 0x10], 1
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0xcc]
mov dword [ebp - 0xe8], eax
inc eax
cmp dword [esi + 0xc0], eax
jle 0x5483a5
mov dword [ebp - 0xe8], 6
mov eax, dword [ebp - 0xe0]
mov byte [eax + 0x92], 2
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0xdc]
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0x128]
shl eax, 4
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0xec]
mov edi, dword [ebp - 0x120]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edi + 4]
mov dword [ebp - 0x100], eax
call fcn.004f394d
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0xd0], 0
mov edi, dword [eax + 4]
cmp esi, dword [edi + 0x30]
jbe 0x54841d
mov eax, 0x1309d
call fcn.0050711b
mov dword [ebp - 0xe8], 0
mov ebx, eax
jmp 0x548614
mov eax, dword [ebp - 0x100]
xor ecx, ecx
mov edx, esi
call fcn.0052320e
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xd4], eax
mov ebx, eax
test eax, eax
jne 0x548614
mov dword [esp], 0
lea ecx, [ebp - 0xd0]
mov edx, esi
mov eax, edi
call fcn.004c6d64
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xd4], eax
test eax, eax
je 0x548486
mov eax, dword [ebp - 0xd0]
call fcn.004f2e2b
mov dword [ebp - 0xe8], 0
jmp 0x54860e
cmp byte [edi + 0x11], 0
je 0x5485f2
mov eax, dword [ebp - 0x100]
lea ecx, [ebp - 0xc8]
mov edx, 4
call fcn.004f3db5
cmp esi, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xd0]
jne 0x5484dd
lea edx, [ebp - 0xd4]
call fcn.00520051
mov eax, dword [ebp - 0xd0]
call fcn.004f2e2b
mov ebx, dword [ebp - 0xd4]
test ebx, ebx
je 0x548595
jmp 0x548614
call fcn.004f2e2b
mov edx, dword [ebp - 0xc8]
lea ecx, [ebp - 0x80]
mov eax, edi
mov dword [esp], 0
call fcn.004c6d64
mov dword [ebp - 0xd4], eax
mov ebx, eax
test eax, eax
jne 0x548614
mov dword [esp + 4], esi
mov edx, dword [ebp - 0x80]
mov ecx, 1
mov eax, edi
mov dword [esp + 8], 0
mov dword [esp], 0
call fcn.0051f5a0
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x80]
call fcn.004f2e2b
mov ebx, dword [ebp - 0xd4]
test ebx, ebx
jne 0x548614
mov dword [esp], 0
mov edx, dword [ebp - 0xc8]
lea ecx, [ebp - 0x80]
mov eax, edi
mov dword [ebp - 0x80], 0
call fcn.004c6d64
lea edx, [ebp - 0xd4]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x80]
call fcn.00520051
mov eax, dword [ebp - 0x80]
call fcn.004f2e2b
mov ebx, dword [ebp - 0xd4]
test ebx, ebx
jne 0x548614
mov ebx, dword [ebp - 0xc8]
dec dword [ebp - 0xc8]
mov eax, dword [0x660ba8]
xor edx, edx
div dword [edi + 0x24]
lea esi, [eax + 1]
mov ecx, dword [ebp - 0xc8]
cmp ecx, esi
jne 0x5485bb
dec ecx
mov dword [ebp - 0xc8], ecx
jmp 0x5485a8
mov edx, ecx
mov eax, edi
mov dword [ebp - 0xe8], ecx
call fcn.004c1ddc
mov ecx, dword [ebp - 0xe8]
cmp ecx, eax
je 0x5485b2
mov eax, dword [ebp - 0x100]
mov edx, 4
call fcn.0051ec45
mov dword [ebp - 0xe8], ebx
mov dword [ebp - 0xd4], eax
jmp 0x54860e
mov eax, dword [ebp - 0xd0]
lea edx, [ebp - 0xd4]
call fcn.00520051
mov eax, dword [ebp - 0xd0]
call fcn.004f2e2b
mov ebx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x100]
call fcn.004e70b4
mov esi, dword [ebp - 0xe8]
mov eax, dword [ebp - 0x108]
mov edi, esi
mov word [eax + 0x10], 4
sar edi, 0x1f
mov dword [eax], esi
mov dword [eax + 4], edi
test ebx, ebx
jne 0x54ae83
test esi, esi
je case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0x120]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + esi + 0xc]
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x548683
mov ebx, dword [eax + 8]
mov esi, dword [ebp - 0xe8]
cmp esi, dword [ebx + 0x14]
jne 0x54867f
mov dword [ebx + 0x14], edx
mov eax, dword [eax]
jmp 0x54866a
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x54869f
mov ecx, dword [eax + 8]
mov edi, dword [ebp - 0xe8]
cmp edi, dword [ecx + 0x2c]
jne 0x54869b
mov dword [ecx + 0x2c], edx
mov eax, dword [eax]
jmp 0x548686
mov dword [ebp - 0xe8], 0
mov al, byte [ebp - 0x128]
inc eax
mov byte [ebp - 0x112], al
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xec]
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ebp - 0xe8], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov eax, dword [eax + 4]
call fcn.0052320e
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x54872b
mov edi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x80]
mov ebx, dword [ebp - 0x7c]
add dword [edi + 0x28], ecx
adc dword [edi + 0x2c], ebx
test eax, eax
jle 0x54872b
imul eax, eax, 0x28
mov esi, dword [ebp - 0xf8]
add dword [esi + eax], ecx
adc dword [esi + eax + 4], ebx
cmp dword [ebp - 0xe8], 0
je case.0x542b77.89
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
cmp byte [eax], 1
mov edx, dword [eax + 0x2c]
jne 0x54876a
mov eax, dword [ebp - 0xec]
call fcn.004f519b
jmp case.0x542b77.89
mov ebx, dword [edx + 0x40]
mov eax, dword [edx + 8]
xor ecx, ecx
mov edx, ebx
call fcn.0052320e
mov dword [ebp - 0xe8], eax
test eax, eax
je case.0x542b77.89
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x58]
call fcn.004f210c
mov dword [ebp - 0x80], 0
mov edi, dword [ebp - 0xec]
mov ebx, eax
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 4]
mov dword [ebp - 0xe8], eax
shl eax, 4
add eax, dword [edi + 0x10]
mov edi, dword [eax + 4]
mov dword [ebp - 0x100], ecx
mov eax, edi
call fcn.004f394d
mov ecx, dword [ebp - 0x100]
lea edx, [ebp - 0x80]
mov eax, edi
call fcn.00522fd2
mov dword [ebp - 0xe8], eax
mov eax, edi
call fcn.004e70b4
cmp dword [ebp - 0xe8], 0
jne 0x54ae91
mov eax, dword [ebp - 0x80]
mov dword [ebx + 4], 0
mov dword [ebx], eax
jmp case.0x542b77.89
mov eax, dword [ebp - 0xec]
inc byte [eax + 0x60]
mov eax, dword [ebp - 0xdc]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov eax, dword [eax + 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xec]
mov dword [esp], eax
call fcn.0054c34e
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xec]
dec byte [eax + 0x60]
cmp dword [ebp - 0xe8], 0
je case.0x542b77.89
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xec]
mov edx, dword [eax + 4]
mov ecx, dword [eax + 0x10]
mov eax, dword [ebp - 0xe0]
lea ebx, [eax + 0x7c]
mov eax, edx
shl eax, 4
add eax, dword [esi + 0x10]
test ecx, ecx
jne 0x5488f6
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xe8], edx
mov dword [esp], eax
call fcn.004ee4de
mov eax, dword [ebp - 0xec]
mov edx, dword [ebp - 0xe8]
mov ecx, ebx
and dword [eax + 0x18], 0xffffffef
mov eax, dword [ebp - 0xdc]
movzx eax, word [eax + 2]
mov dword [esp], eax
mov eax, dword [ebp - 0xec]
call fcn.005426f6
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xec]
or dword [eax + 0x18], 1
mov eax, dword [ebp - 0xe0]
and byte [eax + 0x98], 0xfc
jmp 0x5489cf
mov dword [ebp - 0x78], edx
mov edx, dword [eax + 4]
mov edi, dword [ebp - 0xec]
mov dword [ebp - 0x7c], ebx
mov edx, dword [edx + 4]
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x80], edi
mov edx, dword [edx + 0x30]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], str.sqlite_master
mov eax, dword [eax]
mov dword [esp + 4], str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
mov dword [esp + 8], eax
mov dword [esp], edi
mov dword [ebp - 0x68], edx
call fcn.005050ab
mov ebx, eax
test eax, eax
je 0x5489de
mov eax, dword [ebp - 0xec]
mov byte [eax + 0xb1], 1
lea eax, [ebp - 0x80]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xec]
mov dword [esp + 0x10], 0
mov dword [esp + 8], fcn.0054250a
mov dword [esp + 4], ebx
mov dword [esp], eax
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x6c], 0
call fcn.0054c34e
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x5489b5
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x5489b5
cmp dword [ebp - 0x6c], 0
jne 0x5489b5
mov eax, 0x178ce
call fcn.0050711b
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xec]
mov edx, ebx
call fcn.004e23c0
mov eax, dword [ebp - 0xec]
mov byte [eax + 0xb1], 0
cmp dword [ebp - 0xe8], 0
je case.0x542b77.89
jmp 0x5489e8
mov dword [ebp - 0xe8], 7
mov eax, dword [ebp - 0xec]
call fcn.004f3a59
cmp dword [ebp - 0xe8], 7
jne 0x54ae91
jmp 0x54b0c0
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xec]
call fcn.0054c610
mov dword [ebp - 0xe8], eax
test eax, eax
je case.0x542b77.89
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xec]
xor ecx, ecx
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0x100], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov eax, dword [eax + 0xc]
add eax, 8
call fcn.004ecdb6
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xec]
mov dword [esp], eax
call fcn.004ed44f
mov eax, dword [ebp - 0xec]
or dword [eax + 0x18], 1
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xec]
xor ecx, ecx
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0x100], eax
shl eax, 4
add eax, dword [edi + 0x10]
mov eax, dword [eax + 0xc]
add eax, 0x18
call fcn.004ecdb6
mov edx, eax
test eax, eax
je 0x548adb
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 8]
cmp edx, eax
jne 0x548ac4
mov eax, dword [edx + 0x14]
mov dword [ecx + 8], eax
jmp 0x548ad0
mov ecx, dword [eax + 0x14]
cmp edx, ecx
je 0x548aca
mov eax, ecx
test eax, eax
jne 0x548abb
jmp 0x548ad0
mov ecx, dword [edx + 0x14]
mov dword [eax + 0x14], ecx
mov eax, dword [ebp - 0xec]
call fcn.004ede96
mov eax, dword [ebp - 0xec]
or dword [eax + 0x18], 1
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xec]
xor ecx, ecx
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0x100], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov eax, dword [eax + 0xc]
add eax, 0x28
call fcn.004ecdb6
mov ebx, eax
test eax, eax
je case.0x542b77.89
mov eax, dword [eax + 0x18]
cmp dword [ebx + 0x14], eax
jne 0x548b52
mov edx, dword [ebx + 4]
add eax, 8
call fcn.004b4005
test eax, eax
je 0x548b52
lea edx, [eax + 0x38]
mov eax, dword [eax + 0x38]
test eax, eax
je 0x548b52
mov ecx, dword [eax + 0x20]
cmp ebx, eax
jne 0x548b4b
mov dword [edx], ecx
jmp 0x548b52
lea edx, [eax + 0x20]
mov eax, ecx
jmp 0x548b3c
mov eax, dword [ebp - 0xec]
mov edx, ebx
call fcn.004ee371
mov eax, dword [ebp - 0xec]
or dword [eax + 0x18], 1
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xec]
mov eax, dword [eax + 8]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0xdc]
mov edi, dword [eax + 0x10]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0xf8]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0xdc]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0xf8]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x138]
mov eax, dword [eax]
mov dword [ebp - 0x100], eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0xdc]
movzx eax, word [eax + 2]
shl eax, 4
add eax, dword [esi + 0x10]
cmp dword [edi + 4], 0
mov eax, dword [eax + 4]
mov ebx, dword [eax + 4]
mov dword [ebp - 0x108], eax
mov eax, dword [ebx + 4]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x144], edx
mov dword [ebp - 0x148], eax
jne 0x548c11
mov dword [ebp - 0x100], 1
xor eax, eax
cmp dword [edi + 8], 1
sete al
mov esi, eax
jmp 0x548c20
mov dword [ebp - 0x100], 0
mov esi, 1
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x118], ecx
call fcn.004f394d
mov eax, dword [ebp - 0xec]
lea edx, [ebp - 0x80]
mov ecx, dword [ebp - 0x118]
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0x84], eax
mov eax, dword [ebx]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebx + 0x30]
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x98], 0x64
mov dword [ebp - 0x94], 0x3b9aca00
mov dword [ebp - 0x90], 0
mov word [ebp - 0x8c], 0x100
test eax, eax
je 0x548f56
shr eax, 3
xor edx, edx
inc eax
call fcn.004ee78b
mov dword [ebp - 0xc0], eax
test eax, eax
jne 0x548d0c
mov dword [ebp - 0xb0], 1
jmp 0x548f56
mov eax, dword [ebx + 0x24]
call fcn.004f6161
mov dword [ebp - 0x88], eax
test eax, eax
je 0x548cfd
mov eax, dword [0x660ba8]
xor edx, edx
div dword [ebx + 0x24]
lea ecx, [eax + 1]
cmp ecx, dword [ebp - 0xbc]
ja 0x548d4a
mov edx, ecx
mov eax, 1
and ecx, 7
shr edx, 3
add edx, dword [ebp - 0xc0]
shl eax, cl
or byte [edx], al
test esi, esi
je 0x548d85
mov dword [ebp - 0xac], str.Main_freelist:
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + 0x38]
mov eax, dword [edx + 0x24]
mov ecx, dword [edx + 0x20]
mov edx, 1
bswap eax
mov dword [esp], eax
lea eax, [ebp - 0xc8]
bswap ecx
call fcn.00508bdb
mov dword [ebp - 0xac], 0
cmp dword [ebp - 0x100], 0
jne 0x548df7
mov eax, dword [ebx + 0xc]
cmp byte [ebx + 0x11], 0
mov ecx, dword [eax + 0x38]
je 0x548ddb
xor eax, eax
xor edx, edx
cmp dword [ebp - 0x128], edx
jle 0x548db2
mov esi, dword [edi + edx*4 + 4]
cmp eax, esi
cmovb eax, esi
inc edx
jmp 0x548d9e
mov edx, dword [ecx + 0x34]
bswap edx
cmp eax, edx
je 0x548df7
mov dword [esp + 8], eax
lea eax, [ebp - 0xc8]
mov dword [esp + 0xc], edx
mov dword [esp + 4], str.max_rootpage___d__disagrees_with_header___d_
mov dword [esp], eax
call fcn.00508a4f
jmp 0x548df7
cmp dword [ecx + 0x40], 0
je 0x548df7
lea eax, [ebp - 0xc8]
mov dword [esp + 4], str.incremental_vacuum_enabled_with_a_max_rootpage_of_zero
mov dword [esp], eax
call fcn.00508a4f
mov eax, dword [ebx + 4]
xor esi, esi
and dword [eax + 0x20], 0xffdfffff
cmp dword [ebp - 0x128], esi
jle 0x548e73
cmp dword [ebp - 0xb8], 0
je 0x548e73
mov edx, dword [edi + esi*4 + 4]
test edx, edx
je 0x548e70
mov al, byte [ebp - 0x100]
cmp byte [ebx + 0x11], 0
setne cl
xor eax, 1
test cl, al
je 0x548e4c
cmp edx, 1
je 0x548e4c
mov dword [esp], 0
mov ecx, 1
lea eax, [ebp - 0xc8]
call fcn.00508ad6
mov edx, dword [edi + esi*4 + 4]
lea ecx, [ebp - 0xd0]
lea eax, [ebp - 0xc8]
mov dword [esp], 0xffffffff
mov dword [esp + 4], 0x7fffffff
call fcn.00508d85
inc esi
jmp 0x548e03
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0x148]
mov edi, dword [ebp - 0x144]
cmp dword [ebp - 0x100], 0
mov dword [eax + 0x20], esi
mov dword [eax + 0x24], edi
jne 0x548f56
mov esi, 1
cmp esi, dword [ebp - 0xbc]
ja 0x548f56
cmp dword [ebp - 0xb8], 0
je 0x548f56
mov eax, esi
mov ecx, esi
mov edi, 1
shr eax, 3
and ecx, 7
mov dword [ebp - 0x100], eax
shl edi, cl
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x100]
movzx eax, byte [eax + ecx]
test eax, edi
je 0x548eed
mov edx, esi
mov eax, ebx
call fcn.004c1ddc
cmp esi, eax
jne 0x548f50
jmp 0x548f30
mov edx, esi
mov eax, ebx
call fcn.004c1ddc
cmp eax, esi
jne 0x548f00
cmp byte [ebx + 0x11], 0
jne 0x548f50
lea eax, [ebp - 0xc8]
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.Page__d_is_never_used
call fcn.00508a4f
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x100]
movzx eax, byte [eax + ecx]
test eax, edi
je 0x548f50
jmp 0x548ede
cmp byte [ebx + 0x11], 0
je 0x548f50
lea eax, [ebp - 0xc8]
mov dword [esp + 8], esi
mov dword [esp + 4], str.Pointer_map_page__d_is_referenced
mov dword [esp], eax
call fcn.00508a4f
inc esi
jmp 0x548e9a
mov eax, dword [ebp - 0x88]
call fcn.004e3d45
mov eax, dword [ebp - 0xc0]
mov dword [esp], eax
call fcn.004e220f
cmp dword [ebp - 0xb0], 0
je 0x548f8c
lea eax, [ebp - 0xa0]
mov dword [esp], eax
call fcn.004e2484
inc dword [ebp - 0xb4]
mov ebx, dword [ebp - 0xb4]
test ebx, ebx
jne 0x548fa4
lea eax, [ebp - 0xa0]
mov dword [esp], eax
call fcn.004e2484
mov eax, dword [ebp - 0x108]
call fcn.004e70b4
lea eax, [ebp - 0xa0]
call fcn.004fab72
mov esi, eax
mov eax, dword [ebp - 0x120]
call fcn.004e2e6f
test ebx, ebx
je 0x54900e
test esi, esi
je 0x54b0c0
mov edi, dword [ebp - 0x138]
lea eax, [ebx - 1]
cdq
sub dword [edi], eax
mov eax, dword [ebp - 0x120]
sbb dword [edi + 4], edx
mov edx, esi
mov dword [esp + 0xc], fcn.004e220f
mov dword [esp + 8], 1
mov dword [esp], 0xffffffff
mov dword [esp + 4], 0xffffffff
call fcn.004f899b
mov edx, dword [ebp - 0x110]
mov eax, dword [ebp - 0x120]
call fcn.004fba4b
jmp 0x542bc5
mov eax, dword [ebp - 0xdc]
imul ebx, dword [eax + 4], 0x28
add ebx, dword [ebp - 0xf8]
imul esi, dword [eax + 8], 0x28
add esi, dword [ebp - 0xf8]
test byte [ebx + 0x10], 0x10
je 0x54905c
mov eax, dword [esi]
mov edx, dword [esi + 4]
mov ebx, dword [ebx + 8]
mov ecx, edx
mov edx, eax
mov eax, ebx
call fcn.004fddd4
jmp case.0x542b77.89
mov eax, ebx
call fcn.004fdd04
test eax, eax
je 0x549044
jmp 0x54b0c0
mov eax, dword [ebp - 0xdc]
imul ebx, dword [eax + 4], 0x28
add ebx, dword [ebp - 0xf8]
test byte [ebx + 0x10], 0x10
je 0x549112
mov edx, dword [ebx + 8]
mov ax, word [edx + 0x1a]
test al, 2
jne 0x5490b1
test al, 1
jne 0x5490ac
mov eax, dword [edx + 8]
mov dword [ebp - 0x100], edx
call fcn.004dc1f2
mov edx, dword [ebp - 0x100]
mov dword [edx + 8], eax
or word [edx + 0x1a], 3
mov eax, dword [edx + 8]
test eax, eax
je 0x549112
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [edx + 8], eax
test eax, eax
jne 0x54911e
mov eax, dword [edx]
test eax, eax
je 0x5490ee
mov ebx, dword [eax]
mov dword [esp + 4], eax
mov eax, dword [edx + 4]
mov dword [ebp - 0x100], edx
mov dword [esp], eax
call fcn.004e244d
mov edx, dword [ebp - 0x100]
mov eax, ebx
jmp 0x5490c9
mov dword [edx], 0
mov dword [edx + 8], 0
mov dword [edx + 0xc], 0
mov dword [edx + 0x14], 0
mov dword [edx + 0x18], 0x10000
jmp 0x54911e
mov eax, ebx
call fcn.004e2e6f
jmp case.0x542b77.9
mov eax, dword [ebp - 0xdc]
mov edx, esi
mov ecx, edi
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0xf8]
call fcn.004e304d
jmp 0x542bc5
mov eax, dword [ebp - 0xdc]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0xf8]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0xdc]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0xf8]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0xdc]
mov esi, dword [eax + 0x10]
mov eax, dword [ebp - 0x108]
test byte [eax + 0x10], 0x10
je 0x549187
test esi, esi
je 0x5492de
jmp 0x54919b
mov eax, dword [ebp - 0x108]
call fcn.004fdd04
test eax, eax
je 0x54917d
jmp 0x54b0c0
mov eax, dword [ebp - 0x120]
mov eax, dword [eax]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x120]
mov eax, dword [eax + 4]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x108]
mov ebx, dword [eax + 8]
cmp esi, dword [ebx + 0x1c]
je 0x549290
mov eax, dword [ebx + 8]
mov dword [ebp - 0x100], eax
test eax, eax
je 0x54928d
lea eax, [ebx + 0x14]
mov dword [ebp - 0x128], eax
test byte [ebx + 0x1a], 1
jne 0x5491fb
mov eax, dword [ebp - 0x100]
call fcn.004dc1f2
mov dword [ebp - 0x100], eax
mov edi, dword [ebx + 0x14]
test edi, edi
je 0x549243
lea eax, [edi + 8]
mov dword [ebp - 0x128], eax
mov eax, dword [edi + 0xc]
test eax, eax
je 0x54926c
lea ecx, [ebp - 0x80]
lea edx, [ebp - 0xc8]
call fcn.004bd031
mov dword [edi + 0xc], 0
mov edx, dword [ebp - 0x100]
mov eax, dword [ebp - 0xc8]
call fcn.004bc99b
mov edi, dword [edi + 8]
mov dword [ebp - 0x100], eax
jmp 0x5491fe
mov eax, ebx
call fcn.004fdd90
mov edi, eax
mov eax, dword [ebp - 0x128]
mov dword [eax], edi
test edi, edi
je 0x54927a
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [ebp - 0x100]
call fcn.004bd9a3
mov dword [edi + 0xc], eax
or word [ebx + 0x1a], 1
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x1c], esi
mov edx, dword [ebx + 0x14]
test edx, edx
je 0x5492d6
mov eax, dword [edx + 0xc]
test eax, eax
je 0x5492d1
mov ecx, dword [eax + 4]
mov ebx, dword [eax]
cmp ebx, dword [ebp - 0x138]
mov edi, ecx
sbb edi, dword [ebp - 0x148]
jge 0x5492b8
mov eax, dword [eax + 8]
jmp 0x54929a
mov edi, dword [ebp - 0x148]
cmp dword [ebp - 0x138], ebx
sbb edi, ecx
jge 0x543d5c
mov eax, dword [eax + 0xc]
jmp 0x54929a
mov edx, dword [edx + 8]
jmp 0x549293
test esi, esi
js case.0x542b77.89
mov eax, dword [ebp - 0x120]
mov esi, dword [ebp - 0x108]
mov edx, dword [eax + 4]
mov ebx, dword [esi + 8]
mov eax, dword [eax]
mov ecx, edx
mov edx, eax
mov eax, ebx
call fcn.004fddd4
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
imul esi, dword [eax + 0xc], 0x28
add esi, dword [ebp - 0xf8]
cmp word [eax + 2], 0
mov ebx, dword [eax + 0x10]
je 0x54933d
mov eax, dword [ebp - 0xe0]
mov edx, dword [ebx + 0x14]
mov eax, dword [eax + 0xd0]
test eax, eax
je 0x54933d
cmp dword [eax + 0x1c], edx
je case.0x542b77.89
mov eax, dword [eax + 4]
jmp 0x54932b
mov edi, dword [ebp - 0xec]
mov eax, dword [ebp - 0xe0]
mov edi, dword [edi + 0xa0]
cmp dword [eax + 0xd8], edi
jl 0x549376
mov dword [esp + 4], str.too_many_levels_of_trigger_recursion
mov dword [esp], eax
call fcn.00505009
mov dword [ebp - 0xe8], 1
jmp 0x54ae91
test byte [esi + 0x10], 0x10
jne 0x54949a
mov eax, dword [ebx + 0xc]
mov ecx, 8
cmp eax, 1
mov edi, eax
adc edi, dword [ebx + 8]
imul edx, edi, 0xa
mov dword [ebp - 0xf8], edi
lea edi, [eax + edx + 0x16]
mov eax, dword [ebx + 4]
add eax, 7
cdq
idiv ecx
lea edi, [eax + edi*4]
mov eax, edi
cdq
mov eax, dword [ebp - 0xec]
mov ecx, edx
mov edx, edi
call fcn.004fabc7
mov edx, eax
mov eax, dword [ebp - 0xdc]
sub eax, dword [ebp - 0xf0]
sar eax, 2
mov dword [ebp - 0x100], edx
imul ecx, eax, 0xcccccccd
test edx, edx
mov dword [ebp - 0x108], ecx
je 0x54b0c0
mov eax, esi
call fcn.004e34aa
mov edx, dword [ebp - 0x100]
mov eax, dword [ebp - 0xe0]
mov word [esi + 0x10], 0x1010
mov dword [esi + 0xc], edi
mov ecx, dword [ebp - 0x108]
mov dword [esi + 8], edx
mov dword [esi + 0x24], 0x4ca03b
mov dword [edx], eax
mov eax, dword [ebp - 0xf8]
mov dword [edx + 0x3c], eax
mov eax, dword [ebx + 0xc]
mov dword [edx + 0x30], ecx
mov dword [edx + 0x40], eax
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x58]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x14]
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x18]
mov dword [edx + 0x2c], eax
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x68]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x6c]
mov dword [edx + 0x34], eax
mov eax, dword [ebx + 0x14]
mov dword [edx + 0x1c], eax
imul eax, dword [ebp - 0xf8], 0x28
lea ecx, [edx + eax + 0x58]
lea eax, [edx + 0x58]
cmp eax, ecx
je 0x54949d
mov esi, dword [ebp - 0xec]
mov word [eax + 0x10], 0
add eax, 0x28
mov dword [eax - 0x14], esi
jmp 0x549482
mov edx, dword [esi + 8]
mov eax, dword [ebp - 0xe0]
inc dword [eax + 0xd8]
mov eax, dword [eax + 0xd0]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0xec]
mov esi, dword [eax + 0x28]
mov edi, dword [eax + 0x2c]
mov eax, dword [ebp - 0xe0]
mov dword [edx + 0x20], esi
mov dword [edx + 0x24], edi
mov esi, dword [eax + 0x28]
mov edi, dword [eax + 0x2c]
mov eax, dword [eax]
mov dword [edx + 0x48], esi
mov dword [edx + 0x4c], edi
mov esi, dword [eax + 0x68]
mov edi, dword [eax + 0x6c]
mov eax, dword [ebp - 0xe0]
mov dword [edx + 0x50], esi
lea esi, [edx + 0x58]
mov eax, dword [eax + 0xe4]
mov dword [edx + 0x54], edi
mov edi, 8
mov dword [edx + 0x28], eax
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0xd0], edx
mov dword [eax + 0xe4], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x2c], 0
lea eax, [edx + 0x58]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0x58], esi
mov eax, dword [edx + 0x3c]
mov esi, dword [ebp - 0xe0]
movzx ecx, word [edx + 0x40]
mov dword [esi + 0x18], ecx
mov ecx, dword [ebx + 0xc]
mov dword [esi + 0x14], eax
imul eax, eax, 0x28
add eax, dword [ebp - 0xf8]
mov dword [esi + 0x60], eax
lea esi, [eax + ecx*4]
mov eax, dword [ebx + 4]
mov dword [edx + 0x18], esi
lea ecx, [eax + 7]
mov eax, ecx
cdq
idiv edi
mov edi, esi
mov esi, dword [ebp - 0xe0]
mov ecx, eax
xor eax, eax
rep stosb byte es:[edi], al
mov eax, dword [ebx]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xf0]
mov dword [eax + 0x68], edi
mov eax, dword [ebx + 4]
mov dword [esi + 0x6c], eax
mov eax, edi
sub eax, 0x14
jmp 0x542bbf
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x58]
call fcn.004f210c
mov edi, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xdc]
mov ecx, dword [edi + 0xd0]
mov edx, dword [esi + 4]
imul ebx, dword [ecx + 0x30], 0x14
add ebx, dword [ecx + 8]
add edx, dword [ebx + 4]
imul edx, edx, 0x28
add edx, dword [ecx + 0x10]
mov ecx, 0x4000
call fcn.004ebe4b
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xec]
mov eax, dword [eax + 8]
test byte [edi + 0x22], 8
je 0x54960b
cdq
add dword [edi + 0x208], eax
adc dword [edi + 0x20c], edx
jmp case.0x542b77.89
mov edi, dword [ebp - 0xdc]
cdq
cmp dword [edi + 4], 0
je 0x54962f
mov esi, dword [ebp - 0xec]
add dword [esi + 0x200], eax
adc dword [esi + 0x204], edx
jmp case.0x542b77.89
mov edi, dword [ebp - 0xe0]
add dword [edi + 0x40], eax
adc dword [edi + 0x44], edx
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
cmp dword [eax + 4], 0
je 0x549674
mov eax, dword [ebp - 0xec]
mov esi, dword [ebp - 0xec]
mov eax, dword [eax + 0x204]
or eax, dword [esi + 0x200]
jne case.0x542b77.89
mov eax, dword [esi + 0x20c]
mov edi, esi
jmp 0x54969e
mov eax, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
mov eax, dword [eax + 0x44]
or eax, dword [esi + 0x40]
jne case.0x542b77.89
mov eax, dword [ebp - 0xec]
mov edi, dword [ebp - 0xec]
mov eax, dword [eax + 0x20c]
or eax, dword [edi + 0x208]
jmp 0x549827
mov esi, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xf8]
imul edx, dword [esi + 4], 0x28
mov eax, dword [eax + 0xd0]
lea esi, [edi + edx]
test eax, eax
je 0x5496da
mov ecx, eax
mov eax, dword [eax + 4]
test eax, eax
jne 0x5496cc
mov esi, dword [ecx + 0x10]
add esi, edx
mov eax, esi
call fcn.004f2214
mov eax, dword [ebp - 0xdc]
imul ebx, dword [eax + 8], 0x28
add ebx, dword [ebp - 0xf8]
mov eax, ebx
call fcn.004f2214
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 4]
mov edx, dword [ebx]
cmp dword [esi], edx
sbb ecx, eax
jge case.0x542b77.89
mov dword [esi], edx
mov dword [esi + 4], eax
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
imul esi, dword [eax + 4], 0x28
add esi, dword [ebp - 0xf8]
xor eax, eax
mov ecx, dword [esi]
mov ebx, dword [esi + 4]
cmp eax, ecx
sbb eax, ebx
jge case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0xc]
cdq
sub ecx, eax
sbb ebx, edx
mov dword [esi], ecx
mov dword [esi + 4], ebx
jmp 0x543d5c
mov eax, dword [ebp - 0xdc]
imul edi, dword [eax + 4], 0x28
mov edx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [ebp - 0xe0]
add edi, dword [ebp - 0xf8]
mov eax, dword [eax + 0x58]
call fcn.004f210c
xor ecx, ecx
mov edx, dword [edi + 4]
mov esi, eax
mov eax, dword [edi]
cmp ecx, eax
sbb ecx, edx
jge 0x5497a8
imul ebx, ebx, 0x28
mov edi, dword [ebp - 0xf8]
mov ecx, dword [edi + ebx]
mov ebx, dword [edi + ebx + 4]
test ebx, ebx
jns 0x549798
xor ecx, ecx
xor ebx, ebx
add eax, ecx
adc edx, ebx
jo 0x5497a8
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x542b77.89
mov dword [esi], 0xffffffff
mov dword [esi + 4], 0xffffffff
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
imul ecx, dword [eax + 4], 0x28
add ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ecx]
mov esi, edx
or esi, eax
je case.0x542b77.89
xor ebx, ebx
cmp ebx, eax
sbb ebx, edx
jge 0x543d5c
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x543d5c
mov eax, dword [ebp - 0xdc]
imul ecx, dword [eax + 4], 0x28
add ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ecx]
lea ebx, [edx - 0x80000000]
or ebx, eax
je case.0x542b77.89
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov esi, edx
or esi, eax
jne case.0x542b77.89
jmp 0x543d5c
mov eax, dword [ebp - 0xdc]
xor edx, edx
mov ecx, edx
movzx eax, word [eax + 2]
lea esi, [eax*4 + 0x44]
mov ebx, eax
mov eax, dword [ebp - 0xec]
mov edx, esi
call fcn.004fa9f9
mov edx, dword [ebp - 0xdc]
sub edx, dword [ebp - 0xf0]
sar edx, 2
imul ecx, edx, 0xcccccccd
test eax, eax
je 0x54b0c0
lea edx, [eax + esi - 0x28]
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xdc]
mov dword [eax + 8], 0
mov dword [eax], edx
mov dword [edx + 0x14], edi
mov edi, dword [ebp - 0xe0]
mov word [edx + 0x10], 1
mov dword [edx + 0x18], 0
mov edx, dword [esi + 0x10]
mov dword [eax + 0x10], ecx
mov cl, byte [ebp - 0x111]
mov dword [eax + 4], edx
mov dword [eax + 0xc], edi
mov byte [eax + 0x19], 0
mov dword [eax + 0x14], 0
mov byte [eax + 0x18], cl
mov byte [eax + 0x1a], bl
mov dword [esi + 0x10], eax
mov word [esi], 0xf1a3
mov eax, dword [ebp - 0xdc]
mov ebx, dword [eax + 0x10]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0xf8]
movzx esi, byte [ebx + 0x1a]
cmp dword [ebx + 8], eax
jne 0x54990e
mov edi, dword [ebp - 0xdc]
inc dword [eax + 0xc]
lea edx, [ebx + 0x1c]
mov eax, dword [ebx + 4]
cmp dword [edi + 4], 0
je 0x549934
mov dword [esp + 8], edx
mov dword [esp + 4], esi
mov dword [esp], ebx
call dword [eax + 0x1c]
jmp 0x549942
mov dword [ebx + 8], eax
lea edx, [esi - 1]
cmp edx, 0xffffffff
je 0x5498e9
mov edi, dword [ebp - 0xdc]
mov ecx, dword [edi + 8]
add ecx, edx
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xf8]
mov dword [ebx + edx*4 + 0x1c], ecx
dec edx
jmp 0x549914
mov dword [esp + 8], edx
mov dword [esp + 4], esi
mov dword [esp], ebx
call dword [eax + 0x10]
cmp dword [ebx + 0x14], 0
je case.0x542b77.89
jle 0x54997b
mov eax, dword [ebx]
mov dword [esp], eax
call fcn.004f934d
mov dword [esp + 4], 0x664b78
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe0]
mov dword [esp], eax
call fcn.00505009
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0xe8], eax
cmp byte [ebx + 0x19], 0
je 0x5499a7
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax - 0x10]
test eax, eax
je 0x5499a3
imul eax, eax, 0x28
mov edx, 1
add eax, dword [ebp - 0xf8]
xor ecx, ecx
call fcn.004e304d
mov byte [ebx + 0x19], 0
mov eax, dword [ebx]
call fcn.004e34aa
mov eax, dword [ebx]
cmp dword [ebp - 0xe8], 0
mov word [eax + 0x10], 1
mov dword [ebx + 0x14], 0
je case.0x542b77.89
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xf8]
imul eax, dword [eax + 4], 0x28
add esi, eax
mov eax, dword [ebp - 0xdc]
mov ebx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
test ebx, ebx
je 0x549a51
xor eax, eax
mov ecx, 8
lea edi, [ebp - 0x80]
mov dword [ebp - 0xe8], edx
rep stosd dword es:[edi], eax
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0xf8]
mov eax, ebx
call fcn.004e2e6f
mov eax, dword [esi + 0x14]
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], edx
mov al, byte [eax + 0x54]
mov byte [ebp - 0x68], al
lea eax, [ebp - 0x80]
mov dword [esp], eax
call dword [edx + 0x18]
mov eax, dword [ebp - 0x6c]
mov esi, dword [ebp - 0xf8]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xdc]
imul eax, dword [eax + 0xc], 0x28
add esi, eax
jmp 0x549a5e
mov eax, esi
call fcn.004e2c39
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0
je 0x549a8e
mov dword [esp], esi
call fcn.004f934d
mov dword [esp + 4], 0x664b78
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe0]
mov dword [esp], eax
call fcn.00505009
jmp 0x54ae91
mov edx, dword [ebp - 0x110]
mov eax, esi
call fcn.004fba4b
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x78], 0xffffffff
mov dword [ebp - 0x7c], 0xffffffff
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
lea eax, [ebp - 0x78]
mov dword [esp + 4], eax
lea eax, [ebp - 0x7c]
mov dword [esp], eax
mov eax, dword [ebp - 0xec]
call fcn.0054c6f0
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x549af3
cmp eax, 5
jne 0x54ae91
mov dword [ebp - 0x80], 1
mov eax, dword [ebp - 0xdc]
xor esi, esi
imul ebx, dword [eax + 0xc], 0x28
add ebx, dword [ebp - 0xf8]
mov eax, dword [ebp + esi*4 - 0x80]
inc esi
cdq
mov ecx, edx
mov edx, eax
mov eax, ebx
add ebx, 0x28
call fcn.004e304d
cmp esi, 3
jne 0x549b05
mov dword [ebp - 0xe8], 0
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x58]
call fcn.004f210c
mov esi, dword [ebp - 0xec]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xdc]
mov edi, dword [eax + 0xc]
mov eax, dword [eax + 4]
shl eax, 4
add eax, dword [esi + 0x10]
cmp edi, 0xffffffff
mov eax, dword [eax + 4]
mov dword [ebp - 0x108], eax
mov eax, dword [eax + 4]
mov ebx, dword [eax]
movzx esi, byte [ebx + 5]
cmove edi, esi
cmp byte [ebx + 0x11], 2
ja 0x549b95
mov eax, dword [ebx + 0x44]
cmp dword [eax], 0
je 0x549b97
xor eax, eax
cmp eax, dword [ebx + 0x50]
sbb eax, dword [ebx + 0x54]
cmovl edi, esi
jmp 0x549b97
mov edi, esi
cmp byte [ebx + 0xf], 0
mov eax, 0x66b06c
jne 0x549ba8
mov eax, dword [ebx + 0xb8]
cmp edi, 5
jne 0x549bce
call fcn.004de0c2
test eax, eax
je 0x549d61
mov eax, ebx
call fcn.004bf440
test eax, eax
je 0x549d61
jmp 0x54b3cf
cmp edi, esi
je 0x549d63
cmp esi, 5
jne 0x549d63
mov eax, dword [ebp - 0xec]
cmp byte [eax + 0x55], 0
je 0x549bf4
cmp dword [eax + 0xc0], 1
jle 0x549c2d
cmp edi, 5
mov edx, str.out_of
mov eax, str.into
mov dword [esp + 4], str.cannot_change__s_wal_mode_from_within_a_transaction
cmovne eax, edx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe0]
mov dword [esp], eax
call fcn.00505009
mov dword [ebp - 0xe8], 1
jmp 0x54ae91
cmp esi, 5
jne 0x549d2b
cmp dword [ebx + 0xe8], 0
je 0x549c5a
mov edx, 4
mov eax, ebx
call fcn.004e6f0f
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x549ccb
jmp 0x549d1d
mov edx, 1
mov eax, ebx
mov dword [ebp - 0x80], 0
call fcn.004e6f0f
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x549d6d
lea eax, [ebp - 0x80]
mov edx, dword [ebx + 0xec]
xor ecx, ecx
mov dword [esp], eax
mov eax, dword [ebx]
call fcn.00486e6c
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x549d6d
cmp dword [ebp - 0x80], 0
je 0x549cb9
mov eax, ebx
call fcn.004f3593
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x549d6d
cmp dword [ebx + 0xe8], 0
je 0x54b3c1
jmp 0x549c3f
mov edx, dword [ebx + 0xe0]
movzx ecx, byte [ebx + 0xb]
mov eax, dword [ebx + 0xe8]
mov dword [esp + 4], edx
mov edx, dword [ebx + 0xa8]
mov dword [esp], edx
mov edx, dword [ebp - 0xec]
call fcn.00525aac
mov dword [ebx + 0xe8], 0
mov dword [ebp - 0xe8], eax
mov eax, ebx
call fcn.004f351d
cmp dword [ebp - 0xe8], 0
je 0x54b3c1
cmp byte [ebx + 4], 0
jne 0x549d6d
mov edx, 1
mov eax, ebx
call fcn.004bdf02
jmp 0x549d6d
cmp esi, 4
jne 0x549d3c
mov edx, 2
mov eax, ebx
call fcn.0051e350
cmp dword [ebp - 0xe8], 0
jne 0x549d6d
xor edx, edx
cmp edi, 5
mov eax, dword [ebp - 0x108]
sete dl
inc edx
call fcn.0051ec9d
mov dword [ebp - 0xe8], eax
jmp 0x549d63
mov edi, esi
cmp dword [ebp - 0xe8], 0
cmove esi, edi
mov edx, esi
mov eax, ebx
call fcn.0051e350
mov edi, dword [ebp - 0x100]
xor edx, edx
mov word [edi + 0x10], 0x2202
cmp eax, 6
je 0x549d90
mov edx, dword [eax*4 + 0x66a99c]
mov eax, dword [ebp - 0x100]
mov dword [eax + 8], edx
mov eax, edx
call fcn.004de0c2
mov edi, dword [ebp - 0x100]
mov edx, dword [ebp - 0x110]
mov dword [edi + 0xc], eax
mov eax, edi
mov byte [edi + 0x12], 1
call fcn.004fba4b
cmp dword [ebp - 0xe8], 0
je case.0x542b77.89
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
xor edx, edx
mov eax, dword [eax + 8]
test eax, eax
je 0x549de7
imul eax, eax, 0x28
mov esi, dword [ebp - 0xf8]
lea edx, [esi + eax]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov dword [esp], edx
mov edx, dword [ebp - 0xec]
add eax, 0x7c
call fcn.0054d005
mov dword [ebp - 0xe8], eax
test eax, eax
je case.0x542b77.89
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xec]
mov eax, dword [eax + 4]
mov dword [ebp - 0xe8], eax
shl eax, 4
add eax, dword [edi + 0x10]
mov edi, dword [eax + 4]
mov ebx, dword [edi + 4]
mov eax, edi
call fcn.004f394d
mov dword [ebp - 0xe8], 0x65
cmp byte [ebx + 0x11], 0
je 0x549efa
mov eax, dword [ebx + 0xc]
mov esi, dword [ebx + 0x30]
mov eax, dword [eax + 0x38]
mov edx, esi
mov ecx, dword [eax + 0x24]
mov eax, ebx
bswap ecx
mov dword [ebp - 0x108], ecx
call fcn.004c7329
mov dword [ebp - 0x100], eax
cmp esi, eax
jb 0x549e87
mov ecx, dword [ebp - 0x108]
cmp esi, ecx
ja 0x549e99
mov eax, 0x11993
call fcn.0050711b
mov dword [ebp - 0xe8], eax
jmp 0x549efa
test ecx, ecx
je 0x549efa
mov eax, dword [ebx + 8]
xor ecx, ecx
xor edx, edx
call fcn.00522faf
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x549efa
mov eax, dword [ebx + 8]
mov ecx, esi
call fcn.004f22ed
mov dword [esp], 0
mov edx, dword [ebp - 0x100]
mov eax, ebx
call fcn.0051f924
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x549efa
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x48]
call fcn.0051c2b3
mov dword [ebp - 0xe8], eax
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + 0x38]
mov eax, dword [ebx + 0x30]
bswap eax
mov dword [edx + 0x1c], eax
mov eax, edi
call fcn.004e70b4
cmp dword [ebp - 0xe8], 0
je case.0x542b77.89
cmp dword [ebp - 0xe8], 0x65
je 0x5462f6
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
cmp dword [eax + 4], 0
mov edx, dword [eax + 8]
jne 0x549f3f
mov eax, dword [ebp - 0xec]
call fcn.004cb20b
jmp case.0x542b77.89
mov eax, dword [ebp - 0xe0]
inc edx
and edx, 3
mov al, byte [eax + 0x98]
mov byte [ebp - 0x100], al
and eax, 0xfffffffc
or edx, eax
mov eax, dword [ebp - 0xe0]
mov byte [eax + 0x98], dl
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
mov eax, dword [eax + 0x2c]
or byte [eax + 1], 0x40
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
mov eax, dword [eax + 0x2c]
and byte [eax + 1], 0xbf
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 0xc]
test dl, dl
jne 0x549fca
mov eax, dword [ebp - 0xec]
test byte [eax + 0x21], 4
jne case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xec]
mov dword [ebp - 0xe8], 0
mov eax, dword [eax + 4]
shl eax, 4
add eax, dword [esi + 0x10]
mov ebx, dword [eax + 4]
cmp byte [ebx + 9], 0
je case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov esi, dword [eax + 8]
lea eax, [edx + 1]
mov byte [ebp - 0x100], al
mov eax, ebx
call fcn.004f394d
movzx ecx, byte [ebp - 0x100]
mov edx, esi
mov eax, ebx
call fcn.004c0fcd
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x54a079
mov edi, dword [ebx + 4]
mov eax, dword [edi + 0x4c]
test eax, eax
je 0x54a041
cmp esi, dword [eax + 4]
jne 0x54a03c
cmp ebx, dword [eax]
je 0x54a05f
mov eax, dword [eax + 0xc]
jmp 0x54a02f
xor edx, edx
mov eax, 0x10
call fcn.004ee78b
test eax, eax
je 0x54a06f
mov edx, dword [edi + 0x4c]
mov dword [eax + 4], esi
mov dword [eax], ebx
mov dword [eax + 0xc], edx
mov dword [edi + 0x4c], eax
mov cl, byte [ebp - 0x100]
cmp cl, byte [eax + 8]
jbe 0x54a079
mov byte [eax + 8], cl
jmp 0x54a079
mov dword [ebp - 0xe8], 7
mov eax, ebx
call fcn.004e70b4
cmp dword [ebp - 0xe8], 0
je case.0x542b77.89
cmp byte [ebp - 0xe8], 6
jne 0x54ae91
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x10]
mov dword [esp + 4], str.database_table_is_locked:__s
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe0]
mov dword [esp], eax
call fcn.00505009
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
mov ebx, dword [eax + 0x10]
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 0x180]
test edx, edx
jle 0x54a0e8
cmp dword [eax + 0x198], 0
je 0x54b4a8
test ebx, ebx
je 0x54ae02
mov eax, dword [ebx + 8]
mov edi, dword [eax]
xor eax, eax
cmp dword [edi + 0x38], 0
jne 0x54a11e
mov dword [ebp - 0xe8], 0
jmp 0x54a1c2
mov esi, dword [ebp - 0xec]
mov ecx, dword [esi + 0x198]
cmp ebx, dword [ecx + eax*4]
je 0x54a0fd
inc eax
cmp edx, eax
jg 0x54a10c
mov eax, dword [ebp - 0xec]
call fcn.004fefdf
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x54a1c2
mov eax, dword [ebx + 8]
mov dword [esp], eax
call dword [edi + 0x38]
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x54a1c2
mov esi, dword [ebp - 0xec]
mov eax, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xec]
mov eax, dword [eax + 0x1f8]
add eax, dword [esi + 0x1fc]
mov esi, dword [esi + 0x198]
mov dword [ebp - 0xe8], esi
mov esi, dword [ebp - 0xec]
mov edx, dword [esi + 0x180]
lea esi, [edx + 1]
mov dword [ecx + 0x180], esi
mov esi, dword [ebp - 0xe8]
mov dword [esi + edx*4], ebx
inc dword [ebx + 0xc]
test eax, eax
je 0x54a0fd
mov edx, dword [edi + 0x50]
test edx, edx
je 0x54a0fd
mov ecx, dword [ebx + 8]
mov dword [ebx + 0x14], eax
dec eax
mov dword [esp + 4], eax
mov dword [esp], ecx
call edx
mov dword [ebp - 0xe8], eax
mov edx, dword [ebx + 8]
mov eax, dword [ebp - 0xe0]
call fcn.004fb048
cmp dword [ebp - 0xe8], 0
je case.0x542b77.89
jmp 0x54ae91
lea ebx, [ebp - 0x80]
xor eax, eax
mov ecx, 0xa
mov edi, ebx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0xdc]
imul edx, dword [eax + 8], 0x28
mov eax, ebx
add edx, dword [ebp - 0xf8]
call fcn.004f8924
mov dword [esp], ebx
mov dword [ebp - 0xe8], eax
call fcn.004f934d
mov edx, eax
test eax, eax
je 0x54a326
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xec]
mov eax, dword [eax + 4]
mov dword [ebp - 0xe8], eax
shl eax, 4
add eax, dword [edi + 0x10]
mov ecx, dword [eax]
mov eax, edi
call fcn.004e4ef0
mov ebx, eax
mov eax, dword [eax + 0x30]
mov esi, dword [eax]
mov eax, dword [ebp - 0xec]
mov edx, esi
add eax, 0x184
call fcn.004b4005
mov ecx, eax
test eax, eax
je 0x54a27a
mov eax, dword [eax]
mov edx, dword [eax + 4]
test edx, edx
je 0x54a27a
cmp dword [eax + 0x14], 0
jne 0x54a2a9
mov eax, dword [ebp - 0xec]
mov dword [esp + 8], esi
mov dword [esp + 4], str.no_such_module:__s
mov dword [esp], eax
call fcn.005050ab
mov edi, dword [ebp - 0xe0]
mov dword [ebp - 0xe8], 1
mov dword [edi + 0x7c], eax
jmp 0x54a326
mov eax, dword [ebp - 0xe0]
mov dword [esp], edx
mov edx, ebx
add eax, 0x7c
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xec]
call fcn.005050c1
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x54a326
mov edx, dword [ebx + 0x34]
mov eax, dword [ebp - 0xec]
call fcn.004f0d86
test eax, eax
je 0x54a326
mov eax, dword [ebp - 0xec]
call fcn.004fefdf
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x54a326
mov edx, dword [ebx + 0x34]
mov eax, dword [ebp - 0xec]
call fcn.004f0d86
mov edi, dword [ebp - 0xec]
mov edx, dword [edi + 0x180]
mov ecx, dword [edi + 0x198]
lea ebx, [edx + 1]
mov dword [edi + 0x180], ebx
mov dword [ecx + edx*4], eax
inc dword [eax + 0xc]
lea eax, [ebp - 0x80]
call fcn.004e34aa
cmp dword [ebp - 0xe8], 0
je case.0x542b77.89
jmp 0x54ae91
mov eax, dword [ebp - 0xec]
mov esi, dword [ebp - 0xec]
mov edi, dword [ebp - 0xdc]
inc dword [eax + 0xcc]
mov eax, dword [ebp - 0xdc]
mov edx, dword [edi + 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0xe8], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov ecx, dword [eax]
mov eax, esi
call fcn.004e4ef0
mov dword [ebp - 0xe8], 0
mov ebx, eax
test eax, eax
je 0x54a410
cmp byte [eax + 0x2b], 1
jne 0x54a410
mov eax, dword [eax + 0x34]
test eax, eax
je 0x54a410
mov edx, dword [eax + 8]
cmp dword [edx + 4], 0
jg 0x54a406
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x54a39a
mov eax, dword [ebp - 0xec]
mov edx, ebx
call fcn.004d4d12
mov edi, eax
mov eax, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [edx + 0x14]
test eax, eax
jne 0x54a3c8
mov eax, dword [edx + 0x10]
mov edx, dword [edi + 8]
inc dword [ebx + 0x18]
mov dword [esp], edx
call eax
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x54a3f2
mov dword [edi + 8], 0
mov eax, edi
mov dword [ebx + 0x34], 0
call fcn.004e9401
mov eax, dword [ebp - 0xec]
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.004ed44f
jmp 0x54a410
mov dword [ebp - 0xe8], 6
mov eax, dword [ebp - 0xec]
dec dword [eax + 0xcc]
cmp dword [ebp - 0xe8], 0
je case.0x542b77.89
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x80], 0
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x54a4b7
mov edi, dword [ebx]
test edi, edi
je 0x54a4c6
lea eax, [ebp - 0x80]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edi + 0x18]
mov edx, ebx
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe0]
call fcn.004fb048
cmp dword [ebp - 0xe8], 0
jne 0x54ae91
mov eax, dword [ebp - 0x80]
xor ecx, ecx
mov dword [eax], ebx
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov dword [esp], 2
call fcn.00525f68
mov edx, dword [ebp - 0x80]
test eax, eax
je 0x54a4ac
mov dword [eax + 0x2c], edx
inc dword [ebx + 4]
jmp case.0x542b77.89
mov dword [esp], edx
call dword [edi + 0x1c]
jmp 0x54b0c0
mov dword [ebp - 0xe8], 6
jmp 0x54ae91
mov dword [ebp - 0xe8], 6
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
mov dword [esp], 8
mov dword [esp + 4], 0
call fcn.0051435e
mov esi, eax
test eax, eax
je 0x54b0c0
mov eax, dword [ebx + 0x2c]
mov dword [esi], eax
mov eax, dword [ebp - 0xdc]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0xf8]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x58]
call fcn.004f210c
mov word [eax + 0x10], 1
mov ebx, eax
call fcn.004e3388
mov dword [ebx], str.ValueList
mov dword [ebx + 8], esi
mov word [ebx + 0x10], 0x1a01
mov byte [ebx + 0x13], 0x70
mov dword [ebx + 0x24], fcn.004e220f
jmp case.0x542b77.89
mov esi, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov edx, dword [edi + 0x60]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0xf8]
mov edi, dword [edx + ecx*4]
add eax, 0x50
mov ecx, dword [eax - 0x28]
xor edx, edx
mov ebx, dword [edi + 0x2c]
mov esi, dword [ebx]
mov dword [ebp - 0x100], esi
mov esi, dword [esi]
mov dword [ebp - 0x108], esi
mov esi, dword [eax - 0x50]
mov dword [ebp - 0xe8], esi
mov esi, dword [ebp - 0xe0]
mov esi, dword [esi + 0x5c]
cmp edx, ecx
jge 0x54a5c2
mov dword [esi + edx*4], eax
inc edx
add eax, 0x28
jmp 0x54a5b5
mov eax, dword [ebp - 0xdc]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
mov eax, dword [eax + 0x10]
mov dword [esp], ebx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x108]
call dword [eax + 0x20]
mov edx, dword [ebp - 0x100]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe0]
call fcn.004fb048
cmp dword [ebp - 0xe8], 0
jne 0x54ae91
mov eax, dword [ebp - 0x108]
mov dword [esp], ebx
call dword [eax + 0x28]
mov byte [edi + 2], 0
jmp 0x547512
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + edx*4]
mov eax, dword [ebp - 0xdc]
imul ebx, dword [eax + 0xc], 0x28
add ebx, dword [ebp - 0xf8]
cmp byte [esi + 2], 0
je 0x54a65d
mov eax, ebx
call fcn.004e2e6f
jmp case.0x542b77.89
mov eax, dword [esi + 0x2c]
lea edx, [ebp - 0x7c]
mov ecx, 7
mov edi, edx
mov eax, dword [eax]
mov dword [ebp - 0x100], eax
mov eax, dword [eax]
mov dword [ebp - 0xe8], eax
xor eax, eax
rep stosd dword es:[edi], eax
mov al, byte [ebp - 0x111]
mov dword [ebp - 0x80], ebx
mov byte [ebp - 0x68], al
mov eax, dword [ebp - 0xdc]
test byte [eax + 2], 1
je 0x54a6ab
mov eax, ebx
call fcn.004e2e6f
mov word [ebx + 0x10], 0x401
mov dword [ebx], 0
jmp 0x54a6b9
mov eax, dword [ebx + 0x10]
and ax, 0xf240
or eax, 1
mov word [ebx + 0x10], ax
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 8]
mov dword [esp + 8], eax
lea eax, [ebp - 0x80]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x2c]
mov dword [esp], eax
mov eax, dword [ebp - 0xe8]
call dword [eax + 0x2c]
mov edx, dword [ebp - 0x100]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe0]
call fcn.004fb048
cmp dword [ebp - 0x6c], 0
jle 0x54a724
mov dword [esp], ebx
call fcn.004f934d
mov dword [esp + 4], 0x664b78
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe0]
mov dword [esp], eax
call fcn.00505009
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xe8], eax
mov edx, dword [ebp - 0x110]
mov eax, ebx
call fcn.004fba4b
cmp dword [ebp - 0xe8], 0
je case.0x542b77.89
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
cmp byte [ebx + 2], 0
jne case.0x542b77.89
mov eax, dword [ebx + 0x2c]
mov edx, dword [eax]
mov edi, dword [edx]
mov dword [ebp - 0xe8], edx
mov dword [esp], eax
call dword [edi + 0x24]
mov edx, dword [ebp - 0xe8]
mov esi, eax
mov eax, dword [ebp - 0xe0]
call fcn.004fb048
test esi, esi
jne 0x54ae8b
mov eax, dword [ebx + 0x2c]
mov dword [esp], eax
call dword [edi + 0x28]
mov dword [ebp - 0xe8], eax
test eax, eax
je case.0x542b77.9
mov dword [ebp - 0xe8], 0
jmp 0x542bc5
mov eax, dword [ebp - 0xec]
mov edi, dword [ebp - 0xec]
mov edx, 1
mov eax, dword [eax + 0x20]
mov ebx, eax
or eax, 0x4000000
mov dword [edi + 0x20], eax
mov eax, dword [ebp - 0xdc]
and ebx, 0x4000000
mov eax, dword [eax + 0x10]
mov edi, dword [eax + 8]
mov eax, dword [ebp - 0xdc]
imul esi, dword [eax + 4], 0x28
add esi, dword [ebp - 0xf8]
mov eax, esi
call fcn.004fba4b
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x54ae91
mov eax, dword [edi]
mov edx, dword [esi + 8]
mov dword [esp], edi
mov dword [esp + 4], edx
call dword [eax + 0x4c]
mov dword [ebp - 0xe8], eax
test ebx, ebx
jne 0x54a831
mov eax, dword [ebp - 0xec]
and dword [eax + 0x20], 0xfbffffff
mov eax, dword [ebp - 0xe0]
mov edx, edi
call fcn.004fb048
mov eax, dword [ebp - 0xe0]
and byte [eax + 0x98], 0xfc
cmp dword [ebp - 0xe8], 0
je case.0x542b77.89
jmp 0x54ae91
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
cmp byte [eax + 0x57], 0
jne 0x54b0c0
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x10]
mov edx, dword [eax + 8]
test edx, edx
je 0x54a9c2
mov eax, dword [edx]
test eax, eax
je 0x54a9d1
mov ebx, dword [eax + 0x34]
test ebx, ebx
je case.0x542b77.89
mov eax, dword [ebp - 0xdc]
xor ecx, ecx
mov esi, dword [eax + 8]
mov eax, dword [ebp - 0xec]
mov al, byte [eax + 0x5c]
mov byte [ebp - 0x100], al
mov eax, dword [ebp - 0xe0]
mov edi, dword [eax + 0x5c]
mov eax, dword [ebp - 0xdc]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0xf8]
cmp ecx, esi
jge 0x54a8e4
mov dword [edi + ecx*4], eax
add eax, 0x28
inc ecx
jmp 0x54a8d7
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0x108], edx
mov ax, word [eax + 2]
mov byte [ecx + 0x5c], al
lea eax, [ebp - 0x80]
mov dword [esp + 8], edi
mov dword [esp], edx
mov dword [esp + 0xc], eax
mov dword [esp + 4], esi
call ebx
mov edi, dword [ebp - 0xec]
mov edx, dword [ebp - 0x108]
mov dword [ebp - 0xe8], eax
mov al, byte [ebp - 0x100]
mov byte [edi + 0x5c], al
mov eax, dword [ebp - 0xe0]
call fcn.004fb048
cmp dword [ebp - 0xe8], 0
jne 0x54a967
mov eax, dword [ebp - 0xdc]
cmp dword [eax + 4], 0
je 0x54b4bf
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
mov edi, dword [ebp - 0xec]
mov dword [edi + 0x28], eax
mov dword [edi + 0x2c], edx
jmp 0x54b4bf
cmp byte [ebp - 0xe8], 0x13
jne 0x54b4bf
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x10], 0
je 0x54b4bf
mov eax, dword [ebp - 0xdc]
mov ax, word [eax + 2]
cmp ax, 4
jne 0x54a9a6
mov dword [ebp - 0xe8], 0
jmp case.0x542b77.89
cmp ax, 5
jne 0x54a9b1
mov eax, 2
mov edi, dword [ebp - 0xe0]
mov byte [edi + 0x92], al
jmp 0x54ae91
mov dword [ebp - 0xe8], 6
jmp 0x54ae91
mov dword [ebp - 0xe8], 6
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x58]
call fcn.004f210c
mov edi, dword [ebp - 0xec]
mov edx, eax
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 4]
mov dword [ebp - 0x100], eax
shl eax, 4
add eax, dword [edi + 0x10]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x30]
mov dword [edx + 4], 0
mov dword [edx], eax
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
xor edi, edi
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x58]
call fcn.004f210c
mov esi, dword [ebp - 0xec]
mov ebx, eax
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 4]
mov dword [ebp - 0x100], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x54aa7d
mov edx, dword [esi + 4]
cmp dword [edx + 0x30], eax
cmovae eax, dword [edx + 0x30]
mov edi, eax
mov eax, esi
call fcn.004f394d
mov eax, dword [esi + 4]
mov eax, dword [eax]
test edi, edi
je 0x54aa93
mov dword [eax + 0xa0], edi
mov edi, dword [eax + 0xa0]
mov eax, esi
call fcn.004e70b4
mov dword [ebx + 4], 0
mov dword [ebx], edi
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
mov ebx, dword [eax + 0x10]
imul esi, dword [eax + 0xc], 0x28
add esi, dword [ebp - 0xf8]
movzx ecx, byte [ebx + 0x1a]
cmp dword [ebx], esi
jne 0x54aaf6
mov eax, dword [esi + 0x10]
lea edx, [ebx + 0x1c]
and ax, 0xf240
or eax, 1
mov word [esi + 0x10], ax
mov eax, dword [ebx + 4]
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], ebx
call dword [eax + 0x10]
cmp dword [ebx + 0x14], 0
jne 0x54ab2d
jmp case.0x542b77.89
mov eax, dword [ebp - 0xe0]
mov dword [ebx], esi
mov dword [ebx + 0xc], eax
mov al, byte [ebp - 0x111]
mov byte [ebx + 0x18], al
lea eax, [ecx - 1]
cmp eax, 0xffffffff
je 0x54aac9
mov edi, dword [ebp - 0xdc]
mov edx, dword [edi + 8]
add edx, eax
imul edx, edx, 0x28
add edx, dword [ebp - 0xf8]
mov dword [ebx + eax*4 + 0x1c], edx
dec eax
jmp 0x54ab0d
jle 0x54ab5a
mov dword [esp], esi
call fcn.004f934d
mov dword [esp + 4], 0x664b78
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe0]
mov dword [esp], eax
call fcn.00505009
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebx + 0x10]
lea edx, [eax + 0xe4]
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 4]
mov dword [esp], eax
mov eax, dword [ebp - 0xec]
call fcn.004e260f
cmp dword [ebp - 0xe8], 0
mov dword [ebx + 0x14], 0
je case.0x542b77.89
jmp 0x54ae91
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xf8]
imul eax, dword [eax + 4], 0x28
and word [esi + eax + 0x10], 0xf7ff
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
imul ebx, dword [eax + 4], 0x28
mov edx, eax
mov eax, dword [ebp - 0xf8]
add ebx, dword [ebp - 0xf8]
call fcn.004e7416
mov ecx, dword [ebx + 0xc]
mov dword [esp], eax
mov dword [esp + 8], ecx
sar ecx, 0x1f
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edx
call fcn.00567890
mov esi, eax
and eax, 7
shrd esi, edx, 3
mov ecx, eax
add esi, dword [ebx + 8]
mov edx, 1
shl edx, cl
or byte [esi], dl
jmp case.0x542b77.89
mov eax, dword [ebp - 0xdc]
imul ebx, dword [eax + 4], 0x28
mov edx, eax
mov eax, dword [ebp - 0xf8]
add ebx, dword [ebp - 0xf8]
call fcn.004e7416
mov ecx, dword [ebx + 0xc]
mov dword [esp], eax
mov dword [esp + 8], ecx
sar ecx, 0x1f
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edx
call fcn.00567890
mov esi, dword [ebx + 8]
mov dword [ebp - 0x100], eax
shrd eax, edx, 3
add esi, eax
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0xfc], edx
movsx edx, byte [esi]
and eax, 7
bt edx, eax
mov eax, dword [ebp - 0xe0]
jb 0x54ac76
inc dword [eax + 0xc4]
jmp 0x543d5c
inc dword [eax + 0xc0]
jmp case.0x542b77.89
mov eax, dword [ebp - 0xec]
mov al, byte [eax + 0x5e]
test al, 0x41
je 0x54ad98
mov edi, dword [ebp - 0xe0]
cmp byte [edi + 0x93], 0xfe
je 0x54ad98
mov esi, dword [ebp - 0xdc]
mov edx, dword [esi + 0x10]
test edx, edx
jne 0x54acc0
mov edx, dword [edi + 0xc8]
test edx, edx
je 0x54ad98
test al, 0x40
je 0x54acfd
mov eax, dword [ebp - 0xe0]
call fcn.004fe6c7
mov dword [esp + 4], eax
mov ebx, eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0xdc]
mov dword [esp], eax
mov eax, dword [ebp - 0xec]
call dword [eax + 0xd8]
mov dword [esp], ebx
call fcn.004e220f
jmp 0x54ad98
mov eax, dword [ebp - 0xec]
cmp dword [eax + 0xc8], 1
jle 0x54ad67
mov dword [esp + 8], edx
mov dword [esp + 4], str.____s
mov dword [esp], eax
call fcn.005050ab
mov dword [esp + 0xc], eax
mov ebx, eax
mov eax, dword [ebp - 0xe0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0xdc]
mov dword [esp], 1
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xec]
call dword [eax + 0xd8]
mov eax, dword [ebp - 0xec]
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.004e244d
jmp 0x54ad98
mov eax, dword [ebp - 0xe0]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0xdc]
mov dword [esp], 1
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xec]
call dword [eax + 0xd8]
mov eax, dword [ebp - 0xdc]
mov esi, dword [0x660ccc]
cmp dword [eax + 4], esi
jl 0x54ade8
cmp byte [eax], 0xb5
je case.0x542b77.89
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax + 0x6c]
mov eax, 1
cmp ecx, eax
jle 0x54addb
mov edi, dword [ebp - 0xe0]
imul edx, eax, 0x14
add edx, dword [edi + 0x68]
cmp byte [edx], 0xf
jne 0x54add8
mov dword [edx + 4], 0
inc eax
jmp 0x54adbc
mov eax, dword [ebp - 0xdc]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0xdc]
inc dword [eax + 4]
mov eax, dword [ebp - 0xe0]
inc dword [eax + 0xbc]
jmp 0x543d5c
mov dword [ebp - 0xe8], 0
add dword [ebp - 0xdc], 0x14
jmp 0x542b50
mov eax, dword [ebp - 0xf0]
mov byte [ebp - 0x112], 0
mov dword [ebp - 0x130], 0
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0xe8], 9
jmp 0x54ae91
mov dword [ebp - 0xe8], 9
jmp 0x54ae91
mov dword [ebp - 0xe8], 0x14
jmp 0x54ae91
mov dword [ebp - 0xe8], 0x204
jmp 0x54ae91
mov dword [ebp - 0xe8], 7
jmp 0x54ae91
mov dword [ebp - 0xe8], eax
jmp 0x54ae91
mov dword [ebp - 0xe8], ebx
jmp 0x54ae91
mov dword [ebp - 0xe8], esi
mov eax, dword [ebp - 0xec]
cmp byte [eax + 0x57], 0
jne 0x54aebb
cmp dword [ebp - 0xe8], 0x210a
jne 0x54aec5
mov eax, 0x18066
call fcn.0050711b
mov dword [ebp - 0xe8], eax
jmp 0x54aec5
mov dword [ebp - 0xe8], 7
mov eax, dword [ebp - 0xe0]
cmp dword [eax + 0x7c], 0
jne 0x54af02
cmp dword [ebp - 0xe8], 0xc0a
je 0x54af02
mov eax, dword [ebp - 0xe8]
call fcn.004eae9b
mov dword [esp + 4], 0x664b78
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe0]
mov dword [esp], eax
call fcn.00505009
mov eax, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe8]
mov dword [eax + 0x24], esi
mov eax, dword [ebp - 0xec]
mov edx, esi
call fcn.004e4c04
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0xc8]
mov dword [esp + 4], str.statement_aborts_at__d:___s___s
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xdc]
sub eax, dword [ebp - 0xf0]
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe8]
mov dword [esp], eax
call fcn.00505e47
mov eax, dword [ebp - 0xe0]
cmp byte [eax + 0x95], 2
jne 0x54af7e
call fcn.005276ae
cmp dword [ebp - 0xe8], 0xc0a
jne 0x54af97
mov eax, dword [ebp - 0xec]
call fcn.004fa95a
jmp 0x54afb0
cmp dword [ebp - 0xe8], 0xb
jne 0x54afb0
mov eax, dword [ebp - 0xec]
cmp byte [eax + 0x55], 0
jne 0x54afb0
or dword [eax + 0x24], 2
cmp byte [ebp - 0x112], 0
mov esi, 1
je 0x54afd8
movzx edx, byte [ebp - 0x112]
mov eax, dword [ebp - 0xec]
dec edx
call fcn.004ee69c
jmp 0x54afd8
mov esi, 0x65
mov eax, dword [ebp - 0x140]
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xf8]
cmp dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x12c]
sbb eax, dword [ebp - 0xf4]
jb 0x54b4ee
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0x174]
test ecx, ecx
je 0x54b4ee
mov eax, dword [ebp - 0xec]
xor edx, edx
mov eax, dword [eax + 0x17c]
add dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xec]
adc dword [ebp - 0xf4], edx
mov eax, dword [eax + 0x178]
mov dword [esp], eax
call ecx
mov dword [ebp - 0xe8], 9
mov dword [ebp - 0x140], 0xffffffff
mov dword [ebp - 0x13c], 0xffffffff
test eax, eax
je 0x54aff0
jmp 0x54ae91
mov eax, dword [ebp - 0xe0]
mov dword [esp + 4], str.string_or_blob_too_big
mov dword [esp], eax
call fcn.00505009
mov dword [ebp - 0xe8], 0x12
jmp 0x54ae91
mov eax, dword [ebp - 0xf0]
mov byte [ebp - 0x112], 0
mov dword [ebp - 0x130], 0
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0x12c], 0
mov eax, dword [ebp - 0xec]
call fcn.004fa95a
mov eax, dword [ebp - 0xe0]
mov dword [esp + 4], 0x664360
mov dword [esp], eax
call fcn.00505009
mov dword [ebp - 0xe8], 7
jmp 0x54ae91
mov eax, dword [ebp - 0xec]
cmp dword [eax + 0xc4], 0
jg 0x54b357
xor esi, esi
cmp dword [ebx + 0x18], 0
jne 0x54b1c6
mov eax, dword [ebp - 0xec]
cmp byte [eax + 0x5d], 0
je 0x54b1c6
cmp dword [ebp - 0x100], 1
jne 0x54b1c1
mov eax, dword [ebp - 0xe0]
mov edx, 1
call fcn.0050503a
mov esi, eax
test eax, eax
jne 0x54afd8
mov eax, dword [ebp - 0xec]
mov byte [eax + 0x55], 1
mov eax, dword [ebp - 0xe0]
call fcn.005276ae
mov esi, eax
cmp eax, 5
jne 0x54b191
mov eax, dword [ebp - 0xdc]
sub eax, dword [ebp - 0xf0]
sar eax, 2
mov edi, dword [ebp - 0xe0]
imul eax, eax, 0xcccccccd
mov dword [edi + 0x20], eax
mov eax, dword [ebp - 0xec]
mov byte [eax + 0x55], 0
mov eax, edi
jmp 0x545527
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x24]
test eax, eax
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xec]
je 0x54b1b3
mov byte [eax + 0x55], 0
jmp 0x54ae91
mov byte [eax + 0x5d], 0
mov esi, 1
jmp 0x54b2c1
mov esi, 1
mov eax, dword [ebp - 0x108]
mov edi, dword [ebp - 0xec]
not eax
add eax, dword [edi + 0x1f8]
xor edi, edi
cmp dword [ebp - 0x100], 2
mov dword [ebp - 0x108], eax
jne 0x54b283
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x18]
and eax, 1
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0xec]
cmp dword [eax + 0x14], edi
jle 0x54b241
mov edx, dword [ebp - 0xec]
mov eax, edi
mov ecx, dword [ebp - 0x128]
shl eax, 4
add eax, dword [edx + 0x10]
xor ecx, 1
mov edx, 0x204
mov eax, dword [eax + 4]
call fcn.00523cbf
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x54ae91
inc edi
jmp 0x54b201
mov edi, dword [ebp - 0x128]
jmp 0x54b283
mov ecx, dword [ebp - 0xec]
mov eax, dword [ebp - 0x120]
mov edx, dword [ebp - 0x100]
shl eax, 4
add eax, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x108]
mov eax, dword [eax + 4]
call fcn.00523b2c
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x54ae91
inc dword [ebp - 0x120]
mov eax, dword [ebp - 0xec]
mov ecx, dword [ebp - 0x120]
cmp dword [eax + 0x14], ecx
jg 0x54b249
test edi, edi
je 0x54b2b4
xor edx, edx
call fcn.004cb20b
mov eax, dword [ebp - 0xec]
call fcn.004f3a59
mov eax, dword [ebp - 0xec]
or dword [eax + 0x18], 1
cmp dword [ebp - 0xe8], 0
jne 0x54ae91
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x1ec]
cmp eax, ebx
je 0x5453e3
mov edx, dword [eax + 0x18]
mov edi, dword [ebp - 0xec]
mov dword [edi + 0x1ec], edx
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.004e244d
mov eax, dword [ebp - 0xec]
dec dword [eax + 0x1f8]
jmp 0x54b2c1
mov eax, dword [ebx + 0x18]
mov edi, dword [ebp - 0xec]
mov dword [edi + 0x1ec], eax
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.004e244d
test esi, esi
jne 0x54542f
mov eax, dword [ebp - 0xec]
dec dword [eax + 0x1f8]
mov ecx, dword [ebp - 0x108]
mov edx, dword [ebp - 0x100]
mov eax, dword [ebp - 0xec]
call fcn.004e9889
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x54542f
jmp 0x54ae91
cmp dword [ebp - 0x100], 1
jne 0x54b103
mov eax, dword [ebp - 0xe0]
mov dword [esp + 4], str.cannot_release_savepoint___SQL_statements_in_progress
mov dword [esp], eax
call fcn.00505009
mov dword [ebp - 0xe8], 5
jmp 0x54ae91
mov eax, dword [ebp - 0xe0]
mov dword [esp + 8], esi
mov dword [esp + 4], str.no_such_savepoint:__s
mov dword [esp], eax
call fcn.00505009
mov dword [ebp - 0xe8], 1
jmp 0x54ae91
mov dword [ebp - 0xe8], 0
jmp case.0x542b77.89
mov edx, edi
mov eax, ebx
call fcn.0051e350
jmp 0x549d45
cmp esi, 5
jne 0x549bdf
jmp 0x549d63
cmp byte [edi + 0x39], 0
je 0x54b437
dec eax
imul eax, eax, 0x48
cmp dword [edi + eax + 0x4c], 0
lea esi, [edi + eax + 0x40]
je 0x54b420
mov eax, dword [ebp - 0x15c]
mov edx, 0x38
xor ecx, ecx
call fcn.004fabc7
mov dword [edi + 0x10], eax
mov ebx, eax
test eax, eax
jne 0x547993
mov dword [ebp - 0xe8], 7
jmp 0x547a15
mov eax, esi
call fcn.004fb1e9
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x547a15
jmp 0x54b3f2
mov edx, dword [ebp - 0x100]
lea eax, [edi + 0x40]
xor ecx, ecx
call fcn.004f7af6
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x100]
mov dword [edi + 0x14], eax
cmp dword [ebp - 0xe8], 0
je 0x547a20
jmp 0x547a0b
mov esi, dword [ebp - 0x100]
imul eax, ecx, 0x38
add eax, dword [esi + 0xc]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x54b48e
mov dword [eax + 0x18], 1
mov esi, dword [eax]
mov eax, dword [eax + 0x10]
cdq
sub dword [esi + 0x40], eax
sbb dword [esi + 0x44], edx
inc ecx
jmp 0x5479d0
mov edx, 2
mov eax, ebx
call fcn.004f79a2
mov dword [ebp - 0xe8], eax
jmp 0x54b456
mov dword [ebp - 0xe8], 6
test ebx, ebx
je 0x54ae91
jmp 0x54a1c2
mov eax, dword [ebp - 0xe0]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
cmp dword [ebp - 0xe8], 0
je 0x54a997
jmp 0x54ae91
mov dword [ebp - 0xe8], 0
jmp case.0x542b77.89
mov eax, dword [ebp - 0xe0]
mov edi, dword [ebp - 0x130]
add dword [eax + 0xb4], edi
call fcn.004e71dd
add esp, 0x17c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret